computer architecture, hardware specialization, memory interconnects, open-source hardware design, graph algorithms
design automation, chip design (VLSI), clocking circuits, memory circuits, circuit optimization, open-source software
computer architecture, operating systems, storage systems, machine learning, hardware design, bioinformatics accelerators
computer architecture, design effort metrics and models, thermal, simulation, FPGA/ASIC design, mobile computing
concurrency (semantics, testing, verification), heterogeneous systems (GPUs, accelerators), compilers (portability, optimizations)
We are hiring a *tenure-track* assistant teaching professor for Electronic Design Automation (EDA) and Hardware!


Click effect inspired by Google's Material Design http://fian.my.id/Waves/
Waves using Situs to generate documentation. Here are some steps to run documentation locally on your computer,
gem install sass
).npm install situs -g
).git clone https://github.com/fians/Waves.git
).npm install
to install the necessary local node packages.npm install -g grunt-cli
.grunt
to watch the directory, or simply grunt build
to do a single build.situs server
), then visit http://localhost:4000/ on your browser.Thanks for BrowserStack by providing a great testing tools for this projects.
Waves created by Alfiana Sibuea, and released under MIT license.
Copyright © 2014-2016 Alfiana E. Sibuea. All rights reserved.


Antharas Watchman Gilmore:
Have you heard of the abyssal jewel? I heard that
the third abyssal jewel is in this valley
!  It will diminish his strength!
"Where is the abyssal jewel?"


class: titlepage numbers .title[Advanced Scientific Programming - Project :notebook:] .subtitle[`PSA` - N. Dubray - ENSIIE - 2023] .wauto[ ```C++ #include
#include "solver.h" static PyObject * calc_system(PyObject *self, PyObject *args) { const char *string; int val; if (!PyArg_ParseTuple(args, "s", &string)) return NULL; Solver s(string); val = s.getVal(); return Py_BuildValue("i", val); } ``` ] .footnote[ `PSA` - N. Dubray - ENSIIE - 2023 - [:book:](../index.html) ] --- layout: true class: animated fadeIn middle numbers .footnote[ `PSA` - N. Dubray - ENSIIE - 2023 - [:book:](../index.html) ] --- # Courses / project ## Schedule .hcenter[ | Time | 03/21 2pm | 03/22 9am | 03/28 2pm | 03/29 9am | 04/04 2pm | 04/05 9am | |:-------------------:|:-------------:|:-------------:|:-------------:|:-------------:|:-------------:|:---------------:| | t | **Course #0** | **Course #1** | **Course #2** | **Course #3** | **Course #4** | .redb[Pres. #0] | | t + 2h | Project | Project | Project | Project | Project | .redb[Pres. #0] | | Time | 04/12 9am | 04/18 2pm | 05/19 9am | 05/09 2pm | 05/10 9am | 05/16 2pm | |:-------------------:|:-------------:|:-------------:|:-------------:|:-------------:|:-------------:|:---------------:| | t | **Course #5** | **Course #6** | **Course #7** | **Course #8** | **Course #9** | .redb[Pres. #1] | | t + 2h | Project | Project | Project | Project | Project | .redb[Pres. #1] | ] .vspace[] .noflex[ .rightf.w20[ .hcenter[![](images/slides.png)] .hcenter[[source: xkcd](https://xkcd.com/365)] ] ## Presentations * slides [~20min] + discussion / questions [~10min] * .redb[presentation #0: weight 1.0] (mid-project) * .redb[presentation #1: weight 2.0] (final) .vspace[] ## Teamwork * 3 students per team * **mandatory** `git` use ] --- # Project rules .column.middle.grow[ ## Rules: * an "`AUTHORS`" file **must** be present and contain your name(s) * the source **must** be written in `C++11` and `Python3` * the source **must** be documented with `Doxygen` * the compilation chain **must** use `GNU Make` * the presentation **must** be at the location "`pres/index.html`" * using branches is OK but **only master will be checked** * `Python3` bindings **are mandatory** and **must** be at the location "`bindings/`" * the presentation **must** use `remark.js` * unit tests **are mandatory** and **must pass** ## :moneybag: Bonuses: * no warning at {compilation, bindings, tests, doc} * project is implementing other methods, or is going further than specified * source code is well written (comments, easy to read, etc...) * commits are small and explicit ] --- # Evaluation ## What will be evaluated at the mid-project presentation (.redb[weight 1.0]) * the presentation quality * the teamwork * the progress status of the project ## What will be evaluated at the final presentation (.redb[weight 2.0]) * the presentation quality * the teamwork * the **final** status of the project * **the obtained results** * **the use of the development tools** * **the unit tests** --- # Project description ## Main objective :arrow_right: **write and use a 2D-FD solver for the time-dependent non-relativistic Schrödinger equation** ## Details * **write the solver** in a mix of `Python3` and `C++11` using `Armadillo` * visualize the time-evolution of a wave packet with `Paraview` * get some **real-time monitoring information** of a run (in `Python3`) * implement an **automatic restart mechanism** (in `Python3`) * store the results in a **mongoDB database** (in `Python3`) * calculate some **physical applications** (diffraction, tunneling effect, HO solutions, etc...) * use `git`, `doxygen`, `make`, `cxxtest`, `swig`, `remark.js`, `Paraview` .hcenter.w40[
] --- # Project - formalism ## Time-dependent non-relativistic Schrödinger equation Evolution equation: `$$i\hbar\frac{\partial}{\partial t}\psi(x,y,t) = \hat{\mathcal{H}}_{(x,y)}\psi(x,y,t)$$` with the 2D-Hamiltonian operator defined as `$$\hat{\mathcal{H}}_{(x,y)}\equiv \frac{\hat{p}_{(x)}^2}{2m} + \frac{\hat{p}_{(y)}^2}{2m} + \hat{V}(x,y),$$` and the momentum operators defined as `$$\forall u \in \{x,y\},\hspace{5mm}\hat{p}_{(u)}\equiv -i\hbar\frac{\partial}{\partial u}.$$` Constants: * `\(\hbar\)` is the **reduced Planck constant** `$$\hbar \equiv 6.582119514\times10^{−22}\,\textrm{MeV.s}$$` * `\(m\)` is the **neutron mass** `$$m\equiv<PHONE_NUMBER>\,\textrm{MeV/c}^2$$` * `\(i\)` is the **imaginary unit** (`\(i^2=-1\)`) --- # Project - fields ## Wave function `\(\psi(x,y,t)\)` * is a complex field * depends on time * must be initialized to `$$\psi_0(x,y) \equiv \psi(x,y,t=0),$$` * must stay **normalized** `$$\forall t, \iint \psi^*(x,y,t).\psi(x,y,t)\,dx\,dy = \iint \psi_0^*(x,y).\psi_0(x,y)\,dx\,dy = 1.$$` ## Potential `\(\hat{V}(x,y)\)` * is a real field * does not depend on time --- # Project - solver specifications ## Numerical method * Finite Difference Method * **must implement FTCS, BTCS and CTCS schemes** * **scheme type specified at execution** ## Discretized domain * regular mesh * **number of points specified at execution** * **physical span specified at execution** ## Time domain * fixed time step * **time step specified at execution** ## Boundary conditions * the wave function vanishes outside of the discretized domain ## Fields * **initial wave function specified at execution** * **potential field specified at execution** --- # Project - architecture .mermaid.shadow.w60.hcenter[ graph TD A("Field generator") -- write --> D("MongoDB") B("Solver") -- read / write --> D C("Post-Processor") -- read --> D C -- write --> E("VTK file(s)") style D fill:#090 style E fill:#B00 ] .row[ .column.w50[ ## Field generator (Python3) * can use an image file, a formula, etc... * input (CLI) : `JSON` file * output (DB) : initial wave function and potential ## Solver (Python3 and C++) * must be able to be **stopped and restarted** * input (CLI) : run #id * output (DB) : wave functions ## Post-processor (Python3) * export data to `Paraview` * input (CLI) : run #id * output : `VTK` file(s) ] .column.w45[ ## Tips * it may be a good idea to store the `JSON` file in the DB. * the field generator and the post-processor may be the **same program**. * to identify a run, why not use a full or partial **MD5** ? ] ] --- # Project - use cases In the following, different possible use cases are given. They illustrate how a typical user can interact with your project. You must design your project so that these use cases are easy to be realized by the average user. --- # Project - use case #0 ## Tweaking the initial state / the potential The user wants to be sure that the initial state and the potential are fine before starting a calculation. A possible workflow **on a local computer** for this can be: 1. generate initial state, mesh, potential with the **Field generator** from a `.json` file 1. generate the corresponding `VTK` file with the **Post processor** 1. visualize the `VTK` file with **Paraview** 1. tweak the `.json` file 1. goto 1 (this can last for hours) :arrow_right: The **Post processor** must be able to deal with the initial quantities, whithout the **Solver** being involved. --- # Project - use case #1 ## Monitoring the calculation The user wants to check that an on-going calculation is well behaving. A possible workflow for this can be: 1. launch the **Solver** on a supercomputer 1. while the **Solver** is running, launch on a local computer the **Post processor** to generate the most recent `VTK` file 1. visualize the `VTK` file with **Paraview** on a local computer 1. stop the **Solver** if needed :arrow_right: The **Post processor** must be able to deal with intermediate results produced by an on-going calculation. --- # Project - use case #2 ## Automatic restart mechanism An interrupted run of the **Solver** must be able to automatically continue from its last saved state. A possible workflow **on a supercomputer** for this can be: 1. launch the **Solver** on a supercomputer 1. the **Solver** saves intermediate results somewhere (database) 1. the **Solver** is killed for an unknown reason (not by the user) 1. the **Solver** is launched with **exactly the same inputs** as in 1 1. the **Solver** finds out that the calculation has already been partially done, and continues from the most recent intermediate result :arrow_right: This must be done whithout any user intervention. :arrow_right: If a run has already been completed, the **Solver** must not calculate it again. --- # Project - use case #3 (bonus) ## Start a new calculation from an existing result The user wants to start a new calculation from a previous result (initial, intermediate or final) with different parameters (time scale, numerical scheme, mesh size...) A possible workflow for this can be: 1. use the **Field generator** to generate the relevant initial quantities 2. launch the **Solver** on a supercomputer :arrow_right: This is a **bonus** use case, try to implement this **only if the other use cases are fine**. :warning: Changing the mesh dimensions may involve interpolating values (**DO NOT DO THAT**). --- # Project - Field generator ## Possible initial wave functions * solutions of the 2D-HO * mix of the solutions of the 2D-HO * gaussian wave packet with initial speed `$$ \psi_0(x,y) \equiv A.e^{-\left[\frac{(x - x_0)^2+(y - y_0)^2}{w^2}\right]}.e^{i\left[k_x.x+k_y.y\right]} $$` with * `\((x_0, y_0)\)` the initial position, * `\(w\)` the width of the gaussian, * `\((k_x, k_y)\)` the initial speed, * `\(A\)` a normalization constant. --- # Project - physical applications ## 2D-HO solutions * check the stationarity of some HO solutions * check the periodicity of combinations of HO solutions ## Young's slits * check the interference pattern created by a wave packet through two slits in a potential wall ## Quantum tunneling * check the partial crossing of a barrier higher in energy than the cinetic energy of a wave packet ## Other cases * be creative... --- # Project - 2D-HO solutions ## Resulting 2D-HO Schrödinger equation `$$\hat{\mathcal{H}}_{(x,y)}^{\textrm{HO}}\psi(x,y) = E\psi(x,y)$$` with the 2D-HO Hamiltonian operator defined as `$$\hat{\mathcal{H}}_{(x,y)}^{\textrm{HO}}\equiv \frac{\hat{p}_{(x)}^2}{2m} + \frac{\hat{p}_{(y)}^2}{2m} + \frac{1}{2}m\omega^2(\hat{x}^2+\hat{y}^2),$$` and the momentum operators defined as `$$\forall u \in \{x,y\},\hspace{5mm}\hat{p}_{(u)}\equiv -i\hbar\frac{\partial}{\partial u}.$$` ## Solutions **One can show** that solutions take the form `$$\forall n_x\ge 0,\, \forall n_y\ge 0,\, \psi_{n_x,n_y}(x,y)=\psi_{n_x}(x).\psi_{n_y}(y),$$` with `$$\forall u \in \{x,y\},\hspace{5mm}\psi_{n_u}(u) = \frac{1}{\sqrt{2^{n_u} n_u!}}\left(\frac{m\omega}{\pi\hbar}\right)^{1/4}e^{-\frac{m\omega u^2}{2\hbar}}H_{n_u}\left(\sqrt{\frac{m\omega}{\hbar}} . u\right).$$` The corresponding eigenvalues are given by `$$E_{n_x, n_y}=\hbar \omega \left(n_x+n_y + 1\right).$$` :arrow_right: Verify that a **fractional combination of 2D-HO solutions** has a **periodic time evolution**. --- # Project - Young's slits ## History * "double-slit" experiment by **Thomas Young** in 1801 * demonstrated the validity of the **wave theory of light** * can also show the concept of **wave-particle duality** when performed with several particles .row.w90.hcenter[ .column.w48[ .hcenter[![](images/double_slit.svg)] .hcenter[[source: wikipedia](https://en.wikipedia.org/wiki/Double-slit_experiment#/media/File:Double-slit.svg)] ] .column.w48[ .hcenter[![](images/slits.gif)] .hcenter[[source: wikipedia](https://upload.wikimedia.org/wikipedia/commons/e/e4/Slits.gif)] ] ] :arrow_right: The time evolution of a **gaussian** through the slits should create an **interference pattern**. --- # Project - quantum tunneling .noflex[ .rightf.w30[![](images/square_barrier.png).hcenter[[source: wikipedia](https://en.wikipedia.org/wiki/Rectangular_potential_barrier#/media/File:Square_potential.png)]] ## Setup * a particle with **constant** energy `\(E \gt 0\)` * a rectangular potential barrier of height `\(V_0 \gt 0\)` ## Classical mechanics * the outcome depends only on the barrier's height, **not its shape** * if `\(E \gt V_0\)`, the particule **always** crosses, **never** bounces * if `\(E \lt V_0\)`, the particule **never** crosses, **always** bounces ## Quantum mechanics * the outcome **depends on the barrier's height and shape** * for whatever `\(E\)` and `\(V_0\)` values, the particule **may** cross, **may** bounce * even if `\(E \gt V_0\)`, the particule **may** bounce * even if `\(E \lt V_0\)`, the particule **may** cross :arrow_right: **quantum tunneling effect** ] :arrow_right: The time evolution of a **gaussian** through a barrier should show **quantum tunneling**. --- # Project - numerical values ## Global * `\(\hbar = m = 1\)`, * `\(x_\textrm{min} = -10\)`, `\(x_\textrm{max} = 10\)`, `\(n_\textrm{x} = 101\)`, * `\(y_\textrm{min} = -10\)`, `\(y_\textrm{max} = 10\)`, `\(n_\textrm{y} = 101\)`, * `\(t_\textrm{max} = 10\)`, * `\(dt = \frac{0.02}{800}\)` (FTCS), * `\(dt = \frac{0.02}{40}\)` (BTCS), * `\(dt = \frac{0.02}{4}\)` (CTCS), * `\(G(x_0, y_0, \omega, A, k_x, k_y)\)` ## 2D-HO solutions * `\(V(x, y) = \frac{1}{9}\left(x^2+y^2\right)\)`, * `\(\psi(x, y) = G(0,0,2.06,\frac{1}{\sqrt{2}\pi}, 0,0)\)` ## Young's slits * `\(\psi(x, y) = G(0,-5,2,\frac{1}{\sqrt{2}\pi}, 0,5)\)` ## Quantum tunneling * `\(\psi(x, y) = G(0,-5,2,\frac{1}{\sqrt{2}\pi}, 0,2)\)` --- # Project - results presentation :arrow_right: How to present a calculation result ? ## Input * show the space and time discretization * show the numerical scheme * show the initial wave packet * show the potential field ## Output * show the evolution with time of the total norm of the wave packet * show the evolution with time of the wave packet ## To go further * show projections and/or slices of the wave packet if needed * show the (un)stability of the results with respect to the time step, the mesh size, etc... .w70.alert.hcenter[:warning: a plot without a label and a unit for each axis is **worthless** :warning:] --- # Exercises ## 1. Derivation of the **Explicit method** (FTCS scheme) ## 2. Derivation of the **Implicit method** (BTCS scheme) ## 3. Derivation of the **Crank-Nicolson method** (CTCS scheme) --- # Exercise - 1. Derivation of the FTCS scheme ## Explicit method (FTCS) * forward difference at time `\(t_n\)` * second-order central difference at position `\(x_i\)` ## Evolution equation `$$i\hbar\frac{\partial}{\partial t}\psi(x,y,t) = \hat{\mathcal{H}}_{(x,y)}\psi(x,y,t)$$` with the 2D-Hamiltonian operator defined as `$$\hat{\mathcal{H}}_{(x,y)}\equiv \frac{\hat{p}_{(x)}^2}{2m} + \frac{\hat{p}_{(y)}^2}{2m} + \hat{V}(x,y),$$` and the momentum operators defined as `$$\forall u \in \{x,y\},\hspace{5mm}\hat{p}_{(u)}\equiv -i\hbar\frac{\partial}{\partial u}.$$` --- # Exercise - 1. Derivation of the FTCS scheme ## Solution (to be demonstrated) `$$ \begin{aligned} \psi^{(t+dt)} = \psi + i.dt \Bigg[ & \left(-\frac{1}{\hbar}V(x,y) - \frac{\hbar}{m.dx^2}-\frac{\hbar}{m.dy^2}\right)\psi\\ &+ \frac{\hbar}{2m.dx^2}\left(\psi_{x+dx}+\psi_{x-dx}\right)\\ &+ \frac{\hbar}{2m.dy^2}\left(\psi_{y+dy}+\psi_{y-dy}\right)\Bigg] \end{aligned} $$` --- # Exercise - 2. Derivation of the BTCS scheme ## Implicit method (BTCS) * backward difference at time `\(t_{n+1}\)` * second-order central difference at position `\(x_i\)` ## Evolution equation `$$i\hbar\frac{\partial}{\partial t}\psi(x,y,t) = \hat{\mathcal{H}}_{(x,y)}\psi(x,y,t)$$` with the 2D-Hamiltonian operator defined as `$$\hat{\mathcal{H}}_{(x,y)}\equiv \frac{\hat{p}_{(x)}^2}{2m} + \frac{\hat{p}_{(y)}^2}{2m} + \hat{V}(x,y),$$` and the momentum operators defined as `$$\forall u \in \{x,y\},\hspace{5mm}\hat{p}_{(u)}\equiv -i\hbar\frac{\partial}{\partial u}.$$` --- # Exercise - 2. Derivation of the BTCS scheme ## Solution (to be demonstrated) `$$ \begin{aligned} \psi^{(t+dt)} = \psi + i.dt\Bigg[ & \left( -\frac{1}{\hbar}V(x,y) -\frac{\hbar}{m.dx^2} -\frac{\hbar}{m.dy^2}\right)\psi^{(t+dt)}\\ &+ \frac{\hbar}{2m.dx^2}\left(\psi^{(t+dt)}_{x+dx}+\psi^{(t+dt)}_{x-dx}\right)\\ &+ \frac{\hbar}{2m.dy^2}\left(\psi^{(t+dt)}_{y+dy}+\psi^{(t+dt)}_{y-dy}\right)\Bigg] \end{aligned} $$` --- # Exercise - 3. Derivation of the CTCS scheme ## Crank-Nicolson method (CTCS) * central difference at time `\(t_{n+\frac{1}{2}}\)` * second-order central difference at position `\(x_i\)` * can also be obtained as FTCS + BTCS :bulb: ## Evolution equation `$$i\hbar\frac{\partial}{\partial t}\psi(x,y,t) = \hat{\mathcal{H}}_{(x,y)}\psi(x,y,t)$$` with the 2D-Hamiltonian operator defined as `$$\hat{\mathcal{H}}_{(x,y)}\equiv \frac{\hat{p}_{(x)}^2}{2m} + \frac{\hat{p}_{(y)}^2}{2m} + \hat{V}(x,y),$$` and the momentum operators defined as `$$\forall u \in \{x,y\},\hspace{5mm}\hat{p}_{(u)}\equiv -i\hbar\frac{\partial}{\partial u}.$$` --- # Exercise - 3. Derivation of the CTCS scheme ## Solution (to be demonstrated) `$$ \begin{aligned} \psi^{(t+dt)} = \psi + i\frac{dt}{2}\Bigg[ & \left( -\frac{1}{\hbar}V(x,y) - \frac{\hbar}{m.dx^2} - \frac{\hbar}{m.dy^2}\right)\psi\\ &+ \frac{\hbar}{2m.dx^2}\left(\psi_{x+dx}+\psi_{x-dx}\right)\\ &+ \frac{\hbar}{2m.dy^2}\left(\psi_{y+dy}+\psi_{y-dy}\right)\\ &+ \left( -\frac{1}{\hbar}V(x,y) - \frac{\hbar}{m.dx^2} -\frac{\hbar}{m.dy^2}\right)\psi^{(t+dt)}\\ &+ \frac{\hbar}{2m.dx^2}\left(\psi^{(t+dt)}_{x+dx}+\psi^{(t+dt)}_{x-dx}\right)\\ &+ \frac{\hbar}{2m.dy^2}\left(\psi^{(t+dt)}_{y+dy}+\psi^{(t+dt)}_{y-dy}\right)\Bigg] \end{aligned} $$`


Get to 60% to see nearby jobs.
{% else %}Start exploring jobs nearby. See Jobs
Get to 100% to start applying.
{% endif %}| {{ module }} |


§53-4 Removal of members. Any member of a redevelopment agency may be removed for any inefficiency, neglect of duty, or misconduct in office by the mayor with the approval of the council. [L 1949, c 379, pt of §4; am L 1955, c 271, pt of §1(e); RL 1955, §143-5; am L 1957, c 64, §3; HRS §53-4]


Arrays and hashes are both structured like lists and every slot in the list acts like a variable. Each slot points to a particular object. Arrays are indexed with numbers that start with 0 and go up to the array’s length minus one. Hashes are collections of key-value pairs. You would use a hash if you don’t want to use numbers as indices or if you want to use unordered numeric indices. With a hash, you can use any Ruby object for a key or value.
To create an array use the following syntax:
array = [value1, value2, value3]
To create a hash use the following syntax:
hash = { :key1 => value1, :key2 => value2, :key3 => value3 }


Maps are a form of power whose use
has traditionally been limited to the State.
There are tons of options available...
A free, open source, volunteer-generated map of the world that is editable by anyone, anywhere with a computer and a connection to the internet.
Here's the most recent list of people that OSM knows uses their data...
Data added to OpenStreetMap has the potential
to get used by a lot of people all over the world.
You’re going to need a login.
Go to:
//www.openstreetmap.org/user/new
Fill out the form, confirm your email, et voilà!
We're going to do a little armchair mapping.
Don't worry, this has nothing to do with armchairs...
Armchair mapping just means tracing items onto the map from aerial imagery without going out to ground-truth them.
Open the map: OpenStreetMap.org
Choose iD Editor from the Edit menu
From the Help menu on the right,
select Start the Walkthrough
The walkthrough will show you all the basic information you need to be able to use iD editor.
There are essentially 3 things you can add to the map:
Points are used to add things like
businesses, bus stops, murals.
Things that you could stick a pin
into the map and say "It's here!"
Lines are used for roads and trails.
Areas (polygons) are used for
building footprints, parks, lakes, etc.
Things that better described by their outline
rather than a single point.


| View source on GitHub |
RunConfig
RunConfig with TPU support.
Inherits From: RunConfig
__init__
__init__( tpu_config=None, evaluation_master=None, master=None, cluster=None, **kwargs )
Constructs a RunConfig.
tpu_config
: the TPUConfig that specifies TPU-specific configuration.evaluation_master
: a string. The address of the master to use for eval.
Defaults to master if not set.master
: a string. The address of the master to use for training.cluster
: a ClusterResolver**kwargs
: keyword config parameters.ValueError
: if cluster is not None and the provided session_config has a
cluster_def already.cluster
cluster_spec
device_fn
Returns the device_fn.
If device_fn is not None
, it overrides the default
device function used in Estimator
.
Otherwise the default one is used.
eval_distribute
Optional tf.distribute.Strategy
for evaluation.
evaluation_master
experimental_max_worker_delay_secs
global_id_in_cluster
The global id in the training cluster.
All global ids in the training cluster are assigned from an increasing sequence of consecutive integers. The first id is 0.
Note: Task id (the property field task_id
) is tracking the index of the
node among all nodes with the SAME task type. For example, given the cluster
definition as follows:
cluster = {'chief': ['host0:2222'], 'ps': ['host1:2222', 'host2:2222'], 'worker': ['host3:2222', 'host4:2222', 'host5:2222']}
Nodes with task type worker
can have id 0, 1, 2. Nodes with task type
ps
can have id, 0, 1. So, task_id
is not unique, but the pair
(task_type
, task_id
) can uniquely determine a node in the cluster.
Global id, i.e., this field, is tracking the index of the node among ALL nodes in the cluster. It is uniquely assigned. For example, for the cluster spec given above, the global ids are assigned as:
task_type | task_id | global_id -------------------------------- chief | 0 | 0 worker | 0 | 1 worker | 1 | 2 worker | 2 | 3 ps | 0 | 4 ps | 1 | 5
An integer id.
is_chief
keep_checkpoint_every_n_hours
keep_checkpoint_max
log_step_count_steps
master
model_dir
num_ps_replicas
num_worker_replicas
protocol
Returns the optional protocol value.
save_checkpoints_secs
save_checkpoints_steps
save_summary_steps
service
Returns the platform defined (in TF_CONFIG) service dict.
session_config
session_creation_timeout_secs
task_id
task_type
tf_random_seed
tpu_config
train_distribute
Optional tf.distribute.Strategy
for training.
replace
replace(**kwargs)
Returns a new instance of RunConfig
replacing specified properties.
Only the properties in the following list are allowed to be replaced:
model_dir
,tf_random_seed
,save_summary_steps
,save_checkpoints_steps
,save_checkpoints_secs
,session_config
,keep_checkpoint_max
,keep_checkpoint_every_n_hours
,log_step_count_steps
,train_distribute
,device_fn
,protocol
.eval_distribute
,experimental_distribute
,experimental_max_worker_delay_secs
,In addition, either save_checkpoints_steps
or save_checkpoints_secs
can be set (should not be both).
**kwargs
: keyword named properties with new values.ValueError
: If any property name in kwargs
does not exist or is not
allowed to be replaced, or both save_checkpoints_steps
and
save_checkpoints_secs
are set.a new instance of RunConfig
.


Visa Port
An application that makes it easier for you to travel the world.🌍
Client:
Visa Port
Date:
December 2014
Link:
Go!
Service:
Web Development, Angular.js app with a Node api and MongoDB, UI/UX.
Back


Ok, one of the first stories I put on steemit was about the murder of Seth Rich. Seth Rich is a DNC staffer who took a ton of emails off of the DNC and provided them to wikileaks. Assange has never come out and said it, but he’s publicly implied it multiple times. The DC police have known for 10 months that the computer had evidence of contact between Seth Rich and Wikileaks, but none of that was presented to the public, but here’s a story about it today.
https://www.facebook.com/wearethemedia2016/videos/763412913839738/?hc_ref=NEWSFEED
Seth’s murder is part of what’s called the Clinton Body Count. Behind the Clinton’s are tons of murders so many a term exists for it! There are so many crimes behind the Clinton’s and their handlers it’s disgusting. I am glad the media is actually touching this though even if it’s stuck in the alt media.
Here’s some backstory on it- http://www.thegatewaypundit.com/2016/08/wow-breaking-video-julian-assange-suggests-seth-rich-wikileaks-dnc-source-shot-dead-dc/
Here’s a zerohedge article to read through-http://www.zerohedge.com/news/2017-05-16/murdered-dnc-staffer-seth-rich-was-contact-wikileaks-says-former-dc-homicide-detecti
This page is synchronized from the post: ‘Seth Rich did in fact contact Wikileaks!!!! He wasn’’t mugged he was murdered!’


 It shows how to use getPageContext to access the HTTP headers and display them.
[code]
| #header#: |
#vallist.nextElement()#
|
[/code]


Sources for React from Hooks
Hooks API reference
where API stands for
Application Programming Interface
Hooks API reference
where API stands for
Application Programming Interface


Hi! I am Ahish Deshpande, a junior at IIIT-Hyderabad pursuing B.Tech (Hons.) in ECE. I was born in Nagpur, India and have lived my entire life in Dubai, UAE, where I did my schooling at the Indian High School. I am extremely interested in Electronics and Computer Science, and can be found on my laptop at most times of the day (and night). Apart from this, I also love playing sports and the piano, amongst other things.
I have been playing cricket for the past 14 years and have been part of my school's cricket team. I have also represented my club in tours to the UK and Mumbai. Apart from cricket, I enjoy football, swimming, tennis and motor sports.
The keyboard/piano is my go to instrument whenever I'm stressed. I have been playing it since the age of 6. My favorite pieces are Yiruma's River Flows in You and Kiss the Rain.
I am very interested in graphics design and have been tinkering around with the Adobe Creative Suite since the 6th grade. I also like to draw and paint on paper once in a while in my free time.
The creative ways in which a camera can be used to capture moments has always amazed me, and hence I make sure to carry my camera with me almost everywhere I go :D
I love to visit and experience different places in the world. More than anything, it helps me appreciate different perspectives and explore different cultures.


Click the button to get your city name:
Hit Me!
translator
Translate
|
English
Spanish
German
translate Chinese
Hindi


 He comically illustrates whatever they ask for on Twitter and Instagram and then posts his illustrations with the original request. If you are curious about what Italian loneliness looks like, make sure you don’t miss this gallery.
Bright Side has collected 20+ of the funniest of his illustrations requested by his followers.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Which one of these fun illustrations was your favorite? Share it with us in the comments!
Preview photo credit CHILIK / instagram


This example registers a service named todo.users pointing to a local Todo application endpoint.
todo.users


Represents a 3D point on a unit sphere.
|
|
Point3 | operator* (double s, const Unit3 &d) |
| | Return scaled direction as Point3.
|
| |
| GTSAM_EXPORT const Matrix32 & | basis (OptionalJacobian< 6, 2 > H=boost::none) const |
| | Returns the local coordinate frame to tangent plane It is a 3*2 matrix [b1 b2] composed of two orthogonal directions tangent to the sphere at the current direction. More...
|
| |
|
GTSAM_EXPORT Matrix3 | skew () const |
| | Return skew-symmetric associated with 3D point on unit sphere.
|
| |
|
GTSAM_EXPORT Point3 | point3 (OptionalJacobian< 3, 2 > H=boost::none) const |
| | Return unit-norm Point3.
|
| |
|
GTSAM_EXPORT Vector3 | unitVector (OptionalJacobian< 3, 2 > H=boost::none) const |
| | Return unit-norm Vector.
|
| |
|
GTSAM_EXPORT double | dot (const Unit3 &q, OptionalJacobian< 1, 2 > H1=boost::none, OptionalJacobian< 1, 2 > H2=boost::none) const |
| | Return dot product with q.
|
| |
| GTSAM_EXPORT Vector2 | error (const Unit3 &q, OptionalJacobian< 2, 2 > H_q=boost::none) const |
| | Signed, vector-valued error between two directions. More...
|
| |
|
GTSAM_EXPORT Vector2 | errorVector (const Unit3 &q, OptionalJacobian< 2, 2 > H_p=boost::none, OptionalJacobian< 2, 2 > H_q=boost::none) const |
| | Signed, vector-valued error between two directions NOTE(hayk): This method has zero derivatives if this (p) and q are orthogonal.
|
| |
|
GTSAM_EXPORT double | distance (const Unit3 &q, OptionalJacobian< 1, 2 > H=boost::none) const |
| | Distance between two directions.
|
| |
|
Unit3 | cross (const Unit3 &q) const |
| | Cross-product between two Unit3s.
|
| |
|
Point3 | cross (const Point3 &q) const |
| | Cross-product w Point3.
|
| |
|
|
| Unit3 () |
| | Default constructor.
|
| |
|
| Unit3 (const Vector3 &p) |
| | Construct from point.
|
| |
|
| Unit3 (double x, double y, double z) |
| | Construct from x,y,z.
|
| |
|
| Unit3 (const Point2 &p, double f) |
| | Construct from 2D point in plane at focal length f Unit3(p,1) can be viewed as normalized homogeneous coordinates of 2D point.
|
| |
|
| Unit3 (const Unit3 &u) |
| | Copy constructor.
|
| |
|
Unit3 & | operator= (const Unit3 &u) |
| | Copy assignment.
|
| |
|
static GTSAM_EXPORT Unit3 | FromPoint3 (const Point3 &point, OptionalJacobian< 2, 3 > H=boost::none) |
| | Named constructor from Point3 with optional Jacobian.
|
| |
|
static GTSAM_EXPORT Unit3 | Random (std::mt19937 &rng) |
| | Random direction, using boost::uniform_on_sphere Example: std::mt19937 engine(42); Unit3 unit = Unit3::Random(engine);.
|
| |


Hehe bionic text web component go brrrr
I saw this thing on twitter about 2 hours ago and figured:
Wow, it sure would be cool to have that applied to every HTML text node in a website automatically
It turns out, thanks to stenciljs, it's pretty easy
All I did was create a web component that goes through and finds
each of the textnodes contained within it, breaks it up into chunks
and surrounds the relevant chunks with

tags.
it goes and does this recursively too - so all I have is something like the following:
<to-bionic>
omg I'm bionicified outside of a div

omg i'm bionicified inside of a div

no bionic text for me

yep, I still work as intended
</to-bionic>
yes, within tags with a "no-bionic" attribute, this effect is disabled (like it is now)
scripts are also ignored - but yes, I'll put this out there a little later.


Ms. Magazine [ http://msmagazine.com/ ]
Dear Dry,
Become a Partner! [ https://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MP14email ] *Help us reach our goal -
become a Ms. partner today! [ https://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MP14email ]*
We’re SO close to our goal!“ "A long-time "Ms.” reader has pledged a $25,000 challenge grant if we get 342 new “Ms. "Partners before the end of our drive. But we only have two days left - and *we’re 14 donors short*.
*Help us reach our goal. [ https://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MP14email ]*” “
"Ms.” magazine’s reporting has made headlines, made history and changed lives. But none of that would have been possible without support from readers and activists like you.
*I’m inviting you to join a dedicated group of members, our “Ms.” Partners. And you can join our “Ms. "lifetime community member circle. [ https://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MP14email ]*
As a special thanks, we will list your name as a "Ms.” Partner or lifetime member in our fall “Ms.” Anniversary issue.
You can become a “Ms. "Partner by making a one-time tax-deductible gift of $42 or more - one dollar for every year of "Ms. "and its trailblazing reporting. Or you can make a recurring gift of $10 or more a month. With a donation of $1000 or more, you will also become a lifetime member of the "Ms. "community.
Here’s to our future,
Kathy Spillar
Katherine Spillar
Executive Editor
P.S. [ https://org.salsalabs.com/o/1400/p/salsa/donation/common/public/?donate_page_KEY=11287 ]*Become a "Ms. P"artner and/or a lifetime community member* [ https://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MP14email ]. Whatever you decide, we will make sure your name is published in this special section of our Anniversary issue of "Ms. "this fall.
"You have received this e-mail because of your interest in promotions and Ms. magazine. To unsubscribe, please click here. [ http://org.salsalabs.com/o/1400/p/salsa/supporter/unsubscribe/public/index.sjs?unsubscribe_page_KEY=494 ]”
1600 Wilson Boulevard, Suite 801, Arlington, VA 22209 |<PHONE_NUMBER> | webmaster@feminist.org


3. Ideas and Opinions
- Personal Preferences
- What are your preferences concerning....?
- What do you think about...?
- Relationships and Possible Vulnerable Vacuums
- Who have you received the most love from in your life?
- Who has been like an iron-sharpening-iron person in your life?
- Who have you enjoyed giving to and sacriﬁcing for in your life?
- Home Life
- What things discouraged you in your family?
- Clutter in the house
- Conﬂicts
- Tension between parents
- Daily schedule or lack of one
- Unﬁnished house repairs
- Doing chores
- Rules and restrictions
- What was the most discouraging thing in your family home?
- What person do you respect or admire the most?
- What do you respect about them?
- What do you want others to respect about you?
- Who is your least favorite person that we both know?
- What is it about them that is least favorite?
- What character qualities would make you feel most loved?
- How would you describe your relationship with God?
- Where and when were you born again?
- Do you have doubts about salvation?
- What are your favorite types of presents?
- What is one of your favorite childhood memories?
- What is one of your favorite vacation memories?
- What is your favorite get-away place?
- What is your favorite movie?
- What is your favorite ﬂower?
- What foods do you hate?
- What is your favorite animal?
- What is your favorite season?
- What is your favorite bird, ﬂower, tree, etc?


By Ryan M. Hoffman | 2016-12-01
Using Libraries in Android Studio
Intro to Gradle for Android Studio
Android Studio switched to a gradle based build system a few years ago, and that made it very simple to
incorporate open source libraries your Android projects. If you aren’t familiar with gradle you can
learn more about it here. The details of gradle
recipes are beyond the scope of this post, but I will show the very basics of including libraries in
your project. Fortunately gradle makes it dummy-proof to add dependencies in your project. Gradle is not
the only way to add a library to your project, and if you are familiar with eclipse then you are most
likely familiar with adding .jar files to your project. This is still possible in Android Studio, but I
will not be covering that in this post, and I don’t recommend it. By using gradle, all you need to do is
include 1 line of code in you build.gradle
file and it does the rest. It pulls in the dependency at
build time so it doesn’t need to be downloaded and included as a .jar file. Even more appealing than that
is how easy it is to use it with different versions of libraries. With gradle, if you are using
my-awesome-library:v1.0
but then version 2-0 comes out, all you have to do is change that statement
to my-awesome-library:v2.0
and start using the updates immediately. That is much easier than
deleting the .jar and downloading and adding the new version.
So now that we know the differences let’s have a look at adding external libraries with gradle.
Adding Libraries with Gradle
When you create a new project in Android Studio it is already preconfigured to use gradle. If you look
through the project files that are created initially you will find a couple different gradle files. The
first one is probably your high level project file. This is the gradle file to configure project-wide
settings. We will not need to modify this file for what we are going to accomplish in this tutorial. Next
will be the module level gradle files. If you created a simple app with only one module then there will
only be one module level build.gradle
. If you included other modules in your project, for example
Android Wear, Android TV, or Android Auto then there should be more than one version of this file for
each module. Each one should be labeled next to it in parentheses describing what it is for.
build.gradle (Project: MyProject)
build.gradle (Module: mobile)
build.gradle (Module: wear)
The one you need to edit is the build.gradle (Module: mobile)
to add the open source library to our
project. The library we are going to add in this example is Google’s
CardView library.
Here’s how easy it is to add a library to your project with gradle and Android Studio. Start by opening
the build.gradle
file for the mobile module. Find the section near the bottom labeled
dependencies
and add this line to the bottom of that section:
compile 'com.android.support:cardview-v7:25.0.1'
It should look like this:
dependencies {
// other module dependencies may be listed here
...
compile 'com.android.support:cardview-v7:25.0.1'
}
Once you add that line Android Studio will let you know that gradle files have changed and prompt you to sync your project with gradle. Once you do that you can immediately begin using the library in your code. If a new version is released just change the version number in your gradle file and sync your project again and that’s it.
Adding Modules
I have already mentioned modules above a little bit, but I haven’t really explained what they are or what they are used for. Modules are basically just portions of code that are broken out into groups to make them easily reusable. You can think of them as mini projects within your main project. As I mentioned earlier, when you create an app for mobile, wear, auto, and tv, Android Studio automatically sets up each as its own module. This is so you can define activities and views for each in their own module without it affecting any of the others. But you can also create your own modules. I like to create a module for all of the logic and data classes in my apps, that way the code can be shared to each portion of the app.
For instance, if I have an app that has a phone portion and a wear portion, most likely it will pull data from a server and both portions will need to use that data. Rather than retrieve that data and use it in the phone module, then retrieve and use it in the wear module, I build a separate data module to retrieve the data from the server and both the phone and wear modules can use it as necessary from there. Pretty much any logic, data loading/storage can be put in modules this way to save writing it all multiple times.
Adding a module is quite simple and very similar to adding an external library. In your project there
should be a settings.gradle
file. This file manages what modules are included in your project. It
should look something like this for the most basic project:
include ':app'
To add your module you have to add this, replacing “myshinynewmodule” with the name of your module or library.
include ':app', ':myshinynewmodule'
After this you are almost done. There is one final step before you can use the code in your shiny new
module in your app. As we did with the cardview library earlier, open the build.gradle
file for
your mobile module. In the dependencies section that we modified earlier add this line:
compile project (':myshinynewmodule')
That’s it. You can now start using the code from your module in your app just as if it were an external library.
Conclusion
I hope this was clear and you were able to learn something about gradle, dependencies, or using modules in your Android project. If you have any questions please reach out to me and I’d be happy to help. If you spot any errors, please let me know about them so I can make this as accurate as possible. (BE GENTLE!!) As always, please follow me on twitter @hoffmanryan1 and on medium @rmhcompaines.


Sprite
Constructor Summary
| Public Constructor | ||
| public |
|
Member Summary
| Public Members | ||
| public |
name: * |
|
| public |
rotation: * |
|
| public |
scaleX: * |
|
| public |
scaleY: * |
|
| public |
scene: * |
|
| public |
shapeNumber: * |
|
| public |
shapes: * |
|
| public |
|
|
| public |
x: * |
|
| public |
y: * |
|
| public |
z: * |
Method Summary
| Public Methods | ||
| public |
addRotation(rotation: *, doEvent: boolean): * |
|
| public |
|
|
| public |
|
|
| public |
|
|
| public |
genImg(src: *): * |
|
| public |
getShape(): * |
|
| public |
|
|
| public |
|
|
| public |
setRotation(rotation: *, doEvent: boolean): * |
|
| public |
|
|
| public |
|
|
| public |
setScene(scene: *) |
|
| public |
|
|
| public |
setVisible(boolean: *, doEvent: boolean): * |
|
| public |
|
|
| public |
|
|
| public |
|
|
| public |
|
Public Constructors
public constructor() source
Public Members
public name: * source
public rotation: * source
public scaleX: * source
public scaleY: * source
public scene: * source
public shapeNumber: * source
public shapes: * source
public x: * source
public y: * source
public z: * source
Public Methods
public addRotation(rotation: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| rotation | * | ||
| doEvent | boolean |
|
Return:
| * |
public addX(x: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| x | * | ||
| doEvent | boolean |
|
Return:
| * |
public addY(y: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| y | * | ||
| doEvent | boolean |
|
Return:
| * |
public addZ(z: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| z | * | ||
| doEvent | boolean |
|
Return:
| * |
public hide(doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| doEvent | boolean |
|
Return:
| * |
public setName(name: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| name | * | ||
| doEvent | boolean |
|
Return:
| * |
public setRotation(rotation: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| rotation | * | ||
| doEvent | boolean |
|
Return:
| * |
public setScaleX(scaleX: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| scaleX | * | ||
| doEvent | boolean |
|
Return:
| * |
public setScaleY(scaleY: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| scaleY | * | ||
| doEvent | boolean |
|
Return:
| * |
public setScene(scene: *) source
Params:
| Name | Type | Attribute | Description |
| scene | * |
public setShape(n: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| n | * | ||
| doEvent | boolean |
|
Return:
| * |
public setVisible(boolean: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| boolean | * | ||
| doEvent | boolean |
|
Return:
| * |
public setX(x: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| x | * | ||
| doEvent | boolean |
|
Return:
| * |
public setY(y: *, doEvent: boolean): * source
Params:
| Name | Type | Attribute | Description |
| y | * | ||
| doEvent | boolean |
|
Return:
| * |


Copy the address that generated the error, go back to previous page and use the 'Contacts/Messages' form to notify the error, reporting the address that generated the error. We are sorry for the inconvenience.
The staff


Hannah Brown dances to BTS's 'Boy With Luv' on 'Dancing With The Stars's 'Boy bands & girl groups' special
by greenbaypackersThis week on 'Dancing with The Stars', it was 'Boy bands and girl groups week'! Hannah Brown - a former 'Bachelorette' - took to the stage dancing a tango to BTS's "Boy With Luv"feat. Halsey. You can watch the performance above! We do know but it could have been a little bangtan magic that caused her to get a 49 out of 50 on this performance. Congratulations to Hannah and her partner. Tell us how you feel about the performance below.


| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| AdditiveUtilitySpace
The additive utility space couples all objectives to weights and evaluators.
|
| UTILITYSPACETYPE |
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| UtilitySpace
A utility space is a function that maps bids to utilities.
|
| Class and Description |
|---|
| AdditiveUtilitySpace
The additive utility space couples all objectives to weights and evaluators.
|
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| AdditiveUtilitySpace
The additive utility space couples all objectives to weights and evaluators.
|
| Class and Description |
|---|
| AdditiveUtilitySpace
The additive utility space couples all objectives to weights and evaluators.
|
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| UtilitySpace
A utility space is a function that maps bids to utilities.
|
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| AdditiveUtilitySpace
The additive utility space couples all objectives to weights and evaluators.
|
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| UtilitySpace
A utility space is a function that maps bids to utilities.
|
| Class and Description |
|---|
| AbstractUtilitySpace
Implements the basic functionality of
UtilitySpace but does not
implement the details. |
| AdditiveUtilitySpace
The additive utility space couples all objectives to weights and evaluators.
|
| AGGREGATIONTYPE |
| Bound
An interval of integers, bound to a specific integer issue.
|
| Constraint
Specifies an area that has a utility.
|
| ConstraintUtilitySpace |
| DataObjects
Deprecated.
supporting the old
Agent . The files are just available in
the file system and therefore agents can read each other's data.
Therefore it is recommended that this is not used for new
developments. |
| EVALFUNCTYPE
This class specifies the possible evaluation functions.
|
| Evaluator
Evaluator is an object that translates discrete values into an evaluation
value.
|
| EvaluatorDiscrete
This class is used to convert the value of a discrete issue to a utility.
|
| EvaluatorInteger
This class is used to convert the value of an integer issue to a utility.
|
| EvaluatorObjective
Evaulator for an objective.
|
| EvaluatorReal
An evaluator for real-type issues.
|
| EVALUATORTYPE
Enum specifying the possible evaluation types.
|
| HyperRectangle |
| NonlinearUtilitySpace
In the non-linear scenarios, the agents no longer have linear utility
functions; instead, they can only sample their utility of a bid through the
getUtility() method.
|
| RConstraint |
| SumZeroConstraint |
| UtilityFunction
Implements part of
NonlinearUtilitySpace . |
| UtilitySpace
A utility space is a function that maps bids to utilities.
|
| UTILITYSPACETYPE |
| ZeroOutcomeContraint |


Recoloring an individual residue is done with the middle mouse button. Pushing down on the scroll wheel often counts as the middle button. My laptop's trackpad has two finger tap set to middle button. Your controls may vary. You can color with the left mouse button if one button mode is set to color. Alternatively, you can color with the left mouse button if you hold down Ctrl. This feature now supports layers. You will recolor the letter or circle of the selected layer.


Act 2: Scene 3
| Character | Direction |
|---|---|
| Joe | (Enters from left) |
| SOLDIER You're using coconuts! ARTHUR ...What? SOLDIER You've got two empty halves of coconuts and you're banging them together. ARTHUR (Scornfully) So? We have ridden since the snows of winter covered this land, through the kingdom of Mercea. SOLDIER Where did you get the coconuts? ARTHUR Through ... We found them. SOLDIER Found them? In Mercea. The coconut's tropical! ARTHUR What do you mean? SOLDIER Well, this is a temperate zone. ARTHUR The swallow may fly south with the sun, or the house martin or the plover seek warmer hot lands in winter, yet these are not strangers to our land. SOLDIER Are you suggesting coconuts migrate? ARTHUR Not at all. They could be carried. SOLDIER What? A swallow carrying a coconut? | ARTHUR | Why not? | | | |
| Mary | (Standing center stage) |
| SOLDIER | I'll tell you why not ... because a swallow is about eight | inches long and weighs five ounces, and you'd be lucky | to find a coconut under a pound. | ARTHUR It could grip it by the husk ... SOLDIER It's not a question of where he grips it, It's a simple matter of weight - ratios ... A five-ounce bird could not hold a a one pound coconut. ARTHUR Well, it doesn't matter. Go and tell your master that Arthur from the Court of Camelot is here. A Slight pause. Swirling mist. Silence. SOLDIER Look! To maintain Velocity, a swallow needs to beat its wings four hundred and ninety three times every second. right? ARTHUR (irritated) Please! SOLDIER Am I right? ARTHUR I'm not interested. | |
| Jim | (center stage) |
| SECOND SOLDIER (who has loomed up on the battlements) It could be carried by an African swallow! FIRST SOLDIER Oh yes! An African swallow maybe ... but not a European swallow. that's my point. SECOND SOLDIER Oh yes, I agree there ... ARTHUR (losing patience) Will you ask your master if he wants to join the Knights of Camelot?! FIRST SOLDIER But then of course African swallows are non-migratory. SECOND SOLDIER Oh yes. |
| On Stage |
|---|
| Joe |
| Mary |
| Jim |
| Tom |
| Mike |
| Character | Direction |
|---|---|
| Joe | (Enters from left) |
| Bravely bold Sir Robin, rode forth from Camelot. He was not afraid to die, o Brave Sir Robin. He was not at all afraid to be killed in nasty ways. Brave, brave, brave, brave Sir Robin! He was not in the least bit scared to be mashed into a pulp, Or to have his eyes gouged out, and his elbows broken. To have his kneecaps split, and his body burned away, And his limbs all hacked and mangled, brave Sir Robin! | |
| Mary | (Standing center stage) |
| KNIGHT: There! Look! LAUNCELOT: What does it say? GALAHAD: What language is that? ARTHUR: Brother Maynard, you're our scholar! MAYNARD: It's Aramaic! GALAHAD: Of course! Joseph of Aramathea! LAUNCELOT: Course! KNIGHT: What does it say? MAYNARD: It reads, 'Here may be found the last words of Joseph of Aramathea. He who is valiant and pure of spirit may find the Holy Grail in the Castle of uuggggggh'. | |
| Jim | (center stage) |
| MAYNARD: '... the Castle of uuggggggh'. BEDEMIR: What is that? MAYNARD: He must have died while carving it. LAUNCELOT: Oh, come on! MAYNARD: Well, that's what it says. ARTHUR: Look, if he was dying, he wouldn't bother to carve 'aaggggh'. He'd just say it! MAYNARD: Well, that's what's carved in the rock! GALAHAD: Perhaps he was dictating.  Well, does it say anything else? MAYNARD: No. Just, 'uuggggggh'. LAUNCELOT: Aauuggghhh. KNIGHT: Aaauggh. BEDEMIR: You don't suppose he meant the Camauuuugh? KNIGHT: Where's that? BEDEMIR: France, I think. LAUNCELOT: Isn't there a Saint Aauuuves in Cornwall? ARTHUR: No, that's Saint Ives. LAUNCELOT: Oh, yes. Saint Iiiives. SEVERAL: Iiiiives. | |
| Next Scene |
|---|
| Joe (from left) |
| Mary (from right) |
| Jim (from center) |
| Tom (walks on) |
| Mike (from left) |


Extensions
Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend types for which you do not have access to the original source code (known as retroactive modeling). Extensions are similar to categories in Objective-C. (Unlike Objective-C categories, Swift extensions do not have names.)
Extensions in Swift can:
Add computed instance properties and computed type properties
Define instance methods and type methods
Provide new initializers
Define subscripts
Define and use new nested types
Make an existing type conform to a protocol
In Swift, you can even extend a protocol to provide implementations of its requirements or add additional functionality that conforming types can take advantage of. For more details, see Protocol Extensions.
Extension Syntax
Declare extensions with the extension
keyword:
extension SomeType {
// new functionality to add to SomeType goes here
}
An extension can extend an existing type to make it adopt one or more protocols. To add protocol conformance, you write the protocol names the same way as you write them for a class or structure:
extension SomeType: SomeProtocol, AnotherProtocol {
// implementation of protocol requirements goes here
}
Adding protocol conformance in this way is described in Adding Protocol Conformance with an Extension.
An extension can be used to extend an existing generic type, as described in Extending a Generic Type. You can also extend a generic type to conditionally add functionality, as described in Extensions with a Generic Where Clause.
Computed Properties
Extensions can add computed instance properties and computed type properties to existing types. This example adds five computed instance properties to Swift’s built-in Double
type, to provide basic support for working with distance units:
extension Double {
var km: Double { return self * 1_000.0 }
var m: Double { return self }
var cm: Double { return self / 100.0 }
var mm: Double { return self / 1_000.0 }
var ft: Double { return self / 3.28084 }
}
let oneInch = 25.4.mm
print("One inch is \(oneInch) meters")
// Prints "One inch is 0.0254 meters"
let threeFeet = 3.ft
print("Three feet is \(threeFeet) meters")
// Prints "Three feet is 0.914399970739201 meters"
These computed properties express that a Double
value should be considered as a certain unit of length. Although they are implemented as computed properties, the names of these properties can be appended to a floating-point literal value with dot syntax, as a way to use that literal value to perform distance conversions.
In this example, a Double
value of 1.0
is considered to represent “one meter”. This is why the m
computed property returns self
—the expression 1.m
is considered to calculate a Double
value of 1.0
.
Other units require some conversion to be expressed as a value measured in meters. One kilometer is the same as 1,000 meters, so the km
computed property multiplies the value by 1_000.00
to convert into a number expressed in meters. Similarly, there are 3.28084 feet in a meter, and so the ft
computed property divides the underlying Double
value by 3.28084
, to convert it from feet to meters.
These properties are read-only computed properties, and so they are expressed without the get
keyword, for brevity. Their return value is of type Double
, and can be used within mathematical calculations wherever a Double
is accepted:
let aMarathon = 42.km + 195.m
print("A marathon is \(aMarathon) meters long")
// Prints "A marathon is 42195.0 meters long"
Initializers
Extensions can add new initializers to existing types. This enables you to extend other types to accept your own custom types as initializer parameters, or to provide additional initialization options that were not included as part of the type’s original implementation.
Extensions can add new convenience initializers to a class, but they cannot add new designated initializers or deinitializers to a class. Designated initializers and deinitializers must always be provided by the original class implementation.
The example below defines a custom Rect
structure to represent a geometric rectangle. The example also defines two supporting structures called Size
and Point
, both of which provide default values of 0.0
for all of their properties:
struct Size {
var width = 0.0, height = 0.0
}
struct Point {
var x = 0.0, y = 0.0
}
struct Rect {
var origin = Point()
var size = Size()
}
Because the Rect
structure provides default values for all of its properties, it receives a default initializer and a memberwise initializer automatically, as described in Default Initializers. These initializers can be used to create new Rect
instances:
let defaultRect = Rect()
let memberwiseRect = Rect(origin: Point(x: 2.0, y: 2.0),
size: Size(width: 5.0, height: 5.0))
You can extend the Rect
structure to provide an additional initializer that takes a specific center point and size:
extension Rect {
init(center: Point, size: Size) {
let originX = center.x - (size.width / 2)
let originY = center.y - (size.height / 2)
self.init(origin: Point(x: originX, y: originY), size: size)
}
}
This new initializer starts by calculating an appropriate origin point based on the provided center
point and size
value. The initializer then calls the structure’s automatic memberwise initializer init(origin:size:)
, which stores the new origin and size values in the appropriate properties:
let centerRect = Rect(center: Point(x: 4.0, y: 4.0),
size: Size(width: 3.0, height: 3.0))
// centerRect's origin is (2.5, 2.5) and its size is (3.0, 3.0)
Methods
Extensions can add new instance methods and type methods to existing types. The following example adds a new instance method called repetitions
to the Int
type:
extension Int {
func repetitions(task: () -> Void) {
for _ in 0..<self {
task()
}
}
}
The repetitions(task:)
method takes a single argument of type () -> Void
, which indicates a function that has no parameters and does not return a value.
After defining this extension, you can call the repetitions(task:)
method on any integer to perform a task that many number of times:
3.repetitions {
print("Hello!")
}
// Hello!
// Hello!
// Hello!
Mutating Instance Methods
Instance methods added with an extension can also modify (or mutate) the instance itself. Structure and enumeration methods that modify self
or its properties must mark the instance method as mutating
, just like mutating methods from an original implementation.
The example below adds a new mutating method called square
to Swift’s Int
type, which squares the original value:
extension Int {
mutating func square() {
self = self * self
}
}
var someInt = 3
someInt.square()
// someInt is now 9
Subscripts
Extensions can add new subscripts to an existing type. This example adds an integer subscript to Swift’s built-in Int
type. This subscript [n]
returns the decimal digit n
places in from the right of the number:
123456789[0]
returns9
123456789[1]
returns8
…and so on:
extension Int {
subscript(digitIndex: Int) -> Int {
var decimalBase = 1
for _ in 0..<digitIndex {
decimalBase *= 10
}
return (self / decimalBase) % 10
}
}
746381295[0]
// returns 5
746381295[1]
// returns 9
746381295[2]
// returns 2
746381295[8]
// returns 7
If the Int
value does not have enough digits for the requested index, the subscript implementation returns 0
, as if the number had been padded with zeros to the left:
746381295[9]
// returns 0, as if you had requested:
0746381295[9]
Nested Types
Extensions can add new nested types to existing classes, structures, and enumerations:
extension Int {
enum Kind {
case negative, zero, positive
}
var kind: Kind {
switch self {
case 0:
return .zero
case let x where x > 0:
return .positive
default:
return .negative
}
}
}
This example adds a new nested enumeration to Int
. This enumeration, called Kind
, expresses the kind of number that a particular integer represents. Specifically, it expresses whether the number is negative, zero, or positive.
This example also adds a new computed instance property to Int
, called kind
, which returns the appropriate Kind
enumeration case for that integer.
The nested enumeration can now be used with any Int
value:
func printIntegerKinds(_ numbers: [Int]) {
for number in numbers {
switch number.kind {
case .negative:
print("- ", terminator: "")
case .zero:
print("0 ", terminator: "")
case .positive:
print("+ ", terminator: "")
}
}
print("")
}
printIntegerKinds([3, 19, -27, 0, -6, 0, 7])
// Prints "+ + - 0 - 0 + "
This function, printIntegerKinds(_:)
, takes an input array of Int
values and iterates over those values in turn. For each integer in the array, the function considers the kind
computed property for that integer, and prints an appropriate description.
Copyright © 2017 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2017-09-19


Map file format
In versions 1.2.0 and later, there is an extra copy of the data in map files that is much easier to write a parser for if you want to read jtool maps. Initially, making the map file format easy to parse didn't even cross my mind; I just compressed it for fun. I only realized my mistake when I had to make an additional parser myself.Anyways, now it's easy enough to parse that it should be self-explanatory. And for old jtool maps, you can just open and re-save them to get that extra copy of the data.
For reference, Jtool only reads the top copy of the data when opening files, and it probably always will, for backwards compatibility.


Browns Player Has Brutally Honest Comment On QB Mason Rudolph
by Matt HladikThe Pittsburgh Steelers benched Mason Rudolph during today’s 16-10 win over the Cincinnati Bengals. It is unclear whether he or Devlin Hodges will start against the Browns next weekend.
At least one Cleveland player is hoping Rudolph keeps his job. Defensive tackle Sheldon Richardson was asked about Rudolph’s benching after the Browns’ game today.
He pulled no punches with his response.
Of course, the on-field confrontation between Rudolph and Myles Garrett drew all the main headlines when the Steelers and Browns played on November 14. However, the second-year QB played an abysmal game that evening.
Rudolph was intercepted four times in Cleveland’s 21-7 win. No wonder Richardson wants him in there so badly.
We’ll see how Pittsburgh’s quarterback situation unfolds as the week goes on. Hodges has played impressively in limited duty this season.
The Steelers and Browns will play next Sunday at a 1 p.m. ET from Heinz Field in Pittsburgh.


André's stuff
Created by André Araújo / @asdaraujo
Movember 2014
This was only possible due to the kind donations from these friends
Movember 2014
To all my awesome donors: THANK YOU!!
- Yury Velikanov
- Nicole Van De Wolfshaar
- Luke Hespanhol
- Gwen Shapira
- Aysegul Kesim
- Vitalii Litosh
- Rogerio Iamamoto
- Jayant Shekhar
- Olga Litosh
- Kellyn Pot'Vin-Gorman


Wanna Taco Bout it?
Every day is taco ipsum tuesday. Tacos for breakfast, lunch and dinner. Black or pinto beans? How bout a gosh darn quesadilla? Give me all your tacos.  Make it a double there pal. Does guac cost extra? CARNE ASADA!! Josh’s taco shack is the best taco shack. I’ve been following that taco truck around all day. Add in a few el Pastor with guac and diced onions. Fish tacos: lettuce or cabbage, pico de gallo, avocado and a sour cream or citrus/mayonnaise sauce, all placed on top of a corn or flour tortilla.
Tacos, tacos, tacos. Side of rice and beans, please. Add in a few el Pastor with guac and diced onions. I’d have to say, those tacos are on fleek. Tacos dorados called flautas, or taquitos, for which the tortillas are filled with pre-cooked shredded chicken, beef or barbacoa, rolled into an elongated cylinder and deep-fried until crisp. Add in a few el Pastor with guac and diced onions. How bout a gosh darn quesadilla? It’s taco Tuesday Monday.
How do you feel about hard shelled tacos? Fish tacos: lettuce or cabbage, pico de gallo, avocado and a sour cream or citrus/mayonnaise sauce, all placed on top of a corn or flour tortilla. Tacos al pastor made with adobada meat. You see, the refried beans are really just the adhesive necessary to apply the soft tortilla to the hard taco shell. It’s taco Tuesday Monday. Give me tacos, or give me death. CARNITAS!! It’s a wonderful morning for breakfast tacos. Flour or corn tortillas? Give me all your tacos.


Predictify is brought to you by the students in DS20 and DS19 of Lambda School (
Predicitify??
Try out the new Predictify App!
You select an *item* and you will be given
a predicted
playlist to compliment the choice.
Predictify is brought to you by the students in DS20 and DS19 of Lambda School (


Congratulations on finding the most exciting crypto project of 2018.
What makes this exciting is that P3Dx is Open Source and connected to the Open Source and Decentralized PoWH3D Ethereum Smart Contract.
What this means is that there is no way for an exit scam. If a website is closed down then you can access your P3D Tokens on another. You can even interact directly with the Ethereum blockchain and Smart Contract if needed.
The PoWH3D Smart Contract was written to encourage continued growth simply by holding the P3D Tokens. Once you have 5 P3D Tokens you can share your Masternode link to gain even more.
There is a 10% premium on the Buy and Sell price and this price is based on the Total P3D Tokens in circulation. The 10% premium is shared with all P3D Token holders based on the percentage they hold. When Tokens are bought they are created and when they are sold they are destroyed.
The P3D Buy price is calculated by using the formula: BuyPrice = (Total_P3D_Tokens + (Total_P3D_Tokens * 10%)) / 100000000
The P3D Sell price is calculated by using the formula: SellPrice = (Total_P3D_Tokens - (Total_P3D_Tokens * 10%)) / 100000000
When a person shares their Masternode link and the person Buys, the Masternode will receive 33% of the 10% and the remainder will be shared with all token holders.
This only applies when Buying P3D Tokens using their Ethereum Wallet and not when they Buy using their Balance.
First off the P3D Tokens and Ethereum in your Balance are in your wallet at all times. You are not giving them to a 3rd party website. You can Sell your P3D Tokens at any time at the current Sell price. Your P3D Tokens are not locked up.
Be sure to leave a couple dollars worth of Ethereum in your Ethereum Wallet to pay the Gas fees when doing transactions. The amount of Gas used determines the confirmation time of that transaction. 1.1 Gas to 2 Gas is only a few cents and takes under a minute to confirm. No need to spend more. 2 Gas has been under $.10. If you don't have enough Ethereum in your Wallet you will need to deposit more.
P3Dx Open Source Code - The Open Source code for this P3Dx website.
PoWH3D Discord Chat - Original developers and other Token Holders chat room.
robinmorajker.github.io/exponent - The main site created by the PoWH3D developers.
PoWH3D Smart Contract - The PoWH3D Ethereum Smart Contract code.
P3D Token Holders - A listing of all P3D Token holders and their Percentage owned.
Powhchart.com - P3D Pricing and Historical Chart.
Powh3d.eu - PoWH3D Stats and Aggregated Token Holder Statistics.
To get started you're gonna need Metamask or if using Android use Cipher Browser.
Metamask is a kind of browser extension that allows you to set up an Ethereum Wallet that you can use to interact with Smart-Contracts like PoWH3D.
Click the Cute Fox Download Button
You should now have a little fox icon right next to your URL bar on your browser of choice; click that and follow the instructions to set up a wallet. Make sure you absolutely write down your seed phrase.
Metamask updates frequently, and as long as you have that sentence of random words you can always get back to your wallet.
Now that you have a wallet set up in metamask, the P3Dx Exchange should appear correctly! But before you can buy P3D Tokens you need to add funds to your metamask Ethereum Wallet account.
Click the MetaMask icon again on your Browser and clicking on the ... icon lets you copy your Ethereum Wallet address. That address works just like any of the other Crypto Currency address you've used on exchanges for withdrawals or deposits and this is where you would send some Ethereum to.
This is a full fledged ethereum wallet, which can hold not only the ETH you're going to use, but also any ERC20 tokens like P3D you collect.
If you're not familar with Ethereum the transaction fees paid are referred to as Gas. The amount of Gas specified will determine how long it takes for your transactions to be confirmed. Currently using a Gas value of 2 for Buys is good and a Gas value of 1.1 for using your Balance is ok. These level of fees is under $.10 currently.
After your Ethereum Deposit transaction has been confirmed you can now go to the Buy P3D Tokens section on the P3Dx Exchange to buy P3D Tokens. Be sure to always leave a few dollars in your Ethereum Wallet to pay for further Gas fees.
As P3D Tokens are Bought, Sold and Transfered there is a 10% premium on each transaction that is distributed amongst all P3D Token holders. The percentage earned of the 10% is determined based on your personal holdings of P3D Tokens divided by the circulating supply of P3D Tokens. You can see this percentage in the Tokens box under MY HOLDINGS on the P3Dx Exchange screen.
Once you hold 5 P3D Tokens share your Masternode link to others and you can earn 33% of the 10% premium paid when people Buy P3D Tokens. The 33% is not earned with Buys from your Balance, Selling or Tranfers.
To Buy P3D Tokens using your Balance click the Buy using Balance button and your Ethereum Wallet will pop up. You can now set the Gas amount to 1.1 to pay lower fees.
You are interacting with the PoWH3D Smart Contract and so the only decrease in the amount of Ethereum in your Wallet will be from the Gas fees and this is why you should leave a few dollars worth of Ethereum in your Wallet to cover these small Gas fees.
You can also withdraw your Balance back to your Ethereum Wallet which requires a Gas fee. Again it is recommended to use just 1.1 Gas which is a few cents but still needs to be in your Ethereum Wallet. If you ever end up with 0 ETH in your Ethereum Wallet you will need to Deposit more ETH from another Wallet of yours.
You can Sell your P3D Tokens at any time. Simply go to the SELL P3D TOKENS section and type in the # of P3D Tokens you want to Sell and click Sell.
Your Ethereum Wallet will pop up and requires a Gas fee. You can use 1.1 Gas for this.
After a minute you will see the Eth in your Balance box and from here you can click on the Withdraw Balance button.
So selling P3D tokens and receiving the Ethereum back to your Wallet requires 2 transactions. Once in your Ethereum Wallet you can then Send it out to any other Ethereum Wallet or Ethereum Exchange you wish.
You can transfer your P3D Tokens to another Ethereum Wallet but remember there is a 10% premium paid and will reduce the # of Tokens sent by that amount.
To transfer P3D Tokens go to the TRANSFER P3D section on the P3Dx Exchange and type in the Ethereum Wallet address you are sending P3D Tokens to and the # of Tokens you would like to send and press Transfer.
Your Ethereum Wallet will pop up and requires a Gas fee. You can use 1.1 Gas for this.
If you don't go through with a Smart Contract transaction using your Ethereum Wallet you need to click on the Reject button on the Ethereum Wallet.
If the transaction is Pending for too long that means not enough Gas was used or you ran out of Ethereum to pay for the Gas. You can click on the Retry with higher gas price link for that transaction and put in a higher Gas amount. Or you can click on the link and press Reject to cancel it.
Armed with this knowledge, you are now well equipped to compete with others on the P3Dx Exchange, Go ahead, have fun; and remember to never put in anything you can't afford to lose.


If no file is selected, i.e. the open dialog is cancelled, the file name element will be cleared. If a single file is selected then the name of the file will be inserted. If multiple files are selected then the the text will be updated with x files
.


Plugins in Capacitor are centered around JavaScript APIs that call into Capacitor's runtime to perform actions on the underlying platform.
Capacitor auto generates JavaScript hooks on the client, so most plugins only need to build a native Swift/Obj-C plugin for iOS, and/or a Java one for iOS. Of course, adding custom JavaScript for a plugin is possible, and is just like buil
The plugins guide is a work in progress, slated for 0.2.0.


Integer Vector Homomorphic Encryption Demos
Search on encrypted hosted email
Spam classification on encrypted hosted email
Copyleft 2015 Angus Lai, James Payor, Angel Yu.


Egwene lay across Nynaeve’s bed, chin in her hands, watching Nynaeve pace back and forth.  Yet again Elayne was studying the list of names Verin had produced, patiently reading every word one more time. The other pages, the list of ter’angreal, sat on the table; after one shocked reading they had not discussed that one further, though they had talked of everything else. And argued, too.
Egwene stifled a yawn. It was only the middle of the morning, but none of them had gotten much sleep. They had had to be up early. For the kitchens, and breakfast. For other things that she refused to think about.  Maybe Anaiya could help me understand them, those that need understanding, but . . . But what if she is Black Ajah? After staring at every woman in that chamber last night, wondering which was Black Ajah, she was finding trust for anyone but her two companions hard to come by. But she did wish she had some way of interpreting those dreams.
The nightmares about what had happened inside the ter’angreal last night were easy enough to understand, though they had made her wake up weeping. She had dreamed of the Seanchan, too, of women in dresses with lightning bolts woven on their breasts, collaring a long line of women who wore Great Serpent rings, forcing them to call lightning against the White Tower. That had started her awake in a cold sweat, but that had to be just a nightmare, too. And the dream about Whitecloaks binding her father’s hands. A nightmare brought on by homesickness, she supposed. But the others . . .
She glanced at the other two women again. Elayne was still reading. Nynaeve still paced with that steady tread.
There had been a dream of Rand, reaching for a sword that seemed to be made of crystal, never seeing the fine net dropping over him. And one of him kneeling in a chamber where a parched wind blew dust across the floor, and creatures like the one on the Dragon banner, but much smaller, floated on that wind, and settled into his skin.
About that last, she was uncertain, but she knew the others had to mean something. Back when she had been sure she could trust Anaiya, back before she had left the Tower, before she learned the reality of the Black Ajah, a little cautious questioning of the Aes Sedai—done, oh, so carefully, so Anaiya would think it no more than the curiosity she showed about other things—had revealed that a Dreamer’s dreams about ta’veren were almost always significant, and the more strongly ta’veren, the more “almost always” became “certainly.”
But Mat and Perrin were ta’veren, too, and she had also dreamed of them. Odd dreams, even more difficult to understand than the dreams of Rand. Perrin with a falcon on his shoulder, and Perrin with a hawk. Only the hawk held a leash in her talons—Egwene was somehow convinced both hawk and falcon were female—and the hawk was trying to fasten it around Perrin’s neck. That made her shiver even now; she did not like dreams about leashes. And that dream of Perrin—with a beard!—leading a huge pack of wolves that stretched as far as the eye could see. Those about Mat had been even nastier. Mat, placing his own left eye on a balance scale. Mat, hanging by his neck from a tree limb. There had been a dream of Mat and Seanchan, too, but she was willing to dismiss that as a nightmare. It had to have been just a nightmare. Just like the one about Mat speaking the Old Tongue. That had to come from what she had heard during his Healing.
She sighed, and the sigh turned into another yawn. She and the others had gone to his room after breakfast to see how he was, but he had not been there.
He is probably well enough to go dancing. Light, now I will probably dream about him dancing with Seanchan! No more dreams, she told herself firmly. Not now. I will think about them when I am not so tired. She thought of the kitchens, of the midday meal soon to come, and then supper, and breakfast again tomorrow, and pots and cleaning and scrubbing going on forever. If I am ever not tired again. Shifting her position on the bed, she looked at her friends again. Elayne still had her eyes on the list of names. Nynaeve’s steps had slowed. Any moment now, Nynaeve will say it again. Any moment.
Nynaeve came to a halt staring down at Elayne. “Put those away. We have been over them twenty times, and there isn’t a word that helps. Verin gave us rubbish. The question is, was it all she had, or did she give us rubbish on purpose?”
As expected. Maybe half an hour till she says it again. Egwene frowned down at her hands, glad she could not see them clearly. The Great Serpent ring looked—out of place—on hands all wrinkled from long immersion in hot, soapy water.
“Knowing their names helps,” Elayne said, still reading. “Knowing what they look like helps.”
“You know very well what I mean,” Nynaeve snapped.
Egwene sighed and folded her arms in front of her, rested her chin on them. When she had come out of Sheriam’s study that morning, with the sun still not even a glint on the horizon, Nynaeve had been waiting with a candle in the cold, dark hall. She had not been seeing very clearly, but she was sure Nynaeve had looked ready to chew stone. And knowing chewing stones would not change anything in the next few minutes. That was why she was so irritable. She’s as touchy about her pride as any man I ever met. But she should not take it out on Elayne and me. Light, if Elayne can stand it, she should be able to. She isn’t the Wisdom anymore.
Elayne hardly appeared to notice whether Nynaeve was irritable or not. She frowned into the distance thoughtfully. “Liandrin was the only Red. All the other Ajahs lost two each.”
“Oh, do be quiet, child,” Nynaeve said.
Elayne wiggled her left hand to display her Great Serpent ring, gave Nynaeve a meaningful look, and went right on. “No two were born in the same city, and no more than two in any one country. Amico Nagoyin was the youngest, only four years older than Egwene and I. Joiya Byir could be our grandmother.”
Egwene did not like it that one of the Black Ajah shared her daughter’s name. Fool girl! People sometimes have the same name, and you never had daughter. It wasn’t real!
“And what does that tell us?”  “What secrets have you found in it that I missed? I am getting old and blind, after all!”
“It tells us it is all too neat,” Elayne said calmly. “What chance that thirteen women chosen solely because they were Darkfriends would be so neatly arrayed across age, across nations, across Ajahs? Shouldn’t there be perhaps three Reds, or four born in Cairhien, or just two the same age, if it was all chance? They had women to choose from or they could not have chosen so random a pattern. There are still Black Ajah in the Tower, or elsewhere, we don’t know about. It must mean that.”
Nynaeve gave her braid one ferocious tug. “Light! I think you may be right. You did find secrets I couldn’t. Light, I was hoping they all went with Liandrin.”
“We do not even know that she is their leader,” Elayne said. “She could have been ordered to . . . to dispose of us.” Her mouth twisted. “I am afraid I can only think of one reason for them to go to such lengths to spread everything out so, to avoid any pattern except a lack of pattern. I think it means there is a pattern of some kind to the Black Ajah.”
“If there’s a pattern,” Nynaeve said firmly, “we will find it.  Elayne’s answering smile made a dimple in her cheek.
Egwene eyed the older woman carefully.  She raised her head. “Unless they want us to think they’re hiding a pattern, so we will waste our time hunting for it when there isn’t one. I am not saying there isn’t; I am only saying we do not know yet. Let’s look for it, but I think we ought to look at other things, too, don’t you?”
“So you finally decided to rouse,” Nynaeve said. “I thought you had gone to sleep.” But she was still smiling.
“She is right,” Elayne said disgustedly. “I have built a bridge out of straw. Worse than straw. Wishes. Maybe you are right, too, Nynaeve. What use is this—this rubbish?” She snatched one paper out of the stack in front of her. “Rianna has black hair with a white streak above her left ear. If I am close enough to see that, it’s closer than I want to be.” She grabbed another page. “Chesmal Emry is one of the most talented Healers anyone has seen in years. Light, could you imagine being Healed by one of the Black Ajah?” A third sheet. “Marillin Gemalphin is fond of cats and goes out of her way to help injured animals. Cats! Paah!” She scrabbled all the pages together, crumpling them in her fists. “It is useless rubbish.”
Nynaeve knelt beside her and gently pried her hands from around the papers. “Perhaps, and perhaps not.” She smoothed the pages carefully on her breast. “You found in them something for us to look for. Perhaps we will find more, if we are persistent. And there is the other list.” Both her eyes and Elayne’s darted to Egwene, brown and blue alike frowning worriedly.
Egwene avoided looking at the table where the other sheets lay. She did not want to think about them, but she could not avoid it. The list of ter’angreal had etched itself into her mind.
Item. A rod of clear crystal, smooth and perfectly clear, one foot long and one inch in diameter. Use unknown. Last study made by Corianin Nedeal. Item. A figurine of an unclothed woman in alabaster, one hand tall. Use unknown. Last study made by Corianin Nedeal. Item. A disc, apparently of simple iron yet untouched by rust, three inches in diameter, finely engraved on both sides with a tight spiral. Use unknown. Last study made by Corianin Nedeal. Item. Too many items, and more than half the “use unknowns” last studied by Corianin Nedeal. Thirteen of them, to be exact.
Egwene shivered. It’s getting so I do not even like to think of that number.
The knowns on the list were fewer, not all of any apparent real use, but hardly more comforting, as she saw it. A wooden carving of a hedgehog, no bigger than the last joint of a man’s thumb. Such a simple thing, and surely harmless. Any woman who tried to channel through it went to sleep. Half a day of peaceful, dreamless sleep, but it was too close not to make her skin crawl. Three more had to do with sleep in some way. It was almost a relief to read of a fluted rod of black stone, a full pace in length, that produced balefire, with the notation DANGEROUS AND ALMOST IMPOSSIBLE TO CONTROL writ so strong in Verin’s hand that it tore the paper in two places. Egwene still had no idea what balefire was, but though it surely sounded dangerous if anything ever did, it just as surely had nothing to do Corianin Nedeal or dreams.
Nynaeve carried the smoothed-out pages to the table and set them down. She hesitated before spreading the others out and running her finger down one page, then the next. “Here’s one Mat would enjoy,” she said in a voice much too light and airy. “Item. A carved cluster of six spotted dice, joined at the corners, less than two inches across. Use unknown, save that channeling through it seems to suspend chance in some way, or twist it.” She began to read aloud. “ ‘Tossed coins presented the same face every time, and in one test landed balanced on edge one hundred times in a row. One thousand tosses of the dice produced five crowns one thousand times.’ ” She gave a forced laugh. “Mat would love that.”
Egwene sighed and got to her feet, walked stiffly to the fireplace. Elayne scrambled up, watching as silently as Nynaeve. Pushing her sleeve as far up her arm as it would go, Egwene reached carefully up the chimney. Her fingers touched wool on the smoke shelf, and she pulled out a wadded, singed stocking with a hard lump in the toe. She brushed a smear of soot from her arm, then took the stocking to the table and shook it out. The twisted ring of striped, flecked stone spun across the tabletop and fell flat atop a page of the ter’angreal list. For a few moments they just stared at it.
“Perhaps,” Nynaeve said finally, “Verin simply missed the fact that so many of them were last studied by Corianin.” She did not sound as if she really believed it.
Elayne nodded, but doubtfully. “I saw her walking in the rain once, soaking wet, and took a cloak to her. She was so wrapped up in whatever she was thinking, I do not believe she knew it was raining until I put the cloak around her shoulders. She could have missed it.”
“Maybe,” Egwene said. “If she did not, she had to know I’d notice as soon as I read the list. I do not know. Sometimes I think Verin notices more than she lets on. I just do not know.”
“So there’s Verin to suspect,” Elayne sighed. “If she is Black Ajah, then they know exactly what we are doing. And Alanna.” She gave Egwene an uncertain, sidelong look.
Egwene had told them everything. Except what happened inside the ter’angreal during her testing; she could not bring herself to talk about that, any more than Nynaeve or Elayne could tell of their testings. Everything that happened in the testing chamber, what Sheriam had said about the terrible weakness conferred by the ability to channel, every word Verin had said, whether it seemed important or not. The one part they had had trouble accepting was Alanna; Aes Sedai just did not do things like that. No one in her right mind did anything like that, but Aes Sedai least of all.
Egwene glowered at them, almost hearing them say it. “Aes Sedai are not supposed to lie, either, but Verin and the Mother seem awfully close with what they tell us. They are not supposed to be Black Ajah.”
“I like Alanna.” Nynaeve tugged her braid, then shrugged. “Oh, very well. Perha—That is, she did behave oddly.”
“Thank you,” Egwene said, and Nynaeve gave her an acknowledging nod as if she had heard no sarcasm.
“In any case, the Amyrlin knows of it, and she can keep an eye on Alanna far more easily than we can.”
“What about Elaida and Sheriam?” Egwene asked.
“I have never been able to like Elaida,” Elayne said, “but I cannot truly believe she is Black Ajah. And Sheriam? It’s impossible.”
Nynaeve snorted. “It should be impossible for any of them. When we do find them, there is nothing says they’ll all be women we do not like. But I don’t mean to put suspicion—not this kind of suspicion!—on any woman. We need more to go on than that they might have seen something they shouldn’t.” Egwene nodded agreement as quickly as Elayne, and Nynaeve went on: “We will tell the Amyrlin that much, and put no more weight to it than it deserves. If she ever looks in on us as she said she would. If you are with us when she comes, Elayne, remember she does not know about you.”
“I am not likely to forget it,” Elayne said fervently. “But we should have some other way to get word to her. My mother would have planned it better.”
“Not if she could not trust her messengers,” Nynaeve said. “We will wait. Unless you two think one of us should have a talk with Verin? No one would think that remarkable.”
 Egwene was quicker and more vigorous with hers; slip of the mind or not, Verin had left out too much to be trusted.
“Good.” Nynaeve sounded more than satisfied. “I am just as pleased we cannot talk to the Amyrlin when we choose. This way we make our own decisions, act when and as we decide, without her directing our every step.” Her hand ran down the pages listing stolen ter’angreal as if she were reading it again, then closed on the striped stone ring. “And the first decision concerns this. It’s the first thing we have seen that has any real connection to Liandrin and the others.” She frowned at the ring, then took a deep breath. “I am going to sleep with it tonight.”
Egwene did not hesitate before taking the ring out of Nynaeve’s hand. She wanted to hesitate—she wanted to keep her hands by her sides—but she did not, and she was pleased. “I am the one they say might be a Dreamer. I do not know whether that gives me any advantage, but Verin said it’s dangerous using this. Whichever of us uses it, she needs any advantage she can find.”
Nynaeve gripped her braid and opened her mouth as if to protest.  We do not even know if you are a Dreamer, and I can channel more strongly than you.
“You can channel more strongly if you are angry. Can you be sure you’ll be angry in a dream? Will you have time to become angry before you need to channel? Light, we don’t even know that anyone can channel in a dream. If one of us has to do it—and you are right; it is the only connection we have—it should be me. Maybe I really am a Dreamer. Besides, Verin did give it to me.”
Nynaeve looked as if she wanted to argue, but at last she gave a grudging nod. “Very well. But Elayne and I will be there. I do not know what we can do, but if anything goes wrong, perhaps we can wake you up, or . . . We will be there.” Elayne nodded, too.
Now that she had their agreement, Egwene felt a queasiness in the pit of her stomach. I talked them into it. I wish I did not want them to talk me out of it. She became aware of a woman standing in the doorway, a woman in novice white, with her hair in long braids.
“Did no one ever teach you to knock, Else?” Nynaeve said.
Egwene hid the stone ring inside her fist. She had the strangest feeling that Else had been staring at it.
“I have a message for you,” Else said calmly. Her eyes studied the table, with all the papers scattered on it, then the three women around it. “From the Amyrlin.”
Egwene exchanged wondering looks with Nynaeve and Elayne.
“Well, what is it?” Nynaeve demanded.
Else arched an eyebrow in amusement. “The belongings left behind by Liandrin and the others were put in the third storeroom on the right from the main stairs in the second basement under the library.” She glanced at the papers on the table again and left, neither hurrying nor moving slowly.
Egwene felt as if she could not breathe. We’re afraid to trust anybody, and the Amyrlin decides to trust Else Grinwell of all women?
“That fool girl cannot be trusted not to blab to anyone who’ll listen!” Nynaeve started for the door.
Egwene grabbed up her skirts and darted past her at a run. Her shoes skidded on the tiles of the gallery, but she caught a glimpse of white vanishing down the nearest ramp and dashed after it. She must be running, too, to be so far ahead already. Why is she running? The flash of white was already disappearing down another ramp. Egwene followed.
A woman turned to face her at the foot of the ramp, and Egwene stopped in confusion. Whoever she was, this was certainly not Else. All in silver and white silk, she sparked feelings Egwene had never had before.  She can probably channel more of the Power than I can, too. Light, she is probably smarter than all three of us put together on top of it. It isn’t fair for one woman to—Abruptly she realized the way her thoughts were going. Her cheeks reddened, and she gave herself a shake. She had never felt—less—than any other woman before, and she was not about to start now.
“Bold,” the woman said. “You are bold to go running about so, alone, where so many murders have been done.” She sounded almost pleased.
Egwene drew herself up and straightened her dress hurriedly, hoping the other woman would not notice, knowing she did, wishing the woman had not seen her running like a child. Stop that! “Pardon, but I am looking for a novice who came this way, I think. She has large, dark eyes and dark hair in braids. She’s plump, and pretty in a way. Did you see which way she went?”
The tall woman looked her up and down in an amused way. Egwene could not be sure, but she thought the woman might have glanced a moment at the clenched fist by her side, where she still held the stone ring. “I do not think you will catch up to her. I saw her, and she was running quite fast. I suspect she is far away from here by now.”
“Aes Sedai,” Egwene began, but she was given no chance to ask which way Else had gone. Something that might have been anger, or annoyance, flashed through those black eyes.
“I have taken up enough time with you for now. I have more important matters to see to. Leave me.” She gestured back the way Egwene had come.
So strong was the command in her voice that Egwene turned and was three steps up the ramp before she realized what she was doing. Bristling, she spun back. Aes Sedai or no, I—
The gallery was empty.
Frowning, she dismissed the nearest doors—no one lived in those rooms, except possibly mice—and ran down the ramp, peered both ways, followed the curve of the gallery with her eyes all the way around. She even peered over the rail, down into the small Garden of the Accepted, and studied the other galleries, higher as well as lower. She saw two Accepted in their banded dresses, one Faolain and the other a woman she knew by sight if not name. But there was no woman in silver and white anywhere.


While there are a tremendous variety of resources available to us today, it is critical that they are utilized effectively. We are responsible for our choices today to affect the future, and as a result, I aim to take a holistic, design thinking approach to tackle big problems.
Hi. My name is Aidan O'Gorman. I am currently working on a Chemical Engineering BASc at the University of Waterloo, although I would like to think I am much more than my degree can tell you.


Backup Markdown Resume
Nicholas M. Lau
650-740-1027 |<EMAIL_ADDRESS>| linkedin.com/in/nlau1
POSITIONING STATEMENT
Software Developer, with strategic vision. Quick learner, able to take novel situations and independently work them out. Utilize thorough research skills and ability to quickly implement viable solutions. An engaged team player, can clearly communicate my work and results to my team. Known for efficient time management and creative problem solving skills.
SKILLS
Programming Languages
Java, C/C++, Python, Ruby, PHP, HTML, CSS, Javascript, SQL
Editors/IDEs
Sublime Text, Vim, Emacs, Eclipse, Xcode, IntelliJ
Technologies
Linux, Maven, Subversion (SVN), JIRA, SSH/FTP, Unit Testing (JUnit), Selenium Webdriver, Ruby on Rails, Jax-RS, Json, SaaS, REST
WORK EXPERIENCE
TIBCO Software Inc. 2014-2015
Software Developer (Member of Technical Staff)
- Working with a team of 20 people on a research project. Developing connectors in Java that transfer data across APIs such as Wufoo, SurveyMonkey, Yelp, and Facebook.
- Researching SaaS APIs and strategizing best practices for consumer utilization.
- Moving data using Jax-RS and json, using mySQL database for persistence.
Fair Isaac Corporation 2012
Front-End UI Developer Intern
- Modernized the Falcon Fraud Manager webapp’s UI with bootstrap, html, and css.
- Developed automated tests (java) using Selenium Webdriver that reduced testing time.
- Later that year went on to receive received a “best-in-class” designation in all four enterprise fraud management solutions categories from CEB TowerGroup.
PROJECTS
Independent Study: Ruby on Rails
- Spent 200+ hours learning rails and programming apps
- Hosted at: http://www.nicksdevspot.com/
- Source: https://github.com/nmlau
QR Concentration Game
- Independent project to make a QR code based game (in java) for kids at a low income day care center.
Database Specialist for Crossfit App
- Created database and developed schema for Crossfit webapp using mySQL, wrote php code for dynamic webpages for 9 teammates.
EDUCATION
University of California San Diego, 2009 – 2013
Computer Science, B.S.
RELEVANT COURSEWORK
| Computer Organization and Systems Programming | Compiler Construction |
|---|---|
| Object Oriented Design, Advanced Data Structures | Server-side Web Applications |
| Design and Analysis of Algorithms | Programming Languages: Principles and Paradigms |
| Software Engineering | Project/Computer Architecture |
| Operating Systems | Team Engineering |
PERSONAL INTERESTS
Hockey, played for the UCSD club team. Vice president and co-captain of High School team, won Division Championships 4 times. Coached High School Junior Varsity team. Played in AAU Junior Olympic Games for Inline Hockey.
Traveling, backpacked around Asia for a few months. Visited Vietnam, Hong Kong, and Japan. Travel blog available at: www.nicksdevspot.com


{* Copyright 2011-2013 Here's A Hand Limited Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *} {extends file="page.htm"} {block name="content"}
Here's a Hand won the award for innovative ways to use technology to tackle social isolation at Social Innovation Camp 2011.
We are a social enterprise based in Edinburgh.
We are supported and funded by City of Edinburgh Council, Edinburgh's Change Fund, the Open Innovation Project and Scotland UnLtd's Millennium Awards.
Here's a Hand gratefully acknowledges the support of the following:
{/block}