climate air change health mortality future pollution ozone studies related effects projected emissions increase compared Environ Climate Health {border-style impacts quality global px;} #ffffff;} Air concentrations higher projections emission pollution-related premature deaths non-accidental population review risks scenarios affect decrease Atmos Present ozone-related study anthropogenic expected exposure gas greenhouse impact models used Europe associated constant model additional century change, different larger pollutant secondary temperature earlier emissions, human included large projection scenario temperatures (Table Res ambient changes effects, levels ppb primary px; range respiratory threshold) {font-family (e.g. Chang Global Int Population RCP., current evidence example, font-size increases morbidity mortalities pollutants reducing results uncertainties ./acp--- ./s--- Cambridge Change Chem Phys Pollution University annually burdens changing data double; emissions. excess factors focused forcing increased interactions possible radiative reduce research resulting significantly threshold using (in ./j.atmosenv... Ebi Fang Manag Perspect Projections Public RCP. Silva adverse analyses applied assumed avoided border-color border-width depend development effect end fine high million natural number particulate precursor regional solid; summer-time systematic taken {font-style {font-weight •]. ./.. ./ehp. Assessment Assoc Carslaw Clim Europe, Forsberg France Future Huang Impact RCP.) Recent Sci Shindell Studies USA United Using Waste Wilson accordance account. annual article assessment atmospheric bold cardiovascular change. courier; currently decreasing direct diseases em; especially formation health, literature lower magnitude matter, mortality, mortality. mortality; near-surface needed ozone, particle periods pollutants, present projections, pt;} published quality, rate regions studies, trends uncertainty understanding van μg/m


This theme features a flexible, UX friendly sidebar, menu and WooCommerce support and many more!
Looks great on any screen size!
Freshly redesigned for Bootstrap 4.
Thousands of users our Themes!
I mustache you a question...
A complte ecommerce WordPress theme
Another WooCommerce theme
A complte news and blog WordPress theme
Child Theme of Ostore so all the settings come from ostore
A complete ecommerce solution, easy to setup and cutomize
Complete ecommerce solution


THE BLOB A film review by Mark R. Leeper Copyright 1988 Mark R. Leeper
Capsule review: Faithful to the original up to a point, then vastly different, the remake of the 1958 version of THE BLOB has everything modern science fiction audiences want and have gotten entirely too often. It is a flashy but empty film. It has a lot more going for it than the original but it is unlikely to be remembered as fondly in 2018 as the original is in 1988. Rating: 0.
When the original BLOB came out in 1958, it was a film that was in some respects ahead of its time. Not that it was a virtue, but it was one of the first science fiction films that put teenagers not only at the forefront as the main characters but also made them the clearest thinkers of the film--a device to cater to a recognized teenaged audience even then. Also the film was made by an independent production company but released by a major--in this case Paramount--a practice more common today than in the 1950s. One thing that was not 1980-ish about THE BLOB was the special effects. At that time most often special effects were expected only to help tell the story, not to be visually believable necessarily, much in the way that little is really visually believable in a marionette show. So, like many of the science fiction films made when science fiction films were hitting their stride but special effects had not yet hit theirs, THE BLOB is getting a nominal remake in the special-effects-conscious 1980s.
I say a "nominal" remake, because there are some major twists to the story not in the original film. Perhaps Jack Harris--who produced the original and co-produced the remake--felt that the original story was a little slow and simplistic for modern audiences. However, the major "innovation" is one that has been done many enough times that a straighter remake would have made for a more original film overall. Many of the incidents of the original film occur in the remake but in different ways. Shawnee Smith plays Meg Penny, who has seen what the amorphous alien can do, but nobody believes her. The police look at the mostly-consumed body of one of the victims and assume absurdly enough that it is local rebel Brian Flag (played by Kevin Dillon) who killed (and ate?) the unfortunate after a disagreement between the two. I assume some sort of congratulations should go to screenwriters Chuck Russell (who also directed) and Frank Darabont for figuring ways to take the plot of a 30-year-old film and fill it with 1) motor vehicle chases, 2) sex, 3) another retread of the condom-buying scene from SUMMER OF '42, 4) heavy armaments, 5) an anti-government social statement, 6) whiz-bang special effects, and 7) rock music.
And whiz-bang special effects they are. The original shapeless glop from outer space did little but roll. The new incarnation also shakes and rattles. It does all kinds of disgusting gooey things that seem to have been inspired by the effects of John Carpenter's THING. Also, the filmmakers of the new BLOB know how to create some atmospheric photographic effects. So which is the better film? Well, if they are seen back-to-back (which effectively I did), I would say that the original pales next to the remake. That only proves that the remake would have been a memorable film in the 1950s--if it had not been banned for what then would have seemed like too much sex and totally absurd levels of violence. But the original will remain the classic because it stood out from the pack. The remake is just one more of the same kind of film. Rate it a 0 on the -4 to +4 scale.
Mark R. Leeper att!mtgzz!leeper<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Please wait, this page will automatically redirect when the Homebridge is back online.
{{ error }}
Server restart is taking a long time. You may need to bring up the Docker container manually.
Make sure you're running the Docker container with --restart=always


--- layout: page title: "Positive Reflections" description: "The main purpose of this site is to positively criticize some aspects of life" ---
Corruption is not an easy topic. This entity is everywhere in my country, you can see it at school, at your working place, walking on the street. In fact, corruption is omnipresent and omnipotent. To deal with it, one must be able to identify it and realize that a personal attitude change is the only way out of the viscious circle that it represents. But, how can we recognize that corruption is present in our actions? how can we eventually change the social principles with our attitude change? Well, in the next paragraphs I will present some examples that are common in modern life and some suggestions on how to tackle this situations will be also attached.


| | |
- getch(timeout=0)
- Reads one most resent key hit by the user.
Styled after the getch() function in <conio.h> in C
It is a nonblocking call to read the keyboard. You call it and wait for a maximum amount of time for a key press. If a key has already been pressed it returns immediately.
The name can be misleading since key hits are sometimes escape sequences containing several characters. eg ESC[A is the Up key. Nevertheless the most recent full key character string is returned
timeout: a floating point value representing the maximum amount of time (in second units) to wait for a key press. If it is 0, the function returns immediately and reports the most recent key
return: a string representing the key pressed may be None if no key was pressed. eg 'x' for the x key or 'ESC[A' for the up arrow key
- initialize()
- Initializes the keyboard submodule.
This is important since we need to change the mode of the keyboard attributes to read non-blocking etc
- quit()
- De-initializes the keyboard module. This is important since we need to restore the keyboard attributes
|


APP_NAME EXECUTABLE_VERSION
Created with WineBottler, Wine & Winetricks
winebottler.kronenberg.org
www.winehq.org
www.winetricks.org


Garage
Kitchen
Upstairs Hall
Downstairs Hall
Party light
Bonus Room
Bedroom
Downstairs Fan
Front Outside
Back Outside


Moving Average From Data Stream
Given a stream of integers and a window size, calculate the moving average of all integers in the sliding window. Example MovingAverage m = new MovingAverage(3); m.next(1) = 1 m.next(10) = (1 + 10) / 2 m.next(3) = (1 + 10 + 3) / 3 m.next(5) = (10 + 3 + 5) / 3 Solution from collections import deque class MovingAverage: def __init__(self, size: int): """ Initialize your data structure here.


--- name: changelog url: /changelog ---
Summary Here
Here are some featured updates:
Initial Release, enjoy!


{% extends 'base.html' %} {% block title %} about {% endblock %} {% block content %}
about content
it's belongs to {{ name }}


Plain ASP.NET Text for Twitter
Prevent Twitter from turning your
ASP.NET
text in tweet box into a link. This extension will help you copy
ASP.NET
text to the clipboard. Simply paste it into the tweet box and Twitter won't turn it into a link.
Copy
ASP.NET
text to clipboard
About this extension
https://github.com/jo-ninja/PlainAspNetTextForTwitter


A
B
C
D
E
F
G
H
I
J
| JavaScript | Go |
|---|---|
| JavaScriptFunction | javascript.JavaScriptFunction |
| JavacriptGlobalScope | javascript.JavacriptGlobalScope |
This page contains all JavaScript types and their corresponding Go types.
| JavaScript | Go |
|---|---|
| JavaScriptFunction | javascript.JavaScriptFunction |
| JavacriptGlobalScope | javascript.JavacriptGlobalScope |


Humble Bundle
Support
Blog
Purchases
Setting
Logout
Log In / Sign Up
Game Bundle
Game Store
Admin
About


Hello {{name}}
We welcome you to the Accolade community. Here find your peers who have posted their websites for you to rate based on
usability, design and content.
You too can post your own projects and wait to be rated.
Think you can handle the challenge? Well you won't know unless you try!


**Paper Review: A Disciplined Approach To Neural Network Hyper-Parameters: Part I - Learning Rate, Batch Size, Momentum, And Weight Decay**
Jithin James
January 16th, 2019
[jithinjk.github.io/blog](https://jithinjk.github.io/blog)
***************************************************************************
* .---. .---. *
* | | | | *
* | | --. .--. .-. |.-- | | .-. \ / | .-. \ / *
* '---' .-.| | | +---+ | '---+ +---+ \ / | +---+ \ + / *
* | | | | | | | | | | \ / | | \ / \ / *
* | '-'' +--' '-- ' | | '-- + | '-- + + *
* | *
***************************************************************************
In this paper review, we will dive into *[Leslie N. Smith's: A Disciplined Approach To Neural Network Hyper-Parameters: Part I - Learning Rate, Batch Size, Momentum, And Weight Decay](https://arxiv.org/abs/1803.09820)*. In this paper, the author discusses about how various neural network hyper-parameters and how they can be set with significant reduction in training time and performation improvement.
I'll try to summarize important points from this paper.
Code to replicate the results : [https://github.com/lnsmith54/hyperParam1](https://github.com/lnsmith54/hyperParam1)
Abstract
====
- In this report, the author proposes several efficient ways to set the hyper-parameters that can significantly reduce training time and improve performance
- Also, it explains how to examine the training validation/test loss function for subtle clues of underfitting and overfitting and suggest guidelines for moving toward the optimal balance point
- We'll see how to increase/decrease the learning rate/momentum to speed up training
- Finally, we'll see how weight decay is used as a sample regularizer to show how its optimal value is tightly coupled with the learning rates and momentum
Introduction
====
- There is no simple and easy way to set hyper-parameters – specifically, *learning rate, batch size, momentum, and weight decay*. Practitioners often use grid search/random search[#Bergstra12] of the hyper-parameter space or often choose one of the standard architectures, like [#He16].
- Additionaly, there is a tight coupling between *learning rate, momentum, and regularization* and optimal values must be determined together.
The Unreasonable Effectiveness Of Validation/Test Loss
====
![Figure [fig1]: Comparing the training loss, validation accuracy, validation loss, and generalization error](images/leslie_hyperparams/fig1.PNG)
- Test loss provides valuable information. This architecture has the capacity to overfit and that early in the training a small LR will create overfitting.
**Remark 1.** The test/validation loss is a good indicator of the network’s convergence
The Underfitting And Overfitting Trade-off
----
![Figure [fig2]: Tradeoff between underfitting and overfitting](images/leslie_hyperparams/fig2.PNG)
- Underfitting happens when the machine learning model is unable to reduce the error for either the test or training set. This is caused by an under capacity of the machine learning model; i.e., it is not powerful enough to fit the underlying complexities of the data distributions.
- Overfitting happens when the machine learning model is so powerful as to fit the training set too well and the generalization error increases. The model fails to fit the test/validation set.
- This tradeoff is shown in Figure 2.
- If we could catch these signs of underfitting or overfitting of the test or validation loss early in the training process, it can be useful for tuning the hyper-parameters.
**Remark 2.** Achieving the horizontal part of the test loss is the goal of hyperparameter tuning
Underfitting
----
![Figure [fig3]: Continuously decreasing test loss, rather than a horizontal plateau is a characteristic of underfitting.](images/leslie_hyperparams/fig3.PNG)
- Increasing the LR helps reduce underfitting.
- *Figure 3(left)* shows how the test loss changes with different LRs. *Figure 3(right)* shows how underlying complexities of the data distribution can cause underfitting.
- The author suggests the LR range test for finding a good learning rate.[#Smith17]
Overfitting
----
![Figure [fig4]: Increasing validation/test loss is a characteristic of overfitting](images/leslie_hyperparams/fig4.PNG)
- More complicated than underfitting. Too small learning rates can exhibit some overfitting behavior. Increasing the learning rate helps reduce underfitting.
- *Figure 4(left)* shows how the test loss changes with different values for weight decay(WD) learning rates. In *Figure 4(right)*, blue curve shows underfitting, while the red curve shows overfitting. This indicates that the hyper-parameter settings are non-optimal.
> "The art of setting the network’s hyper-parameters amounts to ending up at the balance point between underfitting and overfitting"
> -- Leslie N. Smith
Cyclical Learning Rates, Batch Sizes, Cyclical Momentum, And Weight Decay
====
Hyper-parameters are tightly coupled with each other, the data, and architecture.
Cyclical Learning Rates And Super-convergence
----
We've seen that too small learning rate (LR) can cause overfitting. Large LRs help to regularize the training but if the LR is too large, the training will diverge. The author proposes Cyclical Learning Rates (CLR) and the learning rate range test (LR range test) [#Smith15] for choosing the learning rate.
Brief review on how to use CLR:
- Specify a *min* and *max* LR boundaries and a *stepsize*. *Stepsize* is the number of iterations (or epochs) used for each step and a *cycle* consists of *two* such steps – one in which the LR linearly increases from the *min* to the *max* and the other in which it linearly decreases.
- In the LR range test, training starts with a small LR which is slowly increased linearly throughout a pre-training run. This run provides information on how well the network can be trained over a range of LRs and what is the *max LR*.
- Starting with a small LR, the network begins to converge and, as the LR increases, it eventually becomes too large and causes the test/validation loss to increase and the accuracy to decrease. The LR at this extrema is the largest value that can be used as the LR for the maximum bound with cyclical LRs but a smaller value will be necessary when choosing a constant LR or the network will not begin to converge.
- Ways to choose the minimum learning rate bound:
- a factor of 3 or 4 less than the maximum bound,
- a factor of 10 or 20 less than the maximum bound if only one cycle is used,
- a short test of hundreds of iterations with a few initial LRs and pick the largest one that allows convergence to begin without signs of overfitting
![Figure [fig5]: Faster training by allowing the LR to become large and by reducing other regularization methods.](images/leslie_hyperparams/fig5.PNG)
- *Superconvergence*[#SmithTopin17] happens when the test loss and accuracy remain nearly constant for LR range test, even up to very large LR's. The network can be trained quickly with one LR cycle by using an unusually large LR. This provides twin benefits of regularization that prevented overfitting and faster training of the network. Figure 5 shows an example of super-convergence. See Figure 5 (left)
- *1cycle learning rate policy* : always use one cycle that is smaller than the total number of iterations/epochs and allow the LR to decrease several orders of magnitude less than the initial LR for the remaining iterations (1cycle LR policy is a combination of curriculum learning [#Bengio09] and simulated annealing [#Aarts88])
- Regularization needs to be balanced and it is necessary to reduce other forms of regularization in order to utilize the regularization from large LRs and gain the other benefit - faster training. See Figure 5 (right)
**Remark 3.** The amount of regularization must be balanced for each dataset and architecture
Batch Size
----
![Figure [fig6]: The effects of total batch size (TBS) on validation accuracy/loss](images/leslie_hyperparams/fig6.PNG)
- When using 1cycle LR schedule use a large batch size, contrary to small batch sizes and optimal batch size recommended by [#Wilson03] and [#SmithLe17], respectively.
**Remark 4.** Goal: Obtain highest performance while minimizing computational time
Cyclical Momentum
----
![Figure [fig7]: Cyclical momentum tests](images/leslie_hyperparams/fig7.PNG)
- Momentum and learning rate are dependent of each other.
- Designed to accelerate network training but its effect on updating the weights is of the same magnitude as the LR
- Stochastic Gradient Descent (SGD) with momentum. Weights are updated using negative gradient. See eqn. [linear1]:
\begin{equation}
\label{linear1}
\theta_{iter+1} = \theta_{iter} - \epsilon \delta L(F(x,\theta),\theta)
\end{equation}
where $\theta$ represents all the network parameters, $\epsilon$ is the learning rate, and $\delta$ L(F(x, $\theta$); $\theta$) is the gradient.
- The update rule with momentum is as follows. See eqn. [linear2] and eqn. [linear3]:
\begin{equation}
\label{linear2}
v_{iter+1} = \alpha v_{iter} - \epsilon \delta L(F(x; \theta), \theta )
\end{equation}
\begin{equation}
\label{linear3}
\theta{iter+1} = \theta{iter} + v
\end{equation}
where $v$ is velocity and $\alpha$ is the momentum coefficient.
- Momentum has a similar impact on the weight updates as the LR and the velocity is a moving average of the gradient. Momentum range test is not useful for finding an optimal momentum.
***- is cyclical momentum useful and if so, when?***
**Remark 5.** Optimal momentum value(s) will improve network training
Weight Decay
----
![Figure [fig8]: weight decay search using a 3-layer network on the Cifar-10 dataset](images/leslie_hyperparams/fig9.PNG)
- For WD, the best value should remain constant through the training. Test with 10e-3; 10e-4; 10e-5; and 0.
- Smaller datasets and architectures seem to require larger values for weight decay while larger datasets and deeper architectures seem to require smaller values.
- The author supposes that complex data provides its own regularization and other regularization should be reduced.
**Remark 6.** Value of WD is key knob to turn for tuning regularization against the regularization from an increasing LR.
***- can the value for the weight decay, learning rate and momentum all be determined simultaneously?***
Recipe For Finding A Good Set Of Hyper-Parameters With A Given Dataset And Architecture
====
![Figure [fig9]: Training resnet and inception arch. on the imagenet dataset with the standard LR policy (blue curve) versus a 1cycle policy that displays super-convergence](images/leslie_hyperparams/fig16.PNG)
1. **Learning rate (LR):** Perform a LR range test to a "large" LR. The max LR depends on the architecture. Using the 1cycle LR policy with a maximum LR determined from an LR range test, a minimum LR as a tenth of the maximum appears to work well but other factors are relevant, such as the rate of LR increase.
2. **Total batch size (TBS):** A large batch size works well but the magnitude is typically constrained by the GPU memory. In addition, small batch sizes add regularization while large batch sizes add less. Better to use a larger batch size so a larger LR can be used.
3. **Momentum:** Short runs with momentum values of 0.99, 0.97, 0.95, and 0.9 will quickly show the best value for momentum. If using the 1cycle LR schedule, it is better to use a cyclical momentum (CM) that starts at this maximum momentum value and decreases with increasing LR to a value of 0.8 or 0.85. Using cyclical momentum along with the LR range test stabilizes the convergence when using large LR values more than a constant momentum does.
4. **Weight decay (WD):** Requires a grid search to determine the proper magnitude but usually does not require more than one significant figure accuracy. Use your knowledge of the dataset and arch. to decide which values to test. For example, a more complex dataset requires less regularization so test smaller weight decay values, such as 10e-4; 10e-5; 10e-6; 0. A shallow architecture requires more regularization so test larger weight decay values, such as 10e-2; 10e-3; 10e-4.
Wrapping Up
====
I hope that this paper review was helpful for you. If you think something's missing, feel free to refer to the original paper to clarify your doubts.
More blog posts could be found at [https://jithinjk.github.io/blog](https://jithinjk.github.io/blog)
**Bibliography**
====
[#Aarts88]: Emile Aarts and Jan Korst. 1989. Simulated Annealing and Boltzmann Machines: a Stochastic Approach to Combinatorial Optimization and Neural Computing. John Wiley & Sons, Inc., New York, NY, USA.
[#Bengio12]: Yoshua Bengio. Practical recommendations for gradient-based training of deep architectures. In Neural networks: Tricks of the trade, pp. 437–478. Springer, 2012.
[#Bengio09]: Yoshua Bengio, Jerome Louradour, Ronan Collobert, and Jason Weston. Curriculum learning. In Proceedings of the 26th annual international conference on machine learning, pp. 41–48. ACM, 2009.
[#Bergstra12]: James Bergstra and Yoshua Bengio. Random search for hyper-parameter optimization. Journal of Machine Learning Research, 13(Feb):281–305, 2012.
[#Goodfellow16]: Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep learning, volume 1.MIT press Cambridge, 2016.
[#He16]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770–778, 2016.
[#Kingma14]: Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint, 2014.
[#Kulacka17]: Jan Kukacka, Vladimir Golkov, and Daniel Cremers. Regularization for deep learning: A taxonomy. arXiv preprint, 2017.
[#Orr03]: Genevieve B Orr and Klaus-Robert M¨uller. Neural networks: tricks of the trade. Springer, 2003.
[#Smith15]: Leslie N Smith. No more pesky learning rate guessing games. arXiv preprint, 2015.
[#Smith17]: Leslie N Smith. Cyclical learning rates for training neural networks. In Applications of Computer Vision (WACV), 2017 IEEE Winter Conference on, pp. 464–472. IEEE, 2017.
[#SmithTopin17]: Leslie N Smith and Nicholay Topin. Super-convergence: Very fast training of residual networks using large learning rates. arXiv preprint, 2017.
[#SmithLe17]: Samuel L Smith and Quoc V Le. Understanding generalization and stochastic gradient descent. arXiv preprint, 2017.
[#SmithKindermansLe17]: Samuel L Smith, Pieter-Jan Kindermans, and Quoc V Le. Don’t decay the learning rate, increase the batch size. arXiv preprint, 2017.
[#Srivastava14]: Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: A simple way to prevent neural networks from overfitting. The Journal of Machine Learning Research, 15(1):1929–1958, 2014.
[#Szegedy17]: Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, and Alexander A Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. In AAAI, volume 4, pp. 12, 2017.
[#Wilson03]: D Randall Wilson and Tony R Martinez. The general inefficiency of batch training for gradient descent learning. Neural Networks, 16(10):1429–1451, 2003.
[#Xing18]: Chen Xing, Devansh Arpit, Christos Tsirigotis, and Yoshua Bengio. A walk with sgd. arXiv preprint, 2018.


§2. The State of Hawaii shall consist of all the islands, together with their appurtenant reefs and territorial waters, included in the Territory of Hawaii on the date of enactment of this Act, except the atoll known as Palmyra Island, together with its appurtenant reefs and territorial waters, but said State shall not be deemed to include the Midway Islands, Johnston Island, Sand Island (off-shore from Johnston Island), or Kingman Reef, together with their appurtenant reefs and territorial waters.
Case Notes
See also notes to Const. Art. XV, §1.
Territorial waters extend only three miles from each island. 235 F. Supp. 990.
Question of jurisdiction over channels between islands raised but not decided. 47 H. 87, 384 P.2d 536.


La Muse painting, also known as Young
Woman Drawing and Two Women, was painted
in 1935, surrealism and cubism were a common synthesis,
with alive and warm colors. Picasso did a series of
paintings of young women drawing, writing or reading.
This is Marie Therese Walther, not with the rounded,
ample forms the painter normally used to depict her but
with an angular style. The sleeping girl resembles her
as well, and indeed she would be somewhere in Picasso's
affection.
It is one of the famous paintings of this artist. It
reflects the perspective of the artist in terms of
technique used. The same color and formality are
encountered in different works. The colors, the
perspective and depth leave the artist's footsteps to
the imagination world.


{{ partial "meta.html" . }} {{ partial "head_includes.html" . }} {{ partial "menu.html" . }} {{ .Title }} {{ .Content }} Photo by {{ .Params.Cover.Credit }} Scroll Down {{ with .Site.GetPage "section" "about" }}{{ .Title }}{{ end }} {{ with .Site.GetPage "section" "about" }}{{ .Content | safeHTML }}{{ end }} Our Story How We Work {{ with .Site.GetPage "section" "services" }}{{ .Title }}{{ end }} {{ range where .Site.RegularPages.ByWeight "Section" "services" }} {{ .Render "li-image" }} {{ end }} What We Do {{ with .Site.GetPage "section" "involved" }}{{ .Title }}{{ end }} {{ with .Site.GetPage "section" "involved" }}{{ .Content | safeHTML }}{{ end }} Make a Donation Toy Library Website Get Involved {{ partial "footer.html" . }} {{ partial "foot_includes.html" . }} {{ partial "foot.html" . }}
Our Story How We Work
What We Do
Make a Donation Toy Library Website Get Involved


| View time
series histogram
|
|
| Multiple time series can be selected and the histogram for each of them is plotted, either superimposing all in one plot or plotting them separately in figures containing matrix plots of a given size (subplots organized in rows and columns in each figure). | |
| Select one or more time series |
|
| Multiple time series names can be selected from this list. This can be done by standard use of the mouse: a click on the first name and Shift^click on the last name selects all names between the first and the last name; a click on the first name and subsequent Ctrl^clicks on other names select these names including the first name; Ctrl^a selects the whole list. | |
| Number of bins |
|
| For the histograms the equidistant binning method is used and the number of bins is given here. If the default value 0 is selected, then the number of bins is set to sqrt(n/5), where n is the length of each selected time series. | |
| Superimposed in one plot |
|
| One plot is drawn
having
the lines of the histograms of all selected time series superimposed with different
line type, as shown in the
figure below. If up to 5 time series are selected, they are shown in a
legend along with their respective line type, otherwise a
list of the time series names prefixed by the line type (in matlab syntax) is displayed in the text box of "Running messages". Note
that the y-axis shows the frequencies, so if the selected time series
vary significantly in their length, the lines are not at the same level
and may not be comparable.
|
|
One subplot per histogram |
|
| When using this option,
one histogram will be displayed at each subplot for each of the selected
time series. The subplots are organized in rows and columns, which are
determined by the user (see below). Depending on the number of selected
time series and the given rows and columns, more than one figure may be
generated. The histogram at each subplot can be displayed as bars or
line and the normal curve can be selected to be superimposed on it. See
the figure below for an example on 6 histograms in 2 x 3 matrix plot. If
the user chooses to display a normal curve also the p-value of the
Kolmogorov-Smirnov test for normality is shown in the label of the
horizontal axis.
|
|
|
Subplots per row The number of rows for the subplots in each figure. |
|
|
Subplots per column The number of columns for the subplots in each figure. |
|
|
Display normal curve If selected a red line of the bell-shaped normal curve (with the same mean and standard deviation as the selected time series) will be superimposed on the histogram. |
|
|
Draw type The drawing type to be used in the histogram plots: bars or line. |
|
| Running Messages |
|
| Messages about the histograms being plotted are displayed here. | |
| Exit |
|
| The window is closed. | |
| Help |
|
| This page is displayed. |


| 004:109 Khan | : |
Lo! You are those who have argued for them in the life of this world, but who will argue for them on the Day of Resurrection against Allah, or who will then be their defender? |
| 004:109 Maulana | : |
Behold!  But who will plead with Allah for them on the Day of Resurrection, or who will then be their defender? |
| 004:109 Rashad | : |
Here you are arguing on their behalf in this world; who is going to argue with GOD on their behalf on the Day of Resurrection? Who is going to be their advocate? |
| 004:109 Sarwar | : |
You defend them in this life but who will defend them against God on the Day of Judgment and who will be their attorney? |
| 004:109 Shakir | : |
Behold! you are they who (may) plead for them in this world's life, but who will plead for them with Allah on the resurrection day, or who shall be their protector? |
| 004:109 Sherali | : |
Behold ! you are those who pleaded for them in the present life. But who will plead with ALLAH for them on the Day of Resurrection, or who will be a guardian over them? |
| 004:109 Yusufali | : |
Ah! These are the sort of men on whose behalf ye may contend in this world; but who will contend with Allah on their behalf on the Day of Judgment, or who will carry their affairs through? |
Concepts/Themes Covered: الإنسان والعلاقات الأخلاقية > الأخلاق الذميمة > الخيانة Man and The Moral Relations>The Dispraised Morals>Betrayal
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


--- layout: post title: Astoria Silverlight Client Failing with FireFox 3.0 date: 2008-06-26 18:27:47.000000000 -04:00 type: post published: true status: publish categories: [] tags: - Astoria - JavaScript meta: _encloseme: '1' orig_url: http://blogs.msdn.microsoft.com/b/phaniraj/archive/2008/06/26/astoria-silverlight-client-failing-with-firefox-3-0.aspx orig_site_id: '7524' orig_post_id: '8658617' orig_parent_id: '8658617' orig_thread_id: '591713' _wds_ratings_users: '0' orig_application_key: phaniraj orig_post_author_id: '56365' orig_post_author_username: PhaniRajuYN orig_post_author_created: Nov 10 2006 05:47:39:000PM orig_is_approved: '1' orig_attachment_count: '0' orig_url_title: http://blogs.msdn.com/b/phaniraj/archive/2008/06/26/astoria-silverlight-client-failing-with-firefox-3-0.aspx opengraph_tags: | author: login: phanirajuyn email<EMAIL_ADDRESS>display_name: Phani Raju MSFT first_name: '' last_name: '' ---
Hi all,
By now , anyone running a SIlverlight application Astoria Silverlight Client library in Firefox 3.0 would have seen a weird error about charsets.
This blog post will describe the error and how to work-around it .
Consider the following query :
DataServiceQuery<Customers> customerQuery = from cus in context.Customers where cus.ID =='ALFKI' select cus; AsyncCallback ac = iasyncResult =>{ DataServiceQuery<Customers> cusQuery = iasyncResult.AsyncState as DataServiceQuery<Customers>; QueryOperationResponse<Customer> response = cusQuery.EndExecute(iasyncResult); <-- Exception Thrown here } customerQuery.BeginExecute(ac,customerQuery);
When this code runs in Firefox 3.0 , the highlighted line throws the exception,
Error Message : Character set 'iso-8859-1' is not supported.
Stack Trace :
at System.Data.Services.Client.HttpProcessUtility.EncodingFromName(String name)
at System.Data.Services.Client.HttpProcessUtility.MediaType.SelectEncoding()at System.Data.Services.Client.HttpProcessUtility.ReadContentType(String contentType, String& mime, Encoding& encoding)
at System.Data.Services.Client.DataServiceContext.GetMaterializer(Type elementType, String contentType, Func`1 response, Func`4 create)
at System.Data.Services.Client.DataServiceRequest.Materialize[TElement](DataServiceContext context, String contentType, Func`1 response)
at System.Data.Services.Client.DataServiceRequest`1.Materialize(DataServiceContext context, String contentType, Func`1 response)
at System.Data.Services.Client.DataServiceContext.EndExecute[TElement](IAsyncResult asyncResult)
When we recieve the ATOM response from the server , we need to read the stream of content in the charset present in the Accept-charset header. The server does not set the Accept-Charset header and replays what the client sent. The normal Accept-Charset header sent to the server from the SL client looks like this ..
Accept-Charset: UTF-8
Now , in FireFox 3.0 , the Accept-Charset header , even though we explicitly set it to be the above , whats sent to the server is ..
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
And the Server responds back with the same charset and we try to read the content with this char-set.
Unfortunately , the charset ISO-8859-1, is not supported by the underlying Platform i.e SIlverlight.
and hence we error out
Follow these instructions on changing your browser settings to work around the issue
Hope this helps.If you still face problems , open a thread on the Astoria Forums and we will try to help out.


Collection
Statistics on education and training in the UK, including schools, post compulsory education, qualifications and education expenditure.
Statistics from May 2010 onwards are available on GOV.UK. You can find our archived statistics on the National Archives . Note: the search function is not available on archived content so please use the filters on the left of each page.
Published: 7 November 2012
Updated: 10 November 2016
From: Department for Education


UPDATES ON NOVEL CORONAVIRUS DISEASE (COVID-19)
Rolling updates on coronavirus disease (COVID-19)
Data and Case Tracker for COVID19
Fill up the form below and we'll help you know your risk level.


v3.2.1 Fix an issue where 'trayClickFocusedApp' is not fired properly [TIMOB-16360]v3.2.0 Add support for grouped notifications in Android [TIMODOPEN-313] Fix an issue of Android app background / foreground detection [TIMODOPEN-318][TIMODOPEN-319][TIMODOPEN-320] Bumping version to match the TiSDK version this module is being shipped with
v2.4.0 Moved MQTT to a separate module [TIMODOPEN-299]
v2.3.3 Fix a GCM related problem lead to app crash on Android 2.x [CLOUDSRV-2829][MOD-1555] Update google services library [TIMOB-15617]
v2.3.2 GCM usability imporovement on setting gcm_sender_id inner ACS app web console [CLOUDSRV-2549] Add a new method (clearStatus) to enable reinitialize Ti.CloudPush, to replace app key, sender id, or other stored information Update google services library [TIMOB-15022]
v2.3.1 Fix an issue MQTT Push Service still starts under GCM mode, if device reboots or power off and on [CLOUDSRV-2522] Fix an issue incorrect app background status check under GCM mode [CLOUDSRV-2504]
v2.3.0 Added support for MQTT SSL, and GCM
v2.2.0 Minor update to adapt enterprise Push environment [CLOUDSRV-2281]
v2.1.0 Fix issue with triggering multiple callbacks together [CLOUDSRV-1532] Add a new property in (singleCallback) to add ability to handle push notifications one by one when multiple ones come Improve stability
v2.0.8 Fix issue with application restart when receiving push notifications without app in memory [CLOUDSRV-1409]
v2.0.7 Updated push service to latest ACS SDK [MOD-832]
v2.0.6 Added an optional tiapp.xml property "acs-push-coordinator-url" just like "acs-api-key" for coordinator customization [MOD-699].
v2.0.5 Fixed issues with sound and icon not working on some devices [MOD-749, MOD-750]
v2.0.4 Added support for the push notification customizations in the ACS GUI (such as vibration, sounds, badge numbers, etc).
v2.0.3 Fixed crash on Android 3.0+.
v2.0.1 Removed the "deviceToken" property in favor of the new asynchronous "retrieveDeviceToken" method. Fixed tray crashing from BG on certain devices.
v2.0.0 Initial Release


On Children’s Day, Spice Jet takes 118 cancer patients on a ‘joy-flight’
by Akanksha MakerAs the nation celebrates ‘Children’s Day’, SpiceJet took undertook a special initiative – Sapnon ki Udaan (a flight of dreams) – a day-long carnival with 118 underprivileged children and adult patients battling cancer.
The initiative was supported by CanSupport, an NGO that runs India’s largest free home-based palliative care programme for cancer patients and their families. This ‘joy-flight’ included children aged between six to 20 years. Most of them had never travelled by air before and wished to ‘fly in a plane’.
A SpiceJet Boeing 737 aircraft was especially designated to take these patients on the ‘joy-flight’ which included 60 children and 58 adults. SpiceJet flew with the patients along with their guardians on a sortie from New Delhi airport. With a total of 146 passengers on-board, the aircraft flew over the city of Delhi for about an hour.
After landing at the Delhi airport, these patients were escorted to a hotel near Delhi Aerocity for a buffet dinner and fun activities for them to enjoy. The menu was especially curated taking into account all dietary restrictions.
“It is both our responsibility and honour to be a part of such a noble cause. We are glad that through this initiative we are able to make a small difference in the lives of these patients who are bravely battling cancer. Spice Jet has taken many such initiatives in the past and will keep doing so in the future, contributing in our own small way to bringing happiness and joy,” says Ajay Singh, chairman and managing director, Spice Jet.


9 Assorted Examples of Toolmaking
9.1 Criticism of faulty regression methodology
9.1.1 Catchy titles in academic papers attract readers. It’s hard to resist.
When Harry Fired Sally: The Double Standard in Punishing Misconduct Mark L. Egan, Gregor Matvos, and Amit Seru NBER Working Paper No. 23242 March 2017, Revised August 2018 JEL No. D18,G24,G28,J71
9.1.2 The paper examines gender inequlity in the securities business
The authors identify a gender punishment gap in their analysis of over one million cases in which an employee required to be licensed by the Securities and Exchange Commission (SEC) through the Financial Industry Regulatory Authority (FINRA) and was found to have engaged in misconduct in violation of FINRA’s rules. They find that women are terminated at a higher rate than their male counterparts and that they require a longer time to obtain another position at a different firm.
That this gender based disparity exists is highly plausible based on anecdoctal evidence in many areas of economic and social life and many academic studies.
My interest lies in their methodological approach. They give their model at page 9 of the report.
9.1.6 How could this happen?
The authors had good data, careful thinking about controls, yet applied a mistaken analysis. How could they have put so much time and effort into analysis, yet fall into such an obvious methodological trap?
My gut reaction is that they had no data science colleague down the hall to drop in and consult with.
9.1.7 Who am I to criticize?
Two of the authors are affiliated with business schools that 2017 rankings by The Economist include in the top 5 world wide. The third is affiliated with another university that is highly regarded in a number of other fields.
I am a mere student of applied statistics. If the question of methodological appropriateness should be decided solely on credentials, stop here.
9.1.8 Why am I doing this?
It’s an important issue and the cause of promoting gender equality in this business can be set back by a faulty analysis.
Harumph, says top management. Must not be true, then. – imaginary executive
It’s also an important reminder not to take impressive looking quantitative analyses at face value.
9.1.9 How do I know?
I’ve run my own multiple regression analyses and logistic models and I will show what the output looks like. I’ll only take their principal model, separation given misconduct as the basis for illustrating the issues.
9.1.10 Their results
Table 3b of the paper shows their results on separation given misconduct. If accurate, the results are not pretty. Whether or not accurate, the results are incomplete and misleading, even if their methodology were applicable.
Starting at the top, the first task to determine what the numbered columns refer to. The first column does not control for differences among the adviser’s experience and licensing, year, firm or county. The second column adds adviser exerpience and licensing. The third column adds year, firm and county. The fourth column adds the possible combinations of potential licenses that the individual holds.
Essentially these are four different models.
- \(Misconduct_i = Person_i\)
- \(Misconduct_iq = αFemale_i + ε_iqjlt\)
- \(Misconduct_iqj = αFemale_i + βX_it + ε_iqjlt\)
- \(Misconduct_iqjlt = αFemale_i + βX_it + µ_qjlt + ε_iqjlt\)
as described on page 11.
On page 11, the authors state: “The coefficient on misconduct measures the probability that a male adviser experiences a job separation following misconduct.” (emphasis added). Thus, predicting male separation from some measure of female misconduct and female status, with or without other control, seems non-sensical. Perhaps the authors expect the reader to infer the corresponding coefficient for the probability that a female adviser experiences a job separation. That dog won’t hunt.
Each column reports a number of “observations,” which correspond to the 10-year period of the data, meaning about 400K-600K observations per year. According to Table 1 on page 62, however, the 10-year incidence of misconduct by male advisers in any given year was 0.72%. Therefore, we expect to observe, on average obvervations/10*0.072 misconduct incidents by males per year or, for the first model approximately 43,350 incidents, of which some proportion resulted in separation. That is the n, or population size, that goes into the calculations, including the degrees of freedom needed to calculate the F-statistic. From the information presented, we cannot be sure what value of n was relied on.
Finally, the means of the dependent variable have unexplained similarity. Case three should not be identical to cases one and two if the added independent variables are increasing explanatory power, and the mean in case four seems too little difference from case three, given the increase in R-Squared. Without access to the author’s data, however, there is no way for me to decide that.
The first line, “Misconduct” contains coefficients for each of the columns, given in percentages. (More often coefficients are expressed in proportions.) Coefficients are a prediction of the effect of the variable on the outcome, holding the other variables constant. The asterisks following each measure are explained in a note to Table 3b as standard errors less than 0.01. The terminology of expressing standard errors in the form p < 0.01 is also unusual. A p-value measure of “statistical significance” (the probability that the result was a product of chance) usually refers to the probability of the variable is greater than a measure called the t value. Standard errors are also not generally expressed as percentages.
R-squared, sometimes called the coefficient of determination and indicates the proportion of the variance in the data that an independent variable accounts for. It is usually tweeked to an adjusted R square to better eliminate random variation.
A value of R-squared that is equal to 1 completely explains the variance. A value of 0 indicates a complete lack of explanatory power. For the first column, R-squared is 0.004. Four basis points on a billion dollars is not chump change. The same proportion in a analytic study is. The result of the second column is R-squared equals 0.014. These two columns tell us essentially nothing except the failure of the model to reflect reality when not controlling for other factors.
Columns three and four show R-squared of 0.332 and 0.403, respectively, which show appreciable effects in a multiple linear regression model appropriately applied.
9.1.11 A counterexample: what a data scientist would expect to see in a multiple linear regression model output
Data on Seattle area housing prices provide a convenient way to illustrate the usual output of a multiple linear regression model output. This is a 21K dataset with 20 variables on housing characteristics and sales price.
The first thing I am going to do is to split the dataset 2:1 into a training set and a test set. I’ll model the training set, then see if I get comparable results on the test set. That’s something the authors of the paper omitted. I’ll be using the R statistical programming language.
`{r bonehead, results=“asis”, echo = FALSE, warning=FALSE} library(tidyverse) house <- csv_read(“/Users/rc/projects/statistics-for-data-scientists”) glimpse(house) train <- house %>% sample_frac(0.66, replace = TRUE) test <- setdiff(house,train) mod <- lm(price ~ bedrooms + bathrooms + sqft_living + sqft_lot + yr_built, data = train) summary(mod) ```
Well, now! I pick a handful of variables off the top of my head and presto! My model explains over 50% of the variation in price. Am I good or what?
Not really, and I’ll explain all the bonehead errors in another post (didn’t normalize, used variables that are not truly independent, didn’t check the distribution of residual errors and a host of other sins). But let’s talk about the information you should expect from a multiple linear regression.
9.2 DIY R Packages
keywords: workflow, documentation, repository, github
During exploratory analysis, I often find that after hitting on a promising analysis and beginning to apply it to, say, stratifications, that I’m doing cutting and pasting. That’s when I know that it’s time to move beyond scraps or even scripts and create a package. I started one for the subprime mortgage analysis, which you can see at subprimeR on github.
9.3 The Short Genome File: Day-to-Day Python
Keywords: Python, one-off, utility
9.3.1 Case Description
One of the recent courses that I took at MIT had a simple short datafile genome, representing a portion of the DNA sequences of Caulobacter crescentus, a species of bacteria very popular in biological studies. The class problem was in K-means clustering based on principal component analysis of the genome data.
9.3.2 Conversion Problem
That data consisted 1,528 lines of 200-character fragments. The building blocks of DNA genomes are very simple, consisting of sequences of only four possible character values, ‘A’,‘C’,‘G’,‘T’.
The immediate problem was that the assignment called for 300-character fragments. This is a recurring fact of life for data science; transforming data from one structure to another.
9.3.3 Everyday Solution
The obvious tool was Python, and it took no more than 20 minutes to do, even for someone who used Python as a handtool rather than industrial machinery.
In short, we start with
>fragment of c.crescentus genome gccgatagcctatgatccc… [to 200 characters]
and then apply a short Python program
# required modules
import csv
import itertools
import textwrap
data = "/Users/rc/Desktop/MITx8/ccrescentus.fa" # your path here
# Desired length of genome fragments
fraglen = 300
OBJECT = [] # empty bucket
f = csv.reader(open(data, 'r'))
# read the source file into a list
for row in f:
OBJECT.append(row)
# remove header '>fragment of c.crescentus genome'
del(OBJECT[0])
# combine all of the 200-character lines from the source
laundry = list(itertools.chain(*OBJECT))
# join them back into a single string
washed = ''.join(laundry)
# check to make sure each line of data can be 300 characters long
overage = len(washed)%fraglen
# should return True to the console
overage == 0
# split the string into 300-character list elements
dried = textwrap.wrap(washed,300)
# write the processed file back to a processed file, adding
# opening and closing double quotes and new lines
with open('fragments.csv', 'w') as f:
f.write('\"')
f.write('\"\n'.join(dried))
# "fragments.csv" is now ready for analysis with Python or R
and end up with
“gccgatagcctatgatcccc … [to 300 characters]
Athough I checked that I had enough data to make each line 300-characters long, I did lose a few bytes in the conversions, which isn’t material for purposes of the exercise.
This is not intended as an example of best-practices Python programming, nor I am not a programmer. I use programming to solve problems. If I have a solution like this, I go to a programmer to scale it, when necessary.
9.4 Hard but simple – parsing YAML files in Haskell
It is a truth universally acknowledged that the best way to learn a language is from the lips of a lover. Mine, alas, has no Haskell, so I have made the choice I usually do. Rather than attempting first to master the rules of syntax and the rationale underlying a new computer language, I launch into trying to solve a real problem, by which I mean automating some repetitive task that I would otherwise have to do by hand.
In this case, it was tweaking a LaTeX table. I chose Haskell because I was already using the estimable pandoc to convert the rest of my document and it has a facility to pipe its AST (abstract syntax tree) through to a filter for intermediate processing before rendering the final document.
Alas, the functionality I sought was not available without doing some heavy lifting of internals that is beyond my pay grade as a rank Haskell beginner. I did manage to get a version working, but it had two major defects: First, it relied on parsing regular expressions. I imagine a term like unPythonic applies to this approach – unHaskellian? Second, it lacked a clean separation between logic and data, meaning it would have to be rewritten for each new table that differed from this first use.
The functionality could also be achieved through sed and awk in combination with the other standard tools of bash. But, as I had come this far with Haskell, I determined to continue.
I learned a lot along the way, but I’m only going to report the results. There are any number of great resources on theory and concepts, but recipes seem hard to come by.
To begin a yaml file, table.yaml
stripComments: true
stripLable: true
zeroEntry: "."
justifyLeft: true
stubHeader: "Cause of Death"
subHeader: "& (\\%) & (\\%) & (\\%) & (\\%)"
In the same directory, mwe.hs
{-# LANGUAGE OverloadedStrings #-} -- yaml
module Mwe where
import Data.Yaml
import Data.Maybe (fromJust)
data ReadData = ReadData { stripComments :: Bool
, stripLable :: Bool
, zeroEntry :: Bool
, justifyLeft :: Bool
, stubHeader :: String
, subHeader :: String
} deriving (Eq, Ord, Show)
instance FromJSON ReadData where
parseJSON (Object v) = ReadData <$>
v .: "stripComments" <*>
v .: "stripLable" <*>
v .: "zeroEntry" <*>
v .: "justifyLeft" <*>
v .: "stubHeader" <*>
v .: "subHeader"
parseJSON _ = error "Can't parse ReadData from YAML/JSON"
I won’t embarrass myself by revealing how long it took to get this working. I did pick up a fairly solid understanding of types, some insight into typeclasses and instances and got on the right track for IO and Maybe, with some notion of what it means to be pure in Haskell. What took the longest was how to do anything with a successful read of a yaml file other than to print it, which is where the examples I found stopped. I acknowledge my debt to the many sources I consulted to figure this out.
9.5 Contextual Awareness
Whenever I see a time series that purports to show dramatic results, I like to look back to trace the prior history.
9.6 Minimalism Throws You into the Pool
I have been dabbling in the hipster lanaguage Lua, which you have to be cool even to have heard about. Its claim to fame is minimalism. It has one data type, called a table and I found myself wanting to combine two or more of them à la cat (concatenate). WTF, there is no built-in way to do this? Incredulity began to lift when I discovered that neither was there a built-in way to even print tables. As a public service for the benefit of other pilgrims, here is
--cat.lua concatenate tables
function cat( ... ) -- append 1D tables
local List = require 'pl.List' -- penlight library
local args = {...}
local l = List()
for i=1, #args do
l:extend(args[i])
end
return l
end
--[[Example
a = {
"gala",
"cameo",
"jazz"
}
o = {
"seville",
"valencia",
"navel"
}
g = {
"concord",
"thompson",
"muscat"
}
f = cat(a,o,g)
{gala,cameo,jazz,seville,valencia,navel,concord,thompson,muscat}
--]]
9.7 Parsing system date strings into Python datetime objects
from datetime import datetime
from dateutil.parser import parse
from dateutil import tz
s = "Mon Aug 15 21:17:14 GMT 2011"
d = parse(s)
GMT = tz.gettz('UTC')
Beijing = tz.gettz('Asia/Shanghai')
there = d.astimezone(GMT)
here = d.astimezone(Beijing)
print(here)
print(there)
9.8 Combination of k items, taken n at a time
Very functional
-- combo.hs
-- problem: C(k,n), where k = the integers from 1 to 9, inclusive
-- and n = 3, without regard to order, then sum the subsets
import Data.List
combinations 0 lst = [[]]
combinations n lst = do
(x:xs) <- tails lst
rest <- combinations (n-1) xs
return $ x : rest
result = ( map sum (combinations 3 [1..9]))
Python alternative
import itertools
result = map(sum, itertools.combinations([1,2,3,4,5,6,7,8,9], 3))
for i in result: print(i)
9.9 Flex/Bison to compile data parser for June 20, 2018 form
datify.l Bison script
/* NB: OSX, cannot link to -lfl, use -ll */
/* can't have internal comments */
%{
%}
%%
^[0-9]+ {printf("") ; }
"January " {printf("2015-01-") ; }
"February " {printf("2015-02-") ; }
"March " {printf("2015-03-") ; }
"April " {printf("2015-04-") ; }
"May " {printf("2015-05-") ; }
"June " {printf("2015-06-") ; }
"July " {printf("2015-07-") ; }
"August " {printf("2015-08-") ; }
"September " {printf("2015-09-") ; }
"October " {printf("2015-10-") ; }
"November " {printf("2015-11-") ; }
"December " {printf("2015-12-") ; }
%%
int main()
{
yylex();
}
datify2.l Bison script
/* NB: OSX, cannot link to -lfl, use -ll */
/* can':t have internal comments */
%{
%}
%%
"-1"{1}[ \t\n] {printf("-01\n") ; }
"-2"{1}[ \t\n] {printf("-02\n") ; }
"-3"{1}[ \t\n] {printf("-03\n") ; }
"-4"{1}[ \t\n] {printf("-04\n") ; }
"-5"{1}[ \t\n] {printf("-05\n") ; }
"-6"{1}[ \t\n] {printf("-06\n") ; }
"-7"{1}[ \t\n] {printf("-07\n") ; }
"-8"{1}[ \t\n] {printf("-08\n") ; }
"-9"{1}[ \t\n] {printf("-09\n") ; }
%%
int main()
{
yylex();
}


Test passes if the second line of "Filler Text" above is green and the first and third lines are black.


 No calculation or conversion is sent to our servers.
The history of your calculations is stored on your computer using a cookie. No history is sent to our servers.
We do not identify individual users or computers, and do not track information on individual users or computers.
Philosophy
This site was developed with the following philosophy:
- Software should not be installed
Everything should be web based. We can think of a few exceptions like 3D games, but the calculator is not one of them.
- Cool and intuitive software
Software should be easy to use, without a need for a manual.
User interfaces should be cool, the cooler the better.
What's wrong with conventional calculators?
Let’s take the windows calculator as an example.
- What's the deal with drawing buttons for each digit on the screen when we have such buttons on the keyboard?
- You can not type into a number. If you forgot a digit, you have to erase all last digits and retype them again.
Try to type 12345, and then change to 19345.
- You can perform just one operation at a time, no "complex" arithmetic like (2+3)*4
- Why is there no history of previous calculations? The entire memory is 1 number (good old M+ and MR).
PCs come today with megabytes of memory, why limit to one?
- It's inconsistent. Try this: runs the windows calculator, Select View | Standard and type 1+2*3=.
You should get 9 as the answer. Now change to View | Scientific, and type again 1+2*3=. This time you get 7.
- No unit conversions. Does your current calculator know how many feet are 100 meters? How many Fahrenheit is 32 Celsius?
And what's wrong with the Google calculator?
 Can't your computer do this?
- No history of previous calculations
- Read the privacy section on the top of this page. They do what we don't.
|


News
Guides
Books
Classes
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips
Behavioral Interview Questions
Technical Interview Questions
Other tips
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips
Useful Guides
Behavioral Interview Questions
Technical Interview Questions
Other tips


This is your first time in Vocabulometer with this language, so we need to know a bit more about you before letting you
use our learning services.
This platform uses your vocabulary to recommend texts that correspond to your level. Yet as you are
a new user we have no information about your vocabulary!
Vocabulometer offers you two options to solve this issue. Either solve a quiz that will determine your level,
or give your JLPT / CEFR level if you know about it.
Please select one of the two options.


Bill Bragg
Currently
- Freelance Web Developer
- ServiceNow & JS Developer at Alliant Energy
Previously
- Magento & PHP Developer at Omnipress
- PHP Applications Developer at Morgridge Institute for Research
- Front-End Developer at University of Wisconsin
- Web Marketing & Services Business Systems Developer at CUNA Mutual
Programming & Design Skills
- JS, PHP, CS, Angular, HTML, CSS, Java, C#, VB, SQL
- Visual Studio, Linux, ATF, Git, TFS, Vi, MySQL Workbench, LAMP
- Photoediting, Photoshop, Gimp, Adobe Draw
- #100daysofcode, #freecodecamp, #30days30sites, #codeschool


Notes¶
A few quick notes about some of the less obvious aspects of interacting with Ethereum in JavaScript.
Why can’t I just use numbers?¶
The first problem many encounter when dealing with Ethereum is the concept of numbers. Most common currencies are broken down with very little granularity. For example, there are only 100 cents in a single dollar. However, there are 1018 wei in a single ether.
JavaScript uses IEEE 754 double-precision binary floating point numbers to represent numeric values. As a result, there are holes in the integer set after 9,007,199,254,740,991; which is problematic for Ethereum because that is only around 0.009 ether (in wei).
To demonstrate how this may be an issue in your code, consider:
> (Number.MAX_SAFE_INTEGER + 4 - 5) == (Number.MAX_SAFE_INTEGER - 1)
false
To remedy this, all numbers (which can be large) are stored and manipulated as Big Numbers.
The functions parseEther( etherString ) and formatEther( wei ) can be used to convert between string representations, which are displayed to or entered by the user and Big Number representations which can have mathematical operations handled safely.
Promises¶
A Promise in JavaScript is an object which simplifies many aspects of dealing with asynchronous functions.
It allows a pending result to be treated in many ways as if it has already been resolved.
The most useful operations you will need are:
- Promise . all ( promises )
- Returns a new promise that resolves once all the promises have resolved.
- prototype . then ( onResolve, onReject )
Returns another Promise, which once the Promise was resolved, the onResolve function will be executed and if an error occurs, onReject will be called.
If onResolve returns a Promise, it will be inserted into the chain of the returned promise. If onResolve throws an Error, the returned Promise will reject.
var ethers = require('ethers');
var targetAddress = "0x02F024e0882B310c6734703AB9066EdD3a10C6e0";
var privateKey = "0x0123456789012345678901234567890123456789012345678901234567890123";
var wallet = new ethers.Wallet(privateKey);
// Promises we are interested in
var provider = ethers.getDefaultProvider('ropsten');
var balancePromise = provider.getBalance(wallet.address);
var gasPricePromise = provider.getGasPrice();
var transactionCountPromise = provider.getTransactionCount(wallet.address);
var allPromises = Promise.all([
gasPricePromise,
balancePromise,
transactionCountPromise
]);
var sendPromise = allPromises.then(function(results) {
// This function is ONLY called once ALL promises are fulfilled
var gasPrice = results[0];
var balance = results[1];
var transactionCount = results[2];
// Sending a transaction to an externally owned account (EOA) is 21000 gas)
var txFeeInWei = gasPrice.mul(21000);
// This will send the maximum amount (our balance minus the fee)
var value = balance.sub(txFeeInWei);
var transaction = {
to: targetAddress,
gasPrice: gasPrice,
gasLimit: 21000,
nonce: transactionCount,
// The amount to send
value: value,
// Prevent replay attacks across networks
chainId: provider.chainId,
};
var signedTransaction = wallet.sign(transaction);
// By returning a Promise, the sendPromise will resolve once the
// transaction is sent
return provider.sendTransaction(signedTransaction);
});
var minedPromise = sendPromise.then(function(transaction) {
// This will be called once the transaction is sent
// This promise will be resolve once the transaction has been mined.
return provider.waitForTransaction(transaction);
});
minedPromise.then(function(transaction) {
console.log("The transaction was mined: Block " + transaction.blockNumber);
});
// Promises can be re-used for their value; it will not make the external
// call again, and will provide the exact same result every time.
balancePromise.then(function(balance) {
// This *may* return before the above allPromises, since it only
// required one external call. Keep in mind asynchronous calls can
// be called out of order.
console.log(balance);
});
Checksum Address¶
A checksum address uses mixed case hexadecimal strings to encode the checksum information in the capitalization of the alphabetic characters, while remaining backwards compatible with non-checksum addresses.
Example:
// Valid; checksum (mixed case)
0xCd2a3d9f938e13Cd947eC05ABC7fe734df8DD826
// Valid; NO checksum (no mixed case)
0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826
0xCD2A3D9F938E13CD947EC05ABC7FE734DF8DD826
// INVALID; (mixed case, but case differs from first example)
0xDc2a3d9f938e13cd947ec05abc7fe734df8dd826
^^
To convert to a checksum addresses, see getAddress().
ICAP Address¶
The original method of adding a checksum to an Ethereum address was by using the a format compatible with IBAN addresses, using the country code XE. However, only addresses which have 0 as the first byte (i.e. the address begins with 0x00) are truly compatible with IBAN, so ICAP extends the definition to allow for 31 alphanumeric characters (instead of the standard 30).
An ICAP address has the following format:
XE [2 digit checksum] [up to 31 alphanumeric characters]
To convert to an ICAP addresses, see getIcapAddress().
Supported Platforms¶
The ethers.js library aims to be as inclusive as possible. People often ask, “why don’t you use feature X or syntax Y”, to which the response is usually that it begins to heavily restricts the potential user-base.
The current target for ethers.js is to support an environment which is close to ES3, with the addition of Object.defineProperty, which is a bit more advanced than an old ES3 environment, but which adds considerable safety and security to the library.
The phantomjs test harness (npm run test-phantomjs
) has a handful of shims included
in the tests/test.html, but serves as a good benchmark for what minimum features as
supported.
Currently the Test Suite runs against:
- node 6
- node 8
- node 10
- phantomjs
Another supported aspect is the use of paths in require
. A small part of the
library may be included, for example, keccak256
, by using:
var keccak256 = require('ethers/utils/keccak256').keccak256;
Which means renaming files is a breaking change, and may only be done between major version releases. This is useful for people using older, pre-ES6 tree-shaking, to keep their package sizes small.
Now that the library also supports TypeScript, another question that often comes up is (for example) “why are you doing runtime checks that a value is a number, the TypeScript compiler checks that for you”. It is important to keep in mind that TypeScript, while a useful tool, is not the tool that everyone uses, and so for anyone using JavaScript sans TypeScript, the library should guarantee safety and correctness for them too and fail early and fail loud if anything is out of the ordinary.
Contributing¶
I fully welcome anyone to contribute to the project, and appreciate all the help I can get. That said, if you have ideas for a PR, please discuss them as an issue on GitHub first.
A few notes on contributing.
- Please read the above section on Supported Platforms.
- An important feature of ethers.js is that it is small, which means uncommon features or large features need a great deal of discussion.
- Since ethers.js is designed to be extensible, there are often ways to add optional packages; for example, look at the BIP39 mnemonic wordlists, which are not bundled into the browser version, but are designed to be seamlessly loaded into the browser if their functionality is required.
- Dependencies; part A) in line with the above, “keep things small”, adding a dependency is a big deal, as they often bring many other packages with them. A great deal of effort has been used to tune the build process and dependency list to keep things tight
- Dependencies; part B) adding additional third party libraries, adds a huge attack vector fun malicious code or unexpected consequences, so adding a dependency is certainly something that needs to be very convincingly argued.
- Dependencies; part C) part B applies to dev dependencies too. A devDependency can inject or otherwise do strange things and increases the attack vector for bugs and malicious code
- Changing filenames or breaking backwards compatibility is a no-go for minor version changes
- Major version changes do not happen often. We place @TODO in the source code for things that will be updated at the next version change.
- Please use the GitHub issue system to make requests, or discuss changes you would like to make.
- Testing is a must. It should generally take you longer to write test cases than it does the actual code.
- All test cases must pass on all platforms supported on Travis CI.
Security¶
A lot of people store a lot of value in Ethereum and the code that runs it. As such, security is important.
The GitHub and NPM Package¶
The keys used to sign code on GitHub are well protected, but anyones computer can be compromised.
All services involved have two-factor authentication set up, but please keep in mind that bleeding-edge technology should probably not be used in production environments.
Keep in mind, however, that at the end of the day, if NPM were hacked, anything in the system could be replaced.
By using a version that is perhaps a few weeks old, providing there are no advisories otherwise, there has been adequate time for any compromise to have been broadcast.
Also, one of the test cases verifies the deterministic build on Travis CI. Never install a version which has failed the Continuous Integration tests on Travis CI.
Long story short, be careful.
In the event of any significant issue, it will be posted on the README.md file, have an issue posted, with ALL CAPS in the title and will be broadcast on the @wansproject twitter.
Memory Hard Brute-Force Encrpyting¶
A topic that often comes up is the poor performance of decrypting Wallet.
While it may not be immediately obvious, this is intentional for security purposes.
If it takes the legitimate user, who knows the password 5 seconds or so to unlock their account, that means that an attacker must spend 5 seconds per password attempt, so to guess a million passwords, requires 5 million seconds. Client software can streamline the process by using Secure Enclaves or other secure local places to store the decrypted wallet to improve the customer experience past the first decryption.
Responsible Disclosure¶
If you find a critical bug or security issue with ethers.js, please contact<EMAIL_ADDRESS>so that we can address it before you make it public. You will receive credit for the discovery after it is fixed and announced. :)


{% if overdue %}
OVERDUE
Unsolved problems in previous sheets
{% for problem in overdue %}
{% include "_problem_item.html" %}
{% endfor %}
{% endif %}
{% if new %}
NEW
New problems to solve.
{% for problem in new %}
{% include "_problem_item.html" %}
{% endfor %}
{% endif %}
{% if review %}
REVIEW
Review solved problems
{% for problem in review %}
{% include "_problem_item.html" %}
{% endfor %}
{% endif %}
This email is from
TCHelper, a helper and planer for practicing algorithm problems.
Stop receiving emails by
deacitvating your account.


In what follows, we shall use the following typographical conventions:
bold typewriter font
are commands to
be typed into the computer as they stand.italic typewriter font
indicate
non-specific file or directory names. [Ctrl]
indicate keys
to be pressed. So, for example,
% ls anydirectory [Enter]
means "at the UNIX prompt %, type ls followed by the name of some directory, then press the key marked Enter"
Don't forget to press the [Enter] key: commands are not sent to the computer until this is done.
Note: UNIX is case-sensitve, so LS is not the same as ls.
The same applies to filenames, so myfile.txt, MyFile.txt and MYFILE.TXT are
three seperate files. Beware if copying files to a PC, since DOS and Windows
do not make this distinction.
<EMAIL_ADDRESS>© 1 November, 2002


This page contains a hard-coded HTML list of only two Superheroes. That's not very super!
Your goal is to improve the list by fetching a list of superheroes in JSON format from the server.
Then add the list to the scope of a controller and list them out using ng-repeat
just like in the previous task.
Hint: You'll need to edit src/main/webapp/http/http.html
and
src/main/webapp/http/http.js
Hint: Check out Angular's $http service!


Test files without 2 passes: 2; Subtests without 2 passes: 14; Failure level: 14/107 (13.08%)
| Test | FF30 | FF33 | UC10 |
|---|---|---|---|
| /proximity/ProximityEvent_tests.html (8/81, 9.88%, 7.48% of total) | TIMEOUT | TIMEOUT | - |
| value of undefined resolves to NaN | FAIL | FAIL | - |
| ondeviceproximity exists | PASS | FAIL | - |
| ondeviceproximity is set to function | PASS | FAIL | - |
| treat object as null | FAIL | FAIL | - |
| treat object with non-callable call property as null | FAIL | FAIL | - |
| treat array as null | FAIL | FAIL | - |
| treat non-callable host object as null | FAIL | FAIL | - |
| onuserproximity exists | PASS | FAIL | - |
| /proximity/idlharness.html (6/26, 23.08%, 5.61% of total) | OK | OK | ERROR |
| Window interface: attribute ondeviceproximity | PASS | FAIL | FAIL |
| Window interface: attribute onuserproximity | PASS | FAIL | FAIL |
| Window interface: window must inherit property "ondeviceproximity" with the proper type (0) | PASS | FAIL | FAIL |
| Window interface: window must inherit property "onuserproximity" with the proper type (1) | PASS | FAIL | FAIL |
| DeviceProximityEvent interface: existence and properties of interface object | FAIL | FAIL | FAIL |
| UserProximityEvent interface: existence and properties of interface object | FAIL | FAIL | FAIL |


Documentation is going to be added before the 0.1 release.
Explain why the Thread.getState() can't be used (JCiP).
There are various methods that can be used for asserting that the thread is finished:
There is no way to detect of a thread is blocking within the JVM. The Thread.getState can't be trusted for providing the actual state the thread is in. The only thing that can be done is to ask the thread if it is still running by calling the assertIsStarted().
If you want to check if a thread has terminated, but no exception was thrown, use the following:
TestThread t = ...; t.assertTerminatedWithoutThrowing()
If you want to check if a specific exception was thrown, you can use the following:
TestThread t = ...; t.assertTerminatedWithException(RejectedExecutionException.class)
If have a reference to the exception, you can also use the following assert statement:
Exception ex = ....; TestThread t = ...; t.assertTerminatedWithException(ex)
You can test if a thread is terminated with an InterruptedException by calling Thread.assertIsInterruptedByException(). If you want to check the the interrupt flag is set, you can call the
TracingThreadFactory.


2 Kings 6:13
And he said, Go and spy where he is, that I may send and fetch him. And it was told him, saying, Behold, he is in Dothan.


I should be here
;
My name is , my son is called and my grand-son is
My name is , my son is called and my grand-son is
My name is , my son is called and my grand-son is
My name is , my son is called and my grand-son is
Is it hard so far ?
do not touch
do not touch
damn
The winner is with points.


In order to provide you with a smooth, efficient and personalised experience, we collect some information relating to your usage of our site. This allows us to provide services and features that most likely meet your needs, and to customise our service to make your experience easier and quicker. Please note, the following cookie policy applies to Easons.com and all subdomains, including secure.easons.com (used for your Shopping Basket).
Cookies are tiny text files stored on your computer when you visit certain web pages. At Easons.com we use cookies to keep track of what you have in your basket, and to remember you when you return to our site.
Please note that cookies can't harm your computer. We don't store personally identifiable information such as credit card details in cookies we create, but we do use encrypted information gathered from them to help improve your experience of the site. For example, they help us to identify and resolve errors, or to determine relevant related products to show you when you're browsing.
We use a number of different cookies on our site. If you do not knowwhat cookies are, or how to control or delete them, then we recommendyou visit http://www.aboutcookies.org for detailed guidance.
The following tables describe the cookies we use on this site and what we use them for. Currently we operate an ‘implied consent’ policy which means that we assume you are happy with this usage. If you are not happy, then you should either not use this site, or you should delete Easons.com cookies having visited the site, or you should browse the site using your browser’s anonymous usage setting (called “Incognito” in Chrome, “In Private” for Internet Explorer, "Private Browsing" in Firefox and Safari etc).
Session Cookies:
We use session cookies to remember your log-in and what you’ve put in the shopping basket. These we deem strictly necessary to the working of the website. If these are disabled then various functionality on the site will be broken. More information on session cookies and what they are used for at http://www.allaboutcookies.org/cookies/session-cookies-used-for.html.
| Cookie Name | Purpose |
|
Avt |
Used to store a list of previously viewed products during your session. We use this information to populate the ‘Recently Viewed Items’ lists that appear on some pages. |
|
eh1 |
Used to store previous searches to allow you to repeat these during your session. |
|
os9C |
Contains a unique identifier used to identify you as a user between page loads during a session. This allows us to remember your actions, such as adding items to your basket, during a session. |
|
os9M |
Contains a unique identifier used to identify you as a user and check user session integrity between servers, thus optimising site performance during a session. |
|
oslastadd2b |
Used to store a record of the last item added to the shopping cart during a session. |
|
xg9C |
Contains a unique identifier identifying an account session between page loads, to recognise you as a logged-in member as you navigate from page to page. |
|
xg9M |
Contains a unique identifier used to identify your account session and check user integrity between servers, thus optimising site performance during a session. |
|
testC |
Used to anonymously test session and account integrity |
|
testM |
Used to anonymously test session and account integrity |
|
ASPSESSIONID |
Active Server Page SessionID - this cookie is used to enable core site functionality. It does not contain any personal information and is automatically deleted when you close your browser. |
Cookies for Site Analytics
| Cookie Name | Description |
|
Google Analytics |
Eason use this to understand how the site is being used in order to improve the user experience. User data is all anonymous |
|
Inspectlet |
This application allows us to see where users encounter issue or confusion on our site so that we can make Easons.com as user friendly as possible. |
Cookies for Email Tracking
| Cookie Name | Purpose |
|
TD_UNIQUE_IMP |
The Unique Impression Cookie contains programs of viewed ads together with the time of the ad-view. This information is used to be able to identify unique ad-views. |
|
TD_POOL |
Ad-pools have the feature of ad-rotation. To support this, pool-based ad-views are stored in a cookie. |
|
TD_EH_ |
The Event History Cookie contains information about the three latest tracks (clicks) and the ten latest closures per program. This information is used to be able to connect clicks with closures. |
|
TradeDoublerGUID |
The GUID Cookie holds an identifier to support server side storage of the user event history |
|
OPT_OUT |
Allows a user to disable cookie based tracking or targeting for the browser that the user is using |
|
RET |
Retargeting is a feature that makes it possible to target ads to users that have visited configured targeting points on the advertiser’s site. To support this feature the targeting points visited by a user are stored in this cookie. |
|
insp_sid |
Creates a Session ID which is applied to the site visit. |
|
insp_scpt |
Screen capture to allow us to see how users interact with the site. |
|
insp_uid |
Applies a user ID to the site visitor. |
|
insp_nv |
Identifies if the user is a New Visotor to the site or a Return Visitor. |
|
insp_pad |
Records the number of pages viewed in a session. |
|
insp_ref |
Identifies the source that the user has come from to get to the Eason site. |
Cookies set by Third Party Websites
We sometimes embed video content from websites such as YouTube. As aresult, when you visit a page with content embedded from, for example,YouTube, you may be presented with cookies from these websites.Easons.com does not control the dissemination of these cookies. Youshould check the relevant third party website for more information aboutthese.
Easons.com carries embedded ‘share’ buttons to enable users to easilyshare content with their friends through a number of popular socialnetworks. These sites may set a cookie when you are also logged in totheir service. Easons.com does not control the dissemination of thesecookies and you should check the relevant third party website for moreinformation about these.
You should be aware that these sites are likely to be collecting information about what you are doing all around the internet, including on Easons.com. So if you click on any of these buttons, these sites will be registering that action and may use that information. In some cases these sites will be registering the fact that you are visiting Easons.com, and the specific pages you are on, even if you don’t click on the button if you are logged into their services, like Google and Facebook. You should check the respective policies of each of these sites to see how exactly they use your information and to find out howto opt out, or delete, such information.
Send Frequency:
Third party emails
Email Content:
Unsubscribe:
To unsubscribe from the Eason email database, simply click on the unsubscribe link located at the bottom of every marketing email.
Email Tracking:
Some emails that we send you have no tracking in at all e.g. service emails with invoices attached. Other emails we send we put in tracking so that we can tell how much traffic those emails send to our site - e.g. our monthly Thank You Card newsletter. Some emails we can track, at an individual level, whether the user has opened and clicked on the email. We rarely use the latter information at a personal level, rather we use it to understand open and click rates.
Data Collected:
The data we collect when a customer registers includes
How we use this data:
The data that we collect from registration is used to tailor emails and promotions to better suit your preferences. We do not share any data for use by any third parties.
Company Registration and Contact Information:
Eason and Son Ltd. is a private limited Company, registered in Ireland (number 1279).
Registered office at 80 Middle Abbey Street, Dublin 1, Ireland.
Phone: 01-8448815
Email: support@easons.com


Who We Are
The Community Robotics, Education and Technology Empowerment Lab (CREATE Lab) explores socially meaningful innovation and deployment of robotic technologies.
We aim to empower a technologically fluent generation by fostering experiential learning opportunities. From environmental sensing to data visualization, our work encourages authentic learning opportunities, evidence-based public discourse, and collective action.
EarthTime was launched in partnership with the World Economic Forum. The Forum draws on its expert network to provide data, author EarthTime stories, and present in its meetings.
Misson and Values
EarthTime is underpinned by CREATE Lab's vision to promote data literacy, inspire meaningful dialogue, and democratize access to data for everyone in an inclusive and transparent way.
By showing the results of our past decisions with visual evidence through time, we create the scaffolding that supports positive future decision-making. We can empower our decision makers in public and private spheres to make more informed, forward-facing choices.
Together, we can move from "Is this happening?" to "What do we do about it"?


Rock Medical
Solution of your health care
| SO No. | : {rck:detail[tno]:} |
| Customer | : {rck:detail[cname]:} |
| Sales | : {rck:detail[name]:} |
| Date Order | : {rck:detail[tdate]:} |
| Date Warranty | : {rck:detail[twarranty]:} |
| Products | Price | QTY | Total |
|---|
| Total | {rck:detail[tammount]:} |
| Discount | {rck:detail[tdiscount]:} |
| Grand Total | {rck:detail[ttotal]:} |
Note: Do not lose the invoice for claim your product warranty


Cloudmesh Database¶
Cloudmesh stores its status in a database so that you can easily remember which services you used where and have an accurate account of them. We use as a database MongoDB to store this information. To use cloudmesh you simply need to create and start the database service.
We install a separate version of mongo in your ~/.cloudmesh directory. Use the command:
cms admin mongo install
On windows, you need to do this very carefully as there is one installation box that you need to ignore to make this possible.
First, you need to change the password for mongo in the cloudmesh.yaml
file
Now you can create an empty database with
you can initialize it with
cms gui quick
cms init
MongoDB Installation Steps¶
The following steps document the MongoDB server configuration and installation steps from the standpoint of a fresh install. We recommend utilizing our build script for a seamless installation experience. However, If you already have a pre-existing installation of MongoDB, please feel free to skip ahead once you’ve reviewed the configuration steps and confirmed you have an admin user with a strong password created. Please also note that some commands we use during the development wipe out the database completely including all collections. So make a backup.
If you would like to remove an existing MongoDB installation, please skip to the next subsection in order to reference the uninstall steps for MongoDB; then revert back to this section to kick off a fresh install.
You should also note to not expose mongo on the internet in order to keep your information within mongo private.
Prior to starting the MongoDB installation, you will need to install and
configure the cloudmesh.yaml
file if you have not already done so.
To install it, run the following command:
cms help
Then, be sure to edit the cloudmesh.yaml configuration file (which is created
under ~/.cloudmesh
directory) and update the values of the parameters used in the
mongo install. You can use a text editor, such as:
emacs ~/.cloudmesh/cloudmesh.yaml
and change the password of the mongo entry to something of your choosing. Note, be sure to use a very strong password credential:
MONGO_PASSWORD: TBD
In case you do not have MongoDB installed, you can do so for macOS and Ubuntu 18.xx by setting the following variable:
MONGO_AUTOINSTALL: True
Alternatively, you can set these cloudmesh.yaml parameter values from the command line without using an editor by running the following:
cms config set cloudmesh.data.mongo.MONGO_AUTOINSTALL=True
cms config set cloudmesh.data.mongo.MONGO_PASSWORD=YOURPASSWORD
Another item to note is the default location of the MongoDB installation.
In a Linux/MacOS environment, the default installation path will be under
~/local/mongo/bin
. In a Windows environment, the default path is under
C:\Users\USERNAME\.cloudmesh\mongo
. If you would like to change these
paths, be sure to update these in the cloudmesh.yaml file.
Once the configuration of the cloudmesh.yaml file has been completed, run the following command (assuming you have the user in the c drive), where USERNAME is the username you installed cloudmesh in:
C:/Users/USERNAME\ENV3\Scripts\activate
cms admin mongo install
Note
In a Windows installation, we are only required to install
MongoDB commands, not MongoDB Service. By default, the
silent installer will attempt to install and start the
MongoDB System Service. When prompted that the service
failed to start, simply select Ignore
.
After the installation completes, in a Linux/MacOS environment, confirm the
MongoDB installation path was added to the .bash_*
file. This should have
already been done automatically if the cms admin mongo install
command
was used to kick off the installation.
In a Windows environment, however, the default path is not automatically added to the Path variable, so you will need to add this manually:
Now that MongoDB has been installed, we initialize it with the following command:
cms init
In case you like to stop or start is you can say:
cms stop
cms start
Please remember that for cloudmesh to work properly you need to start mongo. In case you need a different port you can configure that in the yaml file.
Uninstall of MongoDB on Windows 10¶
This section documents steps required to uninstall MongoDB from a prior installation
Note that there are two distinct uninstallation steps to consider. If you have
installed MongoDB using the cloudmesh installer
(i.e. cms admin mongo install
), Mongo is not installed with a service by
default and can be simply uninstalled by removing the install directories
under ~\.cloudmesh
(reference the MONGO_PATH, MONGO_LOG, and MONGO_HOME
variables within the cloudmesh.yaml file for specifics).
If, however, you have a pre-existing installation of MongoDB, or have MongoDB Server Service installed through an alternative installation method outside of cloudmesh, proceed through the following steps if you wish to completely uninstall MongoDB.
To uninstall, please terminate the running MongoDB service (if applicable), then delete it. To stop the service, open Task Manager and confirm the status = Stopped. If it is not stopped, please do so. To delete it, run the following as an administrator from the command line:
sc.exe delete MongoDB
Next, delete the Mongo installation directories. Please reference the
cloudmesh.yaml file for the MONGO_HOME, MONGO_PATH, and MONGO_LOG path values if
cms admin mongo install
was attempted at some point.
Finally, execute the MongoDB msiexe installer to check if there are any remaining components that need to be uninstalled. Once launched, click on the Remove button. Note that this installer can be downloaded locally using the URL found under the MONGO_DOWNLOAD variable in the cloudmesh.yaml file.
Note
If Compass was installed, this can simply be removed by navigating to the Windows ‘Add Remove Programs’.
You have now successfully removed MongoDB, and are ready to reinstall a fresh instance.


(From www.foxnews.com) A small park with a boardwalk through a swamp (they prefer the polite term "floodplain") so you can stare at some trees. The main function of the boardwalk seems to be to better present visitors to the swarms of mosquitos. Step off the boardwalk and into the realm of the four varieties of venomous snake that inhabit the park, including the "ubiquitous" cottonmouth. Run from the snakes and find yourself in glades of poison ivy or stumbling into wasps' nests or webs of biting spiders that are "highly painful but not lethal." As a bonus, the trails are poorly marked (when they're not completely washed out), so as you run screaming in circles waving your hands to fend off mosquitos, you're likely as not to impale yourself on a jagged Cyprus stump.
(From www.foxnews.com) More like the gates of hell: No roads reach the park, no trails traverse it. In winter there's no warmth, just months of darkness and howling winds. But in summer at least it has plenty of man-eating mammals, clouds of biting bugs, and life-sucking swamplands. No thanks, I'll leave it for the grizzlies. I hear there aren't even any real gates here. That's false advertising, man!
(From www.foxnews.com) You know, I hate to rag on South Dakota with two entries here, but after visiting the Badlands I have to say they aren't "Bad" as in "Cool" but rather "Bad" as in "Skip it." The place is a dusty monument to erosion, sort of a half-assed Grand Canyon without the majesty, but with extra rattlesnakes. You could really get much of the visual effect by going down to your local stream or beach and watch the water swirl around the dirt or sand. And the "mixed-grass prairie" that surrounds this dusty divot is just another way of saying "sad shrubbery as far as the horizon." Sure, if you're in the area, check it out, but it pales in comparison with basically every other (non-South Dakota) western national park.


Holly Allen
Writing and Talks |
Leadership Resources
Talks
Systems of Efficient Stability for Teams -
LeadDev Together
- October 2021
Devops with Slack (panel) - Slack Frontiers - October 2020
Ask an SRE
(panel) - SRE From Home - July 2020
SRE in the spotlight: Operating always-on services when the world is counting on you
(panel) - Atlassian Remote Work Week 2020 - April 2020
Service Ownership @ Slack
- DevOpsDays Chicago 2019 - August 2019
Service Ownership @ Slack
- Agile 2019 Conference - August 2019
Service Ownership @ Slack
- QConSF 2018 - November 2018
Have a great (engineering) career
- January 2017
Writing
My posts on Medium
Feedback guidance
by me
One on Ones Guide
by my team at 18F
Engineer Hiring Guide
by my team at 18F


Step 1 - Installation the Plugin
In your WordPress Dashboard,
Menu > Plugins > Add New > Upload Plugin > Upload the plugin zip file you downloaded from CodeCanyon > Activate Plugin
Step 2 - Activation the Plugin
1) (1, 2)In your WordPress Dashboard, Menu > Progress Ads > Dashboard > AI Product Recommendations and go to the plugin control page and activate it.(3) If you want to change the plugin defaults, you can enable the Advanced Settings option.
Step 3 - Shortcode Generator Settings
1) You can create a shortcode in this field and it anywhere on your website. (These shortcodes shows displays the contents of AI Product Recommendations.)
(1) With Product Style option, you can set the styles of the products to be displayed. (2)You can select this option for show the ratings in your products. (3) Set the number of products to display. (4) Set the number of products you want to display side by side (columns). You can create up to 6. (5) After you create a shortcode, you will receive a shortcode like this:
Step 4 - Widget Settings
1) Widget settings and widget styles.
Theme Default (Widget) Style:
Theme Default (Normal) Style:
When using the Theme Defaults (normal) style, be sure to set the number of columns
Step 5 - Advanced Settings
1) You can set the algorithm for AI recommendations on this page.
(1) This plugin saves product categories (or tags) according to the products visited. Adjust to show recommended products by category or tags. (2) Set the duration of cookies for visitors. (in seconds) (3) Specify the maximum number of IDs to register. (Similarity decreases as the ID number increases.) (4) If your users have previously purchased any products, suggest similar products. (5) If there are any products in the user's cart, show them similar products.


IPPR Namibia
MAPPING OWNERSHIP OF PETROLEUM LICENSES
Which companies have the rights to explore for petroleum?
Using the search functions below, identify which companies hold petroleum exploration rights based on
the concession map, a list of licences and associated blocks, or the names of specific companies.
Additional information


You can contact our management department through email at lakeandriverecology@gmail or by calling us at<PHONE_NUMBER>.
You can contact our financial Department through email at<EMAIL_ADDRESS>or by calling us at<PHONE_NUMBER>.
The financial department is run by Ethan Szlovak.