public class GravBody
extends java.lang.Object
| Constructor | Description |
|---|---|
GravBody() |
Default constructor of GravBody.
|
GravBody(GravBody planet) |
Constructor of GravBody that copies a GravBody by setting every compenent
to be the same as the GravBody to be copied.
|
GravBody(java.lang.String a,
double x,
double y,
double z,
double i,
double j,
double k,
double M,
double d) |
Constructor of GravBody that sets every component seperately.
|
GravBody(java.lang.String a,
PhysicsVector p,
PhysicsVector u,
double M,
double d) |
Constructor of GravBody that sets the position and velocity using
PhysicsVectors.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
beemanPtOne(PhysicsVector aback,
double t) |
Uses the 1st half of the Beeman algorithm to move a body forward by a
time-step dt.
|
void |
beemanPtTwo(PhysicsVector aback,
PhysicsVector aIntial,
double t) |
Uses the 2nd half of the Beeman algorithm to calculate a body's velocity
after it has been moved forward by a time-step dt.
|
PhysicsVector |
calcGrav(GravBody q) |
Returns the gravitational attraction of one body onto this body, using
g = (Gm/r^2)r^ where g is the acceleration due to gravity, G is the
Gravitational Constant, m is the mass of the other body, r is the
displacement vector between the bodies, and r^ is the unit vector of
this displacement vector
|
void |
calcTotBodyAcc(GravBody q) |
Increases the total acceleration by the acceleration resulting from the
gravitational attraction from the other body, using calcGrav.
|
void |
euler(double t) |
Uses the Euler alogrithm to move a body foward by a time step
r(t+dt) = r(t) + v(t)dt
v(t+dt) = v(t) + a(t)dt
Where dt is the time step, t is the intial time of the iteration
|
void |
eulerCramer(double t) |
Uses the Euler-Cramer alogrithm to move a body foward by a time step
v(t+dt) = v(t) + a(t)dt
r(t+dt) = r(t) + v(t+dt)dt
Where dt is the time step, t is the intial time of the iteration
|
void |
eulerRichardson(GravBody bodymid,
double t) |
Uses the Euler-Cramer algorithm with the velocity and acceleration from
the mid-point of the iteration
v(t+dt) = v(t) + a(t+0.5t)dt
r(t+dt) = r(t) + v(t+0.5t)dt
Where dt is the time step, t is the initial time of the iteration
|
PhysicsVector |
getAngularMomentum() |
Returns the angular momentum of the body
|
double |
getAngularMomentumMag() |
Returns the magnitude of the angular momentum of the body
|
PhysicsVector |
getg() |
Returns the surface gravity of the body
|
GravField |
getgBody() |
Returns the GravField component of the body
|
double |
getGPE() |
Returns the GPE of the body
|
double |
getKE() |
Returns the kinetic energy of the body
|
double |
getMass() |
Returns the mass of the body
|
java.lang.String |
getName() |
Returns the name of the body
|
PhysicsVector |
getPosition() |
Returns the position of the body
|
java.lang.String |
getPositionData() |
Returns the string holding the position data of the body
|
double |
getPositionX() |
Returns the x-component of the position of the body
|
double |
getPositionY() |
Returns the y-component of the position of the body
|
double |
getPositionZ() |
Returns the z-component of the position of the body
|
double |
getRadius() |
Returns the radius of the body
|
PhysicsVector |
getTotAcc() |
Returns the total acceleration of the body
|
PhysicsVector |
getVelocity() |
Returns the velocity of the body
|
double |
getVelocityX() |
Returns the x-component of the velocity of the body
|
double |
getVelocityY() |
Returns the y-component of the velocity of the body
|
double |
getVelocityZ() |
Returns the z-component of the velocity of the body
|
void |
increaseTotAccBy(PhysicsVector a) |
Increases the total acceleration of the body by a PhysicsVector
|
void |
printBody() |
Prints the position and velocity of the body
|
void |
printBodyChar() |
Prints the characteristics of the body
|
void |
setAngularMomentum() |
Sets the angular momentum of the body using L = r x mv
|
void |
setBody(double x,
double y,
double z,
double i,
double j,
double k) |
Sets the body's position and velocity components seperately
|
void |
setBody(GravBody planet) |
Sets a GravBody's parameters to another GravBody's
|
void |
setBody(PhysicsVector p,
PhysicsVector u) |
Sets the body's position and velocity using PhysicsVectors
|
void |
setGPE(GravBody q) |
Sets the GPE of the body with respect to another body using
GPE = -GMm/r
Where G is the gravitational constant, M is the mass of the other body
m is the mass of this body, r is the displacement vector between them.
|
void |
setKE() |
Sets the kinetic energy of the body using KE = 0.5*m*v^2
|
void |
setPosition(double x,
double y,
double z) |
Sets the body's position components seperately
|
void |
setPosition(PhysicsVector p) |
Sets the body's position using a PhysicsVector
|
void |
setPositionData() |
Formats the positionData string for easy plotting of a GravBody's trajectory
|
void |
setTotAcc(double a,
double b,
double c) |
Sets the total acceleration components of the body seperately
|
void |
setTotAcc(PhysicsVector a) |
Sets the total acceleration of the body using a PhysicsVector
|
void |
setVelocity(double i,
double j,
double k) |
Sets the body's velocity components seperately
|
void |
setVelocity(PhysicsVector u) |
Sets the body's velocity using a PhysicsVector
|
void |
verletPtOne(double t) |
Implements the first part of the Verlet alogrithm to move a body foward
by a time step.
|
void |
verletPtTwo(PhysicsVector intialTotA,
double t) |
Implements the last part of the Verlet algorithm to move a body foward
by a time step.
|
public GravBody()
public GravBody(java.lang.String a, double x, double y, double z, double i, double j, double k, double M, double d)
a
- Set to the name of the bodyx
- Set to the x-component of the position of the bodyy
- Set to the y-component of the position of the bodyz
- Set to the z-component of the position of the bodyi
- Set to the x-component of the velocity of the bodyj
- Set to the y-component of the velocity of the bodyk
- Set to the z-component of the velocity of the bodyM
- Set to the mass of the bodyd
- Set to the radius of the bodypublic GravBody(java.lang.String a, PhysicsVector p, PhysicsVector u, double M, double d)
a
- Set to the name of the bodyp
- Set to the position of the bodyu
- Set to the velocity of the bodyM
- Set to the mass of the bodyd
- Set to the radius of the bodypublic GravBody(GravBody planet)
planet
- GravBody to be copiedpublic void setBody(double x, double y, double z, double i, double j, double k)
x
- Set to the x-component of the position of the bodyy
- Set to the y-component of the position of the bodyz
- Set to the z-component of the position of the bodyi
- Set to the x-component of the velocity of the bodyj
- Set to the y-component of the velocity of the bodyk
- Set to the z-component of the velocity of the bodypublic void setBody(PhysicsVector p, PhysicsVector u)
p
- Set to the position of the bodyu
- Set to the velocity of the bodypublic void setBody(GravBody planet)
planet
- GravBody to be used to set this body topublic void setPosition(double x, double y, double z)
x
- Set to the x-component of the position of the bodyy
- Set to the y-component of the position of the bodyz
- Set to the z-component of the position of the bodypublic void setPosition(PhysicsVector p)
p
- New position of the bodypublic void setVelocity(double i, double j, double k)
i
- Set to the x-component of the velocity of the bodyj
- Set to the y-component of the velocity of the bodyk
- Set to the z-component of the velocity of the bodypublic void setVelocity(PhysicsVector u)
u
- New velocity of the bodypublic void setAngularMomentum()
public void setTotAcc(double a, double b, double c)
a
- Set to the x-component of the total acceleration of the bodyb
- Set to the y-component of the total acceleration of the bodyc
- Set to the z-component of the total acceleration of the bodypublic void setTotAcc(PhysicsVector a)
a
- New total accelerationpublic PhysicsVector calcGrav(GravBody q)
q
- GravBody effecting this GravBodypublic void setKE()
public void setGPE(GravBody q)
q
- Body GPE is being calculated with respect topublic void setPositionData()
public void calcTotBodyAcc(GravBody q)
q
- GravBody attracting this GravBodypublic void increaseTotAccBy(PhysicsVector a)
a
- Increases the total acceleration by this PhysicsVectorpublic void euler(double t)
t
- Time step of the iterationpublic void eulerCramer(double t)
t
- Time step of the iterationpublic void eulerRichardson(GravBody bodymid, double t)
bodymid
- Copy of the body at the mid-point of the iterationt
- Time step of the iterationpublic void verletPtOne(double t)
t
- Time step of the iterationpublic void verletPtTwo(PhysicsVector intialTotA, double t)
t
- Time step of the iterationintialTotA
- Average acceleration of body over time-steppublic void beemanPtOne(PhysicsVector aback, double t)
aback
- Acceleration on body at time t-dtt
- Time-step of iterationpublic void beemanPtTwo(PhysicsVector aback, PhysicsVector aIntial, double t)
aback
- Acceleration on body at time t-dtaIntial
- Acceleration on body at start of iterationt
- Time-step of iterationpublic java.lang.String getName()
public PhysicsVector getPosition()
public double getPositionX()
public double getPositionY()
public double getPositionZ()
public PhysicsVector getVelocity()
public double getVelocityX()
public double getVelocityY()
public double getVelocityZ()
public double getMass()
public double getRadius()
public GravField getgBody()
public PhysicsVector getg()
public PhysicsVector getTotAcc()
public double getKE()
public double getGPE()
public PhysicsVector getAngularMomentum()
public double getAngularMomentumMag()
public java.lang.String getPositionData()
public void printBodyChar()
public void printBody()


[Erowid Warning: Our understanding of the literature is that there is no such thing as safe use of volatile solvents, aerosols and other street inhalants : their psychoactive effects are inseparable from nerve and organ damage. We have chosen to include these reports to help document the real world use of inhalants, but their inclusion is not intended to imply that they are anything but dangerous.]
In 1998 I stumbled on inhalants as I loved the smell of gas, which eventually lead me to my problems that I have now. I only huffed for about 1 year on and off experiencing the most bizarre hillucinations. Now, almost 10 years later, related or not Im not sure but the doctors/ psychiatrists cant say what going through now is related to huffing or not but I have Type 1 Bi Polar disorder and possibly brain damage.
I couldnt continue school as I was in a state of euphoria for so long thinking I was the second comming of Christ. If you take anything out of this I'd say that you really dont know what your getting into, this shi* can kill you not to mention the brain damage and possible long term effects that solvents can lead to. I remember when I thought, this stuff wont hurt me, perhaps Im paying for it now with the 'chemical' imbalance I have to struggle with daily as well as memory problems, decision making, at the time I was never informed that this is illegal at the age of 13. You may regret doing this drug.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Between the complexity of Oblivion's leveling model and the variety of gameplay possibilities, it is very difficult to give advice. However, in this section I will try to give you a few guidelines and suggestions from my own personal experience and observations. Perhaps most important is this:
There is no wrong way to create or level your character!
Don't get bogged down in the numbers unless that's what appeals to you. Oblivion is a game that can be conquered many, many different ways. Remember to focus on having fun first!
Fun aside, the following sections should help give you a framework from which you can make an informed decision for your character's long-term potency. Basically, the process goes like this:
If you get stuck, poke around the Internet looking for Oblivion character templates. For example, there is a fairly detailed FAQ with several templates in GameFAQ's Character Build FAQ (PC) document. It is doubtful that any template will match exactly what you have in mind, but if you input the template info into OCP, you can see the exact impact of your tweaks.
Finally, as an abolsute last resort, don't forget that you can adjust the game's difficulty or (on the PC version) use the console to fix any mistakes you've made while leveling. If you are using OCP to plan your character, you probably don't want to resort to these tactics, but it's probably better to tweak something rather than scrap all the work you put into your level 35+ character.
If you are going to build a potent character, you have to understand what constitutes your potency. You can learn some of this information from just playing the game, but to really understand things you need to dig into the formulas and algorithms used. Here are a few references (in the rough order you should read them) that should help:
Note: If you are totally new to Oblivion, there is no way you will be able to understand all of Oblivion's mechanics. But that's ok -- just learn what you can. Remember that just by using OCP you are helping to ensure your character will be adequately powerful by game's end.
With so many different ways to solve problems in Oblivion, if you try to do them all, you'll end up a Jack of all Traits and Master of None. It's best to pick a few ways to solve Oblivion's problems and stick with them. Which solutions you opt for is your Gameplay Profile.
For each of the following obstacles, you should select one primary solution. The goal is to align your solutions among a select set of skills and attributes. You can then focus your efforts on those and largely ignore the rest. Don't forget that choosing to avoid the problem (e.g. not having any way to avoid fights because you want to kill everything!) or waiting until you are a higher level to address a problem (e.g. paying NPCs to recharge items later in the game because you can easily afford it) is perfectly viable.
Note: Scrolls are not considered a viable solution here because they cannot be reliably found in loot or bought from vendors. Although, scrolls you do find make great supplemental solutions, especially when you consider using them does not generate any skill XP.
There are a few other minor obstacles in Oblivion (e.g. breathing under water), but they don't really require specific character planning. You can usually find a solution without impacting your character's creation and leveling plan.
It is very easy to get overwhelmed by the multitude of character creation options, so this section will outline a few common do's and dont's. However, keep one overriding key point in mind:
These are generalizations, not rules. So long as you plan for the issue, you can find a way to safely violate these guidelines.
The following are key points for creating your character and forming your leveling plan:
To help illustrate the methods outlined in the Advice section, I'll run through the process with my example toon Nullis.
My general idea for Nullis was a stealthy, ranged assassin. I wouldn't rely heavily on magic or melee, but if I could find you at range, you'd probably be dead before you reached me. Plugging this general playstyle into the profile yielded the following:
With my profile in mind, I decided to use One Major Skill per Attribute as my custom class paradigm. This was appealing to me because I wouldn't level too fast or too slow and I could ensure that I'd have a major skill to level for every attribute; even when I'm leveling the least used attributes in the higher levels.
For my major skills, I chose a mix of skills I would use (on the attributes I wanted to level first), skills that I may use in later levels but were easy to level up, and skills I would never use except for leveling up. Here is the summary:
For my attribute Leveling Order, I didn't want my first few levels to go as fast as the +5/+5/+1 model would provide, but I didn't want to completely ignore Luck for a full +5/+5/+5 model. My solution was to do +5/+5/+5 for the first three attributes and by making Luck my fourth attribute, the remaining levels would be +5/+5/+1. This results in the following Leveling Order:
Note: In retrospect, I would probably have tried for a full +5/+5/+1 model by swapping Speed and Luck. I'd need to make sure I had enough Spare Skill Points in Speed because I'd be using those skills constantly at the lower levels, but the swap would get me to max level one level earlier (43 instead of 44).
My choice for race was made simple by wanting to use the Khajiit's racial Night-Eye ability for seeing in the dark. My birthsign choice was similarly simple: The Thief gives me a bonus to 3 of my top 4 attributes. So putting it all together, I arrived at this:
If you load Nullis' data and switch to New Character, you'll see these exact values which yield the following Analysis:
The max level is fairly low (many character configurations max at high 40's/low 50's), but since anything over 40 is largely meaningless, this keeps the excess to a minimum. All attributes get maxed at 100, so this character will reach the maximum possible potency. Since Endurance gets max'ed fairly early, Health is solid. And with over 3 Spare Skill Points per Level for every attribute, I don't have to sweat extraneous skillups. Overall, a solid design that should lead to a fun gameplay experience with more than enough character potency.


Menu
Home
Download
Contact Daily SOAP
Leave us a message and we will get back to you
Name
Email
Message
Submit


One of the difficulties of keeping a Drupal website completely in version control, is that a lot of the configuration is stored in the database. Each change you make to a site via clicking and saving on a site administration page is saved in the database. It is difficult to keep a history of these changes without writing the entire database to a file and then checking that into version control.  This is where the Features module comes into play. It helps separate the site’s configuration in the database from the site’s content.
The Features module allows you to export configuration options from the database into a new module. Then you can check this new module into version control and keep track of the history of changes, and keep backups of a site’s configuration that is separated from the site’s content and database.
Features Concepts
Exporting Features
Exporting a feature is the processing of exporting a configuration option (or a series of options) from the database and saving them as a features module. Let’s say you are using Bartik (or another theme that utilizes the color module to allow you to customize a site’s colorscheme.) and you change the background color of the site. When you make this change via the web interface, the configuration change is saved in the database. To export this change as a feature, you click on admin/structure/features/create.
Create a name and description for your new feature, such as “Major Ursa Bartik Colors” and “Color scheme for Bartik theme used on Major Ursa”. Next under
Edit Components, select
Strongarm: variable. Then select “color_bartik_palette” and perhaps “color_bartik_stylesheets”. Then click on the
Download Feature button.
This will download a new module to your desktop with the configuration options saved as a features module. This is only step one. Next you will need to upload this new module back up to your website and enable. Once the module is enabled, the configuration is being run from code from the module, not from a configuration option in the database. This is known, confusingly enough, as
reverting a feature.
Revert a Feature
To revert a feature is to take the configuration options that are written in a custom feature module and override the database configuration.
Revert a feature with drush
drush features-revert mu_bartik_theme
The above code would read the configuration options from the code in the mu_bartik_theme and overwrite the current configuration in the database.
Override a Feature
To override a feature, means to take the configuration that is currently in the database and use those options to override the previous custom feature module you created. This basically updates the old feature module with what is currently live on the site and in the database. Then you will be able to download an updated feature module and can commit this new change to your git repository so you have a history of site changes, upload the changed feature module
mu_bartik_theme to your site and (ahem revert the change again).
Here’s the drush command to override a feature
drush features-override mu_bartik_theme
Drush Commands


Contents
class Leap.KeyTapGesture extends Leap.Gesture
The KeyTapGesture class represents a tapping gesture by a finger or tool.
A key tap gesture is recognized when the tip of a finger rotates down toward the palm and then springs back to approximately the original postion, as if tapping. The tapping finger must pause briefly before beginning the tap.
Key tap gestures are discrete. The KeyTapGesture object representing a tap always has the state, STATE_STOP. Only one KeyTapGesture object is created for each key tap gesture recognized.
Constructor Top
| KeyTapGesture () |
Properties Top
| Leap.Vector | direction | ||
| Number | duration | inherited from Leap.Gesture | |
| Array | handIds | inherited from Leap.Gesture | |
| Number | id | inherited from Leap.Gesture | |
| Array | pointableIds | inherited from Leap.Gesture | |
| Leap.Vector | position | ||
| Number | progress | ||
| String | state | inherited from Leap.Gesture | |
| String | type | inherited from Leap.Gesture |
Constructor details
Top
gesture.js at line 352
KeyTapGesture
()
Constructs a new KeyTapGesture object.
An uninitialized KeyTapGesture object is considered invalid. Get valid instances
of the KeyTapGesture class from a Frame object.
Constructs a new KeyTapGesture object.
An uninitialized KeyTapGesture object is considered invalid. Get valid instances of the KeyTapGesture class from a Frame object.
Properties Detail Top
gesture.js at line 383
The direction of finger tip motion.
gesture.js at line 107
public
Number
duration
The elapsed duration of the recognized movement up to the frame containing this Gesture object, in microseconds.
The duration reported for the first Gesture in the sequence (with the start state) will typically be a small positive number since the movement must progress far enough for the Leap to recognize it as an intentional gesture.
Inherited from Leap.Gesture
gesture.js at line 87
public
Array
handIds
The list of hands associated with this Gesture, if any.
If no hands are related to this gesture, the list is empty.
Inherited from Leap.Gesture
gesture.js at line 75
public
Number
id
The gesture ID.
All Gesture objects belonging to the same recognized movement share the same ID value. Use the ID value with the Frame::gesture() method to find updates related to this Gesture object in subsequent frames.
Inherited from Leap.Gesture
gesture.js at line 97
public
Array
pointableIds
The list of fingers and tools associated with this Gesture, if any.
If no Pointable objects are related to this gesture, the list is empty.
Inherited from Leap.Gesture
gesture.js at line 375
The position where the key tap is registered.
gesture.js at line 391
public
Number
progress
The progess value is always 1.0 for a key tap gesture.
gesture.js at line 121
public
String
state
The gesture ID.
Recognized movements occur over time and have a beginning, a middle, and an end. The 'state()' attribute reports where in that sequence this Gesture object falls.
Possible values for the state field are:
- start
- update
- stop
Inherited from Leap.Gesture
gesture.js at line 139
public
String
type
The gesture type.
Possible values for the type field are:
- circle
- swipe
- screenTap
- keyTap
Inherited from Leap.Gesture


Space
Outer space is almost a in the universe. It is the space between celestial bodies.
The Universe
The Universe is all of space and what's inside it. The Observable Universe is the place which we can currently experience from Earth. But, if you go deeper, we can see galaxies that we can not interact with. Thats because galaxies are moving out of the Local Group, a group of the universe that we are almost trapped in becuase of extreme gravity, but we can see them becuase of the speed of light. Though light (299,792,458 metres per second) is the fastest way to travel, it still takes time. So you are seeing galaxies from a long time ago.
The Solar System
We are in a part of the Milky Way called the Solar System. The Sun, a star, is at the center of our solar system. Mercury, Venus, Earth, and Mars are called the Terrestrial Planets. Jupiter, Saturn, Uranus, and Neptune are the Gas Giants. We wil cover each of these planets:
1. Mercury
The smallest and lightest planet, Mercury is a very interesting. A Mercury year (time of rotation around the sun) is shorter than a Mercury day (time it takes to spin one rotation on its axis). This leads to big changes in temprature. It has not atmosphere or moon.
2. Venus
Venus is the brightest and hottest planet. It has atmopsheric pressure 92 times higher than Earth. Most of its atmopshere is Carbon Dioxide and a bit of Nitrogen. It has an out of control greenhouse effect, so it never cools below 818.6°F, or 437°C. It also does not have a moon.
3. Earth
Earth is our home, and is the only planet known to support life. This may be because of the Fermi Paradox, which we will not cover here. It also is the only known planet which has a perfect tempreture to allow liquid water to stay liquid. The Earth has only 1 moon.
4. Mars
Mars is a planet that has a very thin atmosphere. It has the Olympus Mons, the largest mountain in the solar system. It is 3 times higher than Mount Everest. Mars has 2 moons.
5. Jupiter
Jupiter is the largest planet in the Solar System. It is mainly Hydrogen and Oxygen. It has the largest storms we know. Jupiter has 67 moons.
6. Saturn
Saturn is the second-largest planet and has the smallest density. If you had a giant bathtub, Saturn would float on it. It is known for its visible rings. It has 62 moons
7. Uranus
Uranus (lets not make fun of it's name) is one of the coldest planets. It is the smallest Gas Giant. It is tilted sideways, unlike the other planets. It has 27 moons.
8. Neptune
Neptune is the last planet and is similar Uranus. It has 14 moons.
Keeping then side by side shows all the diffrences about them.
Want to explore? Check this out from NASA's Eyes:
Image Source: NASA


The SQL IS NULL and IS NOT NULL operators are supported in read, update and delete requests on any columns in query parameters (row selectors). Null is also supported in form parameters in POST with form (URL Encoded) and PUT by Query methods to set a column value to null in an insert or update.
Null column values in selected rows will continue to be absent in response XML and will no longer be present in response JSON. Previous versions returned the attribute with the value null in the JSON format. The new approach is more streamlined.
See Null/Not Null Operators for more detail.
This addresses GitHub Issue #69.
Greater than, greater than or equal to, less than and less than or equal to are now supported in update and delete parameters in addition to reads. See Comparison Operators for more detail.
The SQL IN is now supported in update and delete parameters in addition to reads. See In Operator for more detail.
All columns may be queried by not equals value expression. See Equals/Not Equals Operators for more detail.
The
alias
table metadata attribute has been deprecated and replaced by the
rowAlias
and
rowSetAlias
attributes. This enables you to control the JSON object names in request/responses and Java API map child key names, whereas in previous releases the framework appended an "s" to the alias. See the aliases section in Concepts for more detail.
This addresses GitHub Issue #48.
The table metadata attribute will continue to work without errors or warnings. The alias drives the rowwAlias value and alias + "s" the rowSetAlias. Replace the alias with rowAlias and rowSetAlias at your own pace.


Are you sure you wish to delete this Language ?
Current page: {{ gridApi.pagination.getPage() }} of {{ gridApi.pagination.getTotalPages() }}


yes this is a paragraph about Katie Hally. She is good at running but is annoying and does not make funny jokes. hahaha


.card
.card-img-top
%img.img-fluid{:src => "https://source.unsplash.com/category/nature/800x400", :alt => ""}/
.card-block
%h4.card-title Card title
%p.card-text Magni inventore repellat dignissimos eveniet dolore ex sit illo adipisci accusamus quos.
%a.btn.btn-primary{:href => "#"}
%webicon.icon{:icon => "fa:paper-plane"}
Special title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhere
Special title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhere


This function implements
the Pooled Cohort Risk equations from Goff et al, 2013.
the updated Pooled Cohort Risk equations from Yadlowski et al, 2018
These equations predict 10-year risk of a first atherosclerotic cardiovascular disease (ASCVD) event, such as a stroke or myocardial infarction. The 2017 American College of Cardiology and American Heart Association blood pressure guideline recommends using 10-year predicted atherosclerotic cardiovascular disease risk to guide the decision to initiate or intensify antihypertensive medication. The guideline recommends using the Pooled Cohort risk prediction equations to predict 10-year atherosclerotic cardiovascular disease risk in clinical practice.
predict_10yr_ascvd_risk( age_years, race, sex, smoke_current, chol_total_mgdl, chol_hdl_mgdl, bp_sys_mmhg, bp_meds, diabetes, equation_version = "Goff_2013", override_boundary_errors = FALSE, race_levels = list(black = "black", white = "white"), sex_levels = list(female = "female", male = "male"), smoke_current_levels = list(no = "no", yes = "yes"), bp_meds_levels = list(no = "no", yes = "yes"), diabetes_levels = list(no = "no", yes = "yes") )
| age_years | numeric vector of age values, in years. |
|---|---|
| race | character vector of race values. Categories should include only 'black' or 'white'. If the race variable has additional categories other than 'black' or 'white', then group all non 'black' values into the 'white' category. |
| sex | character vector of sex values. Categories should include only 'male' or 'female'. |
| smoke_current | character vector of current smoking habits. Categories should include only 'no' and 'yes'. |
| chol_total_mgdl | total cholesterol, in mg/dL. |
| chol_hdl_mgdl | HDL-cholesterol, in mg/dL. |
| bp_sys_mmhg | systolic blood pressure, in mm Hg. |
| bp_meds | character vector of blood pressure medication use habits. Categories should include only 'no' and 'yes'. For example, if currently using medication to lower blood pressure, the value should be 'yes'. |
| diabetes | character vector of diabetes status. Categories should include only 'no' and 'yes'. For example, if diabetes is present, the value should be 'yes'. |
| equation_version | a character value of length 1. Valid options are 'Goff_2013' and 'Yadlowsky_2018'. If 'Goff_2013' (the default option) is selected, the original Pooled Cohort risk equations are used (See Goff et al., 2013). If 'Yadlowsky_2018' is selected, the equations recommended by Yadlowsky et al., 2018 are used. |
| override_boundary_errors | a logical vector of length 1. If |
| race_levels | a list of length 2 with names 'black' and 'white'.
values in the list should be character vectors of any length, and
values in the character vectors should indicate what values in
|
| sex_levels | a list of length 2 with names 'female' and 'male'.
values in the list should be character vectors of any length, and
values in the character vectors should indicate what values in
|
| smoke_current_levels | a list of length 2 with names 'no' and 'yes'.
values in the list should be character vectors of any length, and
values in the character vectors should indicate what values in
|
| bp_meds_levels | a list of length 2 with names 'no' and 'yes'.
values in the list should be character vectors of any length, and
values in the character vectors should indicate what values in
|
| diabetes_levels | a list of length 2 with names 'no' and 'yes'.
values in the list should be character vectors of any length, and
values in the character vectors should indicate what values in
|
a numeric vector with 10-year predicted risk values for ASCVD events.
The 2017 American College of Cardiology (ACC) / American Heart Association (AHA) blood pressure (BP) guideline recommends using 10-year predicted atherosclerotic cardiovascular disease (ASCVD) risk to guide the decision to initiate antihypertensive medication. The guideline recommends using the Pooled Cohort risk prediction equations (Goff et al, 2013) to predict 10-year ASCVD risk. The Pooled Cohort risk prediction equations have been externally validated in several studies and, in some populations, are known to overestimate 10-year ASCVD risk. In 2018, an updated set of equations were developed by Yadlowsky et al. using more contemporary data and statistical methods.
Goff DC, Lloyd-Jones DM, Bennett G, Coady S, D’agostino RB, Gibbons R, Greenland P, Lackland DT, Levy D, O’donnell CJ, Robinson JG. 2013 ACC/AHA guideline on the assessment of cardiovascular risk: a report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines. Journal of the American College of Cardiology. 2014 Jul 1;63(25 Part B):2935-59. DOI: 10.1016/j.jacc.2014.03.006
Yadlowsky S, Hayward RA, Sussman JB, McClelland RL, Min YI, Basu S. Clinical implications of revised pooled cohort equations for estimating atherosclerotic cardiovascular disease risk. Annals of internal medicine. 2018 Jul 3;169(1):20-9. DOI: 10.7326/M17-3011
# example taken from Goff et al, 2013 sex = c('female', 'female', 'male', 'male') race = c('black', 'white', 'black', 'white') # 55 years of age age_years = rep(55, times = 4) # total cholesterol 213 mg/dL chol_total_mgdl = rep(213, times = 4) # HDL cholesterol 50 mg/dL chol_hdl_mgdl = rep(50, times = 4) # untreated systolic BP 120 mm Hg bp_sys_mmhg = rep(120, times = 4) bp_meds = rep('no', times = 4) # nonsmoker smoke_current = rep('no', times = 4) # without diabetes diabetes = rep('no', times = 4) pcr_probs <- predict_10yr_ascvd_risk( sex = sex, race = race, age_years = age_years, chol_total_mgdl = chol_total_mgdl, chol_hdl_mgdl = chol_hdl_mgdl, bp_sys_mmhg = bp_sys_mmhg, bp_meds = bp_meds, smoke_current = smoke_current, diabetes = diabetes ) # note that this isn't an exact match of Table 4 in # Goff et al supplement - this is because the table's # coefficients are rounded to a lower decimal count than # the coefficients used in predict_10yr_ascvd_risk() round(100 * pcr_probs, 1)#> [1] 3.0 2.1 6.1 5.4# using a data frame with more granular categories and names some_data <- data.frame( gender = c('woman', 'woman', 'man', 'male'), race_3cats = c('AA', 'white', 'AA', 'other'), # 55 years of age age_years = rep(55, times = 4), # total cholesterol 213 mg/dL chol_total_mgdl = rep(213, times = 4), # HDL cholesterol 50 mg/dL chol_hdl_mgdl = rep(50, times = 4), # untreated systolic BP 120 mm Hg bp_sys_mmhg = rep(120, times = 4), bp_meds = rep('No', times = 4), # nonsmoker smoke_current = c("no", "former", "no", "never"), # without diabetes diabetes = rep('No', times = 4), stringsAsFactors = FALSE ) pcr_probs <- with( some_data, predict_10yr_ascvd_risk( sex = gender, sex_levels = list(female = 'woman', male = c('man', 'male')), race = race_3cats, age_years = age_years, chol_total_mgdl = chol_total_mgdl, chol_hdl_mgdl = chol_hdl_mgdl, bp_sys_mmhg = bp_sys_mmhg, bp_meds = bp_meds, smoke_current = smoke_current, diabetes = diabetes, race_levels = list(black = 'AA', white = c('white', 'other')), smoke_current_levels = list(no = c('no', 'former', 'never'), yes = 'Yes'), bp_meds_levels = list(no = 'No', yes = 'Yes'), diabetes_levels = list(no = 'No', yes = 'Yes') ) )


If you have ever attended WindyCityRails: Thank you for helping to make the event more exciting every year. Organizers strive to give developers actionable technical information in a conference format. So far, it’s working!
Context Changes Everything
There are some cases where time zone information is absolutely critical. For example: When scheduling a video conference that crosses national boundaries.
A few hours ago, Google sent me a reminder about today’s LinuxBarbados meeting. The group meets via video conferencing software over the web. Google’s reminder was confusing because it showed the time without the time zone (screenshot below). LinuxBarbados is based in the Caribbean, and some of the members participate from other time zones.
Google’s automated reminder said 3pm - 4pm
with no time zone reference. How confusing! Members of the group received the same automated reminder with the same information, regardless of time zone.
Chicago Node.js
Chicago Node.js user group invited me to present Node.js Under Water, an overview of the OpenROV underwater robot, this evening. Slides appear below.
TheEvery version of this talk is tailored to the audience. This version focuses on OpenROV hardware components since this group certainly knows Node.js. Information has been added on hardware gotchas and tether management.
Thank you Chicago Node.js organizers and members for having me.
No Windows. Stronger Planes.
It is always good to start the new year with something inspirational. Technicon Design created a 3-minute video to demonstrate their IXION Windowless Jet Concept. Worth watching full screen.
How can a plane with no windows offer better views for passengers?
Looking Inside the Pygments Plugin
This blog uses pygments.rb for syntax highlighting. Recently pygments.rb
stopped working, so I had to dig inside to determine the problem and apply a solution.
Full disclosure: Pygments didn’t simply stop working. I applied updates related to Octopress and Lunr.js, and then it stopped working. So the root cause is me! Rather than back-out the updates, I decided to push forward because Lunr.js will improve the search experience for visitors. Search options will be discussed in a future post.
Starting With the Error Message
As with all Octopress based blogs, the $ rake generate
command creates a new set of static pages every time the command gets run. Normally the process is smooth. Here’s the error message that resulted this morning.
1 2 3 4 5 6 7 |
|
What unknown language? Something was fishy. Fortunately, pygments
is an open source plugin. Solving the problem was non-trivial, but doable.
OWC Thinks Ahead
Every computer user has to deal with this at some point. Your machine runs out of storage space: hard drive, SSD, or whatever mass storage you happen to use. In my case, the 512GB SSD in my early 2013 MacBook Pro was over 90% full. Time for an upgrade.
Fortunately (and contrary to what the Apple literature says) it is possible to upgrade the SSD in a MacBook Pro. RAM is different because the MBP’s RAM is soldered to the logic board. But the SSD plugs into a socket. The SSD upgrade path is well-documented on YouTube and elsewhere.
Too Soon for Alpha Centauri
Bad news: I have decided to cancel RubyCaribe for 2015. Ticket sales are insufficient to cover the cost of the event. Every person who bought a ticket will receive a full refund. All tickets sales have been refunded.
Barbados is a beautiful island nation with welcoming people, a university that leads in multiple technical areas, and a thriving economy. The RubyCaribe (pronounced ka-REEB) organizers will make the event happen in some form at some point in the future. Just not now.
Git Vulnerability on Mac OS X and Windows
Today the Git core team announced a security vulnerability and a corresponding fix. Hats off to the Mercurial team (yes, Mercurial!) for finding the problem. Hats off to the Git
team for making the announcement, and for delivering a fix so quickly.
What’s the Problem?
If your Git installation remains un-patched, then a malicious person could over-write the .git/config
directory in one of your repositories. This would allow them to alter your Git history and make changes in the repo without your knowledge. Details.
The vulnerability exists on Mac OS X and Microsoft Windows. This article will discuss solving the problem on Mac OS X only, since that is my primary development platform.
Ignite RubyConf 2014
Ignite is a presentation format where the slides advance automatically every 15 seconds whether the presenter is ready or not. Twenty slides, 15 seconds each, five minutes total. Presenters are challenged to present their ideas quickly and clearly before the time runs out.
Ignite is similar to Pecha Kucha. The two formats differ only in slide duration (20 seconds per slide with Pecha Kucha).
ChicagoRuby Expands to North Shore
Long-time observers of ChicagoRuby know that the group is always striving to achieve more. Latest move: ChicagoRuby is now hosting a monthly meetup on Chicago’s North Shore. The first meeting of ChicagoRuby: North Shore will be held on Saturday, December 6, 2014 at 10:30am. Visit Meetup.com for details and to RSVP.


home / self-improvement / lectures
How to Speak
Patrick Henry Winston, MIT
https://www.youtube.com/watch?v=Unzc731iCUY
How to start
Do not start with a joke. The audience has to adjust itself to you.
Instead, start with empowerment promise. Tell people what they're going to know at the end of the hour that they didn't know at the beginning of the hour.
This is the reason for being here.
Example: you will know new things about speaking.
Heuristics
It's a good idea to cycle on the subject. To ensure everyone gets what you're trying to say, you're going to have to repeat yourself.
Build a fence around your idea, so it's not confused with someone else's idea.
Verbal punctuation: provide some landmark places announcing it's a good place to get back on track (if someone in the audience fogged out).
Ask a question. It can't be too obvious, nor too difficult.
Time and place
11 AM
Place: Must be well lit
Slides vs. blackboard
Slides are more effective for exposing ideas, while a blackboard is better for teaching.
- Do not read directly from your slides
- Be in the image
- Keep images simple
- Eliminate clutter
Miscellaneous
- Humans are storytelling and symbolic animals


Merkel pledges bigger European share of German 5G network: CDU sources
by ReutersLEIPZIG, Germany (Reuters) - Chancellor Angela Merkel has promised leading members of her Christian Democratic party (CDU) that Germany will use more European components in the rollout of its 5G network than is the case in the existing infrastructure, top party officials said.
Merkel told a meeting of the CDU's executive committee in Leipzig on Thursday that Huawei [HWT.UL] components accounted for about 70% of the existing mobile network and that Ericsson's and Nokia's share would rise in future.
The CDU executive committee also passed a proposal for the party's congress in Leipzig this weekend that calls for the government to include a provision in draft legislation "that clarifies which requirements for security and trustworthiness telecommunication equipment suppliers have to meet...to be allowed to participate in the 5G network expansion in Germany".
The United States, fearing Huawei's equipment could be used by China for spying, has led a campaign to convince allies to bar it from their 5G networks.


Bail justice warned of James Gargasoulas risk
by Melissa IariaA bail justice who released Melbourne’s Bourke Street killer six days before the massacre was warned he would not get the mental health and drug treatment he needed if he was freed.
James Gargasoulas was paranoid, deluded and trying hard to impress police days before he mowed down and killed six pedestrians on January 20, 2017, the second day of an inquest has heard.
Six days earlier, Detective Senior Constable Murray Gentner interviewed him at St Kilda police station after his arrest earlier that day for threatening to kill a family member with a knife.
The detective tried to build a rapport to entice him to admit to crimes, while they waited for a bail justice to arrive.
“There was a jocular dealing with him. I was building rapport with him and trying to be non-authoritarian in regard to extracting information from him,” Det Sen Const Gentner said.
Gargasoulas then asked the detective: “Do you want to kill me?
“I was symbolic to him of the authority of the police department.
“There was total delusion.”
Det Sen Const Gentner said he was preparing new charges based on new admissions, and told his colleague to make sure he told the bail justice about them.
Police believed Gargasoulas would not get bail but when it became apparent he would be released, Det Sen Const Gentner said he rushed into the hearing.
He said he told the bail justice the offender needed mental health and drug treatment and wouldn’t get it if left to his own devices.
He also said Gargasoulas posed an unacceptable risk of reoffending and had behaved dangerously in public.
Det Sen Const Gentner rejected the bail justice’s recollection of events, which was that the detective told him no charges would be laid.
“I was very clear I was charging him for offences he admitted to,” he said.
During the hearing, Gargasoulas told the bail justice he had an “understanding” with police.
“The offender was trying to impress me the whole time,” Det Sen Const Gentner said.
“He thought he could come and work for me, he wanted to be an informer. He was basically saying he could help me solve a murder. He was deluded.”
The detective sent an email to his superiors after Gargasoulas was granted bail, saying he would work on nailing him for serious crimes so he could be remanded in the next six days.
But the case took a “back seat”.
“I was literally snowballed that week. I had other offenders I had to prioritise at that time,” he said.
“My superior officers were aware of that.”
He said he did not know at that time the bail justice’s decision could be appealed.
He added Gargasoulas showed drug-induced mental health issues. He did not appear psychotic at the time of interview, but his behaviour escalated over coming days.
-AAP


Your place for all things FISH! We offer a variety of species and care products that you can take home today for the lowest prices! Check out our Species page to find your favourite type of tropical fish!


ISBN Search
ISBN-13:<PHONE_NUMBER>794
ISBN-10:<PHONE_NUMBER>
Authors: Christine Bresnahan; Richard Blum
Edition: 2
Binding: Paperback
Publisher: Sybex
Published: October 2016
List Price: $70.00
$39.40
+2.64 shipping
Ships 2-3 days
Notes
$43.80
Free shipping
Ready to ship
$40.00
+3.95 shipping
$41.04
+3.99 shipping
Ships 3+ Days
$43.27
$49.36
$49.85
$46.09
+3.97 shipping
$47.04
$32.54
$31.00
+3.65 shipping
$31.37
$37.17
$39.99
$45.49
+5.99 shipping
$48.33
$62.37
$63.00


Select an Epub file to read:
This is a demonstration of an Epub reader based on Monocle, implemented entirely in Javascript. It uses the EFM library, which should be able to deal with many Epub2 and Epub3 files. If you're interested, you can see the code for this example.


|
You are in: Home > Technology
> Digital
Video > MPEG-2 Video Encoding
|
MPEG-2 Video Encoding
MPEG-2 coding offers high compression and
high quality for DVD-Video and
SVCD. | The MPEG-2 specification (ISO
13818) was designed for broadcast TV and other applications using
interlaced images. It provides higher picture quality than MPEG-1
but using a higher data rate.
At lower bit rates, MPEG-2 provides no advantage over MPEG-1. At
higher bit rates (above about 4 Mbits/s) MPEG-2 should be used in
preference to MPEG-1. Unlike MPEG-1, MPEG-2 supports interlaced TV
systems and Vertical Blanking Interval (VBI) signals.
MPEG-2 includes higher quality audio for full surround sound with
5.1 channels, ie five full bandwidth channels and one sub-woofer
channel. The channels comprise left, centre and right front and left
and right rear. A 7.1 channel version (with additional left and
right centre channels) is also possible.
MPEG-2 supports not only standard TV (SDTV), both 525 and 626
line systems, but also HDTV at up to display 1080 lines.
MPEG-2 is one of the video codecs to be used for the next
generation blue laser optical disc. MPEG-2 is also used
for digital TV broadcasts, both SDTV and HDTV.
MPEG-2 also allows variable video bit rate so that the overall
bandwidth can be limited to, say, 4 Mb/s or less without loss of
picture quality. Broadcast applications, currently using MPEG-2,
generally use 6 to 8 Mb/s fixed data rate.
MPEG-2 uses the same frame types as MPEG-1 except that each frame
comprises two interlaced fields. Also each group of pictures (GOP)
is 15 (PAL) or 18 (NTSC) frames in length maximum and comprises the
following sequence:
I B P B P B P ....
ie there is only one B-frame between P-frames instead of two for
MPEG-1.
MPEG-2 Example
The following diagram illustrates the sequence of frames in an
MPEG-2 video sequence. Note that the display order is different from
the order in which they are read from disc.
Each macroblock of a B-frame is coded as a change from the
previous or next P-frame or I-frame. The I-frames are repeated at
approximately 0.5 second intervals, otherwise the PBPBP.. pattern is
repeated indefinitely. |


- Job (class in jobport.models)
- Job.DoesNotExist
- Job.MultipleObjectsReturned
- jobbatch (jobport.models.Batch attribute)
- jobport.middleware (module)
- jobport.models (module)
|
- jobport.storage (module)
- jobport.tests (module)
- JOBSTREAMS (jobport.models.Job attribute)
- JOBTYPES (jobport.models.Job attribute)
- JobWithdrawalCheckTestCase (class in jobport.tests)
|


Id: 181
Name: Jessica's Friend
Status: Alive
Species: Human
Type:
Gender: Female
OriginName: Earth (C-137)
OriginUrl: https://rickandmortyapi.com/api/location/1
LocationName: Earth (Replacement Dimension)
LocationUrl: https://rickandmortyapi.com/api/location/20
Image: https://rickandmortyapi.com/api/character/avatar/181.jpeg
Episode: ['https://rickandmortyapi.com/api/episode/1', 'https://rickandmortyapi.com/api/episode/4', 'https://rickandmortyapi.com/api/episode/6', 'https://rickandmortyapi.com/api/episode/11', 'https://rickandmortyapi.com/api/episode/17', 'https://rickandmortyapi.com/api/episode/18', 'https://rickandmortyapi.com/api/episode/25', 'https://rickandmortyapi.com/api/episode/27']
Url: https://rickandmortyapi.com/api/character/181
Created: 2017-12-29T18:47:23.345Z


--- layout: post title: Sunday date: 2011-08-01 01:12:47.000000000 -04:00 categories: - Family Life tags: - Family - kite flying - Winter status: publish type: post published: true meta: aktt_notify_twitter: 'no' _edit_last: '1' dsq_thread_id: '1188592210' author: login: cint email<EMAIL_ADDRESS>display_name: Jacinta first_name: Jacinta last_name: '' ---
Our Sunday was spent flying kites under clear blue skies and in brilliant (almost warm) sunshine.
With family.
Finishing jobs that I thought would never be done.
Eating steamed pudding with a hot cuppa in hand at the end of a beautiful day.
Life is good.
I hope your Sunday was well spent too. Jacinta x


contaminante API¶
contaminante Core Functions¶
Basic contaminante functionality
-
contaminante.contaminante.
build_X
(time, pos_corr1, pos_corr2, flux=None, t_model=None, background=False, cbvs=None, spline=True, spline_period=0.75, sff=False, windows=20, bins=15)¶ Build a design matrix to model pixel in target pixel files
Parameters: - tpf (lightkurve.TargetPixelFile) -- Input target pixel file to make the design matrix for
- flux (np.ndarray) -- The SAP flux to use for creating the design matrix
- t_model (None or np.ndarray) -- The transit model, if None no transit model will be used in the design matrix
- cbvs (None or np.ndarray) -- Cotrending Basis vectors. If None will not be used in design matrix
- spline (bool) -- Whether to use a B-Spline in time
- spline_period (float) -- If using a spline, what time period the knots should be spaced at
Returns: SA -- The design matrix to use to detrend the input TPF
Return type:
-
contaminante.contaminante.
calculate_contamination
(tpfs, period, t0, duration, sigma=5, plot=True, cbvs=True, sff=False, windows=20, bins=5, spline_period=1, **kwargs)¶ Calculate the contamination for a target :param period: Period of transiting object in days :type period: float :param t0: Transit midpoint of transiting object in days :type t0: float :param duration: Duration of transit in days :type duration: float :param sigma: The significance level at which to create an aperture for the contaminanting source.
If the apertures are large, try increasing sigma. If the apertures are small, or contaminante fails, you could try (slightly) lowering sigma.Parameters: - plot (bool) -- If True, will generate a figure
- cbvs (bool) -- If True, will use Kepler/TESS CBVs to detrend. Default is True
- sff (bool) -- If True, will use the SFF method to correct variability. Default is False.
- spline_period (float) -- The period of a spline to fit. For short period variability, set this value to a smaller number. Default is 0.75 days.
Returns: result -- List of dictionaries containing the contamination properties If plot is True, will show a figure, and will put the matplotlib.pyplot.figure object into the result dictionary.
Return type: list of dict
-
contaminante.contaminante.
create_threshold_mask
(thumb, threshold=3, reference_pixel='max')¶ Lifted from lightkurve.
- thumb : np.ndarray
- 2D image, in this case the transit depth in every pixel divided by the error.
- threshold : float
- A value for the number of sigma by which a pixel needs to be brighter than the median flux to be included in the aperture mask.
- reference_pixel: (int, int) tuple, 'center', 'max', or None
- (col, row) pixel coordinate closest to the desired region. In this case we use the maximum of the thumbnail.
Returns: aperture_mask -- 2D boolean numpy array containing True for pixels above the threshold. Return type: ndarray


Destroy couch as revenge bathe private parts with tongue then lick owner's face and flee in terror at cucumber discovered on floor. Scratch at fleas, meow until belly rubs, hide behind curtain when vacuum cleaner is on scratch strangers and poo on owners food purr.
Claw drapes put butt in owner's face yet use lap as chair, so cough. Meow to be let out put toy mouse in food bowl run out of litter box at full speed spot something, big eyes, big eyes, crouch, shake butt, prepare to pounce chirp at birds yet pretend you want to go out but then don't. That box? i can fit in that box bleghbleghvomit my furball.
 Scream for no reason at 4 am give me attention or face the wrath of my claws and love to play with owner's hair tie. Cats secretly make all the worlds muffins leave fur on owners clothes where is my slave? I'm getting hungry.
 Scream for no reason at 4 am give me attention or face the wrath of my claws and love to play with owner's hair tie. Cats secretly make all the worlds muffins leave fur on owners clothes where is my slave? I'm getting hungry.
 Scream for no reason at 4 am give me attention or face the wrath of my claws and love to play with owner's hair tie. Cats secretly make all the worlds muffins leave fur on owners clothes where is my slave? I'm getting hungry.
 Scream for no reason at 4 am give me attention or face the wrath of my claws and love to play with owner's hair tie. Cats secretly make all the worlds muffins leave fur on owners clothes where is my slave? I'm getting hungry.
 Scream for no reason at 4 am give me attention or face the wrath of my claws and love to play with owner's hair tie. Cats secretly make all the worlds muffins leave fur on owners clothes where is my slave? I'm getting hungry.
 Scream for no reason at 4 am give me attention or face the wrath of my claws and love to play with owner's hair tie. Cats secretly make all the worlds muffins leave fur on owners clothes where is my slave? I'm getting hungry.
Email


In this project, you'll use generative adversarial networks to generate new images of faces.
You'll be using two datasets in this project:
Since the celebA dataset is complex and you're doing GANs in a project for the first time, we want you to test your neural network on MNIST before CelebA. Running the GANs on MNIST will allow you to see how well your model trains sooner.
If you're using FloydHub, set data_dir
to "/input" and use the FloydHub data ID "R5KrjnANiKVhLWAkpXhNBe".
data_dir = './data'
# FloydHub - Use with data ID "R5KrjnANiKVhLWAkpXhNBe"
#data_dir = '/input'
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import helper
helper.download_extract('mnist', data_dir)
helper.download_extract('celeba', data_dir)
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
import os
from glob import glob
from matplotlib import pyplot
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'mnist/*.jpg'))[:show_n_images], 28, 28, 'L')
pyplot.imshow(helper.images_square_grid(mnist_images, 'L'), cmap='gray')
The CelebFaces Attributes Dataset (CelebA) dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations. You can view the first number of examples by changing show_n_images
.
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'img_align_celeba/*.jpg'))[:show_n_images], 28, 28, 'RGB')
pyplot.imshow(helper.images_square_grid(mnist_images, 'RGB'))
Since the project's main focus is on building the GANs, we'll preprocess the data for you. The values of the MNIST and CelebA dataset will be in the range of -0.5 to 0.5 of 28x28 dimensional images. The CelebA images will be cropped to remove parts of the image that don't include a face, then resized down to 28x28.

You'll build the components necessary to build a GANs by implementing the following functions below:
model_inputs
discriminator
generator
model_loss
model_opt
train
This will check to make sure you have the correct version of TensorFlow and access to a GPU
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
from distutils.version import LooseVersion
import warnings
import tensorflow as tf
# Check TensorFlow Version
assert LooseVersion(tf.__version__) >= LooseVersion('1.0'), 'Please use TensorFlow version 1.0 or newer. You are using {}'.format(tf.__version__)
print('TensorFlow Version: {}'.format(tf.__version__))
# Check for a GPU
if not tf.test.gpu_device_name():
warnings.warn('No GPU found. Please use a GPU to train your neural network.')
else:
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
Implement the model_inputs
function to create TF Placeholders for the Neural Network. It should create the following placeholders:
image_width
, image_height
, and image_channels
.z_dim
.Return the placeholders in the following the tuple (tensor of real input images, tensor of z data)
import problem_unittests as tests
def model_inputs(image_width, image_height, image_channels, z_dim):
"""
Create the model inputs
:param image_width: The input image width
:param image_height: The input image height
:param image_channels: The number of image channels
:param z_dim: The dimension of Z
:return: Tuple of (tensor of real input images, tensor of z data, learning rate)
"""
# real input images placeholder
inputs_real = tf.placeholder(tf.float32, (None, image_width, image_height, image_channels), name='input_real')
# noise placeholder
inputs_z = tf.placeholder(tf.float32, (None, z_dim), name='input_z')
learning_rate = tf.placeholder(tf.float32, None, name='learn_rate')
return (inputs_real, inputs_z, learning_rate)
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_inputs(model_inputs)
Implement discriminator
to create a discriminator neural network that discriminates on images
. This function should be able to reuse the variabes in the neural network. Use tf.variable_scope
with a scope name of "discriminator" to allow the variables to be reused. The function should return a tuple of (tensor output of the generator, tensor logits of the generator).
def discriminator(images, reuse=False, alpha=0.2):
"""
Create the discriminator network
:param image: Tensor of input image(s)
:param reuse: Boolean if the weights should be reused
:return: Tuple of (tensor output of the discriminator, tensor logits of the discriminator)
"""
# TODO: Implement Function
with tf.variable_scope('discriminator', reuse=reuse):
# Input layer is 32x32x3 (maybe?)
#print('disc.images.shape:', images.shape)
image_layer1 = tf.layers.conv2d(images, 64, 5, strides=2, padding='same')
relu1 = tf.maximum(alpha * image_layer1, image_layer1)
#print('disc.image_layer1.shape:', relu1.shape)
# 16x16x32
image_layer2 = tf.layers.conv2d(relu1, 128, 5, strides=2, padding='same')
bn2 = tf.layers.batch_normalization(image_layer2, training=True)
relu2 = tf.maximum(alpha * bn2, bn2)
#print('disc.image_layer2.shape:', relu2.shape)
# 8x8x128
image_layer3 = tf.layers.conv2d(relu2, 256, 5, strides=2, padding='same')
bn3 = tf.layers.batch_normalization(image_layer3, training=True)
relu3 = tf.maximum(alpha * bn3, bn3)
#print('disc.image_layer3.shape:', relu3.shape)
# 4x4x256
# Flatten it
flat = tf.reshape(relu3, (-1, 4*4*256))
logits = tf.layers.dense(flat, 1)
out = tf.sigmoid(logits)
#print('disc.logits.shape:', logits.shape)
#print('disc.out.shape:', out.shape)
return out, logits
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_discriminator(discriminator, tf)
Implement generator
to generate an image using z
. This function should be able to reuse the variabes in the neural network. Use tf.variable_scope
with a scope name of "generator" to allow the variables to be reused. The function should return the generated 28 x 28 x out_channel_dim
images.
def generator(z, out_channel_dim, is_train=True, alpha=0.2):
"""
Create the generator network
:param z: Input z
:param out_channel_dim: The number of channels in the output image
:param is_train: Boolean if generator is being used for training
:return: The tensor output of the generator
"""
reuse = not is_train
with tf.variable_scope('generator', reuse=reuse):
#print('generator.z.shape:', z.shape)
# First fully connected layer
x1 = tf.layers.dense(z, 7*7*512)
# Reshape it to start the convolutional stack
x1 = tf.reshape(x1, (-1, 7, 7, 512))
x1 = tf.layers.batch_normalization(x1, training=is_train)
x1 = tf.maximum(alpha * x1, x1)
#print('gen.x1.shape:', x1.shape)
x2 = tf.layers.conv2d_transpose(x1, 256, 5, strides=2, padding='same')
x2 = tf.layers.batch_normalization(x2, training=is_train)
x2 = tf.maximum(alpha * x2, x2)
#print('gen.x2.shape:', x2.shape)
x3 = tf.layers.conv2d_transpose(x2, 128, 5, strides=1, padding='same')
x3 = tf.layers.batch_normalization(x3, training=is_train)
x3 = tf.maximum(alpha * x3, x3)
#print('gen.x3.shape:', x3.shape)
# Output layer
logits = tf.layers.conv2d_transpose(x3, out_channel_dim, 5, strides=2, padding='same')
#logits = tf.image.resize_images(logits, (28, 28))
#print('gen.logits.shape:', logits.shape)
# 28x28xout_channel_dim
out = tf.tanh(logits)
return out
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_generator(generator, tf)
Implement model_loss
to build the GANs for training and calculate the loss. The function should return a tuple of (discriminator loss, generator loss). Use the following functions you implemented:
discriminator(images, reuse=False)
generator(z, out_channel_dim, is_train=True)
def model_loss(input_real, input_z, out_channel_dim):
"""
Get the loss for the discriminator and generator
:param input_real: Images from the real dataset
:param input_z: Z input (i.e., noise)
:param out_channel_dim: The number of channels in the output image
:return: A tuple of (discriminator loss, generator loss)
"""
g_model = generator(z=input_z, out_channel_dim=out_channel_dim)
d_model_real, d_logits_real = discriminator(images=input_real, reuse=False)
d_model_fake, d_logits_fake = discriminator(images=g_model, reuse=True)
d_loss_real = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_real, labels=tf.ones_like(d_model_real)))
d_loss_fake = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake, labels=tf.zeros_like(d_model_fake)))
g_loss = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake, labels=tf.ones_like(d_model_fake)))
d_loss = d_loss_real + d_loss_fake
return d_loss, g_loss
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_loss(model_loss)
Implement model_opt
to create the optimization operations for the GANs. Use tf.trainable_variables
to get all the trainable variables. Filter the variables with names that are in the discriminator and generator scope names. The function should return a tuple of (discriminator training operation, generator training operation).
def model_opt(d_loss, g_loss, learning_rate, beta1):
"""
Get optimization operations
:param d_loss: Discriminator loss Tensor
:param g_loss: Generator loss Tensor
:param learning_rate: Learning Rate Placeholder
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:return: A tuple of (discriminator training optimizer, generator training optimizer)
"""
# Get weights and bias to update
t_vars = tf.trainable_variables()
d_vars = [var for var in t_vars if var.name.startswith('discriminator')]
g_vars = [var for var in t_vars if var.name.startswith('generator')]
# Optimize
with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)):
d_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(d_loss, var_list=d_vars)
g_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(g_loss, var_list=g_vars)
return d_train_opt, g_train_opt
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_opt(model_opt, tf)
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import numpy as np
def show_generator_output(sess, n_images, input_z, out_channel_dim, image_mode):
"""
Show example output for the generator
:param sess: TensorFlow session
:param n_images: Number of Images to display
:param input_z: Input Z Tensor
:param out_channel_dim: The number of channels in the output image
:param image_mode: The mode to use for images ("RGB" or "L")
"""
cmap = None if image_mode == 'RGB' else 'gray'
z_dim = input_z.get_shape().as_list()[-1]
example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])
samples = sess.run(
generator(input_z, out_channel_dim, False),
feed_dict={input_z: example_z})
images_grid = helper.images_square_grid(samples, image_mode)
pyplot.imshow(images_grid, cmap=cmap)
pyplot.show()
Implement train
to build and train the GANs. Use the following functions you implemented:
model_inputs(image_width, image_height, image_channels, z_dim)
model_loss(input_real, input_z, out_channel_dim)
model_opt(d_loss, g_loss, learning_rate, beta1)
Use the show_generator_output
to show generator
output while you train. Running show_generator_output
for every batch will drastically increase training time and increase the size of the notebook. It's recommended to print the generator
output every 100 batches.
class GAN:
def __init__(self, data_shape, z_dim, learning_rate, beta1=0.5):
height = data_shape[1]
width = data_shape[2]
channels = data_shape[3]
print('height: {}, width: {}, channels: {}, z_dim: {}'.format(height, width, channels, z_dim))
self.input_real, self.input_z, self.learning_rate = \
model_inputs(width, height, channels, z_dim)
self.d_loss, self.g_loss = model_loss(self.input_real, self.input_z, channels)
self.d_opt, self.g_opt = model_opt(self.d_loss, self.g_loss, self.learning_rate, beta1)
def train(epoch_count, batch_size, z_dim, learning_rate, beta1, get_batches, data_shape, data_image_mode):
"""
Train the GAN
:param epoch_count: Number of epochs
:param batch_size: Batch Size
:param z_dim: Z dimension
:param learning_rate: Learning Rate
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:param get_batches: Function to get batches
:param data_shape: Shape of the data
:param data_image_mode: The image mode to use for images ("RGB" or "L")
"""
print('data shape:', data_shape)
net = GAN(data_shape, z_dim, learning_rate)
saver = tf.train.Saver()
samples, losses = [], []
steps = 0
print_every = 25
show_every = 100
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for epoch_i in range(epoch_count):
for batch_images in get_batches(batch_size):
batch_images = batch_images * 2
steps += 1
# Sample random noise for G
batch_z = np.random.uniform(-1, 1, size=(batch_size, z_dim))
# Run optimizers
_ = sess.run(net.d_opt, feed_dict={
net.input_real: batch_images, net.input_z: batch_z, net.learning_rate: learning_rate})
_ = sess.run(net.g_opt, feed_dict={
net.input_real: batch_images, net.input_z: batch_z, net.learning_rate: learning_rate})
_ = sess.run(net.g_opt, feed_dict={
net.input_real: batch_images, net.input_z: batch_z, net.learning_rate: learning_rate})
if steps % print_every == 0:
# At the end of each epoch, get the losses and print them out
train_loss_d = net.d_loss.eval({
net.input_z: batch_z, net.input_real: batch_images, net.learning_rate: learning_rate})
train_loss_g = net.g_loss.eval({
net.input_z: batch_z, net.input_real: batch_images, net.learning_rate: learning_rate})
print("Epoch {}/{}...".format(epoch_i+1, epochs),
"Discriminator Loss: {:.4f}...".format(train_loss_d),
"Generator Loss: {:.4f}".format(train_loss_g))
# Save losses to view after training
losses.append((train_loss_d, train_loss_g))
if steps % show_every == 0:
show_generator_output(sess, 10, net.input_z, data_shape[3], data_image_mode)
saver.save(sess, './checkpoints/generator.ckpt')
#with open('samples.pkl', 'wb') as f:
# pkl.dump(samples, f)
return losses, samples
Test your GANs architecture on MNIST. After 2 epochs, the GANs should be able to generate images that look like handwritten digits. Make sure the loss of the generator is lower than the loss of the discriminator or close to 0.
!mkdir checkpoints
batch_size = 128
z_dim = 100
learning_rate = 0.001
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 2
mnist_dataset = helper.Dataset('mnist', glob(os.path.join(data_dir, 'mnist/*.jpg')))
tf.reset_default_graph()
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, mnist_dataset.get_batches,
mnist_dataset.shape, mnist_dataset.image_mode)
Run your GANs on CelebA. It will take around 20 minutes on the average GPU to run one epoch. You can run the whole epoch or stop when it starts to generate realistic faces.
batch_size = 64
z_dim = 200
learning_rate = 0.0001
beta1 = 0.1
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 5
celeba_dataset = helper.Dataset('celeba', glob(os.path.join(data_dir, 'img_align_celeba/*.jpg')))
tf.reset_default_graph()
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, celeba_dataset.get_batches,
celeba_dataset.shape, celeba_dataset.image_mode)
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.


Welcome. This is us.
Build is the largest Microsoft developer conference.
Our mission is to build a dynamic networking community through various activities and gatherings.
The Krewe of Build is open to current and past attendees of Microsoft Build previously known as PDC.
Our mission is to build a dynamic networking community through various activities and gatherings.
The Krewe of Build is open to current and past attendees of Microsoft Build previously known as PDC.
00:00:00:00
UNTIL MICROSOFT BUILD 2016 IN SAN FRANCISCO CALIFORNIA


Contents
All the dataset fetchers are available in mne.datasets
. To download any of the datasets,
use the data_path
(fetches full dataset) or the load_data
(fetches dataset partially) functions.
The sample data set is recorded using a 306-channel Neuromag vectorview system.
In this experiment, checkerboard patterns were presented to the subject into the left and right visual field, interspersed by tones to the left or right ear. The interval between the stimuli was 750 ms. Occasionally a smiley face was presented at the center of the visual field. The subject was asked to press a key with the right index finger as soon as possible after the appearance of the face. To fetch this dataset, do:
from mne.datasets import sample
data_path = sample.data_path() # returns the folder in which the data is locally stored.
Once the data_path
is known, its contents can be examined using IO functions.
Dataset fetchers for three Brainstorm tutorials are available. Users must agree to the license terms of these datasets before downloading them. These files are recorded in a CTF 275 system. The data is converted to fif format before being made available to MNE users. However, MNE-Python now supports IO for the ctf format as well in addition to the C converter utilities. Please consult the IO section for details.
To access the data, use the following Python commands:
from mne.datasets.brainstorm import bst_raw
data_path = bst_raw.data_path()
Further details about the data can be found at the auditory dataset tutorial on the Brainstorm website.
Examples
To access the data, use the Python command:
from mne.datasets.brainstorm import bst_resting
data_path = bst_resting.data_path()
Further details can be found at the resting state dataset tutorial on the Brainstorm website.
To access the data, use the Python command:
from mne.datasets.brainstorm import bst_raw
data_path = bst_raw.data_path()
Further details can be found at the median nerve dataset tutorial on the Brainstorm website.
This dataset contains experimental and simulated MEG data. To load data from this dataset, do:
from mne.io import Raw
from mne.datasets.megsim import load_data
raw_fnames = load_data(condition='visual', data_format='raw', data_type='experimental', verbose=True)
raw = Raw(raw_fnames[0])
Detailed description of the dataset can be found in the related publication [1].
The SPM faces dataset contains EEG, MEG and fMRI recordings on face perception. To access this dataset, do:
from mne.datasets import spm_face
data_path = spm_face.data_path()
Examples
The EEGBCI dataset is documented in [2]. The data set is available at PhysioNet [3]. The dataset contains 64-channel EEG recordings from 109 subjects and 14 runs on each subject in EDF+ format. The recordings were made using the BCI2000 system. To load a subject, do:
from mne.io import concatenate_raws, read_raw_edf
from mne.datasets import eegbci
raw_fnames = eegbci.load_data(subject, runs)
raws = [read_raw_edf(f, preload=True) for f in raw_fnames]
raw = concatenate_raws(raws)
Do not hesitate to contact MNE-Python developers on the MNE mailing list to discuss the possibility to add more publicly available datasets.
| [1] | Aine CJ, Sanfratello L, Ranken D, Best E, MacArthur JA, Wallace T, Gilliam K, Donahue CH, Montano R, Bryant JE, Scott A, Stephen JM (2012) MEG-SIM: A Web Portal for Testing MEG Analysis Methods using Realistic Simulated and Empirical Data. Neuroinform 10:141-158 |
| [2] | Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N., Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer Interface (BCI) System. IEEE TBME 51(6):1034-1043 |
| [3] | Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000) PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 101(23):e215-e220 |


Developer ID will be saved locally and you will be asked your credentials to get access token for IIJMio API.


Defined in: pushpop-table-view.js.
Class Summary
| |
Creates a new default table view cell for a TableView with bold black title text.
|
Method Summary
| |
Renders the cell using HTML provided by the getHtml() and getAccessoryHtml()
methods.
|
| {String} |
Returns a string containing HTML to be used to render the cell's accessories
based on the cell's accessory type.
|
| {String} |
Returns the type of accessory to render for this cell.
|
| {Object} |
Returns the data of the item in the data source that corresponds to this cell.
|
| {String} |
Returns a string containing HTML to be used to render the cell's accessories
based on the cell's accessory type.
|
| {String} |
Returns the type of editing accessory to render for this cell.
|
| {String} |
Returns a string containing HTML to be used to render the cell's contents based
on the cell's data.
|
| {Number} |
Returns the index of the item in the data source that corresponds to this cell.
|
| {String} |
Returns a string containing this cell's reuse identifier.
|
| {Boolean} |
Returns a flag indicating whether or not this TableViewCell is currently selected.
|
| {Number|String|Object} |
Returns the value of the item in the data source that corresponds to this cell.
|
| |
Removes this TableViewCell from the TableView's visible cells, resets its
data and prepares it to be reused by the TableView by placing it in the
reusable cells queue.
|
| |
Sets the type of accessory to render for this cell.
|
| |
Sets the data of this cell that corresponds to an item in the data source.
|
| |
Sets the type of editing accessory to render for this cell.
|
| |
Sets the index of this cell that corresponds to an item in the data source.
|
| |
Sets a flag to indicate if this TableViewCell should be selected.
|
| |
Sets the value of this cell that corresponds to an item in the data source.
|
Class Detail
Pushpop.TableViewCell(reuseIdentifier)
Creates a new default table view cell for a TableView with bold black title text.
- Parameters:
-
{String} reuseIdentifier
- A string containing an identifier that is unique
to the group of cells that this cell should belong to. This reuse identifier is
used by the TableView to recycle TableViewCells of the same style and type.
Method Detail
draw()
Renders the cell using HTML provided by the getHtml() and getAccessoryHtml()
methods.
NOTE: In most circumstances, this method shouldn't need to be
overridden when creating a custom cell class. Typically, when creating a custom
cell class, only the getHtml() method should need to be overridden.
{String}
getAccessoryHtml()
Returns a string containing HTML to be used to render the cell's accessories
based on the cell's accessory type.
{String}
getAccessoryType()
Returns the type of accessory to render for this cell. The types of available
accessories are specified in Pushpop.TableViewCell.AccessoryType.
NOTE: Table view cell accessories are rendered on the right-hand
side of the cell.
{Object}
getData()
Returns the data of the item in the data source that corresponds to this cell.
{String}
getEditingAccessoryHtml()
Returns a string containing HTML to be used to render the cell's accessories
based on the cell's accessory type.
{String}
getEditingAccessoryType()
Returns the type of editing accessory to render for this cell. The types of available
editing accessories are specified in Pushpop.TableViewCell.EditingAccessoryType.
NOTE: Table view cell editing accessories are rendered on the left-hand
side of the cell.
{String}
getHtml()
Returns a string containing HTML to be used to render the cell's contents based
on the cell's data.
NOTE: When creating a custom cell class, this method should be
overridden to provide the appropriate HTML markup for the cell.
{Number}
getIndex()
Returns the index of the item in the data source that corresponds to this cell.
{String}
getReuseIdentifier()
Returns a string containing this cell's reuse identifier.
{Boolean}
getSelected()
Returns a flag indicating whether or not this TableViewCell is currently selected.
{Number|String|Object}
getValue()
Returns the value of the item in the data source that corresponds to this cell.
NOTE: This method is typically only used by "input" cell types. When
setData() is called, the cell's value will be set to the |value| property of the
cell's data (e.g.: this.getData().value). The value that is returned by this method
originates from the |value| property of the cell's data.
prepareForReuse()
Removes this TableViewCell from the TableView's visible cells, resets its
data and prepares it to be reused by the TableView by placing it in the
reusable cells queue.
setAccessoryType(accessoryType)
Sets the type of accessory to render for this cell. The types of available
accessories are specified in Pushpop.TableViewCell.AccessoryType.
NOTE: Table view cell accessories are rendered on the right-hand
side of the cell.
- Parameters:
-
{String} accessoryType
- The type of accessory to render for this cell.
setData(data)
Sets the data of this cell that corresponds to an item in the data source.
NOTE: This method will set the cell's value to the |value| property
of the provided data.
- Parameters:
-
{Object} data
- The data of an item in the data source to assign to this cell.
setEditingAccessoryType(editingAccessoryType)
Sets the type of editing accessory to render for this cell. The types of available
editing accessories are specified in Pushpop.TableViewCell.EditingAccessoryType.
NOTE: Table view cell editing accessories are rendered on the left-hand
side of the cell.
- Parameters:
-
{String} editingAccessoryType
- The type of editing accessory to render for this cell.
setIndex(index)
Sets the index of this cell that corresponds to an item in the data source.
- Parameters:
-
{Number} index
- The index of an item in the data source to assign to this cell.
setSelected(value)
Sets a flag to indicate if this TableViewCell should be selected.
- Parameters:
-
{Boolean} value
- A boolean value to determine if this cell should be selected.
setValue(value)
Sets the value of this cell that corresponds to an item in the data source.
NOTE: This method is typically only used by "input" cell types. When
setData() is called, this method is called to set the |value| property of the
cell's data (e.g.: this.getData().value). The value that is set by this method
will also replace the value of the |value| property of the cell's data.
- Parameters:
-
{Number|String|Object} value
- The value of an item in the data source to assign to this cell.


SA Loans
SA Loans, South African Loans Management Web Application allows small to medium sized financial services companies , to easily manage their loan facilities, risk, and also their clients.
How to use SA Loans
SA Loans Features
-
Leads Gathering
- SA Loans allows your Company Marketing Employees to gather leads in the fields and have your office respond to those leads at the same time as any update on your application is seen everywhere at the same time.
- this will highly improve convention rates for your Marketing Department, directly translating to more income for your company.
- Leads can also be converted into loan taking clients without further data input as records will already have been
-
There are two portions to our Credit Rating Facility , Client History and Global History .
Credit Rating
- Client History is a local credit history of the client this is the history of the client within your financial institution
- Global History is a history of the client within your financial institutions and also other financial institutions that uses Sa Loans.
Within the Credit Rating Section of our financial services portal there is also a client tracing module which allows your financial institution to trace clients details as you need them.
The module can help- Find Client known Addresses
- Verify Client South African ID Numbers
- Verify Drivers License
- Run a complete consumer trace on Client
- Find an ID Number with a Cell Number of the Client
- Verify & Trace Client's Bank Account Details
Loans Module
- Module also helps to calculate loan Affordability
- Interest Rates
- Loan Repayment Terms
After a loan is activated SA Loans also helps with tracing which loans have been actually paid to clients bank accounts and also helps with sending notification messages to the correct employee or employer to approve the loan and also make payment to the client upon approval.
Employees can also use the loans module to open and edit personal details of clients who where given loans before say in the case of change of address, bank account details, employment information, and or contact details.
Payments Module
Employee Profile
The module basically tracks employee activity and helps to serve as a reminder in case the employee has to remember what he/she did in a certain date. The profile section is directly linked to the forms where such actions have been performed


 Read these!
Put all your worth while Convos here.
Let's talk about that love life
Stalker info!
All those things that those stalkers and Pedos need
Misc
All that stuff that you want to put on here but still unsure where it should go.
Best viewed in Google Chrome!
Click the side tabs to go around my profile.


Ticket Hours
Edit Hours for
Ticket #${ticket.id}
Worker
Hours worked
Date
Log
Remove Hours
${record['worker']}
:
${record['hours_worked']}:${'%02d' % record['minutes_worked']}
${to_unicode(record['date_started'])}
${record['comments']}
Total:
${total} hours
Estimated:
${ticket['estimatedhours']} hours
Add Hours
hours
minutes by
${user}
${req.authname}
on
${to_unicode(month[1])}
${day[0]}
${year}
Description (optional):


The above image is of the previous Firefox icon. In 2019, Firefox released a new, slick icon. The new icon makes the fox less prominent by morphing it more into a 'swoosh'. The change was partly made to modernize their brand, but also to create an overarching identity for all Firefox products.
Some information for this site was derived from this source.
To learn more about Mozilla's principles and mission, please visit the Mozilla Manifesto.


|
GPGPU-Sim
|
Go to the source code of this file.
Functions | |
| int | sass_parse () |
| int | ptx_parse () |
| int | elf_parse () |
| void | output (const char *text) |
| void | output (const std::string text) |
| std::string | fileToString (const char *fileName) |
| std::string | extractFilename (const std::string &path) |
| int | main (int argc, char *argv[]) |
Variables | |
| cuobjdumpInstList * | g_instList = new cuobjdumpInstList() |
| cuobjdumpInstList * | g_headerList = new cuobjdumpInstList() |
| FILE * | sass_in = (FILE *) 0 |
| FILE * | ptx_in |
| FILE * | elf_in = (FILE *) 0 |
| int | g_error_detected |
| FILE * | bin_in |
| FILE * | ptxplus_out |
| int elf_parse | ( | ) |
| std::string extractFilename | ( | const std::string & | path | ) |
Definition at line 74 of file cuobjdump_to_ptxplus.cc.
| std::string fileToString | ( | const char * | fileName | ) |
Definition at line 64 of file cuobjdump_to_ptxplus.cc.
Definition at line 79 of file cuobjdump_to_ptxplus.cc.
| void output | ( | const char * | text | ) |
Definition at line 54 of file cuobjdump_to_ptxplus.cc.
| void output | ( | const std::string | text | ) |
Definition at line 60 of file cuobjdump_to_ptxplus.cc.
| int ptx_parse | ( | ) |
| int sass_parse | ( | ) |
| FILE* bin_in |
Definition at line 51 of file cuobjdump_to_ptxplus.cc.
| FILE * elf_in = (FILE *) 0 |
Definition at line 381 of file elf_lexer.cc.
| int g_error_detected |
Definition at line 54 of file ptx_parser.cc.
| cuobjdumpInstList* g_headerList = new cuobjdumpInstList() |
Definition at line 38 of file cuobjdump_to_ptxplus.cc.
| cuobjdumpInstList* g_instList = new cuobjdumpInstList() |
Definition at line 37 of file cuobjdump_to_ptxplus.cc.
| FILE* ptx_in |
| FILE* ptxplus_out |
Definition at line 52 of file cuobjdump_to_ptxplus.cc.
| FILE * sass_in = (FILE *) 0 |
Definition at line 381 of file sass_lexer.cc.


Origin / Master
- master is the current local branch
- origin/master is a local copy (duplicate) of the current branch named "master" on the remote named "origin"
- origin is the current remote branch
push
fetch - use merge (fast-forward) to point master to same commit
fetch after I make changes locally - use merge commit
- * fetch before you work
- * fetch before you push
- * fetch often
Managing Passwords
Password Caching on a Mac
or
Generating SSH Keys on your computer
Terminal
Configure
git config --global user.name ""
git config --global user.email ""
authenticate automatically without entering name/pass each sessiongit config --global credential.helper osxkeychain
Create repo
to create repo
git init
Status ** USE OFTEN **
git status
displays untracked filesgit status -u
Stage
stages filegit add <file>
adds all files/folders in current folder to stagegit add .
Commit
commits all with a messagegit commit -m "<message>"
add and commit with a messagegit commit -am "<message>"
if forget to use -m and you're in VIM (write and save file)esc :wq
add staged files to previous commitgit commit --amend -m "<message>"
Branch
displays all branches
git branch
create branch (must still checkout)
git branch <folder>
delete branch
git branch -d <folder>
Checkout
switch to specified branch, so can start working in it
git checkout <folder>
creates a new branch and checks it out
git checkout -b <folder>
detach the commit and revert back to the last version of the commit
git checkout <commit>
Merge
merge the branch into the current branch
git merge <branch>
Push
pushes the current branch to the remote repository
git push
-u sets up tracking so it remembers to push to particular branch each time without having to retype it
git push -u origin <branch>
Fetch / Pull
fetch synchronizes origin/master with remote repo
git fetch
merge state of remote master branch into local branch
git merge origin/master
pull the current remote repository and merges it (git pull = git fetch + git merge)
git pull
Rename
move/rename file
git mv <original file name> <new file name>
Log
list commit history
git log
list commit history condensed on one line
git log --oneline
after fetching, check the history of fetched and local branches
git log origin/master
git log master
Reset
start with log to see the list of previous SHAs
git log
Soft and mixed reset to move the HEAD of current branch to point to previous SHA leaving the files in the staging index or working directory.


This theme features a flexible, UX friendly sidebar menu and stock photos from our friends at Unsplash!
A yellow pencil with envelopes on a clean, blue backdrop!
A dark blue background with a colored pencil, a clip, and a tiny ice cream cone!

A yellow workspace with some scissors, pencils, and other objects.


Trump 'too busy' to watch impeachment hearing
President Donald Trump said on Wednesday he skipped the first televised hearings in his impeachment investigation because he was "too busy".
"I'm too busy to watch it. It's a witch hunt, it's a hoax, I'm too busy to watch it. So, I'm sure I'll get a report," Trump told reporters.
Earlier, Trump spokesperson Stephanie Grisham said that Trump spent the morning in the Oval Office "working."
Trump later greeted Turkey's president, Recep Tayyip Erdogan, at the White House.
But despite his claim to be ignoring the impeachment drama, his Twitter account featured a barrage of retweeted statements from opponents of the congressional investigation.


Create a channel with
+
N
Create a channel
Channels are where your members communicate. They are best when organized around a topic - #proj-budget, for example.
Name
80
Description
Switch
Make private
When a channel is set to private, it can only be viewed or joined by invitation.
Create


Apiary generates and solves the Spelling Bee word puzzle. Spelling Bee was created by Frank Longo and appears weekly in The New York Times Magazine (Apiary is not affiliated with either).
Apiary is in beta. Not all features have been implemented and there are some bugs.
Change any cell in the honeycomb simply by clicking on it and typing a new letter. The list of words updates automatically.
An option to create a new puzzle from random letters is currently being developed.
The objective of Spelling Bee is to make as many words as possible from the letters in the honeycomb.


Citations
M. Sipser, Introduction to the Theory of Computation, 3rd ed. Cengage Learning, 2015.
Princeton University. (2020) COS 126: Syllabus (Spring 2020). Available: https://www.cs.princeton.edu/courses/archive/spring20/cos126/.
J. E. Hopcroft, R. D. Motwani, and J. D. Ullman, Introduction to Automata Theory, Languages, and Computation, 2nd ed. Pearson Education, 2014.


SPIN THE WHEEEL
Dashboard
Add contestants
Add contestants
×
Write contestant name on each line
Winner!!!
×
×
Spinning wheel
SPIN THE WHEEL
Contestants


Have your eCommerce site built with world-renowned online store platform WooCommerce!
We provide a service of free upload of product information to your website for up to 100 products. Conditions apply.
Integrate a comprehensive shopping cart and payment gateway for a smoother checkout experience.
Motivate your customers to shop more with online Coupon Codes!
Simplify the math. This feature will automatically handle your tax and shipping calculations for every purchase.
Give your team access to manage orders and view reports, upload new stock, remove old stock, and more. Manage your store with a tiered system of employee access made simple enough for anyone to pick up and understand.
Send email notifications to customers after they make a purchase or when their order is complete. Or let them know about your latest deals. The sky's the limit!
Cover your bases with a payment system that supports PayPal, Amazon Pay, Visa, MasterCard and American Express.
Auto-detect your customer's address to help simplify shipping calculations.
Sell physical products that will ship or be delivered to a customer, and also digital products that they can download or any combination of the two. Go wild!


Just another front-end engineer, currently I help the Consulta Remédios to make your Ecommerce and your open source style guide: cr-ui. With technologies like: Vue.js, Vuex, Slim, Saas, Less, AMP and a lot of Javascript.
As a programmer, I'm in a constant search for better practices and also experimenting new things.
CalculoSimples - a site with several types of calculators, to solve calculations easily and quickly.


Welcome to Black Tie Catering company, located in Kirtipur, Kathmandu! We are an off-site catering company serving Every Region. The Catering Company has a team focused on making your vision a reality
You become our guest, a part of our family.


Rapide64a
A quick board for using the
atmega64a a cheap and full of pins atmega series micro controller. The board has such a shape to be plugged on a recently acquired 8x8 RGB led matrix.
Eagle files :
https://code.google.com/p/alanarduinotools/source/browse/#svn%2Ftrunk%2Feagle%2FRapide64a
Projects using it
README how to fix the bug on board v1.0
There's an error on the v1.0 version : the SPI programming pins are NOT the labelled MISO/MOSI ones (see atmega64a). To use that version, cut the 2 traces on the top side of the board (the red lines circled in yellow) and put 2 blue wires from PE0 and PE1 to the SPI programmer.