This is for visualizing code implementing the Quick Sort algorithm. The visualization is implemented using D3.
The code being visualized is located in vdd-core-examples/src/sorter/
. The visualization code is in vdd-core-examples/viz/qsort/
.
The quick sort code is run every time the submit button is pressed. The output is captured and sent to the visualization. The quick sort code can also be tested and visualized from the REPL. The following code can be run to view quick sorting a shuffled list of 20 numbers.
(require '[qsort.driver :as q]) (q/viz-qsort (shuffle (range 20)))
Note: This page must be open to visualize the code execution.


| # | Race Name | Qualifying | Sprint Race | Race | Standings |
|---|---|---|---|---|---|
| {{race.round}} |
{{race.raceName}}
{{race.Circuit.circuitName}} |
{{race.Qualifying.dt | date: short}}
{{race.Qualifying.localeTime}}
|
{{race.Sprint.dt | date: short}}
{{race.Sprint.localeTime}}
|
{{race.dt | date: short}}
{{race.localeTime}}
|


Part 19 Repetitive execution
Loops are used to repeat a specific block of code.
Structure of the for loop:
for(i in vector_expression){
action_command }
3 main elements:
- i is the loop variable: it is updated at each iteration.
- vector_expression: value attributed to i at each iteration (the number of iterations is the length of vector_expression).
- action_command: what action to take at each iteration.
Note the usage of curly brakets {} to start and end the loop!
- Example:
for(i in 2:5){
# prints the value of i at each iteration
print(i)
# multiplies i by 2 at each iteration
<- i*2
y # prints the value of y at each iteration
print(y)
}
- Example of a for loop that iterates over a character vector:
# Character vector
<- c("apple", "pear", "grape")
myfruits
# The for loop prints the current element j, and the number of characters of element j
for(j in myfruits){
print(j)
print(nchar(j))
}
- Example of a for loop that iterates over each row of a matrix, and prints the minimum value of that row :
# Matrix of 50 rows, 16 columns
<- matrix(rnorm(800),
mymat nrow=50)
# For loop over mymat rows
# 1:nrow(mymat): ranges from 1 to the number of rows in the matrix: 1, 2, 3, 4, ...., 48, 49, 50
for(i in 1:nrow(mymat)){
# prints the value of i at each iteration
print(i)
# prints the minimum value of the ith row of mymat at each iteration
print(min(mymat[i,]))
}
- If statement in For loop:
You can combine for loops and if statements:
# Matrix
<- matrix(rnorm(800),
mymat nrow=50)
# Loop over rows of mymat and print row if its median value is > 0
for(i in 1:nrow(mymat)){
# extract the current row
<- mymat[i,]
rowi # if median of row is > 0, print row
if(median(rowi) > 0){
print(rowi)
} }
You can also have a look at this tutorial, to know more about loops.


Doesn't have to be unique. Just pick one or more keywords you can remember when searching for it later.
Submit data


Engineers Thesis - written part [PL]
The aim of my engineers thesis is to implement an application that helps to choose a restaurant
Download!


Lens mass:
Convergence in continuous matter (κc):
Shear in continuous matter (γc):
Lens mass:
Convergence in continuous matter (κc):
Shear in continuous matter (γc):


Battery Status Rating System
ioio.api.battery.js
A javascript that writes the battery status and calculated ratings to the data attributes of the body tag.
The script is based on the Battery Status API draft specification which is supported by modern web browsers.
Some browser implementations don't fully support the latest draft of the Battery Status API specification. The Battery Status Rating System script generally tries to cope with the different implementations, but compatibility to unfinished implementations is not the objective of this script.
Possible use cases
Critical battery status
- Reduce client side calculations, like heavy javascript algorithms, complex CSS layout renderings or animations.
- Reduce data transfers, like the frequency and volume of AJAX calls, unimportant data, already cached data, etc.
- Redirect to a light weight variation of your solution.
Devices in charging state
- You can deliver more sophisticated features, which need more data transfer bandwidth and client side calculations.
- You can start synchronisation processes to save data into the offline storage.
- You can follow the hypothesis that the user is in a relaxed environment and would use other parts of your service than in on the go situations.
Combined data and more
- You may combine the battery status rating system data with more data, like geo location, acceleration sensor data, network mode and much more, to interpret the usage scenarios and adapt your service to them.
- You may have additional ideas.
Documentation
Data attributes
The script adds the following HTML 5 data attributes into your body tag:
<body data-bat-percent="95" data-bat-level="full" data-bat-charge="discharging" data-bat-time-charging="false"
data-bat-time-discharging="much" data-bat-rating="good">
- data-bat-percent: The battery energy level as a percentage value from 0 to 100
- data-bat-level: A classification of the battery energy level with these values: full, high, okay, low, critical
- data-bat-charge: Charging state: charging or discharging
- data-bat-time-charging: A classification of the estimated time to finish the charging: verylittle, little, normal, much, verymuch
- data-bat-time-discharging: A classification of the estimated time until the device may switch off: verylittle, little, normal, much, verymuch
- data-bat-rating: An interpretation of the battery level, discharging time and charging state as a classification: best, good, mediocre, bad, worst
Note: data-bat-time-charging and data-bat-time-discharging may have the value false or Infinity, if time estimation is not possible.
You can use these attributes for JavaScript or CSS.
SCSS (CSS)
source/sass/battery.scss
The delivered SCSS file is an example of how you could use the data attributes of the body tag for css.
JavaScript
source/js/app/ioio.api.battery.js
This is the core of the Battery Status Rating System.
There are certain objects and methods that you can change for your own purposes.
Config
The easiest way of customization besides CSS is the configuration object window.batteryStatus.Config
:
EnergyLevel, TimeLevel, EnergyRating
- You can change the classification names and values of the time, energy and rating levels.
- By default the classification scale of energy level, times and rating is set to five. You can change the scale number, but always use the same scale number for each classification. If you want to reduce the scale of energy levels from five to three, you also have to reduce the time and rating scale number from five to three.
- The order of the classifications and its scales is important and shouldn't be changed.
Data
The object Data.classification
contains the label names for the data attributes of the body tag.
Here you can change the values of the object only. Don't change the label names.
Widget
Another easy way to customize the script, is to add widgets into the object window.batteryStatus.Widget
- Just add your new widget as a new object.
- Add the function call to update the widget data to the desired event in the event object:
window.batteryStatus.Event
Events
Just use the existing event methods in window.batteryStatus.Event
to call your own methods.
Views
Just use your own views in window.batteryStatus.View
by adding new methods or modifying or overwriting existing ones.
Controller
The controller object contains the core methods and is not meant to be changed, except for bug fixes or new features. However, do what you think and feel free and encouraged to submit pull requests.
Build system
Note: For those, who don't want to use the build system, I've included the directory build
into the repository.
Full setup
Development workflow
Serve and watch
gulp serve
This command builds the project, watches code changes and launches web browser and updates on code changes.
Watch (Default)
gulp watch
or
gulp
This is basically the same as the serve
task, but without the web browser launching and updating.
Build
gulp build
This task builds the project without watching and doing anything else afterwards.
Demonstration
I began coding this script on CodePen. You can see the first version of it there. Note: This script may not be the recent version: http://codepen.io/IOIO72/pen/QjOmob/
I wrote an article in german about this project and the user experience aspects: http://www.honma.de/auf-kurs/2015/10/der-batteriestatus/
Contributing
You are very welcome to contribute your feedback to this project. The Battery Status API is a draft specification and it may change in the future. Additionally the implementations in the web browsers are currently incomplete. Therefore the Battery Status API - Rating System depends highly on contributions.
Be encouraged to ...
- send ideas, thoughts, feedback
- bug reports
- feature requests
- pull requests / merge requests
License
MIT licenced
Copyright (c) 2015 Tamio Patrick Honma, http://honma.de


Treasure Island
by Robert Louis Stevenson
Part Two: The Sea Cook, Chapter 11: What I Heard in the Apple Barrel
Additional Information
- Year Published: 1883
- Language: English
- Country of Origin: England
- Source: Stevenson, R. L. (1883). Treasure Island. London, England: Cassell and Co.
-
Readability:
- Flesch–Kincaid Level: 7.0
- Word Count: 2,449
- Genre: Adventure
- ✎ Cite This
Downloads
“No, not I,” said Silver. “Flint was cap’n; I was quartermaster, along of my timber leg. The same broadside I lost my leg, old Pew lost his deadlights. It was a master surgeon, him that ampytated me—out of college and all—Latin by the bucket, and what not; but he was hanged like a dog, and sun-dried like the rest, at Corso Castle. That was Roberts’ men, that was, and comed of changing names to their ships—ROYAL FORTUNE and so on. Now, what a ship was christened, so let her stay, I says. So it was with the CASSANDRA, as brought us all safe home from Malabar, after England took the viceroy of the Indies; so it was with the old WALRUS, Flint’s old ship, as I’ve seen amuck with the red blood and fit to sink with gold.”
“Ah!” cried another voice, that of the youngest hand on board, and evidently full of admiration. “He was the flower of the flock, was Flint!”
“Davis was a man too, by all accounts,” said Silver. “I never sailed along of him; first with England, then with Flint, that’s my story; and now here on my own account, in a manner of speaking. I laid by nine hundred safe, from England, and two thousand after Flint. That ain’t bad for a man before the mast—all safe in bank. ‘Tain’t earning now, it’s saving does it, you may lay to that. Where’s all England’s men now? I dunno. Where’s Flint’s? Why, most on ‘em aboard here, and glad to get the duff—been begging before that, some on ‘em. Old Pew, as had lost his sight, and might have thought shame, spends twelve hundred pound in a year, like a lord in Parliament. Where is he now? Well, he’s dead now and under hatches; but for two year before that, shiver my timbers, the man was starving! He begged, and he stole, and he cut throats, and starved at that, by the powers!”
“Well, it ain’t much use, after all,” said the young seaman.
“’Tain’t much use for fools, you may lay to it—that, nor nothing,” cried Silver. “But now, you look here: you’re young, you are, but you’re as smart as paint. I see that when I set my eyes on you, and I’ll talk to you like a man.”
You may imagine how I felt when I heard this abominable old rogue addressing another in the very same words of flattery as he had used to myself. I think, if I had been able, that I would have killed him through the barrel. Meantime, he ran on, little supposing he was overheard.
“Here it is about gentlemen of fortune. They lives rough, and they risk swinging, but they eat and drink like fighting-cocks, and when a cruise is done, why, it’s hundreds of pounds instead of hundreds of farthings in their pockets. Now, the most goes for rum and a good fling, and to sea again in their shirts. But that’s not the course I lay. I puts it all away, some here, some there, and none too much anywheres, by reason of suspicion. I’m fifty, mark you; once back from this cruise, I set up gentleman in earnest. Time enough too, says you. Ah, but I’ve lived easy in the meantime, never denied myself o’ nothing heart desires, and slep’ soft and ate dainty all my days but when at sea. And how did I begin? Before the mast, like you!”
“Well,” said the other, “but all the other money’s gone now, ain’t it? You daren’t show face in Bristol after this.”
“Why, where might you suppose it was?” asked Silver derisively.
“At Bristol, in banks and places,” answered his companion.
“It were,” said the cook; “it were when we weighed anchor. But my old missis has it all by now. And the Spy-glass is sold, lease and goodwill and rigging; and the old girl’s off to meet me. I would tell you where, for I trust you, but it’d make jealousy among the mates.”
“And can you trust your missis?” asked the other.
“Gentlemen of fortune,” returned the cook, “usually trusts little among themselves, and right they are, you may lay to it. But I have a way with me, I have. When a mate brings a slip on his cable—one as knows me, I mean—it won’t be in the same world with old John. There was some that was feared of Pew, and some that was feared of Flint; but Flint his own self was feared of me. Feared he was, and proud. They was the roughest crew afloat, was Flint’s; the devil himself would have been feared to go to sea with them. Well now, I tell you, I’m not a boasting man, and you seen yourself how easy I keep company, but when I was quartermaster, LAMBS wasn’t the word for Flint’s old buccaneers. Ah, you may be sure of yourself in old John’s ship.”
“Well, I tell you now,” replied the lad, “I didn’t half a quarter like the job till I had this talk with you, John; but there’s my hand on it now.”
“And a brave lad you were, and smart too,” answered Silver, shaking hands so heartily that all the barrel shook, “and a finer figurehead for a gentleman of fortune I never clapped my eyes on.”
By this time I had begun to understand the meaning of their terms. By a “gentleman of fortune” they plainly meant neither more nor less than a common pirate, and the little scene that I had overheard was the last act in the corruption of one of the honest hands—perhaps of the last one left aboard. But on this point I was soon to be relieved, for Silver giving a little whistle, a third man strolled up and sat down by the party.
“Dick’s square,” said Silver.
“Oh, I know’d Dick was square,” returned the voice of the coxswain, Israel Hands. “He’s no fool, is Dick.” And he turned his quid and spat.  I’ve had a’most enough o’ Cap’n Smollett; he’s hazed me long enough, by thunder! I want to go into that cabin, I do. I want their pickles and wines, and that.”
“Israel,” said Silver, “your head ain’t much account, nor ever was. But you’re able to hear, I reckon; leastways, your ears is big enough. Now, here’s what I say: you’ll berth forward, and you’ll live hard, and you’ll speak soft, and you’ll keep sober till I give the word; and you may lay to that, my son.”
“Well, I don’t say no, do I?” growled the coxswain. “What I say is, when? That’s what I say.”
“When! By the powers!” cried Silver. “Well now, if you want to know, I’ll tell you when. The last moment I can manage, and that’s when. Here’s a first-rate seaman, Cap’n Smollett, sails the blessed ship for us. Here’s this squire and doctor with a map and such—I don’t know where it is, do I? No more do you, says you. Well then, I mean this squire and doctor shall find the stuff, and help us to get it aboard, by the powers. Then we’ll see.
“We’re all forecastle hands, you mean,” snapped Silver. “We can steer a course, but who’s to set one? That’s what all you gentlemen split on, first and last. If I had my way, I’d have Cap’n Smollett work us back into the trades at least; then we’d have no blessed miscalculations and a spoonful of water a day. But I know the sort you are. I’ll finish with ‘em at the island, as soon’s the blunt’s on board, and a pity it is. But you’re never happy till you’re drunk.  “Who’s a-crossin’ of you?”
“Why, how many tall ships, think ye, now, have I seen laid aboard? And how many brisk lads drying in the sun at Execution Dock?” cried Silver. “And all for this same hurry and hurry and hurry. You hear me? I seen a thing or two at sea, I have. If you would on’y lay your course, and a p’int to windward, you would ride in carriages, you would. But not you! I know you. You’ll have your mouthful of rum tomorrow, and go hang.”
“Everybody knowed you was a kind of a chapling, John; but there’s others as could hand and steer as well as you,” said Israel. “They liked a bit o’ fun, they did. They wasn’t so high and dry, nohow, but took their fling, like jolly companions every one.”
“So?” says Silver. “Well, and where are they now? Pew was that sort, and he died a beggar-man. Flint was, and he died of rum at Savannah. Ah, they was a sweet crew, they was! On’y, where are they?”
“But,” asked Dick, “when we do lay ‘em athwart, what are we to do with ‘em, anyhow?”
“There’s the man for me!” cried the cook admiringly. “That’s what I call business. Well, what would you think? Put ‘em ashore like maroons? That would have been England’s way.  That would have been Flint’s, or Billy Bones’s.”
“Billy was the man for that,” said Israel. “’Dead men don’t bite,’ says he. Well, he’s dead now hisself; he knows the long and short on it now; and if ever a rough hand come to port, it was Billy.”
“Right you are,” said Silver; “rough and ready. But mark you here, I’m an easy man—I’m quite the gentleman, says you; but this time it’s serious. Dooty is dooty, mates. I give my vote—death. When I’m in Parlyment and riding in my coach, I don’t want none of these sea-lawyers in the cabin a-coming home, unlooked for, like the devil at prayers. Wait is what I say; but when the time comes, why, let her rip!”
“John,” cries the coxswain, “you’re a man!”
“You’ll say so, Israel when you see,” said Silver. “Only one thing I claim—I claim Trelawney.
You may fancy the terror I was in! I should have leaped out and run for it if I had found the strength, but my limbs and heart alike misgave me. I heard Dick begin to rise, and then someone seemingly stopped him, and the voice of Hands exclaimed, “Oh, stow that!  Let’s have a go of the rum.”
“Dick,” said Silver, “I trust you.  There’s the key; you fill a pannikin and bring it up.”
Terrified as I was, I could not help thinking to myself that this must have been how Mr. Arrow got the strong waters that destroyed him.
Dick was gone but a little while, and during his absence Israel spoke straight on in the cook’s ear. It was but a word or two that I could catch, and yet I gathered some important news, for besides other scraps that tended to the same purpose, this whole clause was audible: “Not another man of them’ll jine.” Hence there were still faithful men on board.
When Dick returned, one after another of the trio took the pannikin and drank—one “To luck,” another with a “Here’s to old Flint,” and Silver himself saying, in a kind of song, “Here’s to ourselves, and hold your luff, plenty of prizes and plenty of duff.”
Just then a sort of brightness fell upon me in the barrel, and looking up, I found the moon had risen and was silvering the mizzen-top and shining white on the luff of the fore-sail; and almost at the same time the voice of the lookout shouted, “Land ho!”


# DataHub Settings.
DEBUG = True TEMPLATE_DEBUG = DEBUG
- ADMINS = (
- (‘Anant Bhardwaj’, 'anantb@csail.mit.edu‘),
)
MANAGERS = ADMINS
- DATABASES = {
- ‘default’: {
- ‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’, # Add ‘postgresql_psycopg2’, ‘mysql’, ‘sqlite3’ or ‘oracle’. ‘NAME’: ‘datahub’, # Or path to database file if using sqlite3. ‘USER’: ‘arcarter’, # Not used with sqlite3. ‘PASSWORD’: ‘11235813’, # Not used with sqlite3. ‘HOST’: ‘’, # Set to empty string for localhost. Not used with sqlite3. ‘PORT’: ‘5432’, # Set to empty string for default. Not used with sqlite3.
}
}
TIME_ZONE = ‘America/Chicago’
# Language code for this installation. LANGUAGE_CODE = ‘en-us’
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not # to load the internationalization machinery. USE_I18N = True
# If you set this to False, Django will not format dates, numbers and # calendars according to the current locale. USE_L10N = True
# If you set this to False, Django will not use timezone-aware datetimes. USE_TZ = True
# Absolute filesystem path to the directory that will hold user-uploaded files. # Example: “/home/media/media.lawrence.com/media/” MEDIA_ROOT = ‘’
# URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: “http://media.lawrence.com/media/”, “http://example.com/media/” MEDIA_URL = ‘’
# Absolute path to the directory static files should be collected to. # Don’t put anything in this directory yourself; store your static files # in apps’ “static/” subdirectories and in STATICFILES_DIRS. # Example: “/home/media/media.lawrence.com/static/” STATIC_ROOT = ‘’
# URL prefix for static files. # Example: “http://media.lawrence.com/static/” STATIC_URL = ‘/static/’
# Additional locations of static files STATICFILES_DIRS = (
# Put strings here, like “/home/html/static” or “C:/www/django/static”. # Always use forward slashes, even on Windows. # Don’t forget to use absolute paths, not relative paths.
)
# List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = (
‘django.contrib.staticfiles.finders.FileSystemFinder’, ‘django.contrib.staticfiles.finders.AppDirectoriesFinder’,
# ‘django.contrib.staticfiles.finders.DefaultStorageFinder’, )
# Make this unique, and don’t share it with anybody. SECRET_KEY = ‘k+)#kqr2pgvqm_6y8hq+tj#p12&p%dz#_exvw2x4@##dyz!or*’
# List of callables that know how to import templates from various sources. TEMPLATE_LOADERS = (
‘django.template.loaders.filesystem.Loader’, ‘django.template.loaders.app_directories.Loader’,
# ‘django.template.loaders.eggs.Loader’, )
- MIDDLEWARE_CLASSES = (
- ‘django.middleware.common.CommonMiddleware’, ‘django.contrib.sessions.middleware.SessionMiddleware’, ‘django.middleware.csrf.CsrfViewMiddleware’, ‘django.contrib.auth.middleware.AuthenticationMiddleware’, ‘django.contrib.messages.middleware.MessageMiddleware’, # Uncomment the next line for simple clickjacking protection: # ‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
)
ROOT_URLCONF = ‘browser.urls’
# Python dotted path to the WSGI application used by Django’s runserver. WSGI_APPLICATION = ‘browser.wsgi.application’
- TEMPLATE_DIRS = (
- # Put strings here, like “/home/html/django_templates” or “C:/www/django/templates”. # Always use forward slashes, even on Windows. # Don’t forget to use absolute paths, not relative paths.
)
- INSTALLED_APPS = (
- ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.sites’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘account’, ‘console’, ‘browser’, ‘dataq’, ‘sentiment’, ‘datatables’, ‘dbwipes’, ‘inventory’, ‘refiner’, ‘viz2’, ‘www’
)
# A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. # See http://docs.djangoproject.com/en/dev/topics/logging for # more details on how to customize your logging configuration. LOGGING = {
‘version’: 1, ‘disable_existing_loggers’: False, ‘filters’: {
- ‘require_debug_false’: {
- ‘()’: ‘django.utils.log.RequireDebugFalse’
}
}, ‘handlers’: {
- ‘mail_admins’: {
- ‘level’: ‘ERROR’, ‘filters’: [‘require_debug_false’], ‘class’: ‘django.utils.log.AdminEmailHandler’
}
}, ‘loggers’: {
- ‘django.request’: {
- ‘handlers’: [‘mail_admins’], ‘level’: ‘ERROR’, ‘propagate’: True,
},
}
}
# server_settings try:
from server_settings import * USE_X_FORWARDED_HOST = True
- except ImportError:
- pass


LCOV - code coverage report
Current view:
top level
-
ManagerFile
- WGDownloadManager.m
(
source
/ functions)
Hit
Total
Coverage
Test:
Coverage.info
Lines:
48
78
61.5 %
Date:
2019-02-19 13:48:16
Functions:
16
24
66.7 %
Function Name
Hit count
-[WGDownloadManager .cxx_destruct]
0
-[WGDownloadManager URLSession:task:didCompleteWithError:]
0
-[WGDownloadManager copyWithZone:]
0
-[WGDownloadManager mutableCopyWithZone:]
0
-[WGDownloadManager setSession:]
0
-[WGDownloadManager setStream:]
0
-[WGDownloadManager setTask:]
0
-[WGDownloadManager stopTask]
0
+[WGDownloadManager allocWithZone:]
256
-[WGDownloadManager URLSession:dataTask:didReceiveResponse:completionHandler:]
256
-[WGDownloadManager session]
256
-[WGDownloadManager stream]
256
-[WGDownloadManager task]
256
__35+[WGDownloadManager allocWithZone:]_block_invoke
256
__43+[WGDownloadManager shareWGDownloadManager]_block_invoke
256
__copy_helper_block_
256
+[WGDownloadManager shareWGDownloadManager]
512
-[WGDownloadManager downloadWithUrl:success:faile:process:]
512
-[WGDownloadManager setTotalLength:]
512
-[WGDownloadManager totalLength]
512
__destroy_helper_block_
512
-[WGDownloadManager downloadUrl]
768
-[WGDownloadManager setDownloadUrl:]
768
-[WGDownloadManager URLSession:dataTask:didReceiveData:]
1810944
Generated by:
LCOV version 1.13


Fatal hit and run sentencing expected Thursday
by WFTX Digital TeamCOLLIER COUNTY, Fla. – Thursday we will find out how long a Naples man will spend in prison for killing a 13-year-old boy in a hit and run.
Last month, Pedro Silva-Diaz was found guilty of leaving the scene of a crash and driving without a license, causing death.
The crash happened in November of 2017 when Silva-Diaz hit Shayden Colvin, who was riding his bike.
Diaz could get up to 35 years in prison.


An overview of my projects on the go, and an assortment of blog posts while studying web development at Enspiral Dev Academy
Check out some of the below links to find out more about me, my projects, and my blog.
One of my most recent projects is an app called Kai Time built over the final week at my time at Dev Academy. Feel free to check it out, get inspired to try vegetarian cooking, and join our online community.
I began writting a blog detailing my journey to learning web development, which details some of the technical and social/cultural learnings and challenges along the way. Feel free to check it out.
I really enjoy collaboration and feedback. Hit me up via any of the below methods if you have any ideas you would like to discuss!
Email:
Click here
Phone:
+64<PHONE_NUMBER>
Skype:
SkyeBelinda


No address registered, add a new one.
{% else %}
{{ address.address_line1 }},
{% if address.address_line2 %}
{{ address.address_line2 }},
{% endif %}
{{ address.city }},
{{ address.state }},
{{ address.country }},
{{ address.pincode }}.
{{ address.phone }}


4.5.1. Classification and Data¶
<IP_ADDRESS>. Node Classification in SIMP¶
From the Puppet, Inc website:
Hiera is a key/value lookup tool for configuration data, built to set node-specific data without repeating yourself.
SIMP uses Hiera to attempt to make configuration of the overall system easier for our end users by providing a simple, centralized, method for setting class parameters using automatic parameter lookup and as a method for basic node classification.
It is highly recommended that you read the Hiera Documentation prior to jumping into using a SIMP system.
<IP_ADDRESS>. Hiera in SIMP¶
As mentioned, SIMP users are expected to make extensive use of Hiera to set parameters, particularly those that are deep within the code.
The default Hiera hierarchy used by SIMP looks like the following:
---
:backends:
- 'yaml'
:hierarchy:
# Most specific
- 'hosts/%{trusted.certname}'
- 'hosts/%{facts.fqdn}'
- 'hosts/%{facts.hostname}'
- 'domains/%{facts.domain}'
- '%{facts.os.family}'
- '%{facts.os.name}/%{facts.os.release.full}'
- '%{facts.os.name}/%{facts.os.release.major}'
- '%{facts.os.name}'
- 'hostgroups/%{::hostgroup}'
- 'default'
- 'compliance_profiles/%{::compliance_profile}'
- 'simp_config_settings'
- 'scenarios/%{::simp_scenario}'
# Least specific
:logger: 'puppet'
:yaml:
:datadir: '/etc/puppetlabs/code/environments/%{::environment}/hieradata'
Warning
This may not be accurate for your version of SIMP, please check your local Hiera settings!
The rest of this document will use this hierarchy as a reference.
<IP_ADDRESS>. Assigning Classes to Nodes¶
Assigning classes to nodes can be done in a few ways in SIMP. First, there is a
a lookup
function in /etc/puppetlabs/code/environments/simp/manifests/site.pp
that looks for an array called classes
in your hierarchy. It also looks for
an array called class_exclusions
, which can be used to remove classes from
the classes array. The classes that are included are the result of
$classes - $class_exclusions
. If classes need to be added to all nodes, a
classes
array could be added to the default.yaml
in your hieradata,
like this:
---
classes:
- 'site::example_class'
---
A similar array could be created in any other layer in the hierarchy, and it
will be merged with the ‘unique’ strategy by the lookup
function noted
above.
The SIMP profile module also includes other classes needed for a secure baseline, which are discused below in the simp scenarios section.
<IP_ADDRESS>. Assigning Defined Types to Nodes¶
Defined types do not have the ability to receive parameters via Hiera in the
traditional sense. To include a defined type on a node, one could use
create_resources
, but this is messy and discouraged. Instead, create your
own profile or add a class to the SIMP site
module such as:
/etc/puppetlabs/code/environments/simp/modules/site/manifests/my_site.pp
.
Note
You can find a working example of this in the Configure PXE Boot section of the documentation
<IP_ADDRESS>. SIMP File Structure¶
The default puppet environment in SIMP, located at
/etc/puppetlabs/code/environments/simp
, contains almost
all necessary files for a Puppet infrastructure. It will look like this on a
fresh SIMP system:
/etc/puppetlabs/code/environments/simp/
├── environment.conf
├── hieradata/
├── manifests/
└── modules/
environment.conf
- Sets the environment to include the second SIMP modulepath.manifests/
- Contains site.pp and all other node manifests.hieradata/
- Default location of the yaml files which contain your node datamodules/
- Default install location of Puppet modules. Each module RPM copies files here during installation from/usr/share/simp/modules
.
<IP_ADDRESS>. Second Modulepath¶
SIMP utilizes a second modulepath to ensure that deployment tools like r10k
don’t squash keydist and some krb5 files. The path is
/var/simp/environments/simp/site_files/
. Apply Certificates are stored there.
<IP_ADDRESS>. Hiera¶
/etc/puppetlabs/code/environments/simp/hieradata/
├── CentOS -> RedHat/
├── compliance_profiles/
├── default.yaml
├── hostgroups/
├── hosts/
├── RedHat/
├── scenarios/
└── simp_config_settings.yaml
hieradata/hosts/
- By populating this directory with some.host.name.yaml file, you can assign parameters to host some.host.namehieradata/domains/
- Same principal as hosts, but domain names.hieradata/Redhat/
- RedHat-specific hiera settings.hieradata/CentOS/
- CentOS-specific hiera settings, symlinked tohieradata/Redhat/
.hieradata/hostgroups/
- The hostgroup of a node can be computed in site.pp. Nodes assigned to hostgroup $hostgroup will read hiera from a file named <hostgroup>.yaml in this directory.hieradata/default.yaml
- Settings that should be applied to the entire infrastructure.hieradata/simp_config_settings.yaml
- Contains the variables needed to configure SIMP. Added bysimp config
.hieradata/scenarios/
- Directory containing SIMP Scenarios, set inmanifests/site.pp
.
/etc/puppetlabs/puppet/hiera.yaml
- Hiera’s config file, used to control the
hierarchy of your backends. The order of the files above mirrors that order in
the distributed hiera.yaml.
<IP_ADDRESS>. SIMP Scenarios¶
SIMP scenarios are groups of classes, settings, and simp_options that ensure the system is compliant and secure.
There are currently three SIMP scenarios: - simp - simp_lite - poss
The simp scenario includes all security features enabled by default, including iptables and svckill. This scenario is what stock SIMP used to look like in previous releases.
The simp_lite scenario offers many security features, with a few explicity turned off. This scenario was designed to make it easier to implement SIMP in an existing environment, because it might not be trivial to flip SELinux to Enforcing on all nodes.
The poss option is the barebones option. It only includes the pupmod
class, to configure Puppet agent on clients. All of the simp_options default to
false, so SIMP will not do a lot of modification to clients through Puppet when
using this scenario.
Note
The SIMP or Puppet server is exempt from most of these settings, and will be
using most features from the simp scenario by default. The SIMP server
should only have services on it related to Puppet and systems management, and
SIMP modules all work with all security features enabled. See the
puppet.your.domain.yaml
in the hieradata/hosts
directory for details.


Dare to share
11 Jul 2012Last night at the Bay Area useR Group July meeting, we had the opportunity to listening to Norman Matloff and Karthik Ram.
Norm started the session with a presentation on his "Rth"
package. But the main
dish was in charge of Karthik who spoke about R's role in facilitating
open science. You can check his slides
about R and Open Science.
From all the very interesting stuff mentioned by Karthik, the two main key ideas that resonated in my head after his talk were sharing and collaboration.
Basically, the main idea behind the open science movement can be put this way:
Open the doors for the entire (scientific) community so everybody can see how you do your research.
Open science is much more than showing people what you do; open science is more about showing people not only what you did but more important HOW you did it. Writing a paper and making presentations help you show the things you do, but they don't actually show the details of how you do them. And you know: the devil is in the details.
 The little problem, however, is that may of us refuse to share our data, our code and our tools, mainly because we are afraid of the pirates and thieves that might steal all our precious work. It is true that this is a real threat but I think that the benefits outweigh the risks of adopting the open science philosophy.
Let me give you some of the benefits of sharing:
First, it is perfect for providing your work a longer lifetime! Just think about the tons of works that are now in oblivion inside some hard-drive of flash-drive without never watching the screenlight again. For instance, consider all those years of hard work that takes a grad student to get her PhD, with the corresponding data tables, code scripts, results, graphics, and so on. By sharing your work, you'll allow it to have a larger impact.
Second, by showing other people how you do your research, your colleagues can try to replicate your analysis, validate it, confirm your findings, and give you more recognition. It increases the chances of getting more citations, and also to become a reference for future applications.
Third, it can serve your future you. As Kharthik remarked it "most science is not reproducible or repeatable, even within the same lab group over time". This is a very strong reason to share your data and code, so you or anyone else in your lab, some time in the future, may reproduce/repeat the obtained results.
Fourth, it will force you to make sure that your data and code are as cleaner as possible. Of course, there will always be cases when some errors and bugs are still around, but here is where the external scrutiny comes handy because other users might detect something wrong that scaped your eyes.
Fifth, it will open new opportunities for collaboration. Since other researchers can actually see how you do what you are doing, they may be interesting in collaborating with you because they know how you work. An who knows, you might even get contacted by companies or recruiters interested in someone with your profile and skills.
So, next time you doubt about whether you should opening your science to the world, go for it and dare to share. If you want to know more about open science and R please check Ropensci: a collaborative effort to develop R-based tools for facilitating Open Science.


商品名称
产品描述
Quisque vel enim quis purus ultrices consequat, sed tincidunt massa blandit ipsum interdum tristique cras dictum, lacus eu molestie elementum nulla est auctor. Etiam dan lorem quis ligula elementum porttitor...- 保证 质量检查
- 免费配送 所有产品免费配送
- 特殊赠品 特殊赠品
- 免费退换 七天之内
- 客服电话 123456
每个篮球或辣椒配方的一个客户，但有时坐在质量非常难过，明天，客户是没有元素的电视足球经纪人。丹LOREM保留任何一家航空公司的元素。家庭作业需要辣椒锅和黑巧克力之前。Lorem存有胡萝卜番茄本科elitos.X
保修信息
有限保修
Limited Warranties are non-transferable. The following Limited Warranties are
given to the original retail purchaser of the following Ashley Furniture Industries,
Inc.Products:
Frames Used In Upholstered and Leather Products
终生有限保修
A Limited Lifetime Warranty applies to all frames used in sofas, couches, love
seats, upholstered chairs, ottomans, sectionals, and sleepers. Ashley Furniture
Industries,Inc. warrants these components to you, the original retail purchaser,
to be free from material manufacturing defects.
采购 & 交付
Before you make your purchase, it’s helpful to know the measurements of the area you plan to place the furniture. You should also measure any doorways and hallways through which the furniture will pass to get to its final destination.Picking up at the store
Shopify Shop requires that all products are properly inspected BEFORE you take it home to insure there are no surprises. Our team is happy to open all packages and will assist in the inspection process. We will then reseal packages for safe transport. We encourage all customers to bring furniture pads or blankets to protect the items during transport as well as rope or tie downs. Shopify Shop will not be responsible for damage that occurs after leaving the store or during transit. It is the purchaser’s responsibility to make sure the correct items are picked up and in good condition.Delivery
Customers are able to pick the next available delivery day that best fits their schedule. However, to route stops as efficiently as possible, Shopify Shop will provide the time frame. Customers will not be able to choose a time. You will be notified in advance of your scheduled time frame. Please make sure that a responsible adult (18 years or older) will be home at that time.In preparation for your delivery, please remove existing furniture, pictures, mirrors, accessories, etc. to prevent damages. Also insure that the area where you would like your furniture placed is clear of any old furniture and any other items that may obstruct the passageway of the delivery team. Shopify Shop will deliver, assemble, and set-up your new furniture purchase and remove all packing materials from your home. Our delivery crews are not permitted to move your existing furniture or other household items. Delivery personnel will attempt to deliver the purchased items in a safe and controlled manner but will not attempt to place furniture if they feel it will result in damage to the product or your home. Delivery personnel are unable to remove doors, hoist furniture or carry furniture up more than 3 flights of stairs. An elevator must be available for deliveries to the 4th floor and above.
付款信息
Dust or wipe clean with a cloth dampened with water once a week. Be sure not to leave water spots on the surface. These water spots will dry and could possibly leave permanent marks.
Clean stains/spots using the following steps: Dampen a soft cloth with a mixture of hot water and liquid dishwashing detergent. Wring the cloth as much as possible to remove excess liquid. Rub the surface lightly in a circular motion. Dry the surface immediately with a clean, soft towel.


This game is powered by an Angular.js open-source framework that requires no technical knowledge to use. To see the framework, please visit the Github Repository
Horatio, Marcellus, and Bernardo approach the prince, Hamlet. They tell him that they’ve seen what they think is the ghost of his father. Hamlet joins them that night on their watch and, behold! His father’s ghost appears. He tells Hamlet that he was murdered by his brother, Claudius, who then married his wife, Gertrude and took over the throne. He asks Hamlet to seek revenge.
The news and the sight of his father’s ghost were too much for Hamlet. He goes insane, confusing everyone around him with lunatic outbursts. Meanwhile, Polonius (Ophelia’s father), Claudius, and Gertrude form a plan to find out if the cause of Hamlet’s madness is love for Ophelia. They spy on Hamlet and Ophelia as Ophelia gives back the tokens of his affection. Hamlet is unfocused and doesn’t seem to pay attention to what Ophelia is saying to him. His reaction isn’t what they expected. They agree lovesickness must not be the cause.
Then, a theatre troupe visits the castle. Gertrude and Claudius believe it might help Hamlet to watch them perform, but they have to have him dragged out when his outbursts continually interrupt the play.
Hamlet is sent away as quickly as possible. Claudius sees his opportunity to get rid of Hamlet for good and takes it – Rosencrantz and Guildenstern accompany Hamlet with a letter calling for his death.
Goodnight, sweet prince...
ROUTE: LEAVE QUIETLY
Then, a theatre troupe visits the castle. Gertrude and Claudius believe it might help Hamlet to watch them perform, but they have to have him dragged out when his outbursts continually interrupt the play.
Rosencrantz and Guildenstern approach Hamlet after the play – he’s wanted in his mother’s quarters. Polonius hides himself in Gertrude’s quarters before Hamlet barges in. They argue about why Hamlet is acting this way, and Hamlet gets too intense and attacks her. His mother cries out, and Polonius yells for help.
Hamlet: How now, a rat? Dead for a ducat, dead!
Hamlet stabs Polonius and he falls over dead. Hamlet and Gertrude continue to argue, with Hamlet making less and less sense, until the ghost appears, reminding Hamlet that his mother shouldn’t be blamed and revenge should be sought against Claudius.
The sight of the ghost sends Hamlet into a frenzy.
 Guards rush in to see Hamlet, bloody, standing over their bodies.
Hamlet is imprisoned and quickly sentenced to death. Laertes comes back to Denmark to find his father dead, his sister mad, and Hamlet already killed for his crimes.
Goodnight, sweet prince...
ROUTE: CLAUDIUS RULES ALONE
Hamlet flees from the castle. The guards search and search but fail to find any hint of his whereabouts. Ophelia goes mad with grief after the loss of her father and the disappearance of Hamlet.
When Laertes returns to find his father dead and his sister mad, he wants to hunt Hamlet down and get revenge, but Hamlet cannot be found. Though they search and search, they never find out that Hamlet commit suicide that same night.
Goodnight, sweet prince...
ROUTE: NOT TO BE
Hamlet: Here, as before, never, so help you mercy, How strange or odd soe'er I bear myself (As I perchance hereafter shall think meet To put an antic disposition on), That you, at such times seeing me, never shall— With arms encumbered thus, or this headshake, Or by pronouncing of some doubtful phrase, As “Well, well, we know,” or “We could an if we would,” Or “If we list to speak,” or “There be an if they might,” Or such ambiguous giving out—to note That you know aught of me. This not to do, So grace and mercy at your most need help you, Swear.
 A theatrical troupe visits the castle, and he plans for them to perform “The Murder of Gonzago,” a play that mirrors what happened to the late king, to get Claudius to betray the fact that he murdered King Hamlet.
Meanwhile, Polonius (Ophelia’s father), Claudius, and Gertrude form a plan of their own to find out if the cause of Hamlet’s madness is love for Ophelia. They spy on Hamlet and Ophelia as Ophelia gives back the tokens of his affection.
Hamlet: You should not have believed me, for virtue cannot so inoculate our old stock but we shall relish of it. I loved you not.
Ophelia: I was the more deceived.
Hamlet: Get thee to a nunnery. Why wouldst thou be a breeder of sinners? I am myself indifferent honest, but yet I could accuse me of such things that it were better my mother had not borne me.
They agree that lovesickness must not be the cause.
Then, the play, enacting the perceived events of the king’s murder. Hamlet watches Claudius closely, and he does act strangely. When the king is killed, he demands light and flees, along with the rest of the audience. Rosencrantz and Guildenstern approach Hamlet – he’s wanted in his mother’s quarters.
Polonius hides himself in Gertrude’s quarters before Hamlet barges in. They argue, and Hamlet gets a little too intense. His mother cries out, and Polonius yells for help.
Hamlet: How now, a rat? Dead for a ducat, dead!
Hamlet stabs Polonius and he falls over dead. Hamlet and Gertrude continue to argue until the ghost appears, reminding Hamlet that his mother shouldn’t be blamed and revenge should be sought against Claudius. Hamlet makes Gertrude promise not to tell anyone he’s faking being insane and leaves to hide the body.
Once Polonius’ body is found, Hamlet is locked away.  Gertrude keeps quiet about what Hamlet told her.
Hamlet tries to explain things to Ophelia when she visits him, but she can’t forgive him for what he did.
Since he now knows that Hamlet suspects him of killing his father, Claudius uses this opportunity to sentence Hamlet to death. No matter what Hamlet says about only pretending to be insane, no one speaks out against Claudius’ ruling.
After Hamlet is killed, Laertes returns to Denmark to be with his grieving sister.
Though Gertrude believed what Hamlet told her, time and grief drove her into Claudius’ arms again. He made her believe that Hamlet was truly mad and that nothing he said was true.
Life goes on in Denmark, short of one brooding teen and his girlfriend’s father.
Goodnight, sweet prince…
ROUTE: CLAUDIUS WINS
Claudius plans for Hamlet’s friends from school, Rosencrantz and Guildenstern, to accompany him back to England.
Then, the play, enacting the perceived events of the king’s murder. Hamlet watches Claudius closely, and he does act strangely. When the king is killed, he demands light and flees, along with the rest of the audience. Rosencrantz and Guildenstern approach Hamlet – he’s wanted in his mother’s quarters.
Polonius hides himself in Gertrude’s quarters before Hamlet barges in. They argue, and Hamlet gets a little too intense. His mother cries out, and Polonius yells for help.
Hamlet: How now, a rat? Dead for a ducat, dead!
Hamlet stabs Polonius and he falls over dead. Hamlet and Gertrude continue to argue until the ghost appears, reminding Hamlet that his mother shouldn’t be blamed and revenge should be sought against Claudius. Hamlet makes Gertrude promise not to tell anyone he’s faking being insane and leaves to hide the body.
Once Polonius’ body is found, Hamlet is sent to England with Rosencrantz and Guildenstern. Ophelia is driven mad with grief. Laertes makes his way back to Denmark, plunged into rage once he sees the state of his father and sister.
Ophelia: There’s fennel for you, and columbines.—There’s rue for you, and here’s some for me. We may call it “herb of grace” o’ Sundays.—Oh, you must wear your rue with a difference.—There’s a daisy. I would give you some violets, but they withered all when my father died.
Ophelia: (sings) And will he not come again? And will he not come again?  He never will come again.
Claudius promises Laertes his revenge. Horatio receives a letter that Hamlet is back in Denmark as well.
Laertes and Claudius are confident.
Gertrude interrupts their planning with news: Ophelia has drowned in the river. Hamlet comes upon Ophelia’s funeral and leaps into her grave to fight with Laertes and proclaim his love.
The next day, Hamlet reveals to Horatio that he was supposed to be killed in England, but he switched the letter calling for his death with one calling for the death of Rosencrantz and Guildenstern. Hamlet is issued Laertes’ challenge.
Hamlet asks Laertes for forgiveness before their duel, and Laertes says he can’t forgive Hamlet yet, but he can accept his love.
Hamlet wins the first strike.
And another.
Laertes sees his opportunity to strike, but he remarks that to do so is almost against his conscience.
Laertes strikes, and the sharpened blade rips through Hamlet’s clothes to break the skin with its poisoned tip. Hamlet fights back after being wounded and manages to strike Laertes with his own sword, drawing blood.
Laertes: I am justly kill’d with my own treachery
Laertes reveals the plot to Hamlet and falls dead. Hamlet, in his final act of revenge, strikes down Claudius with the poisoned foil. Before he dies, Hamlet asks Gertrude to live on, hold the throne on her own, and tell the story of what happened here.
Goodnight, sweet prince…
ROUTE: GERTRUDE TELLS THE TALE
Laertes acts with his conscience and loses to Hamlet. The plan failed, unbeknownst to all except Claudius and Laertes. Everyone survived this encounter, but another plot is surely brewing.
Goodnight, sweet prince…
ROUTE: MORE TO COME
Claudius: —Soft, let me see.— We’ll make a solemn wager on your cunnings.— I ha ’t! When in your motion you are hot and dry, As make your bouts more violent to that end, And that he calls for drink, I’ll have prepared him A chalice for the nonce, whereon but sipping, If he by chance escape your venomed stuck.
Gertrude interrupts their planning with news: Ophelia has drowned in the river. Hamlet comes upon Ophelia’s funeral and leaps into her grave to fight with Laertes and proclaim his love.
The next day, Hamlet reveals to Horatio that he was supposed to be killed in England, but he switched the letter calling for his death with one calling for the death of Rosencrantz and Guildenstern. Hamlet is issued Laertes’ challenge.
Hamlet asks Laertes for forgiveness before their duel, and Laertes says he can’t forgive Hamlet yet, but he can accept his love.
Hamlet wins the first strike.
The fight continues, but Hamlet begins to stumble. He falls and screams about the wine – poison! – before he dies. The people know that this must be the king’s doing, but who can act out against him?
Goodnight, sweet prince…
ROUTE: TYRANT KING
Gertrude drinks instead. Claudius tries to stop her, but he doesn’t want to make a big scene and reveal his plan. Laertes remarks to himself that to strike Hamlet with the poisoned blade is almost against his conscience…
Laertes strikes, and the sharpened blade rips through Hamlet’s clothes to break the skin with its poisoned tip. Hamlet fights back after being wounded and manages to strike Laertes with his own sword, drawing blood.
Laertes: I am justly kill’d with my own treachery
Gertrude cries out to Hamlet that there was something in the drink and dies from the poison. Laertes reveals the plot to Hamlet and falls dead. Hamlet, in his final act of revenge, strikes Claudius with the poisoned blade and forces him to drink the poisoned wine. Before he dies, Hamlet asks Horatio to live on and tell the story of what happened here.
Goodnight, sweet prince…
ROUTE: TRUE SHAKESPEAREAN
Laertes acts with his conscience and loses to Hamlet. Gertrude calls out to Hamlet that there was something in the drink and dies from the poison. Laertes reveals the plot to Hamlet. Hamlet takes the rest of the poisoned wine and forces Claudius to drink it.
Claudius dies, and Hamlet takes over the throne with Laertes by his side!
Goodnight, sweet prince…
ROUTE: THE NEW KING HAMLET


A highly skilled problem solver with over ten years of professional experience championing organizational effectiveness through continuous improvement. I recently completed a full stack web development program and am keen to explore the use of digital solutions to fix policy problems. I am a native English speaker, fluent in French, with intermediate knowledge of Spanish and Chinese (Mandarin), and am eligible to work in Canada.


Collection of videos for seventh grade, designed with the purpose of supporting teachers and students in relation to the development of phonological competence within the new curriculum for Third Cycle and Diversified Education.
Spelling names
Substituting final sounds
Substituting initial sounds
Substituting medial sounds
The alphabet and classroom rules
Replacing sounds to create new words 1
Replacing sounds to create new words 2
Replacing sounds to create new words 3
Replacing sounds to create new words 4
Replacing sounds to create new words 5
Short vowel sounds -ad
Short vowel sounds -at
Short vowel sounds -en
Short vowel sounds-t
Inflectional endings (ed)
Inflectional endings (ing)
Inflectional endings (-s, -ed, -ing)
Inflectional endings (-s,-ed,-ing)
Decoding...diagraphs-1
Decoding...diagraphs-2
Decoding...diphthongs-1
Decoding...diphthongs-2
Decoding...diphthongs
Short vowel sounds (-at)
Short vowel sounds -en


Download
Save
Save As
Advanced
File Name
File Path
File Size
From
Default Server
RPC Server 2
RPC Server 3


To report a sighting first click the button "Report a sighting"
Then you will get a modal window. In the modal window you have to fill the form about the sighting.
1. Date of the sighting : Here you will get a calendar when you click the text box. You have to select the correct date on the calendar. Then the date will be displayed in the text box.
2. What time of the day : Here you will get a drop down menu by displaying the time of the day eg: morning, daytime, evening, night. Select the correct time of the day.
3.How many bats were there : Here you will get a drop down menu by displaying a range of numbers.
4. Location : Here after clicking Locate in the map . button, you will get a Sri Lankan map to select the location. After selecting the location it will be displayed by notifying Located
5. Behaviour of the bat : Here you will get a drop down menu to select the behaviour eg: flying,etc.
6. Species : Here you will get a drop down menu by displaying a list of species.
7. Photos : Here you have to click the button Choose files Then you have to upload the image by selecting the image.
7. Any Comments : Here you can write comments on the sighting in the provided text box.


Deacon summarizes Part 1 as follows:
I show that the conceptual riddles posed by absential phenomena have not been dealt with, despite claims that they have been overcome, but rather that they have been swept under the rug in various ingenious ways. By critiquing the history of efforts to explain them or explain them away, I argue that our various efforts have only served to insinuate these difficulties more cryptically into our current scientific and humanistic paradigms.
Introduces the term 'absential'. Can what is not there matter? Can the absential have physical, scientifically verifiable consequence?
Are we more than collections of atoms? Why is the absential missing in science? Are we stuck with Descartes? Can we only explain everything is there is an observer? Does the history of the number zero offer parallels with the absential? Can we envisage the physical and the meaningful coming together?
Introduces the adjective 'ententional'. How can something come from nothing?
How can something come from nothing? How can order develop from disorder? If life the sum of the behaviors of vast numbers of atoms? Can future possibilities affect the present more than the past? Has science failed to explain meaning purpose and value? How do ententional phenomena arise? How does the complex arise from the simple? Are we illusions? Is it all a magic trick? If we are machines, then do we need a watchmaker? Why does only DNA carry information and not the other polymers? How can cause come out of nowhere? How much do our cognitive biases deceive us? Is the whole less than the sum of the parts? How can we make sense of the efficacy of absence?
Characterizes the term 'homunculus'. What is the mind in the mind/body problem?
If there is a little man inside the brain, then what is inside his brain? Does the humuculus have a life of its own?
Characterizes the term 'golem'. What is the body in the mind/body problem?
Does science sacrifice completeness for consistency? How much can you reduce, simplify or fractionate before you lose the essence?
If thoughts can be embodied in computers then does teleology disappear? If the mind is a computer, then how did it learn?Characterizes the terms 'teleology', 'teleonomy' and 'teleomatic'. Which came first - the mind or the body?
Do living things disobey the laws of nature? What are the differences between human design, natural selection and happy accident? Are body parts teleological, teleonomic or teleomatic? How does purpose arise from stuff? How can things start with no purpose and yet end up with purpose>
Characterizes the term 'emergence'. How and when did the mind/body problem discover itself?
When did emergence emerge? How does stuff learn without a teacher? Are there correlations between size and emergence? Can reducing things to the simplest and smallest levels provide verifiable answers? Why can you reassemble a machine but not an animal?


CSS on its own can be fun, but stylesheets are getting larger, more complex, and harder to maintain. This is where a preprocessor can help. Sass lets you use features that don't exist in CSS yet like variables, nesting, mixins, inheritance and other nifty goodies that make writing CSS fun again.
Once you start tinkering with Sass, it will take your preprocessed Sass file and save it as a normal CSS file that you can use in your website.
The most direct way to make this happen is in your terminal. Once Sass is installed, you can compile your Sass to CSS using the sass command. You'll need to tell Sass which file to build from, and where to output CSS to. For example, running sass input.scss output.css from your terminal would take a single Sass file, input.scss, and compile that file to output.css.
You can also watch individual files or directories with the --watch flag. The watch flag tells Sass to watch your source files for changes, and re-compile CSS each time you save your Sass. If you wanted to watch (instead of manually build) your input.scss file, you'd just add the watch flag to your command, like so:
sass --watch input.scss output.css
You can watch and output to directories by using folder paths as your input and output, and separating them with a colon. In this example:
sass --watch app/sass:public/stylesheets
would watch all files in the app/sass folder for changes, and compile CSS to the public/stylesheets folder.


Mpd provides summary traffic statistics in every accounting Update/Stop call of radius-acct or ext-acct.
For radius-acct it provides such attributes:
Acct-Input-Packets
32bit input packets counter,
Acct-Output-Packets
32bit output packets counter,
Acct-Input-Octets
lower 32bit of input bytes counter,
Acct-Output-Octets
lower 32bit of output bytes counter,
Acct-Input-Gigawords
higher 32bit of input bytes counter,
Acct-Output-Gigawords
higher 32bit of output bytes counter.
For ext-acct it provides:
ACCT_INPUT_PACKETS
64bit input packets counter,
ACCT_OUTPUT_PACKETS
64bit output packets counter,
ACCT_INPUT_OCTETS
64bit input bytes counter,
ACCT_OUTPUT_OCTETS
64bit output bytes counter.
NOTE: as Accounting Update is implemented on a link layer it accounts traffic via single physical link (without link overhead). So it accounts traffic after compression, encryption and multilink were applied to it.


---
layout: stats
title: Dartmouth A Statistics
permalink: "/stats/teams/dartmouth-a.html"
---
| Year |
Team |
Status |
Finish |
W-L |
PPG |
PAPG |
Margin |
TU/G |
N/G |
BHrd |
BPts |
PPB |
| 2008 |
Dartmouth A |
UG |
7 |
6-7 |
181.9 |
211.5 |
-29.6 |
8.23 |
1.62 |
107 |
1400 |
13.08 |
| 2009 |
Dartmouth A |
|
7 |
9-7 |
202.5 |
164.7 |
37.8 |
9.25 |
2.19 |
148 |
1935 |
13.07 |
| 2012 |
Dartmouth A |
UG |
23 |
6-7 |
109.6 |
154.2 |
-44.6 |
6.15 |
1.54 |
80 |
725 |
9.06 |
| 2013 |
Dartmouth A |
UG |
27 |
9-8 |
162.6 |
164.1 |
-1.5 |
7.88 |
1.12 |
134 |
1520 |
11.34 |
| 2014 |
Dartmouth A |
|
11 |
8-6 |
223.2 |
190.0 |
33.2 |
9.36 |
1.36 |
131 |
1910 |
14.58 |
| 2016 |
Dartmouth A |
UG |
19 |
8-8 |
199.4 |
197.2 |
2.2 |
8.81 |
2.06 |
141 |
1945 |
13.79 |
ACF Nationals 2008
| Year |
Round |
Team |
Opponent |
Result |
Score |
10 |
-5 |
PPB |
Packet |
| 2008 |
1 (Prelims) |
Dartmouth A |
Maryland B |
Win |
260 - 45 |
12 |
2 |
12.50 |
No Packet Recorded |
| 2008 |
2 (Prelims) |
Dartmouth A |
Harvard A |
Win |
135 - 105 |
8 |
1 |
7.50 |
No Packet Recorded |
| 2008 |
3 (Prelims) |
Dartmouth A |
Vanderbilt |
Win |
265 - 85 |
13 |
1 |
10.77 |
No Packet Recorded |
| 2008 |
4 (Prelims) |
Dartmouth A |
UC-Irvine |
Loss |
190 - 205 |
9 |
4 |
13.33 |
No Packet Recorded |
| 2008 |
6 (Prelims) |
Dartmouth A |
Harvard B |
Win |
285 - 100 |
11 |
3 |
17.27 |
No Packet Recorded |
| 2008 |
7 (Prelims) |
Dartmouth A |
Chicago A |
Win |
270 - 160 |
11 |
2 |
15.45 |
No Packet Recorded |
| 2008 |
8 (Playoffs) |
Dartmouth A |
Brown A |
Loss |
130 - 320 |
7 |
2 |
10.00 |
No Packet Recorded |
| 2008 |
9 (Playoffs) |
Dartmouth A |
Maryland A |
Loss |
145 - 385 |
5 |
1 |
20.00 |
No Packet Recorded |
| 2008 |
10 (Playoffs) |
Dartmouth A |
Illinois A |
Loss |
85 - 290 |
5 |
1 |
8.00 |
No Packet Recorded |
| 2008 |
11 (Playoffs) |
Dartmouth A |
Stanford A |
Loss |
90 - 370 |
5 |
0 |
8.00 |
No Packet Recorded |
| 2008 |
13 (Playoffs) |
Dartmouth A |
Minnesota A |
Win |
245 - 140 |
9 |
1 |
17.78 |
No Packet Recorded |
| 2008 |
14 (Playoffs) |
Dartmouth A |
Chicago A |
Loss |
150 - 305 |
7 |
2 |
12.86 |
No Packet Recorded |
| 2008 |
15 (Finals) |
Dartmouth A |
Minnesota A |
Loss |
115 - 240 |
5 |
1 |
14.00 |
No Packet Recorded |
ACF Nationals 2009
ACF Nationals 2012
| Year |
Round |
Team |
Opponent |
Result |
Score |
10 |
-5 |
PPB |
Packet |
| 2012 |
1 (Prelims) |
Dartmouth A |
Harvard A |
Loss |
40 - 310 |
3 |
2 |
6.67 |
No Packet Recorded |
| 2012 |
2 (Prelims) |
Dartmouth A |
Michigan A |
Loss |
60 - 280 |
2 |
0 |
20.00 |
No Packet Recorded |
| 2012 |
3 (Prelims) |
Dartmouth A |
Chicago B |
Loss |
75 - 350 |
3 |
1 |
16.67 |
No Packet Recorded |
| 2012 |
4 (Prelims) |
Dartmouth A |
Northwestern |
Loss |
110 - 190 |
6 |
0 |
8.33 |
No Packet Recorded |
| 2012 |
5 (Prelims) |
Dartmouth A |
VCU A |
Loss |
80 - 180 |
5 |
2 |
8.00 |
No Packet Recorded |
| 2012 |
6 (Prelims) |
Dartmouth A |
Haverford |
Win |
120 - 55 |
8 |
2 |
6.25 |
No Packet Recorded |
| 2012 |
9 (Playoffs) |
Dartmouth A |
Columbia B |
Win |
195 - 60 |
13 |
3 |
6.15 |
No Packet Recorded |
| 2012 |
10 (Playoffs) |
Dartmouth A |
WUSTL |
Loss |
105 - 195 |
5 |
1 |
12.00 |
No Packet Recorded |
| 2012 |
11 (Playoffs) |
Dartmouth A |
Rutgers |
Win |
120 - 30 |
8 |
3 |
6.88 |
No Packet Recorded |
| 2012 |
12 (Playoffs) |
Dartmouth A |
Haverford |
Loss |
110 - 120 |
7 |
0 |
5.71 |
No Packet Recorded |
| 2012 |
13 (Playoffs) |
Dartmouth A |
Alabama |
Win |
160 - 60 |
6 |
2 |
18.33 |
No Packet Recorded |
| 2012 |
14 (Playoffs) |
Dartmouth A |
Chicago C |
Win |
135 - 105 |
7 |
3 |
11.43 |
No Packet Recorded |
| 2012 |
15 (Playoffs) |
Dartmouth A |
Chicago D |
Win |
115 - 70 |
7 |
1 |
7.14 |
No Packet Recorded |
ACF Nationals 2013
| Year |
Round |
Team |
Opponent |
Result |
Score |
10 |
-5 |
PPB |
Packet |
| 2013 |
1 (Prelims) |
Dartmouth A |
Michigan State |
Loss |
200 - 225 |
9 |
2 |
13.33 |
VCU + Michigan |
| 2013 |
2 (Prelims) |
Dartmouth A |
Chicago A |
Loss |
15 - 370 |
2 |
3 |
5.00 |
Illinois A + Carleton |
| 2013 |
3 (Prelims) |
Dartmouth A |
WUSTL |
Loss |
135 - 195 |
7 |
1 |
10.00 |
Mich St + Ottawa + SCAR |
| 2013 |
4 (Prelims) |
Dartmouth A |
Carleton |
Loss |
145 - 155 |
7 |
1 |
11.43 |
Rutgers + Columbia |
| 2013 |
5 (Prelims) |
Dartmouth A |
Stanford A |
Win |
190 - 185 |
10 |
2 |
10.00 |
MIT + GMU + Minnesota |
| 2013 |
6 (Prelims) |
Dartmouth A |
Georgia Tech |
Loss |
0 - 400 |
1 |
2 |
0.00 |
London + WUSTL |
| 2013 |
7 (Prelims) |
Dartmouth A |
VCU A |
Win |
170 - 130 |
7 |
4 |
17.14 |
Chicago A + Maryland + Penn B |
| 2013 |
9 (Prelims) |
Dartmouth A |
Yale A |
Loss |
60 - 425 |
3 |
0 |
10.00 |
Penn A + Harvard + Stanford |
| 2013 |
10 (Playoffs) |
Dartmouth A |
Chicago D |
Win |
180 - 115 |
9 |
0 |
10.00 |
Yale + Virginia + Ohio St |
| 2013 |
11 (Playoffs) |
Dartmouth A |
Northwestern |
Win |
210 - 75 |
9 |
0 |
13.33 |
Alb + Dart + GT + NYU + NU |
| 2013 |
12 (Playoffs) |
Dartmouth A |
Ottawa |
Loss |
115 - 165 |
6 |
1 |
10.00 |
Cheyne + Gupta + Carson |
| 2013 |
13 (Playoffs) |
Dartmouth A |
South Carolina |
Win |
230 - 30 |
12 |
0 |
9.17 |
Editors 1 |
| 2013 |
14 (Playoffs) |
Dartmouth A |
MIT A |
Win |
280 - 40 |
14 |
0 |
10.00 |
Editors 2 |
| 2013 |
15 (Playoffs) |
Dartmouth A |
Chicago C |
Win |
225 - 40 |
10 |
1 |
13.00 |
Editors 3 |
| 2013 |
16 (Playoffs) |
Dartmouth A |
Hunter College |
Win |
225 - 10 |
11 |
1 |
10.91 |
Editors 4 |
| 2013 |
17 (Playoffs) |
Dartmouth A |
Illinois B |
Loss |
140 - 155 |
8 |
0 |
7.50 |
Editors 5 |
| 2013 |
18 (Playoffs) |
Dartmouth A |
Penn B |
Win |
245 - 75 |
9 |
1 |
17.78 |
Editors 6 |
ACF Nationals 2014
| Year |
Round |
Team |
Opponent |
Result |
Score |
10 |
-5 |
PPB |
Packet |
| 2014 |
2 (Prelims) |
Dartmouth A |
Alberta |
Win |
275 - 155 |
11 |
1 |
15.45 |
Chicago A + Chicago C |
| 2014 |
3 (Prelims) |
Dartmouth A |
Columbia B |
Win |
230 - 115 |
9 |
2 |
16.67 |
Illinois + USC |
| 2014 |
4 (Prelims) |
Dartmouth A |
VCU A |
Win |
315 - 80 |
13 |
3 |
15.38 |
Ohio State |
| 2014 |
5 (Prelims) |
Dartmouth A |
Berkeley A |
Win |
300 - 65 |
12 |
0 |
15.00 |
Penn A |
| 2014 |
6 (Prelims) |
Dartmouth A |
Penn A |
Loss |
75 - 350 |
4 |
3 |
12.50 |
Michigan State |
| 2014 |
7 (Prelims) |
Dartmouth A |
Notre Dame A |
Win |
280 - 25 |
12 |
2 |
14.17 |
Yale |
| 2014 |
8 (Prelims) |
Dartmouth A |
Maryland A |
Loss |
185 - 295 |
8 |
1 |
13.75 |
Virginia |
| 2014 |
9 (Prelims) |
Dartmouth A |
South Carolina |
Win |
330 - 20 |
14 |
2 |
14.29 |
Harvard |
| 2014 |
10 (Prelims) |
Dartmouth A |
Ohio State |
Win |
240 - 130 |
10 |
0 |
14.00 |
UW + Alberta + Chicago B |
| 2014 |
11 (Prelims) |
Dartmouth A |
Chicago C |
Win |
320 - 0 |
14 |
0 |
12.86 |
Alabama + Columbia A + B |
| 2014 |
13 (Playoffs) |
Dartmouth A |
Harvard A |
Loss |
210 - 320 |
8 |
0 |
16.25 |
No Packet Recorded |
| 2014 |
14 (Playoffs) |
Dartmouth A |
Chicago A |
Loss |
195 - 300 |
8 |
1 |
15.00 |
No Packet Recorded |
| 2014 |
15 (Playoffs) |
Dartmouth A |
Virginia A |
Loss |
80 - 395 |
4 |
2 |
12.50 |
No Packet Recorded |
| 2014 |
16 (Playoffs) |
Dartmouth A |
Yale A |
Loss |
90 - 410 |
4 |
2 |
15.00 |
No Packet Recorded |
ACF Nationals 2016
| Year |
Round |
Team |
Opponent |
Result |
Score |
10 |
-5 |
PPB |
Packet |
| 2016 |
1 (Prelims) |
Dartmouth A |
McGill |
Win |
235 - 105 |
12 |
3 |
10.83 |
Georgia Tech |
| 2016 |
2 (Prelims) |
Dartmouth A |
Oxford A |
Loss |
155 - 160 |
8 |
3 |
11.25 |
Michigan B + Chicago C + Illinois |
| 2016 |
3 (Prelims) |
Dartmouth A |
Chicago A |
Loss |
170 - 460 |
6 |
0 |
18.33 |
MIT B + Stanford B |
| 2016 |
4 (Prelims) |
Dartmouth A |
Yale B |
Win |
330 - 70 |
14 |
0 |
13.57 |
Stanford A + Louisville |
| 2016 |
5 (Prelims) |
Dartmouth A |
Berkeley B |
Win |
190 - 180 |
9 |
2 |
12.22 |
Maryland A + McGill |
| 2016 |
6 (Prelims) |
Dartmouth A |
Stanford B |
Win |
350 - 155 |
12 |
0 |
19.17 |
WUSTL + Virginia |
| 2016 |
8 (Prelims) |
Dartmouth A |
MIT A |
Loss |
175 - 320 |
8 |
2 |
13.12 |
Columbia A + Columbia B |
| 2016 |
9 (Prelims) |
Dartmouth A |
Duke |
Win |
250 - 145 |
9 |
2 |
18.89 |
MIT A |
| 2016 |
10 (Prelims) |
Dartmouth A |
McMaster A |
Win |
185 - 70 |
9 |
3 |
12.22 |
Michigan A |
| 2016 |
11 (Prelims) |
Dartmouth A |
Princeton |
Win |
185 - 100 |
8 |
3 |
15.00 |
Berkeley A |
| 2016 |
13 (Playoffs) |
Dartmouth A |
Chicago C |
Win |
190 - 185 |
10 |
2 |
10.00 |
Editors 1 |
| 2016 |
14 (Playoffs) |
Dartmouth A |
Oklahoma |
Loss |
85 - 270 |
5 |
3 |
10.00 |
Editors 2 |
| 2016 |
15 (Playoffs) |
Dartmouth A |
MIT B |
Loss |
185 - 230 |
8 |
3 |
15.00 |
VCU + Virginia + Oxford |
| 2016 |
16 (Playoffs) |
Dartmouth A |
Columbia B |
Loss |
195 - 235 |
9 |
1 |
12.22 |
Editors 3 |
| 2016 |
17 (Playoffs) |
Dartmouth A |
WUSTL |
Loss |
185 - 265 |
7 |
3 |
18.57 |
Editors 4 |
| 2016 |
18 (Playoffs) |
Dartmouth A |
Virginia A |
Loss |
125 - 205 |
7 |
3 |
10.00 |
Editors 5 |


{% extends "wizard/base.html" %} {% block content %}
Placements are already calculated. You can see the results here


class: center, middle, inverse, title-slide # Grading Code with gradethis ## NYR Conference 2020 ### Daniel Chen
@chendaniely
### Virginia Tech ### 2020-08-11 --- class: inverse
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis

hi!
  --- class: inverse # I'm Daniel .pull-left[  ] .pull-right[ - PhD Student: Virginia Tech - Data Science education & pedagogy - Medical, Biomedical, Health Sciences - https://github.com/chendaniely/dissertation - Advisor: Anne Brown, PhD - https://www.databridge.dev/ - https://bevanbrownlab.com/ - 2019 Inten at RStudio - [`gradethis`](https://github.com/rstudio-education/gradethis) - Code grader for [`learnr`](https://github.com/rstudio/learnr) documents - Author:    ] --- class: center # How's Quarantine? .pull-left[  ] .pull-right[   ] --- # How's Quarantine?

 .pull-left[ https://github.com/chendaniely/animal_crossing https://github.com/chendaniely/animalcrossing ] .pull-right[ https://www.twitch.tv/chendaniely ] --- # Hobbes -- Blue Heeler .pull-left[  ] .pull-right[  ] --- # RStudio Internship
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 https://rstudio-education.github.io/gradethis/ - Worked on `gradethis` for my [RStudio 2019 Internship](https://blog.rstudio.com/2019/03/25/summer-interns-2019/) - Barret Schloerke, PhD - Garrett Grolemund, PhD - I am a user of R, not a developer. - Wrote about my experiences: - [My time as an intern](https://daniel.rbind.io/2020/01/29/my-time-as-an-rstudio-intern/) - [Internship week 1](https://daniel.rbind.io/2019/06/10/and-were-off-rstudio-internship-week-1-complete./) - [Internship week 2](https://daniel.rbind.io/2019/06/18/rstudio-internship-week-2/) - [Moved to blogdown](https://daniel.rbind.io/2019/07/23/new-website-a-la-blogdown/) - [Git workflow](https://daniel.rbind.io/2019/08/27/git-squash-and-merge-workflow/) - [Rstudio education blog post](https://education.rstudio.com/blog/2020/02/gestalt-internship/) --- # Education + Shiny Team
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 .pull-left[ Education Team ![](./figs/00-education_team.png) ] .pull-right[ Shiny Team ![](./figs/00-shiny_team.png) ] --- # Join all the slack channels!
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - What? A book about shiny? - Yes! https://mastering-shiny.org/ - No ): ![](./figs/shiny_book-join_leave.png) --- # :D .pull-left[    ] .pull-right[  ] --- # Learnr interactive tutorials
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 https://rstudio.github.io/learnr/ 1. Narrative, figures, illustrations, and equations. 2. Code exercises (R code chunks that users can edit and execute directly). 3. Quiz questions. 4. Videos (supported services include YouTube and Vimeo). 5. Interactive Shiny components. --- # Creating a `learnr` tutorial
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ```yaml --- title: "Hello, Tutorial!" output: learnr::tutorial runtime: shiny_prerendered --- ``` ````markdown ```{r setup, include=FALSE} library(learnr) ``` This code computes the answer to one plus one, change it so it computes two plus two: ```{r addition, exercise=TRUE} 1 + 1 ``` ```` --- # Learnr output
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
    --- # Sortable
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - More `learnr` examples: https://rstudio.github.io/learnr/examples.html - `sortable`: https://andrie-de-vries.shinyapps.io/sortable_tutorial_question_rank/    --- # Sortable -> Parsons
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - Parson problems are coding exercises designed to **reduce cognitive load** on the learner. - Instead of writing the code, they order code blocks in the correct order - Reduces syntax errors - Learn the "what" concepts instead of the "how" syntax https://github.com/rstudio/parsons --- # Parsons
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
    --- # Grading the questions
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 We can create questions, but how do we give feedback? At the very least how to we tell the student the solution they provided was "wrong"? --- # Look at the result
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - Only check if the solutions match - As long as the correct answer is returned, it doesn't matter how the student got the answer - Can't check if you are trying to teach a specific function E.g., `3 + 3 = 6 = 2 * 3` --- # Look at the code
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - Essentially compares the actual code (e.g., the text) - It's very strict - `3 + 3` != `2 * 3` - `apply(df, 2, class)` != `apply(df, MARGIN = 2, FUN = class)` - `mean(1:5)` != `mean(1:5, na.rm=FALSE)` --- # Look at the code's AST
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - The Abstract Syntax Tree (AST) is a graphical (i.e., tree) representation of your code. - It shows the order of function calls and their arguments to be executed. .pull-left[ ```r lobstr::ast( log(exp(3)) ) ``` ``` ## o-log ## \-o-exp ## \-3 ``` ```r lobstr::ast( log(exp(2)) ) ``` ``` ## o-log ## \-o-exp ## \-2 ``` ] .pull-right[ ```r lobstr::ast( log(log(2, base = 10)) ) ``` ``` ## o-log ## \-o-log ## +-2 ## \-base = 10 ``` ] --- # Gradethis
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 https://rstudio-education.github.io/gradethis/ - Auto grading system that can be used to grade `learnr` exercises. - Check the answer - Check the code (using the AST) - In `learnr`, each exercise is completely independent from the others - What makes it unique is its ability to give formative feedback to the student. - `leanr` but why not `grader`? - The package was originally named `grader` - Someone from UVA took the name on CRAN during the first few weeks of the internship. - https://github.com/rstudio-education/gradethis/issues/18 --- # Formative feedback
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
    --- # `learnr` + `gradethis`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 1. base chunk: what the student sees in the exercise 2. `-check` chunk: how should the student's code be graded 1. solution: are you just checking the final result? - `gradethis::grade_result()` - Provide a set of conditions to check, returns result on *first match* (i.e., order of conditions matter) 2. code: are you checking to see the code itself is correct (AST) - `gradethis::grade_code()` - `-solution` chunk: The instructor's solution code that will be used to compare to the student's code 3. unittests: are you testing a function that needs to pass a bunch of checks? - `gradethis::grade_conditions()` 3. `-hint` chunks (optional) --- # `learnr`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 Set the checking function for `learnr` ````markdown ```{r setup} library(gradethis) tutorial_options(exercise.checker = gradethis::grade_learnr) ``` ```` We can scaffold the exercise to reduce cognitive load. ````markdown ```{r chunkLabel, exercise=TRUE} log(_____(_____)) ``` ```` And want the student to enter ````markdown ```{r chunkLabel, exercise=TRUE} log(exp(3)) ``` ```` --- # `learnr` + `gradethis::grade_result()`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ````markdown ```{r chunkLabel, exercise=TRUE} log(_____(_____)) ``` ```{r chunkLabel-hint-1} # hint text "Exponentiate with the `exp` function." ``` ```{r chunkLabel-check} # check result gradethis::grade_result( # pass_if fail_if order does matter. Maybe put pass_if conditions last? #.result is the last value returned by the student gradethis::pass_if(~ identical(.result, 3), "YAY!"), gradethis::fail_if(function(x){identical(x, 4)}, "4 is an incorrect input.") gradethis::fail_if(2, "2 was the wrong number to use here.") ) ``` ```` --- # `learnr` + `gradethis::grade_code()`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ````markdown ```{r chunkLabel, exercise=TRUE} log(_____(_____)) ``` ```{r chunkLabel-hint-1} # hint text "Exponentiate with the `exp` function." ``` ```{r chunkLabel-solution} # solution code log(exp(3)) ``` ```{r chunkLabel-check} # check code gradethis::grade_code() ``` ```` --- # `learnr` + `gradethis::grade_conditions()`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ````markdown ```{r grade_conditions, exercise = TRUE} # student code add_1 <- function(x) {x + 1} ``` ```{r grade_conditions-hint-1} # hint text "Function should take a parameter and add 1 to it" ``` ```{r grade_conditions-check} gradethis::grade_conditions( gradethis::pass_if(~ .result(3) == 4), gradethis::pass_if(~ .result(-1) == 0), gradethis::fail_if(~ .result(10) == 11) ) ``` ```` --- # Chunk names matter
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 .pull-left[ ````markdown ```{r chunkLabel, exercise=TRUE} log(_____(_____)) ``` ```{r chunkLabel-hint-1} # hint text "Exponentiate with the `exp` function." ``` ```{r chunkLabel-solution} # solution code log(exp(3)) ``` ```{r chunkLabel-check} # check code gradethis::grade_code() ``` ```` ] .pull-right[ - The hints/soluction/check blocks use the same base name for association - `knitr` chunks need to be unique ] --- # `gradethis` chunk addins
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 .pull-left[ - Creates random chunk names  ] .pull-right[ ````markdown ```{r qhdcovmzxfhuycxw, exercise = TRUE} # student code ____ ``` ```{r qhdcovmzxfhuycxw-hint-1} # hint text "" ``` ```{r qhdcovmzxfhuycxw-solution} # solution code ``` ```{r qhdcovmzxfhuycxw-check} # check code gradethis::grade_code() ``` ```` ] --- # Be careful with `==`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - https://daniel.rbind.io/2019/08/06/inconsistencies-with-in-r/ - "inconsistency", "improper documentation", "bug" ```r # only difference is the last parameter u <- quote(f(x123456789012345678901234567890123456789012345678901234567890, 1)) s <- quote(f(x123456789012345678901234567890123456789012345678901234567890, 2)) ``` ```r u == s ``` ``` ## [1] TRUE ``` ```r identical(u, s) ``` ``` ## [1] FALSE ``` - Take away: use `idential` or `all.equal` instead of `==` when doing (non-vectorized) comparisons. - Vignette in PR: https://github.com/rstudio-education/gradethis/pull/102 --- # Dev guide: `learnr` vs `gradethis`
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - `learnr` is responsible for - Expression capturing - Data reporting - How many questions did my student get "correct"? - How much time did my students take for each question or for the entire document? - `gradethis` is responsible for: - Checking the student solution - Correct/Incorrect message + praise/encouragement --- # Dev guide: `learnr` checker
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - `learnr` is a complex piece of software that needs a deep understanding of `knitr`, `rmarkdown`, and `shiny`. - Nischal Shrestha (2020 Intern): https://education.rstudio.com/blog/2020/07/learning-learnr/ - All of the exercise components in the `learnr` document are passed into the `exercise.checker`. - This is an entry point if you want to write your own `learnr` checker - To enable exercise checking in your learnr tutorial: ````markdown ```{r setup} library(gradethis) tutorial_options(exercise.checker = gradethis::grade_learnr) ``` ```` - The `grade_learnr` function: - The function `learnr` passes all the chunk code into - Passes into the corresponding `gradethis::grade_` function --- # Dev guide: Pipes
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ```r df %>% dplyr::select(col1) ``` unpipes into ```r dplyr::select(df, col1) ``` --- # Standalone code grader: result
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ```r library(gradethis) student_solution <- 5 ``` ```r graded_result <- gradethis::grade_result( pass_if(5, "You also got a value of 5!"), learnr_args = list(last_value = student_solution) ) ``` ``` ## Loading required namespace: testthat ``` ```r graded_result ``` ``` ## $message ## Someone knows what they're doing :) You also got a value of 5! ## ## $correct ## [1] TRUE ## ## attr(,"class") ## [1] "grader_graded" ``` --- # Standalone code grader: code
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ```r student_code <- quote(sqrt(exp(3))) solution_code <- quote(sqrt(log(2))) ``` ```r graded_code <- gradethis::grade_code(grader_args = list( user_quo = student_code, solution_quo = solution_code ) ) graded_code ``` ``` ## $message ## I expected a call to log(); what you wrote was interpreted as exp(3). Let's try it again. ## ## $correct ## [1] FALSE ## ## attr(,"class") ## [1] "grader_graded" ``` --- # Internship: `eval_tidy` example
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 ```r form <- ~ x ^ 2 # capture an expression + environment str(form) ``` ``` ## Class 'formula' language ~x^2 ## ..- attr(*, ".Environment")=<environment: R_GlobalEnv> ``` ```r form[[2]] # just get the expression ``` ``` ## x^2 ``` ```r rlang::eval_tidy( expr = form[[2]], # evaluate the expression with data + environment data = list(x = 15), env = .GlobalEnv ) ``` ``` ## [1] 225 ``` --- # Internship: `eval_tidy` in practice
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 https://github.com/rstudio-education/gradethis/blob/master/R/evaluate_condition.R During `gradethis::grade_result`: ```r switch(condition$type, "formula" = evaluate_condi_formula(condition$x, learnr_args$last_value, learnr_args$envir_prep), # nolint "function" = evaluate_condi_function(condition$x, learnr_args$last_value), "value" = evaluate_condi_value(condition$x, learnr_args$last_value) ) ``` ```r evaluate_condi_formula <- function(formula, user_answer, env) { form_result <- rlang::eval_tidy( formula[[2]], data = list(.result = user_answer, . = user_answer), env = env ) return(form_result) } ``` --- # Python!
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 - pygradethis by Nischal Shrestha (Current RStudio intern) - https://github.com/nischalshrestha/pygradethis - Can use Python + `learnr` to check results, but checking the result is more involved. - Python does not have a `quote` function - Working with code expressions involve quoting things as strings and using `ast.parse()` #### Still in (very active) development ```python grade_code("2 + sqrt(log(2))", "2 + sqrt(log(1))") ``` > I expected 1, but you wrote 2 in log(2) at line 1. --- class: center, middle, inverse # Thanks!
@chendaniely       NYR Conference 2020                             https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis
 .pull-left[  ] .pull-right[ [@chendaniely](https://twitter.com/chendaniely) slides: https://github.com/chendaniely/rstatsnyc_2020-learnr_gradethis pdf: https://speakerdeck.com/chendaniely/rstatsnyc-2020-grading-code-with-gradethis ]


Hi, there are some JScript books you may find interesting:
[1] JAVASCRIPT THE DEFINITIVE GUIDE by David Flanagan
Price: $31.18
[2] MURACH JAVASCRIPT AND DOM SCRIPTING by Ray Harris
Price: $45.21
[3] HEAD FIRST JAVASCRIPT by Michael Morrison
Price: $29.54
Total: 3


Finally found and fixed a bug that was causing this site to crash. Yay!
Hey guys (and gals) I found this awesome website right here!


Tech Enthusiast and Professional Android Developer. Passionate in coding and linguistics. Always keen in developing solutions and helping people which requires best of my technical and professional skills. Firm believer of "Education is passport to the future, for tomorrow belongs to those who prepare for it today"
Studied Computer Science Engineering


Introduction¶
Originated in 2010 by Stéphane Mallat as “Recursive Interferometry” [Mal10], the scattering representation aims at providing robust mid-level features for signal-based machine learning.
It relies on the idea that an ideal representation for classification should verify the three following criteria:
- Invariance to translation: if the signal gets globally translated, the representation should not change.
- Stability to small elastic deformations: if the signal get deformed, the representation should be deformed in a proportional way.
- Discriminability: signals in different classes should be represented differently.
Below is an informal review of the capacities of different signal descriptors in terms of these criteria.
| Invariant | Stable | Discriminative | |
|---|---|---|---|
| the signal itself | ★ ★ ★ | ||
| moving average | ★ ★ | ★ ★ ★ | |
| Fourier transform modulus | ★ ★ ★ | ★ ★ ★ | |
| wavelet transform modulus | ★ | ★ ★ ★ | |
| constant-Q transform, MFCC | ★ | ★ ★ ★ | ★ |
| scattering transform | ★ ★ | ★ ★ ★ | ★ ★ |
Invariance and stability can easily be achieved by averaging the signal over time, at the cost of a poor discriminability. Conversely, the modulus of the wavelet transform (called scalogram) is stable and discriminative, yet not invariant to translation. The classical constant-Q transform is equivalent to averaging the scalogram over uniform windows : that is a gain in invariance, yet a loss in discriminability. The rationale behing the scattering transform is to compensate for this averaging by recovering the fast variations in the scalogram as well. This is handled by means of another wavelet transform, so as to guarantee a good property of stability.
| [Mal10] | Mallat, S. Recursive interferometric representations. in European Signal Processing Conference 716–720 (2010). |


The generative model can be thought of as analogous to a team of counterfeiters,
trying to produce fake currency and use it without detection, while the discriminative model is analogous to the police, trying to detect the counterfeit currency. Competition in this game drives both teams to improve their methods until the counterfeits are indistiguishable from the genuine articles.
Figure credit: An intuitive introduction to Generative Adversarial Networks (GANs)/freecodecamp


Instructions & Shortcuts
| Key |
Function |
| LEFT ARROW |
Move Left Car |
| RIGHT ARROW |
Move Right Car |
| A |
Fire Bullet : Car A |
| D |
Fire Bullet : Car B |
| UP ARROW |
Increase Speed |
| DOWN ARROW |
Pause |
| 1 |
Sound ON/OFF |
| 2 |
Restart |
You Must Enter Your Name to Submit score
Top Users
Source Code


Set Count to
1
print
count
Repeat while
count <= 3
print
count
set count to
count + 1
for each item i in list
myarray
print
i
els if
count = 1


Server-Side Template Injection
Original Whitepaper - James Kettle http://blog.portswigger.net/2015/08/server-side-template-injection.html
OWASP SSTI Workshop - Gérôme Dieu https://speakerdeck.com/owaspmontreal/workshop-server-side-template-injection-ssti
Exploring SSTI in Flask/Jinja2 - Tim Tomes https://www.lanmaster53.com/2016/03/exploring-ssti-flask-jinja2/https://nvisium.com/blog/2016/03/11/exploring-ssti-in-flask-jinja2-part-ii/
Hi Pete!
Injecting Flask - Ryan Reid https://nvisium.com/blog/2015/12/07/injecting-flask/Rails Dynamic Render toRCE (CVE-2016-0752) - John Poulin https://nvisium.com/blog/2016/01/26/rails-dynamic-render-to-rce-cve-2016-0752/uber.com may RCE by Flask
Jinja2 Template Injection - Orange Tsai https://hackerone.com/reports/125980


COVID-19 cases per capita
The map below shows the number of confirmed cases of COVID-19 per
million inhabitants.
Sources:
- COVID-19 numbers from the
.
- Population numbers from the
World Bank.
- The source code for
the program generating this page is available on GitHub.
Last updated: .


Data Property: priority
http://www.dcs.shef.ac.uk/~gregoire/ontologies/instead#priority
Annotations (3)
-
comment "The priority defines the order in which the replacement occurs. For instance a high number signify that this association should be prefered to a lower level association." (en)
-
comment "priority" (en)
-
comment "testing" ()
Domains (1)
Ranges (1)
Usage (1)


The IPython Notebook is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document
These notebooks are normal files that can be shared with colleagues, converted to other formats such as HTML or PDF, etc. You can share any publicly available notebook by using the IPython Notebook Viewer service which will render it as a static web page. This makes it easy to give your colleagues a document they can read immediately without having to install anything. To learn more about using the IPython Notebook, you can visit our example collection, and you can read the documentation for all the details on how to use and configure the system. The Notebook Gallery showcases many interesting notebooks covering a variety of topics, from basic programming to advanced scientific computing.


---
layout: post
title: Javascript, getYear and cookie expiration
date: '2011-08-26T20:12:00.000-04:00'
author: Bill Schneider
tags:
modified_time: '2011-08-26T20:12:32.608-04:00'
blogger_id: tag:blogger.com,1999:blog-9159309.post-3814469751662385242
blogger_orig_url: http://wrschneider.blogspot.com/2011/08/javascript-getyear-and-cookie.html
---
Chrome and Firefox both return an offset from 1900 for date.getYear() instead of a four-digit year (pre-Y2K, a two-digit year). So new Date().getYear() returns 111 instead of 2011.
Old news, right? Well, I've been getting away with this for a while and not realizing it, in logic to expire cookies, and didn't notice until switching to Chrome.
The cookie expiration function was something like this
Date d = new Date();
d.setYear(d.getYear() - 1); // last year = 110
document.cookie = "COOKIE_NAME=; expires=" + d.toGMTString();


Serverless Samples: rest-dynamodb-modular
This sample serverless application builds upon the basic rest-dynamodb-multi-fn sample.
This sample serverless application illustrates how to implement REST services with a more modular code structure. Many of the samples in this project illustrate a particular Serverless concept and all of the logic is contained within a single source file. While this serves to illustrate the concept of the example, it is not meant to illustrate best practices when authoring Serverless applications.
This sample seeks to illustrate the following:
- separate the concerns of: data persistence, business logic, and function handler (i.e. request/response) SRP
- separate business logic into logical units by function (or purpose) SRP
- increase function/module reusability within the domain of this component DRY
- increase the testability of code
Prerequisites
The following are required to deploy and run this sample.
Configure the Serverless framework with AWS credentials.
Install
Run the following command in the sample base directory:
nvm use
yarn install
Deploy to AWS
Run the following command in the sample base directory:
sls deploy
or
sls deploy --aws-profile [profileName]
The command output will print the base URL for the AWS API Gateway created by the Serverless template. It will look something like:
https://5wnbzbk94k.execute-api.us-east-1.amazonaws.com/dev
Remove from AWS
Run the following command in the sample base directory to clean up and remove all AWS resources deployed by this sample:
sls remove
or
sls remove --aws-profile [profileName]
Run
We recommend that you use an API client such as Postman to exercise this sample.
However, you may use the curl
commands illustrated below if you are not familiar with Postman.
curl command options
The following options are used with the curl
commands illustrated below.
-v
--- write verbose output
-d
--- request body data
-H
--- request header
-X
--- request HTTP method
Create User
To create a user, execute the following command from a terminal prompt.
curl [-v] -d '{"userId":"jsmith","name":"John Smith"}' -H 'Content-Type: application/json' [baseUrl]/users
e.g.
curl -v -d '{"userId":"jsmith","name":"John Smith"}' -H 'Content-Type: application/json' https://5wnbzbk94k.execute-api.us-east-1.amazonaws.com/dev/users
List Users
To fetch a list of all users, execute the following command from a terminal prompt.
curl [-v] [baseURL]/users
e.g.
curl -v https://5wnbzbk94k.execute-api.us-east-1.amazonaws.com/dev/users
Get User (by ID)
To fetch a single user by identifier, execute the following command from a terminal prompt.
curl [-v] [baseURL]/users/[userId]
e.g.
curl -v https://5wnbzbk94k.execute-api.us-east-1.amazonaws.com/dev/users/jsmith
Update User
To update a user, execute the following command from a terminal prompt.
curl [-v] -d '{"userId":"jsmith","name":"James Smith"}' -H 'Content-Type: application/json' -X PUT [baseUrl]/users/[userId]
e.g.
curl -v -d '{"userId":"jsmith","name":"James Smith"}' -H 'Content-Type: application/json' -X PUT https://5wnbzbk94k.execute-api.us-east-1.amazonaws.com/dev/users/jsmith
Delete User
To delete a user, execute the following command from a terminal prompt.
curl [-v] -d '{"userId":"jsmith","name":"James Smith"}' -H 'Content-Type: application/json' -X DELETE [baseUrl]/users/[userId]
e.g.
curl -v -d '{"userId":"jsmith","name":"James Smith"}' -H 'Content-Type: application/json' -X DELETE https://5wnbzbk94k.execute-api.us-east-1.amazonaws.com/dev/users/jsmith
Test the Application
To run the unit tests, navigate to the application base directory and issue the following command:
yarn test
Jest prints the test results to the console. An example follows.
yarn run v1.22.17
$ jest
PASS src/tests/params/database/user.test.js
PASS src/tests/service/user-service.test.js
Test Suites: 2 passed, 2 total
Tests: 7 passed, 7 total
Snapshots: 0 total
Time: 0.244 s, estimated 1 s
Ran all test suites.
Done in 0.92s.
Produce JSDoc
To produce the JSDoc pages, navigate to the application base directory and issue the following command:
yarn jsdoc
Note: The documentation is written to the /docs
directory. Open the /docs/index.html
file in your browser to view it.
See Also
Serverless Framework Testing
Unit testing for Node.js Serverless projects with Jest


Merced is a modern and stylish HTML landing page/portfolio bootstrap template. Designed for any creative designer, freelancer, photographer or any creative profession. It is fully responsive and retina ready making it pixel sharp on any devices.
Merced is a free Bootstrap startup website template that gives your project a boost. This template is designed if you are just about to launch a website but have not executed it yet, speed things up with an professional and elegant premium template but does not cost you a single penny. It is just a click away, and you can begin using it.
Key features of Merced Bootstrap startup template are responsiveness and retina readiness. The page skin is also cross-browser compatible and loads fast for top-notch performance and enhanced user experience.
It is packed with features which you can take to your advantage. Use Merced precisely as it is, or feel free to change as you might need.
Merced theme features a sleek one page layout which is well suited for business and landing page style websites.
Built in Font Awesome support. Vector based icons that can be used in any color and size in the website.
It is a highly customizable theme with unlimited options. There are several
Fully responsive and optimized for all mobile devices. It executes 'Mobile First' approach.
Sharp text, vibrant colors, stunning graphics, sharp images, premium feel and beautiful vector icons Retina displays.
Fullscreen hero image will make your most important content to stand out. Great to call for action.


Jazz Pharma's sleep disorder drug gets European panel backing
REUTERS: Jazz Pharmaceuticals Plc's treatment for a form of sleep disorder has been recommended for approval in Europe by a panel of the European Medicines Agency (EMA), the regulator said on Friday.
Solriamfetol, which will be branded as Sunosi, has been backed for the treatment of excessive sleepiness in adult patients with narcolepsy and obstructive sleep apnea (OSA), the EMA's human medicines committee (CHMP) said https://www.ema.europa.eu/en/news/meeting-highlights-committee-medicinal-products-human-use-chmp-11-14-november-2019.
The drug was approved in the United States earlier this year and is part of the company's attempts to reduce its reliance on its blockbuster narcolepsy drug, Xyrem, which faced a setback last year.
OSA is a potentially serious sleep disorder that can cause breathing to repeatedly stop and start, while narcolepsy is a chronic sleep disorder with overwhelming daytime drowsiness and sudden bouts of sleep.
While final approvals are done by the European Commission, it generally follows the panel's recommendation and announces its decision within a couple of months.
(Reporting by Pushkala Aripaka in Bengaluru; Editing by Sriraj Kalluvila)