| Day 1 (Time Slot) |
Speakers | Topic | Room Location |
|---|---|---|---|
7AM - 8AM |
Registration & Breakfast |
Lobby |
|
8AM - 8:30AM |
Chuck Russel - Organizer |
Kickoff Speech |
Grand Ballroom |
8:45AM - 9:30AM |
Dave Alpert |
Augmented Reality in |
Ballroom A |
Leemay Nassery |
Digital Experiences On-Demand |
Ballroom B |
|
Renaud Visage |
Ruby On Rails Migration |
Ballroom c |
|
9:45AM - 10:30AM |
Jeff Beck |
SmartThings - An Origin Story |
Ballroom A |
Romain Guy |
Beginning Angular 2.0 |
Ballroom B |
|
Tricia Katz |
Continuous Development Pipeline Considerations |
Ballroom C |
|
11:45AM - 1:15 PM |
Lunch |
Grand Ballroom |
|
1:30PM - 2:15 PM |
E.G Nadhan |
Linux and IIS |
Ballroom A |
Dana White |
Digital Media Experiences |
Ballroom B |
|
Cal Henderson |
Meaningful Digital Communication |
Ballroom C |
|
2:30PM - 3:15 PM |
Melanie Sumner |
Ember.js vs Electron - A Breakdown |
Ballroom A |
Harry Roberts |
Google Analytics in the age of Privacy |
Ballroom B |
|
Rebecca Fitzhuh |
Bringing Military Discipline into the Agile Environment |
Ballroom C |
|
3:30PM - 4:15 PM |
Matt Layman |
Python Foundations |
Ballroom A |
Rohit Basu |
Online Payments that Don't Suck | Ballroom B |
|
Sarah Squire |
OpenID Foundation Pursuits | Ballroom C |
|
4:30PM - End |
Technology Lounge - Bar and Lounge |
First Two Floors of the Hotel |
| Day 2 (Time Slot) |
Speakers | Topic | Room Location |
|---|---|---|---|
7AM - 8AM |
Registration & Breakfast |
||
8AM - 8:30AM |
Chuck Russel - Organizer |
Day Highlights |
Grand Ballroom |
8:45AM - 9:30AM |
Sarah Drasner |
Advanced SCSS |
Ballroom A |
Michael Albers |
Authentication Systems and Tokens | Ballroom B |
|
Ryan King |
Customer Experience at the Gallery |
Ballroom C |
|
9:45AM - 11:00AM |
Panel Moderator: Allison LoweryPanelist: Phil NashPanelist: Harry RobertsPanelist: Melanie SumnerPanelist: Rohit BasuSponsor Hall |
Panel Discussion: Venture Capital in Transformative Technology |
Grand Ballroom |
11:15AM - 12:00PM |
Sponsor Hall |
Sponsor Presentations |
Lobby |
12:00PM - 1:15 PM |
Lunch |
||
1:30PM - 2:15 PM |
Leemay Nassery |
Modern Fullstack Workflow |
Ballroom A |
Educating the Future of Technology | Marie Leaf |
Ballroom B |
|
1:30PM - 2:15 PM |
Dave Alpert |
Geo-Services Powering Everything | Ballroom C |
2:30PM - 3:15 PM |
Panel Moderator: David HickthierPanelist: Brad FrostPanelist Sarah DrasnerPanelist: Romain Guy |
Modern User Interfaces |
Grand Ballroom |
4:00PM - 4:30PM |
Sponsor Hall |
Lobby |
|
4:30PM - On |
Harrisburg SenatorsBallpark After Parth |
City Island |
| Day 3 (Time Slot) |
Speakers | Topic | Room Location |
|---|---|---|---|
7AM - 8AM |
Registration & Breakfast |
Lobby |
|
8AM - 8:30AM |
Chuck Russel - Organizer |
Kick Off Speech |
Grand Ballroom |
8:45AM - 9:30AM |
Elisha Dvorak |
eLearning and Content Design |
Ballroom A |
Cal Henderson |
Scaling a Business Exponentially |
Ballroom B |
|
Marie Leaf |
Authenticaing Security Tokens |
Ballroom C |
|
9:45AM - 11:00AM |
VUI integrations in your CX |
Tricia Katz |
Ballroom A |
Digital Childhood Frontier | Matt Layman |
Ballroom B |
|
Headless CMS |
Dana White |
Ballroom C |
|
10:45AM - 11:30AM |
E.G. Nadhan |
Open Source in Enterprise |
Ballroom A |
Renuad Visage | Open API's |
Ballroom B |
|
Ryan King |
Data Processing and Synergy |
Ballroom C |
|
12:00PM - 1:15 PM |
Lunch |
Grand Ballroom |
|
1:30PM - 2:15 PM |
Chuck Russel - Organizer |
Final Comments |
Grand Ballroom |


Class Trees for Package Loggix
Root class Loggix_Core
Root class Loggix_Expander
Root class Loggix_Plugin
Root class Loggix_Session
Root class Loggix_Utility
Root class Loggix_View
Root class Exception
Documentation generated on Wed, 03 Jun 2009 00:12:19 +0900 by phpDocumentor 1.4.2


Get started
To start using CoffeeLatte it is necessary to first install the module. For this you can use the following command in your preferred terminal:
npm install @sammwy/coffeelatteNote: You need to have Node.js and NPM installed on the system.
Using in express
To use CoffeeLatte in express, you just have to configure it as follows:
// Import libraries const latte = require("@sammwy/coffeelatte"); const express = require("express"); const path = require("path"); // Create application const app = express(); // Configure coffeelatte app.set("views", path.join(__dirname, "views")); app.set("components", path.join(__dirname, "components")); app.set("layout", path.join(__dirname, "demo_layout.html")); app.set("target", "#root"); // Enable coffeelatte in the express application latte.express(app); // Render a view app.get("/", (req, res) => { res.render("demo"); }); // Start the server app.listen(4000, () => { console.log("Server listening at port 4000"); })
Layout
With the help of layouts, you can create a template that will be present on each page to be rendered. In turn, the rendered view will be displayed within the configured target.
app.set("target", "#root");
<!DOCTYPE html>   <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Coffeelatte demo</title>   <app id="root"></app>
Embed javascript
We can select variables in the frontend brought from nodejs, mathematical operations and any javascript expression and then show its value using the following syntax:

Te result is {{ 1 + 2 }}

Code blocks
The block code is a way to run javascript code on the server directly from the html file.
Additionally, it provides us with a new function that allows us to display a text or create a label in the document.

Hello world
 {{ let first = 5; let second = 3; let result = first + second; print(result); }}
Async functions
The functions within the code blocks are totally asynchronous, this means that we can make GET & POST requests, setTimeout or any operation that takes time to complete and the website will just be sent when the asynchronous function is resolved.
{{ setTimeout(() => { print("This page tooks 2 seconds to load"); }, 2000); }}
Locals variables
we can share variables between blocks of code using the locals object. By example:
{{ locals.foo = "bar"; }} {{ print(locals.foo); }}We can also use local variables to bring us data when rendering a view, by example:
// app.js res.render("myview", { foo: "bar" }); // myview.latte {{ locals.foo }} {{ print(locals.foo) }}
Components
It is enough to place the components in files with extension .html or .latte in the folder configured using
app.set("components", "directory");Then we can import them in the frontend calling them with a tag with the file name, in example "foo.component.html" would be imported as follows:
// For import foo.component.html in /components directory, use: <Foo/>Note: Even if the file starts with a lower case, the label name must start with a capital letter. The file name must end in .component.html or .component.latte
Props
When calling components, we can pass properties which we can easily obtain in a block of code. By example:
// Call a component with Props <User username="foo" age="7"/> <User username="sammwy" age="18"/> <User username="john" age="56"/> // user.component.html file: Username: {{ props.username }} Age: {{ props.age }}


Toggle navigation
ProBet
Social Betting
Sign up
Sign in
Welcome to ProBet!
ProBet is an online betting system where you can share your bet slips
Learn more »
ID
Time
League
Home
Away
1
X
2
2.5A
2.5Ü
+
Social
Football
Basketball
161
16.00
RUS
Akhmat Grozny
CSKA Moskova
3.05
2.60
2.05
1.30
2.30
+38
2 likes
163
18.00
SSL
Alanyaspor
Kayserispor
1.80
3.00
3.20
1.60
1.75
+74
4 likes
164
19.00
CEK
MFK Karvina
Slavia Prag
7.00
4.00
1.25
1.75
1.60
+19
25 likes
Your Slip
Latest events
EmrecanK08
shared a
betslip.
EAsi78
shared a
betslip.
ECrazySerrrdar
shared a
betslip.


| Package | Description |
|---|---|
| com.dropbox.core |
| Class and Description |
|---|
| DbxAccountInfo |
| DbxAccountInfo.NameDetails |
| DbxAccountInfo.Quota |
| DbxAppInfo
Identifying information about your application.
|
| DbxAuthFinish
When you successfully complete the authorization process, the Dropbox server returns
this information to you.
|
| DbxAuthInfo
Used by the example code to remember auth information.
|
| DbxClient.Downloader
A pairing of a metadata and main content of a download.
|
| DbxClient.Uploader
For uploading file content to Dropbox.
|
| DbxDelta
Represents a single "page" of results from a delta-style API call.
|
| DbxDelta.Entry
A single "delta entry" in a
DbxDelta page. |
| DbxDeltaC
Represents a single "page" of results from a delta-style API call.
|
| DbxDeltaC.Entry
A single "delta entry" in a
DbxDeltaC page. |
| DbxEntry
Holds the metadata for a Dropbox file system entry.
|
| DbxEntry.File
The subclass of
DbxEntry used to represent file metadata (as opposed
to folder metadata). |
| DbxEntry.File.Location
A geo location
|
| DbxEntry.File.PhotoInfo
Photo metadata that the Dropbox server extracted from the photo file.
|
| DbxEntry.File.VideoInfo
Video metadata that the Dropbox server extracted from the video file.
|
| DbxEntry.Folder
The subclass of
DbxEntry used to represent folder metadata. |
| DbxEntry.WithChildren
Holds the metadata for a file or folder; if it's a folder, we also store the folder's
hash and the metadata of its immediate children.
|
| DbxEntry.WithChildrenC
The more general case of
DbxEntry.WithChildren . |
| DbxException
The base exception thrown by Dropbox API calls.
|
| DbxException.BadResponse
Thrown when we the response from the Dropbox server isn't something we expect.
|
| DbxException.NetworkIO
This is what gets thrown when there's an IOException when reading or writing
to the network (when communicating with the Dropbox API servers).
|
| DbxException.ProtocolError
Something unexpected happened with either the request or the response.
|
| DbxHost
This is for mocking things out during testing.
|
| DbxLongpollDeltaResult
The response from a longpoll_delta request.
|
| DbxOAuth1AccessToken
Use with
DbxOAuth1Upgrader to convert old OAuth 1 access tokens
to OAuth 2 access tokens. |
| DbxRequestConfig
A grouping of a few configuration parameters for how we should make requests to the
Dropbox servers.
|
| DbxRequestUtil.RequestMaker |
| DbxRequestUtil.ResponseHandler |
| DbxSessionStore
An interface that lets you save, retrieve, and clear a single value in the user's web
session.
|
| DbxStreamWriter
A callback for streaming data to an
OutputStream , usually
in the context of an API request being made by DbxClient . |
| DbxThumbnailFormat
Thumbnail image format presets, to be used with
DbxClient.getThumbnail(com.dropbox.core.DbxThumbnailSize, com.dropbox.core.DbxThumbnailFormat, java.lang.String, java.lang.String, java.io.OutputStream) . |
| DbxThumbnailSize
Thumbnail size presets, to be used with
DbxClient.getThumbnail(com.dropbox.core.DbxThumbnailSize, com.dropbox.core.DbxThumbnailFormat, java.lang.String, java.lang.String, java.io.OutputStream) . |
| DbxUrlWithExpiration |
| DbxWebAuth.BadRequestException
Thrown when the parameters passed to your redirect URI are not well-formed.
|
| DbxWebAuth.BadStateException
Thrown if all the parameters to your redirect URI are well-formed, but there's no CSRF token
in the session.
|
| DbxWebAuth.CsrfException
Thrown if the given 'state' parameter doesn't contain the expected CSRF token.
|
| DbxWebAuth.Exception
The base class for authorization redirect errors.
|
| DbxWebAuth.NotApprovedException
Thrown when Dropbox tells us that the user chose not to grant your app access to their
Dropbox account (i.e.
|
| DbxWebAuth.ProviderException
Thrown when Dropbox tells us that some other error occurred in the authorization process.
|
| DbxWriteMode
Describes how a file should be saved when it is written to Dropbox.
|
| NoThrowOutputStream
Wraps an existing output stream, converting all the underlying stream's
IOException s
to our own NoThrowOutputStream.HiddenException , which is a subclass of RuntimeException . |
Copyright © 2015. All rights reserved.


If you wish to install COVIDSafe then head to https://covidsafe.gov.au/ instead.
Social Media
Follow the below tweet for the latest information.
View full Twitter thread
Summary in one tweet
Many journalists contacted me asking for comment as to why I no longer support #covidsafe . Here you go. https://t.co/kMclNhkDmH https://t.co/4FDfFgCVqD
— geoffrey huntley (@GeoffreyHuntley) May 6, 2020
iPhone not working
. @wabzqem 's research that proves one of the reasons why #covidsafe doesn't work on iPhones in the background has been independantly proved.
— geoffrey huntley (@GeoffreyHuntley) May 7, 2020
Sourcecode is truth anything less is bullshit @DTA
https://t.co/CkBoEYY3Zy
We would like others to also help out proving it again. See 👇 https://t.co/7XmXdxwZ3Q pic.twitter.com/ELKuyQpeTH
Transparency comparison
CovidApp transparency comparison between Singapore, United Kingdom and Australia
1/11: A comparison on the state of CovidApp transparency in Aus, the UK and Singapore.
— Vanessa Teague (@VTeagueAus) May 8, 2020
Singapore released app and server code weeks ago.
Aus & the UK released app code, and no server code, within the last 24 hours. #CovidSafeApp @chrisculnane @rgmerk @noneuclideangrl @1Br0wn
Joel Kek is amazing. He's the engineer that jumped into the https://t.co/82imCgD6av community and started answering our questions, validated our research and then fixed the Singapore app of the privacy breach. Australia yet to fix.
— geoffrey huntley (@GeoffreyHuntley) May 9, 2020
This is what we wanted from the @DTA
Love. https://t.co/jlf5huT3U3 pic.twitter.com/OhRgRGGyDs
Compare @DTA behaviours to the original authors of the #covidsafe. Singapore. The behaviours demonstrated by this awesome engineer are the norm. "Heya sure, let's work together to kick COVIDs ass".  Pull requests closed. Hostile license on source. https://t.co/ySTvz1aZkL pic.twitter.com/lgHITiKyWH
— geoffrey huntley (@GeoffreyHuntley) May 9, 2020
Better than Singapore??
How can the Australian app be better than Singapore's when they're basically the same?
Dear journos.
— geoffrey huntley (@GeoffreyHuntley) May 9, 2020
1) Please ask how the Australian #covidsafe app can be better than the Singapore app if it is essentially the same. (See below)
2) Please ask how much $$$ was spent on /app development/
3) Please ask if Australia built their own backend vs using Singapore's. https://t.co/U0JmvqcA6g pic.twitter.com/oHFaqTyaZa
4) Please note this fact and question how the source code was handed over, what technical training was done (Aussie teams introduced Bluetooth bugs btw) and re-confirm Australia didn't get help from the original team that made the app. pic.twitter.com/QWUXNGxEGD
— geoffrey huntley (@GeoffreyHuntley) May 9, 2020
Business coercion
How can Australian businesses encourage the use of a broken app that breaches its own privacy policy?
Um. Hungry Jack’s just encouraged everyone to download COVIDSafe pic.twitter.com/1uE62TY3uJ
— Ben Grubb 🐛 (@bengrubb) May 11, 2020
COVIDSafe – The safer we are, the sooner we get Australia back in business. We’re backing the #COVIDSafe App.
— Coca-Cola Amatil (@CocaColaAmatil) May 5, 2020
Why is Coles bothering me with CovidSafe app push notifications? pic.twitter.com/xTe7TBaZyB
— Jean-Jacques Halans (@halans) May 7, 2020
When even fast food chains are spreading app propaganda. pic.twitter.com/Ydb6NIo15c
— Andrew Harvey 🏠 Home (@mootpointer) May 8, 2020
Play your part for the love of snow 💙❄ Be COVID-Safe with us, download the App https://t.co/ZXcDHpVXUZ & help keep our season safe ⛷🏂 pic.twitter.com/DaG2iUv5Hv
— Perisher (@PerisherResort) May 11, 2020


Looping in Ruby vs. Looping in JavaScript
Looping in JavaScript is extremely similar to looping in Ruby. The only thing that changes is a little bit of syntax. Let's take a look at some specific loops in both languages.
The 'For' Loop
The 'for' loop is one of the most common loops in both languages. It is most useful for when you know how many times you'll be looping. Instead of writing "puts 1, puts 2, puts 3, puts 4, puts 5", we can write a loop that does this for us.
Here is a 'for' loop in Ruby:
for num in 1..5
puts num
end
# returns
1
2
3
4
5
In this example, each number 1 through 5 was printed on a new line to the console. This code is telling Ruby that for the variable "num" in the range of 1 to 5, do what is next. In this case, "puts num" was what was next. One of the biggest tings to note is that we used an inclusive range in this example with the use of the two dots in 1..5. If we had used an exclusive range instead, written as 1...5, then it would have only "puts"ed out numbers 1 through 4.
Let's look at the same 'for' loop in JavaScript:
for(var counter = 0; counter < 6; counter++) {
console.log(counter);
}
This does the exact same thing in JavaScript that it did in Ruby - it puts a number 1 through 5 (inclusive) on each line in the console. However, there is some new syntax here, so let's take a look:
var counter = 1;
This declares a variable named "counter" with a value of 1. When the 'for' loop is executed, the code in the code block (the part between { and }) - it does so by starting off where counter = 1.
counter < 6;
This tells the loop to continue running while counter < 6. So when counter = 2 or counter = 3, the loop will continue to run. However, once the counter is no longer less than 6, it will stop running.
counter++
This is simply a shorthand way of saying "counter = counter + 1". Therefore, each time the loop runs through the code block, the value of counter will increase by one. This is what makes it possible for our loop to end so we don't end up creating an infinite loop.
'While' You're Here...
Let's now take a look at 'while' loops in both Ruby and JavaScript. 'While' loops are useful when you want to repeat a certain block of code while a certain condition is true, but you aren't sure how many times it will be repeated. One example is when you are prompting a user for a zip code, which is 5 integers, and they give you a 6 digit number. You may have to re-ask them several times before you get the input that you are looking for. To do this, we use a 'while' loop. It checks to see if a certain condition is true, and keeps running as long as it is true.
Here is a Ruby 'while' loop:
counter = 1
while counter < 6
puts counter
counter += 1
end
This code should be fairly self-explanatory. We define a variable named "counter" and set it equal to 0. While the counter is less than 6, put the value of the counter. Also, each time the loop runs, add 1 to counter and set that as the new value of counter.
Now let's look at that same code in JavaScript:
counter = 0;
while(counter < 6) {
console.log(counter);
counter++;
}
As you can see, the 'while' loop still evaluates a condition and continues running as long as the condition is true. The code above demonstrates the same example that we saw with Ruby, but you can also evaluate a condition without using numbers:
var condition = true;
while(condition) {
console.log("The condition is true!");
condition = false;
}
Notice the "while(condition)" syntax in the above example. This is a shorthand way of saying "while condition === true". It is just shorter and easier to leave out the "=== true" portion and leave it as implied.
Beware of infinite loops! Notice that inside of the loop, we change the condition to equal false. This is very important, because otherwise we would be creating a loop that would never end. This will cause your console to crash and is a mess all around. Make sure that you never create an infinite loop!
If you have any questions or comments, please send me either an email or a tweet. Happy coding!
Posted by Morgan McCrory


Disclaimer: I am by no means an advanced developer/programmer now and I definitely didn't know python at all when I started my internship. Just because you might not know python or never automated anything with code before doesn't mean it will take you years to learn how to. In fact it only took me a week or so to get the hang of it.
Part of my job as a student intern developer is to provide occasional help to the marketing team in the office with analytics and data gathering. One of those tasks is to check the university's main website's front page everyday to see if the featured article has changed. If so, I need to record the dates this article stayed up, take a screenshot, and record its title, description, and number of clicks it got in a google spreadsheet.
Those are A LOT of steps not to mention having to remember to do that every single day when I have so many other tasks. Also, what if I checked one day before leaving work at 5:00 PM, and the article was updated at 5:05PM. I would notice the change only next morning and record down the incorrect date of removal.
Up until 2 months ago, I did that routine and I was bad at it because some days I would forget to check and would have to check archive.org for a cached copy online. One day I decided I've had enough and decided to learn web crawling.
Python is a really simple language that I managed to pick up in a week or two. You don't need to learn much except for the basic syntax, for loops, and importing libraries to start crawling the web. A good place to start is with this excellent book. (This links to the free online version) In my case, I used a library called Beautiful Soup that basically takes an HTML page and breaks it down into one big dictionary you can traverse and change. If you want to learn more about how to use Beautiful Soup and go through a tutorial this post by Justin Yek is a great place to start. I first created a python file, named it homepage, and imported the libraries to be used:
import datetime
import urllib2
from bs4 import BeautifulSoup
import unicodedata
I use the datetime library to record and print the date and time the crawler/program is run:
# Print Timestamp At time of crawl
datePosted = str(datetime.date.today())
print( 'Time of Crawl: ' + datePosted)
I then use the urllib2 library to get the HTML document of the front page, and use BeautifulSoup library to parse it:
# Get page and parse its content
url = 'https://twin-cities.umn.edu/'
page = urllib2.urlopen(url)
soup = BeautifulSoup(page, 'html.parser')
Now I have the page's HTML in a nice dictionary so I can extract the featured article's url, image link, title, and so on. From inspecting the homepage in chrome dev tools, I find out that the featured article's image always has a class of either mast__img if it's a static image, or mast__mobile otherwise. (The otherwise happened when I found an error in the program's log one day not finding mast__img). I use BeatifulSoup's .find() method to target the article's image tag by its class:
# In case the featured article has an image
imageLinkText = soup.find( 'img', attrs={ 'class': 'mast__img'})
# In case the featured article has a video
videoLinkText = soup.find('img', attrs={'class': 'mast__mobile'})
Now the article's img tag is stored as an object in imageLinkText/ videoLinkText. Because I'm super lazy and I don't want to take a screenshot of the featured article as well, I will instead get the article's image link so I can access it even when a newer article is published. I use a similar technique to get that info, this time by targetting the image's src attribute:
# Get Image link
try:
src = imageLinkText.get('src')
except AttributeError:
src = videoLinkText.get('src')
imageLink = unicodedata.normalize('NFKD', src).encode('ascii', 'ignore')
print('Image Link: \n' + imageLink)
I need to normalize unicode data in src variable to remove umlauts, accents etc. For example "naïve café " would be changed to "naive cafe". I take this step to avoid any errors while printing out and storing ascii values.
Now to get the Article title and description I had to dig deep and be extra specific. I can't use .find() to get the class mast__text because that would return both the article title in the first p child as well as the description in the second p child. Instead I used BeautifulSoup's CSS selector method .select() which takes css selectors as its argument. In my case, I want the first p child of the class .mast__text so I choose ".mast__text p:nth-of-type(1)":
# Get Article Title
articleTitle = soup.select('.mast__text p:nth-of-type(1)')[0].text.strip().encode('ascii', 'ignore').strip()
print(title)
This will return an array of the matching elements. If the selector is specific enough it should return an array with one item. I convert the item from html code to text with .text and strip away white spaces with .strip() and store it in articleTitle variable. I use the same technique to get the article description:
# Get Article description
articleDescriptionList = soup.select('.mast__text p:nth-of-type(2)')
articleDescription = articleDescriptionList[0].text.strip().encode('ascii', 'ignore').strip()
print('Article Description: \n' + articleDescription)
Finally, I have the article link left to extract. Again I will use the css selector to get the first anchor tag within the featured article div given the class name .node-promoted:
# Get Article Link
articleLink = soup.select('.node-promoted a:nth-of-type(1)')
articleLink = articleLink[0].get('href')
print('Article Link: \n' + articleLink)
soup.select( '.node-promoted a:nth-of-type(1)') returns an array with first item as an html object:
<a href="https://twin-cities.umn.edu/news-events/creating-countrys-identity" title="Learn more about Haider's art.">
To get the article's url I use .get() to get the value within the href attribute. Putting things together, the code should look like this:
import datetime
import urllib2
from bs4 import BeautifulSoup
import unicodedata
# Print Timestamp At time of crawl
datePosted = str(datetime.date.today())
print( 'Time of Crawl: ' + datePosted)
# Get page and parse its content
url = 'https://twin-cities.umn.edu/'
page = urllib2.urlopen(url)
soup = BeautifulSoup(page, 'html.parser')
# In case the featured article has an image
imageLinkText = soup.find( 'img', attrs={ 'class': 'mast__img'})
# In case the featured article has a video
videoLinkText = soup.find('img', attrs={'class': 'mast__mobile'})
# Get Image link
try:
src = imageLinkText.get('src')
except AttributeError:
src = videoLinkText.get('src')
imageLink = unicodedata.normalize('NFKD', src).encode('ascii', 'ignore')
print('Image Link: \n' + imageLink)
# Get Article Title
articleTitle = soup.select('.mast__text p:nth-of-type(1)')[0].text.strip().encode('ascii', 'ignore').strip()
print(title)
# Get Article description
articleDescriptionList = soup.select('.mast__text p:nth-of-type(2)')
articleDescription = articleDescriptionList[0].text.strip().encode('ascii', 'ignore').strip()
print('Article Description: \n' + articleDescription)
# Get Article Link
articleLink = soup.select('.node-promoted a:nth-of-type(1)')
articleLink = articleLink[0].get('href')
print('Article Link: \n' + articleLink)
The output when run from the command line should look like this:
Voila! That's the first useful web crawler I wrote and I depend on it till today. Of course the first version wasn't perfect, and the try/catch blocks are the results of uncaught errors some days, and even when writing this post I managed to optimize it a bit more.
This program alone would have been enough for me to cut the time I spent on this task from 10-15 minutes to 3-5 minutes when using the crawler. That's what I did for a few days until I gave the program more features and hooked it up to a google spreadsheet to keep a log online. However, this is a topic for a later post.


--- layout: simple ---
The acourstic hotkey is an alternative approach to control hotkeys using rhythmic tapping. The project was originally an individual project for graduate level HCI class, and my current research expends on that and focuses on application of rhythmic tapping as interaction input techniques.
Code DemoResearch focused on enriching back-of-device interaction using fisheye cameras. Used Unity to generate large-scale synthetic fisheye images with different hand sizes, tilted angle, and lighting conditions, providing training data for future research.
CodeI am doing independent research in UVa Systems Engineering department. Current research focuses on using location data collected from wearable devices, applying image recognition and transfer learning techniques to characterize trajectories patterns and detect trajectory similarities.
A platform game developed using Pygame. The game was originally a final project for Intro to Programming class created together with a partner, and later added more features and animations by me. Key features included enemies, collectibles, scrolling level, and sounds effects.
View GithubROCA is a course observation application designed by the Education school and Engineering school at UVa. Last year, I was working on making design changes to the ROCA web interface in the UI team. Now I work on front-end for IOS development. Tools I use include: HTML, CSS, PHP, JS, and React Native.
Struggling with procrastination and want to get things done on time? Opened web browsers trying to do some works and then, BOMB, you are on Youtube or Netfix? Made a resolution a month ago and completely forgot about it? The customize home page aims as a self reflection tool, setting daily goals and communicate with past and future self.
A group project solving the Mountain Car problem from OpenAI Gym environments. We attempt to solve the problem with 1) approximate Q-learning via simple neural network, and 2) exact Q-learning algorithm. We then analyze performance, training time, and ease-of-use of the two approaches.
View GithubA skill matching website built with a team of 5. My role was testing manager, ensuring that the system is thoroughly tested, developing overall test plan, and spearheading beta testing. The project was developed using MVC framework and agile development. Tools include Git, Django, Heroku, and Travis-CI.
Visit websiteThis project was proposed as a calorie detection camera, using image recognition techniques to classify food and output corresponding calorie information. We used reduced-size Food 101 dataset as training data, applying transfer learning based on the pretrained AlexNet model to classify images.
View Github


This is an open source project that builds a cron builder component for Angular applications.
It supports
Quartz
and Unix cron string formats for both input and output.
Inspired by this
non-angular
implementation.
You can use either the npm or yarn command-line tool to install packages.
npm install --save @sbzen/ng-cron
You need to import the QuartzCronModule that you want to display by adding the following lines to your ngModule.
Add the cron component into yout template
As a result you will have this widget


Select Author
Select Price
Select Publisher
Select Year
d) Sort the list of applications in the increasing order of two fields , author and publishing year of the books.
Sort Applications
| Application ID |
Application Name |
Author |
Version |
Publication Year |
Price |
{% for row in data %}
| {{row['sid']}} |
{{row['sname']}} |
{{row['author']}} |
{{row['version']}} |
{{row['pub_year']}} |
{{row['price']}} |
{% endfor %}


When you work with us, you are part of a team of dedicated collaborators. All aspects of our software development process are integrated, interactive and agile.
Our approach unifies design, development and product management to create exceptional products.
We start each project by understanding your business goals, the users' needs and the product requirements, then we help translate them into effective and elegant solutions.
Before we sign a contract or write a line of code, our team will spend the necessary time needed to understand your product vision.
The outcome of this scoping session is a proposal or high-level statement of work.
Based on your requirements, we can provide a complete offering or just the pieces you need.
Our design practice offers a full range of services including brand strategy, interaction and visual design and user experience testing. Throughout your project, our designers create and implement visual design and workflows, solicit user feedback and work with you to make sure what gets built is what is needed.
All engineers are fluent in the latest enterprise, mobile and web development technologies. They collaborate with your team to write, and improve code on a daily basis, using proven practices such as test-driven development and pair programming.
Planning and development is iterative. Because we are constantly coding and testing, the products we build are always ready to go live. This iterative process allows for changes as business requirements evolve.
DELANI STUDIO
2019


{% extends 'dashboard/base.html' %} {% block content %}
Click to upgrate to commercial
Click to upgrade to commerical premium


Hey all! Here is the color animation part of the matching game. Click on the square to see some of the animations. Enjoy!


{% extends '_layouts/1_col.html' %} {% block title %} Please confirm your account {% endblock %} {% block page_content %}
You have not yet confirmed your account yet.
Before you can access the site you need to confirm your account
Check your inbox, you should have recieved an email with a confirmation link
Need another confirmation email? Click Here


{% block head %}
{% block title %}ERROR 400{% endblock %} - Firewall Policy Automation
{% endblock %}
FPA
There was an error...
Click to go to home page
Error was:
{{ error }}
{% block content %} {% endblock %} {% block footer %}
©. 2019 written in Flask
{% endblock %}


MI-01 MI-02 MI-03 MI-04 MI-05 MI-06 MI-07 MI-08 MI-09 MI-10 MI-11 MI-12 MI-13 MI-14
MI – Sen. Debbie Stabenow (D) and Sen. Gary C. Peters (D)
Committees
Debbie Stabenow is the #5 Democrat on the Senate Energy Subcommittee on Energy
Debbie Stabenow is the #5 Democrat on the Senate Committee on Energy and Natural Resources
Committees
Gary C. Peters is the #7 Democrat on the Senate Committee on Commerce, Science, and Transportation
HEP Grants
In the past 9 years, this state has received: 107 HEP grants, totalling $43,098,000
Institution Amount ($)
------------------------- ------------
University of Michigan 30,785,000
Michigan State University 7,238,000
Wayne State University 4,185,000
Michigan Tech. University 890,000
SC Contracts
In the past 9 years, this state has received: 4 Office of Science contracts, totalling $31,390
Year Vendor Amount ($) Item
------ ------------------------------ ------------ ----------------------------------------
2016 Herman Miller, Inc. 21,274 Office Furniture
2016 User Friendly Consulting, Inc. 6,300 Information Technology Software
2012 Momar Inc. 3,816 Equipment And Materials Testing- Water P
NSF MPS Grants
In the past 9 years, this state has received: 1411 NSF MPS grants, totalling $475,097,917
Institution Amount ($)
--------------------------------- ------------
Michigan State University 273,863,549
Regents Of University Of Michigan 150,987,592
Wayne State University 19,619,300
Michigan Technological University 9,035,931
Western Michigan University 3,941,742
Central Michigan University 3,123,502
Oakland University 2,970,749
Hope College 2,694,049
University Of Michigan 2,074,214
Calvin College 1,661,739
Kettering University 1,181,558
Grand Valley State University 917,538
Redacted Due To Pii 850,000
Pii Redacted 750,000
Lake Superior State University 399,500
Andrews University 360,000
Kalamazoo College 265,547
Albion College 193,612
Lawrence Technological University 179,997
University Of Detroit Mercy 27,798
SULI/CCI Interns
From 2014-2018, this state had 90 SULI/CCI interns
# Interns Program College
----------- --------- ---------------------------------
37 SULI University of Michigan-Ann Arbor
14 SULI Michigan State University
6 SULI Michigan Technological University
6 SULI Northern Michigan University
3 CCI Northwestern Michigan College
3 SULI Andrews University
2 SULI Wayne State University
2 SULI Grand Valley State University
2 SULI Scott Community College
2 SULI Oakland University
1 SULI University of Michigan-Flint
1 SULI University of Michigan-Dearborn
1 SULI Saginaw Valley State University
1 SULI Madonna University
1 SULI Adrian College
1 SULI Lawrence Technological University
1 SULI Kellogg Community College
1 SULI Kalamazoo College
1 SULI Hope College
1 SULI Hillsdale College
1 SULI Alma College
1 SULI Albion College
1 SULI Western Michigan University
90 — — Back to top
MI-01 – Rep. Jack Bergman (R) – Wikipedia
HEP Grants
In the past 9 years, this district has received: $890,000 in SC HEP grants.
Institution Amount ($) Start End Principal Investigator Project Title
------------------------- ------------ ------- ----- ------------------------ -------------------------------------------------------
Michigan Tech. University 0 2014 2015 Nitz, David STUDIES OF HIGH ENERGY PARTICLE ASTROPHYSICS
Michigan Tech. University 385,000 2014 2016 Nitz, David Studies of Particle Astrophysics at the Cosmic Frontier
Michigan Tech. University 505,000 2012 2014 Nitz Studies of High Energy Particle Astrophysics
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $9,435,431 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------------- ------------
2020 Michigan Technological University 36,636
2019 Michigan Technological University 825,397
2018 Michigan Technological University 766,785
2017 Michigan Technological University 891,357
2016 Lake Superior State University 399,500
2016 Michigan Technological University 615,665
2015 Michigan Technological University 398,463
2014 Michigan Technological University 2,172,323
2013 Michigan Technological University 767,531
2012 Michigan Technological University 2,561,774
SULI/CCI Interns
From 2014-2018, this district had 15 SULI/CCI interns
Term Name College Host Lab Program
----------- ----------------------- --------------------------------- ---------------------------------------------- ---------
Summer 2018 Katherine Lichty Michigan Technological University Argonne National Laboratory SULI
Summer 2018 Jacob Steven Mohar Michigan Technological University Argonne National Laboratory SULI
Summer 2018 Benjamin Louis Gregory Michigan Technological University Oak Ridge National Laboratory SULI
Summer 2018 Volkan Yildirim Northwestern Michigan College Oak Ridge National Laboratory CCI
Summer 2017 Thomas Hagan Northern Michigan University Brookhaven National Laboratory SULI
Summer 2017 Alexander Macaidh Brace Northwestern Michigan College Oak Ridge National Laboratory CCI
Summer 2017 Emily Carol Ross Northern Michigan University Ames National Laboratory SULI
Summer 2017 Kelci Ann Mohrman Michigan Technological University Los Alamos National Laboratory SULI
Summer 2017 Jonathan Barlow Northern Michigan University Thomas Jefferson National Accelerator Facility SULI
Summer 2016 Emily Carol Ross Northern Michigan University Ames National Laboratory SULI
Summer 2015 Alexander Lurie Michigan Technological University Argonne National Laboratory SULI
Summer 2015 Matthew Trefilek Northern Michigan University Argonne National Laboratory SULI
Summer 2015 Daniel Wilbern Northern Michigan University Argonne National Laboratory SULI
Summer 2014 Alexander Lurie Michigan Technological University Argonne National Laboratory SULI
Fall 2017 Volkan Yildirim Northwestern Michigan College Oak Ridge National Laboratory CCI
MI-02 – Rep. Bill Huizenga (R) – Wikipedia
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
In the past 9 years, this district has received: 2 Office of Science contracts, totalling $21,274
Year Vendor Amount ($) Item
------ ------------------- ------------ ----------------
2016 Herman Miller, Inc. 21,274 Office Furniture
NSF MPS Grants
In the past 9 years, this district has received: $3,611,587 in NSF MPS grants.
Year Institution Amount ($)
------ ----------------------------- ------------
2019 Grand Valley State University 143,847
2019 Hope College 80,000
2018 Hope College 585,594
2017 Grand Valley State University 532,932
2017 Hope College 159,297
2016 Hope College 225,366
2015 Grand Valley State University 87,399
2015 Hope College 284,338
2014 Grand Valley State University 76,722
2013 Grand Valley State University 76,638
2013 Hope College 669,106
2012 Hope College 690,348
SULI/CCI Interns
From 2014-2018, this district had 3 SULI/CCI interns
Term Name College Host Lab Program
----------- ------------------------ ----------------------------- ----------------------------- ---------
Summer 2016 Adam Michael Terwilliger Grand Valley State University Oak Ridge National Laboratory SULI
Summer 2014 Michael Andrew Barrows Hope College Argonne National Laboratory SULI
Summer 2014 Danielle Rose Harris Grand Valley State University Argonne National Laboratory SULI
MI-03 – Rep. Justin Amash (R) – Wikipedia
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $1,955,351 in NSF MPS grants.
Year Institution Amount ($)
------ ------------------- ------------
2019 Redacted Due To Pii 100,000
2017 Calvin College 809,239
2016 Calvin College 89,179
2015 Albion College 193,612
2014 Calvin College 29,473
2013 Calvin College 432,128
2012 Calvin College 301,720
SULI/CCI Interns
From 2014-2018, this district had 2 SULI/CCI interns
Term Name College Host Lab Program
----------- -------------------- ------------------------- ----------------------------- ---------
Summer 2016 Stacie Schroll Kellogg Community College Argonne National Laboratory SULI
Fall 2014 Robin Genevieve Todd Albion College Oak Ridge National Laboratory SULI
MI-04 – Rep. John R. Moolenaar (R) – Wikipedia
Committees
John R. Moolenaar is the #21 Republican on the House Committee on Appropriations
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $1,594,395 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------- ------------
2019 Central Michigan University 79,999
2018 Central Michigan University 350,848
2017 Central Michigan University 899,855
2016 Central Michigan University 263,693
SULI/CCI Interns
From 2014-2018, this district had 2 SULI/CCI interns
Term Name College Host Lab Program
----------- --------------------- ------------------------------- ------------------------------------- ---------
Summer 2014 Alexander Hegedus Alma College Lawrence Berkeley National Laboratory SULI
Summer 2014 Daniel Patrick Weller Saginaw Valley State University Ames National Laboratory SULI
MI-05 – Rep. Daniel T. Kildee (D) – Wikipedia
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $1,181,558 in NSF MPS grants.
Year Institution Amount ($)
------ -------------------- ------------
2015 Kettering University 543,600
2014 Kettering University 560,150
2013 Kettering University 77,808
SULI/CCI Interns
From 2014-2018, this district had 3 SULI/CCI interns
Term Name College Host Lab Program
----------- -------------------- ---------------------------- ------------------------ ---------
Summer 2017 Benjamin Hal Whigham Scott Community College Ames National Laboratory SULI
Summer 2016 David Lloyd Poole University of Michigan-Flint Ames National Laboratory SULI
Summer 2016 Brad James Ryan Scott Community College Ames National Laboratory SULI
MI-06 – Rep. Fred Upton (R) – Wikipedia
Committees
Fred Upton is the #2 Republican on the House Committee on Energy and Commerce
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
In the past 9 years, this district has received: 1 Office of Science contracts, totalling $6,300
Year Vendor Amount ($) Item
------ ------------------------------ ------------ -------------------------------
2016 User Friendly Consulting, Inc. 6,300 Information Technology Software
NSF MPS Grants
In the past 9 years, this district has received: $4,567,289 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------- ------------
2020 Western Michigan University 23,983
2019 Western Michigan University 241,778
2018 Andrews University 67,073
2018 Western Michigan University 1,228,020
2017 Western Michigan University 375,079
2015 Western Michigan University 308,602
2014 Andrews University 292,927
2014 Kalamazoo College 220,547
2014 Western Michigan University 791,174
2013 Western Michigan University 748,106
2012 Kalamazoo College 45,000
2012 Western Michigan University 225,000
SULI/CCI Interns
From 2014-2018, this district had 5 SULI/CCI interns
Term Name College Host Lab Program
----------- ------------------------- --------------------------- --------------------------- ---------
Summer 2017 John-Luke Nicolas Navarro Andrews University Argonne National Laboratory SULI
Summer 2016 John-Luke N Navarro Andrews University Argonne National Laboratory SULI
Summer 2016 Omid Tafti Kalamazoo College Argonne National Laboratory SULI
Summer 2015 Louis Raymond Piccione Western Michigan University Argonne National Laboratory SULI
Summer 2014 Thomas Zirkle Andrews University Argonne National Laboratory SULI
MI-07 – Rep. Tim Walberg (R) – Wikipedia
Committees
Tim Walberg is the #21 Republican on the House Committee on Energy and Commerce
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
This district received no NSF MPS grants from 2012-2020
SULI/CCI Interns
From 2014-2018, this district had 2 SULI/CCI interns
Term Name College Host Lab Program
----------- ------------------------- ----------------- ------------------------------ ---------
Summer 2018 Anastasia Rochelle Fryman Adrian College Los Alamos National Laboratory SULI
Summer 2017 Michael Tripepi Hillsdale College Oak Ridge National Laboratory SULI
MI-08 – Rep. Elissa Slotkin (D) – Wikipedia
HEP Grants
In the past 9 years, this district has received: $7,238,000 in SC HEP grants.
Institution Amount ($) Start End Principal Investigator Project Title
------------------------- ------------ ------- ----- ------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Michigan State University 225,000 2019 2020 Baryshev, Sergey Light and Electron Emission as Breakdown Probes: Synergistic DC and RF Study
Michigan State University 119,000 2019 2020 Ostroumov, Peter Development of High-Performance Medium Velocity Superconducting Elliptical Cavities for Hadron Linacs
Michigan State University 740,000 2018 2020 Berz, Martin Advanced Transfer Map Methods for Particle Beam Dynamics: Theory, Applications, and Education
Michigan State University 5,000 2018 2020 Berz, Martin Tenth International Conference on Charged Particle Optics (CPO-10)
Michigan State University 210,000 2018 2020 Bromberg, Carl Neutrino Physics and DUNE Single-Phase LArTPC
Michigan State University 300,000 2018 2020 Hao, Yue 6-D Analysis of Nonlinear Dynamics Using Square Matrix Method
Michigan State University 10,000 2018 2020 Makino, Kyoko 13th International Computational Accelerator Physics Conference (ICAP'18)
Michigan State University 1,490,000 2017 2020 Ostroumov, Peter MSU Traineeship Program to Address Critical Workforce Needs in Accelerator Science & Engineering
Michigan State University 940,000 2016 2020 Mahn, Kendall Improved neutrino oscillation measurements using multiple neutrino energy spectra
Michigan State University 800,000 2014 2018 Berz, Martin Advanced Transfer Map Methods for the Description of ParticleBeam Dynamics
Michigan State University 1,500,000 2014 2020 Bieler, Thomas The Effect of Process History on Grain Boundaries and Dislocation Substructures on Functional Properties of Nb for SRF Cavities: Plastic Formability and Microstructural Evolution
Michigan State University 0 2013 2014 Bieler RECOVERY ACT: SRF-Foundations for Quantitative Microstructural Models to Track Evolution of the Metallurgical State During High Purity Nb Cavity Fabrication
Michigan State University 200,000 2013 2014 Bieler The Cost of Grain Boundaries on the Performance of Superconducting Cavities
Michigan State University 699,000 2012 2014 Berz Advanced Map Methods for the Description of Particle Beam Dynamics
SC Contracts
In the past 9 years, this district has received: 1 Office of Science contracts, totalling $3,816
Year Vendor Amount ($) Item
------ ---------- ------------ ----------------------------------------
2012 Momar Inc. 3,816 Equipment And Materials Testing- Water P
NSF MPS Grants
In the past 9 years, this district has received: $275,337,063 in NSF MPS grants.
Year Institution Amount ($)
------ ------------------------- ------------
2020 Michigan State University 6,341,720
2019 Michigan State University 42,831,663
2019 Oakland University 342,179
2019 Redacted Due To Pii 100,000
2018 Michigan State University 33,813,603
2018 Oakland University 606,192
2018 Redacted Due To Pii 200,000
2017 Michigan State University 33,669,639
2017 Oakland University 180,144
2016 Michigan State University 33,732,361
2015 Michigan State University 32,288,621
2014 Michigan State University 33,079,039
2013 Michigan State University 28,667,148
2013 Oakland University 44,999
2012 Michigan State University 29,439,755
SULI/CCI Interns
From 2014-2018, this district had 16 SULI/CCI interns
Term Name College Host Lab Program
----------- ------------------------ ------------------------- ------------------------------------- ---------
Summer 2018 Dylan Ronald Smith Michigan State University Oak Ridge National Laboratory SULI
Summer 2018 Robert Grooms Michigan State University Idaho National Laboratory SULI
Summer 2017 Jeanelle Grosvenor Michigan State University Argonne National Laboratory SULI
Summer 2016 Zack Elkordy Michigan State University Argonne National Laboratory SULI
Summer 2016 Ruthann Gregory Michigan State University Argonne National Laboratory SULI
Summer 2016 Monika Alexandra Molenda Oakland University Oak Ridge National Laboratory SULI
Summer 2016 Dawei Chen Michigan State University Pacific Northwest National Laboratory SULI
Summer 2016 Hananiel Setiawan Michigan State University SLAC National Accelerator Laboratory SULI
Summer 2016 Koji Foreman Michigan State University Savannah River National Laboratory SULI
Summer 2015 Caitlin Paige O'Neill Michigan State University Oak Ridge National Laboratory SULI
Summer 2015 Allison M Stettler Michigan State University Lawrence Berkeley National Laboratory SULI
Summer 2014 Kyle Seewald Michigan State University Brookhaven National Laboratory SULI
Summer 2014 Bryan Paul Jagielo Oakland University Argonne National Laboratory SULI
Summer 2014 Caitlin Paige O'Neill Michigan State University Lawrence Berkeley National Laboratory SULI
Summer 2014 Hoang Cao Nguyen Michigan State University SLAC National Accelerator Laboratory SULI
Fall 2014 Tyler Rhinesmith Michigan State University Pacific Northwest National Laboratory SULI
MI-09 – Rep. Andy Levin (D) – Wikipedia
Committees
Andy Levin is the #11 Democrat on the House Subcommittee on Higher Education and Workforce Development
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $799,261 in NSF MPS grants.
Year Institution Amount ($)
------ ------------------ ------------
2012 Oakland University 799,261
SULI/CCI Interns
This district had no SULI/CCI interns from 2014-2018
MI-10 – Rep. Paul Mitchell (R) – Wikipedia
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $1,529,107 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------- ------------
2014 Central Michigan University 674,021
2013 Central Michigan University 298,471
2012 Central Michigan University 556,615
SULI/CCI Interns
This district had no SULI/CCI interns from 2014-2018
MI-11 – Rep. Haley M. Stevens (D) – Wikipedia
Committees
Haley M. Stevens is the #4 Democrat on the House Committee on Science, Space, and Technology; Subcommittee on Energy
Haley M. Stevens is the #8 Democrat on the House Committee on Science, Space, and Technology
Haley M. Stevens is the #1 Democrat on the House Committee on Science, Space, and Technology; Subcommittee on Research and Technology
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $997,974 in NSF MPS grants.
Year Institution Amount ($)
------ ------------------ ------------
2015 Oakland University 640,294
2014 Oakland University 123,686
2013 Oakland University 233,994
SULI/CCI Interns
From 2014-2018, this district had 1 SULI/CCI intern
Term Name College Host Lab Program
----------- ----------------- ------------------ -------------------------------------- ---------
Summer 2017 Stephanie Mackley Madonna University Lawrence Livermore National Laboratory SULI
MI-12 – Rep. Debbie Dingell (D) – Wikipedia
Committees
Debbie Dingell is the #23 Democrat on the House Committee on Energy and Commerce
HEP Grants
In the past 9 years, this district has received: $22,227,000 in SC HEP grants.
Institution Amount ($) Start End Principal Investigator Project Title
---------------------- ------------ ------- ------- ------------------------ --------------------------------------------------------------------------------------------------------------------------------------------
University of Michigan 250,000 2019 2020 Campbell, Myron Search for Rare Processes in Muons and Kaons
University of Michigan 750,000 2018 2020 Safdi, Benjamin Particle Dark Matter Across Scales
University of Michigan 13,000 2018 Ongoing Pierce, Aaron High Energy Theory and Cosmology Workshops at the Leinweber Center for Theoretical Physics at the University of Michigan
University of Michigan 1,025,000 2018 2020 Tarle, Gregory Proposal to Explore the Fundamental Constituents of the Universe Funding Years FY 2018-2020
University of Michigan 145,000 2017 2018 Zhu, Junjie Vector Boson Scattering Studies and Upgrades of Frontend Electronics for the ATLAS Muon Spectrometer
University of Michigan 54,000 2017 2018 Pando Zayas, Leopoldo Topics in the AdS/CFT Correspondence: Precision tests with Wilson loops, quantum black holes and dualities
University of Michigan 30,000 2017 Ongoing Campbell, Myron Experimental Study of the Rare Neutral-Kaon Decays at J-PARC
University of Michigan 1,166,000 2017 Ongoing Krushelnick, Karl SCALING OF ACTIVE CONTROL OF LASER BEAM QUALITY AND CONTRAST FOR HIGH REP RATE LASER DRIVEN ACCELERATORS
University of Michigan 20,000 2016 2017 Pierce, Aaron High Energy Theory Workshops and Visitors at the Michigan Center for Theoretical Physics FY17
University of Michigan 211,000 2016 2018 McMahon, Jeffrey Advanced Detector Technologies for Precision Measurement of Inflation, Dark Energy, and Neutrino Masses with the Cosmic Microwave Background
University of Michigan 340,000 2016 Ongoing Lorenzon, Wolfgang Search for Dark Matter with the LZ experiment
University of Michigan 240,000 2015 2018 Miller, Christopher Complementary Probes of Dark Energy using Galaxy Clusters
University of Michigan 125,000 2015 Ongoing Campbell, Myron Koto Trigger And Daq Upgrade
University of Michigan 15,000 2015 2016 Pierce, Aaron High Energy Theory Workshops And Visitors At The Michigan Center For Theoretical Physics Fy16
University of Michigan 10,000 2015 2016 Levin, Daniel The 2015 Meeting Of The American Physical Society, Division Of Particles And Fields
University of Michigan 410,000 2014 2017 Zhu, Junjie Search for New Physics and Upgrade of the Muon Spectrometer at ATLAS
University of Michigan 100,000 2014 2015 Wells, James Precision Higgs Boson Physics and Implications for Beyond the Standard Model Physics Theories
University of Michigan 17,008,000 2014 2020 Amidei, Dante Proposal to Study the Properties and Interactions of Elementary Particles Funding Years FY 2018-2020
University of Michigan 110,000 2014 2015 Schwarz, Thomas Searching for New Physics with Top Quarks and Upgrade to the Muon Spectrometer at ATLAS
University of Michigan 0 2014 2015 Schubnell, Michael Precision Spectrophotometric Calibration System for Dark Energy Instruments
University of Michigan 176,000 2014 2015 Levin, Daniel Plasma Panel Sensors for High Energy Physics
University of Michigan 29,000 2014 2015 Pierce, Aaron High Energy Theory Workshops and Visitors at the Michigan Center for Theoretical Physics FY15
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $133,201,976 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------------- ------------
2020 Regents Of University Of Michigan 953,804
2019 Redacted Due To Pii 150,000
2019 Regents Of University Of Michigan 30,805,134
2018 Pii Redacted 300,000
2018 Regents Of University Of Michigan 17,702,638
2017 Pii Redacted 300,000
2017 Regents Of University Of Michigan 17,552,272
2016 Regents Of University Of Michigan 16,048,328
2015 Regents Of University Of Michigan 13,183,512
2015 University Of Michigan 2,074,214
2014 Regents Of University Of Michigan 13,104,431
2013 Regents Of University Of Michigan 21,027,643
SULI/CCI Interns
From 2014-2018, this district had 38 SULI/CCI interns
Term Name College Host Lab Program
----------- --------------------------- -------------------------------- -------------------------------------- ---------
Summer 2018 Brinda Yarlagadda University of Michigan-Ann Arbor National Renewable Energy Laboratory SULI
Summer 2018 Desislava Rusalinova Dikova University of Michigan-Ann Arbor National Renewable Energy Laboratory SULI
Summer 2018 Benjamin William Rappoport University of Michigan-Ann Arbor Oak Ridge National Laboratory SULI
Summer 2018 Tyler Del Rose University of Michigan-Ann Arbor Ames National Laboratory SULI
Summer 2018 John Koenig University of Michigan-Ann Arbor Oak Ridge National Laboratory SULI
Summer 2018 Alexander Macaidh Brace University of Michigan-Ann Arbor Oak Ridge National Laboratory SULI
Summer 2018 Sari Grossman University of Michigan-Ann Arbor SLAC National Accelerator Laboratory SULI
Summer 2017 Evan Chang University of Michigan-Ann Arbor Argonne National Laboratory SULI
Summer 2017 Evan Leppink University of Michigan-Ann Arbor Princeton Plasma Physics Laboratory SULI
Summer 2017 Nicholas Lin University of Michigan-Ann Arbor Oak Ridge National Laboratory SULI
Summer 2017 Chad Denbrock University of Michigan-Ann Arbor Idaho National Laboratory SULI
Summer 2017 Noah Alexander Mcneal University of Michigan-Ann Arbor Brookhaven National Laboratory SULI
Summer 2016 Alan Xu University of Michigan-Ann Arbor Argonne National Laboratory SULI
Summer 2016 Jacqueline Nicole Beechert University of Michigan-Ann Arbor SLAC National Accelerator Laboratory SULI
Summer 2016 Antonia Emilia Wuschner University of Michigan-Ann Arbor Argonne National Laboratory SULI
Summer 2016 Miles Raleigh Denudt University of Michigan-Ann Arbor Argonne National Laboratory SULI
Summer 2016 Hanna Schamis University of Michigan-Ann Arbor Princeton Plasma Physics Laboratory SULI
Summer 2016 Juan Diego Riquezes University of Michigan-Ann Arbor Princeton Plasma Physics Laboratory SULI
Summer 2016 Samuel Frank University of Michigan-Ann Arbor Princeton Plasma Physics Laboratory SULI
Summer 2016 Catherine Haslam University of Michigan-Ann Arbor National Renewable Energy Laboratory SULI
Summer 2016 Jared Molesky University of Michigan-Ann Arbor Brookhaven National Laboratory SULI
Summer 2015 Paul Robert Parker University of Michigan-Ann Arbor Lawrence Livermore National Laboratory SULI
Summer 2015 Nathaniel Edward Wirgau University of Michigan-Ann Arbor Princeton Plasma Physics Laboratory SULI
Summer 2015 Hanna Schamis University of Michigan-Ann Arbor Princeton Plasma Physics Laboratory SULI
Summer 2015 Thomas Allen Deeds University of Michigan-Ann Arbor National Renewable Energy Laboratory SULI
Summer 2015 Albert Liu University of Michigan-Ann Arbor Los Alamos National Laboratory SULI
Summer 2015 Graham William Dominick University of Michigan-Ann Arbor National Renewable Energy Laboratory SULI
Summer 2015 Jessica Micallef University of Michigan-Ann Arbor Lawrence Berkeley National Laboratory SULI
Summer 2015 Erin Moser University of Michigan-Ann Arbor Pacific Northwest National Laboratory SULI
Summer 2015 Anthony Gorney University of Michigan-Ann Arbor Argonne National Laboratory SULI
Summer 2014 David Cinquegrani University of Michigan-Ann Arbor Brookhaven National Laboratory SULI
Summer 2014 Erin Moser University of Michigan-Ann Arbor Pacific Northwest National Laboratory SULI
Summer 2014 Ryan Levy University of Michigan-Ann Arbor Oak Ridge National Laboratory SULI
Summer 2014 Diamant Kurteshi University of Michigan-Ann Arbor Ames National Laboratory SULI
Spring 2017 Jack Hu University of Michigan-Ann Arbor National Renewable Energy Laboratory SULI
Spring 2017 Alan James Phillips University of Michigan-Ann Arbor Oak Ridge National Laboratory SULI
Spring 2014 Bunheng Ty University of Michigan-Dearborn Brookhaven National Laboratory SULI
Fall 2015 Bardia Nadim University of Michigan-Ann Arbor Argonne National Laboratory SULI
MI-13 – Rep. Rashida Tlaib (D) – Wikipedia
HEP Grants
In the past 9 years, this district has received: $4,185,000 in SC HEP grants.
Institution Amount ($) Start End Principal Investigator Project Title
---------------------- ------------ ------- ----- ------------------------ ---------------------------------------------
Wayne State University 220,000 2014 2016 Cinabro, David Belle Physics at Wayne State
Wayne State University 2,954,000 2014 2020 Karchin, Paul Particle Physics Research Program
Wayne State University 29,000 2014 2015 Paz, Gil Theoretical Particle Physics Research Program
Wayne State University 30,000 2013 2014 Paz Theoretical Particle Physics Research Program
Wayne State University 952,000 2012 2014 Karchin Particle Physics Research Program
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $19,791,298 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------- ------------
2019 Wayne State University 3,253,211
2018 Pii Redacted 150,000
2018 University Of Detroit Mercy 21,998
2018 Wayne State University 872,277
2017 Wayne State University 2,562,512
2016 Wayne State University 1,780,900
2015 Wayne State University 1,699,216
2014 Wayne State University 3,977,166
2013 Wayne State University 1,999,173
2012 Wayne State University 3,474,845
SULI/CCI Interns
From 2014-2018, this district had 2 SULI/CCI interns
Term Name College Host Lab Program
----------- ----------------- ---------------------- ------------------------------ ---------
Spring 2018 Jameson Tockstein Wayne State University Los Alamos National Laboratory SULI
Fall 2018 Krystal Krygowski Wayne State University Argonne National Laboratory SULI
MI-14 – Rep. Brenda L. Lawrence (D) – Wikipedia
Committees
Brenda L. Lawrence is the #4 Democrat on the House Appropriations Subcommittee on Commerce, Justice, and Science
Brenda L. Lawrence is the #26 Democrat on the House Committee on Appropriations
HEP Grants
This district received no SC HEP grants from 2012-2020
SC Contracts
This district received no SC contracts from 2012-2020
NSF MPS Grants
In the past 9 years, this district has received: $185,797 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------------- ------------
2019 Lawrence Technological University 179,997
2013 University Of Detroit Mercy 5,800
SULI/CCI Interns
From 2014-2018, this district had 1 SULI/CCI intern
Term Name College Host Lab Program
----------- ------------------- --------------------------------- ----------------------------- ---------
Summer 2014 Ryan Joseph Daniels Lawrence Technological University Oak Ridge National Laboratory SULI


This article presents the algorithm used to compute the maximum stack size and the stack map frames of a method. This algorithm is a control and data flow analysis algorithm, based on the decomposition of the method into a control flow graph of basic blocks.
A basic block is a sequence of instructions where only the first instruction is the target of a jump instruction, and where only the last instruction can jump to other basic blocks.
 This graph is constructed during the visit of each instruction.
In the following we explain the algorithm used to compute the stack map frames,
implemented in the computeAllFrames
method.
The algorithm to compute the maximum stack size,
implemented in the computeMaxStackAndLocal
method,
is similar but simpler (since only the size of the stack is needed),
so it is not detailed here (except for the handling of subroutines).
Stack map frames are computed in a two steps process:
MethodWriter.computeAllFrames()
,
a fix point algorithm is used to compute the "input frame" of each basic block,
i.e. the stack map frame at the beginning of the basic block,
starting from the input frame of the first basic block (which is computed from the method descriptor),
and by using the previously computed output frames to compute the input state of the other blocks.
笔记：第二步，计算每一个basic block的input frame。
Let's take a simple example in order to explain the details of this algorithm. Consider the following very simple method (where B is a subclass of A):
As stated above, during the first step of the algorithm,
which takes place in each visitXxxInsn
method in MethodWriter
,
the state of the output frame of each basic block is updated by simulating the action of the visited instruction.
It is important to note that the algorithm works at the basic block level, and not at the instruction level.
This means that input and output frames are associated to basic blocks, and not to individual instructions.
In practice, they are stored in a Frame
object that is associated to a Label
object,
which marks the beginning of basic blocks.
The effect of this first step for the above example method is illustrated on the table below:
| Label | Instruction | Output frame | Comment |
|---|---|---|---|
GETSTATIC B.VALUE : LB; |
O1 = [??] [?B] | getstatic pushes a value of type B on the stack | |
ASTORE 1 |
O1 = [?B] [?] | astore consumes this value and stores it in local 1 | |
GOTO L0 |
O1 = [?B] [?] | goto does not change the frame | |
L1 |
GETSTATIC A.VALUE : LA; |
O2 = [??] [?A] | each basic block starts with a new, unknown frame |
ASTORE 1 |
O2 = [?A] [?] | astore stores the value produced by getstatic in local 1 | |
L0 |
ILOAD 0 |
O3 = [??] [?I] | iload pushes the value of local 0, which is of type int |
IFNE L1 |
O3 = [??] [?] | ifne consumes this value | |
ALOAD 1 |
O4 = [??] [?L1] | aload pushes the value of local 1, which is unknown | |
ARETURN |
O4 = [??] [?] | areturn consumes this value |
At the beginning, the output frame O1 of the first basic block is completely unknown.
During the visit of the first instruction, the action of GETSTATIC
is simulated:
the result is that a new value of type B
is pushed on the stack,
on top of the previous values
(although we know here that the stack is initially empty, we do not take this into account and
do as if the stack could previously contain any number of values of any type - hence the [?B]
).
During the visit of the second instruction, the output frame O1 is updated to simulate the effect of ASTORE
:
the result is that the value previously pushed on the stack is popped and stored in the local variable 1.
The visit of the third instruction does not change the output frame O1, but changes the current basic block to null
.
The visit of the L1
label makes L1
become the new current basic block.
Like for the first basic block, the output frame O2 of this basic block is initially completely unknown. The visit of the instructions of this basic block is then similar to the visit of the previous instructions.
The visit of the L0
label makes L0
become the new current basic block.
Here again we start with a completely unknown output frame O3 although,
in this case, we could start from the value of O2 (since this basic block is a successor of the previous one).
The ILOAD
instruction loads the value of local variable 0,
which is necessarily of type int
(the whole algorithm is based on the assumption that the code is correct), and pushes it on the stack.
The IFNE
instruction consumes this value.
Another effect of simulating the action of the IFNE
instruction is to create a new basic block,
and to make it the new current basic block.
This is why, although there is no label just after this instruction, the basic block changes.
Here again, the output frame O4 of this basic block is initially completely unknown
(although, as before and for the same reason, we could start from the value of O3).
The ALOAD
instruction loads the value of local variable 1,
whose type is unknown since the frame is initially completely unknown.
The only thing we know is that, after the execution of this method,
the stack contains one additional value whose type is the type of local variable 1
before this instruction was executed (hence the [?L1]
).
During the second step of the algorithm, which takes place in the computeAllFrames
method,
the input frames of each basic block are computed by using an iterative fix point algorithm
(i.e. an algorithm to find a fix point x
of a function f
, defined by f(x)=x
.
If x
values define a complete lattice and if f
is monotonic,
xn+1=f(xn)
converges to the smallest fix point of f
, according to the Tarski theorem.
Here x
is a control flow graph with input and output frames,
f
is a "merge" function and the order relation is based on the subtyping relation for the verification type system).
First the input frame I1
of the first basic block
is computed from the method descriptor "public static m(Z)LA;
", which gives I1 = [I] []
.
Then the first basic block is marked as "changed", and the fix point algorithm starts:
| Iteration | Changed | Output frames | Input frames | Comment |
|---|---|---|---|---|
| 0 | B1 | O1 = [?B] [?] O2 = [?A] [?] O3 = [??] [?] O4 = [??] [?] |
I1= [I-] [] I2 = [??] [?] I3 = [??] [?] I4 = [??] [?] |
Initialization of input frame I1 from the method's
descriptor, B1 marked as "changed" |
| 1 | B3 | I1= [I-] [] I2 = [??] [?] I3 = [IB] [] I4 = [??] [?] |
B1 marked as "unchanged", merge of I1 and O1 into I3 (B3 is a successor of B1), B3 marked as "changed" |
|
| 2 | B2, B4 | I1= [I-] [] I2 = [IB][] I3 = [IB] [] I4 = [IB] [] |
B3 marked as "unchanged", merge of I3 and O3 into I2 (B2 is a successor of B3), B2 marked as changed, merge of I3 and O3 into I4 (B4 is as successor of B3), B4 marked as changed |
|
| 3 | B4, B3 | I1= [I-] [] I2 = [IB] [] I3 = [IA] [] I4 = [IB] [] |
B2 marked as "unchanged", merge of I2 and O2 into I3 (B3 is a successor of B2), B3 marked as changed. |
|
| 4 | B3 | I1= [I-] [] I2 = [IB] [] I3 = [IA] [] I4 = [IB] [] |
B4 marked as "unchanged" | |
| 5 | B2, B4 | I1= [I-] [] I2 = [IA] [] I3 = [IA] [] I4 = [IA] [] |
B3 marked as "unchanged", merge of I3 and O3 into I2 (B2 is a successor of B3), B2 marked as changed, merge of I3 and O3 into I4 (B4 is as successor of B3), B4 marked as changed |
|
| 6 | B4 | I1= [I-] [] I2 = [IA] [] I3 = [IA] [] I4 = [IA] [] |
B2 marked as "unchanged", merge of I2 and O2 into I3 (B3 is a successor of B2), B3 not marked as changed. |
|
| 7 | I1= [I-] [] I2 = [IA] [] I3 = [IA] [] I4 = [IA] [] |
B4 marked as "unchanged" |
The simulation of a NEW T
instruction results in a special uninitialized type being pushed on the stack.
This special type contains the offset of the NEW
instruction that created it.
When an INVOKESPECIAL
instruction for a T
constructor is simulated,
all occurrences of this special type in the current stack map frame must be replaced with the normal T
type.
The basic block input and output frame data structures presented in the previous section are not sufficient to take uninitialized types into account. Indeed, when a constructor invocation is visited, the type of the target may be unknown, and many local variable and operand stack types may also be unknown. It is therefore impossible to replace all occurrences of the target type everywhere in the stack map frame.
For this reason an additional data structure is associated with each basic block,
namely the list of types that are initialized in this basic block
(these types can be relative to the unknown input stack map frame of the basic block).
This data structure is constructed during the visit of instructions,
and is used in computeAllFrames
, when all the types are known.
For all the instructions covered by an exception handler, the control flow can jump to the exception handler block. This means that, inside the region covered by an exception handler, and as a consequence of the definition of basic blocks, basic blocks are reduced to individual instructions. In this case the advantage of using an algorithm working at the basic block level is lost, since there are as many basic blocks as instructions.
Hopefully it is not necessary to really use one basic block per instruction inside regions covered by exception handlers. This is because not all the frames associated to these instructions have an impact on the input frame of the exception handler. Indeed this input frame only contains local variable types, and its stack is reduced to a single element that depends only on the type of exception caught by this handler. As a consequence only the frames associated with the instructions that affect local variables are important. In practice, this means that, inside regions covered by exception handlers, xSTORE instructions end the current basic block (and start a new one) like, for instance, an IFEQ instruction.
As an example, consider the following method:
Normally, due to the exception handler, each instruction between L0 and L1 should be a distinct basic block, which would give 6 basic blocks inside this region. In practice, thanks to the above optimization, only the ASTORE instructions change the current basic block, which gives 3 basic blocks (ALOAD 1 ASTORE 3, ALOAD 2 ASTORE 3 and ALOAD 3 ARETURN). Note that if the instructions between L0 and L1 were considered as a single basic block, the frame computed for L1 would be incorrect: it would indeed be the same as the output frame of the previous block, where local variable 3 is of type Float (whereas the correct value is the common super type of Integer and Float, i.e. Number).
Note: the edges of the control flow graph that connect basic blocks to exception handler blocks are not constructed in the visitTryCatchBlock method but in the computeAllFrames method. Indeed, since the visitTryCatchBlock method must be called before the labels passed as arguments to this method are visited, it is not possible to know in this method which labels belong to the range protected by this handler.
The fix point algorithm used in the second step of the algorithm described in section 3.5.1 is limited to reachable code. Indeed, by definition, reachable code is code that can be reached from the initial basic block in the control flow graph, and the fix point algorithm is precisely looking at these blocks. As a consequence the algorithm does not compute the input frame of dead basic blocks.
Unfortunately the Java 6 split verifier requires a stack map frame for every basic block, even unreachable ones. The problem, as shown above, is that these frames are not computed and, even worse, cannot be computed. Indeed an unreachable basic block can contain illegal bytecode sequences, such as ISTORE 1 ALOAD 1 (more precisely this was possible with the JVM verifier prior to Java 6; but this is no longer possible with the new verifier).
The consequence of all this is that dead code must either be removed or replaced with a valid bytecode sequence whose stack map frame can be easily computed. The first solution was judged too complicated. So the second solution has been chosen.
A simple solution is to replace dead code with NOP instructions. In this case any stack map frame will be ok for these blocks. The only problem is that execution can fall from the end of a dead code block to the end of the method or to the start of a reachable block. So either the stack map frame for the dead code block must be consistent with the frame of the next block, or the last instruction of the dead code block must not be replaced with a NOP but with an instruction without successor, such as RETURN, GOTO, or ATHROW.
The first solution is too complicated; the second one is possible, but the fact that the dead code block can be reduced to a single byte must be taken into account: there is not always enough room to replace it with NOP instructions followed by a GOTO, for example. xRETURN can be used (this is a single byte instruction), but this requires adjustments to the method's return type. The ATHROW instruction does not have this problem, and is also a single byte instruction. It was therefore chosen to end the dead code blocks.
Note that it is not necessary to insert instructions to create something on stack before ATHROW: the stack map frame for this block can "declare" that, when the execution of this basic block begins, there is already an exception on stack (there will be no consistency problem with other frames since this block is unreachable. Also there is no problem with declared exceptions, because the verifier does not check that ATHROW instructions are consistent with declared exceptions).
But declaring a stack map frame of the form [] [java/lang/Throwable] for dead basic blocks may cause a problem if this block is in the range of an exception handler: the stack map frame for this handler may be inconsistent, with a non empty list of local variable types (the stack part will always be consistent since it always has the form [exception type] for an exception handler). To solve this, we remove the dead basic blocks from the exception handler ranges (which may remove a handler, decrease its range, or split its range in two sub ranges).
In summary, the solution for dead code blocks is to replace these blocks with NOP ... NOP ATHROW, to declare a [] [java/lang/Throwable] stack map frame for these blocks, and to remove the dead code blocks from the exception handlers.


lib/rocco_rails/railtie.rb
From http://blog.nathanhumbert.com/2010/02/rails-3-loading-rake-tasks-from-gem.html
require 'rocco_rails' require 'rails' module RoccoRails class Railtie < Rails::Railtie
railtiename :roccorails
rake_tasks do load "tasks/rails_tasks.rake" end end end


Dear, {{ username }}
This email contains the details of your ticket. You can find the information below:
Name: {{ name }}
Flight Number: {{ flight_number }}
Booking Reference: {{ ticket_number }}
Departure Date: {{ depart_date }}
Arrival Date: {{ arrive_date }}
Local Airport: {{ departure }}
Destination: {{ destination }}
Phone Number: {{ phone_number }}
Passport Number: {{ passport_number }}
Contact Address: {{ contact_address }}
Date of Birth: {{ date_of_birth }}
Ensure you make payments within 7 days to make a flight reservation.
Thank you.
- Flight Team


Hey! You have been registered with the system. You will be notified when the board approves your request. Thank You!See you Soon!Go to Home Page


|
|
CIFXMeshCompiler Class ReferenceInheritance diagram for CIFXMeshCompiler:
List of all members.
Constructor & Destructor Documentation
| CIFXMeshCompiler::CIFXMeshCompiler |
( |
|
) |
|
|
| CIFXMeshCompiler::~CIFXMeshCompiler |
( |
|
) |
[virtual] |
|
Member Function Documentation
| U32 CIFXMeshCompiler::AddRef |
( |
|
) |
[virtual] |
|
|
|
This method increments the reference count for an interface on a component.
- Note:
- It should be called for every new copy of a pointer to an interface on a given component.
- Returns:
- It returns a U32 that contains a value from 1 to 2^32 - 1 that defines the new reference count. The return value should only be used for debugging purposes.
Implements IFXUnknown. |
| IFXRESULT CIFXMeshCompiler::allocateOutputs |
( |
U32 |
numSizes, |
|
|
IFXMeshSize * |
|
|
) |
[private] |
|
| IFXRESULT CIFXMeshCompiler::allocateQueryVerts |
( |
|
) |
[private] |
|
| IFXRESULT CIFXMeshCompiler::commonInit |
( |
|
) |
[private] |
|
| IFXRESULT CIFXMeshCompiler::Compile |
( |
|
) |
[virtual] |
|
|
|
This is typically called many times to incrementally convert the mesh to IFX format.
This should only be called after calling InitCompile. Converts available AuthorMesh data to IFXMesh. The available amount is indicated by calling SetMaxResolution on the AuthorMesh that was passed in during InitStreamCompile.
Implements IFXMeshCompiler. |
| IFXRESULT CIFXMeshCompiler::compileFace |
( |
U32 |
face |
) |
[private] |
|
| IFXRESULT CIFXMeshCompiler::findOrBuildVertex |
( |
U32 |
authorFaceCorner, |
|
|
U32 |
authorFaceIndex, |
|
|
U32 |
mat, |
|
|
IFXResolutionChange * |
pRC, |
|
|
U32 * |
pOutIFXVertexIndex |
|
) |
[private] |
|
| F32 CIFXMeshCompiler::GetCosMaxNormalError |
( |
|
) |
[virtual] |
|
| IFXRESULT CIFXMeshCompiler::GetIFXMeshSizes |
( |
U32 * |
pNumSizes, |
|
|
IFXMeshSize ** |
ppMeshSizes |
|
) |
[virtual] |
|
|
|
This method should be called after or during compilation.
It always returns information relating to the current or most recent compilation. It returns NULL if preview or init have never been called.
Implements IFXMeshCompiler. |
| IFXMeshMap * CIFXMeshCompiler::GetMeshMap |
( |
|
) |
[virtual] |
|
|
|
This method should be called after or during compilation.
It always returns information relating to the current or most recent compilation. It returns NULL if preview or init have never been called.
Implements IFXMeshCompiler. |
|
|
This is called at playback time on the client to initialize the compiler for an incremental streaming style compilation or a static compilation.
The ouput size information should come from the export time call to GetIFXMeshSizes after doing the PreviewCompile.
Implements IFXMeshCompiler. |
| IFXRESULT CIFXMeshCompiler::PreviewCompile |
( |
IFXAuthorCLODMesh * |
pInputMesh |
) |
[virtual] |
|
|
|
- Todo:
- Develop more flexible approach - reallocate arrays if underestimated over estimate number of vertices, then trim back later
Implements IFXMeshCompiler. |
| IFXRESULT CIFXMeshCompiler::QueryInterface |
( |
IFXREFIID |
interfaceId, |
|
|
void ** |
ppInterface |
|
) |
[virtual] |
|
|
|
This method provides access to the various interfaces supported by a component.
Upon success, it increments the component's reference count and hands back a pointer to the specified interface.
- Note:
- A number of rules must be adhered to by all implementations of IFXAPI QueryInterface . For a list of such rules, refer to the IFXCOM usage guidelines.
- Returns:
- Upon success, IFX_OK is returned. Otherwise, either IFX_E_INVALID_POINTER or IFX_E_UNSUPPORTED are returned.
Implements IFXUnknown. |
| U32 CIFXMeshCompiler::Release |
( |
|
) |
[virtual] |
|
|
|
This method decrements the reference count for the calling interface on a component.
- Note:
- If the reference count on a component falls to zero, the component is destroyed.
- Returns:
- It returns a U32 that contains a value from 1 to 2^32 - 1 that defines the new reference count. The return value should only be used for debugging purposes.
Implements IFXUnknown. |
| void CIFXMeshCompiler::SetCosMaxNormalError |
( |
F32 |
fCosMaxNormalError |
) |
[virtual] |
|
| IFXRESULT CIFXMeshCompiler::StaticCompile |
( |
|
) |
[private] |
|
| IFXRESULT CIFXMeshCompiler::StreamCompile |
( |
|
) |
[private] |
|
Member Data Documentation
|
|
used for fast compare against dot prod of normals.
|
|
|
true if InitCompile has been called properly.
|
|
|
resolution that we were at after previous call to compile.
|
|
|
array of flags, one for each material in the mesh.
|
|
|
pointer to array of iters, one for each material in output ifx mesh.
|
|
|
array of pre-allocated query verts, one for each material.
|
|
|
true once the static portion of compile has completed;
|
|
|
true if compiling for streaming mode, false for static mode.
|
© 1999 - 2006 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
|
|


Set the x and y positions and apply the z-position mixin to all your favorite classes. You can also use helpful pre-defined classes like:
Oh Hai text shadows.
Oh my god, this z-panel looks to be floating!!!


GAA confirm International Rules series to return in 2020
by Neil TreacyThe GAA have confirmed that the International Rules Series will return in 2020, with a two-test series against Australia in Ireland.
An Irish side will host an Australian Football League selection in a two-test series in November of next year before a further series down under in 2022.
Next year's tests are slated for the 15th and 21st of November, with the location yet to be confirmed.
It will have been three years since the sides last met, with Australia reclaiming the Cormac McAnallen Trophy back in 2017, beating Ireland in Adelaide and Perth.
GAA Director General Tom Ryan said: "We are pleased to announce the return of the International Rules Series in 2020 and look forward to re-connecting with our friends and colleagues in the AFL, both on and off the field.
"The series offers our players the chance to wear the green jersey and represent Ireland and it also provides them with an opportunity to pit themselves against the best from another code while showcasing the best skills of Gaelic football," he added.
AFL General Manager Football Operations Steve Hocking said players named in the 2020 Virgin Australia All-Australian team will be the first qualify.
“We want to take the best of the best to the two-Test series in Ireland next year and our All-Australian players will be the first players selected,” he said.
“The International Rules Series tests allow players from both codes the only opportunity to represent their countries and have traditionally been great contests that have showcased their athleticism.
“We saw in 2017 two high standard matches that drew great attendances. I look forward to the rivalry continuing when the test series returns next year.”
The AFL also confirmed the Australian team will again conduct a training camp in New York prior to the matches in Ireland in November of next year.


p Short text
connected with
another closed
by a dot.
p Short text -
another text
p Long text with a
a $http://www.google.com $blank
b bold link
on Google
p Short text with a
bold text that have an
"italic" word
inside.
p Short text containing italic text, -
bold text
p Short text containing
open tag that is closed
on another line


You’re about to use a short, safe and anonymous health checkup. Your answers will be carefully analyzed and you’ll learn whether or not you are at a High Risk to get affected by Covid-19.
Before using the symptom checker, please read Terms of Service. Remember that:
I read & accept the Terms of Services
Male Female Dont want to mention
0-25 25-50 50-75 75-100
No existing conditions Asthama Cancer Chronic lung disease(COPD) Diabetes Hypertension Heart disease
Yes No
None Fever Dry Cough Feeling shortness of breadth Sore throat Hoarseness in voice Headache Running Nose Loss of Smell


MockHttpHeaders class
A mocked HttpHeaders
that ignores all writes.
Constructors
Properties
- chunkedTransferEncoding ↔ bool
-
Gets and sets the chunked transfer encoding header value.
read / write, inherited
- contentLength ↔ int
-
Gets and sets the content length header value.
read / write, inherited
- contentType ↔ ContentType
-
Gets and sets the content type. Note that the content type in the
header will only be updated if this field is set
directly. Mutating the returned current value will have no
effect.
read / write, inherited
- date ↔ DateTime
-
Gets and sets the date. The value of this property will
reflect the 'date' header.
read / write, inherited
- expires ↔ DateTime
-
Gets and sets the expiry date. The value of this property will
reflect the 'expires' header.
read / write, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- host ↔ String
-
Gets and sets the host part of the 'host' header for the
connection.
read / write, inherited
- ifModifiedSince ↔ DateTime
-
Gets and sets the "if-modified-since" date. The value of this property will
reflect the "if-modified-since" header.
read / write, inherited
- persistentConnection ↔ bool
-
Gets and sets the persistent connection header value.
read / write, inherited
- port ↔ int
-
Gets and sets the port part of the 'host' header for the
connection.
read / write, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
add(
String name, Object value) → void -
Adds a header value. The header named
name
will have the valuevalue
added to its list of values. Some headers are single valued, and for these adding a value will replace the previous value. If the value is of type DateTime a HTTP date format will be applied. If the value is aList
each element of the list will be added separately. For all other types the defaulttoString
method will be used. -
clear(
) → void - Remove all headers. Some headers have system supplied values and for these the system supplied values will still be added to the collection of values for the header.
-
forEach(
void f(String name, List< String> values)) → void -
Enumerates the headers, applying the function
f
to each header. The header name passed inname
will be all lower case. -
noFolding(
String name) → void -
Disables folding for the header named
name
when sending the HTTP header. By default, multiple header values are folded into a single header line by separating the values with commas. The 'set-cookie' header has folding disabled by default. -
remove(
String name, Object value) → void - Removes a specific value for a header name. Some headers have system supplied values and for these the system supplied values will still be added to the collection of values for the header.
-
removeAll(
String name) → void - Removes all values for the specified header name. Some headers have system supplied values and for these the system supplied values will still be added to the collection of values for the header.
-
set(
String name, Object value) → void -
Sets a header. The header named
name
will have all its values cleared before the valuevalue
is added as its value. -
value(
String name) → String -
Convenience method for the value for a single valued header. If
there is no header with the provided name,
null
will be returned. If the header has more than one value an exception is thrown. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toString(
) → String -
Returns a string representation of this object.
inherited
Operators
-
operator [](
String name) → List< String> -
Returns the list of values for the header named
name
. If there is no header with the provided name,null
will be returned. -
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited


--- layout: post title: The Google Job Experiment date: 2010-05-13 03:00:00.000000000 -05:00 comments: true categories: - genera - Life - Technology published: true ---
This is pretty ingenius. If I were hiring a creative guy, I would definitely hire this guy.


The Rotterdam University of Applied Sciences is a university with fifteen different locations spread all over Rotterdam. They offer a lot of different studies from business school to mechanical engineering.
Bio-ITech is a Life Science IT company that provides software solutions to manage information in the workflow of laboratories worldwide.
The Rijksinstituut voor Volksgezondheid en Milieu (RIVM) is a national institute for public health and the enviroment in the Netherlands.
Farnell is a company that provides a lot of electronic products for our hardware. The company is known for their very fast delivery of one day.
Bioké is an experienced company that provides innovative technologies in the life science market. They deliver best-in-class reagents and equipment for cell biology, genomics and protein analyses.
Integrated DNA Technologies (IDT) has as primary business the manufacturing of custom DNA and RNA oligos for research applications. The company is a supplier of nucleic acids and serves academic research, biotechnology, clinical diagnostics and pharmaceutical development.
New England Biolabs (NEB) is a worldwide company that produces and supplies recombinant and native enzyme reagents for the life science research. It also provides solutions that support things like genome editing, synthetic biology and next-generation sequencing.
Just as the logo says, SnapGene is a company that delivers software as an attribution for the molecular biology. You can simulate the DNA manipulations, visualize the primer binding sites, record steps in a cloning project and much more!


Reuse instances of serializers and parsers whenever possible.
They are designed to be thread safe and maintain internal caches of bean metadata to increase performance.
The {@link oaj.BeanTraverseContext.Builder#detectRecursions()}
option can cause a performance penalty of
around 20%.
Therefore, it's recommended that this option be used only when necessary.
In general, JSON serialization and parsing is about 20% faster than XML.
JSON is also more compact than XML.
MessagePack is fastest and most compact of all.
The RDF parsers are SLOW.
RDF simply isn't efficient with node traversal, so creating tree structures out of RDF models
is highly inefficient.
The {@link oaj.parser.Parser} methods that take in {@link oaj.ClassMeta}
parameters are slightly faster than methods that
take in {@link java.lang.Class} or {@link java.lang.Object} parameters, since the latter methods involve
hash lookups to resolve to {@link oaj.ClassMeta} parameters.


Before Change
// Fill queue with docs; progress bar will not be updated until this is done
docs_added = 0
xs_generator = xs.generate()
for _ in range(min(parallelism, total_count)):
in_queue.put(next(xs_generator))
docs_added += 1
while any([udf.is_alive() for udf in self.udfs]) and count_parsed < total_count:
if docs_added < total_count:
in_queue.put(next(xs_generator))
docs_added += 1
if docs_added == total_count:
in_queue.put(UDF.QUEUE_CLOSED)
docs_added += 1
After Change
// Fill input queue with documents
pool = Pool(parallelism)
in_tuples = ((in_queue, x) for x in xs)
pool.map_async(func=async_fill_input_queue, iterable=in_tuples)
count_parsed = 0


--- layout: page title: "Real World Haskell, 1st Edition" prev: barcode_split_000.html next: I_sect112_d1e27234.html book_path: books/real-world-haskell-_oeb/ --- {% include JB/setup %} {% raw %}
In this chapter, we'll make use of the image-parsing library we developed in Chapter 10 to build a barcode recognition application. Given a picture of the back of a book taken with a camera phone, we could use this to extract its ISBN number.


My First Heading
My first paragraph.
An Unordered HTML List
Coffee
Tea
< li>Milk
An Ordered HTML List
Coffee
Tea
Milk


Electoral Law Breach Allegations
by New Zealand First PartyRt Winston Peters
Leader of New Zealand First
19 November 2019
Allegations raised this morning by Stuff Limited / Fairfax concern a party matter but I am confident that New Zealand First has operated within electoral laws, now and for the last 27 years. Declarable donations were declared to the Electoral Commission.
Our system of democracy is based on the secrecy of the ballot and privacy of party memberships and donations within specified limits.
We look forward to discussing this matter with the Electoral Commission.
ENDS


Food Pantry Service
The Food Pantry Service provides food for individuals and families who are in financial difficulty and are unable to afford to purchase adequate food for their needs.
Operations of Food Pantry are primarily supported through purchase of food by Social & Welfare Committee using the Needy Fund (Sadaqah) money donated by the Community and also from food donations by the community. Typical items distributed include but not limited to rice, cooking oil, sugar, flour, milk, eggs, juice and zabiha meat and special items like Dates during Ramadan.
We encourage community members to donate money to the IAR Needy Fund to support the activities of the IAR Food Pantry serving the needy and refugees in our community.
Who is eligible?
This service is made available to all people - inside and outside the community, Muslim and non-Muslim. Food Packages are prepared and distributed to those in need.
How to apply for food pantry benefits?
The objective of the Food Pantry Service is to reach as many needy people as possible; the amount of food given is proportionate to the size of the family.
Each participant is required to fill out forms and register with the Food Pantry on their first visit to receive this benefit.
Location and Hours
The Food Pantry is located in the Al Iman School Building or the Red Brick Building facing Ligon Street.
The Food Pantry is open once a month - on the first of every month. During the month of Ramadan the Food Pantry is open every Saturday.
Hours of Distribution: 10:00 am to 12:00 pm.
View Larger Map
Guidelines
Please follow the IAR Social Welfare Committee Guidelines for the Pantry


[ top ]
|
License README Repository and FTP access Groff dependencies Bug reports Mailing lists NEWS VERSION 1.22.3 NEWS VERSION 1.22.2 NEWS VERSION 1.22.1 NEWS VERSION 1.21 NEWS VERSION 1.20.1 NEWS VERSION 1.20 NEWS VERSION 1.19.2 NEWS VERSION 1.19.1 NEWS VERSION 1.19 NEWS VERSION 1.18.1 NEWS VERSION 1.18 |
This is the GNU groff document formatting system. The version number is given in the file VERSION. Included in this release are implementations of ‘troff’, ‘pic’, ‘eqn’, ‘tbl’, ‘grn’, ‘refer’, ‘−man’, ‘−mdoc’, ‘−mom’, and ‘−ms’ macros, and drivers for ‘PostScript’, ‘PDF’, ‘TeX DVI’ format, ‘HP LaserJet 4’ printers, ‘Canon CAPSL’ printers, ‘HTML’ and ‘XHTML’ formats (beta status), and typewriter-like devices. Also included is a modified version of the Berkeley ‘−me’ macros, the enhanced version ‘gxditview’ of the X11 ‘xditview’ previewer, and an implementation of the ‘−mm’ macros contributed by Jörgen Hägg. See the file ‘INSTALL’ for installation instructions on how to install from a release. You require a C++ compiler. The file ‘INSTALL.REPO’ contains supplementary instructions for building directly from a clone of the repository or a snapshot tarball. The file ‘NEWS’ describes recent user-visible changes to ‘groff’. ‘groff’ is free software. See the file ‘COPYING’ for copying permission. The file ‘PROBLEMS’ describes various problems that have been encountered in compiling, installing, and running ‘groff’. The file ‘MORE.STUFF’ contains information about add-on packages useful for ‘groff’. |