bent_plume_model.LagElement¶
| Release: | 1.1 |
|---|---|
| Date: | Nov 08, 2017 |
-
class
bent_plume_model.
LagElement
(t0, q0, D, profile, p, particles, tracers, chem_names)[source][source]¶ Manages the Lagragian plume element state space and derived variables
Translates the state space variables for a Lagrangian plume element into its individual parts and derived quantitites.
Parameters: t0 : float
Initial time of the simulation (s)
q0 : ndarray
Initial values of the simulation state space, q
D : float
Diameter for the equivalent circular cross-section of the release (m)
profile :
ambient.Profile
Ambient CTD data
p :
ModelParams
Container for the fixed model parameters
particles : list of
Particle
objectsList of
Particle
objects describing each dispersed phase in the simulationtracers : string list
List of passive tracers in the discharge. These can be chemicals present in the ambient
profile
data, and if so, entrainment of these chemicals will change the concentrations computed for these tracers. However, none of these concentrations are used in the dissolution of the dispersed phase. Hence, tracers should not contain any chemicals present in the dispersed phase particles.chem_names : string list
List of chemical parameters to track for the dissolution. Only the parameters in this list will be used to set background concentration for the dissolution, and the concentrations of these parameters are computed separately from those listed in tracers or inputed from the discharge through cj.
Attributes
t0 (float) Initial time of the simulation (s) q0 (ndarray) Initial values of the simulation state space, q D (float) Diameter for the equivalent circular cross-section of the release (m) tracers (string list) List of passive tracers in the discharge. These can be chemicals present in the ambient profile
data, and if so, entrainment of these chemicals will change the concentrations computed for these tracers. However, none of these concentrations are used in the dissolution of the dispersed phase. Hence, tracers should not contain any chemicals present in the dispersed phase particles.chem_names (string list) List of chemical parameters to track for the dissolution. Only the parameters in this list will be used to set background concentration for the dissolution, and the concentrations of these parameters are computed separately from those listed in tracers or inputed from the discharge through cj. len (int) Number of variables in the state space q (–) ntracers (int) Number of passive chemical tracers (–) nchems (int) Number of chemicals tracked for dissolution of the dispersed phase particles (–) np (int) Number of dispersed phase particles (–) t (float) Independent variable for the current time (s) q (ndarray) Dependent variable for the current state space M (float) Mass of the Lagrangian element (kg) Se (float) Salt in the Lagrangian element (psu kg) He (float) Heat of the Lagrangian element (J) Jx (float) Dynamic momentum of the Lagrangian element in the x-direction (kg m/s) Jy (float) Dynamic momentum of the Lagrangian element in the y-direction (kg m/s) Jz (float) Dynamic momentum of the Lagrangian element in the z-direction (kg m/s) H (float) Relative thickness of the Lagrangian element h/V (s) x (float) Current x-position of the Lagrangian element (m) y (float) Current y-position of the Lagrangian element (m) z (float) Current z-position of the Lagrangian element (m) s (float) Current s-position along the centerline of the plume for the Lagrangian element (m) M_p (dict of ndarrays) For integer key: the total mass fluxes (kg/s) of each component in a particle. H_p (ndarray) Total heat flux for each particle (J/s) t_p (ndarray) Time since release for each particle (s) X_p (ndarray) Position of each particle in local plume coordinates (l,n,m) (m). cpe (ndarray) Masses of the chemical components involved in dissolution (kg) cte (ndarray) Masses of the passive tracers in the plume (concentration kg) Pa (float) Ambient pressure at the current element location (Pa) Ta (float) Ambient temperature at the current element location (K) Sa (float) Ambient salinity at the current element location (psu) ua (float) Crossflow velocity in the x-direction at the current element location (m/s) ca_chems (ndarray) Ambient concentration of the chemical components involved in dissolution at the current element location (kg/m^3) ca_tracers : Ambient concentration of the passive tracers in the plume at the current element location (concentration) rho_a (float) Ambient density at the current element location (kg/m^3) S (float) Salinity of the Lagrangian element (psu) T (float) Temperature of the Lagrangian element (T) c_chems : Concentration of the chemical components involved in dissolution for the Lagrangian element (kg/m^3) c_tracers : Concentration of the passive tracers in the Lagrangian element (concentration) u (float) Velocity in the x-direction of the Lagrangian element (m/s) v (float) Velocity in the y-direction of the Lagrangian element (m/s) w (float) Velocity in the z-direction of the Lagrangian element (m/s) hvel (float) Velocity in the horizontal plane for the Lagrangian element (m/s) V (float) Velocity in the s-direction of the Lagrangian element (m/s) h (float) Current thickness of the Lagrangian element (m) rho (float) Density of the entrained seawater in the Lagrangian element (kg/m^3) b (float) Half-width of the Lagrangian element (m) sin_p (float) The sine of the angle phi (–) cos_p (float) The cosine of the angle phi (–) sin_t (float) The sine of the angle theta (–) cos_t (float) The cosine of the angle theta (–) phi (float) The vertical angle from horizontal of the current plume trajectory (rad in range +/- pi/2). Since z is positive down (depth), phi = pi/2 point down and -pi/2 points up. theta (float) The lateral angle in the horizontal plane from the x-axis to the current plume trajectory (rad in range 0 to 2 pi) mp (ndarray) Masses of each of the dispersed phase particles in the particles variable fb (ndarray) Buoyant force for each of the dispersed phase particles in the particles variable as density difference (kg/m^3) x_p (ndarray) Mp (float) Total mass of dispersed phases in the Lagrangian element (kg) Fb (float) Total buoyant force as density difference of the dispersed phases in the Lagrangian element (kg/m^3) Methods
update
(t, q, profile, p[, particles])Update the LagElement
object with the current local conditionsLagElement.update
(t, q, profile, p[, particles])Update the LagElement
object with the current local conditions


Algorithms can manually subscribe to data for specific assets they need or use universes to choose groups of assets based on filtering criteria (e.g. all stocks with volumes greater than $10M/day). See more about Universes here.
To manually subscribe to a specific asset you can call the $[AddEquity(),M:QuantConnect.Algorithm.QCAlgorithm.AddEquity], $[AddForex(),M:QuantConnect.Algorithm.QCAlgorithm.AddForex], $[AddCrypto(),M:QuantConnect.Algorithm.QCAlgorithm.AddCrypto], $[AddCfd(),M:QuantConnect.Algorithm.QCAlgorithm.AddCfd] and $[AddOption(),M:QuantConnect.Algorithm.QCAlgorithm.AddOption] methods in your Initialize() method. There is no official limit to how much data you can ask for, but there are practical resource limitations.
QuantConnect supports international trading across multiple timezones and markets. The $[Market,T:QuantConnect.Market] parameter is used to distinguish between the same tickers on different exchanges (e.g. OANDA offers EURUSD but has different rates).
QuantConnect provides 40TB of data. Check out more information about our data in our data library. The resolution of the data available depends on the type of data. For Equities, Futures, Forex, and Crypto we provide Tick, Second, Minute, Hourly, and Daily resolution. For Options, we only have minute bar data. These are specified by the $[Resolution,T:QuantConnect.Resolution] enum.
If there is a gap in the data (e.g. because there are no trades), by default the data is still pumped into your strategy on each time step. This behavior is called "fillForward" and defaults to true. You can disable this by setting fillForward to false.
By default equity data in QuantConnect is Split and Dividend adjusted backwards in time to give smooth continuous prices. This allows easy use for indicators. Some algorithms need raw or partially adjusted price data. You can control this with the $[SetDataNormalizationMode(),M:QuantConnect.Securities.Security.SetDataNormalizationMode] method. The $[DataNormalizationMode,T:QuantConnect.DataNormalizationMode] enum has the values Adjusted (default), Raw, SplitAdjusted, and TotalReturn. When data is set to Raw mode the dividends are paid as cash into your algorithm, and the splits are directly applied to your holding quantity.
| Data Adjustment Modes | |
|---|---|
| Adjusted (default) |
DataNormalizationMode.Adjusted
Splits and dividends are backwards adjusted into the price of the asset. The price today is identical to current market price. For more information on this see Investopedia's article Adjusted Pricing. |
| Raw | DataNormalizationMode.Raw
No modifications to the asset price at all. Dividends are paid in cash; splits are applied directly to your portfolio quantity. |
| SplitAdjusted | DataNormalizationMode.SplitAdjusted
Only equity splits are applied to the price adjustment, while dividends are still paid in cash to your portfolio. This allows for management of the dividend payments (e.g. reinvestment) while still giving a smooth curve for indicators. |
| TotalReturn | DataNormalizationMode.TotalReturn
Return of the investment adding the dividend sum to the initial asset price. For more information on this see Investopedia's article Total Returns. |
If you have your own custom data you'd like to backtest against, check out the custom data section.
// Complete Add Equity API - Including Default Parameters: AddEquity(string ticker, Resolution resolution = Resolution.Minute, string market = Market.USA, bool fillDataForward = true, decimal leverage = 0m, bool extendedMarketHours = false) //Complete Add Forex API - Including Default Parameters: AddForex(string ticker, Resolution resolution = Resolution.Minute, string market = Market.OANDA, bool fillDataForward = true, decimal leverage = 0m)
AddEquity("AAPL"); //Add Apple 1 minute bars (minute by default). AddForex("EURUSD", Resolution.Second); //Add EURUSD 1 second bars.
this.AddEquity("SPY", Resolution.Minute) |> ignore this.AddForex("EURUSD", Resolution.Second) |> ignore
self.AddEquity("SPY") # Default to minute bars self.AddForex("EURUSD", Resolution.Second) # Set second bars.
//Setting the data normalization mode for the MSFT security to raw (pay dividends as cash) Securities["MSFT"].SetDataNormalizationMode(DataNormalizationMode.Raw);
# Setting the data normalization mode for the MSFT security to raw (pay dividends as cash) self.Securities["SPY"].SetDataNormalizationMode(DataNormalizationMode.Raw);
(* Setting MSFT security to use raw prices *) this.Securities.Item("MSFT").SetDataNormalizationMode(DataNormalizationMode.Raw);


A B C D E F G H I K L M N O P Q R S T U V W X Y
All Classes All Packages
All Classes All Packages
All Classes All Packages
P
- PalletteMaker - Class in workspaces
-
This class creates and holds the visuals of selecting a palette for a workspace.
- PalletteMaker() - Constructor for class workspaces.PalletteMaker
-
Constructor for PalletteMaker class.
- PaneProperties - Class in view.mainpane
-
A container used to contain and set necessary properties of a pane in the main pane.
- PaneProperties(Node, String) - Constructor for class view.mainpane.PaneProperties
-
Instantiates an instance, setting default values of the private variables of the class.
- ParamOperator - Interface in controller.interfaces
-
This is the interface used for the operator.
- parseCommands(String) - Method in class controller.Controller
-
does the actual parsing of the commands and returns a list of commands that the front end uses to update
- parseCommands(String) - Method in interface controller.interfaces.ControlInterface
- parseValues(String) - Method in class controller.SpecialOperation
-
takes a string of commands and splits it by the whitespace
- PEN_DOWN - Static variable in class controller.operations.PenDown
- PEN_UP - Static variable in class controller.operations.PenUp
- PenDown - Class in controller.operations
-
puts the pen down
- PenDown(Model) - Constructor for class controller.operations.PenDown
- PenStatusCommand - Class in utilities.Commands
-
Command object that tells the front end whether the pen is up or down for a given turtle.
- PenStatusCommand(int, boolean) - Constructor for class utilities.Commands.PenStatusCommand
-
Constructor for the PenStatusCommand class.
- penUp(int, String) - Method in class model.Model
- penUp(int, String) - Method in interface model.StaticModel
- PenUp - Class in controller.operations
-
pulls the pen up
- PenUp(Model) - Constructor for class controller.operations.PenUp
- Pi - Class in controller.operations
-
returns the Pi value
- Pi(Model) - Constructor for class controller.operations.Pi
- Power - Class in controller.operations
-
returns the param at 0 to the power of param at 1
- Power(Model) - Constructor for class controller.operations.Power
- Product - Class in controller.operations
-
returns the product of the two params
- Product(Model) - Constructor for class controller.operations.Product
- ProgramParser - Class in controller
-
Simple parser based on regular expressions that matches program strings to kinds of language features.
- ProgramParser() - Constructor for class controller.ProgramParser
- ProgramParser(String) - Constructor for class controller.ProgramParser
All Classes All Packages


LCC's MA Photography programme embraces the diversity of visual expression, across media and genres, that is contemporary photographic practice. As the class of 2017, we come from an international range of cultural and experiential backgrounds, and over the past year we have been inspiring each other to push the boundaries of modern photography through experimental practice, theoretical contextualisation and active research. An open-minded, progressive and multimedia approach has given us the freedom and autonomy to make thoughtful, bold, provocative and conceptually absorbing works that engage with our current challenging times.


Email address
Password
Remember password
Sign in
Forgot password?


The more that you read, the more things you will know. The more that you learn, the more places you'll go.
{{quote.name}} See More {{quote.author}}
{{quote.name}}


HOME
I would
love
to hear
from you, pease feel free to reach out to me on the below platforms.
CONTACTS
EMAIL:
<EMAIL_ADDRESS>LINKEDIN
Click here
TWITTER:
@Kem_BW


def initialize_with_file(file, ffmpeg_binary = nil)
if ffmpeg_binary
@ffmpeg_binary = ffmpeg_binary
if not FileTest.exist?(@ffmpeg_binary)
raise "ffmpeg could not be found (trying #{@ffmpeg_binary})"
end
else
if not FileTest.exist?(`which ffmpeg`.chomp)
raise "ffmpeg could not be found (expected ffmpeg to be found in the Unix path)"
end
@ffmpeg_binary = "ffmpeg"
end
if not FileTest.exist?(file.gsub('"',''))
raise TranscoderError::InputFileNotFound, "File not found (#{file})"
end
@full_filename = file
@filename = File.basename(@full_filename)
@path = File.dirname(@full_filename)
@raw_response = `#{@ffmpeg_binary} -i<EMAIL_ADDRESS>2>&1`
end


dojox.gfx: Canvas events bug (Canvas version)
Click on one of the image below. An alert should pop up displaying the chosen framework name.


{# This template is based on admin:admin/includes/fieldset.html but adds bootstrap-like tabs to it #}
{{ field.contents }}
{{ field.field.help_text|safe }}


Phillip Tyler Mckinney, born July 4th, 1972, is the founding member and lead singer/songwriter for Apollo Bay. From a very young age, it was obvious that Tyler had a natural gift for music. At the age of 8, Tyler had placed 3d in the Triomphe de l'Art International Music Competition in Brussels for male operatic solo performance. At 18, Tyler attended Juiliard to study the hurdy-gurdy as well as other medieval instruments. After his education, Tyler departed from his classical roots finding a passion for indie/alternative rock. Tyler founded Apollo Bay in 2012, singing and playing guitar in the band. Tyler now lives in Denison, Tx with his wife and three children.


{% extends "layout.html" %} {% block content %}
Router Printer allow you to write something in the web page and print it out via the Thermal Printer connected to the Linkit Smart 7688
{{ form.comment.label }} {{ form.comment(rows=5, cols=27) }}


If you do not find your department or organization in the list here, please contact us to get it added.


A [page:Layers] object assigns an [page:Object3D] to 1 or more of 32
layers numbered `0` to `31` - internally the layers are stored as a
[link:https://en.wikipedia.org/wiki/Mask_(computing) bit mask], and by
default all Object3Ds are a member of layer 0.
This can be used to control visibility - an object must share a layer with
a [page:Camera camera] to be visible when that camera's view is
rendered.
All classes that inherit from [page:Object3D] have an
[page:Object3D.layers] property which is an instance of this class.
[example:webgl_layers WebGL / layers]
Create a new Layers object, with membership initially set to layer 0.
A bit mask storing which of the 32 layers this layers object is currently a member of.
layer - an integer from 0 to 31.
Remove membership of this `layer`.
layer - an integer from 0 to 31.
Add membership of this `layer`.
layer - an integer from 0 to 31.
Set membership to `layer`, and remove membership all other layers.
layers - a Layers object
Returns true if this and the passed `layers` object have at least one
layer in common.
layer - an integer from 0 to 31.
Returns true if the given layer is enabled.
layer - an integer from 0 to 31.
Toggle membership of `layer`.
Add membership to all layers.
Remove membership from all layers.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]


Welcome to my personal cubing webpage! I've been cubing since January 2008. I first became a WCA delegate in November 2013, and was appointed Senior Delegate from November 2017 to November 2021.
This website is primarily used to archive my FMC results in competition, and also to centralize resources that I have found very useful in my WCA cubing journey.


Now that the second series of apocalyptic zombie drama The Walking Dead hits the TV screens, I consider it my duty to inform Hooting Yard readers of an important fact. Lead actor Andrew Lincoln, pictured above in the guise of his character, sheriff's deputy Rick Grimes, is the son-in-law of Jethro Tull luminary Ian Anderson.
I hope the scriptwriters have taken inspiration from the family connection. In a future episode I shall expect to see a flute-playing zombie standing on one leg.


Brand Name
EN/عربي
Drinks
- Coca-Cola
20 LE
Mix of caffeine and cola flavour
0
- Smoothies
35 LE
Various Collection of flavours refreshing Iced smoothies. You can select Strawberry, Mango or Blueberry with Youghurt Smoothies.
0
Burgers
- American Angus Burger
120 LE
Mushroom and Swiss Cheese with Caramalized Onion covered with delicious taste of mayonise and garlic paste Served in 150gm/250gm/350gm
0
- Texas Chicken Burger
90 LE
Deep Fried Chicken Breast Burger topped with Spicy hot chili mayonise and pickles. Served in 250gm size Only!
0


Privacy Policy
Your privacy is important to us. To better protect your privacy we provide this notice explaining our online information practices and the choices you can make about the way your information is collected and used. To make this notice easy to find, we make it available in our footer and at every point where personally identifiable information may be requested.
Log files are maintained and analysed of all requests for files on this website's web servers. Log files do not capture personal information but do capture the user's IP address, which is automatically recognised by our web servers.
Our Commitment to Children's Privacy
Protecting the privacy of the very young is especially important. For that reason, we never collect or maintain information at our website from those we actually know are under 13, and no part of our website is structured to attract anyone under 13.
Cookies
This website does not store any information that would, on its own, allow us to identify individual users of this service without their permission. Any cookies that may be used by this website are used either solely on a per session basis or to maintain user preferences. Cookies are not shared with any third parties.


The jquery.simpletabs plugin shows a tabs bar for navigation. The tabs can be defined once, and shared across multiple HTML pages.
This demo has two pages, demo.html, and demo2.html (this page) - click on a tab to switch.
The tabs can be styled, see default jquery.simpletabs.css.
| demo2.html | demo.js |
|---|---|


A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange gifts of money. Each of these friends might or might not give some money to some or all of the other friends (although some might be cheap and give to no one). Likewise, each friend might or might not receive money from any or all of the other friends. Your goal is to deduce how much more money each person receives than they give.
The rules for gift-giving are potentially different than you might expect. Each person goes to the bank (or any other source of money) to get a certain amount of money to give and divides this money evenly among all those to whom he or she is giving a gift. No fractional money is available, so dividing 7 among 2 friends would be 3 each for the friends with 1 left over – that 1 left over goes into the giver's "account". All the participants' gift accounts start at 0 and are decreased by money given and increased by money received.
In any group of friends, some people are more giving than others (or at least may have more acquaintances) and some people have more money than others.
Given:
The grader machine is a Linux machine that uses standard Unix conventions: end of line is a single character often known as '\n'. This differs from Windows, which ends lines with two characters, '\n' and '\r'. Do not let your program get trapped by this!
| Line # | Contents | |||
|---|---|---|---|---|
| 1 | A single integer, NP | |||
| 2..NP+1 | Line i+1 contains the name of group member i | |||
| NP+2..end | NP groups of lines organized like this:
|
5 dave laura owen vick amr dave 200 3 laura owen vick owen 500 1 dave amr 150 2 vick owen laura 0 2 amr vick vick 0 0
The output is NP lines, each with the name of a person followed by a single blank followed by the net gain or loss (final_money_value - initial_money_value) for that person. The names should be printed in the same order they appear starting on line 2 of the input.
All gifts are integers. Each person gives the same integer amount of money to each friend to whom any money is given, and gives as much as possible that meets this constraint. Any money not given is kept by the giver.
dave 302 laura 66 owen -359 vick 141 amr -150
Five names: dave, laura, owen, vick, amr. Let's keep a table of the gives (money) each person 'has':
| dave | laura | owen | vick | amr |
| 0 | 0 | 0 | 0 | 0 |
| First, 'dave' splits 200 among 'laura', 'owen', and 'vick'. That comes to 66 each, with 2 left over | ||||
| -200+2 | +66 | +66 | +66 | 0 |
| → | ||||
| -198 | 66 | 66 | 66 | 0 |
| Second, 'owen' gives 500 to 'dave': | ||||
| -198+500 | 66 | 66-500 | 66 | 0 |
| → | ||||
| 302 | 66 | -434 | 66 | 0 |
| Third, 'amr' splits 150 between 'vick' and 'owen': | ||||
| 302 | 66 | -434+75 | 66+75 | -150 |
| → | ||||
| 302 | 66 | -359 | 141 | -150 |
| Fourth, 'laura' splits 0 between 'amr' and 'vick'; no changes: | ||||
| 302 | 66 | -359 | 141 | -150 |
| Finally, 'vick' gives 0 to no one: | ||||
| dave | laura | owen | vick | amr |
| 302 | 66 | -359 | 141 | -150 |


Drawn Out Process
Hello! Welcome to this super exciting project by Justin Richmond-Decker. There's not much here yet, because it still needs to be made! But, I've got a really exciting interactive experience for you already, so enjoy! And keep checking back for when this site actually looks good.


EDA of Murders in India
Being a populous country, and with a high level of poverty, it is no surprise that the crime rate is high in India. With data from 2001–2012, we can deep dive into many factors of crimes in India.
The dataset we have used contains complete information about various aspects of crimes happened in India from 2001 to 2010. There are many factors that can be analysed from this dataset. Over all, I hope this dataset helps us to understand better about India. The objective of this notebook is to see the trend of murder victims over the years as well as murder victims per state.
Compared to people of other ages the age group 18 - 30 years is more prone to be victim of the murder. The rise in 2002 numbers is maybe due to the riots of gujrat . Another age group which is most likely to be victim of murder is 30 - 50. Compared to these two groups other age groups are very small in number. From all the groups children are most likely to be safe. With almost 60000 murders Uttarpradesh has highest victims of murder. Bihar has second highest number of victims which has less than 25000 victims than Uttarpradesh. Interestingly Uttarpradesh has the highest population in the country. Bihar has less population than maharashtra still it has higher number of victims than Maharashtra. Union Territory Lakshadweep has lowest number of Murder Victims. Factors like population of the state and Population density might be responsible for the number of murder victims in the state.
Conclusion
Although country level murder rate is decreasing slowly over the years. State like Uttarpradesh , Bihar , Mahrashtra , West Bengal has the high number of victims over the years. The male age group of 18-30 is most unsafe. So if you belong to this age group Be Safe.


| | |
- scrape(url)
- Accepts a link and creates/appends a csv databse consisting of information of user poitning to his/her comment alongwith the underlyting Blog name.
- scrapeParent()
- This module pre-processes the blogs in order to scrape them through methods scrape() and scrape_blog()
- scrape_blog(url)
- Accepts a link and scrapes the Blog texts into a seperate text file for all the blogs uptil which the limit is specified.
|


---
layout: guide
permalink: ve-packages
category: Virtual Environments
guide-title: Install Additional Packages
guide-desc: Prerequisite: You must have an existing virtual environment. Instructions for creating one can be found here.
The steps below will walk you through installing additional packages in an existing virtual environment.
guide-image: ve_packages_04.png
steps:
- step-hr: hr
- step-heading: 1. Open a Terminal
- step-instruction: If you're not already logged in, follow the steps found here. In the upper-right corner, click the New button and select Terminal.
- step-image: ve_packages_01.png
- step-hr: hr
- step-heading: 2. Activate your virtual environment
- step-instruction: Run source activate <name_of_ve>
where <name_of_ve> is the name of your virtual environment. If you have forgetten and you need to see a list, you can run conda env list
.
- step-code:
lang: shell
code: |
grahamhenke@bacon:~$ source activate myEnv
(myEnv) grahamhenke@bacon:~$
- step-hr: hr
- step-heading: 3. Install packages
- step-instruction: "Now that you are in your virtual environment, you may install packages using conda install
or pip install
. For example, to install the requests
package, run:"
- step-code:
lang: shell
code: conda install requests
- step-note: "Note: We highly recommend trying conda install
first, as it installs low level dependencies that some packages (such as tensorflow) need. If this does not work, then use pip install
."
- step-hr: hr
- step-heading: 4. Open a notebook with the kernel
- step-instruction: Navigate back to the Home tab. Next, click the New button and select the name of your kernel, which is myEnv in this example.
- step-image: ve_packages_03.png
- step-hr: hr
- step-heading: 5. Import packages
- step-instruction: You can now import and use packages from your kernel. Notice the requests
package imports successfully.
- step-image: ve_packages_04.png
---


Model
Creates a new Model instance and hooks up the storage.
Constructor Summary
| Public Constructor | ||
| public |
constructor(storage: object) |
Member Summary
| Public Members | ||
| public |
storage: * |
Method Summary
| Public Methods | ||
| public |
Creates a new todo model |
|
| public |
Returns a count of all todos |
|
| public |
Finds and returns a model in storage. |
|
| public |
Removes a model from storage |
|
| public |
Updates a model by giving it an ID, data to update, and a callback to fire when the update is complete. |
Public Constructors
Public Members
public storage: * source
Public Methods
public getCount(callback: function) source
Returns a count of all todos
Params:
| Name | Type | Attribute | Description |
| callback | function | The callback to fire when the count is done. |
public read(query: string | number | object, callback: function): * source
Finds and returns a model in storage. If no query is given it'll simply return everything. If you pass in a string or number it'll look that up as the ID of the model to find. Lastly, you can pass it an object to match against.
Return:
| * |
Example:
model.read(1, func); // Will find the model with an ID of 1
model.read('1'); // Same as above
//Below will find a model with foo equalling bar and hello equalling world.
model.read({ foo: 'bar', hello: 'world' });


XZMORE(1) XZ Utils XZMORE(1) NAME xzmore, lzmore - view xz or lzma compressed (text) files SYNOPSIS xzmore [filename ...] lzmore [filename ...] DESCRIPTION xzmore is a filter which allows examination of xz(1) or lzma(1) com‐ pressed text files one screenful at a time on a soft-copy terminal. To use a pager other than the default more, set environment variable PAGER to the name of the desired program. The name lzmore is provided for backward compatibility with LZMA Utils. e or q When the prompt --More--(Next file: file) is printed, this command causes xzmore to exit. s When the prompt --More--(Next file: file) is printed, this command causes xzmore to skip the next file and continue. For list of keyboard commands supported while actually viewing the con‐ tent of a file, refer to manual of the pager you use, usually more(1). SEE ALSO more(1), xz(1), xzless(1), zmore(1) Tukaani 2010-09-27 XZMORE(1)


ERGOTRON LearnFit sit / stand student desk review
by Matt SailorsREVIEW – I have been a fan of Ergotron’s carts and stands for more than a decade and have used their clinical (healthcare) and office carts and wall mount systems at multiple institutions. When the opportunity to review a new ergonomic educational product came up, I enthusiastically volunteered to review it. The LearnFit desk is designed to address an important problem in classrooms, namely that of desks that adjust to the needs of students and educators of various body types and posture / work surface height needs.
What is it?
The Ergotron LearnFit desk is a compact sit / stand desk. It uses a familiar single-column cart configuration. The single adjustable height column allows for height adjustment and also features storage for backpacks. The desk features an integrated holder for water bottles or other vessels, a tablets / books, and a pen tray. The top surface is a porcelain / steel dry-erase surface for quick calculations or sketches which can help reduce paper waste in the classroom or office.
What’s in the box?
My LearnFit arrived in a large and moderately heavy (37 pounds) shipping box.
After opening the end of the box, I was greeted with a damaged shipping insert, which made me a bit concerned about the condition of the contents. However, the protective cap on the column had prevented any damage to the mechanism and all of the parts were undamaged.
Once everything was unloaded, the contents of the carton were revealed to be
- Base with locking casters
- Adjustable-height column
- Desk surface assembly
- Instruction packet
Hardware specs
The LearnFit desk weight approximately 35 pounds and has a footprint of approximately 22″ x 25″. It adjusts to accommodate work surface heights from 29″ to 45″ and is rated to support 15 pounds on the desk surface. However, while setting up a new workspace, I did use it to hold a 41″ 4K monitor that weighed significantly more than 15 pounds, but only for about 15 minutes.
The base sports two free and two locking casters with the locking casters facing the user. There is an adjustment lever on the near right side which activates the piston controls in the column (this will be familiar to anyone who has used an office chair with an adjustable column)
Design and features
Setup
Setting up the LearnFit took about 15 minutes a bit of swearing as some of the tolerances are very tight and require you to have things in precise alignment to get them to fully fit together. The process was
- Remove all of the parts from their protective shipping bags
-
Remove the protective cardboard insert from the column receiver in the base
-
Insert the column into the base and seat it into the receiver. The column is not fully seated until the arrows and the horizontal line disappear into the receiver. This takes a combination of finesse and brute force. I wasn’t able to fully seat the column until after I had installed the top.
-
Remove the cap that protects the piston control from the top of the column.
-
Seat the column in the receiver on the underside of the desktop.
- Cut the restraining tie on the adjustment lever
-
Remove the protective plastic from the desktop
As you can see in the photo, I hadn’t fully seated the column yet.
Performance
Upon assembling the LearnFit, the first thing I had to do was try out the dry-erase surface. I was trained as an engineer and had expansive whiteboards in my offices for years, but now that I work from home, I am suffering from white-board withdrawal. The LearnFit has helped with that.
The dry erase surface works wonderfully, although I can’t say the same from my old dry-erase markers. The enamel surface also stands up to permanent marker mishaps. This required a bit of ethanol and a clean rag to remove, and the surface was none the worse for wear.
The height adjusting mechanism works well and has a strong mechanism with easily raises the work surface up most of the way. The last 2 inches of travel requires a bit of coaxing, but it isn’t a wrestling match. The mechanism allows the desk to descend smoothly as well.
The locking casters work well and keep the desk in position when it is in use.
After using in my home office for a week or so, my high schooler asked to use it when he takes his online college courses which require him to have a clean desk upon which to work, and since the LearnFit was the only desk or table in the house without a layer of paperwork and since it is a student desk, I agreed. My son says that it is a great work surface, although he would prefer it to be a bit larger for regular use (he has a large work table in his room that he could use if he’d just clean it off). He has decided that this will be his go-to test and homework desk and I had to argue him out of it to take a couple of extra photographs. We have even used the whiteboard to work through some physics problems that he needs to figure out how to set up the problem before solving it (having a father with 12 years of post-secondary education in engineering and technology is useful sometimes, whether either of my teens wants to admit it).
I haven’t made use of the backpack hook, but it appears robust and is adjustable on the column to accommodate various sizes of packs. There is an optional shelf system that also mounts to the column, but this is an optional accessory and was not included.
In addition to my older son and me, my younger son and wife also tried out the LearnFit in various scenarios. Among the four of us, our heights range from 62″ to 72″. We were all able to find comfortable working heights whether we were sitting or standing. I have ongoing back problems and have used sitting, standing, and adjustable work surfaces for almost 20 years. The LearnFit is one of the most user-friendly small desks that I have used in that time. Like my son, I wish it was a bit bigger, but for its intended use, it is a good size (comparable or larger than the individual desks used in our local public schools). In addition to its use as a desk, the integrated tray makes it an excellent lectern as long the user is respectful of the design weight limits (I find myself leaning on lecterns and applying significantly more than 15 pounds of weight, so I didn’t test the LearnFit as a lectern).
What I like
- Good height-adjusting mechanism
- Dry-erase surface
- Integrated tray
- Locking casters
- Easy to move around
- Easy to assemble (with the caveat below)
What I’d change
- The assembly process could be slightly easier (maybe a smoother surface or dry lubricant to ease assembly of the column and base). I had to apply impulse loads much higher than 15 pounds to get the column to seat the last inch or so into the base.
- It would be nice to see a slightly larger model (8″ – 12″ wider) for use with large laptops (yes, I know these are a niche product now) while still allowing a workspace
- Cable management for use with computers
Final thoughts
I really like the concept and execution of the LearnFit, and I can see where it has a place in both office and educational settings. I didn’t put the LearnFit through an abuse cycle with an elementary-age cohort, but based on my experience with other Ergotron products in acute care and critical care settings, I believe the LearnFit would survive a year of elementary school use. Having taught at the middle-school level, I’m not sure about that environment.
There is a need to help both educators and students with their body mechanics and having the option of sitting or standing would give them the opportunity for the regular position changes recommended by experts.
Price: approximately $360, but different vendors offer discounts.
Where to buy: The LearnFit may be purchased through multiple different retail and specialty vendors including Amazon and Connection.
Source: The sample of this product was provided by Ergotron.


Start: IFPA - Technologist degree in system analysis and development.
Study of Probot, Telegraf & Arduino.
Participated of Hacktoberfest 2018.
I've completed 16 Pull Requests for #Hacktoberfest! https://t.co/bctla1SwdK
— ⚙ Tiago Danin (@_TiagoEDGE) October 27, 2018


Specifies where Jenkins will store build records on the file system. This
includes the console output and other metadata generated by a build.
This value may include the following variables:
- ${JENKINS_HOME} — Absolute path of the Jenkins home
directory
- ${ITEM_ROOTDIR} — Absolute path of the directory
where Jenkins stores the configuration and related metadata for a
given job
- ${ITEM_FULL_NAME} — The full name of a given job,
which may be slash-separated, e.g. foo/bar for the job
bar in folder foo
The value must include ${ITEM_ROOTDIR} or
${ITEM_FULL_NAME}, so that each job can store its build records
separately.
Changing this value allows you to store build records on a larger, but
slower disk, rather than on the same disk where builds are executed.
Any changes to this value will take effect as soon as this configuration
page is saved, but note that Jenkins will not automatically migrate any data
from the current build record root directory.
The default value is ${ITEM_ROOTDIR}/builds.


At its January 2002 meeting, the AHA Council accepted—on the recommendation of the Committee on Affiliated Societies—the German Historical Institute’s application for affiliation. During the year the committee recommended two new organizations for affiliations. The first was the Society of Automotive Historians (SAH), a society that encourages research, documentation, preservation, and publication of history concerning the invention, development, and influence of the automobile. Founded in 1969, the SAH foster connections and cooperation through meetings, a membership directory, bimonthly newsletters, and a semi-annual scholarly journal, Automotive History Review.
The second was the Center for History and New Media (CHNM), located at George Mason University in Fairfax, Virginia. Since 1994, the Center combines innovative digital media with the latest and best historical scholarship to promote an understanding of the past as well as broad historical literacy. As an online source for a variety of teaching and professional aids, CHNM is a useful resource for history teachers of any level, with links to 1,200 international history departments; an indexed guide to 5,000 history web sites; an annotated guide to 500 U.S. history sites; a comprehensive directory of 2,000 web site in the history of science and technology; and free software tools useful for historians and teachers. At its January 2003 meeting during the annual meeting in Chicago, Council accepted both organizations as the 113th and 114th affiliated societies. (They will, therefore, be included in the list of affiliated societies that will appear in the annual report for 2003.)
A meeting for affiliated societies was convened by the committee at the annual meeting to discuss relations between the AHA and the societies. The attending societies asserted that affiliation with the AHA was beneficial to everyone involved.
James M. McPherson
The transformation (in January 2002) of the Task Force on Graduate Education into a standing committee—the AHA Committee for Graduate Students [CGS]—represented a striking recognition of the fact that graduate students can be more than mere apprentices in the governance of the AHA.
Perhaps the most important task that the CGS accomplished in recent months was to establish direct lines of communication—through e-mail messages and surveys—with graduate student members of the AHA.
In addition, the CGS continued the task force practice of organizing sessions at AHA annual meetings based on suggestions directly received from graduate students who attend the Graduate Student Forum at the preceding annual meeting. CGS also sponsored an unprecedented number of five sessions at the 2003 annual meeting. These included “Careers in History” on the discussion of nonacademic careers and a “Nuts and Bolts” workshop on preparing for and participating in the job market.
Particularly through our liaison, Fiona Galvin, the CGS has energetically collaborated with the AHA’s Committee on Graduate Education (CGE), the body charged with carrying out the first national survey of graduate programs in history since 1959. We also successfully encouraged participation of graduate students in the CGE’s site visits to programs across the country, arguing that graduate students were uniquely qualified to interview and collect anecdotal data from other graduate students.
As key members of the AHA, graduate students need to and will continue to play a central role in shaping the debates and direction of the profession today in ways that will ensure its advance along increasingly equitable lines.
Lillian Guerra
During 2002 the AHA’s Committee on International Historical Activities actively worked with the bureau of the International Congress of Historical Sciences (ICHS, also often referred to, by the abbreviation from the French, as CISH) toward organizing the 20th International Congress to be held July 3–9, 2005, in Sydney, Australia. Dane Kennedy and Arnita Jones participated on behalf of the AHA in the General Assembly of the ICHS held September 2–3, 2002, at Amsterdam and also attended a symposium there on the theme, “Presenting the Nation: Can It Be Done?”
The AHA committee, having invited proposals from members interested in participating as organizers, presenters, or discussants in the congress, forwarded to the bureau of ICHS over 60 panel proposals and 17 nominations for session organizers and discussants.
Dane Kennedy
For the Committee on Minority Historians, 2002 was an especially productive year . We completed the diversity series of pamphlets and began arrangements to have some of the titles published online. We participated in two major sessions—at the annual meetings of the Association for the Study of Afro-American Life and History and the Organization of American Historians. The committee not only contributed significantly to the survey of the Committee on Graduate Education, but also conducted its own survey of the minority members of the AHA. The aim of the latter was to determine how the AHA can best serve this particular constituency and to provide data to history departments and other bodies to assist them in their efforts to recruit and retain minority faculty, employees, and students.
At the 2003 annual meeting of the AHA, the committee organized—continuing a tradition of establishing a presence at the annual meetings—a session on the theme, “Increasing the Presence of Minority Graduate Students in the Profession.” Also continuing a practice started at the 2002 annual meeting, the committee organized a mentoring breakfast at the 2003 meeting. At this resoundingly successful gathering, graduate students were able to discuss professional concerns with senior faculty members in an informal and relaxed setting.
The committee discussed at length a statement about recruitment and retention of minority faculty, which had been issued by the Modern Language Association’s Committee on the Literature of People of Color in the United States and Canada. To facilitate broader discussion of the document (with a view to issuing a similar statement), the committee is publicizing the MLA committee’s statement.
The work of the committee was facilitated by the tireless efforts of numerous people, but as the outgoing chair, I would like to especially express my thanks to the members of the committee as well as to Noralee Frankel, Arnita Jones, Cliff Jacobs, Peleg Tal, and other AHA staff members.
Stephanie Shaw
Concern about the increasing number of historians teaching as part-time or adjunct faculty led to the creation of a permanent Joint OAH-AHA Committee on Part-Time and Adjunct Employment in January 2002, whose membership has consisted primarily of those who are, or who have in the past, taught part-time. The rise in part-time and adjunct employment is a serious, growing issue in the profession. The litany of problems include abysmally low pay, often total lack of benefits (medical coverage is frequently the most pressing need, but the lack of pension funds has serious long range implications), ineligibility for grants or travel money (to help with research that just might make escape possible), poor or no office space or assistance, lack of computers (as technology becomes ever more important), and sometimes no library access.
The problem is complicated by the fact that there are those who prefer to teach part-time so that proposed solutions need to leave this possibility open. This includes retired faculty still engaged with the discipline, those with other full-time employment or family responsibilities, as well as graduate students working to complete their degrees. There are also small departments that can only offer a specialized course with a part-time/adjunct employee. Another aspect of the issue is the numerous institutions dealing with financial cuts by hiring a large number of teachers at very low wages, who then try to survive by piecing together jobs at several institutions. Solutions need to go in two directions. One is to halt and reverse the bleeding of full-time positions. The second is to make life better and fairer for those who do teach part-time. The committee’s recommendations to the OAH and AHA include provisions for a limit on the percentage of part-time faculty in a department, for increased salaries (as a percentage of what is paid to full-time faculty), benefits, office space, etc. Having the recommendations accepted is just the first step. The harder task ahead will be to convince those in control of the purse strings that this is necessary.
Maxine Lurie
The Committee on Women Historians “met” on the web between October 23 and November 4, 2002, with all members participating. Our discussions focused primarily on two issues: (1) the committee’s survey of women members and (2) the status of the pamphlet series, “Women’s and Gender History in Global Perspective.”
The survey was sent to all post-PhD female AHA members last spring, by e-mail; 361 replies were received. Members were asked to comment on whether or not gender had, in their opinion or experience, been a factor in their careers as historians. They were also asked to comment, in an open-ended format, on what factors in particular aided or hindered their advancement in the profession; whether mentoring had played any role in their careers; and on anything else they wanted the committee to know about their experiences as historians. Demographic data (year of terminal degree, type of employment, rank, race/ethnic origin) were also collected. Various members of the committee have been assessing the data since it was received, with the assistance of Cliff Jacobs of the AHA staff. The most significant findings cluster around issues of collegiality and its assessment—which are difficult to document and to correlate with women’s professional advancement. Other findings center on women’s perceptions of ongoing gender discrimination at all ranks of the professoriate.
The committee assessed the current status of the pamphlet series. The AHA has signed a contract with the University of Illinois Press for the publication of the pamphlets in volume form. Nearly all of the contracted pamphlets have been received by the series editor Bonnie Smith and reviewed by the committee. The committee was pleased to see the pamphlets moving toward publication with a major press, and grateful to the AHA staff and to Bonnie Smith for moving the process along.
The committee discussed preparations for the 2004 annual meeting. The committee also discussed its mission statement and the ongoing work of the Task Force on Graduate Education. Virginia Sanchez-Korrol was commended for her service to the committee.
I would like to take this opportunity to thank Noralee Frankel of the AHA staff for her spirited, creative, and highly professional work in support of the work of the CWH for the past three years (my tenure as chair).
Elizabeth Lunbeck
Upon recommendation by the Professional Division, Council charged the Task Force on Public History to identify ways the Association can address the interests and concerns of public historians as well as ways of deepening an understanding of and appreciation for the activities of public historians within the profession. Our final report, to be submitted to Council at the end of 2003, will include both a substantive discussion of issues and recommendations pursuant to our charge.
Two fundamental assumptions have governed our work to date. First, public history is a responsibility of all historians. Public history is not a subset of history, nor are public historians a subset of historians. Second, public history and public historians are underserved and underregarded by both the AHA and the profession, a situation that needs redress. We also note a widespread interest in and greater engagement with public history by the profession.
The task force has pursued its charge by reviewing the Statement on Standards, identifying possible changes to the annual meeting, consulting with the Committee on Graduate Education, considering public history employment, and discussing collaborations with other history-related organizations. We have also identified the need for advocacy for public history at the state level. And to identify interests, needs, and concerns related to public history and public historians, we conducted two surveys: one of all AHA members and one of public historians. We also conducted open forums at AHA’s 2002 and 2003 annual meetings.
I conclude by acknowledging the creative thinking and hard work of task force members, and the invaluable advice and support provided by AHA staff, especially Arnita Jones and Debbie Ann Doyle.
Linda Shopes
The TFIP “met” via e-mail as necessary, and at the Chicago annual meeting. Our initial charge was to advise the Council on intellectual property (IP) matters that might require Council action. Only one such matter arose this year, as I will report below, but we have been considering whether we should not attempt a project that might be of considerable use and interest to the membership—a short guide to copyright issues pertaining to historians. While there is by no means universal agreement as to what the 1998 Digital Millennium Copyright Act (DMCA) means, we believe that we can lay out some general parameters. We also propose to explore the possibility of preparing articles on recent developments in intellectual property issues for publication in Perspectives.
The Task Force had a very good discussion (through e-mail) of the efforts begun by Larry Lessig (Stanford Univ. School of Law) to challenge the recent Sonny Bono Term Extension Act, which added 20 years to the life of copyrights. The ostensible rationale for the extension was that the United States needed to conform to the new international standard of 70 years for copyrights (at a time when the U.S. standard was 50 years). The TFIP was unanimous in its view that the Bono Act created bad policy for the work of historians, and recommended to the Council that the AHA join the Association of Research Libraries’ amicus brief supporting the Lessig constitutional challenge to the Bono Act in what has become known as the Eldred v. Ashcroft case. We were subsequently solicited by a group preparing an amicus brief speaking specifically for historians, but because we felt that we should not sign two briefs, we did not recommend going forward with the second. Lessig argued our position to the United States Supreme Court this spring, and the Court will probably hand down its opinion in the late spring of 2003. This may be an extremely important decision, because the Act is being challenged on the grounds that the only constitutional basis for copyright regulation is the promotion of creativity. A decision in favor of the challenge would open the way to further litigation against aspects of the DMCA, and might be extremely important to the scholarly community.
Stanley N. Katz
The AHA Council, meeting in San Francisco in January 2002 endorsed the revision of Article II of the constitution of the Pacific Coast Branch (PCB) to clarify the purposes of the organization, specifically: “The purposes of the organization shall be the advancement of the interests of the American Historical Association, and the promotion of the historical interests of the membership with special emphasis on the United States, western Canada, Mexico, the Pacific Rim, and their inter-relationships.”
At the 2002 annual meeting of the PCB, held in August at Tucson, nearly 150 individuals participated in 37 academic sessions. The program also included two luncheon speakers—one sponsored by the Western Association of Women Historians and another honoring the hundredth anniversary of the PCB—and one banquet address by President Thomas Alexander.
The following prizes were awarded during the year: the Louis Knott Koontz Memorial Award for the most deserving article to appear in the Pacific Historical Review in the volume year 2001 to Evan Ward for his August 2001 article, “The Ghosts of William Walker: Conquest of Land and Water as Central Themes in the History of the Colorado River Delta”; the W. Turrentine Jackson Prize for an outstanding essay by a graduate student to Robert B. Campbell for his article, “Newlands, Old Lands: Native American Labor, Agrarian Ideology and the Progressive-Era State in the Making of the Newlands Reclamation Project, 1902–1926”; the W. Turrentine Jackson Dissertation Award to Jessica B. Teisch (Univ. of California at Berkeley) for her dissertation, “Engineering Progress: Californians and the Making of a Global Economy”; the Norris and Carol Hundley Award to Henry Yu for his book Thinking Orientals: Migration, Contact, and Exoticism in Modern America (Oxford University Press, 2002); the PCB Book Award jointly to Daniel Herman for his book, Hunting and the American Imagination (Smithsonian Institution Press, 2001) and to Adel Perry, for the book, On the Edge of Empire (University of Toronto Press, 2001).
Election: By mail ballots cast during the summer 2002, the PCB membership chose Roger L. Nichols (Univ. of Arizona), as president-elect; David Yoo (Claremont McKenna College), Katherine G. Morrissey (Univ. of Arizona), and Albert S. Broussard (Texas A&M Univ.), as members of the Council; and Cheryl A. Koos (California State Univ. at Los Angeles), Michael J. Gonzales (Univ. of San Diego), and Carl Abbott (Portland State Univ.) as members of the Nominating Committee.
Finances: As of December 31, 2002, the PCB held $142,210 in endowment funds for the Pacific Historical Review, the Louis Knott Koontz Award, the Norris and Carol Hundley Prize, the W. Turrentine Jackson Prize, the W. Turrentine Jackson Dissertation Award, and the PCB Reserve Fund. Total assets owned by the Branch as of December 31, 2001, were valued at $176,536. For the fiscal year, July 1, 2001, to June 30, 2002, the income for the Pacific Historical Review (which had a circulation of 1,350 in December 2001) was $103,957, and expenses (including a $3,500 subsidy to the PHR editorial office and a $4,829 royalty payment to the PCB) totaled $69,824.
W. David Baird
The 2002 Annual Meeting of the American Historical Association was, thanks to the efficiency of the AHA staff, a smoothly run and very successful event. A wide range of papers and an attendance beyond what we might have expected in light of the events of September 11, 2001, attest to the continued relevance of the AHA to the profession.
The 2002 Program Committee received 358 proposals for presentations at the conference, of which we were able to accept only 157. Proposals came not only from our local colleagues here in the United States, but from Europe, Australasia, and elsewhere. Our theme—“Frontiers”—produced a wonderful diversity of panels, and clearly spoke to the growing interest in regional comparative studies. We received an unusually high number of comparative proposals, and were able therefore to offer many panels designed to draw people from a broader than usual range of regional specialisms.
The topical breakdown of proposals received is as follows:
*Panels that are sponsored by various AHA bodies and thus guaranteed a place on the program. These are included in the figures for the “Accepted” column.
Our experience was an exhilarating and exciting one. The job of program chair is an arduous one, though made considerably easier by the experience and efficiency of the AHA staff.
We owe a tremendous debt to our Program Committee colleagues. We owe our thanks also to Gabrielle Spiegel, vice president of the Research Division, and Wm. Roger Louis, 2001 president, who were generously supportive of our ideas and efforts. We are eternally in the debt of Joe Wright, our extraordinarily gifted graduate assistant, and we are grateful also to the AHA staff, most notably Sharon K. Tune, Debbie Doyle, Vernon Horn, Robert Townsend, and Pillarisetti Sudhir.
Philippa Levine
The 117th annual meeting of the American Historical Association held in Chicago, January 2–5, 2003, was a huge success. The program featured 168 panels that covered virtually every major historical theme and topic, time period, and region of the world. Attendance throughout was excellent, and most of the sessions, including those held on Sunday, drew sizable audiences.
The 2003 Program Committee received only 203 proposals, a considerable drop from the 2002 tally of more than 350 submissions. This noticeable decline in submissions may have stemmed from a variety of reasons such as cyclical fluctuations, the absence of a specific theme for the meeting, and Chicago in January being less attractive than, say, an East or West Coast locale.
Nevertheless, the Program Committee was extremely pleased with the proposals it had to choose from and debated their pros and cons at a meeting held April 19–21, 2002, in Washington, D.C. The following is a breakdown of proposals received and accepted:
Based on my experience of serving on this year’s committee, I have several observations to make that may be worth considering in the future. As the subject distribution above reveals, we need to continue to diversify and enhance the program. We probably should be more proactive in soliciting panel proposals on Africa and the ancient period because they are traditionally underrepresented year after year. Although there were no panels that dealt exclusively with Africa, five panels included coverage of it. I suspect submissions relating to Asia, comparative, Middle East, world, and “other” will continue to increase and take their place alongside the consistently significant presence of American, European, and Latin American panels. The mix of regions will also change from year-to-year as theme-centered programs call for and encourage cross-regional comparisons.
Although several panels—especially those in the categories of “pedagogy” and “other”—were included in the program because they were sponsored submissions, it may be worth noting that they would have found a place even on their own merits.
A wonderful innovation for the 2003 meeting was the addition of six presidential sessions that enriched the program by adding content that may not have otherwise been well represented. Lynn Hunt, the 2002 president, consulted the Program Committee about her choice of topics and panelists and judiciously scheduled the presidential sessions to occupy key time slots on Thursday, Friday, and Saturday. These panels were a major highlight of the Chicago meeting. All the presentations were first-rate and attendance at some of them ran into the hundreds.
No Program Committee makes much headway without the heroic efforts of the AHA staff—especially Sharon K. Tune and Debbie Doyle—in facilitating the crucial Washington, D.C. meeting. Thanks are due as well to Lynn Hunt, the AHA Council, the members of the committee and, especially, to Lora Knight (Univ. of Utah), the committee’s graduate student assistant.
Anand A. Yang


[.dotMatrix]
The devil is in the details.
[.dotMatrix] is an event by Cyber Labs where teams are quizzed on topics ranging from significant buzz from the cyberspace and common computer science and day-to-day entities’ attributes. The kind of questions that make you feel guilty and think, "Damn! I see that everyday, how could i miss this!?"
Register in teams of 3 (each member from different academic year) here. Feel free to Contact the hosts for any issues pertaining to teams and other.
PUZZLE DAY 1:
With a lot of participation and heavy response from the audience, we are pround to announce the the list of people who successfully solved the puzzle along with their reporting times:
Correctly Answered by:
Shubham Chauhan@12:29am, WINNER
Naman Taneja@1:16am
Deepak Bhagat@1:32am
Vipul Grover@1:33am
Urvish Desai@1:43am
Abdur Rehman Danish@2:16am
Puzzle:
The latest Hitman is severly injured while stopping an attack on a city "X" (of the country of the synth programmer of The Dark Knight) in the latest season of a TV series he made appearance. The owneR Of endofliNe is also known as "Y". "Z" is the assasin created by the writer of a book having it's name same as half of the name of a book by the Laboratory Director of "S" + "Research" + "T"; "T" is home to Cantab and "S" made a funny clippy. "Z Y" 'CHANGED' the entire world. "Z Y", born in "X", designed the following awesome things: Y[0]+'1', Y[0]+'2', Y[0]+'3', Y[0]+'4', Y[0]+'5', Y[0]+'11', Y[0]+'22'. "A" was the most significant among all of them. What is "Z" + "Y" + "X" + "A"?
Solution: Konrad Zuse berlin z3
PUZZLE DAY 2:
With a lot of struggle this time though participants managed to reach the answer, we are pround to announce the the list of people who successfully solved the puzzle along with their reporting times:
Correctly Answered by:
Abdur Rehman Danish@02:17 pm, WINNER
Ankit Agrawal@02:54pm
Puzzle:
Get a Ford. Go to the southern hemisphere. Turn into a bird.  Stop it! Now find LoudGas. Do you prefer qwerty or azerty? Hail him. Do you prefer to use it alone? Use that too. That was made when LoudGas reacted while singing to release me in the last waltz. Name the reaction.
Solution: Douglas Engelbart


by Estee Cramer and Nick Reich
Posted on 15 February, 2022
SARS-CoV-2 is the name of the virus that causes COVID-19. There have been a lot of really interesting analyses of SARS-CoV-2 genomic data that look at patterns over time in the circulation of different variants. When we started writing this post, we didn’t know how to use or obtain these data, many of which are publicly available. So we wrote this primer for accessing genomic data on SARS-CoV-2 that are available for the US. These data are made public through GenBank and are pre-processed and served publicly by the Nextstrain team. We hope you find it useful!
Over the last two years, COVID-19 genomic data have been collected and stored in two central data repositories, GISAID and GenBank.
GISAID is a global science initiative that provides open-access genomic data of influenza viruses and the SARS-CoV-2 virus. With over 6 million submissions, GISAID currently hosts the largest repository for SARS-CoV-2 sequences. Because GISAID data are not in the public domain, GISAID data can only be accessed after creating a username and agreeing to a Database Access Agreement.
GenBank is an annotated collection of publicly available DNA sequences. It is the genetic sequence database of the US NIH. GenBank currently has over 3 million sequence read archive (SRA) runs and over 3.8 million nucleotide records for SARS-CoV-2. This database was created to provide access to the most up-to-date and comprehensive DNA sequence information, therefore there are no restrictions on the use or distribution of this data.
Though GISAID contains more variant data for SARS-CoV-2 globally, for projects interested in looking at data in the US may find that GenBank is sufficient. This is because much US sequencing is conducted through CDC contracts that stipulate a GenBank submission.
There are a number of naming systems in use for labeling variants for the SARS-CoV-2 virus.
Two naming systems relevant for tracking variants are Nextstrain and PANGO.
The Nextstrain naming system for COVID-19 involves labeling major clades by the year they first emerged, and a letter. For example, 19A was the first major clade detected in 2019.
A new major clade is named if it is at least 2 nucleotides away from its parent clade and if it reaches 20% frequency in the global population or for at least 2 months, or if it reaches 30% regional frequency for at least 2 months. A major clade may also be named if it is a variant of concern, even if it has not reached the required population frequency.
To signify clade major lineages with a hierarchical structure, emerging clades may be written as a string of parent clade lineages. For example, 19A.20A.20C for the major clade 20C. In the Nextstrain notation, emerging clades are listed with a parent clade and their defining nucleotide mutation or amino acid mutation. For example, 19A/28688C or 20B/S.484K. To note variants of concern, this nomenclature also labels them with their relevant spike mutation and a version numbering. For example, 20I/501Y.V1
Additional information regarding the original naming naming conventions using the Nextstrain naming structure can be found at the link: https://nextstrain.org/blog/2020-06-02-SARSCoV2-clade-naming and updated nomenclature can be found at the link https://nextstrain.org/blog/2021-01-06-updated-SARS-CoV-2-clade-naming
The rules of Pango lineage naming are complex. Information describing the naming rules for Pango lineages can be found here. In the Pango naming system, lineages are named to signify clusters of infections with shared ancestry and to highlight epidemiologically-relevant events.
For modelers conducting a variant-level analysis, we recommend using Nextstrain naming conventions. For modelers wishing to conduct a sub-variant analysis, Nextstrain naming conventions may not be specific enough and therefore PANGO naming conventions may be useful in these settings.
When looking to access genomic data, raw data is stored in a number of different file types. For variant level analyses, the “metadata” file described below is a flat tab-separated dataset that includes one row per sample and has information such as the sample’s origin, cell line, and preparation method, as well as which variant was identified in the sample.
The FASTA file contains the detailed nucleic acid or amino acid sequence information in a text fie format for for a single sample.
While genomic data is a potentially useful data source, there are flaws in the data that are worth noting at this time. One issue with using genomic data is that in order to capture emerging variants in a geographic region, experts recommend sequencing at least 5% of available samples. However, as of December 2021, there were 10 states in the US that had sequenced fewer than 2% of available samples. Thus, it is possible that within the US, variants and emerging strains are not being adequately detected. Information about the heterogenous testing rates in the US can be found in the Nature news article linked here. Additionally, in April of 2021, genomic data was only available for only 1.6% of all positive cases, thus it is possible that variant information before this date is inaccurate the national level (see another Nature article).
Another issue that may bias population estimates of variant prevalence is that there are not clear guidelines on how positive samples are selected for genotyping. If the more severe or more surprising cases are sent out to be genotyped, it may influences the results. This is problematic because without knowing how samples are selected for testing, we cannot control for this issue in models.
When using genomic data in models, it is important to consider factors such as sampling density, the timing of sample collection, the portion of the viral genome sequenced, quality of sequencing data and the mutation rate of the virus itself. All of these factors may impact the validity of variant prevalence values (see Villabona-Arenas et al.).
The Nextstrain project makes daily snapshots
of GenBank data available for the US and the
world.
Specifically, the flat tab-separated file available at
https://data.nextstrain.org/files/ncov/open/metadata.tsv.gz is updated
daily, typically around 11am or noon US Pacific time. This file is large
(>350MB as of 2022-02-09). For the below, we assume that you have
downloaded this file and unzipped it so the .tsv
file can be read in
directly.
A codebook for the fields in the dataset are available here.
Let’s start by loading some tidyverse packages that will be useful for us and then by reading in the dataset.
library(tidyverse)
library(lubridate)
theme_set(theme_bw())
genbank_global <- read_tsv("../data/metadata.tsv")
This is a large file, with 3707198 rows. For starters, we create a version of these data that contain only US data, and only retains columns we are interested in. Further, we will reformat certain columns.
us_dat <- genbank_global %>%
filter(country=="USA") %>%
mutate(date = ymd(date),
date_submitted = ymd(date_submitted),
reporting_lag = as.numeric(date_submitted - date)) %>%
select(strain, virus, Nextstrain_clade, ## info on the virus
region, country, division, location, ## info on location
host, sampling_strategy, ## info about the sample
date, date_submitted, reporting_lag) ## dates
us_dat %>%
group_by(Nextstrain_clade) %>%
summarize(n_samples = n())
#> # A tibble: 25 × 2
#> Nextstrain_clade n_samples
#> <chr> <int>
#> 1 19A 4445
#> 2 19B 3966
#> 3 20A 50509
#> 4 20B 23174
#> 5 20C 57723
#> 6 20D 613
#> 7 20E (EU1) 134
#> 8 20G 62703
#> 9 20H (Beta, V2) 2188
#> 10 20I (Alpha, V1) 184305
#> # … with 15 more rows
Note that the sampling_strategy
field is empty for all US data.
us_dat %>%
group_by(sampling_strategy) %>%
summarize(n_samples = n())
#> # A tibble: 1 × 2
#> sampling_strategy n_samples
#> <chr> <int>
#> 1 ? 1838603
The following figure shows the reporting lags by state as computed in
the data as the difference between the date
the sample was taken and
the date_submitted
, which is the date the sample was submitted to the
GenBank system. There appears to be substantial variation by location
(note the shorter lags in MA, CA and VT), with 75% of samples typically
reported by 1 month out. Note this is subsetting to look at all data
starting in August of 2021. Some analyses, for example the
Rt analysis that the Bedford Lab has
done, remove all
samples from the last 10 days, to try to remove small sample effects in
the early reporting.
us_dat %>%
filter(date > ymd("2021-08-01")) %>%
ggplot(aes(x=division, y=reporting_lag)) +
geom_boxplot() +
scale_y_log10(name= "lag (days, log scale)", breaks=c(7, 14, 21, 30, 90, 360, 720)) +
xlab(NULL) +
theme(axis.text.x = element_text(angle=60, vjust=1, hjust=1))
Plot of samples over time
us_dat %>%
group_by(date) %>%
summarize(n_samples = n()) %>%
ggplot(aes(x=date, y=n_samples)) +
geom_bar(alpha=.3, stat="identity") +
geom_smooth(span=.1, se=FALSE)
Here is a plot of the prevalence of each clade by week across 2021.
strains_of_interest <-
c("20I (Alpha, V1)",
"20J (Gamma, V3)",
"21A (Delta)",
"21C (Epsilon)",
"21I (Delta)",
"21J (Delta)",
"21K (Omicron)"
)
by_clade <- us_dat %>%
filter(year(date) == 2021) %>% ## focus only on 2021
filter(Nextstrain_clade %in% strains_of_interest) %>%
mutate(epiweek = epiweek(date)) %>%
filter(epiweek < 53) %>% ## values of 53 are at the start of 2021
group_by(Nextstrain_clade, epiweek) %>%
summarize(clade_total = n()) %>%
group_by(epiweek) %>%
mutate(total_samples = sum(clade_total),
pct_clade_in_epiweek = clade_total/total_samples)
by_clade %>%
ggplot(aes(x=epiweek, y=pct_clade_in_epiweek, color=Nextstrain_clade)) +
geom_line() +
xlab("epiweek in 2021") +
ylab("% of samples by clade")
We wish to thank all the labs whose effort and time are essential to making these important data available. Also, thanks to Trevor Bedford and the Nextstrain team for providing the processed version of the metadata files and providing some pointers and insights about these data as we were writing this post.


I was on holiday in Niuē and relax-talking with a couple of friends about life. They gave me pause to reflect on my self-perception when they told me that I was a genuinely nice person.
My internal responses to this assessment of my character were brief reluctance, shame at all the times I had been unkind that week, attempted positive absorption, and thinking of ways that my friends were also kind.
During a DEV Academy check-in, my facilitator shared some impactful insight that helped me to re-frame some of my thinking.
She shared that she is easily driven to take action to get work done in a collective setting. However, the flow can be different when it's a project that appears to only be of her. I can't remember her exact words; something to do with recognising and taking action for yourself as a worthy project.
This was powerful sharing from her and it sparked in me a realisation that I often de-prioritise my 'self' as a project. Our discussion gave me the impression that admirably, she puts work into personal growth and that the ongoing project of self-development and self-awareness is important. During our discussion, my facilitator commented that some of my ideas were 'visionary' - that was kind.
I spent a weekend in Wellington for my cousin's 21st birthday. The last time we had all gathered together was for my cousin's funeral in May of this year. This year for Christmas, some of us will be in Sāmoa for my uncle's unveiling.
It has been a devastating time for my family, and I am particularly sad for my late cousin's children, parents, siblings and aunties and uncles. Given the cloudy context of sadness hovering around our family, I decided that it was important to go to Wellington and celebrate my younger cousin's birthday and spend time with my family in Newtown. During his birthday celebration, my cousin said that I was an influence in his love of hip-hop - I am so proud of him.
In Wellington I ugly-cried with joy, pride and relief at my cousin's alcohol-free 21st earthday and when I had to return to Auckland, I ugly-cried with joy and sadness at the airport. The oceans of love I hold of my family tell me that they are important to me.
We engage with ethics when we ask questions of ourselves and the actions we choose. The brief conversations I mentioned before are brief illustrations of me in relation to how others might perceive me to be. They show that I value kindness, the collective, learning, family, and hip-hop.
Lately I have been asking less of 'what is the right thing to do' and more of 'what is the me to do'. This is partly to do with a growth process of recognising and letting go of my internal shame dynamics.
As a child growing up in a Catholic family, I would often advise myself to behave as though God was watching (perhaps a less trendy variation of WWJD?). I chuckle to myself now because the way my thinking and feeling has oriented itself now is towards a knowing that (a) gods are watching (b) this includes your ancestors (c) yes they are even watching when you are having sex and / or going to the toilet.
Your ancestors are watching your actions, thoughts and feelings so you might as well 'do you boo' without being an egg to yourself and others.
Currently, as an individual, I try not to make right or wrong decisions. I try to make real decisions because I am actively working to trust the voice(s) of my gods and ancestors above, below and within. In a wider collective / family context, I don't believe I have the answers, but I do trust that somewhere swimming in the relational space of those who are authentically engaged, and who are working at trusting the voice(s) of their gods and ancestors, are the ways forward.
A culture of Samoan relational ethics is threaded through almost all decisions and actions I choose in life. The most powerful thing for me living for ways beyond the freedom-killing colonisations, internal and external homophobias and racisms, is offering myself the moment to pause and recognise the choices that I do have, and making them.


API Developer
mathdroid
github
https://github.com/mathdroid/covid-19-api
Arabic Support By
Abdelsalam Shahlol
github
For API Go to:
https://covid-19-api-shahlol.now.sh/api


Referral Link
This is your Crypto ICO referral link. You can use it to share the project with your friends and other interested parties. If any of them sign up with this link, they will get reward amounts to 1% and will be added to your referral program. Your reward amounts to 5.0% of all ICI tokens purchased by your referrals.
Security
Two-factor authorization
Login notification
ICO Tokens
3,458.88 LOT
| LOT Token | 3,258 LOT |
| LOT Referral | 200.88 LOT |
| LOT Price | 0.0001 BTC |
| Raised BTC | 2154 BTC |
| Raised USD | 4.52 M |
Token sale progress
$0
$5M
Distributed
6,235,125 LOT Contributed
5478 ETH | 80 BTC
6,235,125 LOT Contributed
5478 ETH | 80 BTC


Type a city name and tap a result to see the forecast
No results for that name, try a different one
º C/F
Humidity %
Precipitation %
º


{% extends "layout.html" %} {% block page_title %} GOV.UK prototype kit {% endblock %} {% block content %} {% include "includes/phase_banner_alpha.html" %} Sprint 6 - Refine Levy Account pages Inform Register Sign in to the service View my balance View my account history View my planned spending View expiring funds View payment invoices Planning {% endblock %}
Inform
Register
Sign in to the service
View my balance
View my account history
Planning


Tachyons was built for designing.
Create fast loading, highly readable, and 100% responsive interfaces with as little css as possible.
Modules can be altered, extended, or changed to meet your design needs. You shouldn't need to write css everytime you want to build a new ui component. By learning the composable building blocks in tachyons, you can quickly start to build out interfaces while writing little to no css.
Getting Started
Copy the line of code below and paste it in the head of the html file(s) you want to include tachyons in.
<link rel="stylesheet"<EMAIL_ADDRESS>or install via npm
npm install --save-dev<EMAIL_ADDRESS>or grab all the source files and build+develop locally
git clone git@github.com:tachyons-css/tachyons.git
cd tachyons
npm install && npm build
Principles
Responsive
Everything should be 100% responsive. Your website should work regardless of a users device or screensize. Don't break the functionality of HTML with CSS.
Readable
No matter the lighting, or the device, font-sizes should be large enough and contrast should be high enough.
Performant
Code isn't for making a developers life easier. It's for improving the lives of our users. If it's not doing that, why write it. A developer's time is not precious. A user's time is. Code should be optimized for performance.
Modular
Modules > Monoliths Tachyons isn't a monolithic framework. It's a collection of self contained modules that can be mixed and matched or used independently. Use what you want, leave what you don't.
Reusable
Doing one thing well, promotes reusability and reduces redundancy in a codebase.
Easy
Designing in the browser should be easy. If a computer can do it, you shouldn't have to.
Features
Runs on Postcss
A flexible plugin framework for post-processing css. View on Github
Mobile-first architecture
Base classes are mobile by default. Can be overridden by namespaced classes targeting larger breakpoints.
Layout debugging
Small css modules for debugging stacking and layout issues. Can easily be turned on or off during development.
Composable classes
Construct anything from complex layouts to responsive components with a series of single purpose classes.
Cohesive design system
Scale based on the powers of two. Starting at .25
Responsive Grid
Infinitely nestable. Fully fluid. Extremely light-weight.
Customize, or extend
Tachyons is meant to be edited and customized to meet the needs of your product. It's just css. It isn't precious. Don't be afraid to change: class names, media queries, breakpoints, or values.
Testimonials
Here’s why I think designing systems with tools/frameworks like Tachyons is a Good Idea™. Design Systems break as they scale (either scaling org or scaling product) because new components/variants of a component are introduced. Those variants sometimes (read: often) go undocumented, leading to duplication when that component/variant is needed (and created) again. Even when the component is documented, documenting effectively often means dozens/hundreds of instances to capture all states/variants.
Systems like Tachyons et al approach this problem by instead documenting and limiting *properties* of components. (I like to think of this as “subatomic” design.) You then create components by composing subatomic components (properties). Rather than creating a component and its variants, you simply have a comprehensive list of “ingredient” subatomic components. Those subatomic components can be combined in thousands of ways to create hundreds of components. The properties of those components are numerous, but constrained to a set of acceptable values (our subatomic components).
After I embraced the “lots of little classes” way of styling, my anger at CSS almost completely went away and I was much more easily able to style and modify a design... you really have to try it.
It turns out composing utilities together like that is a really nice way to style things. Adam Morse has taken this to its logical conclusion with Tachyons...
It seems silly at first to write code that looks like inline HTML styling but Tachyons works. Instead of wasting time hunting down and dealing with CSS overrides, I now spend time iterating on the design... which is what we're supposed to be doing in the first place :)
I’ve found extremely low-level “frameworks” like BassCSS and Tachyons useful recently. They let you do the whole “just add and remove classes to create elements” thing but also don’t lock you into the constraints and issues of higher level frameworks like Bootstrap.
CSS frameworks shouldn't be one-size-fits-all. Tachyons nails it with its modular approach, eliminating bloat from day one.
Tachyons nails everything you need from a CSS framework. Development goes faster, designs are more consistent, and best of all it’s a ton of fun to play with.
I never understood how people did font ratios and table layouts nicely with CSS until @mrmrs showed me the light.
Tachyons enabled the aboutLife team to more easily reason about, debug, and change visual styles all while thinking _less_ about CSS. We’re able to achieve our desired designs more quickly than ever before.
NPM
The main tachyons repo is just a group of of encapsulated css modules available on npm and github.  Mix and match them to suit your project's specific needs. Since tachyons modules are very focused on doing one thing well, most of them are extremely small (well under a kilobyte) so you can start using some or all of them without adding bloat to your css.
npm install --save-dev tachyons-module-name


| Home | Libraries | People | FAQ | More |
The implementation uses multiple layers of template classes that inherit from the next lower level each and refine or adapt the respective underlying class:
boost::atomic<T>
is the topmost-level, providing
the external interface. Implementation-wise, it does not add anything (except
for hiding copy constructor and assignment operator).
boost::detail::atomic::internal_atomic&<T,S=sizeof(T),I=is_integral_type<T>
>
: This layer is mainly responsible for providing the overloaded
operators mapping to API member functions (e.g. +=
to
fetch_add
). The defaulted template parameter I
allows to expose the correct API functions (via partial template specialization):
For non-integral types, it only publishes the various exchange
functions as well as load and store, for integral types it additionally
exports arithmetic and logic operations. boost::detail::atomic::platform_atomic<T,S=sizeof(T)>
or boost::detail::atomic::platform_atomic_integral<T,S=sizeof(T)>
.
There is however some special-casing: for non-integral types of size 1,
2, 4 or 8, it will coerce the datatype into an integer representation and
delegate to boost::detail::atomic::platform_atomic_integral<T,S=sizeof(T)>
-- the rationale is that platform implementors only need to provide integer-type
operations.
boost::detail::atomic::platform_atomic_integral<T,S=sizeof(T)>
must provide the full set of operations for an integral type T (i.e. load
,
store
, exchange
, compare_exchange_weak
,
compare_exchange_strong
, fetch_add
,
fetch_sub
, fetch_and
, fetch_or
,
fetch_xor
, is_lock_free
). The default
implementation uses locking to emulate atomic operations, so this is the
level at which implementors should provide template specializations to
add support for platform-specific atomic operations. load
operation, avoiding later
conversion. The expectation is that in most implementations this will be
a normal assignment in C, possibly accompanied by memory fences, so that
the compiler can automatically choose the correct instruction.
boost::detail::atomic::platform_atomic<T,S=sizeof(T)>
provides the most basic atomic operations (load
, store
,
exchange
, compare_exchange_weak
,
compare_exchange_strong
) for arbitrarily generic data
types. The default implementation uses locking as a fallback mechanism.
Implementors generally do not have to specialize at this level (since these
will not be used for the common integral type sizes of 1, 2, 4 and 8 bytes),
but if s/he can if s/he so wishes to provide truly atomic operations for
"odd" data type sizes. Some amount of care must be taken as the
"raw" data type passed in from the user through boost::atomic<T>
is visible here -- it thus needs to be type-punned or otherwise manipulated
byte-by-byte to avoid using overloaded assigment, comparison operators
and copy constructors.
In principle implementors are responsible for providing the full range of
named member functions of an atomic object (i.e. load
,
store
, exchange
, compare_exchange_weak
,
compare_exchange_strong
, fetch_add
,
fetch_sub
, fetch_and
, fetch_or
,
fetch_xor
, is_lock_free
). These must
be implemented as partial template specializations for boost::detail::atomic::platform_atomic_integral<T,S=sizeof(T)>
:
template<typename T> class platform_atomic_integral<T, 4> { public: explicit platform_atomic_integral(T v) : i(v) {} platform_atomic_integral(void) {} T load(memory_order order=memory_order_seq_cst) const volatile { // platform-specific code } void store(T v, memory_order order=memory_order_seq_cst) volatile { // platform-specific code } private: volatile T i; };
As noted above, it will usually suffice to specialize on the second template argument, indicating the size of the data type in bytes.
Often only a portion of the required operations can be usefully mapped to machine instructions. Several helper template classes are provided that can automatically synthesize missing methods to complete an implementation.
At the minimum, an implementor must provide the load
,
store
, compare_exchange_weak
and
is_lock_free
methods:
template<typename T> class my_atomic_32 { public: my_atomic_32() {} my_atomic_32(T initial_value) : value(initial_value) {} T load(memory_order order=memory_order_seq_cst) volatile const { // platform-specific code } void store(T new_value, memory_order order=memory_order_seq_cst) volatile { // platform-specific code } bool compare_exchange_weak(T &expected, T desired, memory_order success_order, memory_order_failure_order) volatile { // platform-specific code } bool is_lock_free() const volatile {return true;} protected: // typedef is required for classes inheriting from this typedef T integral_type; private: T value; };
The template boost::detail::atomic::build_atomic_from_minimal
can then take care of the rest:
template<typename T> class platform_atomic_integral<T, 4> : public boost::detail::atomic::build_atomic_from_minimal<my_atomic_32<T> > { public: typedef build_atomic_from_minimal<my_atomic_32<T> > super; explicit platform_atomic_integral(T v) : super(v) {} platform_atomic_integral(void) {} };
There are several helper classes to assist in building "complete" atomic implementations from different starting points:
build_atomic_from_minimal
requires
load
store
compare_exchange_weak
(4-operand version)
build_atomic_from_exchange
requires
load
store
compare_exchange_weak
(4-operand version)
compare_exchange_strong
(4-operand version)
exchange
build_atomic_from_add
requires
load
store
compare_exchange_weak
(4-operand version)
compare_exchange_strong
(4-operand version)
exchange
fetch_add
build_atomic_from_typical
(<I>supported on gcc
only</I>) requires
load
store
compare_exchange_weak
(4-operand version)
compare_exchange_strong
(4-operand version)
exchange
fetch_add_var
(protected method)
fetch_inc
(protected method)
fetch_dec
(protected method)
This will generate a [^fetch_add] method that calls [^fetch_inc]/[^fetch_dec] when the given parameter is a compile-time constant equal to +1 or -1 respectively, and [^fetch_add_var] in all other cases. This provides a mechanism for optimizing the extremely common case of an atomic variable being used as a counter. The prototypes for these methods to be implemented is: [c++] template<typename T> class my_atomic { public: T fetch_inc(memory_order order) volatile; T fetch_dec(memory_order order) volatile; T fetch_add_var(T counter, memory_order order) volatile; };
These helper templates are defined in boost/atomic/detail/builder.hpp
.
There is one other helper template that can build sub-word-sized atomic data types even though the underlying architecture allows only word-sized atomic operations:
template<typename T> class platform_atomic_integral<T, 1> : public build_atomic_from_larger_type<my_atomic_32<uint32_t>, T> { public: typedef build_atomic_from_larger_type<my_atomic_32<uint32_t>, T> super; explicit platform_atomic_integral(T v) : super(v) {} platform_atomic_integral(void) {} };
The above would create an atomic data type of 1 byte size, and use masking
and shifts to map it to 32-bit atomic operations. The base type must implement
load
, store
and compare_exchange_weak
for this to work.
In unusual circumstances, an implementor may also opt to specialize public
boost::detail::atomic::platform_atomic<T,S=sizeof(T)>
to
provide support for atomic objects not fitting an integral size. If you
do that, keep the following things in mind:
load
store
compare_exchange_weak
(4-operand version)
compare_exchange_strong
(4-operand version)
exchange
The type of the data to be stored in the atomic variable (template parameter
T
) is exposed to this class, and the type may have overloaded
assignment and comparison operators -- using these overloaded operators
however will result in an error. The implementor is responsible for accessing
the objects in a way that does not invoke either of these operators (using
e.g. memcpy
or type-casts).
Platform implementors need to provide a function performing the action required
for atomic_thread_fence
(the fallback implementation will just perform an atomic operation on an
integer object). This is achieved by specializing the boost::detail::atomic::platform_atomic_thread_fence
template function in the following way:
template<> void platform_atomic_thread_fence(memory_order order) { // platform-specific code here }
The template specializations should be put into a header file in the boost/atomic/detail
directory, preferrably specifying supported compiler and architecture in
its name.
The file boost/atomic/platform.hpp
must subsequently be
modified to conditionally include the new header.


Authentication and Authorization using JWT and jscookie
some username and password; login button; signup botton; signout button
username
Email
Submit


Baffert eyes fourth Breeders' Cup win with McKinzie
Hall of Fame trainer Bob Baffert will look to claim a record-extending fourth Breeders' Cup Classic with McKinzie at Santa Anita Park on Saturday although victory for the favourite is far from guaranteed.
ARCADIA, Calif.: Hall of Fame trainer Bob Baffert will look to claim a record-extending fourth Breeders' Cup Classic with McKinzie at Santa Anita Park on Saturday although victory for the favourite is far from guaranteed.
Baffert won the Classic in 2014 with Bayern, in 2015 with American Pharoah and in 2016 with Arrogate but said the colt McKinzie holds a special place in his heart.
The chestnut son of Kentucky Derby winner Street Sense is named after Baffert's longtime friend, the racing executive Brad McKinzie, who died of cancer in 2017 at age 62.
McKinzie, who has seven wins in 13 career starts, has earned more than US$2.2 million and the normally-stoic Baffert said he gets emotional when he watches the horse compete.
"I think we're all living through this horse, thinking about Brad. He's got a lot of friends," Baffert said this week.
"I feel a little extra pressure on me when this horse runs because I know we're all thinking about him."
In a surprising move, Baffert chose to replace Hall of Fame jockey Mike Smith, who has ridden McKinzie in all of his previous starts, with Joel Rosario after the colt earned four second-place finishes in six starts.
"It's one of those things where I go with instinct, my gut feeling," Baffert told reporters.
"I was very frustrated and I just felt maybe I had to make a change. Like a (baseball) manager, have to take the ball from an All-Star pitcher."
Although McKinzie is expected to be the favourite among the 11 horses competing in Saturday's US$6 million Classic, the field is considered one of the more wide open in the race's history.
Among those expected to push McKinzie is Code of Honor, a colt with an excellent resume but who drew the outside post.
Trainer Shug McGaughey said he is happy with how the Travers and Jockey Club Gold Cup winner, who will be rode by Hall of Fame jockey John Velazquez, moved on the track this week.
McGaughey, who is winless in eight starts in the Classic, said he hopes to end that streak on Saturday.
"There are two really major races in the United States that I haven't won, the Preakness and the Breeders' Cup Classic," the Hall of Fame trainer said.
"I've been close in both of them, so they're both on my list. I hope that maybe this year we can get the one behind us.”
No one would be surprised if Vino Rosso was first to cross the wire after the four-year-old notched a 1 1/4-mile victory at Santa Anita at the Gold Cup in May.
Reigning Preakness Stakes champion War of Will could also break out of his recent slump and claim the win.
Some US$30 million will be up for grabs in the 14 races held on Friday and Saturday.
The Breeders' Cup normally averages about US$160 million in bets over the two days, race officials said.
(Reporting by Rory Carroll; Editing by Toby Davis)


Package
Class
Tree
Index
Help
PREV NEXT
FRAMES
NO FRAMES
All Classes
A
F
G
H
M
T
W
A
add(String)
- Method in class
TempFile
An example of a method - replace this comment with your own
add(String, int)
- Method in class
TempFile
Adds code to the outpute list in a specified index
Assembler
- Class in
<Unnamed>
This class is the main class that takes a given file name and parses through the assembly code in the file and then outputs a file with the extension .o with "little finger" in it.
Assembler()
- Constructor for class
Assembler
F
fillSet(FileReader)
- Method in class
HashTable
getter method that returns a value based on a passed key
G
getValue(String)
- Method in class
HashTable
getter method that returns a value based on a passed key
H
HashTable
- Class in
<Unnamed>
Class creates and contains a hash table that contains the instruction set
HashTable()
- Constructor for class
HashTable
Constructor for objects of class HashTable
M
main(String[])
- Static method in class
Assembler
Run method of the Assembler program, handles all other methods in this program
T
TempFile
- Class in
<Unnamed>
The class has an ArrayList that temporarily stores the output code when it is being generated
TempFile()
- Constructor for class
TempFile
Constructor for objects of class TempFile
W
writeFile(PrintWriter, int, int, boolean)
- Static method in class
TempFile
Writes the temporary output list to the output file
A
F
G
H
M
T
W
Package
Class
Tree
Index
Help
PREV NEXT
FRAMES
NO FRAMES
All Classes