NOTICE: Some time after early February 2019, the Google Tasks server changed the order in which tasks are returned, which broke how GTB handles subtasks.
Prior to 27 March 2019, GTB may not have included all subtasks in most export formats.
Prior to 27 March 2019, the only GTB export formats which included all subtasks were;
If you have used any other export formats prior to 27 Mar 2019, those backups may not contain subtasks.
Any exports after 27 Mar 2019 should now include all subtasks. If you experience any issues, please report a bug as per the instructions at the bottom of this page.


At the beginning you have to import the PDFreactor Python module. To ensure that the example works out-of-the-box you could use something similar to the example shown below.
import os import sys sys.path.append(os.path .abspath(os.path.join(os.path.dirname( __file__ ), '../lib/'))) from PDFreactor import *
You can create a new PDFreactor instance now. Therefore you should store this instance in a new variable named similar to "pdfReactor". This variable will be used later on to convert your input document to the PDF document. Please refer to the example below.
pdfReactor = PDFreactor()
Before you can create a PDF document using the PDFreactor Python API you need to create the PDFreactor configuration object. All the information necessary about the resulting PDF is stored in this object.
config = { 'document': "
Hello World
", 'title': "Hello World sample", 'viewerPreferences': [ PDFreactor.ViewerPreferences.FIT_WINDOW, PDFreactor.ViewerPreferences.PAGE_MODE_USE_THUMBS ], 'userStyleSheets': [ { 'content': "body {"\ "margin: 1cm;"\ "}" } ] }
The example above describes the configuration object of a very simple "Hello World" document with the title "Hello World sample", a margin of 1cm on each side and some ViewerPreferences. It is of course possible to personalize the config object as needed. For further information about possible configuration properties please refer to the PDFreactor Manual.
Only the PDF conversion is left to successfully generate a PDF document using the PDFreactor Python API. Therefore you could add something similar to the code snippet shown below to your Python file.
# The resulting PDF result = None try: # Render document and save result result = pdfReactor.convertAsBinary(config) except Exception as e: # Not successful, print error and log print("Content-type: text/html\n\n") print("
An Error Has Occurred
") print("
" + str(e) + "
") # Check if successful if result != None: if sys.platform == "win32": import msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) # Set the correct header for PDF output and echo PDF content print("Content-Type: application/pdf\n") # Check Python version if sys.version_info.major == 2: print(result) else: sys.stdout.flush() sys.stdout.buffer.write(result)
This code snippet performs a check whether the conversion was successful or not. If the conversion was unsuccessful an appropriate error warning will be displayed. For example a missing document property in the configuration object will trigger such an error message. If the conversion was successful the resulting PDF document will be displayed via the browsers PDF viewer plug-in.


I was originally born in Oregon, where I stayed until 2. Then I lived in Austin, Texas for 4 years, and then finally I moved to Southern California, where I've been living for the rest of my life. I went to high school at Mission Viejo High School, where I played basketball my freshmen and sophomore year and tennis all four years. I then chose to attend UC Berkeley for College
I'm currently a second year Electrical Engineering and Computer Science (EECS) major at UC Berkeley.
Some of my hobbies inlcude playing basketball, tennis, table tennis
Some of my technical skills include Java, Python, C, HTML, CSS, Javascript, SQL,


--- layout: page title: "Team" description: "Collaborators working on this project." header-img: "img/home-bg.jpg" ---


Chocolate Pizza
Posted on 15 Dec 2013 / Desserts
For the fig-swirl: Melt butter over medium heat in a saucepan. Add brown sugar and stir to disolve. Halve all of the figs and toss in the saucepan with water and lemon juice. Cook over medium heat, stirring frequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside and let cool completely.
Ice cream: In a small pot over medium heat, combine milk, and granulated sugar until sugar is completelydissolved and the milk is just barely lukewarm. Whisk in the egg yolks. Set mixture in the fridge and wait until until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozen basin and process according to manufacturer instructions, i.e., let spin and thicken for 20 minutes before adding mascarpone, fig jam mixture, and the nuts. Continue process for +/- 10 minutes. Pour semi-frozen mixture into pyrex dish or glass tupperware. Freeze for at least two hours before serving.
- 1 1/2 cups milk
- 1 cups mascarpone
- 1/2 tsp pink salt
- 1lb Black Mission Figs
- 1/2 cup brown sugar
- 2-4 tbsp water
- 1 1/2 cups heavy cream
- 1/3 granulated sugar
- 2 egg yolks
- 1 lemon, juiced
- 2 tbsp butter
- 1 cup honey roasted pecans, roughly chopped


SPTPartialPlaylist Class Reference
| Inherits from | SPTJSONObjectBase : NSObject |
|---|---|
| Conforms to | SPTPartialObject SPTTrackProvider |
| Declared in | SPTPartialPlaylist.h |
Overview
Represents a “partial” playlist on the Spotify service. You can promote this
to a full playlist object using SPTPlaylistSnapshot
.
API Model: https://developer.spotify.com/web-api/object-model/#playlist-object-simplified
Playlist Guide: https://developer.spotify.com/web-api/working-with-playlists/
Properties
name
The name of the playlist.
@property (nonatomic, readonly, copy) NSString *name
Declared In
SPTPartialPlaylist.h
uri
The Spotify URI of the playlist.
@property (nonatomic, readonly, copy) NSURL *uri
Declared In
SPTPartialPlaylist.h
playableUri
The playable Spotify URI for the playlist.
@property (nonatomic, readonly, copy) NSURL *playableUri
Declared In
SPTPartialPlaylist.h
owner
The owner of the playlist.
@property (nonatomic, readonly) SPTUser *owner
Declared In
SPTPartialPlaylist.h
isCollaborative
YES
if the playlist is collaborative (i.e., can be modified by anyone), otherwise NO
.
@property (nonatomic, readonly) BOOL isCollaborative
Declared In
SPTPartialPlaylist.h
isPublic
YES
if the playlist is public (i.e., can be seen by anyone), otherwise NO
.
@property (nonatomic, readonly) BOOL isPublic
Declared In
SPTPartialPlaylist.h
trackCount
The number of tracks in the playlist.
@property (nonatomic, readonly) NSUInteger trackCount
Declared In
SPTPartialPlaylist.h
images
Returns a list of playlist image in various sizes, as SPTImage
objects.
@property (nonatomic, readonly, copy, nullable) NSArray<SPTImage*> *images
Discussion
Will be nil
if the playlist doesn’t have a custom image.
Declared In
SPTPartialPlaylist.h
smallestImage
Convenience method that returns the smallest available playlist image.
@property (nonatomic, readonly, nullable) SPTImage *smallestImage
Discussion
Will be nil
if the playlist doesn’t have a custom image.
Declared In
SPTPartialPlaylist.h
largestImage
Convenience method that returns the largest available playlist image.
@property (nonatomic, readonly, nullable) SPTImage *largestImage
Discussion
Will be nil
if the playlist doesn’t have a custom image.
Declared In
SPTPartialPlaylist.h


This example uses the addEventsListener() method to add more than one click events to the same button.


Jquery plugin to slide and fade elements
Author: Ian Macinnes
Docs: Here
GitHub repo: Here
This page described the slide and fade jQuery plugin, which can be used as a very simple and quick method of sliding whole groups of elements out of frame and moving other ones in. It's under active development so please contact the author for fixes/suggestions etc.
Moving groups of elements around
The plugin can simply make divisions flying around. Below is an example - click on the box to see it working. Each group of elements should be of the class 'displayBox' and each element should be of the class fragment (I'll make this configurable via the options soon).
Here's the HTML code for displaying the above box:

The owl and the pussy cat

Went to sea

In a beautiful pea green boat

They took some honey,

And plenty of money

Wrapped up in a five pound note.

The code to move a particular display box into shot is:
$('#display-screen').slideandfade($('#displayBox0'));
You can also specify an optional callback for after the whole process is finished. You use a settings dictionary to pass along various options. Above, I use an option called callback to toggle which text to display. This callback is always called after the text has been moved into position.
var screenToDisplay = 1;
$('#display-screen').click(function() {
var settings = {
callback : function() {
screenToDisplay = screenToDisplay === 0 ? 1 : 0;
}
};
$('.display-screen').slideandfade($('#displayBox' + screenToDisplay),
settings);
});
It's also easy to have two slideandfade boxes on the same page:
Release history
0.9.2 Made sure the creation of jQuery object was kept to a minimum. Now noticeably smoother than the initial version.
0.9.1 Tidied up code significantly after code review by Andy Baker and Dan.
0.9.0 Initial release.


public static final class Constants.Trident
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static int |
BED_CHAN |
static double |
BED_MS |
static double |
GATHER_MS |
static boolean |
INVERT_BED |
static boolean |
INVERT_KICKER |
static boolean |
INVERT_LIFT |
static boolean |
INVERT_MASTER |
static boolean |
INVERT_SLAVE1 |
static int |
KICKER_CHAN |
static double |
KICKER_RPM |
static double |
kickerD |
static double |
kickerF |
static double |
kickerI |
static int |
kickerIz |
static double |
kickerP |
static int |
LIFT_CHAN |
static int |
MASTER_CHAN |
static double |
SHOOTER_RPM |
static double |
shooterD |
static double |
shooterF |
static double |
shooterI |
static int |
shooterIz |
static double |
shooterP |
static double |
shooterRamp |
static int |
SLAVE_CHAN |
| Constructor and Description |
|---|
Trident() |
public static final int MASTER_CHAN
public static final int SLAVE_CHAN
public static final int KICKER_CHAN
public static final int LIFT_CHAN
public static final int BED_CHAN
public static final boolean INVERT_MASTER
public static final boolean INVERT_SLAVE1
public static final boolean INVERT_KICKER
public static final boolean INVERT_LIFT
public static final boolean INVERT_BED
public static final double shooterF
public static final double shooterP
public static final double shooterI
public static final double shooterD
public static final int shooterIz
public static final double shooterRamp
public static final double kickerF
public static final double kickerP
public static final double kickerI
public static final double kickerD
public static final int kickerIz
public static final double SHOOTER_RPM
public static final double KICKER_RPM
public static final double BED_MS
public static final double GATHER_MS


#include <stddlg.h>
Inheritance diagram for TFileInfoPane::
Public Methods | |
| TFileInfoPane (const TRect &bounds) | |
| virtual void | draw () |
| virtual TPalette& | getPalette () const |
| virtual void | handleEvent (TEvent &event) |
Static Public Methods | |
| TStreamable* | build () |
Static Public Attributes | |
| const char* const | name |
Protected Methods | |
| TFileInfoPane (StreamableInit) |
Definition at line 634 of file stddlg.h.
|
|
Calls TView constructor TView(bounds) to create a file information pane with the given bounds.
|
|
|
Undocumented. |
|
|
Called to create an object in certain stream-reading situations. Reimplemented from TView. |
|
|
Draws the file info pane in the default palette. The block size and date/time stamp are displayed. Reimplemented from TView. |
|
|
Returns the default palette. Reimplemented from TView. |
|
|
Calls TView::handleEvent(), then handles broadcast cmFileFocused events (triggered when a new file is focused in a file list) by displaying the file information pane. Reimplemented from TView. |
|
|
Undocumented. Reimplemented from TView. |


Take this awesome quiz that will help improve your understanding of Dependency Injection. See if you can beat the clock! The timed questionnaire with automatic scoring provides you with a final score along with a summary of your answers. Match wits with your friends! Practice in order to increase your knowledge. Good luck and have fun with this quiz. Share and enjoy!


UIEvents Specs: implementation report
Nearby:
less-than-2
,
complete-fails
,
all results
,
Comments
WIP.


By default scripts are not allowed to write files or send or receive communication over a network. To allow scripts to write files and communicate over a network, choose Edit > Preferences > General (Windows) or After Effects > Preferences > General (Mac OS), and select the Allow Scripts To Write Files And Access Network option.
Export the current After Effects comp to FB Keyframes Animation Descriptor JSON document.
Requires "Allow Scripts To Write Files And Access Network"
There are two options for exporting, a command line tool and an After Effects plugin.
A file named ${COMP_NAME}.kf.json should show up under the same folder
You can keep the palette window open and press Export multiple times.

Eventually the folder with the exported JSON will open.
You'll see three new files:
Project.aep.comp-###-Comp Name.kf.json
FB Keyframes compatible animation descriptor.
Project.aep.comp-###-Comp Name.json
Raw JSON description.
Project.aep.comp-###-Comp Name.log
Export progress messages and warnings with timestamps.
Check this file for warnings about incompatible features.
Also useful for diagnosing performance issues.


The builtin Tasks PIM in Palm OS 5 lacks the ability to sort the tasks list by description. TasksSort gives you the ability to sort the tasks list ascending or descending by description. TasksSort somewhat integrates with the Tasks program - you can launch TasksSort from Tasks and when the list is sorted go directly back to Tasks.
TasksSort is released under the GNU General Public License v2 and requires Palm OS 5.0 or better to work.
You can support this project by donating any amount to my Pay Pal account.
Select the sort mode: ascending or descending. Select the Launch Tasks after sort if you want to launch the Tasks PIM after sort. Select the Enable HotKey to enable the HotKey in Tasks. The HotKey will not be shown on any menus and you should select a key which is not already in use - T seems to be a safe choice.
To launch TasksSort from within Tasks simply draw the shortcut stroke followed by the HotKey.
Tap Sort to sort the tasks list.
v1.0 (2006-12-22) First public release.


I am a student focusing on professional development this year and so far I have been having a great time learning about the Tech Industry. Getting to meet people and creating have officially tied for my all time favourite things to do. This is why the world of software has absolutely gotten me hooked.
Being part of the Product team and sole member of the Search Team, I am tasked with implementing new features that improve the customers search experience. Over my time at Breather I have implemented a new Search Filter that introduces new Services offered. Back Stage I have implemented new features that reduce friction for the Sales Team. On our own accord, myself and two other Interns spent non-work hours creating a new feature in Backstage that analyzes all Breather products and alerts to products that are rapidly growing or decreasing in popularity.
Aventa Media's goal is to increase Millenial voter turnouts for local elections. We do this using our AI powered platform to accurately predict what political stances specific geographical regions hold, allowing politicians to be better aquainted with their audience.
Travora is a Toronto Startup with a team of five. I Implemented key features for the Travora Website, while building a data framework to store user data
I was the point of contact between Bright Futures and the University of Toronto. My team and I created a fundraiser for single mothers in Tanzania. To raise money we hosted a "Learn to Hack" for local women in Toronto.
Most of my interests revolve around creating, socializing and experiencing nature. I have found my creational outlet in programming, constantly writing down potential programs in a book that I keep handy. I am also teaching myself the long process of building a canoe. I find that having company during any experience always enhances it. For this reason I enjoy all forms of social events, especially Hackathons, clubs and group hikes. Every summer I go to a Provincial Parks and hike or canoe portage, which will bring me to beautiful remote locations. I am also in the process of getting a float plane rating, as mixing flying with outdoor exploration is a dream come true. I also enjoy self investing and have been exploring crypto currencies


Master of Science
Awarded after completion of two years of graduate study. Many MS programs also require a thesis. Many therapists hold a master's degree, and many earn a master's "en route" to earning their doctoral degree.
Awarded after completion of two years of graduate study. Many MS programs also require a thesis. Many therapists hold a master's degree, and many earn a master's "en route" to earning their doctoral degree.
Licensed Mental Health Practitioners (LMHP) work with clients and have an expanded ability to diagnose and treat severe mental illnesses.
I am one of only three Certified Eating Disorder Specialists in the state of Nebraska. Of those three, I am the only practicing therapist with my CEDS Certification. My certification is through the International Association of Eating Disorder Professionals. I have been certified for more than twenty years.
I have 20+ Years of Experience. I am licensed Counselor (No. 924) in the state of Nebraska. I earned my certification as an Eating Disorder specialist from the International Association of Eating Disorder Professionals. I also graduated from the Univerity of Nebraska in 1994!


Python I
Revision 04.21.13
NLC Info
-
Rackspace parking sticker works
-
Racker breakroom marked 'Laundry' on 1st floor
-
Speeding on campus = easy ticket
-
Must go off property to smoke
-
Please sign in each day. Class starts at 08:30
Paperwork
-
NLC registration
-
RU roster
-
Email signup sheet
-
Companion Text: Python Pocket Reference, 4th Edition, Mark Lutz, ISBN 978-0-596-15808-8
Introductions
-
Instructor Contact Info
-
Introductions
-
Any previous programming?
-
Why did you sign up?
-
Define success for you in this course
Lab Info
-
Lab machines act as a pass through to the NLC cloud (CentOS VM's)
-
ssh -l student -p 401XX nlccloud.edgecloud.com
(use <IP_ADDRESS> on campus)
-
scp -P 401XX local_file student@nlccloud.edgecloud.com:class/remote_file
scp -P 401XX student@nlccloud.edgecloud.com:class/remote_filename .
-
Available 24x7 during class
Next Lab Environment?
-
Raspberry pi: $35 + $10 power supply + $6 flash card
-
Attaches to USB kybd/mouse, ethernet, HDMI video, audio
-
Debian or other flavor linux
-
http://raspberrypi.org
This Course
- Assumes basic programming concepts from Foundation I/II or experience
- What it is:
- Python (2.7 level) syntax & semantics with an eye toward Python 3 migration
- Complete language through classes, minus a few esoteric features
- Python idioms and style
- What it's not:
-
Math or graphics, Python internals, Threading, Persistence, other advanced topics
Short Python History
- Written circa 1990 by Guido van Rossum (Google until 12/12, then Dropbox)
- Goals were a new general purpose language with good exception handling, clean syntax, good access to underlying OS
- First released (posted to USENET) Feb 1991
- Multiple releases since then; Version 3 is current
- Driven by PEP (Python Enhancement Process) and managed by the Python Software Foundation (PSF) since 2001
Why Learn Python?
-
An in language at the moment and growing in popularity
-
Very acceptable performance (CPython impl) especially compared to some other interpreted languages e.g.ruby
-
Computer Science programs are starting to adopt as a defacto CS learning language
- Probably the easiest, full-featured HLL to learn and use
- You can get paid a lot?
Python Documentation
- Python is WELL documented, internally and externally
- Most important treasure trove is http://docs.python.org
- Other resources:
- http://learnpythonthehardway.org/
- http://www.codecademy.com/learn
- http://github.com/gregmalcolm/python_koans/wiki
- http://udacity.com
- Python CBT Nuggets
Two Ways to Run Python
- For quick and easy interactive experimentation: ipython
- Easy -- can just start typing python syntax
- Immediate results (and tracebacks if error)
- Good help system and other features
- See http://ipython.org
- For production and running scripts: python
Pythonic Style
- Pythonistas Live By:
The Zen of Python (PEP20)
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently. Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never. Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Python Indentation
- Critical to correct code function
- Indicates program block association
- Use 4 spaces per level (per PEP8)
- Other style rules apply (covered later)
Python Operators
+ - * ** / // %
<< >> & | ^ ~ <
>> <= >= == !=
Are the same operators you know and love in other languages
Python Delimiters
( ) [ ] { }
, : . ` = ;
+= -= *= /= //= %=
&= |= ^= >>= <<= **=
$ and ? are invalid in Python except in data strings.
Identifier Naming Conventions
- Lower case with _ separators : most variable and function identifiers
- Leading _ or __ : special identifiers
- All upper case : constants
- Camel case : class names
- Mixed case : variable and function identifiers (less common)
Special Identifiers
- Leading underscore signifies intent to keep that identifier for internal use only: _var
- Two leading underscores means (to the interpreter) mangle the identifier i.e. insert the class name before the identifier to make it harder to re-use by accident
What is a Module?
- Python modules are the basic building blocks of Python source code.
- A module is a file ending in .py containing Python source code
- Can use identifiers from other modules by importing them
- Lots of modules come with Python distribution, and lots more come as packages downloadable from the net
Anatomy of a Module
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- Module docstring
- Import(s)
- Statements (your code)
Basic Types
- What is a type?
- Basic types:
- int
- float
- string
- None
- bool
tuple Type
- Tuples are ordered sequences of objects enclosed in parentheses
- Objects separated by commas
- Cannot be changed (they are immutable)
- Can contain any type of object
- Can be sliced (remember, they're ordered)
- A one element tuple is formed by (element,) using the comma operator
list Type
- Lists are essentially mutable tuples
- Enclosed in square brackets
- One of the two workhorse types of Python
- Lots of operations
dictionary Type
- Dictionaries are a composed of key:value pairs
- Enclosed in curly braces
- The key expression is mapped to its associated value expression
- Not an ordered sequence
- Not sliceable
set Type
- Sets are groups of immutable objects with unique values i.e. no duplicates
- The set itself is mutable, but not the objects within it
- Enclosed in curly braces just like a dictionary
- Slicing is not allowed (why?)
- Set operations are quite powerful
Subscriptions & Slicings
- Sequences are ordered set of objects and can be retrieved in an ordered manner
- A subscription is a single member of a sequence
- A slicing builds a new sequence by slicing out parts of another sequence
- Uses a beginning index, ending index, both, or none
- An index can be negative, which wraps around to the beginning
Complex Operations
- Partial list:
- list: append, extend, sort, index, pop, in
- dict: keys, iterkeys, values, itervalues, items, iteritems, popitem(), in
- set: difference, union, intersection, symmetric_difference, add, remove, pop, in
print Statement
- The print statement prints values of string objects to the output stream
- Objects are comma separated if more than one
- In Python 2, print is a statement; in Python 3 print is a built-in function (can also use print function in Python 2)
Operator Precedence
- What's an operator? What's an operand?
- Operators have precedence
- Order of evaluation can be overridden by parentheses
- Python precedence rules are similar to other languages
Bitwise Logic Operators
- a AND b => 1 if a and b == 1, else 0
- a OR b => 1 if either a or b == 1, else 0
- a XOR b => 1 if a != b, else 0
- NOT a => 1 if a == 0, else 0
- AND mask is used to turn off bits
- e.g. 0b11110000 & 0b11001010 == 0b11000000
- OR mask is used to turn on bits:
- e.g. 0b11110000 | 0b11001010 == 0b11111010
- NOT is used to invert bits:
- ~ 0b11110000 == 0b00001111
Statements
- Come in 2 flavors: simple or compound
- Simple statements are single keyword, usually 1 per line (but ; can be used to separate multiple simple statements on 1 line)
- Compound statements are multi keyword and therefore multi line
- Run in suites (statement groups) AKA clauses or blocks when indented
Assignment Statements
- An assignment statement binds (connects) identifier on left to an expression on right
- An augmented assignment statement does an operation before it binds the answer back to the identifier
- Simply a way of combining two statements into one
if Statement
- The if statement is a fork in the road: one of the forks is taken depending on a comparison expression
- Each intermediate fork (elif) has a suite of statement(s) to run if that fork is taken
- The last fork (else) does not have a comparison, and is used when all other comparisons are False
Comparisons
- Every language supports comparison of (same-type) values which results in a boolean
- Different types should be converted to the same type before comparison.
- In a few cases, Python does this for you (e.g. numbers)
- Usually used at decision points to control flow
for Statement
- The for statement provides a method to loop by iterating over a set of values
- At end of loop, the else block is run, if any
- An iterator provides the next value every time it's called (until empty)
- A sequence (e.g. tuple or list) or some other object can provide the iterator
- One (or more) variables receive a new item from the iterator at the beginning of each loop
while Statement
- while statement provides a means of looping until the test (expression) becomes False
- At end of loop, the else block is run, if any
- Some things can stop the while prematurely: e.g. break or continue statement, or an exception
break & continue Statements
- break gets out of a for or while loop early
- continue restarts the for or while at the beginning of the next loop
del Statement
- The del statement unbinds (removes pointer) between an identifier and its object
- Can also remove an attribute, subscription, or slicing
assert Statement
- assert statement provides a way to stopping execution if the wheels have come off!
- The assertion is an expression that should ALWAYS evaluate to True. If not, something is very wrong, so an AssertionError exception is thrown
- Optimized bytecode (command line O option) does not do assertion testing
pass Statement
- The pass statement says do nothing.
- Used if there is a syntactic requirement to have a statement
global Statement
- The global statement says skip the local namespace and look in the global namespace first
- Should seldom be necessary except for flags (else refactoring may be indicated)
Conditional Expression Statement
- true_value if expression else false_value
- Brought to you by PEP308
- Reference: http://www.python.org/dev/peps/pep-0308/
Functions
- Arguments to functions: positional and keyword
- Mini-lab: Interpret these function declarations
- def t1(a, b):
- def t2(a, b, c=4):
- def t3(a, b, c=4, *d, **e):
Functions
- How do you call a function?
- Positional args go first
- Directly: 1,2,3
- Unpacking an existing tuple or list by putting * before the identifier e.g. *my_tup
- Keyword args go last
- Directly: f=6, g=7
- Unpacking an existing dict by putting ** before the identifier e.g. **my_dict
- Keyword args convert to positional args if not enough positionals are given
return Statement
- The return statement returns value(s) back from a function to the caller
- If no return is specified, then None is returned
raw_input Function
- Use raw_input() to get keyboard input from user
- Prompt argument
- changes to input() in Python 3
Built-in Functions
- Python has a number of built-in functions (module __builtin__) which are simply wrappers for C functions
- Built-in functions perform frequently used or high performance tasks
- Reference: Pocket Guide p. 102
os Module
- Operating system and related utilities
- Reference: Pocket Guide p.141 OR
- http://docs.python.org/library/os.html#module-os
os.path Module
- Path-related utilities
- Reference: Pocket Guide p. 153 OR
- http://docs.python.org/library/os.path.html#module-os.path
sys Module
- sys module python interpreter interaction and variables
- Reference: Pocket Guide p.133 OR
- http://docs.python.org/library/sys.html#module-sys
Standard Library
- The Python standard library has many modules available for import besides os and sys. Some are listed below. For a full set, see http://docs.python.org/py-modindex.html
Stringify An Object
- All objects in Python can be stringified
- Use str(obj) which is preferred
- Another option is unicode(obj) in Python 2 (Python 3 does not have separate unicode handling for strings)
- Back ticks are also available, but seldom used
String Literals
- String literals:
'string' or "string", usual escaping rules
u'string' unicode string
b'string' normal string in Python 2, bytes string in Python 3
r'string' raw string: leaves escapes intact
"""string""" triple quoted string
string1 string2
String Methods
- The string type has many useful methods, which are recommended over the string module functions (for efficiency)
- Reference: Python Guide p. 26
String Formatting
- The % string formatting approach:
- "string with %format exp" % (arg1)
- Considered the old (Python 2) style
- Reference: Pocket Reference p.22
String Formatting
- The new string.format() method approach:
- "string with {format expression}".format(arg1)
- Considered the new Python 3 style, but old style will live on for a long time
- Reference: Pocket Reference p.23
List Comprehensions
- Convenient way of initializing a list with an arbitrary expression
- Allows control of element source, transformation, and filtering all in one operation:
- [insert exp for var in iter if filter exp]
- Reference: Pocket Guide p.38
Dict & Set Comprehensions
- Shorthand ways of initializing a dictionary or set respectively
- Same form as list comphrehension but braces instead of square brackets:
- {insert exp for var in iter if filter exp}
- Note: for dict, insert expression must generate k and v
- Reference: Pocket Guide p.40
Iterators
- Iterators know how to return the next item when called
- Iterator object is identified by __iter__() and next() functions
- StopIteration exception when no more items
- Very common. Almost everything seems to implement the iterator protocol
- Used by for statement and many functions
yield Statement
- yield is similar to return
- Suspends execution of the called function instead of ending the function
- On the next call to the function, yield picks up where it left off
- All identifier values holding the same values (vs. return which loses its identifier values)
- Reference: Pocket Guide p.68
Generators
- Generators are co-routines that return a generated (according to your algorithm) set of values (see PEP255)
- Identified by a function that uses the yield statement
- Generators are just lazy iterators that don't generate a result until needed.
- Saves memory
Generator Expressions
- Same syntax as a comprehension, but enclosed in parentheses
- Shorthand way of writing a generator function to do the same
- Called with next() just like an iterator
- Saves memory: does not pre-build returned object
Exceptions
- Exceptions are objects for events that happen asynchronously
- Handling an Exception involves a try/except statement
- Many Exceptions are built-in, but programmers can create their own custom exceptions too
- Custom Exceptions should be based on the Exception class
Exceptions
- Exceptions should take a single string arguments saying what happened
- Lots of built-in Exceptions
- Reference: Pocket Guide p.124
try Statement
- The try statement protects a suite of statements that may need an Exception caught in an except clause
- The else clause runs if an Exception doesn't happen
- The finally cause always runs no matter what happens
Duck Typing
- If it walks like a duck, talks like a duck...
- Now that we know about Exceptions, the Pythonic way to check an objects type is to use a try block
- Call a method or use an 'attribute' as you would expect to use it. If the test works without an Exception, the object may be a duck
- If the object isn't ducky enough, catch the Exception and output a nice message or give a chance to retry
- Types can also be checked with type(), issubclass(), and isinstance()
Pythonic Style
- Use is or is not when comparing to True, False, None and other singletons i.e. don't use ==
- Always implement all 6 comparison operators if implementing any of them: __eq__, __ne__, __lt__, __le__, __gt__, __ge__
- Define your own module and package-specific exception class(es) using Exception as a base (in Python 2)
Pythonic Style
- Use multiple except clauses for specific exceptions instead of a catch all except clause (bare except clause will catch even SystemExit and KeyboardInterrupt).
- Function parameter keywords should default to None instead of mutables. Immutables are ok
- Run only the minimum code necessary in a try block
- Use the with statement wherever possible
Pythonic Style
- Use .startswith() and .endswith() for prefix and suffix checking
- Use duck typing, type(), isinstance(), or issubclass() to check the type
- Remember, empty sequences are False. Use that fact in comparisons
- Minimize use of global
- Prefer string methods to the string module.
- The built-in functions are fast. Know them and use them
Docstrings
- Docstrings provide a convenient way to document your code inline
- Docstrings are so important they are saved in the bytecode file
- Docstrings allow other software and other programmers to find out what your code does and how it's used
- Docstring conventions are standardized. See PEP257
Docstrings
- Docstrings are the first item after the boilerplate or header
- Docstrings become the __doc__ attribute for the object they describe
- All packages, modules, functions, and classes should have docstrings
- Come in 2 flavors: one-liner and multi-liner
Docstrings
- One-liner docstrings:
- Have triple quotes around them, and are on the same line
- Have no blank line before or after the docstring
- End with a period
- Summarize what the code does, and any arguments
Docstrings
- Multi-line docstrings:
- Have triple quotes around them on their own lines, and blank lines before and after
- Start with a summary line followed by another blank line, then the usage details
- Explain dependencies and exceptions thrown or caught
- End with a period
Scope & Binding
- Since everything in a Python program is an object, should all objects be available everywhere?
- Bindings are not global by default, but instead are restricted to 'namespaces'
- Namespaces are used for modules, functions, and 'classes' (new types)
Scope & Binding
-
Block: any Python code executed as a unit
e.g. a module, def, class, script file, script command, or interactive command
-
Scope: the space where a identifier is visible because of its location in a block.
Contained blocks can see identifiers of containing blocks
-
Namespace: the set of identifiers in a function, class, or module.
Can be local, global, or built-in.
Inward identifiers hide outward identifiers of the same name
Scope & Binding
- Identifiers in a module or function (def) are visible to inner functions
- Class identifiers are not visible to inner functions (methods) without prefixing with class name
- Identifiers are local, nonlocal (Python 3 only), global, or built-in
Namespace Diagram
Scope & Binding
- global statement must precede use of a global identifier
- Identifier resolution binds an identifier using the nearest enclosing namespace: local, enclosing local, global, builtin
Oh Dear (OOD)
- Classes
- Three legged stool:
- Inheritance
- Encapsulation
- Polymorphism
Method Resolution Graph
Classic vs. New Classes
- Classic-style classes do not inherit from object, and do not become a new type
- New-style classes (Python 2.2+) inherit from a built-in type or object and become a new user defined type with type==class
name
- Classic class instances are type==instance which breaks the class == type rule
Classic vs. New Classes
- New classes have different method resolution order (width-first v. depth-first)
- Beware: Python 2 class statement still defaults to classic classes unless a new-style class or object is explicitly used as the base class
- Classic-style classes go away entirely in Python 3
- Always use new-style classes in new code
Instances
- instance = classname(args) creates a new instance of class using the classname template
- An instance has all attributes of the class, both data and method, but is a separate object with its own namespace
- Arguments to the instance creation are passed to the class __init__() method for initialization
Think POOP
- Instance attributes are accessible with instance.attrib
- Instance functions (known as methods) are accessed as instance.method()
- Class attributes are accessible with class.attrib
- Instances do NOT automatically access class identifiers. Must use class name
POOP For Real
>>> class Dog(object):
... breed = 1
... def __init__(self):
... self.breed = 3
...
>>> Dog.breed
1
>>> my_dog = Dog()
>>> my_dog.breed
3
>>> id(Dog.breed)
4298191048
>>> id(my_dog.breed)
4298191000
>>> del my_dog.breed
>>> dir(my_dog)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__',
'__getattribute__', '__hash__', '__init__', '__module__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__',
'__str__', '__subclasshook__', '__weakref__', breed']
>>> my_dog.breed
1
Why?
Modules & Packages Redux
- Packages give Python the depth of function to compete with any other language
- According to the cheese shop, there are currently 30,000+ Python packages available for import by your code
- Don't re-invent the wheel.py Check http://pypi.python.org before you dig
Modules & Packages Redux
- Packages are groups of Python modules in a form suitable for runtime access by the interpreter
- Must be on the PYTHONPATH environment variable (sys.path)
- A special file called __init__.py on each level of hierarchy
import & from Statements
- To make a set of identifiers in another module available for use by your module, use import or from
- import pulls in identifiers from module(s) but the module name must be used as a prefix (only the module name is added to local namespace)
- from pulls in identifiers from modules but avoids need to prefix with the module name (identifier is added to local namespace)
Dotted Names
- A dotted name specifies the package/module path required to access a particular .py file.
- A dotted name like django_jenkins.management.commands.util is really saying:
Find the django_jenkins package on sys.path, then within that
for a package called management, then within that for a package
called commands, then the util module
Module Types
- Modules come in (3) flavors: pure, extension, and package
- Pure modules are all-Python source
- Extension modules are shared objects such as .so or .dll and written in non-Python
- Package modules are complex modules containing sub-modules and meta data for package management
- See http://docs.python.org/py-modindex.html for the Python root module index
The Calculator Package
Module Search
- Python searches for modules in a definite order:
- Current directory
- PYTHONPATH directories
- Installation default directories, if any
- Reference sys.path for the actual list
pip
- pip is the newest python package manager tool
- pip [un]install
- pip search
- --upgrade option for existing packages
- target is site-packages directory
site.py
- The site module is automatically imported at python startup (unless -S option)
- Tells Python where additional site-specific packages live (if any)
- Adds site-specific search paths to the module search path (sys.path) using a path configuration file (.pth)
- Path configuration files list additional directories, one per line, needed by
Your Own Package
- To build your own Python package, arrange your files in a package-ready directory structure with __init__.py in appropriate places, then use distutils module to create a working package ready to upload to the cheese shop
- http://guide.python-distribute.org/creation.html for more details
with Statement
- The with statement is used to run a suite under a context manager
- Special methods __entry__() and __exit__() are called to setup and takedown a context
- Common for opening a file, which auto-closes the file handle
File Processing
- one_line = fh.readline() # just until next \n
- a_list = fh.readlines() # all chars by line into list
- fh.write(s) # write string s to file
- fh.writelines(l) # write list l to file
- fh.seek(offset) # seeks to offset in file
Debugging
- Some Vocab:
- Single step: run one line of code and stop
- Step in: trace into a function
- Step out: return from tracing a function
- Breakpoint: run normally until here, then stop
- Watch list: monitored variables
- Development:
- 80% solution is print statement
- pudb http://pypi.python.org/pypi/pudb/
- Integrated GUI IDE debugger
- Production: instrument with a logging module
Debugging
- Common debugger commands:
- h(elp)
- w(here)
- b(reak)
- s(tep)
- n(ext)
- r(eturn)
- c(ontinue)
- l(ist)
- p expression
- run [args ...]
- q(uit)
Test Driven Development
- Best early detection of bugs:
- Pair programming
- Continuous Integration
- Test Driven Development
- Test Driven Development (TDD) says essentially:
- Write a test that for a proposed feature and verify it fails
- Write the minimal amount of code to make the test pass
- Refactor
- Repeat
unittest Module
- Derive a class from unittest.TestCase
- For a test runner, unittest.main() is the default, or roll your own
- Simple test to see if two values were multiplied correctly:
import calculator.operations.arithmetic as arith
import unittest
class TestCalculations(unittest.TestCase):
def test_multiply(self):
""" test multiply 2 * 2 """
testVal = arith.mult(2,2)
self.assertEqual(testVal, 4)
if __name__ == "__main__":
unittest.main()
unittest Module
- If a test fixture is needed to setup/takedown the calculator for each test, we can add methods setUp() and tearDown()
- The naming standard is that each test method name start with test
- For unit tests, the TestCase class offers (3) primary verifiers:
- assertEqual(): result is equal to the value we expect
- assertTrue(): result is a True assertion
- assertRaises(): result is the Exception we expect
unittest Module
- There are more assert methods to make life easy:
unittest Module
- Building a test harness involves grouping all TestCase test* methods for the package together to run sequentially:
unittest Module
import unittest
from calculator.test import operations_package as op
from calculator.test import display_package as dp
if __name__ == "__main__":
ops_suite = op.TestOperations().suite()
disp_suite = dp.TestDisplay().suite()
all_tests = unittest.TestSuite([ops_suite,disp_suite])
result = unittest.TestResult()
print "\nStarting calculator test suite:", \
all_tests.countTestCases(),"tests"
all_tests.run(result)
print "...Errors..."
if result.errors:
print result.errors
else:
print "None"
print "...Failures..."
if result.failures:
for fail in result.failures:
print "\n=================================\n"
print fail[0]
print fail[1]
else:
print "None
References & Bibliography
- Python Style Guide
http://python.org/doc/essays/styleguide.html
- Refactoring (Martin Fowler, ISBN 0-201-48567-2)
- Python Pocket Reference, 4th edition (Mark Lutz, 978-0-596-15080-8)
- Think Python (Allen Downey, ISBN-10:<PHONE_NUMBER>)
References & Bibliography
- Python Software Foundation http://python.org
- http://wiki.python.org/moin/PythonBooks
- http://python.org/editors


--- layout: default title: MAYDAY.US - Team & Board permalink: /team-and-board/ --- {% capture content %}
Lawrence Lessig is the Roy L. Furman Professor of Law and Leadership at Harvard Law School, director of the Edmond J. Safra Center for Ethics at Harvard University, and founder of Rootstrikers, a network of activists leading the fight against government corruption. He has authored numerous books, including Republic, Lost: How Money Corrupts Our Congress – and a Plan to Stop It, Code and Other Laws of Cyberspace, Free Culture, and Remix.
Lessig serves on the Board of Creative Commons, AXA Research Fund and iCommons.org, and on the Advisory Boards of the Sunlight Foundation and the Better Future Project. He is a Member of the American Academy of Arts and Sciences and the American Philosophical Association, and has received numerous awards, including the Free Software Foundation’s Freedom Award, Fastcase 50 Award and being named one of Scientific American’s Top 50 Visionaries.
Previously, Lessig was a professor at Stanford Law School, where he founded the school’s Center for Internet and Society, and at the University of Chicago. He clerked for Judge Richard Posner on the 7th Circuit Court of Appeals and Justice Antonin Scalia on the United States Supreme Court. Lessig holds a BA in economics and a BS in management from the University of Pennsylvania, an MA in philosophy from Cambridge, and a JD from Yale.
For three decades, Mark McKinnon has been solving complex strategic challenges for causes, companies, and candidates, including George W. Bush, John McCain, Ann Richards, and Bono. He has helped engineer five winning presidential primary and general election campaigns, and is a cofounder of No Labels, a non-profit organization dedicated to bipartisanship, civil discourse and problem solving in politics.
According to Broadcasting and Cable magazine, McKinnon is one of “a handful of players behind every big decision, consensus or roadblock in Washington…putting a unique, sometimes hidden stamp on the outcome of today’s debates.” Politics Daily writes: “He’s known for his originality in a field typified by copycats, a mellow personality in a world populated with high-strung brutes and ecumenical urges in a profession dominated by its unadulterated partisans.”
Former President George W. Bush says of McKinnon, “I was really impressed by Mark’s creativity, and I was particularly impressed by his honesty.” Senator John McCain, in his typical straight-talk fashion, remarks, “He’s almost a genius.” And President Barack Obama calls McKinnon “a class act.”
President Bush appointed McKinnon to serve as a governor of the Broadcasting Board of Governors. He serves on the board of the Austin Film Society, and has taught at the JFK School of Government at Harvard University and the LBJ School of Public Affairs at the University of Texas at Austin. McKinnon currently is a consultant to the HBO television series, The Newsroom.
Kahlil is a political entrepreneur and expert at building and managing large, disruptive, technology-based advocacy and political organizations. For the past decade, Kahlil has specialized on building long-term strategy, securing substantial investments, and achieving reform at state and national levels. He founded and is growing Forward Progress in Politics, a multi-faceted advisory and product development company focused on impact investors and their efforts to making significant change in Political Reform.
Recently, Kahlil served as president of StudentsFirst, a national reform effort to change the nation’s legislative and policy landscape for public education. Prior to StudentsFirst, Kahlil was chief executive officer and cofounder of Americans Elect, a national start-up re-imagining the U.S. presidential primary system and placing a bipartisan presidential ticket on all 50 state ballots through technology. AmericansElect.org is the winner of the 2012 People’s Choice Award at South by Southwest, the Campaigns & Elections 2012 CampaignTech Innovator Award, and two 2012 CLIO Awards for content and interactive excellence.
Kahlil is also on the advisory boards of Halcyon Incubator and Discourse Analytics. He was a Term Member of the Council on Foreign Relations and served with CFR as an International Affairs Fellow focused on international media. Kahlil is a graduate of Morehouse College and Harvard’s Kennedy School.
Jim Greer is the cofounder of Kongregate, which distributes 80,000 games to over 20 million monthly users on web and mobile. He recently stepped down as Kongregate’s CEO to found CounterPAC, which seeks to improve the problems of money in politics through direct intervention in elections. He has worked in the game industry since 1991 and holds a Computer Science degree from Princeton. In his spare time he enjoys biking and poker. He lives in San Francisco with his wife and two children.
Marcia Morris spent her 40-year career as a chief legal officer and in executive management roles at for-profit and not-for-profit enterprises in the healthcare delivery, life sciences, and consumer products and services industries. Morris is serving or has served as a board member of Roger Williams University, New England College and the DeCordova Museum and Sculpture Park. She is a graduate of Connecticut College, Boston University School of Law and the Kennedy School at Harvard University.
Zephyr Teachout is a former anti-corruption candidate for New York Governor and an Associate Professor of Law at Fordham University. She is a constitutional and property law expert and author of Corruption in America: From Benjamin Franklin’s Snuff Box to Citizens United.
Previously Teachout served as the first national director of the Sunlight Foundation, a non-resident fellow at the Berkman Center for Internet and Society at Harvard Law School and the Director of Internet Organizing for Howard Dean’s 2004 presidential campaign. Teachout holds a Bachelor of Arts from Yale University, as well as a JD and Masters of Arts in Political Science from Duke University.
Szelena comes to Mayday by way of Demand Progress, where she directed operations and managed campaign finance reform initiatives including Rootstrikers and the New Hampshire Rebellion. She is a graduate of Harvard Divinity School and the University of Florida.
After watching Mayday’s spectacular 2014 launch during a two month trip around the world, Mario eagerly joined as digital director. Mario worked for 8 years in advertising and technology before starting in politics in 2010. He has previously worked on a major presidential campaign, as well as several congressional and senatorial campaigns.
Frustrated by the campaign finance system Singer managed the grassroots legislative campaign with bipartisan sponsorship making Illinois the 14th state to call for a Constitutional amendment. Singer was a previously a consultant for several successful U.S. Senate races. Singer studied Political Science and Radio/TV/Film at Northwestern University as a National Merit Scholar.
Since graduating from Auburn University (War Eagle!), Lee has worked in many realms of the anti-corruption movement. As an intern with Represent.Us, Lee supported Trevor Potter and his team with legal and academic research for the American Anti-Corruption Act. He then joined Fund for the Republic, and later became Rootstrikers’ Campaign Manager. Prior to joining Mayday, Lee worked with Ben Cohen’s Stamp Stampede.
Rachel never felt compelled to get involved in any sort of political campaign before now. She’s a cheesemaker, technical writer, and software industry veteran from Oakland, CA.
Rebecca has spent the past few years volunteering her time to anti-corruption organizations. A graduate of Indiana University, she is a classically trained vocalist and holds a Bachelors degree in Music. Rebecca lives in the New York Metro area with her husband, Scott, and two ridiculously spoiled cats.


Before creating an example class it is important to understand what an instance of a class is. The example we will use in this post is the class: Dog. An instance of Dog is a " Male, German Shepard that is 7 years old" To clarify " the German Shepard" is a specific instance of the class Dog.
In our example, the instance of Dog is a "German Shepard." There are many instances (or breeds) of a Dogs in the real world (puddle, pug, lab etc..) so we can create instance variables. These variables are used specifically within the class. To add to our example, our Dog which is a "German Shepard" named "Ronald" is a "Male" and "7 years old" Each of these could be the instance variables @breed, @name @sex, @age respectively. We create instance variables with an @ in front and can use them within all methods in the class.
Class Dog
def initialize(breed, name, sex, age)
@breed = breed
@name = name
@sex = sex
@age = age
end
# the method initialize is a special instance method that kicks off automatically the as soon as a new instance is created. So in this example it would define our instance methods.
def bark
puts "Rooooof! Rooooof!"
end
# this is an instance method. We can call this "custom made" method on the instance of Dog. So if our instance was "my_pet", then the calling of the method would look like this: "my_pet.bark"
def show_collar
puts " Hello, my name is #{@name} I am a #{@sex}, #{@breed}. I am #{@age} years old, not that anyone is counting!"
end
# with this instance method we are using the pre-defined instance variable to puts what the collar of our Dog would look like.
end
--
my_pet = Dog.new("German Shepard", "Ronald", "Male", 7)
# here we are actually creating an instance of our Dog. Notice it needs info because of the initialize method.
--
Now we will test out some of our instance methods!
my_pet.bark => "Rooooof! Rooooof!"
my_pet.show_collar => "Hello, my name is Ronald I am a Male , "German Shepard". I am 7 years old, not that anyone is counting!"


{% extends 'base.html'%} {% load bootstrap3 %} {% block content %}
{{post.description}}
No posts in this section, be the first to post


Steam is an Internet-based digital distribution platform developed by Valve Corporation offering digital rights management (DRM), multiplayer, and social networking. Steam provides the user with installation and automatic updating of games on multiple computers, and community features such as friends lists and groups, cloud saving, and in-game voice and chat functionality. |
Steam was created by a company called Valve. Valve is an American video game development and digital distribution company headquartered in Bellevue, Washington, United States. Due to the success of Steam and their peripheral products, Valve has shifted focus more on being a digital distributor rather than a game developing company. |
The main feature of Steam is the Steam Library. This is where users collect the games they have purchased from the online store. Due to Steam's cloud servers, users can play their games from any computer that they use. You could buy a game and play it on your home computer, or on your laptop when you travel. |
Due to the success of Steam, Valve has decided to make peripheral devices. Their first was the Steam Controller, and it has a very unique design. Where most controllers would have joysticks on the left and right sides, the Steam Controller has touchpads on each side. Many users report that it is a very comfortable controller despite it's strange look. |
This is a prototype for Valve's Steam Machine; a computer/console created by Valve that houses their own SteamOS operating system. |
With the increasing popularity of in-home streaming, Valve has decided to create their own in-home streaming device called the Steam Link. The Steam Link allows users to stream their games from their computer directly to any TV in the house that the device is hooked up to. |
Along with Oculus Rift, and Sony's own VR headset, Valve and HTC's Vive will join the VR headset market. VIRTUAL REALITY! |
Valve has also partnered with other companies in creating the Steam Machine. Above is an Alienware version of the hardware. |
And lastly, SteamOS: Valve's own operating system. It's supposed to be made primarily for gamers, but only time will tell if it will be a proper contender with Microsoft's Windows and Apple's OS. |
As you can see, Valve has become HUGE is the past couple of years. Their successful video game platform Steam has made them the dominant player in the online market and is already considered to be the video game equivalent of Amazon for PC games. Their success has even pushed them to experiment a bit. As you read this text, Valve is researching and developing their own operating system, console, controller, in-home streaming device, and a virtual reality headset! Valve is doing great and I can confidently say that they will be successful in the upcoming years.


---
layout: full-width
title: Reading groups that meet in Suffolk libraries
breadcrumb: events
jquery: true
dynatable: true
---
Find out how to set up your own reading group in a Suffolk library. We can provide a free, welcoming space for your group and set up a special library account for borrowing more books.
See our new titles and book club ideas for reading inspiration.
{% include dynatable-library-list.html %}
| Library |
Activity |
Day |
Times |
{% assign recurrents = site.recurrents | where: "recurrent-category", "reading-groups" | sort: 'recurrent-location' %}
{% for recurrent in recurrents %}
{% assign hide-event = false %}
{% if recurrent.recurrent-expiry %}
{% capture now-unix-seconds %}{{'now' | date: '%s' }}{% endcapture %}
{% capture event-expiry-seconds %}{{recurrent.recurrent-expiry | date: '%s' }}{% endcapture %}
{% capture event-expiry %}{{ event-expiry-seconds | divided_by: 86400}}{% endcapture %}
{% capture now-unix %}{{ now-unix-seconds | divided_by: 86400}}{% endcapture %}
{% if now-unix > event-expiry %}
{% assign hide-event = true %}
{% endif %}
{% endif %}
{% unless hide-event %}
| {{ recurrent.recurrent-location-display-name }} |
{{ recurrent.recurrent-title }} |
{{ recurrent.recurrent-day }} |
{{ recurrent.recurrent-times }} |
{% endunless %}
{% endfor %}


"Rythmic adaptation - not balance - is the key to wellness." -Jennifer Racioppi
Here are some journal prompts which help me reflect and adapt to my shifting energy as the moon travels through the sky, and my interpretation of the key themes of each sign and what it's encouraging me to do. I tend to try and think about the themes of each sign as the moon travels through it, the relationship between the current sun and lunar signs (tension? contradiction? affinity?) and choose 1-2 of these prompts to journal while the moon is in that sign.
According to astrology, you feel a bit more emotionally "at home" when the moon is back in the sign it was when you were born. You might also feel a bit more comfortable when the moon is in your sun sign. The key to astrology is to take what serves you and leave what doesn't.
The name of this web page draws inspiration from the SASS Witches community on reddit.
Alexa skill coming soon!
♈ Aries
actions, beginningsWhat obstacles are preventing me from just acting?
Do I feel energetic? What am I doing to energize myself? What actions am I taking towards my goals? Am I overthinking things?
Just do it
♉ Taurus
grounded, secureWhat grounds me?
Do I feel secure? Am I committed to my goals? Name one beautiful thing, one tasty and nutritious meal, one good song, one physical pleasure.
 Who am I feeling connected to? How am I fostering connection? What ideas am I thinking about, and how am I expressing them?
Enable collaborative leadership.
♋ Cancer
nurturingHow am I nurturing my own self? How am I nurturing others? What and who makes me feel cared for? How am I caring for others? Am I safe, comfortable, and secure? Check in with myself - how am I feeling?
Do things to help build your self-esteem.
♌ Leo
fun, pride3 reasons I'm proud of myself.
What is going well for me? What are my strengths? What are my fears, and how am I addressing them? What are the needs of my inner child? How will I have fun today? What are my best qualities? What are my successes?
Celebrate yourself, your accomplishments, and strengths.
♍ Virgo
service, refinementWhat is my routine? How can I refine my routine? What habits make me feel strong? What are my responsibilities? What can I improve?
♎ Libra
justice, freedom??
???
?????
♏ Scorpio
sex, transformation, mysteryWhat parts of me are dying? Which are being transformed? What parts of me do I value?  What is turning me on? Check-in: How am I feeling? Which emotions are dominant right now?
♐ Saggitarius
exploration, adventure
♑ Capricorn
work ethic, responsibility
♒ Aquarius
community, healthHow am I contributing to the health of my community?
♓ Pisces
creativity, expressionCheck in: How am I feeling? How will I express myself artistically? What creative projects can I work on? How can I rejuvenate?


---
layout: post
title: Chocolate & Cocaine - Studio Performance
date: '2015-08-28T11:30:00.000-05:00'
author: Tom Ray
tags:
- live video
- news
- video
modified_time: '2015-08-30T13:44:19.169-05:00'
thumbnail: http://3.bp.blogspot.com/9jTO5AJiS1i0y2z-JqCmYu6zbnA82jj4daPoEDuIqk8A=s72-w700-c-no
blogger_id: tag:blogger.com,1999:blog-11319466.post-7132605464453805961
blogger_orig_url: http://www.lorenzosmusic.com/2015/08/chocolate-cocaine-studio-performance.html
---
Here is another live performance. This time of the song Chocolate & Cocaine.
This song gained a lot of among some of the big gaming channels on YouTube.
Want this song?
You can get it here - Download "Chocolate & Cocaine"


Installing TJ flares on all four corners of my '82 CJ-7 allows me to run 35x14.5 Swamper SSR's with only a 4" suspension lift and 1" body lift. The TJ fender flares provide more clearance allowing me to run larger tires without damaging the body. Aftermarket TJ fender flares come in various widths so there is plenty of fender covering the tires. The TJ fender flare also utilizes an integrated marker light that keeps my Jeep street legal even though I trimmed the fenders.
The good part about using YJ or TJ front flares on a CJ is that the Wrangler front fenders are about 1 1/2" longer than CJ front fender flares. The extra two inches in length on a Wrangler fender is located forward of the wheel well. This allows you to line up a Wrangler flare on a CJ fender with extra room in the back of the wheel well. The back of the front fender is where you will hit first with a big tire. The general shape of a Wrangler rear flare also gives you more room in the rear wheel well.
|
|
|
In the photos note where the rear of the front flare is with respect to the vertical body seam between the body and the metal fender. The TJ flare at the bottom of the rocker panel intersects this seam line. The CJ flare is a good 4-6" forward of this seam. Also notice that the TJ flare is mounted higher on the fender than the CJ flare. This is not as easy to see in this photo, but it makes a big difference.
Now comes the point of no return. Get out the saber saw and buy a new metal blade with 18-24 teeth per inch. I also found that hand tin snips were very useful for some of the final trimming. You have to get yourself in the right frame of mind to cut your fenders, but once you do the job is really very easy.
Place the front flare up against the fender and adjust back and forth, up and down, until you fully understand where it is going to be located. Mark the body with a wax-marking pen so you know where the flare is to be located. You will be first cutting off the complete raised ridge, about a 1" wide strip, around the entire wheel well with the exception of leaving some material at the front of the fender for mounting the flare. YJ and TJ fenders need a flat mounting surface plus this gives you more room. You will be cutting the rear of the wheel well opening flush with the wheel well liner. You can stop here and mount the flares, but it is easy to get much more room.
I then carefully separated the wheel well liner from the fender along the entire rear seam. These are just spot welds. Drive a screwdriver into the seam to open it up and find the spot welds. I then took my sazall, slipped the blade into the opened seam and cut through each spot weld. Obviously the supports from the firewall to the wheel well liner need to be removed. (So far I have not replaced them and have been running this way for several months). I now made a vertical cut about two inches behind the shock going from the bottom of the wheel well liner up where it starts to bend over to form the top of the wheel well. This cut allows the complete rear of the wheel well liner to be pushed back. I pushed the rear of the wheel well back about 2 1/2 to 3" as measured at the bottom of the saw cut. I then just pop-riveted a triangular strip of metal over this opening. Be careful that the final shape of the wheel well liner stays inside the frame rails, otherwise the tires will chew it up when you are turning. You will find that the charcoal canister on the drivers side will need to be relocated, the liner will come very close to the steering shaft, and the clearance for the clutch linkage may need to be accounted for.
The passenger's side is a breeze and there are no interference problems unless you are still using the stock jack or running a very big battery tray. The fender sheet metal at the rear of the wheel well was bent over 90 degrees to lay against the new wheel well liner. I made a couple of cuts so I was only bending a section about 3-4" long at a time. (I'm not a body man.) This was pop-riveted to the liner and adds a fair amount of support to the liner since the fender is double thickness in this location. Obviously everything was carefully painted and sealed to prevent rust.
The following two comparison pictures show that the leading edge of the TJ flare does not mate as nice as the CJ flare. The top front of the CJ fender has a more gradual bend downward than the Wrangler fenders. This can be seen in the photo showing the TJ flare and the fact that it does not mate perfectly to the fender in the front. Only trained eyes will note this area. Careful working of the CJ fender, particularly the raised ridge along the wheel well will minimize flaws in the fit in this region. The photos also show how much higher the TJ flare can be mounted compared to the CJ flare.
Details of the front corner of the flares.
The rear wheel well is trivial compared to the front. The YJ or TJ flare will allow you to trim the sheet metal away from the front and back lower corners of the rear wheel well due to the general shape of the flare. This helps most people since they hit the back edge first. The TJ rear flare has the same general shape as the YJ flare, but it can be mounted higher than the YJ flare. My rear TJ flare is mounted in the same position (height wise) as a CJ or YJ flare. There is over and inch of flare sticking out below the lower edge of the body, i.e. I could have mounted the flare at least an inch higher on the body. I didn't mount the flare higher since you don't hit the top of the rear wheel well and the bottom opening is monstrous.
With only minor sheet metal cutting I have opened up the rear lip enough to clear my tires. Note: on the rear you are limited on the amount of opening you can easily do. The front of the rear wheel well defines the interior of the jeep and where the roll bar mounts. There is a lip you can trim off on the inside of the wheel well to gain about 1/2" and there is body sheet metal that can be opened up. Any more is major work. The rear of the wheel well is limited by a bent panel, but there is ample room to trim body sheet metal. Most people don't find the rear wheel well the limiting factor.
Many are confused when they first see the jeep and think it is a new TJ since the flares fit so nicely. Only with more careful observation do I start to get funny looks and people question what they are seeing. Many have said, "I thought the new jeep had coil spring." Only true jeep fanatics recognize what is done.
Here are two pictures of the jeep on a ramp. The first picture was taken when I was running 33" BFG MTs. Note that the 33" tires completely fill the front wheel well. The next picture is with the 35" Swamper SSRs. Note there is more room in the front wheel well with the 35's than with the 33's!
First and foremost, credit goes to Jim Williams who gave me the confidence to try mounting the TJ flares on my 82 CJ-7. Second, Gil Meacham who posted some information on Jeep-L about putting YJ flares on a CJ from his discussions with John Williams. And also, Jeepskate (aka Rodney Lewis) shared some information about TJ flares on his mixed vintage jeep.


About
Data privacy
Tags
2019
Some intution on the Gaussian distribution formula
2019-11-18
2018
Why "n-1" in empirical variance? A simulation.
2018-03-24
2017
Effect sizes for the Mann-Whitney U Test: an intuition
2017-07-04
mean and sd of z-values
2017-05-26
Squares maximize area - a visualization
2017-05-19
A predictor's unique contribution - (visual) demonstration
2017-05-17
Variance explained vs. variance blurred
2017-05-05
Covariance as correlation
2017-04-25
2016
Some reflections on stochastic independence
2016-11-08
Why is SD(X) unequal to MAD(X)?
2016-08-31
Why absolute correlation value (r) cannot exceed 1. An intuition.
2016-08-28
Intuition on correlation
2016-07-25
Intuition on Cohen's d
2016-07-15
Why have z-transformed values a mean of zero and a sd of 1?
2016-07-02


Here I will personally explain a crypto algorithm, what I am doing right now.
I will also give you my code for have a look.


My best friend is currently in Israel serving in the Israeli Army. She is extremely inspiring to me and I can't wait to go visit her.


yeast
Bud23
ribosome biogenesis
rRNA methyltransferase
Plasmodium falciparum
malaria
parasite
snRNAs
Trm112
Las1
Grc3
Utp14
Rps2
Dhr1
Ecm16
Utp2
Imp4
SSU processome
U3 snoRNA
data
heat shock
aggregation
food
granola
personal
science
journal club
protein quality control
public art
mural
recipe
auxotrophic marker
endocytosis
genetic screen
rapamycin
ubiquitin
murals
Ithaca
endo-lysosome
Rsp5
TORC1
introns
art
DIY
P values
Statistical analysis
Beeswarm plot
multi-colored dot plot
Superplot
COVID-19
social
sanitation
small ORFs
non-canonical ORFs
Ribosome Profiling
microproteins
HLA-I peptidomics
uORFs
lncRNA
split-fluorescent protein
Rcr1
Rcr2
Ubiquitin
E3 ligase adaptors
E3 ubiquitin ligase
HECT
membrane protein quality control
Structuromics
omics
Mass spectrometry
limited proteolysis
LiP-MS
structural barcodes
Genetic Interaction mapping
GI profile
epistatic miniarray profile
integrative modeling
histones
Electron microscopy
cryo-ET
RNA aptamers
DNA origami
LaTeX
biologists
typesetting
new lab
website
jekyll
github
lab manual
data management
best practices
scientific rigor
labmanual
wetlab
meetings
newstart


2018/19 NBA Team Interest Levels
October 16, 2018
Introduction
I felt like quickly throwing together a post on my interest level on each NBA team entering the 2018/19 season, basically ripping off Zach Lowe's yearly League Pass Rankings. Mostly, this post is to document my thoughts at the beginning of the season to compare how I feel at the end of the season. As has been noted before, I think record keeping is important and I'm trying to better document my records publicly.
- Utah Jazz (9.5)
- Stylistically pleasing
- Great depth
- Ricky Rubio/Dante Exum/Donovan Mitchell/Joe Ingles/Jae Crowder/Rudy Gobert/Ekpe Udoh are all favorites
- Philadelphia 76ers (9.0)
- Only thing keeping them from going higher is the hype train surrounding them
- Robert Covington is a favorite
- Zhaire Smith is one of my favorite rookies
- Ben Simmons is one of a few players in the league with all-time great vision (other players I can think of: LeBron James, Lonzo Ball, James Harden, likely Luka Doncic)
- Joel Embiid has the skill and personality to be the face of the NBA
- Toronto Raptors (8.5)
- Tons of favorite players (Lowry/Green/Leonard/VanVleet/Anunoby/Siakam)
- Early viewings of Nick Nurse's coaching style give me hope they could be extremely fun
- Miami Heat (8.0)
- "Jazz East"
- Stylistically pleasing
- Fun depth
- Love Josh Richardson, Bam Adebayo, and Justise Winslow
- Denver Nuggets (8.0)
- Nikola Jokic might be my favorite player to watch
- Jamal Murray/Gary Harris/Paul Millsap all rank highly as well
- Why did they give Mason Plumlee so much money?
- Los Angeles Lakers (8.0)
- Lonzo Ball is likely my 2nd favorite player to watch (behind Nikola Jokic), his passing, help defense, and cutting are unreal
- They would be at least a 9 without Rondo and Michael Beasley
- I'm high on Josh Hart and Alex Caruso
- Milwaukee Bucks (7.5)
- Giannis Antetokounmpo is an automatic 5 interest points
- Malcom Brogdon, Khris Middleton, and Erson Ilyasova are favorites
- Eric Bledsoe and Thon Maker confuse me
- Boston Celtics (7.0)
- Stylistically pleasing
- Marcus Smart/Jaylen Brown/Gordon Hayward/Jayson Tatum/Al Horford might be the most defensively versatile lineup in the league
- "Gordon Hayward and Aron Baynes are so light they wear sunscreen in the gym"
- I hope Jayson Tatum picks the right parts of Kobe's game to mimic
- Brooklyn Nets (6.5)
- I'm somewhat irrationally high on Brooklyn this year; they remind me of a worse version of the 2015/16 Boston Celtics with the lack of star power but a roster that goes 11 deep
- D'Angelo Russell's development this year could make or break their playoff chances
- Indiana Pacers (6.0)
- CoJo/Victor Oladipo/Bojan Bogdanovic/Myles Turner are personal cheeseballs
- Hated their last 2 drafts with Holiday and Leaf
- Houston Rockets (6.0)
- They would be at least a 7.5 without Melo and Michael Carter-Williams
- Maybe this is the year my Zhou Qi draft day rankings start to show some value
- Marquese Chriss has potential to be the next JaVale McGee of watchability
- Dallas Mavericks (6.0)
- Luka Doncic is worth 5 ranking points by himself
- Dwight Powell is quietly very entertaining and Dirk Nowitzki/JJ Barea have some nostalgic appeal
- The rest of the team is relatively boring
- Golden State Warriors (5.5)
- Who plays between Bell/Jones/Looney?
- How well does DeMarcus Cousins integrate (once healthy)?
- Is Jacob Evans an NBA player this year?
- Where is Patrick McCaw?
- How much do any of the Hamptons 5 (plus Shaun Livingston) try during the regular season?
- Portland Trail Blazers (5.5)
- Lillard Time may be the single most exciting time during regular season NBA basketball
- Lineups with Damian Lillard, Seth Curry, and CJ McCollum are going to be pretty fun
- I was super high on Caleb Swanigan at one point
- Oklahoma City Thunder (5.0)
- Tons of players I like (Roberson/Abrines/Luwawu-Cabarrot/George/Patterson/Adams/Noel)
- Russell Westbrook/Jerami Grant are two of the most explosive athletes at their positions
- Extremely stylistically dis-pleasing
- Chicago Bulls (4.5)
- Wendell Carter Jr. is one of my favorite rookies this year
- Lauri Markkanen was one of my favorites rookies last year
- Kris Dunn and Jabari Parker are two of my least favorite young players
- Zach LaVine confuses me
- Fred Hoiberg does not seem like a good NBA coach
- New Orleans Pelicans (4.0)
- Weird situation where 3 of the best 4 players all want to play the 4 (unless AD finally gives in and realizes he's a 5)
- Jahlil Okafor is becoming a 20/10 threat now that he's vegan and Elfrid Payton is going to shoot 40% from 3 now that he cut his hair (sarcasm)
- AD, Nikola Mirotic, and Jrue Holiday save the grade from slipping into the bottom echelon
- Memphis Grizzlies (3.5)
- Really sad that this is where Jaren Jackson Jr. ended up, they would be a 2 at best without him
- I'm rooting for a full recovery for Mike Conley
- Washington Wizards (3.0)
- John Wall is a more pleasing (to me) version of RWB
- The junior wings (Otto Porter Jr., Kelly Oubre Jr., Troy Brown Jr.) are fun and I want to see lineups with all 3
- Wizards of years past have had the worst end-of-game offensive strategy in the league (lots of isolation 18 foot jumpers and bricked floaters) and I imagine it will stay that way this year
- Los Angeles Clippers (3.0)
- Tuning in for the PG (Patrick Beverely/Milos Teodosic/Shai Gilgeous-Alexander) and backup C (Boban Marjanovic/Montrezl Harrell) minutes
- If all 5 are ever on the floor at the same time I might faint
- Minnesota Timberwolves (3.0)
- Wish Tyus Jones was appreciated more, I think he's better than Jeff Teague
- Josh Okogie was a draft favorite
- Sacramento Kings (2.5)
- I like Bogdan Bogdanovic and Willie Cauley-Stein quite a bit
- How do they handle frontcourt minutes between the young (WCS/Bagley/Labissiere/Giles) and old (Randolph/Koufos/Bjelica)?
- Cleveland Cavaliers (2.5)
- They're going to be relatively boring, but I think the 7th seed is a realistically possibility since they have a lot of NBA caliber players, which not all the teams in the East feature
- I hope JR Smith takes 15 FGA per game
- Phoenix Suns (2.0)
- I really want Dragan Bender to be good (him and Zhou Qi are maybe my two biggest draft over-rankings so far)
- The Mikal Bridges trade will likely go down as a franchise altering one (in a bad way)
- San Antonio Spurs (2.0)
- Oh how the mighty have fallen; the late 00's/early 10's Spurs teams were true 10s
- I'm disinterested in watching DDR/Gay/Aldridge isolate and shoot 16 foot jumpers
- Popovich's greatest accomplishment may be making this team watchable
- Atlanta Hawks (1.5)
- Development of John Collins/Kevin Huerter/Taurean Prince will be interesting
- Does Trae Young provide any value outside of PNR offense?
- BAZEMORE
- Orlando Magic (1.5)
- Jonathan Isaac (and a little bit of Aaron Gordon) keeps them from being a 1
- Mo Bamba *could* be extremely fun
- Charlotte Hornets (1.5)
- Kemba Walker and Nic Batum are the only reasons they aren't a straight up 1
- Tony Parker will look very strange in a Hornets jersey
- Detroit Pistons (1.0)
- Unless Dwayne Casey coaches out of his mind, an offense centered around Jackson/Griffin/Drummond is have no space and be relatively boring
- New York Knicks (1.0)
- It's bad when the players I'm most interested in are draft busts from 4 years ago
- I hope they don't mess up the development of Knox and Ntilikina, they could be 3/5th of a good team with Porzingod one day


Yankees sign Seton Hall’s Zack Granite to minor-league deal
by George A. King IIIAttempting to bolster their Triple-A outfield depth the Yankees dipped into the local talent pool, inking Zack Granite to a minor league deal, according to USA Today.
Granite, who went to Staten Island’s Tottenville High School, was drafted in the 14th round of the 2013 MLB draft by the Twins out of Seton Hall and reached the majors in 2017, when he appeared in 40 games for Minnesota and hit .237.
The 27-year-old didn’t play in the majors the past two seasons.
This year, the left-handed hitter batted .290 in 119 games for Nashville, the Rangers’ Triple-A affiliate.


WITNESS LIST Higher Education Committee August 1, 2002-1:00P Interim Charge Two On: Alanis, Dr. Felipe (Texas Education Agency) Almendarez, Dr. Arturo (Texas Education Agency) Brown, Dr. Don (Texas Higher Education Coordinating Board) Fuller, Dr. Ed (State Board for Educator Certification) Garcia, Dr. Rey (Texas Association of Community Colleges) Kettler, Dr. Ron (State Board for Educator Certification) Natalicio, Dr. Diana (The University of Texas at El Paso)


Oje, dis Programm het a Fähler. Oops, your program has a problem. 你的软件有问题。
This is a single file version that can be stored locally (and will store the code and settings together with the page).
The basic keywords may be entered in English or German all captial letters, all lower case or with the first character capitalized.
- left(); links(); left(30); LINKS(45); // by default 90 degrees, other angles can be provided
- right(); rechts(); right(30); RECHTS(45);
- step(); schritt(); step(4); Schritt(4);
Advanced (only in English and lowercase):
- up(); // lift the pen up
- down(); // put the pen down
- color("red"); color("#00ff00");
- wait(1000); // milliseconds
- All other javascript functions ;-)
Contact:
Thomas M. Frey


The StandardDeviationOfReturnsVolatilityModel
sets the volatility of the security to the annualized sample standard deviation of trailing returns. It's the default volatility model for the underlying asset of Equity Options and Index Options.
underlyingSecurity.VolatilityModel = new StandardDeviationOfReturnsVolatilityModel(30);
underlying_security.VolatilityModel = StandardDeviationOfReturnsVolatilityModel(30)
The following table describes the arguments the model accepts:
| Argument | Data Type | Description | Default Value |
|---|---|---|---|
periods |
int |
The max number of samples to use when calculating the standard deviation of returns. This value must be greater than two. |
|
resolution |
Resolution? Resolution /NoneType |
The resolution of the price data used to calculate the standard deviation. This only has a material effect in live mode. For backtesting, this value does not cause any behavioral changes. |
null None |
updateFrequency |
TimeSpan? timedelta /NoneType |
The frequency at which new values are inserted into the rolling window for the standard deviation calculation. If the value is null None , it defaults to the TimeSpan timedelta representation of resolution . If the value and resolution are null None , it defaults to a TimeSpan timedelta of one day. |
null None |
To view the implementation of this model, see the LEAN GitHub repository.


Are you sure you want to delete the permission(s)?
Path: (?)
Integer only. 0 (zero) means no expiration.


Scrollspy
javascript-scrollspy
Example in navbar
The ScrollSpy plugin is for automatically updating nav targets based on scroll position. Scroll the area below the navbar and watch the active class change. The dropdown sub items will be highlighted as well.
Within a navbar
Usage
Requires Bootstrap nav
Scrollspy currently requires the use of a Bootstrap nav component for proper highlighting of active links.
Resolvable ID targets required
Navbar links must have resolvable id targets. For example, a
home
must correspond to something in the DOM like

.Non-:visible target elements ignored
Target elements that are not
:visible
according to jQuery will be ignored and their corresponding nav items will never be highlighted.Requires relative positioning
No matter the implementation method, scrollspy requires the use of position: relative; on the element you're spying on. In most cases this is the

. When scrollspying on elements other than the
, be sure to have a height set andoverflow-y: scroll
; applied.Via data attributes
To easily add scrollspy behavior to your topbar navigation, add
data-spy="scroll"
to the element you want to spy on (most typically this would be the
). Then add thedata-target
attribute with the ID or class of the parent element of any Bootstrap.nav
component.Via JavaScript
After adding
position: relative;
in your CSS, call the scrollspy via JavaScript:Methods
.scrollspy('refresh')
When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:
Options
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to
data-
, as indata-offset=""
.Events


DOS and DON'TS are currently divided into three categories:
1. Study Design
2. Model Selection
3. Data Interpretation
Version 1.0 focuses on Study Design (based on a paper published in Climate Services in September 2018). Model Selection guidelines are being drafted and will consitute the majority of updates for version 2.0, coming soon. Data Interpretation guidelines are conceptualized and will be a future focus area as resources allow.
Each DO or DON'T contains: (1) explanations for why it is important, (2) frequently asked questions by information users and/or case study examples, and (3) recommended paths forward. This framework serves as a foundation for further refinement which can promote dialogue between those who produce the information and those who use it. We use references throughout; the full citations of which can be found under FOUNDATIONS.
These are general guidelines intended to promote better understanding. We recognize there are usually exceptions to every rule. However, without defining rules, we can’t define exceptions. We discuss exceptions in our explanation and welcome suggestions for additions and further clarifications (continue scrolling down or click here to learn more about joining the conversation).


---
title: RelativityX
testimonials:
- message: We have been able to predict customers who have at least a 60 percent chance of returning and we've already seen the actual dollar results of these predictions.
image: "https://res.cloudinary.com/relativity6-marketing/image/upload/v1495834348/ani-boyo-circle_lsncp7.png"
name: Ani Boyo, Marketing Analyst, Coachup
- message: We’re very excited to use the intelligence we’ll get from this platform to help us better focus our sales team’s efforts going into our busy season.
image: "https://res.cloudinary.com/relativity6-marketing/image/upload/v1495834497/chris-patten-circle_ciywtj.png"
name: Christopher Patten, Magellan Jets Operations
- message: Artificial Intelligence predictions help us see our existing customers through a completely different lens. We're using these insights to precisely acquire the highest potential new consumer banking customers.
image: "https://res.cloudinary.com/relativity6-marketing/image/upload/v1496163406/rodrigo-v2_lpjmsj.png"
name: Rodrigo Bonilla, Citibank, VP, Consumer Banking
_options:
image:
width: 80
height: 80
---
RelativityX Data Science Research Laboratory
RelativityX is an organization of elite Data Scientists and Engineers focused on Research and Development.


Sudoku - play online!
Home
History
About
Sign Up
Login
Account Login
Username
Password:
Submit
Sorry, your browser does not support JavaScript!


CMPT 295 – Fall 2021
Assignment 5
Objectives:
- x86-64 function calls and stack
- Investigating the size of some x86-64 assembly instructions
Submission:
- Submit your document called Assignment_5.pdf om CourSys.
- Add your full name and student number at the top of the first page of your document.
- If you write your answers by hand (as opposed to using a computer application to write them), when putting your assignment document together, do not take photos of your assignment sheets! Scan them instead! Better quality -> easier to read -> easier to mark!
Due:
- Friday Oct. 29 at 4pm on CourSys
- Late assignments will receive a grade of 0, but they will be marked (if they are submitted before the solutions are posted on Monday) in order to provide feedback to the student.
Marking scheme:
- All questions of this assignment will be marked for correctness.
- The amount of marks for each question is indicated as part of the question.
- solution will be posted on Monday after the due date.
1) [10 marks] x86-64 function calls and stack
a. Hand trace the code from our Lab 4 (main.c , main.s, p1.c, p1.s, p2.c and p2.s) using the test case, i.e., x = 6, y = 9, buf[40].
- As you do so, draw the corresponding Stack Diagram for the entire program, i.e., until you reach (but have not yet executed) the ret instruction of the main function. To do so, you can either print the “Stack Diagram” sheet at the end of this assignment and do the drawing by hand, then scan the result and include it into this assignment document OR do the drawing by electronically annotating the “Stack Diagram” sheet at the end of this assignment then include the result into this assignment document.
- The use of the Register Table is optional: use it only if you find it useful. You do not have to include it as part of your assignment document.
- Indicate the movement of %rsp by crossing its old location and rewriting “%rsp” to indicate its new location (as we have done in our lectures and Lab 4).
- Cross the content of the stack that has been popped.
- When the value of a stack location is changed, cross its old value and write the new value in the same stack location.
- Make sure you include the content of buf in your Stack Diagram.
- When drawing your stack diagram, you do not have to show the effect on the stack of the 5 call instructions at lines 33, 43, 45 and 57 in main.s and at line 47 in p1.s. These are calls to printf(…), puts(…) and sprintf(…). In other words, you do not have to add the return addresses associated to these 5 calls onto the stack.
- Hint: The solution to Participation Activity 6 (which will be posted after its deadeline on Monday) will give us a great head start!
b. Modify main.c by reducing the size of buf[] from 40 to 24.
- Remake the code and hand trace it using the following test case, i.e., x = 6, y = 9, buf[24].
- Repeat the instructions found in the section a. above and create a second drawing of the stack using the Stack Diagram sheet found at the end of this assignment.
- Make sure you include the content of buf in your Stack Diagram drawing.
- On the same sheet as your Stack Diagram, asnwer the question:What happens to the “canary value” in this situation?
2. [10 marks] Investigating the size of some x86-64 assembly instructions
Complete the following three tables:
Table 1:
| X86-64 Instructions | Their size (in bytes) |
|---|---|
| xorq %rax, %rax | |
| xorl %eax, %eax | |
| movq $0, %rax | |
| movl $0, %eax |
Table 2:
| X86-64 Instructions | Their size (in bytes) |
|---|---|
| addl $1, %eax | |
| leal 1(%eax), %eax | |
| incl %eax |
Table 3:
| X86-64 Instructions | Their size (in bytes) |
|---|---|
| addl $8, %eax | |
| leal 8(%eax), %eax |
To complete the above tables, you must:
- Write an assembly program and include all the above x86-64 instructions in it. Of course, this program is going to be rather nonsensical. Not a problem!
- Compile your program.
- Use the objdump tool on the resulting object file you obtained from the compilation process.
- Looking at the result will lead you to the answer, i.e., the size of each of these x8664 instructions in bytes.
- In each table, bold the instruction that is the most space efficient.
- Copy the content of your program (*.s) into this assignment (into this Assignment_5.pdf document).
- Copy the result you obtained from the objdump tool into this assignment (into this Assignment_5.pdf document).
| Base + Displacement | Stack | Purpose |
|---|---|---|
Register Table:
| Register | Value |
|---|---|


Welcome, {{name}}!
Want to build your own webpage? Want to learn the very basics of HTML and CSS, two markup languages that all web pages are built on? Start right here!


Thanks to the folks that came to the Central Cafe in Glade Road, VA yesterday. A full house – it was great! Looking forward to our next time!