{% extends 'layout-2-1-bleedbar.html' %}
{# HEAD items #}
{% block title -%}
Curriculum Review Tool | Consumer Financial Protection Bureau
{%- endblock title %}
{% block desc -%}
Our vision is a consumer finance marketplace that works for American consumers, responsible providers, and the economy as a whole.
{%- endblock desc %}
{% block og_image -%}
{# Optional property if you want to use Twitter's large card format
https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/summary-card-with-large-image
#}
{%- endblock og_image %}
{% block og_desc -%}
{{ self.desc() }}
{%- endblock og_desc %}
{% block css -%}
{{ super() }}
{%- endblock css %}
{# BODY items #}
{% block header %}
It’s helpful to do a few things before working on your review.
Download our curriculum review checklist .
When you start a new review, the review will be assigned an access code. We don’t recommend sharing an access code to collaborate on a review. More than one person working on a review simultaneously may result in information being overwritten or lost.
Enter the information for the curriculum you’re reviewing.
Enter your access code to return to a review in progress.
We’re the Consumer Financial Protection Bureau (CFPB), a U.S. government agency that makes sure banks, lenders, and other financial companies treat you fairly.
Want to download or print a blank copy of the review?
Curriculum: A complete set of materials for teaching a focused subject area that includes learning objectives, teaching methods, assignments, handouts and teaching supports, and sequence of instruction
Dimension: A key aspect (content, utility, quality, and efficacy) of a financial education curriculum to be evaluated
Criteria: Important features or content areas of the curriculum
Indicator: Specific elements or characteristics of a curriculum related to an evaluation criterion
Components: Statements or questions that help you determine if the curriculum meets an indicator


Enter text including HTML tags to see the default policy:
Custom policy allows HTML tags including <i> and <strong>:


{% extends "base.html" %} {% block body_content %}
Welcome to the SCI simulation project! Pick a simulation to explore from the options below:
{{ sim.desc|safe }}
To get started, type in your name or username and the simulation password.


|
Chipmunk SpaceManager
0.1.3
Chipmunk SpaceManager API Reference (iOS version) for www.kobold2d.com developers
|
#import <SpaceManager.h>
The SpaceManager
| - (void) addBody: | (cpBody *) | body |
Manually add a body to the space
| - (cpConstraint*) addBreakableToConstraint: | (cpConstraint *) | breakConstraint | |
| maxForce: | (cpFloat) | max | |
This does not work yet
| - (cpShape*) addCircleAt: | (cpVect) | pos | |
| mass: | (cpFloat) | mass | |
| radius: | (cpFloat) | radius | |
add a circle shape
| - (cpShape*) addCircleToBody: | (cpBody *) | body | |
| radius: | (cpFloat) | radius | |
add a circle shape to existing body
| - (cpShape*) addCircleToBody: | (cpBody *) | body | |
| radius: | (cpFloat) | radius | |
| offset: | (CGPoint) | offset | |
add a circle shape to existing body, with offset
| - (void) addCollisionCallbackBetweenType: | (unsigned int) | type1 | |
| otherType: | (unsigned int) | type2 | |
| target: | (id) | target | |
| selector: | (SEL) | selector | |
Register a collision callback between types
| - (void) addCollisionCallbackBetweenType: | (unsigned int) | type1 | |
| otherType: | (unsigned int) | type2 | |
| target: | (id) | target | |
| selector: | (SEL) | selector | |
| moments: | (CollisionMoment) | moment | |
| , | NS_REQUIRES_NIL_TERMINATION | ||
Register a collision callback between types for the given collision moments
| - (cpConstraint*) addGearToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| phase: | (cpFloat) | phase | |
| ratio: | (cpFloat) | ratio | |
Add gears between two bodies
| - (cpConstraint*) addGearToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| ratio: | (cpFloat) | ratio | |
Add gears between two bodies
| - (cpConstraint*) addGrooveToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| grooveAnchor1: | (cpVect) | groove1 | |
| grooveAnchor2: | (cpVect) | groove2 | |
| fromBodyAnchor: | (cpVect) | anchor2 | |
Add a groove (aka sliding pin) between two bodies
| - (cpConstraint*) addGrooveToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| grooveLength: | (cpFloat) | length | |
| isHorizontal: | (bool) | horiz | |
Add a groove (aka sliding pin) between two bodies
| - (cpConstraint*) addGrooveToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| grooveLength: | (cpFloat) | length | |
| isHorizontal: | (bool) | horiz | |
| fromBodyAnchor: | (cpVect) | anchor2 | |
Add a groove (aka sliding pin) between two bodies
| - (cpConstraint*) addMotorToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| rate: | (cpFloat) | rate | |
Add a motor that applys torque to a specified body(s)
| - (cpConstraint*) addMotorToBody: | (cpBody *) | toBody | |
| rate: | (cpFloat) | rate | |
Add a motor that applys torque to a specified body(s)
| - (cpConstraint*) addPinToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
Create a pin (rod) between two bodies
| - (cpConstraint*) addPinToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| toBodyAnchor: | (cpVect) | anchr1 | |
| fromBodyAnchor: | (cpVect) | anchr2 | |
Create a pin (rod) between two bodies
| - (cpConstraint*) addPivotToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
Add a shared point between two bodies that they may rotate around
| - (cpConstraint*) addPivotToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| toBodyAnchor: | (cpVect) | anchr1 | |
| fromBodyAnchor: | (cpVect) | anchr2 | |
Add a shared point between two bodies that they may rotate around
| - (cpConstraint*) addPivotToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| worldAnchor: | (cpVect) | anchr | |
Add a shared point between two bodies that they may rotate around
| - (cpShape*) addPolyAt: | (cpVect) | pos | |
| mass: | (cpFloat) | mass | |
| rotation: | (cpFloat) | r | |
| numPoints: | (int) | numPoints | |
| points: | (cpVect) | pt | |
| , | ... | ||
add a polygon shape, convenience method
| - (cpShape*) addPolyAt: | (cpVect) | pos | |
| mass: | (cpFloat) | mass | |
| rotation: | (cpFloat) | r | |
| numPoints: | (int) | numPoints | |
| pointsArray: | (cpVect *) | points | |
add a polygon shape
| - (cpShape*) addPolyAt: | (cpVect) | pos | |
| mass: | (cpFloat) | mass | |
| rotation: | (cpFloat) | r | |
| points: | (NSArray *) | points | |
add a polygon shape
| - (cpShape*) addPolyToBody: | (cpBody *) | body | |
| rotation: | (cpFloat) | r | |
| numPoints: | (int) | numPoints | |
| pointsArray: | (cpVect *) | points | |
Alternative, add a polygon shape to existing body
| - (cpShape*) addPolyToBody: | (cpBody *) | body | |
| rotation: | (cpFloat) | r | |
| numPoints: | (int) | numPoints | |
| pointsArray: | (cpVect *) | points | |
| offset: | (CGPoint) | offset | |
Alternative, add a polygon shape to existing body, with offset
| - (cpShape*) addPolyToBody: | (cpBody *) | body | |
| rotation: | (cpFloat) | r | |
| points: | (NSArray *) | points | |
add a polygon shape to existing body
| - (cpShape*) addPolyToBody: | (cpBody *) | body | |
| rotation: | (cpFloat) | r | |
| points: | (NSArray *) | points | |
| offset: | (CGPoint) | offset | |
add a polygon shape to existing body, with offset
| - (cpConstraint*) addPulleyToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| pulleyBody: | (cpBody *) | pulleyBody | |
| toBodyAnchor: | (cpVect) | anchor1 | |
| fromBodyAnchor: | (cpVect) | anchor2 | |
| toPulleyAnchor: | (cpVect) | anchor3a | |
| fromPulleyAnchor: | (cpVect) | anchor3b | |
| ratio: | (cpFloat) | ratio | |
Add a pulley between two bodies and another body which is the actual pulley
| - (cpConstraint*) addPulleyToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| toBodyAnchor: | (cpVect) | anchor1 | |
| fromBodyAnchor: | (cpVect) | anchor2 | |
| toPulleyWorldAnchor: | (cpVect) | anchor3a | |
| fromPulleyWorldAnchor: | (cpVect) | anchor3b | |
| ratio: | (cpFloat) | ratio | |
Add a pulley between two bodies
| - (cpConstraint*) addRatchetToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| phase: | (cpFloat) | phase | |
| rachet: | (cpFloat) | ratchet | |
Add a ratchet between two bodies
| - (cpConstraint*) addRatchetToBody: | (cpBody *) | toBody | |
| phase: | (cpFloat) | phase | |
| rachet: | (cpFloat) | ratchet | |
Add a ratchet to a body
| - (cpShape*) addRectAt: | (cpVect) | pos | |
| mass: | (cpFloat) | mass | |
| width: | (cpFloat) | width | |
| height: | (cpFloat) | height | |
| rotation: | (cpFloat) | r | |
add a rectangle shape
| - (cpShape*) addRectToBody: | (cpBody *) | body | |
| width: | (cpFloat) | width | |
| height: | (cpFloat) | height | |
| rotation: | (cpFloat) | r | |
add a rectangle shape to existing body
| - (cpShape*) addRectToBody: | (cpBody *) | body | |
| width: | (cpFloat) | width | |
| height: | (cpFloat) | height | |
| rotation: | (cpFloat) | r | |
| offset: | (CGPoint) | offset | |
add a rectangle shape to existing body, with offset
| - (cpConstraint*) addRotaryLimitToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| min: | (cpFloat) | min | |
| max: | (cpFloat) | max | |
Specify a min and a max a body can rotate relative to another body
| - (cpConstraint*) addRotaryLimitToBody: | (cpBody *) | toBody | |
| min: | (cpFloat) | min | |
| max: | (cpFloat) | max | |
Specify a min and a max a body can rotate
| - (cpConstraint*) addRotarySpringToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| restAngle: | (cpFloat) | restAngle | |
| stiffness: | (cpFloat) | stiff | |
| damping: | (cpFloat) | damp | |
Add a rotary spring between two bodies
| - (cpConstraint*) addRotarySpringToBody: | (cpBody *) | toBody | |
| restAngle: | (cpFloat) | restAngle | |
| stiffness: | (cpFloat) | stiff | |
| damping: | (cpFloat) | damp | |
Add a rotary spring to a body
| - (void) addShape: | (cpShape *) | shape |
Manually add a shape to the space
| - (cpConstraint*) addSlideToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| minLength: | (cpFloat) | min | |
| maxLength: | (cpFloat) | max | |
Add a sliding joint between two bodies
| - (cpConstraint*) addSlideToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| toBodyAnchor: | (cpVect) | anchr1 | |
| fromBodyAnchor: | (cpVect) | anchr2 | |
| minLength: | (cpFloat) | min | |
| maxLength: | (cpFloat) | max | |
Add a sliding joint between two bodies
| - (cpConstraint*) addSpringToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| restLength: | (cpFloat) | rest | |
| stiffness: | (cpFloat) | stiff | |
| damping: | (cpFloat) | damp | |
Add a spring to two bodies at the body anchor points
| - (cpConstraint*) addSpringToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| stiffness: | (cpFloat) | stiff | |
Add a spring to two bodies at the body anchor points
| - (cpConstraint*) addSpringToBody: | (cpBody *) | toBody | |
| fromBody: | (cpBody *) | fromBody | |
| toBodyAnchor: | (cpVect) | anchr1 | |
| fromBodyAnchor: | (cpVect) | anchr2 | |
| restLength: | (cpFloat) | rest | |
| stiffness: | (cpFloat) | stiff | |
| damping: | (cpFloat) | damp | |
Add a spring to two bodies at the body anchor points
| - (void) applyLinearExplosionAt: | (cpVect) | at | |
| radius: | (cpFloat) | radius | |
| maxForce: | (cpFloat) | maxForce | |
Explosion, applied linear force to objects within radius
| - (void) applyLinearExplosionAt: | (cpVect) | at | |
| radius: | (cpFloat) | radius | |
| maxForce: | (cpFloat) | maxForce | |
| layers: | (cpLayers) | layers | |
| group: | (cpGroup) | group | |
Explosion, applied linear force to objects within radius given a group and layer(s)
| - (void) combineShapes: | (cpShape *) | shape | |
| , | NS_REQUIRES_NIL_TERMINATION | ||
Combine two shapes together by combining their bodies into one
| - (NSArray*) fragmentCircle: | (cpCircleShape *) | circle | |
| piecesNum: | (int) | pieces | |
| eachMass: | (float) | mass | |
This will take a circle and split it into the number of pieces you specify,
| - (NSArray*) fragmentRect: | (cpPolyShape *) | poly | |
| rowPiecesNum: | (int) | rows | |
| colPiecesNum: | (int) | cols | |
| eachMass: | (float) | mass | |
This will take a rect and split it into the number of pieces (Rows x Cols) you specify,
| - (NSArray*) fragmentSegment: | (cpSegmentShape *) | segment | |
| piecesNum: | (int) | pieces | |
| eachMass: | (float) | mass | |
This will take a segment and split it into the number of pieces you specify,
| - (NSArray*) fragmentShape: | (cpShape *) | shape | |
| piecesNum: | (int) | pieces | |
| eachMass: | (float) | mass | |
This will take a shape (any) and split it into the number of pieces you specify,
| - (NSArray*) getConstraints |
Will return an array of NSValues that point to the cpConstraints
| - (NSArray*) getConstraintsOnBody: | (cpBody *) | body |
Will return an array of NSValues that point to the cpConstraints on given body
| - (cpSegmentQueryInfo) getInfoFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
see getInfoFromRayCastSegment:end:layers:group:
| - (cpSegmentQueryInfo) getInfoFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
| layers: | (cpLayers) | layers | |
| group: | (cpGroup) | group | |
Return the info on the first shape hit by the given raycast
| - (NSArray*) getInfosFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
see getInfosFromRayCastSegment:end:layers:group:
| - (NSArray*) getInfosFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
| layers: | (cpLayers) | layers | |
| group: | (cpGroup) | group | |
Return an array of NSValues with a pointer to a cpSegmentQueryInfo, this array will clean up the infos when released
| - (cpShape*) getShapeAt: | (cpVect) | pos |
Retrieve the first shape found at this position
| - (cpShape*) getShapeAt: | (cpVect) | pos | |
| layers: | (cpLayers) | layers | |
| group: | (cpLayers) | group | |
Retrieve the first shape found at this position matching layers and group
| - (cpShape*) getShapeFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
see getShapeFromRayCastSegment:end:layers:group:
| - (cpShape*) getShapeFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
| layers: | (cpLayers) | layers | |
| group: | (cpGroup) | group | |
Return first shape hit by the given raycast
| - (NSArray*) getShapesAt: | (cpVect) | pos |
| - (NSArray*) getShapesAt: | (cpVect) | pos | |
| layers: | (cpLayers) | layers | |
| group: | (cpLayers) | group | |
Given a point, return an array of NSValues with a pointer to a cpShape
| - (NSArray*) getShapesAt: | (cpVect) | pos | |
| radius: | (float) | radius | |
| - (NSArray*) getShapesAt: | (cpVect) | pos | |
| radius: | (float) | radius | |
| layers: | (cpLayers) | layers | |
| group: | (cpLayers) | group | |
Given a point and a radius, return an array of NSValues with a pointer to a cpShape
| - (NSArray*) getShapesFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
see getShapesFromRayCastSegment:end:layers:group:
| - (NSArray*) getShapesFromRayCastSegment: | (cpVect) | start | |
| end: | (cpVect) | end | |
| layers: | (cpLayers) | layers | |
| group: | (cpGroup) | group | |
Return an array of NSValues with a pointer to a cpShape that intersects the raycast
| - (NSArray*) getShapesOnBody: | (cpBody *) | body |
Get shapes that are using this body
| - (void) ignoreCollisionBetweenType: | (unsigned int) | type1 | |
| otherType: | (unsigned int) | type2 | |
Unique Collision: will ignore the effects a collsion between types
| - (id) initWithSize: | (int) | size | |
| count: | (int) | count | |
Initialization method
| size | The average size of shapes in space |
| count | The expected number of shapes in a space (larger is better) |
| - (BOOL) isBodyShared: | (cpBody *) | body |
Check is body belongs to more than one shape
| - (BOOL) isPersistentContactOnShape: | (cpShape *) | shape | |
| contactShape: | (cpShape *) | shape2 | |
Queries the space as to whether these two shapes are in persistent contact
| - (BOOL) loadSpaceFromPath: | (NSString *) | path | |
| delegate: | (NSObject< SpaceManagerSerializeDelegate > *) | delegate | |
load a cpSerializer file from a file (path), delegate can be nil
| - (BOOL) loadSpaceFromUserDocs: | (NSString *) | file | |
| delegate: | (NSObject< SpaceManagerSerializeDelegate > *) | delegate | |
load a cpSerializer file from a user docs file, delegate can be nil
| - (cpShape*) morphShapeToActive: | (cpShape *) | shape |
This will force a shape active and give it the given mass
| - (cpShape*) morphShapeToKinematic: |
This will force a shape to be kinematic (body will not simulate)
| - (cpShape*) morphShapeToStatic: |
This will force a shape into a static shape
| - (void) offsetShape: | (cpShape *) | shape | |
| offset: | (cpVect) | offset | |
Offset shape from body using (circle:center, segment:endpoints, poly:vertices)
| - (cpArbiter*) persistentContactInfoOnShape: | (cpShape *) | shape |
Queries the space as to whether this shape has a persistent contact, returns the first arbiter info
| - (NSArray*) persistentContactInfosOnShape: | (cpShape *) | shape |
Queries the space as to whether this shape has a persistent contact, returns the all arbiters
| - (cpShape*) persistentContactOnShape: | (cpShape *) | shape |
Queries the space as to whether this shape has ANY persistent contact, It will return the first shape it finds or NULL if nothing is found
| - (void) rehashActiveShapes |
Use if you need to call getShapes before you've actually started simulating
| - (void) rehashShape: | (cpShape *) | shape |
Use to only rehash one shape
| - (void) rehashStaticShapes |
Use if you move static shapes during simulation
| - (void) removeAndFreeBody: | (cpBody *) | body |
Use when removing & freeing a body
| - (void) removeAndFreeConstraint: | (cpConstraint *) | constraint |
This will remove and free the constraint
| - (void) removeAndFreeConstraintsOnBody: | (cpBody *) | body |
This will calculate all constraints on a body and remove & free them
| - (void) removeAndFreeShape: | (cpShape *) | shape |
Use when removing & freeing a shape AND it's body if the body is not used by other shapes
| - (void) removeBody: | (cpBody *) | body |
Use when removing a body, will pass ownership to caller
| - (void) removeCollisionCallbackBetweenType: | (unsigned int) | type1 | |
| otherType: | (unsigned int) | type2 | |
Unregister a collision callback between types
| - (cpConstraint*) removeConstraint: | (cpConstraint *) | constraint |
Use when removing constraints, ownership is given to caller
| - (cpShape*) removeShape: | (cpShape *) | shape |
Use when removing a shape, will pass ownership to caller
| - (BOOL) saveSpaceToPath: | (NSString *) | path | |
| delegate: | (NSObject< SpaceManagerSerializeDelegate > *) | delegate | |
save a cpSerializer file to a resource file (path), delegate can be nil
| - (BOOL) saveSpaceToUserDocs: | (NSString *) | file | |
| delegate: | (NSObject< SpaceManagerSerializeDelegate > *) | delegate | |
save a cpSerializer file to a user docs file, delegate can be nil
| + (id) spaceManager |
Default creation method
| + (id) spaceManagerWithSize: | (int) | size | |
| count: | (int) | count | |
Creation method
| size | The average size of shapes in space |
| count | The expected number of shapes in a space (larger is better) |
| - (void) step: | (float) | delta |
Manually advance time within the space
- (BOOL) cleanupBodyDependencies [read, write, assign] |
Setting this to YES/TRUE will also free contraints connected to a free'd shape
- (float) constantDt [read, write, assign] |
If this is set to anything other than zero, the step routine will use its value as the dt (constant)
- (id<cpConstraintCleanupDelegate>) constraintCleanupDelegate [read, write, retain] |
This will be called from all methods that auto-free constraints dependent on bodies being freed
- (cpFloat) damping [read, write, assign] |
The damping of the space (viscousity in "air")
- (smgrEachFunc) eachFunc [read, write, assign] |
Set the iterateFunc; the default will update cocosnodes for pos and rotation
- (cpVect) gravity [read, write, assign] |
The gravity of the space
- (BOOL) isSpaceLocked [read, assign] |
Whether or not this space is internally locked
- (smgrIterateFunc) iterateFunc [read, write, assign] |
Set the iterateFunc; the function that will use "eachFunc" to sync chipmunk values
- (float) lastDt [read, assign] |
The dt value that was used in step last
- (BOOL) rehashStaticEveryStep [read, write, assign] |
If this is set to YES/TRUE then step will call iterateFunc on static shapes
If this is set to YES/TRUE then step will call rehashStatic before stepping
- (cpSpace*) space [read, assign] |
The actual chipmunk space
- (cpBody*) staticBody [read, assign] |
A staticBody for any particular reusable purpose
- (int) steps [read, write, assign] |
Number of steps (across dt) perform on each step call
- (cpShape *) topWall [read, write, assign] |
The segment shapes that form the bounds of the window


--- title: "Changing website framework from Jekyll to Hugo" author: "Einar" date: 2018-01-24 tags: ["housekeeping", "ruby", "golang", "jekyll", "hugo"] description: "Ruby has failed me for the last time." ---
I decided to move away from Jekyll as a framework for running this website as I had some gemfile problems (now ruby doesn’t work at all for arcane reasons) and I figured it would be saner, simpler, and faster to just stop using something ruby-based. The switch to Hugo took a couple of hours where most of it went into (i) picking a theme and (ii) making sure the blog posts still work.
The great thing about this switch is that I can now use the excellent Blogdown package to render the posts with R code in them. I’m so far very happy with this, my old workflow was very hacky, and I could never remember how to run the local Jekyll server. Blogdown simply renders on save and even shows a site preview directly in RStudio.


12 July 2002
Disease Outbreak Reported
As of 29 June, the Ministry of Health of El Salvador has reported 1773 cases including 6 deaths of dengue infection. (see previous report) All departments have been affected; based on overall rates, the worst affected departments are San Salvador, Santa Ana, Cabañas and Cuscatlan.


First, if you like this format (thanks!) you can download it from my Github page at this link. I built this site with a goal to:
- use Github/Bitbucket and understand best practices
- play with HTML, CSS, and markdown
- get familiar with the AWS console
In terms of requirements, I wanted a place where I could share a bit of myself (eg, my photos) and document things I am working on. The site also should be clean and responsive to different media - eg, just as comfortable on a tablet or a phone as a laptop. After $1,500 in refunds (I’ll explain below) and ~20 hours of cobbling different code together, I am feeling pretty good about where things are at.
Choosing a layout
Layouts are easy to download via this Cloud Cannon website. I first started with Strata, which I thought was beautiful and great on a phone, but could not figure out how to set a navigation bar for non-blog-related items. I ended up settling on Minimal Mistakes since it had similar functionality capabilities.
For more involved instructions, Jekyll RB and Jekyll.tips were very helpful. More work than what I am describing is likely - as an example, I had to download Ruby to get the gem package manager, etc.
Setting up AWS
Once the layout is determined, it can be hosted on Amazon S3 for (basically) free. AWS is great as a starting point as well because it scales dynamically and has a Free Tier for the first year of use. One goal was to learn about the AWS Console - and just about anything can be done through it, from storage (S3) to computing (EC2) to different RDBMS, EDW, and NoSQL options. I am hoping to use their AWS IoT product for a home temperature sensing project I have.
To manage the syncing, here is some very simple software and easy instructions. There is some nuance on the AMZN side of this that is not very clear, however. Their instructions for this process can be found through AWS. A few highlights (things I initially did wrong):
- Make two S3 buckets, one with your root name and one with the “www.” extension
- Make sure that your
s3_config YML
file points to the_site
folder. Otherwise, it will return theindex.html
file and there will be no rendering, etc. - Have your server be somewhere in the US. Originally, I thought it was cool to have my
site hosted in Tokyo or Buenos Aires or whatever- but actually, this just created extra work
in my
s3_config
file. So, if you go this route, make sure you’re synced up in all of your files! - Use AMZN for domain registration. For networking, I bought my domain at BlueHost which is a cheap/not great place. I had to call to cancel hosting (couldn’t do it online), I had to opt-out of additional services I didn’t want, etc. I was generally unhappy - I also couldn’t download any of the A or CNAME files, which AMZN suggested doing. Ultimately, I just had to point all of the nameservers to where they were hosted at AWS - but it wasn’t a pleasant process.
- NEVER post your private key online! This may seem obvious, but I’ve learned the beauty of
.gitignore
the hard way. Less than 12 hours after I originally uploaded my site to Github, I received an email from AMZN that my key had been scraped and used to set up more than 150 EC2 instances around the world. I was being charged computing services at a rate of ~$2,800 a day.
Making modifications
I don’t have a sense of how the site will evolve, but I wanted to allow for the functionality to upload photos, or create landing pages for events/dinners, etc. I’ve just created the photos functionality, for now. I found two things I really liked:
- A Lightbox2 carousel. This is a JQuery script that has the image “pop out” to a layer
above the original screen. All photos on the page can then be cycled through. I liked the code
(and the
for
loop that allowed the photos to be accessed through a.MD
file), but didn’t like that all of the photos were only in one column. - Responsive image grids. I think this is super cool - but the original code has the image files directly in the HTML, so that would need to be edited if I ever wanted to add photos. Also, since my space for photos is the right 65% of any screen, I removed the option for a 4 column grid.
Mashing the two together - a Lightbox _include
function, a for loop
in the HTML file and a new
photo.html
file in the _layouts
folder sets up the site to its final state!


--- layout: post title: An Ode to KDB categories: - post tags: - software status: unpublished type: post published: false author: Joe Kearney ---
(with apologies to William Walton)
Kx was a great city
Her merchandise was of column-per-file,
Of precious types, of errors, of fine syntax
Of speed, ease and simplicity
All manner vessels of idiocy
All manner vessels of bad design choices
Of sv, :: and value,
Integers, floats and matrices,
Of efficiency, wine and mmu,
Fine -15!, tilde, max
Abort, scan, iterate, quit
And the souls of men.


Jack Ma’s Ant Financial actively looking into Singapore’s virtual banking license
- Advertisement -
Bloomberg today reports that billionaire Jack Ma’s Ant Financial Services Group may apply for a virtual banking license in Singapore.
“We are actively looking into this opportunity,“ Ant Financial told Bloomberg.
The Monetary Authority of Singapore is offering as many as five digital banking permits to non-banks and Jack Ma’s company may become yet another heavyweight contender to the race.
Singapore is trying to to open up the industry to new competitors that would compete with traditional banking groups such as DBS Group Holdings Ltd. and Oversea-Chinese Banking Corp.
- Advertisement -
There are up to two licenses for grabs for a full digital bank. One is a service requiring S$1.5 billion ($1.1 billion) in capital and local control.
The other would be for wholesale banks, which foreign firms can run and the capital threshold is S$100 million, says Bloomberg.
On Nov 7, Monetary Authority of Singapore managing director Ravi Menon said the country wants to become a regional hub for tech firms with advance data expertise. In this respect, Singapore is opening the doors virtual banks.
Monetary Authority of Singapore in Oct announced it is issuing 5 licenses by 2020. During the announcement, Senior Minister Tharman Shanmugaratnam and Chairman of MAS said the regulator is committed to allowing for greater competition that would spur innovation in finance.
He also stressed that Singapore “must retain strong local anchor and trust in the banking system.” -/TISG
- Advertisement -


Almost there... Give us a few more details
The estimated PST does not take into account donated liquor. As a Special Event Permit holder, you are responsible for ensuring the correct amount of PST is remunerated to the Ministry of Finance.


|
Amazing Mazes | ||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--Mouse | +--Smarty
The Smarty mouse is a base class with a brain. It improves the advance() and retreat() method by leaving a trail of bread in the form of an invisible wall.
| Fields inherited from class Mouse |
curPosition_,
mazeAdapter_,
stack_ |
| Constructor Summary | |
Smarty()
|
| Method Summary | |
protected void |
advance(Direction direction)
This advance() method does everything the base class advance() does, but adds a memory by closing the wall behind it (sort of like leaving a trail of bread). |
protected void |
retreat()
This retreat() method does everything the base class retreat() does, but adds a memory by closing the wall behind it (sort of like leaving a trail of bread). |
| Methods inherited from class Mouse |
distanceToGoal,
makeAMove,
passagewayOpenAt,
randomInt,
solveMaze |
| Methods inherited from class java.lang.Object |
|
| Constructor Detail |
public Smarty()
| Method Detail |
protected void advance(Direction direction) throws InvalidMove
direction
- the direction to advance.protected void retreat() throws NoSolutionFound
|
Author: Andrew Bridges Copyright © 2001 |
||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Before Change
]
for ip in worker_node_ips:
if ip in max_resources_by_ip:
self.node_types[NODE_TYPE_LEGACY_WORKER][
"resources"] = max_resources_by_ip[ip]
assert self.node_types[NODE_TYPE_LEGACY_WORKER]["resources"]
def _get_concurrent_resource_demand_to_launch(
After Change
self.node_types[NODE_TYPE_LEGACY_HEAD]["resources"] = \
copy.deepcopy(max_resources_by_ip[head_ip])
except (IndexError, KeyError):
logger.exception("Could not reach the head node.")
// We fill the worker node resources only once.
if not self.node_types[NODE_TYPE_LEGACY_WORKER]["resources"]:
// Set the node_types here in case we already launched a worker node
// from which we can directly get the node_resources.


This Privacy Policy describes how your personal information is collected, used, and shared when you visit or make a purchase from https://www.CloudPulse.co.uk (the “Site”).
When you visit the Site, we automatically collect certain information about your device, including information about your web browser, IP address, time zone, and some of the cookies that are installed on your device. Additionally, as you browse the Site, we collect information about the individual web pages or products that you view, what websites or search terms referred you to the Site, and information about how you interact with the Site. We refer to this automatically-collected information as “Device Information.”
We collect Device Information using the following technologies:
- “Cookies” are data files that are placed on your device or computer and often include an anonymous unique identifier. For more information about cookies, and how to disable cookies, visit http://www.allaboutcookies.org.
- “Log files” track actions occurring on the Site, and collect data including your IP address, browser type, Internet service provider, referring/exit pages, and date/time stamps.
- “Web beacons,” “tags,” and “pixels” are electronic files used to record information about how you browse the Site.
Additionally when you make a purchase or attempt to make a purchase or agreement through the Site, we collect certain information from you, including your name, billing address, shipping address, payment information (including credit card numbers, bank details if paid via BACS, email address, and phone number. We refer to this information as “Order Information.”
When we talk about “Personal Information” in this Privacy Policy, we are talking both about Device Information and Order Information.
We use the Order Information that we collect generally to fulfill any orders placed through the Site (including processing your payment information, arranging for shipping, and providing you with invoices and/or order confirmations). Additionally, we use this Order Information to:
Communicate with you;
Screen our orders for potential risk or fraud; and
When in line with the preferences you have shared with us, provide you with information or advertising relating to our products or services.
We use the Device Information that we collect to help us screen for potential risk and fraud (in particular, your IP address), and more generally to improve and optimize our Site (for example, by generating analytics about how our customers browse and interact with the Site, and to assess the success of our marketing and advertising campaigns).
We share your Personal Information with third parties to help us use your Personal Information, as described above. We also use Google Analytics to help us understand how our customers use the Site--you can read more about how Google uses your Personal Information here: https://www.google.com/intl/en/policies/privacy/. You can also opt-out of Google Analytics here: https://tools.google.com/dlpage/gaoptout.
Finally, we may also share your Personal Information to comply with applicable laws and regulations, to respond to a subpoena, search warrant or other lawful request for information we receive, or to otherwise protect our rights.
As described above, we use your Personal Information to provide you with targeted advertisements or marketing communications we believe may be of interest to you. For more information about how targeted advertising works, you can visit the Network Advertising Initiative’s (“NAI”) educational page at http://www.networkadvertising.org/understanding-online-advertising/how-does-it-work.
You can opt out of targeted advertising by:
FACEBOOK - https://www.facebook.com/settings/?tab=ads
GOOGLE - https://www.google.com/settings/ads/anonymous
BING - https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads
Additionally, you can opt out of some of these services by visiting the Digital Advertising Alliance’s opt-out portal at: http://optout.aboutads.info/.
Please note that we do not alter our Site’s data collection and use practices when we see a Do Not Track signal from your browser.
If you are a European resident, you have the right to access personal information we hold about you and to ask that your personal information be corrected, updated, or deleted. If you would like to exercise this right, please contact us through the contact information below.
Additionally, if you are a European resident we note that we are processing your information in order to fulfill contracts we might have with you (for example if you make an order through the Site), or otherwise to pursue our legitimate business interests listed above. Additionally, please note that your information will be transferred outside of Europe, including to Canada and the United States.
When you place an order through the Site, we will maintain your Order Information for our records unless and until you ask us to delete this information.
We may update this privacy policy from time to time in order to reflect, for example, changes to our practices or for other operational, legal or regulatory reasons.
For more information about our privacy practices, if you have questions, or if you would like to make a complaint, please contact us by e-mail via our Contact Page or by mail using the details provided below:
CloudPulse, 290 Moston Lane, Manchester, MAN, M40 9WB, United Kingdom


An electric street car crosses a stream on the way to the Saltair. Image courtesy of University of Utah's Marriott Library Special Collections


Custom element Menu makes it easy to add menus to your website or web application. With the Custom element Menu you can create website menus, customized context menus, or application-style menu bars with just a small amount of scripting.
Home
Solutions
Education
Financial services
Government
Manufacturing
Software Solutions
Consumer photo and video
Mobile
Rich Internet applications
Technical communication
Training and eLearning
Web conferencing
All industries and solutions
Products
PC products
Mobile products
All products
Support
Support home
Customer Service
Knowledge base
Books
Training and certification
Support programs
Forums
Documentation
Updates
Communities
Designers
Developers
Educators and students
Partners
By resource
Labs
TV
Forums
Exchange
Blogs
Experience Design
Company
About Us
Press
Investor Relations
Corporate Affairs
Careers
Showcase
Events
Contact Us
Become an affiliate
Settings
Enable Animation
Disabled
Enable Hover
Auto Open
Show Top-Level Arrows


Boston is a vibrant, thriving city, renowned for its cultural facilities, world-class educational institutions, champion sports franchises, beautiful harbour and islands, as well as its place at the very forefront of American history. Tourism is one of New England's largest industries and Boston is the region's social and commercial "hub".
Boston Harbour and its approaches are extremely well marked with aids to navigation. However you are encouraged to stay in marked channels at all times as the harbour is very rocky and you can get into trouble if you venture beyond. Average tide in Boston Harbour is 9.5 feet, however tides of 12 feet do occur on occasion.
Boston Harbour is home to the Boston Harbour Islands National Park Area and is comprised of 34 islands. The park was established by Congress in 1996 as a unit of the National Park Service (NPS).
Position 42° 21.67' N, 71° 03.01' W (Boston waterfront)
It is necessary to call or fax the CBP office 2 hours prior to arrival to arrange a time for inspection. Nobody must leave the boat until clearance is complete. Inspections are done during normal working hours.
Last updated November 2014.
This is very large harbour, sheltered by a chain of islands and fed by several navigatable rivers..
There are many marinas here, some in the heart of downtown Boston. Dinghy docks are also to be found along the downtown waterfront.
The airport lies on the east side of the harbour, so if wishing for a quieter berth, then one of the marinas at Quinsy might be your choice, although it is quite a distance from downtown Boston.
See http://ma.usharbors.com/harbor-guide/boston-harbor for very useful information about the harbour and rivers.
Marblehead
This large, beautiful natural harbour lies about 20nm NE of Boston and is a popular stop for visiting yachts. The yacht clubs there manage the moorings, so contact the harbour Master for advice.
Last updated March 2015.


{% extends "schedules/users/index.html" %} {% block content %}
There are currently no registrations
Register for this session
No such session exists


pangea.core.models package¶
Submodules¶
pangea.core.models.analysis_result module¶
-
class
pangea.core.models.analysis_result.
AnalysisResult
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
Represent a single field of a single result in the database.
- Example:
- KrakenUniq produces a table of read-classifications and a report. These are stored separately as two separate AnalysisResults. Both ARs have the same module_name (e.g. KrakenUniq) Both ARs have the same owner (e.g. sample-123) Both ARs have different a field_name (e.g. report or read_class).
owner_uuid should reference a group or sample. Whether it is a group or sample is determined by owned_by_group. This is only enforced in code. The reverse (sample->AR or group->AR) is enforced in SQL. AR Fields carry a status marker. In principle all fields of an ARs always have the same status.
-
class
AnalysisResultStatus
[source]¶ Bases:
django.db.models.enums.TextChoices
An enumeration.
-
ERROR
= 'error'¶
-
PENDING
= 'pending'¶
-
SUCCESS
= 'success'¶
-
WORKING
= 'working'¶
-
-
description
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
get_status_display
(*, field=<django.db.models.fields.TextField: status>)¶
-
metadata
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
module_name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
replicate
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
status
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
class
pangea.core.models.analysis_result.
AnalysisResultField
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
Class representing a single field of a single result in the database.
-
class
Meta
[source]¶ Bases:
object
-
abstract
= False¶
-
unique_together
= (('analysis_result', 'name'),)¶
-
-
as_s3_link
(filename, overwrite_ok=False)[source]¶ Set the stored data of this result-field to contain info for a file stored on S3.
Return this AR-field for convenience
-
field_type
¶
-
get_presigned_completion_url
(upload_id, parts, **kwargs)[source]¶ Return a presigned URL for file upload for this result.
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
stored_data
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
class
-
class
pangea.core.models.analysis_result.
SampleAnalysisResult
(*args, **kwargs)[source]¶ Bases:
pangea.core.models.analysis_result.AnalysisResult
Class representing a single field of a sample analysis result.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
fields
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
get_status_display
(*, field=<django.db.models.fields.TextField: status>)¶
-
objects
= <django.db.models.manager.Manager object>¶
-
sample
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
sample_id
¶
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
exception
-
class
pangea.core.models.analysis_result.
SampleAnalysisResultField
(*args, **kwargs)[source]¶ Bases:
pangea.core.models.analysis_result.AnalysisResultField
Class representing an analysis result field for a sample.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
analysis_result
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
analysis_result_id
¶
-
bucket
¶
-
objects
= <django.db.models.manager.Manager object>¶
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
exception
-
class
pangea.core.models.analysis_result.
SampleGroupAnalysisResult
(*args, **kwargs)[source]¶ Bases:
pangea.core.models.analysis_result.AnalysisResult
Class representing a single field of a sample group analysis result.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
fields
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
get_status_display
(*, field=<django.db.models.fields.TextField: status>)¶
-
objects
= <django.db.models.manager.Manager object>¶
-
sample_group
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
sample_group_id
¶
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
exception
-
class
pangea.core.models.analysis_result.
SampleGroupAnalysisResultField
(*args, **kwargs)[source]¶ Bases:
pangea.core.models.analysis_result.AnalysisResultField
Class representing an analysis result field for a sample group.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
analysis_result
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
analysis_result_id
¶
-
bucket
¶
-
objects
= <django.db.models.manager.Manager object>¶
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
exception
pangea.core.models.exceptions module¶
pangea.core.models.organization module¶
-
class
pangea.core.models.organization.
Organization
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
This class represents the organization model.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
core_sample_group
¶
-
core_sample_group_uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
objects
= <django.db.models.manager.Manager object>¶
-
project_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
s3bucket_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
samplegroup_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
users
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
exception
-
class
pangea.core.models.organization.
PangeaUser
(*args, **kwargs)[source]¶ Bases:
django.contrib.auth.models.AbstractUser
Custom Pangea user type.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
REQUIRED_FIELDS
= []¶
-
USERNAME_FIELD
= 'email'¶
-
auth_token
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
get_next_by_date_joined
(*, field=<django.db.models.fields.DateTimeField: date_joined>, is_next=True, **kwargs)¶
-
get_previous_by_date_joined
(*, field=<django.db.models.fields.DateTimeField: date_joined>, is_next=False, **kwargs)¶
-
groups
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
id
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
logentry_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
objects
= <pangea.core.managers.PangeaUserManager object>¶
-
organization_set
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
personal_org
¶
-
personal_org_uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
saved_sample_groups
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
user_permissions
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
username
= None¶
-
exception
pangea.core.models.project module¶
-
class
pangea.core.models.project.
Project
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
This class represents the project model.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
description
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
is_public
¶
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
objects
= <django.db.models.manager.Manager object>¶
-
organization
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
organization_id
¶
-
sample_groups
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
sub_projects
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
super_projects
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
exception
pangea.core.models.s3 module¶
-
class
pangea.core.models.s3.
S3ApiKey
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
Represent an S3 API Key.
At present S3 API keys will be used by an organization to generate short lived presigned URLs to download objects from S3. They will not be used to upload data at this point.
Each API key must be assigned to a particular endpoint url. Each API key can be assigned to a particular bucket or ‘*’ for all buckets.
S3ApiKey.private_key should never need to be sent to the client.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
bucket
¶ Accessor to the related object on the forward side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Restaurant.place
is aForwardOneToOneDescriptor
instance.
-
bucket_id
¶
-
description
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
objects
= <django.db.models.manager.Manager object>¶
-
presign_completion_url
(endpoint_url, s3_url, upload_id, parts, timeout_hours=24)[source]¶ Return a presigned version of the url.
-
presign_url
(endpoint_url, s3_url, timeout_hours=24, stance='download', n_parts=1)[source]¶ Return a presigned version of the url.
-
private_key
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
public_key
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
s3
¶
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
exception
-
class
pangea.core.models.s3.
S3Bucket
(created_at, updated_at, uuid, name, endpoint_url, organization)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
api_key
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
endpoint_url
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
objects
= <django.db.models.manager.Manager object>¶
-
organization
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
organization_id
¶
-
samplegroup_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
exception
pangea.core.models.sample module¶
-
class
pangea.core.models.sample.
Sample
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
This class represents the sample model.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
analysis_result_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
description
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
library
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
library_id
¶
-
metadata
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
objects
= <django.db.models.manager.Manager object>¶
-
organization
¶
-
sample_groups
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
exception
pangea.core.models.sample_group module¶
-
class
pangea.core.models.sample_group.
SampleGroup
(*args, **kwargs)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
This class represents the sample group model.
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
analysis_result_set
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
bucket
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
bucket_id
¶
-
description
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
is_library
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
is_public
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
library
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
long_description
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
metadata
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
objects
= <django.db.models.manager.Manager object>¶
-
organization
¶ Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Child.parent
is aForwardManyToOneDescriptor
instance.
-
organization_id
¶
-
pangeauser_set
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
project_set
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
sample_set
¶ Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.
In the example:
class Pizza(Model): toppings = ManyToManyField(Topping, related_name='pizzas')
Pizza.toppings
andTopping.pizzas
areManyToManyDescriptor
instances.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
theme
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
uuid
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
exception
-
class
pangea.core.models.sample_group.
SampleLibrary
(created_at, updated_at, group)[source]¶ Bases:
pangea.core.mixins.AutoCreatedUpdatedMixin
-
exception
DoesNotExist
¶ Bases:
django.core.exceptions.ObjectDoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.core.exceptions.MultipleObjectsReturned
-
group
¶ Accessor to the related object on the forward side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Restaurant.place
is aForwardOneToOneDescriptor
instance.
-
group_id
¶
-
objects
= <django.db.models.manager.Manager object>¶
-
owned_samples
¶ Accessor to the related objects manager on the reverse side of a many-to-one relation.
In the example:
class Child(Model): parent = ForeignKey(Parent, related_name='children')
Parent.children
is aReverseManyToOneDescriptor
instance.Most of the implementation is delegated to a dynamically defined manager class built by
create_forward_many_to_many_manager()
defined below.
-
exception


Content
Core - Content and Core - Layout are the bridge between base-level tags and modules. They give you the ability to set up abstractions that make contextual tweaks easier.
The difference between Core - Content and Core - Layout is that Core - Content applies mainly to typography (fonts, colors), while Core - Layout applies to just that, layout (margin, padding, sizing, positioning).
Note: The c-
prefix is an implicit module. There is no c
base module; it's only used as a prefix for the content modules.
Headings
We set the headings in the Core - Content rather than Core - Base, because we want the ability to share heading styles.
h1, .c-h1, %c-h1
font-size: 40px
margin-bottom: 20px
Borrowed from OOCSS, sometimes we want an h2
on a page to look like an h3
. This gives us the ability to do that:
%h2.c-h3 Heading
Or, using the placeholder selector:
.tagline
@extend %c-h3
%h2.tagline This is a tagline for my site.
Utilities
We set default Core - Content utilities. Let's look at an example to show how this works. Here are a couple of the default utilities available to you:
%c-center, .c-center
text-align: center
%c-condense, .c-condense
font-size: 85%
And in your markup:
%form.form-field
%input(type="text")
%p.c-condense This is a note.
Or, if you prefer to use Sass placeholder selectors as silent classes:
%form.form-field
%input(type="text")
%p.form-field-desc This is a note.
.form-field-desc
@extend %c-condense
Note: You can set your own custom content utility modules for your project.
Custom Submodules
You can extend multiple content utilities, or even form another content submodule:
.c-tagline
@extend %c-center
@extend %c-condense


Blog entry 4
a little slice of something...
Today's Date
mind if i cut in?
.each_slice is a handy little enumerable method that does exactly what it sounds like it
does, it slices, it dices! It makes everything tiny and managable.
Say you give it a number, any number like... 10. And you want to slice it up into parts.
We'll say teams of 3. And then there's a number left all by itself.  Unless it's pie. Then those people in teams have to share a
slice amongst the 3 of them and you can have your own little slice to yourself.
And if you want to slice an array? You can do that. Just give it an array of whatever
you want, and it'll slice it into arrays with the number of elements you specified. Pass it
in a block and it'll print out all your slices. Pretty neat, huh? If it isn't evenly
divisible, the remaining elements will once again be put in the final slice.
It works on hashes, too. With a block, the same rules apply. It'll split your hash into
arrays of the number that you wanted, putting the remainders in the final slice. The arrays
themselves contain the key and value pair of the hash element.
There's also this thing where if you don't give it a code block and just a number, it'll
return an enumerator and you need to use the .next method to see your slices but that's not
really too helpful right now so we won't get into it. Until next time!


What instrument does Drake play?
Musical Fun Facts
Hover over each card to reveal the answer!
Click each card to reveal the answer!
Piano
How many albums does Drake have?
10
What's Drake's favorite fast food?
McDonalds
Listen to Drake's discography
What instrument does The Weekend play?
Keyboard
How many albums does The Weekend have?
7
What's The Weekend's favorite food?
Ethiopian
Listen to The Weekend's discography
What instrument does Taylor Swift play?
Piano, Banjo, Ukulele and Guitar
How many albums does Taylor Swift have?
27
What's Taylor Swift's favorite food?
Chicken tenders
Listen to Taylor Swift's discography
What instrument does Post Malone play?
Guitar
How many albums does Post Malone have?
32
What's Post Malone's favorite food?


| Package | com.developmentarc.core.tasks.groups |
| Interface | public interface ITaskGroup extends ITask, flash.events.IEventDispatcher |
| Implementors | TaskGroup |
See also
| Property | Defined by | ||
|---|---|---|---|
| hasTask : Boolean [read-only]
Defines if the current group has any tasks in the queue.
| ITaskGroup | ||
| isBlocker : Boolean
Defines if the Task is a blocking task.
| ITask | ||
| phase : String
Returns the current phase of of the Task.
| ITask | ||
| priority : uint
Returns the priority value of the Task.
| ITask | ||
| ready : Boolean
Used to define the ready state of the Task.
| ITask | ||
| selfOverride : Boolean
Defines of if the Task overrides the same type of task that already have
been added to a queue.
| ITask | ||
| taskOverrides : Array
Returns an array of Task types that this task will override when added
to the TaskController or a TaskGroup.
| ITask | ||
| tasks : Array
Returns an Array of ITasks that are in the group.
| ITaskGroup | ||
| type : String
Returns the type value of the Task.
| ITask | ||
| uid : Object
A unique identification value assigned to the task.
| ITask |
| Method | Defined by | ||
|---|---|---|---|
|
Used to add a task to the task group implementation.
| ITaskGroup | ||
|
cancel():void
Used to cancel a task.
| ITask | ||
|
ignore():void
Used to put the task in ignore mode.
| ITask | ||
|
inQueue():void
Used to set the task state to queued.
| ITask | ||
|
inWaitingForReady():void
Used to put the Task in waiting for ready mode.
| ITask | ||
|
Looks up and returns the next ITask in the group.
| ITaskGroup | ||
|
pause():void
Used to pause a started task.
| ITask | ||
|
removeAllTasks():void
Used to remove all the ITasks from the group.
| ITaskGroup | ||
|
removeTask(task:ITask):void
Removes the requested task from the group if the task exists.
| ITaskGroup | ||
|
start():void
Used to start the task when it becomes active.
| ITask |
| hasTask | property |
hasTask:Boolean
[read-only]Defines if the current group has any tasks in the queue.
Implementation public function get hasTask():Boolean
| tasks | property |
tasks:Array
[read-write]Returns an Array of ITasks that are in the group.
Implementation public function get tasks():Array
public function set tasks(value:Array):void
| addTask | () | method |
public function addTask(task:ITask):void
Used to add a task to the task group implementation.
Parameterstask:ITask — The task to add to the group.
|
| next | () | method |
public function next():ITask
Looks up and returns the next ITask in the group.
ReturnsITask —
The next ITask in the group.
|
| removeAllTasks | () | method |
public function removeAllTasks():void
Used to remove all the ITasks from the group.
| removeTask | () | method |
public function removeTask(task:ITask):void
Removes the requested task from the group if the task exists.
Parameterstask:ITask — The task to remove.
|


>>> import pywt
>>> import numpy
Start with preparing test data:
>>> x = numpy.array([[1, 2, 3, 4, 5, 6, 7, 8]] * 8, 'd')
>>> print x
[[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]]
Now create a 2D Wavelet Packet object:
>>> wp = pywt.WaveletPacket2D(data=x, wavelet='db1', mode='sym')
The input data and decomposition coefficients are stored in the WaveletPacket2D.data attribute:
>>> print wp.data
[[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]]
Nodes are identified by paths. For the root node the path is '' and the decomposition level is 0.
>>> print repr(wp.path)
''
>>> print wp.level
0
The WaveletPacket2D.maxlevel, if not given in the constructor, is automatically computed based on the data size:
>>> print wp.maxlevel
3
Wavelet Packet nodes are arranged in a tree. Each node in a WP tree is uniquely identified and addressed by a path string.
In the 1D WaveletPacket case nodes were accessed using 'a' (approximation) and 'd' (details) path names (each node has two 1D children).
Because now we deal with a bit more complex structure (each node has four children), we have four basic path names based on the dwt 2D output convention to address the WP2D structure:
- a - LL, low-low coefficients
- h - LH, low-high coefficients
- v - HL, high-low coefficients
- d - HH, high-high coefficients
In other words, subnode naming corresponds to the dwt2() function output naming convention (as wavelet packet transform is based on the dwt2 transform):
-------------------
| | |
| cA(LL) | cH(LH) |
| | |
(cA, (cH, cV, cD)) <---> -------------------
| | |
| cV(HL) | cD(HH) |
| | |
-------------------
(fig.1: DWT 2D output and interpretation)
Knowing what the nodes names are, we can now access them using the indexing operator obj[x] (WaveletPacket2D.__getitem__()):
>>> print wp['a'].data
[[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]]
>>> print wp['h'].data
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
>>> print wp['v'].data
[[-1. -1. -1. -1.]
[-1. -1. -1. -1.]
[-1. -1. -1. -1.]
[-1. -1. -1. -1.]]
>>> print wp['d'].data
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
Similarly, a subnode of a subnode can be accessed by:
>>> print wp['aa'].data
[[ 10. 26.]
[ 10. 26.]]
Indexing base WaveletPacket2D (as well as 1D WaveletPacket) using compound path is just the same as indexing WP subnode:
>>> node = wp['a']
>>> print node['a'].data
[[ 10. 26.]
[ 10. 26.]]
>>> print wp['a']['a'].data is wp['aa'].data
True
Following down the decomposition path:
>>> print wp['aaa'].data
[[ 36.]]
>>> print wp['aaaa'].data
Traceback (most recent call last):
...
IndexError: Path length is out of range.
Ups, we have reached the maximum level of decomposition for the 'aaaa' path, which btw. was:
>>> print wp.maxlevel
3
Now try some invalid path:
>>> print wp['f']
Traceback (most recent call last):
...
ValueError: Subnode name must be in ['a', 'h', 'v', 'd'], not 'f'.
WaveletPacket2D is a tree data structure, which evaluates to a set of Node2D objects. WaveletPacket2D is just a special subclass of the Node2D class (which in turn inherits from a BaseNode, just like with Node and WaveletPacket for the 1D case.).
>>> print wp['av'].data
[[-4. -4.]
[-4. -4.]]
>>> print wp['av'].path
av
>>> print wp['av'].node_name
v
>>> print wp['av'].parent.path
a
>>> print wp['av'].parent.data
[[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]]
>>> print wp['av'].level
2
>>> print wp['av'].maxlevel
3
>>> print wp['av'].mode
sym
We can get all nodes on the particular level using the WaveletPacket2D.get_level() method:
0 level - the root wp node:
>>> len(wp.get_level(0)) 1 >>> print [node.path for node in wp.get_level(0)] ['']1st level of decomposition:
>>> len(wp.get_level(1)) 4 >>> print [node.path for node in wp.get_level(1)] ['a', 'h', 'v', 'd']2nd level of decomposition:
>>> len(wp.get_level(2)) 16 >>> paths = [node.path for node in wp.get_level(2)] >>> for i, path in enumerate(paths): ... print path, ... if (i+1) % 4 == 0: print aa ah av ad ha hh hv hd va vh vv vd da dh dv dd3rd level of decomposition:
>>> print len(wp.get_level(3)) 64 >>> paths = [node.path for node in wp.get_level(3)] >>> for i, path in enumerate(paths): ... print path, ... if (i+1) % 8 == 0: print aaa aah aav aad aha ahh ahv ahd ava avh avv avd ada adh adv add haa hah hav had hha hhh hhv hhd hva hvh hvv hvd hda hdh hdv hdd vaa vah vav vad vha vhh vhv vhd vva vvh vvv vvd vda vdh vdv vdd daa dah dav dad dha dhh dhv dhd dva dvh dvv dvd dda ddh ddv ddd
Note that WaveletPacket2D.get_level() performs automatic decomposition until it reaches the given level.
Let’s create a new empty 2D Wavelet Packet structure and set its nodes values with known data from the previous examples:
>>> new_wp = pywt.WaveletPacket2D(data=None, wavelet='db1', mode='sym')>>> new_wp['vh'] = wp['vh'].data # [[0.0, 0.0], [0.0, 0.0]] >>> new_wp['vv'] = wp['vh'].data # [[0.0, 0.0], [0.0, 0.0]] >>> new_wp['vd'] = [[0.0, 0.0], [0.0, 0.0]]>>> new_wp['a'] = [[3.0, 7.0, 11.0, 15.0], [3.0, 7.0, 11.0, 15.0], ... [3.0, 7.0, 11.0, 15.0], [3.0, 7.0, 11.0, 15.0]] >>> new_wp['d'] = [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], ... [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]]For convenience, Node2D.data gets automatically extracted from the base Node2D object:
>>> new_wp['h'] = wp['h'] # all zerosNote: just remember to not assign to the node.data parameter directly (todo).
And reconstruct the data from the a, d, vh, vv, vd and h packets (Note that va node was not set and the WP tree is “not complete” - the va branch will be treated as zero-array):
>>> print new_wp.reconstruct(update=False)
[[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]]
Now set the va node with the known values and do the reconstruction again:
>>> new_wp['va'] = wp['va'].data # [[-2.0, -2.0], [-2.0, -2.0]]
>>> print new_wp.reconstruct(update=False)
[[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]]
which is just the same as the base sample data x.
Of course we can go the other way and remove nodes from the tree. If we delete the va node, again, we get the “not complete” tree from one of the previous examples:
>>> del new_wp['va']
>>> print new_wp.reconstruct(update=False)
[[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]
[ 1.5 1.5 3.5 3.5 5.5 5.5 7.5 7.5]]
Just restore the node before next examples.
>>> new_wp['va'] = wp['va'].data
If the update param in the WaveletPacket2D.reconstruct() method is set to False, the node’s Node2D.data attribute will not be updated.
>>> print new_wp.data
None
Otherwise, the WaveletPacket2D.data attribute will be set to the reconstructed value.
>>> print new_wp.reconstruct(update=True)
[[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]]
>>> print new_wp.data
[[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 1. 2. 3. 4. 5. 6. 7. 8.]]
Since we have an interesting WP structure built, it is a good occasion to present the WaveletPacket2D.get_leaf_nodes() method, which collects non-zero leaf nodes from the WP tree:
>>> print [n.path for n in new_wp.get_leaf_nodes()]
['a', 'h', 'va', 'vh', 'vv', 'vd', 'd']
Passing the decompose=True parameter to the method will force the WP object to do a full decomposition up to the maximum level of decomposition:
>>> paths = [n.path for n in new_wp.get_leaf_nodes(decompose=True)]
>>> len(paths)
64
>>> for i, path in enumerate(paths):
... print path,
... if (i+1) % 8 == 0: print
aaa aah aav aad aha ahh ahv ahd
ava avh avv avd ada adh adv add
haa hah hav had hha hhh hhv hhd
hva hvh hvv hvd hda hdh hdv hdd
vaa vah vav vad vha vhh vhv vhd
vva vvh vvv vvd vda vdh vdv vdd
daa dah dav dad dha dhh dhv dhd
dva dvh dvv dvd dda ddh ddv ddd
Note
This section is for demonstration of pywt internals purposes only. Do not rely on the attribute access to nodes as presented in this example.
>>> x = numpy.array([[1, 2, 3, 4, 5, 6, 7, 8]] * 8)
>>> wp = pywt.WaveletPacket2D(data=x, wavelet='db1', mode='sym')
At first the wp’s attribute a is None
>>> print wp.a
None
Remember that you should not rely on the attribute access.
During the first attempt to access the node it is computed via decomposition of its parent node (the wp object itself).
>>> print wp['a']
a: [[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]]
Now the a is set to the newly created node:
>>> print wp.a
a: [[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]
[ 3. 7. 11. 15.]]
And so is wp.d:
>>> print wp.d
d: [[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]


About Us
- ZenMeasure Technology is a technology company focused on innovation and intelligent hardware research and development， has the industry’s top management and technical team. Members from Microsoft, Nokia, as well as the Peking University and other research and development institutions. Has more than 10 years of innovation, research and development and production experience. We are the inventors of 36 international invention patents.
- ZenMeasure science and technology, Inheriting the idea of People-oriented science and technology, is committed to solving people’s real pain points in life.
- ZenMeasure latest information of temperature monitoring and cold chain transport related methods.
Contact Us
E-mail<EMAIL_ADDRESS>Address: Building E 2801, Yang Guang100,No.2 Guang Hua Street, Chaoyang District, Beijing, China


| DiscreteWavelets Toolbox |
Cohen, Daubechies, Feauveau biorthogonal filter pair
[h,ht] = CDF97()
CDF97() returns the Cohen, Daubechies, Feauveau biorthogonal filter pair.
The command
[h,ht]=CDF97()
results in
h = 0.0378 -0.0238 -0.1106 0.3774 0.8527 0.3774 -0.1106 -0.0238 0.0378 ht = -0.0645 -0.0407 0.4181 0.7885 0.4181 -0.0407 -0.0645
BWT1D1, BWT1D, BWT2D1, BWT2D, SplineFilters, LeGall
© 2007-2008 Patrick Van Fleet


1. First create a blank image file in Bochs on your PC and for that what you have to do is that go to Start and open up Bochs> and then Disk image creation tool and then the new tab with black screen appears.
2. In that you have to type hd and press enter.
3. After that it go to the next line here you have to type flat and it will ask the size. Here you have to type 1500.
4. Then type in c.img and then press the enter key
5. The next thing is that you have to install Windows XP on blank .img file using Qemu manager, then open up the Qemu manager.
6. After opening up the Qemu manager, click on the VM on the top left side and select new virtual machine.
7. Then a sub tab appears and type out any name that you need in the first box and hit next.
8. Now in the new tab you can locate the desired RAM that you want to change and change it to 1 Giga hertz and hit finish.
9. Now what you want to do is install XP to your blank image file. So what you want to do is click on drives on the left top side and find out the c.img file from the drives. Usually the c.img file will be seen at the C drive> Program files > flash > and change view to all files and your c.img file will be seen select the file and click Okay.
10. The next thing you have to do is find out the Window XP.iso file and click Ok.
11. After selecting the iso file click on the run button on the top left side.
12. Installation will take about 45 minutes or about an hour depending on how fast your computer is and right now it will be running on a virtual machine. Wait till the loading finishes and after that start the installation and a couple of options comes out choose from. Choose ntfs file system and then the installation will take place and it will take few minutes to complete.
13. When the installation is finished, the next thing you have to do is that you have to stop the virtual machine, for that press the red button on the top left and click Ok. And then you have to find the c.img file and transfer it to phone. For that find out the c.img file from the local disk as mentioned above and copy the file and paste the file in the SDL folder on the SD card. And after that go to the link I have given below and copy the text with code given and paste it in the boch.txt file in the SDL folder on the SD card.
Note:The next thing you have to do is turn on your phone and take out the application Bosh which has been installed on your device .one thing you must remember is that it will be not as fast as your personal computer and you need a lot of patience for the loading to finish for the first time. After loading is finished you may be in a black display screen for a little bit time and there you must wait for few minutes and then you can run XP on your Android device.
© 2014 HaKTuts. All rights reserved.


var onClickEnabled: Boolean
Disables a reaction to the selector (textInputEditText) being clicked. This prevents the person selector dialog being shown (so a person cannot be changed).
By default, onClick is enabled.


Kindly note that you are to pay 40% of the principal as initial deposit.
The balance will be spread over the number of months specified under payment plan.
Delivery of car is Forty (40) days after initial deposit has been made.
Compound Fee:
Deposit Fee:
Monthly Fee:


Programming Language Quiz
Enter your Name
Enter your Age
Have you been to Europe?
Yes
No
Is Math Cool?
Yes
No
Do You Want to be Rich?
Yes
No
Click Here to Find Out!
Hello!
, this is what programming language you should start learning! Remember that learning is a life-long adventure and you should look into all languages.
Ruby
Click the image to learn more!
Javascript
Click the image to learn more!
Python
Click the image to learn more!
C# (C Sharp)
Click the image to learn more!
Try Again!


Simple cash register 🤑
Please enter bill amount money as number !
Please enter cash amount money as number !
pay
Rupee
Notes / coins


Svgbob is a diagramming model which uses common typing characters to approximate the shape
| characters | names | description |
|---|---|---|
- |
dash, hypen, minus | for horizontal lines |
_ |
underscore | for horizontal lines |
\| |
pipe, or | for vertical lines |
/ |
forward slash | for lines slanted to the right |
\\ |
backslash | for lines slanted to the left |
+ |
plus, add, cross | for sharp intersection |
. |
dot, period | for rounded corner intersection |
, |
comma | for rounded corner intersection |
' |
single quote | for rounded corner intersection |
` |
backtick | for rounded corner intersection |
( |
open parenthesis | rounded side of an arc |
) |
close parenthesis | rounded side of an arc |
[ |
open braces | rectangular corner |
] |
close braces | rectangular corner |
* |
asterisk | for emphasized intersection |
o |
lowercase letter o |
for intersection |
O |
uppercase letter O |
for intersection |
^ |
caret | for arrow up |
v |
lowercase letter v |
for arrow down |
V |
lowercase letter V |
for arrow down |
< |
lesser than | for arrow left |
> |
greater than | for arrow right |
= |
equal sign | for double horizontal line |
x |
lowercase letter x |
for intersection |
X |
uppercase letter X |
for intersection |
The rendered shape should closely resembles to that of the ascii drawing / formation.
The goal is NOT to be able to make graphs and diagrams with less effort.
Text height is 2 times the text width, both should be a multiple of 4.
Default values: - text width = 8px; - text height = 16px;
## Horizontal line - - if next to an alphanumeric character it will be rendered as text. - if next to another drawing character, it will be rendered as a line. - if alone it will be rendered as a line. |
| Example 1: |
|text | svg |rendered |------|---------------------------------------|-------------- |- |<line x1="0" y1="8" x2="8" y2="8"/> | |-- |<line x1="0" y1="8" x2="16" y2="8"/> | |---- |<line x1="0" y1="8" x2="32" y2="8"/> | |
| Example 3: Next to an alphanumeric character |
|text |svg |rendered |------|------------------------------|------- |1- |<text x="2" y="12">1-</text> | |-a |<text x="2" y="12">-a</text> | |
| Example 4: Used together with text |
|text |svg |rendered |-----------|-------------------------------------|---------- |opt-in |<text x="2" y="12">opt-in</text> | |chat-room |<text x="2" y="12">chat-room</text> | |
|
Example 1:
|
|
| text | svg | rendered |
|---|---|---|
\| \| |
<line x1="4" y1="0" x2="4" y2="32"></line> |
use as or expression
Example 2:
a||b <text>a||b</text>
/
Example 1:
/
/
| text | svg | rendered |
|---|---|---|
/ / |
<line x1="0" y1="16" x2="16" y2="32"></line> |
Example 2:
| text | svg | rendered |
|---|---|---|
folder/ |
<text x="2" y="12">folder/</text> |
|
/usr/bin |
<text x="2" y="12">/usr/bin</text> |
Example 3: Aligned next to a drawing element
| text | svg | rendered |
|---|---|---|
folder/ /usr/bin |
<line x1="40" y1="32" x2="56" y2="0"/> <text x="2" y="12">folder</text> <text x="10" y="28">/usr</text> <text x="58" y="28">bin</text> |
\
Example 1:
\
\
| text | svg | rendered |
|---|---|---|
\\ \\ |
<line x1="0" y1="0" x2="16" y2="32"/> |
Example 2:
| text | svg | rendered |
|---|---|---|
C:\\users |
<text x="2" y="12">C:\\users</text> |
+
Example 1:
| text | svg | rendered |
|---|---|---|
-+ |
<line x1="0" y1="4" x2="12" y2="4"/> |
|
+- |
<line x1="4" y1="4" x2="16" y2="4"/> |
|
\| + |
<line x1="4" y1="0" x2="4" y2="24"/> |
|
+ \| |
<line x1="4" y1="8" x2="4" y2="32"/> |


{% extends "desktop/base.html" %} {% block content %} {{ _('Whoops!') }}
{{ _("It looks like the page you were looking for doesn't exist.") }} {{ _('Go to the homepage') }} >