Experience Membership.
Use your remote to explore the benefits.
Membership Rewards® Program
From the finer things to the minor things,
Membership Rewards points connect you to 500 brands you love.
@heilpern
New shoes are great... Gotta love @AmericanExpress reward points.
UNSTAGED Concert Series
Experience American Express
UNSTAGED, a series of live-streamed
music events, all from the best seat in
the house—your house.
Check back often to get access to more UNSTAGED events.
Extended Warranty1
Can mirror manufacturers’ warranties
for covered products purchased with
your Card account, for up to one
additional year.
Your laptop breaks the day after the warranty expires. No need to worry if you purchased it with your Card, thanks to Extended Warranty.
1 Extended Warranty is underwritten by AMEX Assurance Company, Administrative Office, Phoenix, AZ. Coverage is determined by the terms, conditions, and exclusions of Policy AX0953 or Policy EW-IND and is subject to change with notice. This document does not supplement or replace the Policy.
Roadside Assistance
With round-the-clock Roadside
Assistance from towing to fixing a flat,
car troubles could become just a little
bump in the road.
@sidebyseid
Thank goodness for #AMEX
roadside assistance today.
Locksmith on the way…
American Express® Prepaid Card
Discover Prepaid Cards that come with
Membership benefits built in, like
access to Purchase Protection1 and the
convenience of ATM use.
@Matteskridge
Fraudulent charges, replacement cards, no problem. I'll always have an @AmericanExpress… outstanding customer service. Thanks guys! #AmEx
1 Purchase Protection is underwritten by AMEX Assurance Company, Administrative Office, Phoenix, AZ. Coverage is determined by the terms, conditions, and exclusions of Policy AX0951 or Policy PP-IND and is subject to change with notice. This document does not supplement or replace the Policy.
Offers
Get exclusive offers through Facebook,
foursquare and Twitter for couponless
savings you’ll love.
@itsraininglaura
…received an email by the time I got back in the car that I saved …
#amexsync #socool
Purchase Protection1
Breathe easy knowing Purchase Protection can protect eligible items for up to 90 days from the date of purchase if stolen or accidentally damaged.
@seklonsky
Thank you @AmericanExpress for Purchase Protection and helping make lemonade out of a very sour lemon…
1 Purchase Protection is underwritten by AMEX Assurance Company, Administrative Office, Phoenix, AZ. Coverage is determined by the terms, conditions, and exclusions of Policy AX0951 or Policy PP-IND and is subject to change with notice. This document does not supplement or replace the Policy.
Global Assist® Hotline1
The 24-hour Global Assist Hotline
helps with those unexpected travel
issues, from replacing a lost
passport to finding a doctor.
You spent months planning that European vacation. See the sites knowing the Global Assist® Hotline
is available just in case.
1 While the Global Assist Hotline coordination and assistance services are offered at no additional charge from American Express, Cardmembers are responsible for the costs charged by third-party service providers. Call 1-800-333-AMEX for full terms and conditions.
Global Assist® Hotline1
The 24-hour Global Assist Hotline
helps with those unexpected travel
issues, from replacing a lost
passport to finding a doctor.
You spent months planning that European vacation. See the sites knowing the Global Assist® Hotline
is available just in case.
1 While the Global Assist Hotline coordination and assistance services are offered at no additional charge from American Express, Cardmembers are responsible for the costs charged by third-party service providers. Call 1-800-333-AMEX for full terms and conditions.


This is a great blog post
I like to write about technology. Because I want to get on the front page of hacker news.


--- layout: default title: Prajwal A N ---
I am Prajwal A N, a software engineer by profession, explorer by passion.
Motto: Learn, grow and mentor.
Work: Site Reliability Engineer at Google Ireland developing next-generation ML inference systems for Ads@Google. Before Google, was at Samsung Korea developing resource management in the Tizen OS. Check my LinkedIn profile for more.
Passion: I like reading up on cognitive processes, mental models, philosophy, and inspiring autobiographies (Goodreads). I find the human physiology and the human brain very interesting, and have recently started exploring these topics. Apart from these, I enjoy long walks, playing the violin, ultra-cycling, and hiking (two things I picked up during my stay in South Korea).
This site: I write (occasionally) about my learnings, and other topics I find interesting (list).


WIAA D2: Brookfield East outlasts Waunakee 31-30
by FOX Sports WisconsinWaunakee’s second-half rally came up just short.
A missed extra-point try cost the Warriors a chance to win the game in overtime, as Brookfield East held on for a 31-30 win in the WIAA Division 2 championship game Friday at Camp Randall Stadium.
The Warriors stormed back in the second half, before Waunakee quarterback Quentin Keene found Randy Vojtisek for a four-yard touchdown with just eight seconds remaining to bring them within one, but Aidan Driscoll’s extra-point attempt sailed wide.
The Warriors had one more chance, recovering an onside kick following the miss, but weren’t able to capitalize.
Brookfield East appeared to have things wrapped up well before that.
Spartans running back Donavan Hunt rushed for three touchdowns in the first half as Brookfield East built a 28-10 advantage and entered halftime leading 28-17, but their offense began to falter in the third. The Spartans managed just 57 yards of total offense in the second half and were held to just three points, while the Warriors went to work, piling up 167 total yards and 13 points to set up a thrilling finish.
Hunt gashed the Warriors throughout, rushing for 227 total yards on 31 carries.


Elon Musk
Entrepreneur, Engineer, Inventor and Investor
Aiming to reduce global warming through sustainable energy production and consumption. Planning to Reduce the risk of human extinction by making life multi-planetary and setting up a human colony on Mars.
<EMAIL_ADDRESS>8457-343-4332
Los Angeles, USA
@elonmusk
Work Experience
Founder, CEO & Lead DesignerSpaceX - Space Exploration Technologies
06/2002 -
Present
Howthorne,
USA
Accomplishments
|
Skills and Competencies
Thinking through first principles
Marketing
Micromanagement
Goal Oriented
Resiliency
Future focused
Leadership
Creativity
Time Management
Persistence
Turning ideas into companies
Long-term thinking
Achievements & Certificates
53rd Richest Person in the world -Forbes(2018)
21st on the Forbes list of The World's Most Powerful People (2016)
Interests
Physics
Alternative Energy
Sustainability
Space Engineering
Philanthropy


☰
Join Us
Qyama
We are planing on buliding a sustainable village in Mitzpe Ramon. Qayma will be the first of many successful and happy community. Right now one of our main goals is to make sure we will have 200 families in the near future. Want to hear more? contact us Or fill our survey.


This dynamically generates posts and pushes them to the anonymous endpoint on dev.privly.org. Each post has a different burntAfter time as specified by the "seconds_until_burn" parameter. If your browser's time matches with the time on the server, your browser will not ask the remote server for the content as soon as the remote server will have destroyed it. If the time on your browser and the remote server are out of sync, your browser might ask for the content when it has already been destroyed, or your browser might not ask for the content when it still exists.


Mandalas
A mandala is a spiritual and ritual symbol. There are various types of mandalas, but each built on a simetric structure and used for artistically and spiritually purposes as well.
The circle is the symbol of being whole and its' division and forms are the specialized meaning of them. Motives drawn in a specific order within the circle radiate joy, peace, harmony, tranquility and concentration.


F - Countries
Faroe Islands
Federated States of Micronesia
Fiji
Finland
France
French Guiana
French Polynesia
French Southern Territories
Back


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.math3.random; | |
| 18 | ||
| 19 | import java.util.Random; | |
| 20 | ||
| 21 | /** | |
| 22 | * Extension of java.util.Random wrapping a | |
| 23 | * {@link RandomGenerator}. | |
| 24 | * | |
| 25 | * @since 1.1 | |
| 26 | * @version $Id$ | |
| 27 | */ | |
| 28 | public class RandomAdaptor extends Random implements RandomGenerator { | |
| 29 | ||
| 30 | /** Serializable version identifier. */ | |
| 31 | private static final long serialVersionUID =<PHONE_NUMBER>647615033L; | |
| 32 | ||
| 33 | /** Wrapped randomGenerator instance */ | |
| 34 | private final RandomGenerator randomGenerator; | |
| 35 | ||
| 36 | /** | |
| 37 | * Prevent instantiation without a generator argument | |
| 38 | */ | |
| 39 | @SuppressWarnings("unused") | |
| 40 | private RandomAdaptor() { randomGenerator = null; } | |
| 41 | ||
| 42 | /** | |
| 43 | * Construct a RandomAdaptor wrapping the supplied RandomGenerator. | |
| 44 | * | |
| 45 | * @param randomGenerator the wrapped generator | |
| 46 | */ | |
| 47 | public RandomAdaptor(RandomGenerator randomGenerator) { | |
| 48 | this.randomGenerator = randomGenerator; | |
| 49 | } | |
| 50 | ||
| 51 | /** | |
| 52 | * Factory method to create a Random using the supplied | |
| 53 | * RandomGenerator. | |
| 54 | * | |
| 55 | * @param randomGenerator wrapped RandomGenerator instance | |
| 56 | * @return a Random instance wrapping the RandomGenerator | |
| 57 | */ | |
| 58 | public static Random createAdaptor(RandomGenerator randomGenerator) { | |
| 59 |
1
1. createAdaptor : mutated return of Object value for org/apache/commons/math3/random/RandomAdaptor::createAdaptor to ( if (x != null) null else throw new RuntimeException ) → KILLED |
return new RandomAdaptor(randomGenerator); |
| 60 | } | |
| 61 | ||
| 62 | /** | |
| 63 | * Returns the next pseudorandom, uniformly distributed | |
| 64 | * boolean value from this random number generator's | |
| 65 | * sequence. | |
| 66 | * | |
| 67 | * @return the next pseudorandom, uniformly distributed | |
| 68 | * boolean value from this random number generator's | |
| 69 | * sequence | |
| 70 | */ | |
| 71 | @Override | |
| 72 | public boolean nextBoolean() { | |
| 73 |
1
1. nextBoolean : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED |
return randomGenerator.nextBoolean(); |
| 74 | } | |
| 75 | ||
| 76 | /** | |
| 77 | * Generates random bytes and places them into a user-supplied | |
| 78 | * byte array. The number of random bytes produced is equal to | |
| 79 | * the length of the byte array. | |
| 80 | * | |
| 81 | * @param bytes the non-null byte array in which to put the | |
| 82 | * random bytes | |
| 83 | */ | |
| 84 | @Override | |
| 85 | public void nextBytes(byte[] bytes) { | |
| 86 |
1
1. nextBytes : removed call to org/apache/commons/math3/random/RandomGenerator::nextBytes → SURVIVED |
randomGenerator.nextBytes(bytes); |
| 87 | } | |
| 88 | ||
| 89 | /** | |
| 90 | * Returns the next pseudorandom, uniformly distributed | |
| 91 | * double value between 0.0 and | |
| 92 | * 1.0 from this random number generator's sequence. | |
| 93 | * | |
| 94 | * @return the next pseudorandom, uniformly distributed | |
| 95 | * double value between 0.0 and | |
| 96 | * 1.0 from this random number generator's sequence | |
| 97 | */ | |
| 98 | @Override | |
| 99 | public double nextDouble() { | |
| 100 |
1
1. nextDouble : replaced return of double value with -(x + 1) for org/apache/commons/math3/random/RandomAdaptor::nextDouble → KILLED |
return randomGenerator.nextDouble(); |
| 101 | } | |
| 102 | ||
| 103 | /** | |
| 104 | * Returns the next pseudorandom, uniformly distributed float | |
| 105 | * value between 0.0 and 1.0 from this random | |
| 106 | * number generator's sequence. | |
| 107 | * | |
| 108 | * @return the next pseudorandom, uniformly distributed float | |
| 109 | * value between 0.0 and 1.0 from this | |
| 110 | * random number generator's sequence | |
| 111 | */ | |
| 112 | @Override | |
| 113 | public float nextFloat() { | |
| 114 |
1
1. nextFloat : replaced return of float value with -(x + 1) for org/apache/commons/math3/random/RandomAdaptor::nextFloat → KILLED |
return randomGenerator.nextFloat(); |
| 115 | } | |
| 116 | ||
| 117 | /** | |
| 118 | * Returns the next pseudorandom, Gaussian ("normally") distributed | |
| 119 | * double value with mean 0.0 and standard | |
| 120 | * deviation 1.0 from this random number generator's sequence. | |
| 121 | * | |
| 122 | * @return the next pseudorandom, Gaussian ("normally") distributed | |
| 123 | * double value with mean 0.0 and | |
| 124 | * standard deviation 1.0 from this random number | |
| 125 | * generator's sequence | |
| 126 | */ | |
| 127 | @Override | |
| 128 | public double nextGaussian() { | |
| 129 |
1
1. nextGaussian : replaced return of double value with -(x + 1) for org/apache/commons/math3/random/RandomAdaptor::nextGaussian → KILLED |
return randomGenerator.nextGaussian(); |
| 130 | } | |
| 131 | ||
| 132 | /** | |
| 133 | * Returns the next pseudorandom, uniformly distributed int | |
| 134 | * value from this random number generator's sequence. | |
| 135 | * All 232 possible <tt>int</tt> values | |
| 136 | * should be produced with (approximately) equal probability. | |
| 137 | * | |
| 138 | * @return the next pseudorandom, uniformly distributed int | |
| 139 | * value from this random number generator's sequence | |
| 140 | */ | |
| 141 | @Override | |
| 142 | public int nextInt() { | |
| 143 |
1
1. nextInt : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED |
return randomGenerator.nextInt(); |
| 144 | } | |
| 145 | ||
| 146 | /** | |
| 147 | * Returns a pseudorandom, uniformly distributed <tt>int</tt> value | |
| 148 | * between 0 (inclusive) and the specified value (exclusive), drawn from | |
| 149 | * this random number generator's sequence. | |
| 150 | * | |
| 151 | * @param n the bound on the random number to be returned. Must be | |
| 152 | * positive. | |
| 153 | * @return a pseudorandom, uniformly distributed <tt>int</tt> | |
| 154 | * value between 0 (inclusive) and n (exclusive). | |
| 155 | * @throws IllegalArgumentException if n is not positive. | |
| 156 | */ | |
| 157 | @Override | |
| 158 | public int nextInt(int n) { | |
| 159 |
1
1. nextInt : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED |
return randomGenerator.nextInt(n); |
| 160 | } | |
| 161 | ||
| 162 | /** | |
| 163 | * Returns the next pseudorandom, uniformly distributed long | |
| 164 | * value from this random number generator's sequence. All | |
| 165 | * 264 possible <tt>long</tt> values | |
| 166 | * should be produced with (approximately) equal probability. | |
| 167 | * | |
| 168 | * @return the next pseudorandom, uniformly distributed long | |
| 169 | *value from this random number generator's sequence | |
| 170 | */ | |
| 171 | @Override | |
| 172 | public long nextLong() { | |
| 173 |
1
1. nextLong : replaced return of long value with value + 1 for org/apache/commons/math3/random/RandomAdaptor::nextLong → KILLED |
return randomGenerator.nextLong(); |
| 174 | } | |
| 175 | ||
| 176 | /** {@inheritDoc} */ | |
| 177 | public void setSeed(int seed) { | |
| 178 |
1
1. setSeed : negated conditional → NO_COVERAGE |
if (randomGenerator != null) { // required to avoid NPE in constructor |
| 179 |
1
1. setSeed : removed call to org/apache/commons/math3/random/RandomGenerator::setSeed → NO_COVERAGE |
randomGenerator.setSeed(seed); |
| 180 | } | |
| 181 | } | |
| 182 | ||
| 183 | /** {@inheritDoc} */ | |
| 184 | public void setSeed(int[] seed) { | |
| 185 |
1
1. setSeed : negated conditional → NO_COVERAGE |
if (randomGenerator != null) { // required to avoid NPE in constructor |
| 186 |
1
1. setSeed : removed call to org/apache/commons/math3/random/RandomGenerator::setSeed → NO_COVERAGE |
randomGenerator.setSeed(seed); |
| 187 | } | |
| 188 | } | |
| 189 | ||
| 190 | /** {@inheritDoc} */ | |
| 191 | @Override | |
| 192 | public void setSeed(long seed) { | |
| 193 |
1
1. setSeed : negated conditional → KILLED |
if (randomGenerator != null) { // required to avoid NPE in constructor |
| 194 |
1
1. setSeed : removed call to org/apache/commons/math3/random/RandomGenerator::setSeed → SURVIVED |
randomGenerator.setSeed(seed); |
| 195 | } | |
| 196 | } | |
| 197 | ||
| 198 | } | |
Mutations | ||
| 59 |
1.1 |
|
| 73 |
1.1 |
|
| 86 |
1.1 |
|
| 100 |
1.1 |
|
| 114 |
1.1 |
|
| 129 |
1.1 |
|
| 143 |
1.1 |
|
| 159 |
1.1 |
|
| 173 |
1.1 |
|
| 178 |
1.1 |
|
| 179 |
1.1 |
|
| 185 |
1.1 |
|
| 186 |
1.1 |
|
| 193 |
1.1 |
|
| 194 |
1.1 |


{% extends "base.html" %} {% block title %} Demo App {% endblock %} {% block styles %} {{super()}} {% endblock %} {% block content %}
View by alphabetical list
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
View by genre type
action adventure cars comedy dementia demons drama ecchi fantasy game harem hentai historical horror josei kids magic martial arts mecha military music mystery parody police psychological romance samurai school sci-fi seinen shoujo shoujo ai shounen ai slice of life space sports super power supernatural thriller vampire yaoi yuriView by alphabetical list
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
View by genre type
action adventure fantasy science fiction drama romance erotica comedy supernatural horror mystery psychological thriller slice of life tournament magicPlease report the bug by sending email to<EMAIL_ADDRESS>Email Subject: Bug Report
Please describe the bug as detail as you can
Attaching photos and pictures will be extremely helpful
Please leave any feedback and suggestion by sending email to<EMAIL_ADDRESS>Email Subject: Feedback
Please leave your suggestion and feedback in the email


Jetstar pilots threaten Christmas strike
by AAPAUSTRALIANS planning to fly home for Christmas could see their plans disrupted as Jetstar pilots threaten to strike in mid-December.
The Fair Work Commission has authorised the pilots union on Monday to hold a ballot vote to determine whether they’ll be moving further with their actions, which would include work stoppages of up to 24 hours.
Pay negotiations broke down after the company proposed a three per cent annual wage rise and the union asked for 15 per cent, the union reported.
AFAP executive director Simon Lutton said the union was taking the step because its members were disappointed negotiations with Jetstar over a new enterprise agreement had stalled.
“As negotiating with the company in good faith has got them nowhere, they have been left with no choice,” he said.


  Your hair will have more oil in it than Venezuela and period cramps will pop in out of nowhere.
We at Bright Side have compiled a list of common problems women go through every day so you know that we’re all in this together and the struggle is REAL.
1. Going out on a date? Surprise!
2. The Art of Perfecting Winged Eyeliner (After 1,075 Tries), a book by me
3. This is more hurtful than watching your ex with someone new.
4.  For some unknown reason, clothing companies hate giving us pockets.
6. Admit it, all your money is spent on buying bras and pads.
7. It’s almost as if you and the person in your ID card are 2 different people.
8. Forgets about make-up and rubs eyes in public...
9. Expectations vs reality
10. Being Instagram perfect requires hard work.
11. When you hit your eye with the mascara wand but continue to put on make-up.
12. The embarrassment is real.
13. We deserve better lipsticks, seriously.
14. Thick girl problems
15. “I can 100% vouch for this.”
Which one of these did you most relate to? Continue this list and tell us about the ironic struggles you face every day below in the comments!
Illustrated by Natalia Okuneva-Rarakina for BrightSide.me


This sublibrary contains blocks that generate reproducible noise with pseudo random numbers. Reproducibility is important when designing control systems, either manually or with optimization methods (for example when changing a parameter or a component of a control system and re-simulating, it is important that the noise does not change, because otherwise it is hard to determine whether the changed control system or the differently computed noise has changed the behaviour of the controlled system). Many examples how to use the Noise blocks are provided in sublibrary Blocks.Examples.NoiseExamples.
When using one of the blocks of this sublibrary, on the same or a higher level, block Noise.GlobalSeed must be dragged resulting in a declaration
inner Modelica.Blocks.Noise.GlobalSeed globalSeed;
This block is used to define global options that hold for all Noise block instances (such as a global seed for initializing the random number generators, and a flag to switch off noise). Furthermore, the impure random number generator impureRandom is initialized here.
Please note that only one globalSeed instance may be defined in the model due to the initialization of the impureRandom(..) random number generator! So, the block will usually reside on the top level of the model.
When using a noise block of this package, at a minimum the following parameters must be defined:
Parameter Description samplePeriod Random values are drawn periodically at the sample rate in [s] defined with this parameter (time events are generated at the sample instants). Between sample instants, the output y is kept constant. distribution data Every noise block in this package needs additional data to describe the respective distribution. A random number distribution maps the drawn random numbers from the range 0.0 ... 1.0, to the desired range and distribution.
As a simple demonstration, see example Blocks.Examples.NoiseExamples.UniformNoise. In the next diagram, a simulation result is shown for samplePeriod=0.02 s and uniform distribution with y_min=-1, y_max=3:
In the Advanced tab of the parameter menu, further options can be set in the noise blocks as shown in the next table:
Parameter Description enableNoise = true, if noise is generated at the output of the block (this is the default).
= false, if noise generation is switched off and the constant value y_off is provided as output.y_off If enableNoise = false, the output of the block instance has the value y_off. Default is y_off = 0.0. Furthermore, if enableNoise = true and time<startTime, the output of the block is also y_off (see description of parameter startTime below).
For every block instance, the internally used pseudo random number generator has its own state. This state must be properly initialized, depending on the desired situation. For this purpose the following parameters can be defined:
Parameter Description useGlobalSeed = true, if the seed (= Integer number) defined in the "inner GlobalSeed globalSeed" component is used for the initialization of the random number generator used in this instance of the noise block. Therefore, whenever the globalSeed defines a different number, the noise at every instance is changing. This is the default setting and therefore the globalSeed component defines whether every new simulation run shall provide the same noise (e.g. for a parameter optimization of controller parameters), or whether every new simulation run shall provide different noise (e.g. for a Monte Carlo simulation).
= false, if the seed defined by globalSeed is ignored. For example, if aerodynamic turbulence is modelled with a noise block and this turbulence model shall be used for all simulation runs of a Monte Carlo simulation, then useGlobalSeed has to be set to false.useAutomaticLocalSeed An Integer number, called local seed, is needed to initialize the random number generator for a specific block instance. Instances using the same local seed produce exactly the same random number values (so the same noise, if the other settings of the instances are the same).
If useAutomaticLocalSeed = true, the local seed is determined automatically from an impure random number generator that produces Integer random values (impureRandomInteger). This is the default. Note, this means that the noise might change if function randomInteger() is called more or less often in the overall model (e.g. because an additional noise block is introduced or removed). It is planned to change the automatic local seed function in a future version of package Modelica, once Modelica Language 3.3 language elements can be used (by using a hash value of the instance name of the model that is inquired with the Modelica Language 3.3 function getInstanceName()).
If useAutomaticLocalSeed = false, the local seed is defined explicitly by parameter fixedLocalSeed. It is then guaranteed that the generated noise remains always the same (provided the other parameter values are the same).fixedLocalSeed If useAutomaticLocalSeed = false, the local seed to be used. fixedLocalSeed can be any Integer number (including zero or a negative number). The initialization algorithm produces a meaningful initial state of the random number generator from fixedLocalSeed and (if useAutomaticGlobalSeed=true) from globalSeed even for bad seeds such as 0 or 1, so the subsequently drawing of random numbers produces always statistically meaningful numbers. startTime The time instant at which noise shall be generated at the output y. The default startTime = 0. For time<startTime, y = y_off. In some cases it is meaningful to simulate a certain duration until an approximate steady-state is reached. In such a case startTime should be set to a time instant after this duration.
The core of the noise generation is the computation of uniform random numbers in the range 0.0 .. 1.0 (and these random numbers are transformed afterwards, see below). This sublibrary uses the xorshift random number generation suite developed in 2014 by Sebastiano Vigna (for details see http://xorshift.di.unimi.it and Math.Random.Generators). These random number generators have excellent statistical properties, produce quickly statistically relevant random numbers, even if starting from a bad initial seed, and have a reasonable length of the internal state vector of 2, 4, and 33 Integer elements. The random number generator with an internal state vector of length 2 is used to initialize the other two random number generators. The length 4 random number generator is used in the noise blocks of this package, and every such block has its own internal state vector, as needed for reproducible noise blocks. The random number generator with a length of 33 Integer is used from the impure random number generator. It is suited even for massively parallel simulations where every simulation computes a large number of random values. More details of the random number generators are described in the documentation of package Math.Random.Generators.
The uniform random numbers in the range 0.0 .. 1.0 are transformed to a desired random number distribution by selecting an appropriate distribution or truncated distribution. For an example of a truncated distribution, see the following diagram of the probability density function of a normal distribution compared with its truncated version:
The corresponding inverse cumulative distribution functions are shown in the next diagram:
When providing an x-value between 0.0 .. 1.0 from a random number generator, then the truncated inverse cumulative probability density function of a normal distribution transforms this value into the desired band (in the diagram above to the range: -1.5 .. 1.5). Contrary to a standard distribution, truncated distributions have the advantage that the resulting random values are guaranteed to be in the defined band (whereas a standard normal distribution might also result in any value; when modeling noise that is known to be in a particular range, say ± 0.1 Volt, then with the TruncatedNormal distribution it is guaranteed that random values are only generated in this band). More details of truncated distributions are given in the documentation of package Math.Distributions.
| Name | Description |
|---|---|
| GlobalSeed | Defines global settings for the blocks of sublibrary Noise, especially a global seed value is defined |
| UniformNoise | Noise generator with uniform distribution |
| NormalNoise | Noise generator with normal distribution |
| TruncatedNormalNoise | Noise generator with truncated normal distribution |
| BandLimitedWhiteNoise | Noise generator to produce band-limited white noise with normal distribution |
| Date | Description | ||
|---|---|---|---|
| June 22, 2015 |
|


This document describes the features of the Commons Configuration component starting with the very basics and up to the more advanced topics. If you read it in a linear way, you should get a sound understanding of the provided classes and the possibilities they offer. But you can also skip sections and jump directly to the topics you are most interested in.


If you want to know more, its really simple and really easy...
Call: 0113 357 2192 Email: info@hrcaliber.co.uk


{% extends "layout.html" %} {% block page_title %} Money Claims Prototype {% endblock %} {% block content %} {% include "includes/phase_banner_beta.html" %} Back How and when did you respond? How did you respond to this claim? When did you respond to this claim? For example, 12 12 2017 Day Month Year Statement of Truth I declare that the answers I have given are true to the best of my knowledge. Submit and continue to payment (£255) {% include 'prototypes/prototype-aug-2019/includes/contact.html' %} {% endblock %}
For example, 12 12 2017


Membership Approval Details
Membership request has been submitted with the following details:
DOMAIN
{0}
ROLE
{1}
MEMBER
{2}
REASON
{3}
REQUESTER
{4}
Please visit the
Athenz Workflow Screen
to act on the request.


Important information about Automatic Updates
Automatic updates include all perfSONAR, operating system and third-party packages. Enabling this feature will help keep the latest security fixes on the system, but keep in mind it is possible some updates may break your host unexpectedly. The following rule of thumb may be useful when considering whether to enable this feature:
If the machine is a critical server, for which unplanned downtime of a service on the machine can not be tolerated, then you should not use automatic updates. Otherwise, you may choose to use them.
It is also important to note that automatic updates do not perform all required system reboots or service restarts. Enabling this feature still requires close monitoring of the host to make sure all updates are applied completely and properly.
×


Search The Content
HOME
MENU
ARCHIVE
My Artworks
Ecology, Environment & Animals
Click on the tabs to know about the "Following Animals & Plants" in each category.
Eagle
Dolphin
Sunder-
bans
Andes
Turtle
Leopard
Namib
Desert
Congo
Forest
Gibbon
Scimitar
Great
B.Reef
Sahara
Desert
Tiger
Sea
Otter
Pantan-
al
Arctic


Seasons of Code is a programme launched by the WnCC, along the lines of GSoC without much greenery though. The incentive is similar to ITSP, based on the current form of it, the fundamental difference is that one can choose from the ideas offered by mentors who are senior undergrads, doctorate students or professors, and in some exceptional cases, startups. We plan to have a really long timeframe though, until the next winter extending this programme into a mentorship of sorts into the semester. It is not just about development by the way. We have some mentors ready to take up programmes regarding competitive coding and scientific computation too.
Seasons of Code gives you an amazing opportunity to learn and dive into coding under the mentorship of the best in our institute. Our list of projects gives you a chance to pick up and work on any topic you are enthusiastic about.
Do. Or do not. There is no try.
The Force is strong with you.
Train yourself to let go of everything you fear to lose.
The Force will be with you always.
Ready are you?
I can feel you code.
It gives you focus. It makes you stronger.
Your focus determines your reality.
Use the force
and someday you will be the most powerful Jedi ever.


{% if posts.size > 0 %}
{% include articles.html posts=posts %}
{% else %}
{% include sidebar.html %}
Sadly, this author has not posted anything yet.
{% endif %}Sadly, this author has not posted anything yet.
{% endif %}


Data can be aggregated according to a period, with the time of the bars used to perform the consolidation. This requires the input data to be of a higher resolution than the desired consolidation period, e.g. to build a 1.5 hour bar you need minute data.
The mechanics are identical to consolidation counts described previously. You must create a consolidator object and then register it to receive data with the Subscription Manager.
def Initialize(self): # Make sure you have the data you need self.AddEquity("QQQ", Resolution.Minute) # Create consolidator you need and attach event handler thirtyMinuteConsolidator = TradeBarConsolidator(timedelta(minutes=30)) thirtyMinuteConsolidator.DataConsolidated += self.ThirtyMinuteHandler # Register consolidator to get automatically updated with minute data self.SubscriptionManager.AddConsolidator("QQQ", thirtyMinuteConsolidator) def ThirtyMinuteHandler(self, sender, bar): # Bar period is now 30 min from the consolidator above. self.Debug(str(bar.EndTime - bar.Time) + " " + bar.ToString())
public override void Initialize() { // Make sure you have the data you need AddEquity("QQQ", Resolution.Minute); // Create consolidator you need and attach event handler var thirtyMinuteConsolidator = new TradeBarConsolidator(TimeSpan.FromMinutes(30)); thirtyMinuteConsolidator.DataConsolidated += ThirtyMinuteHandler; // Register consolidator to get automatically updated with minute data SubscriptionManager.AddConsolidator("QQQ", thirtyMinuteConsolidator); } private void ThirtyMinuteHandler(object sender, TradeBar bar) { // Bar period is 30 min from the consolidator above. Debug((bar.EndTime - bar.Time).ToString() + " " + bar.ToString()); }


create a sketchy
This style draws a
Draw a
Creates a
Draw a hand-drawn line through an element creating a
To symbolize rejection, use a
Ability to annotate inline content that can span multiple lines
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed accumsan nisi hendrerit augue molestie tempus.
Phasellus purus quam, aliquet nec commodo quis, pharetra ut orci.
Rough Notation provides a way to order the animation of annotations by creating an


Our lives can only prosper if we maintain a life and market free of any government barriers. These barriers must be taken down in order for our nation to remain the best developed and affluent superpower. Only when this happens can our nation truly experience what the founding fathers had envisioned; a free and prosperous state.
Believe in an "opt out" policy in which one can choose to privatley invest (we belive this to be the better option) or go with a government sponsored social security plan.
Free market should dictate the job market.
100% Free Market
Believe in reducing nuclear arms in the U.S. The military should be use to protect people's livery and property only.
Support tax cuts, low intrest rates in an effort to stimulate the economy.
Generally support closed or tight borders and tracking system for foreign travelers. Along with an easier legal process for those who wish to get in.
Strict adherence between the seperation of church and state. Pormote secular issues and a more secular nation.
Promote school choice/vouchers and homeschooling.
Generally pro-choice, with limits set.
Wish to find enviornmentally friendly energy sources and solutions.
Support where there is both a private and public option, and the people have a choice on which they desire to use.
End most foreign aid, and only keep aid that is absolutely necessary.
Favor more regulation with spending limits on individuals and corporations.
Strong support of the envoirnment.
Limited gun control.
Pro private choice and equality including marriage.


--- layout: example title: Ionic Framework Examples header_sub_title: See it in action! Checkout our examples or submit your own. ---
One of the fastest ways to get up and running with Ionic is our ionic-angular-cordova-seed start project.
But we also have a growing list of starter templates with common mobile UI layouts, and we are working on gathering real Ionic apps built by the community. If you are working on an Ionic app and want to share it and get free promotion in return, please submit your app!


{include file='application/index/view/head.html'} {block name='bodys'}{/block} {include file='application/index/view/foot.html'}


1 DEFINITIONS
1.1 “Buyer” means the individual or organisation who buys or agrees to buy the Goods and/or Services from the Supplier;
1.2 “Consumer” shall have the meaning ascribed in section 12 of the Unfair Contract Terms Act 1977;
1.3 “Contract” means the contract between the Supplier and the Buyer for the sale and purchase of Goods and/or Services incorporating these Terms and Conditions;
1.4 “Goods” means the articles that the Buyer agrees to buy from the Supplier;
1.5 “Services” means the services that the Buyer agrees to buy from the Supplier;
1.6 “Supplier” means Wholesale Meats (Coventry) Ltd that owns and operates Wholesale Meats.
1.7 “Terms and Conditions” means the terms and conditions of sale set out in this agreement and any special terms and conditions agreed in writing by the Supplier;
1.8 “Website” means wholesalemeatscoventry.com.
2 CONDITIONS
2.1 Nothing in these Terms and Conditions shall affect the Buyer’s statutory rights as a Consumer.
2.2 These Terms and Conditions shall apply to all contracts for the sale of Goods and/or Services by the Supplier to the Buyer and shall prevail over any other documentation or communication from the Buyer.
2.3 Acceptance of delivery of the Goods shall be deemed conclusive evidence of the Buyer’s acceptance of these Terms and Conditions.
2.4 Any variation to these Terms and Conditions (including any special terms and conditions agreed between the parties) shall be inapplicable unless agreed in writing by the Supplier.
2.5 Any special conditions applying to the provision of the Services are set out in the Schedule to this agreement.
2.6 Any complaints should be addressed to the Supplier’s address stated in clause 1.6.
3 ORDERING
3.1 All orders for Goods and/or Services shall be deemed to be an offer by the Buyer to purchase Goods and/or Services pursuant to these Terms and Conditions and are subject to acceptance by the Supplier. The Supplier may choose not to accept an order for any reason.
3.2 Where the Goods ordered by the Buyer are not available from stock the Buyer shall be notified and given the option to either wait until the Goods are available from stock or cancel the order and receive a full refund within 28 days.
3.3 Promotional and discount codes are to be used only once where applicable and may not be combined with any other offers. Should an offer code be used more than once, or is deemed by the Supplier to abuse the fair usage policy then the Supplier can withdraw, withhold or cancel the promotional code at any time.
4 PRICE AND PAYMENT
4.1 The price of the Goods and/or Services shall be that stipulated on the Website.
4.2 The total purchase price and delivery charges, if any, will be displayed in the Buyer’s shopping cart prior to confirming the order.
4.3 After the order is received the Supplier shall confirm by email the details, description and price for the Goods and/or Services together with information on the right to cancel if the Buyer is a Consumer.
4.4 Payment of the price and delivery charges, if applicable, must be made at the point of ordering.
4.5 In terms of products ordered in advance payment of the price and delivery charges, if applicable, must be made at the point of ordering although orders will not be shipped out until the agreed specified date.
4.6 Where applicable, if any payment is not paid on time or any payment is rejected or refused, the amount owing will be treated as overdue and the Supplier will be entitled immediately to cease or suspend the provision of any Service or further deliveries of Goods until payment has been received.
5 PERFORMANCE OF SERVICES
5.1 The Supplier shall perform the Services with reasonable skill and care. However, where applicable, the Supplier does not guarantee that the Services will be uninterrupted, or error-free or that any data generated, stored, transmitted or used via or in connection with the Services will be complete, accurate, up to date, received or delivered correctly or at all. The Supplier may have to suspend the Services for repair, maintenance or improvement. If so, the Supplier will restore them as quickly as is reasonably possible.
6 RIGHTS OF SUPPLIER
6.1 The Supplier reserves the right to periodically update prices on the Website, which cannot be guaranteed for any period of time. The Supplier shall make every effort to ensure prices are correct at the point at which the Buyer places an order.
6.2 The Supplier reserves the right to withdraw any Goods and/or Services from the Website at any time.
6.3 The Supplier reserves the right to withdraw or suspend any promotion or offer code at any time.
6.4 The Supplier shall not be liable to anyone for withdrawing any Goods and/or Services from the Website or for refusing to process an
7 DELIVERY
7.1 Where a specific delivery date has been agreed, and where this delivery date cannot be met, the Buyer will be notified and given the opportunity to agree to a new delivery date or receive a full refund.
7.2 The Supplier shall use its reasonable endeavours to meet any date agreed for delivery. In any event, time of delivery shall not be of the essence and the Supplier shall not be liable for any losses, costs, damages or expenses incurred by the Buyer or any third party arising directly or indirectly out of any failure to meet any estimated delivery date.
7.3 Delivery of the Goods shall be made to the Buyer’s address specified in the order and the Buyer shall make all arrangements necessary to take delivery of the Goods whenever they are tendered for delivery.
7.4 Risk in the Goods shall pass to the Buyer upon delivery of the Goods, or where the Buyer fails to take delivery at the agreed time, at the time delivery was attempted.
7.5 Title in the Goods shall not pass to the Buyer until payment of the price has been made in full.
7.6 If the customer refuses a delivery for whatever reason, the parcel is automatically returned to the Supplier and a return delivery charge is applied to the Buyer.
8 CANCELLATION AND RETURN
8.1 As our products are supplied fresh and prepared to order, we regret that once an order is placed it is not possible to cancel it, and refunds will be at the discretion of the management.In the unlikely event of a product being unsatisfactory, please contact us immediately – please do not return goods without first contacting us.
8.2 Where a claim of defect or damage is made, the Goods may have to be returned by the Buyer to the Supplier within the best before date or use by date on the product. The Buyer shall be entitled to a replacement or a full refund if the Goods are in fact defective and/or need to be returned.
8.3 Goods to be returned must clearly show the order number obtained from the Supplier on the package.
9 LIMITATION OF LIABILITY
9.1 Except as may be implied by law where the Buyer is dealing as a Consumer, in the event of any breach of these Terms and Conditions by the Supplier the remedies of the Buyer shall be limited to damages which shall in no circumstances exceed the price of the Goods and/or Services and the Supplier shall under no circumstances be liable for any indirect, incidental or consequential loss or damage whatever.
9.2 Nothing in these Terms and Conditions shall exclude or limit the liability of the Supplier for death or personal injury resulting from the negligence of the Supplier or that of the Supplier’s agents or employees.
10 WAIVER
10.1 No waiver by the Supplier (whether express or implied) in enforcing any of its rights under this contract shall prejudice its rights to do so in the future.
11 FORCE MAJEURE
11.1 The Supplier shall not be liable for any delay or failure to perform any of its obligations if the delay or failure results from events or circumstances outside its reasonable control, including but not limited to, acts of God, strikes, lock outs, accidents, war, fire, failure of any communications, telecommunications or computer system, breakdown of plant or machinery or shortage or unavailability of raw materials from a natural source of supply, and the Supplier shall be entitled to a reasonable extension of its obligations.
12 SEVERANCE
12.1 If any term or provision of these Terms and Conditions is held invalid, illegal or unenforceable for any reason by any court of competent jurisdiction such provision shall be severed and the remainder of the provisions hereof shall continue in full force and effect as if these Terms and Conditions had been agreed with the invalid illegal or unenforceable provision eliminated.
13 CHANGES TO TERMS AND CONDITIONS
13.1 The Supplier shall be entitled to alter these Terms and Conditions at any time but this right shall not affect the existing Terms and Conditions accepted by the Buyer upon making a purchase.
14 GOVERNING LAW AND JURISDICTION
14.1 These Terms and Conditions shall be governed by and construed in accordance with the law of England and Wales, and the parties hereby submit to the exclusive jurisdiction of the English courts.
15 DISCOUNT VOUCHER CODES
15.1 We operate a range of Discount Voucher Codes, the majority of which have have their own terms associated to them. These terms will be explained at the time the code is issued, and if the code is issued physically, i.e. posted/delivered, then the terms will be explained in writing. If your code does not work please contact customer services immediately and they will explain the terms associated to your code.
16 SUBSTITUTION OF PRODUCTS
Under extreme circumstances we reserve the right to substitute certain products which may form part of a product or offer pack.


ArchNadeom, Keeper Of Records.
Stardate #340.
The trial was presided over by the honorary Gymnasiarch and Master of Games, known simply as Xin. Justice Pro Tem.
A trial of this magnitude was unheard of. The charges for war crimes were unprecedented. That there could be a crime greater than the widespread destruction and wholesale slaughter of war was unthinkable.
This was not a trial in any conventional sense.
There were no laws over the crimes for which the party was being accused. There was no pretext for deciding between which of a captain’s actions could be praised as clever ingenuity. Or denounced for gross and inhumane conduct unbecoming of a starship captain.
There was not even an existing framework by which a judicial body could hold a trial and make a ruling.
Xin was the closest thing to a neutral party that could be found.
He was the directing voice behind the leading ship and weapons manufacturer in the galaxy. Hailed by some as a technological savant, whose innovations had revolutionized the art of ship operations and interstellar conflict. But by others, he was seen as a wartime profiteer.
His company brand was known by name: SavySoda.
Xin was not an appointed judge. It was not a title he would have ever chosen to aspire to.
It was a duty bestowed upon him when the accused party was unceremoniously dumped on his doorstep.
Xin had never sat in deliberation over the guilt or innocence of another man. He had never weighed opposing arguments or contradictory statements. He had no way of proving the truth or validity of any substantiated claims or corroborating evidence.
The culmination of events forcing him into a role of judicial magistrate put a sour taste in his mouth.
One thing on which Xin did agree. The case needed to be settled quickly and decisively. It was bad for business.
It was a trial of opinion.
Everyone had a point of view. Everyone took a side.
There was no judgment Xin could make that would appeal to all parties. Or that would not result in a loss towards his company’s future revenue.
No matter how he ruled, he would be hated and despised for that ruling.
There was not a soul in the galaxy who had not already formed their own conviction towards the accused. Without bias, there could be no jury of peers.
Xin would rule over the case with undisputed authority.
And for his service towards justice, he would be reviled with uninhibited and universal loathing.
What would be decided here was not just the judgment of one man. What was to be (would be) decided
And how
There would be no heroes here.


Match Play. 2-2 to 7. How should Red play 22?
pips Red=82 White=46
(CorrectAnswer= 0/0, ErrorScore= 0)
After either 16/12, 13/9 or 16/12, 13/11, 8/6 followed by a fan from White Red will redouble and White must pass.
Now the interesting bit. For money 16/12, 13/11, 8/6 is correct. However, at this score losing a gammon is very bad for Red as he will be 2-6 (Crawford) down. 16/12, 13/9 reduces the gammon risk because there is no direct shot and no double hits. That is enough to swing the vote to 16/12, 13/9 and to have the slotting play classified as an error.
In addition, 16/12, 13/9 followed by a fan not all Whites will pass the redouble while after the slotting play followed by a fan nobody will be taking. Always give your opponent a chance to make a mistake!
Over the board I slotted and only learnt all of the above after post-match analysis. I may have said this before, but backgammon certainly is not an easy game!
Now the interesting bit. For money 16/12, 13/11, 8/6 is correct. However, at this score losing a gammon is very bad for Red as he will be 2-6 (Crawford) down. 16/12, 13/9 reduces the gammon risk because there is no direct shot and no double hits. That is enough to swing the vote to 16/12, 13/9 and to have the slotting play classified as an error.
In addition, 16/12, 13/9 followed by a fan not all Whites will pass the redouble while after the slotting play followed by a fan nobody will be taking. Always give your opponent a chance to make a mistake!
Over the board I slotted and only learnt all of the above after post-match analysis. I may have said this before, but backgammon certainly is not an easy game!
1. Cubeful 2-ply 16/12 13/11 8/6 Eq.: +0.613 0.702 0.000 0.000 - 0.298 0.054 0.000 2. Cubeful 2-ply 16/10 13/11 Eq.: +0.559 (-0.054) 0.626 0.000 0.000 - 0.374 0.034 0.000 3. Cubeful 2-ply 16/12 8/6 4/2 Eq.: +0.552 (-0.061) 0.697 0.000 0.000 - 0.303 0.086 0.001 4. Cubeful 2-ply 16/12 11/9 8/6 Eq.: +0.550 (-0.064) 0.698 0.000 0.000 - 0.302 0.075 0.001 5. Cubeful 2-ply 16/10 8/6 Eq.: +0.530 (-0.083) 0.686 0.000 0.000 - 0.314 0.082 0.001


aside
element
aside
aside
with child <h1>
aside
with aria-label
attribute
aside
with aria-labelledby
aside
with title
attribute
aside
with aria-describedby
aside
with aria-label
& title
attributes


Some time ago, I had a discussion with two friends of mine over the effectiveness of ganja tea, which I am told is widely used in Jamaican folk medicine. My friends believed that ganja tea (i.e., an infusion made by boiling marijuana in water) would make you stoned. I disagreed, saying that if you made a tea from marijuana, it would have no psychoactive effect. I also argued that bud used to make tea could be dried and smoked afterwards and would get you as stoned as it would if it had never been boiled up. My belief was based on the fact that THC is always described in scientific sources as being insoluble in water.
One day, I decided to check it out for myself. I boiled up some bud in water and drank it. Though the tea was pleasantly relaxing, it did not make me stoned. I then left out the weed I had used until it was dry, and smoked it. As far as I was concerned, it had its full effect.
I told my friends about this and proposed that we do the experiment together. At the time, we had the custom of meeting weekly at my home to watch kung-fu movies. One week therefore, I boiled up a measured quantity of skunk-type weed. I think it was an eighth of an ounce, but I donít remember for sure Ė this was, as I say, some time ago. We drank the resulting brew and watched a film. Afterwards, I asked my friends if I wasnít right in saying that it had no effect. My friends replied, and I had to agree with them, that I was only partly right. True, we were not stoned. But the tea did have some effect. We all felt pleasantly relaxed, and this was definitely a noticeable psychoactive effect of the brew.
The following week, having dried out the weed, we conducted the second part of the experiment by smoking it. After a couple of spliffs (straight weed), I asked my friends if it didnít have the full effect of the bud, the same as smoking the weed before it was boiled up in water, with a slightly smoother taste. Again, my friends contended, and again I had to agree with them, that I was only partly right. Yes, the weed did make us stoned, but there was something missing from the experience. Indeed, as one of my friends pointed out, what was missing was the equivalent of the effect we had experienced the previous week from the tea. The effect of the weed after making tea from it and then drying it out and smoking it was the same as the full effect of the weed minus the effect of the tea.
This was a private experiment conducted a few years ago now, but recently it occurred to me that it might be of interest to others since the effects of ganja tea are rarely described, and it is often erroneously believed to have the same effect as that of smoking or eating cannabis.
True, this was just a subjective experience on the part of three ordinary cannabis smokers, but it seems to indicate that, although THC and most cannabinoids are not soluble in water, some active constituents of cannabis are indeed water-soluble, and this could explain the efficacy of ganja tea in Jamaican folk medicine. It also means that people who do not smoke cannabis or who dislike its effects can nonetheless use ganja tea for medicinal purposes, and indeed I am told that many people who use ganja tea medicinally in Jamaica never smoke cannabis for its psychoactive effects.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Welcome to Berlin!
Berlin is, without a doubt, one of Europe’s most-renowned cities, and for very good reason. From its youthful energy and ground-breaking tech scene to its historical architecture and political prestige, this is a city that brims with innovation and character.
As part of this social programme, we will explore vestiges of Berlin’s layered past whilst also discovering the promise of Germany’s future. It is celebrated for its engineering feats, its spectacular museums and its magnificent World Heritage Sites, not to mention its world-class culinary scene, arts and culture. From an exciting events calendar to a rich tapestry of pre and post-war architecture, Berlin’s heritage leaves a lasting impression on everyone who spends time here. And attracting close to a million visitors each year, the world-famous Berlin Wall has been dubbed the longest open-air gallery in the world.
Berlin’s past has of course, at times, been dark and complex. This vast metropolis comprises some intriguing and varied layers and has been imaginatively reborn over recent years. The Golden Twenties in particular, was a particularly colourful era for the city. It was during this interwar period, dubbed The Weimar Republic, when Germany’s culture and literature was flourishing. Berliners lived life to the full and the city saw an injection of politically provocative arts, as well as a boom in pioneering work across science and literature. This convivial era, which coincided with hedonistic parties and political freedom, lasted until the inception of Nazi rule and is looked back on with great nostalgia. Today, remnants of Weimar culture can still be glimpsed across the city in the way of retro movie theatres, quirky jazz bars and iconic art institutions. Important monuments which symbolise Berlin’s more promising future following the fall of the Berlin Wall, can also be discovered across the city. The Brandenburg Gate is of course, one of the most famous, and celebrates peace and unity for the country.
The creative spirit is still palpable in Berlin and it now boasts one of the fastest-growing start-up scenes in the world. Offering a true taste of this entrepreneurial culture, Silicon Allee, is located in the heart of Berlin Mitte and is an ‘embassy’ to the city’s thriving start-up scene. Playing home to some of Europe’s most successful innovators, Silicon Allee uncovers inspiring co-working and co-living spaces, exciting independent businesses and a diverse community of tech entrepreneurs. This thriving campus also hosts leading digital conferences and events and is well and truly leading the way for the digital age.
If your heart leads with your taste buds, Berlin will win you over with its exciting culinary scene. No longer limited to the traditional bratwurst and bier, Berlin’s gastronomy has earned prestige amongst food critics from all over the world. From artisanal start-ups to Michelin Star-worthy dining, it is fast becoming a world-class food and drink destination.
We are delighted to host you for this special event and we think you will agree, Berlin is a special city. Your social programme at the ERT has been carefully designed to help you enjoy a world-class experience of award-winning chefs, exquisite hospitality, top influential speakers and unmissable sights and attractions. We look forward to showing you a sample of the very best of Germany’s capital city and hope you have a truly memorable and inspiring time together.


First there are additional dependencies you will need, which on Ubuntu 12.04 can be installed with:
sudo apt-get install poppler-utils libreoffice
On Ubuntu 10.04:
sudo apt-get install poppler-utils openoffice.org openoffice.org-java-common
Libre Office is a background service which is called by convert_office plugin, to convert some document types (ms office documents, open office documents, etc.) into pdf document.
The command to start libre office in headless mode and as the background process:
nohup soffice --headless --accept="socket,host=<IP_ADDRESS>,port=8100;urp;" --nofirststartwizard > /dev/null 2>&1
If you run on production server, using apache and phusion passenger, you will need to run the Libre Office service under www-data user. To do this it will need to create a working directory in /var/www. The name of the directory changes between versions, but will be called something similar to libreoffice or .openoffice.org2. The easiest way to create this directory is to make a note of the permissions for /var/www, then make it writable to www-data, start the service, and then put the permissions on /var/www back to what they were originally.
sudo chown www-data:www-data /var/www
Then to start the service manually you use:
nohup sudo -H -u www-data soffice --headless --accept="socket,host=<IP_ADDRESS>,port=8100;urp;" --nofirststartwizard > /dev/null 2>&1
The 8100 port is used by default, if you'd like to run on another port, you need also to synchronize the changed port with the default soffice_port setting for convert_office plugin in config/environment.rb
We recommend the Libre Office service is setup using an init.d script, following the same procedures for delayed job using the script found at: gist.github.com/3787679
If you have problem with converting speed, you should upgrade OS to Ubuntu 12.04 to use Libre Office. Or you can install libre office 3.5 from PPA, but there could be problems later on when upgrading OS. Here are the command to install libre office from PPA:
sudo apt-get purge openoffice* libreoffice* sudo apt-get install python-software-properties sudo add-apt-repository ppa:libreoffice/libreoffice-3-5 sudo apt-get update sudo apt-get install libreoffice
Other than this, the remaining steps are the same standard steps are previous versions:
RAILS_ENV=production ./script/delayed_job stop bundle exec rake sunspot:solr:stop RAILS_ENV=production hg pull https://bitbucket.org/seek4science/seek -r v0.16.3 hg update hg merge # only required if you've made changes since installing. If you have you may need to deal with conflicts. hg commit -m "merged" # likewise - only required if you made changes since installing bundle install --deployment bundle exec rake seek:upgrade RAILS_ENV=production bundle exec rake tmp:assets:clear RAILS_ENV=production bundle exec rake tmp:clear RAILS_ENV=production bundle exec rake sunspot:solr:start RAILS_ENV=production # to restart the search server RAILS_ENV=production ./script/delayed_job start touch tmp/restart.txt
SEEK 0.15 upgraded Rails to the latest 2 version,2.3.14. This requires an update of Rubygems to 1.6.2. You can update rubygems directly by running
gem update --system 1.6.2
or install from scratch by reading the INSTALL guide. You can also use RVM. SEEK 0.15 also runs fine on the latest Rubygems (currently 1.8.24) but you will get some deprecation warnings. You can check you have the correct version of rubygems by running
gem -v
Then you will need to install additional dependency:
sudo apt-get install git
Once Rubygems has been updated and additional dependency has been installed, the upgrade is the typical:
RAILS_ENV=production ./script/delayed_job stop bundle exec rake sunspot:solr:stop RAILS_ENV=production hg pull https://bitbucket.org/seek4science/seek -r v0.15.4 hg update hg merge # only required if you've made changes since installing. If you have you may need to deal with conflicts. hg commit -m "merged" # likewise - only required if you made changes since installing bundle install --deployment bundle exec rake seek:upgrade RAILS_ENV=production bundle exec rake tmp:assets:clear RAILS_ENV=production bundle exec rake tmp:clear RAILS_ENV=production bundle exec rake sunspot:solr:start RAILS_ENV=production # to restart the search server RAILS_ENV=production ./script/delayed_job start touch tmp/restart.txt
These are the fairly standard steps when upgrading between minor versions. Note, the seek:upgrade task can take a while if there are many people and assets in your SEEK, as it needs to populate some tables for the default subscriptions (for email notifications).
RAILS_ENV=production ./script/delayed_job stop bundle exec rake sunspot:solr:stop RAILS_ENV=production hg pull https://bitbucket.org/seek4science/seek -r v0.14.1 hg update hg merge # only required if you've made changes since installing. If you have you may need to deal with conflicts. hg commit -m "merged" # likewise - only required if you made changes since installing bundle install --deployment bundle exec rake seek:upgrade RAILS_ENV=production bundle exec rake tmp:assets:clear RAILS_ENV=production bundle exec rake tmp:clear RAILS_ENV=production bundle exec rake sunspot:solr:start RAILS_ENV=production # to restart the search server RAILS_ENV=production ./script/delayed_job start touch tmp/restart.txt
There follows the commands required to upgrade. Anything after # are notes and do not need to be included in the command run. There are a few additional steps for this upgrade due to the switch from Solr to Sunspot as the search system, and the introduction of Delayed Job for background processing.
First there is an additional dependency you will need, which on Ubuntu 10.04 or Debian can be installed with:
sudo apt-get install libxslt-dev
on Ubuntu 12.04 this will be:
sudo apt-get install libxslt1-dev
then the following steps will update the SEEK server:
bundle exec rake solr:stop RAILS_ENV=production # this is specific to this upgrade, since the command to stop and start the search has changed. hg pull https://bitbucket.org/seek4science/seek -r v0.13.3 hg update hg merge # only required if you've made changes since installing. If you have you may need to deal with conflicts. hg commit -m "merged" # likewise - only required if you made changes since installing bundle install --deployment bundle exec rake seek:upgrade RAILS_ENV=production bundle exec rake sunspot:solr:start RAILS_ENV=production # to restart the search server bundle exec rake sunspot:solr:reindex RAILS_ENV=production # to reindex bundle exec rake tmp:assets:clear RAILS_ENV=production bundle exec rake tmp:clear RAILS_ENV=production
SEEK v0.13.x now uses a Ruby tool called Delayed Job to handle background processing which now needs to be started using:
RAILS_ENV=production ./script/delayed_job start
And now SEEK should be ready to restart. If running together with Passenger Phusion as described in the install guide this is simply a case of:
touch tmp/restart.txt
If you auto start solr with an init.d/ script - this will need updating to reflect the change to sunspot:solr:start. The updated script should look something like: gist.github.com/3143434


--- layout: post title: Most Popular Programming Languages of 2013 date: '2013-03-17T09:34:00.000-04:00' author: ricleal tags: - Programming comments: true ---


Task sheet- Great for tracking what needs to be done, also where you have found your current information


Start Bootstrap
Sign In
Building a landing page for your business
or project and generate more leads!
Sign Up!


|
|
SerializationClass Serialization Traits |
int
, it wouldn't make sense to save
a version number in the archive. Likewise, for a data type that is never
serialized through a pointer, it would (almost) never make sense to track
the address of objects saved to/loaded from the archive as it will never
be saved/loaded more than once in any case. Details of
serialization for a particular data type will vary depending on the
type, the way it is used and specifications of the programmer.
One can alter the manner in which a particular data type is serialized by specifying one or more class serialization traits. It is not generally necessary for the programmer to explictly assign traits to his classes as there are default values for all traits. If the default values are not appropriate they can be assigned by the programmer. A template is used to associate a typename with a constant. For example see version.hpp.
namespace boost {
namespace serialization {
template<class T>
struct version
{
BOOST_STATIC_CONSTANT(unsigned int, value = 0);
};
} // namespace serialization
} // namespace boost
For any class T
, The default definition
of boost::serialization::version<T>::value
is 0.
If we want to assign a value of 2 as the version for class my_class
we specialize the version template:
namespace boost {
namespace serialization {
struct version<my_class>
{
BOOST_STATIC_CONSTANT(unsigned int, value = 2);
};
} // namespace serialization
} // namespace boost
Now whenever the version number for class my_class
is required,
the value 2 will be returned rather than the default value of 0.
To diminish typing and enhance readability, a macro is defined so that instead of the above, we could write:
BOOST_CLASS_VERSION(my_class, 2)
which expands to the code above.
// names for each level
enum level_type
{
// Don't serialize this type. An attempt to do so should
// invoke a compile time assertion.
not_serializable = 0,
// write/read this type directly to the archive. In this case
// serialization code won't be called. This is the default
// case for fundamental types. It presumes a member function or
// template in the archive class that can handle this type.
// there is no runtime overhead associated reading/writing
// instances of this level
primitive_type = 1,
// Serialize the objects of this type using the objects "serialize"
// function or template. This permits values to be written/read
// to/from archives but includes no class or version information.
object_serializable = 2,
///////////////////////////////////////////////////////////////////
// once an object is serialized at one of the above levels, the
// corresponding archives cannot be read if the implementation level
// for the archive object is changed.
///////////////////////////////////////////////////////////////////
// Add class information to the archive. Class information includes
// implementation level, class version and class name if available.
object_class_info = 3,
};
Using a macro defined in level.hpp
we can specify
that my_class
should be serialized along with its version number:
BOOST_CLASS_IMPLEMENTATION(my_class, boost::serialization::object_class_info)
If implementation level is not explicitly assigned, the system uses
a default according to the following rules.
volatile
assign not_serializable
primitive_type
object_class_info
object_serializable
to override the default setting of object_class_info
.
For example,
this has been done for the
binary_object wrapper
// names for each tracking level
enum tracking_type
{
// never track this type
track_never = 0,
// track objects of this type if the object is serialized through a
// pointer.
track_selectively = 1,
// always track this type
track_always = 2
};
A corresponding macro is defined so that we can use:
BOOST_CLASS_TRACKING(my_class, boost::serialization::track_never)
Default tracking traits are:
track_never
.
track_never
.
That is, addresses of addresses are not tracked by default.
boost::serialization::nvp
,
track_never
.
track_selectively
.
That is addresses of serialized objects are tracked if and only if
one or more of the following is true:
The default behavior is almost always the most convenient one. However, there a few cases where it would be desirable to override the default. One case is that of a virtual base class. In a diamond heritance structure with a virtual base class, object tracking will prevent redundant save/load invocations. So here is one case where it might be convenient to override the default tracking trait. (Note: in a future version the default will be reimplemented to automatically track classes used as virtual bases). This situation is demonstrated by test_diamond.cpp included with the library.
typeid()
which can be
used to return a unique string for the class. This is not entirely
statisfactory for our purposes for the following reasons:
BOOST_CLASS_EXPORT_GUID(my_class, "my_class_external_identifier")
In a large majority of applications, the class name works just fine
for the external identifier string so the following short cut is
defined
BOOST_CLASS_EXPORT(my_class)
which expands to:
BOOST_CLASS_EXPORT_GUID(my_class, "my_class")
If the an external name is required somewhere in the program and none
has been assigned, a static assertion will be invoked.
BOOST_IS_ABSTRACT(T)
to do this. Not all compilers support this type trait and corresponding
macro. To address this, the macro
BOOST_SERIALIZATION_ASSUME_ABSTRACT(T)
has been
implemented to permit one to explicitly indicate that a specified
type is in fact abstract. This will guarentee that
BOOST_IS_ABSTRACT
will return the correct value for all compilers.
typeid(...)
which is available
in systems which support RTTI (Run Time
Type Information).
This will be satisfactory in almost all cases and most users of this
library will lose nothing in skipping this section of the manual.
However, there are some cases where the default type determination
system is not convenient. Some platforms might not support
RTTI or it may have been disabled in order to speed execution
or for some other reason. Some applications, E.G. runtime linking
of plug-in modules, can't depend on C++ RTTI to determine the
true derived class. RTTI only returns the correct type for polymorphic
classes - classes with at least one virtual function. If any of these
situations applies, one may substitute his own implementation of
extended_type_info
The interface to facilities required to implement serialization is defined in
extended_type_info.hpp.
Default implementation of these facilities based on typeid(...)
is defined in
extended_type_info_typeid.hpp.
An alternative implementation based on exported class identifiers
is defined in
extended_type_info_no_rtti.hpp.
By invoking the macro:
BOOST_CLASS_TYPE_INFO(
my_class,
extended_type_info_no_rtti<my_class>
)
we can assign the type information implementation to each class on a case by
case basis. There is no requirement that all classes in a program use the same
implementation of extended_type_info
. This supports the concept
that serialization of each class is specified "once and for all" in a header
file that can be included in any project without change.
This is illustrated by the test program test_no_rtti.cpp. Other implementations are possible and might be necessary for certain special cases. version.hpp.
namespace boost {
namespace serialization {
template<class T>
struct is_wrapper
: public mpl::false_
{};
} // namespace serialization
} // namespace boost
For any class T
, The default definition
of boost::serialization::is_wrapper<T>::value
is thus false.
If we want to declare that a class my_class
is a wrapper we specialize the version template:
namespace boost {
namespace serialization {
struct is_wrapper<my_class>
: mpl::true_
{};
} // namespace serialization
} // namespace boost
To diminish typing and enhance readability, a macro is defined so that instead of the above, we could write:
BOOST_CLASS_IS_WRAPPER(my_class)
which expands to the code above.
template<class T>
struct nvp : public std::pair<const char *, T *>
{
...
};
used by XML archives to associate a name with a data variable of type T.
These data types are never tracked and never versioned. So one might
want to specify:
BOOST_CLASS_IMPLEMENTATION(nvp<T>, boost::serialization::level_type::object_serializable)
BOOST_CLASS_TRACKING(nvp<T>, boost::serialization::track_never)
Examination of the definition of these macros reveals that they won't expand
to sensible code when used with a template argument. So rather than using the
convenience macros, use the original definitions
template<class T>
struct implementation_level<nvp<T> >
{
typedef mpl::integral_c_tag tag;
typedef mpl::int_<object_serializable> type;
BOOST_STATIC_CONSTANT(
int,
value = implementation_level::type::value
);
};
// nvp objects are generally created on the stack and are never tracked
template<class T>
struct tracking_level<nvp<T> >
{
typedef mpl::integral_c_tag tag;
typedef mpl::int_<track_never> type;
BOOST_STATIC_CONSTANT(
int,
value = tracking_level::type::value
);
};
to assign serialization traits to all classes generated by the template
nvp<T>
Note that it is only possible to use the above method to assign traits to templates when using compilers which correctly support Partial Template Specialization. One's first impulse might be to do something like:
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
template<class T>
struct implementation_level<nvp<T> >
{
... // see above
};
// nvp objects are generally created on the stack and are never tracked
template<class T>
struct tracking_level<nvp<T> >
{
... // see above
};
#endif
This can be problematic when one wants to make his code and archives
portable to other platforms. It means the she objects will be serialized differently
depending on the platform used. This implies that objects saved from one platform
won't be loaded properly on another. In other words, archives won't be portable.
This problem is addressed by creating another method of assigning serialization traits to user classes. This is illustrated by the serialization for a name-value pair.
Specifically, this entails deriving the template from a special class
boost::serialization::traits
which is specialized for a specific
combination of serialization traits.
When looking up the serialization traits, the library first checks to see if this class has been
used as a base class. If so, the corresponding traits are used. Otherwise, the standard defaults
are used. By deriving from a serialization traits class rather than relying upon Partial Template
Specializaton, one can a apply serialization traits to a template and those traits will be
the same across all known platforms.
The signature for the traits template is:
template<
class T,
int Level,
int Tracking,
unsigned int Version = 0,
class ETII = BOOST_SERIALIZATION_DEFAULT_TYPE_INFO(T),
class IsWrapper = mpl::false_
>
struct traits
and template parameters should be assigned according to the following table:
| parameter | description | permitted values | default value |
|---|---|---|---|
T | target class | class name | none |
Level | implementation level | not_serializable | none |
Tracking | tracking level | track_never | none |
Version | class version | unsigned integer | 0 |
ETTI | type_info implementation | extended_type_info_typeid | default type_info implementation |
IsWrapper | is the type a wrapper? | mpl::false_ | mpl::false_ |
namespace boost { namespace serialization {
template
struct is_bitwise_serializable
: public is_arithmetic
{};
} }
is used, and can be specialized for other classes. The specialization
is made easy by the corresponding macro:
BOOST_IS_BITWISE_SERIALIZABLE(my_class)
© Copyright Robert Ramey 2002-2004 and Matthias Troyer 2006. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


--- layout: post title: LINQ in Visual Studio 2005 date: 2008-10-04 19:50:31.000000000 +02:00 categories: [] tags: - .NET 3.5 - LINQ - Visual Studio 2005 status: publish type: post published: true meta: {} author: login: admin email<EMAIL_ADDRESS>display_name: Philippe first_name: Philippe last_name: Vlérick excerpt: !ruby/object:Hpricot::Doc options: {} ---
A few months ago, we wanted to query an XML log file on our project. On that particular project, we can use .NET 3.5 features, while we have to stick to Visual Studio 2005.
For this task, LINQ seemed like a natural choice, provided that we could use it inside Visual Studio 2005 which doesn't natively support the sexy LINQ query syntax.
At first, we thought that it was not possible to use LINQ in Visual Studio 2005, but after some research it turned out that we were wrong. I found some clues on how to achieve that in one of the comments on this post comment by Charles Young.
The LINQ libraries are located in the System.Core assembly, so it is required to reference it in the project. Then, each file that will use LINQ will have to include the System.Linq using statement.
Let's take a standard LINQ query on a String array
String[] persons = new String[] { "Philippe", "Steve", "Bill" }; var search = from p in persons where p.Contains("l") select p.ToUpper();
This is a fairly simple query, involving only filtering (where clause) an projection (select with transformation of the output). This native query will be translated by the compiler multiple times, we just have to follow the pipeline until we find something that Visual Studio 2005 understands.
The first translation results in a statement that uses Extensions methods on the array:
var search = persons .Where(p => p.Contains("l")) .Select(p => p.ToUpper());
These extension methods are from Enumerable class. However, Extension methods are not natively supported in Visual Studio 2005.
The reverse call of the previous statement will be a use some of Enumerable's static methods (as these are Extension methods, the reverse call will actually call a static method and give the object that you think it has been called on as parameter). In this particular example, it will be translated in:
var search = Enumerable.Select( Enumerable.Where(persons, p => p.Contains("l")), p => p.ToUpper());
Please note that this translation results in using Enumerable because for this particular case we are using LINQ to Objects. I suppose that using LINQ to SQL would result in using Queryable static methods, but I didn't try yet.
Also note that there is a call to Enumerable.Select because our initial query involves projection, in a sense that the result of the query (here a String object) is different from the input (here a String object that is a transformation of the input). If the projection statement of the initial query was "select p" (no transformation of the output), there would be no call to Enumerable.Select. More on this below.
Still, this statement is not supported in Visual Studio 2005 because of the lambda expressions that are not supported.
The next step for the compiler is to translate these lambda expressions into anonymous delegates:
var search = Enumerable.Select( Enumerable.Where( persons, delegate(String p) { return p.Contains("l"); }), delegate(String p) { return p.ToUpper(); });
Even if this looks like something we could use in Visual Studio 2005, it is not. Visual Studio 2005 will complain because it is unable to infer types (and because of the var keyword that is also part of C# 3.0 hence not supported in Visual Studio 2005).
We have to specify types explicitly for the Enumerable methods:
IEnumerable<String> search = Enumerable.Select<String, String>( Enumerable.Where<String>( persons, delegate(String p) { return p.Contains("l"); }), delegate(String p) { return p.ToUpper(); });
There we are, a LINQ query that can be used inside Visual Studio 2005! It's a bit confusing to write at first, but you'll get use to it.
Now that we have seen a simple query, let's have a look at the other query statements.
Always using the same String array, here is the C# 3.0 style LINQ query
var search = from p in persons orderby p select p;
that translates in
IEnumerable<String> search = Enumerable.OrderBy<String, String>( persons, delegate(String p) { return p; });
As you can see, no need for Enumerable.Select call as the projection returns the same object.
If you want to order descending, use the Enumerable.OrderByDescending method instead. It is also possible to specify the IComparer that is to be used by the OrderBy/OrderByDescending method, thus allowing you to use ordering on custom object.
For joining, we need to define some struct in order do have two distinct list of elements.
So, here is a simple struct:
struct Name { public int Id; public String Value; public Name(int Id, String Value) { this.Id = Id; this.Value = Value; } }
And here are two array declarations:
Name[] firstNames = new Name[] { new Name(1, "Philippe"), new Name(2, "Steve"), new Name(3, "Bill") }; Name[] lastNames = new Name[] { new Name(1, "Vlérick"), new Name(2, "Balmer"), new Name(3, "Gates") };
Using two arrays, we will be joining on the Id field of the Name struct.
The C# 3.0 query:
var search = from fn in firstNames join ln in lastNames on fn.Id equals ln.Id select fn.Value + " " + ln.Value;
Here is the translation:
IEnumerable<String> search = Enumerable.Join<Name, Name, int, String>( firstNames, lastNames, delegate(Name n) { return n.Id; }, delegate(Name n) { return n.Id; }, delegate(Name n1, Name n2) { return n1.Value + " " + n2.Value; });
This one is a bit tricky and need some clarification.
The first two types given are the type of object that each collection contains. The third type is the type that the actual join will be made on and has to be the same on both collections. The last type is the type of the objects that will be stored in the returned collection. So, in this particular case, the first collection will contain Name objects, the second collection will contain Name objects as well, the join will be made on int types and the returning collection will contain String objects.
As parameters, the first two are collections that contain the object to use for the join. The next two parameters are the delegates that must return the type the join has to be made on (in this case, int). The first delegate will be used with each object of the first collection (in this case, firstNames) and the second delegate will be used with each object of the second collection (lastNames). The last parameter is a delegate that must return the given return type (here a String object) receiving the two joined objects as parameters).
Note that we don't need to explicitly call the projection method (Enumerable.Select) as there is a selector delegate that builds the output object.
As a reminder, grouping means splitting the output in sequences of groups that have the same key value. The output of this type of query is a bit different from the previous queries.
A custom struct is needed to have an example object that we can test grouping on:
struct Student { public String Name; public String Course; public Student(String Name, String Course) { this.Course = Course; this.Name = Name; } }
We can then declare an array that we will query on
Student[] students = new Student[] { new Student("Philippe", "Data Structure"), new Student("Bill", "Marketing"), new Student("Steve", "Finance"), new Student("Bill", "Data Structure"), new Student("Steve", "Dance"), new Student("Bill", "Finance") };
Lets group on Course field of the struct. Here is the C# 3.0 query:
var search = from s in students group s by s.Course;
As you can see, there is no projection. The output is a IEnumerable of IGrouping objects. An IGrouping object is a collection of objects that share a common key, in here Student objects with String as keys.
To iterate trough this, we need two foreach loops. the first one will iterate trough each IGrouping object, and the second one will iterate trough each Student.
foreach (var course in search) { Console.WriteLine(course.Key); foreach (var student in course) { Console.WriteLine("- " + student.Name); } }
This is how this query translates in Visual Studio 2005:
IEnumerable<IGrouping<String, Student>> search = Enumerable.GroupBy<Student, String>( students, delegate(Student s) { return s.Course; });
And the loops to display the content:
foreach (IGrouping<String, Student> course in search) { Console.WriteLine(course.Key); foreach (Student student in course) { Console.WriteLine("- " + student.Name); } }
Again, you have to specify types everywhere in Visual Studio 2005.
One of the other painful things with Visual Studio 2005 is that there are no anonymous types which are very handy to use with LINQ. It is required to write all the used types as Classes (or better, Structs).
Using static methods from Enumerable (and possibly Queryable), it is possible to use LINQ queries inside Visual Studio 2005. However, queries are a bit more complicated to write.
A good practice would be to comments the query intend extensively, as the query statement itself is hard to read.
Here are some of the resources I used to write this entry:


Before Change
stratify = model_definition["preprocessing"]["stratify"]
if stratify is not None:
if stratify not in [x["name"] for x in
model_definition["output_features"]]:
raise ValueError("Stratify must be in output features")
if ([x for x in model_definition["output_features"] if
x["name"] == stratify][0][TYPE]
not in [BINARY, CATEGORY]):
raise ValueError("Stratify feature must be binary or category")
After Change
model_definition["input_features"] +
model_definition["output_features"]
)
feature_names = set(f["name"] for f in features)
if stratify not in feature_names:
logger.warning(
"Stratify is not among the features. "
"Cannot establish if it is a binary or category"
)
elif ([f for f in features if f["name"] == stratify][0][TYPE]
not in {BINARY, CATEGORY}):
raise ValueError("Stratify feature must be binary or category")
// ===== Training =====
set_default_value(model_definition, TRAINING, default_training_params)
for param, value in default_training_params.items():
set_default_value(model_definition[TRAINING], param,


Be the first to review this
Be Unique. Shop gaming t-shirts created by independent artists from around the globe. print the highest quality gaming t-shirts on the internet. Where to buy the Best Gaming T-Shirts, Most Beautiful Gaming Goods, Stylish Gaming Apparel, Luxury Roleplaying Accessories, Leather Gaming Be Unique. Shop gaming t-shirts created by independent artists from around the globe. print the highest quality gaming t-shirts on the internet.