- Software design & development:
- Testing & feedback:
- Images & artwork:
- Kili at the Czech Wikiquote project for the Coins image.
- Wikimedia Commons / Wikipedia / xrmap for the country flag images.
- Assistance:
- The code for saving and loading window positions was taken from
O'Reilly's Swing Hacks book.
- Supporting software components:
MiniMiser could not have been possible without many fine products of the open
source community, notably:
- The Java programming language (on its way to becoming open source)
- SpringSource's Spring framework
- Thomas Mueller's H2 embedded relational database
- Tim Boudreau's Wizard library
- JGoodies Forms, Looks & Binding libraries
- XXXX's JCalendar library
- Apache Commons HTTP Client library
- Striped tables in the SQL view use ZebraJTable
(C) Dr. David R. Nadeau, Nadeau Software Consulting.
Used with permission.
- Supporting development tools:
MiniMiser could not have been developed without without many fine
open source development tools and systems, notably:
- Ubuntu Linux, from Canonical and the Ubuntu community
- The Eclipse IDE from the Eclipse Foundation
- Bram Moolenaar's vim, the ultimate text editor
- OpenOffice.org, for documentation and diagrams
- Subversion from Collab.net, and Subclipse, for version control
- Maven 2 from the Apache Foundation, for a dependable build
- Archiva, from the Apache Foundation, for artifact management
- Hudson, from Kohsuke Kawaguchi, for continous integration
- Tomcat, from the Apache Foundation, for hosting the above
- Checkstyle, from XXXX, and the Eclipse Checkstyle plugin, for verifying coding standard compliance
- JXR, from XXXX, for code cross-referencing
- PMD, from XXXX, for code analysis
- Cobertura from XXXX, Emma and EclEmma from XXXX for code coverage analysis
- Junit and Easymock, the unit testing framework and mock library
- Freemind, from XXXX, for building mindmaps
The following non-open-source products were also used in the production of this
software:
- Microsoft Windows 2000 and XP SP2
- Mac OS X 10.5.4
- Jude Community, for UML diagrams


|
DESERT
3.0
|
Go to the source code of this file.
Macros | |
| #define | BARR_ELBITS (CHAR_BIT * sizeof(BARR_ELTYPE)) |
| #define | BARR_ELNUM(N) ((N) / BARR_ELBITS) |
| #define | BARR_BITNUM(N) ((N) % BARR_ELBITS) |
| #define | BARR_SET(barr, N) |
| #define | BARR_TEST(barr, N) |
Typedefs | |
| typedef unsigned char | BARR_ELTYPE |
Implementation of the classes defining the frame elements (key and set) exploited by Uwal objects to reasseble received fragments.
Definition in file frame-set.cpp.
| #define BARR_BITNUM | ( | N | ) | ((N) % BARR_ELBITS) |
Definition at line 53 of file frame-set.cpp.
| #define BARR_ELBITS (CHAR_BIT * sizeof(BARR_ELTYPE)) |
Definition at line 49 of file frame-set.cpp.
| #define BARR_ELNUM | ( | N | ) | ((N) / BARR_ELBITS) |
Definition at line 51 of file frame-set.cpp.
| #define BARR_SET | ( | barr, | |
| N | |||
| ) |
Definition at line 55 of file frame-set.cpp.
| #define BARR_TEST | ( | barr, | |
| N | |||
| ) |
Definition at line 59 of file frame-set.cpp.
| typedef unsigned char BARR_ELTYPE |
Definition at line 43 of file frame-set.cpp.


---
layout: post
title: 'asmcmd: command-line tool for ASM'
date: '2007-03-06T15:04:00.000-06:00'
author: Don Seiler
tags:
- seppuku
- asm
- asmcmd
- oracle
- cli
modified_time: '2010-11-19T22:48:47.300-06:00'
blogger_id: tag:blogger.com,1999:blog-7032512792942232766.post-2686818888071795746
blogger_orig_url: http://www.seiler.us/2007/03/asmcmd-command-line-tool-for-asm.html
---
I received a HOT tip yesterday about the existence of asmcmd. Frankly I'm ashamed that I didn't know about it sooner, since I've been doing an ass-ton of reading about ASM over the past month or so. I'd commit seppuku but I don't have a trusty second available. Instead, I'll just share this post with you as my penance.
asmcmd basically provides a command-line interface to the ASM "file system". Since ASM uses raw disk, traditional OS tools are powerless to view the precious files within. asmcmd lets you navigate the contents of your ASM instance's disk groups with commands that should be familiar to any Linux user, including wildcard matching.


For example the following will be reported by this inspection: if (s != null && s.equals("literal")) {} And the quickfix will replace that with: if ("literal".equals(s)) {}
if (s != null && s.equals("literal")) {}
if ("literal".equals(s)) {}
New in 11, Powered by InspectionGadgets


January 6, 2017
Dummy title
This is an example of a post with plenty of example text to give it length
Post previews are seen on the home page of 18f.gsa.gov and at the bottom of every blog post for example, this post. This feature provides the user a preview of a blog that includes the publish date, title, an excpert, a link to the full post, and tags.
January 6, 2017
This is an example of a post with plenty of example text to give it length
January 7, 2017
This is an example of a post with plenty of example text to give it length
January 8, 2017
This is an example of a post with plenty of example text to give it length

{% include post.html
date='January 6, 2017'
title='Dummy title'
excerpt='This is an example of a post with plenty of example text to give it length'
url=dead_end_link
%}
{% include post.html
date='January 7, 2017'
title='Dummy title 2'
excerpt='This is an example of a post with plenty of example text to give it length'
url=dead_end_link
%}
{% include post.html
date='January 8, 2017'
title='Dummy title 3'
excerpt='This is an example of a post with plenty of example text to give it length'
url=dead_end_link
%}

Post previews are generated dynamically throughout the site. Each preview requires a few attributes:
date
title
excerpt
url
I’m thankful for a safe workplace that encourages me to raise a hand for help…or a high five. — Micah Taylor
We recently welcomed the newest group of Presidential Innovation Fellows into the federal government. This diverse group represents some of the nation’s most talented and creative civic-minded innovators.
More than a thousand candidates applied to serve the country in this unique capacity. From this pool of amazing and incredibly motivated applicants, we selected almost 30 designers, developers, entrepreneurs and executives to bring their unique skills into government.
I’m thankful for how much I learn every week at 18F — from colleagues, agency partners, and the work itself. — Corey Mahoney
#### Blockquote as markdown:
> I'm thankful for a safe workplace that encourages me to raise a hand for help...or a high five. — **Micah Taylor**
#### Our markdown blockquotes support line breaks:
> We recently welcomed the newest group of Presidential Innovation
> Fellows into the federal government. This diverse group represents
> some of the nation’s most talented and creative civic-minded
> innovators.
>
> More than a thousand candidates applied to serve the country in this
> unique capacity. From this pool of amazing and incredibly motivated
> applicants, we selected almost 30 designers, developers, entrepreneurs
> and executives to bring their unique skills into government.
#### Blockquote as HTML:

I’m thankful for how much I learn every week at 18F — from colleagues, agency partners, and the work itself. — Corey Mahoney

#### Pull quotes with and without a team image:
Our blockquotes use the kramdown
renderer, so please defer to the documentation for details on markdown rendering issues. 18f.gsa.gov does, however, set styles that are unique to 18F Brand for both blockquotes and pull quotes.
Additional resources:
There are plenty of instances where we want to be able to embed content from other web pages. Where there are several ways to do this successfully, we recommend using a Jekyll filter, oembed
, to handle embeddable content in a consistent way.
We are using a Jekyll plugin called jekyll_oembed
. The URL string should be address of the content, not a URL provided to embed content. If content is private, it might be necessary to directly add HTML in this way as the service will reject any requests byjekyll_oembed
.
 For information on adding images to the site see:
Hero images are used in the primary and blog post layouts.Here is a view of a live example.
Images can be any visual that supports the content of the post. We often use screen shots of platforms, people active in an design thinking excercise or images of people and our team. Below is an example of an image with a caption.
Any 18F team member listed in the /assets/img/team/
directory can be referenced directly in markdown or HTML.
#### Referencing a team member who has a photo
{{ 'brian' | team_photo }}
#### Referencing a team member who does not have a photo
{{ 'greg' | team_photo }}
The team photo is created by using a custom Jekyll filter called team_photo
that allows us to access images programmaticaly without using an img
tag explicitly. If an image isn’t working, make sure that the text use for the filter directly matches the image title for the team member in question.
In the above example {{ 'brian' | team_photo }}
, references /assets/img/team/brian.jpg
and places it in an img
tag.
See the code to better understand what is going on.
Additional resources:


Computer Graphics 2, 15-463
Paul Heckbert
Carnegie Mellon University
Revision 1: 14 Feb. 2001.
This document has the following sections:
All of these can be created by doing truncations (cutting off each vertex), stellations (building a prism on each face), or other simple operations on the Platonic solids. It would be interesting to write code to generate such polyhedra, possibly even to animate transformations (3-D morphs) between them, but what data structure should we use for this?
First Try: list of polygons. The first, and simplest data structure we might think of is a simple list of polygons, each one storing (redundantly) all of its vertex coordinates. That is, in C++:
With this data structure, the vertices of face f would be at the xyz points tri[f][i] for i=0,1,2. The above scheme is for triangulated models, where each face (polygon) has three sides, but it could obviously be generalized for models with n-sided faces. With this data structure, it would be very clumsy to try to do an operation like vertex truncation, where you need to find all the vertices adjacent (connected by an edge) to a given vertex. To do that you'd need to search through the face list for other vertices with equal coordinates -- inefficient, and inelegant.struct Vert {double x, y, z;}; // vertex position Vert tri[NFACES][3]; // array of triangles, each with 3 vertices
Second Try: vertex and face lists. A better alternative would be to store the vertices separately, and make the faces be pointers to the vertices:
Again, this is the code for triangular faces only. This second method reduces redundancy, but finding the vertices adjacent to a given vertex would still be costly (O(NFACES)), as you'd have to search the entire face list. The above two data structures record the geometric information (vertex positions) just fine, but they are lacking in topological information that records connectedness (adjacencies) between vertices, edges, and faces. The first data structure stored no topological information, the second stored only pointers from faces to vertices.Vert vert[NVERTS]; // array of vertices struct Tri {Vert *p, *q, *r;}; // triangle holds 3 vertex pointers Tri tri[NFACES]; // array of triangular faces
We can do better. To do so we'll need to store even more topological information, so that we can find the vertices/edges/faces immediately adjacent to a given vertex/edge/face in constant time.
In the quad-edge data structure, there are classes for vertices, edges, and faces, but edges play the leading role. The edges store complete topological information; all of the topological information stored by the faces and vertices is redundant with information in the edges. Figuratively speaking, the edges form the skeleton, and the vertices and faces are optional decorations, hanging off of the edges. Vertices hold most of the geometric (shape) information.
We now describe our implementation of quad-edge. We emphasize the high level public routines that you are encouraged to use. The full details are in the code in the cell directory.
The following member function returns a unique integer ID for each edge.
Using Lnext, we could loop around the edges of the face on the left of edge estart in ccw order:
Note that we need "do ... while" as opposed to "for" or "while" because (a) we don't know beforehand how many edges the face has (quad-edge is not limited to triangulated surfaces), (b) following the Lnext's yields a cycle, and (c) we want to visit each edge exactly once. If Lprev were used instead of Lnext we'd visit the left face's edges in cw order.void leftFromEdge(Edge *estart) { Edge *e = estart; do { <do something with edge e> e = e->Lnext(); } while (e!=estart); }
The number of edges of a face (the face degree or valence) is 3 or greater for "real" polyhedra, but sometimes during construction of data structures, it is useful to have faces with 1 or 2 edges, which would correspond geometrically to loops or degenerate sliver polygons.
Similarly, the edges around the origin vertex of edge estart can be visited in ccw order like so:
The degree of a vertex is 3 or greater for "real" polyhedra, but as with faces, during construction we sometimes build vertices of degree 1 or 2.void orgFromEdge(Edge *estart) { Edge *e = estart; do { <do something with edge e> e = e->Onext(); } while (e!=estart); }
Since visiting the edges around a face (or edges around a vertex) is quite common, we have set up some iterator classes to simplify your code. Using the iterator, an alternative to leftFromEdge is:
Note that this functions a bit differently from leftFromEdge; its input is a face pointer, not an edge pointer, so you don't have control over which of the face's edges will get visited first, but that usually doesn't matter, anyway. Once an iterator has gone through its list, it is "spent". If you want to go through the list again, you must construct a new iterator.void edgesOfFace(Face *face) { // visit edges of face in ccw order; edges have face on the left FaceEdgeIterator faceEdges(face); Edge *edge; while ((edge = faceEdges.next()) != 0) <do something with edge e> }
Using an iterator, the alternative to orgFromEdge is:
void edgesOfVertex(Vertex *vert) { // visit edges of vertex in ccw order; edges have vert as origin VertexEdgeIterator vertEdges(vert); Edge *edge; while ((edge = vertEdges.next()) != 0) <do something with edge e> }
The dual of a polyhedron is the polyhedron resulting from rotating edges 90 degrees, replacing vertices with faces, and faces with vertices. The new vertex locations can be taken to be the centroids of the old faces. For example, the dual of a cube is an octahedron, and vice versa; and dodecahedra and icosahedra are duals of each other, also. A tetrahedron is dual with a rotated copy of itself.
The quad-edge data structure gets its name because the duality is built
in at a low level by storing quadruples of directed edges together:
Here, Vec3 is essentially an array of three doubles, but with many additional operators and functions that will come in quite handy. The Vec3 class comes from the Simple Vector Library (SVL) of former CMU grad student Andrew Willmott. Take the time to skim his documentation; it will pay off.class Vertex { Vec3 pos; // (x,y,z) position of this vertex const void *data; // data pointer for this vertex Edge *getEdge(); // an outgoing edge of this vertex unsigned int getID(); // id# of this vertex (unique for this Cell) };
There is a data pointer for each vertex, for extensibility. You can store arbitary (4 byte) information there, or pointers to additional memory (e.g. for colors, normals, or texture coordinates).
class Face { Edge *getEdge(); // a ccw-oriented edge of this face const void *data; // data pointer for this vertex unsigned int getID(); // id# of this face (unique for this Cell) };
The data pointer here is just like that for vertices.
which are called Euler operators, since they maintain Euler's formula V-E+F=2 interrelating the number of vertices, edges, and faces of a polyhedron of genus 0 (topologically equivalent to a sphere). If the topology is a valid polyhedron before the call, it will be valid after the call, as well. Note that these routines update the topology, but they use the default constructors for Vertex and Face, so the positions of new vertices are (0,0,0) -- you'll have to set them yourself.class Cell { Edge *makeVertexEdge(Vertex *v, Face *left, Face *right); Edge *makeFaceEdge(Face *f, Vertex *org, Vertex *dest); void killVertexEdge(Edge *e); void killFaceEdge(Edge *e); };
Also, these routines (and the rest of the library) do not enforce
linearity of edges or planarity of faces.
It is permissible to have vertices and faces of degree 1 or 2,
for example.
Given Cell *c, the calls do the following:
For debugging or display purposes, you'll often want to loop over all the vertices, edges, or faces of a cell.
To loop over the vertices of Cell *c:
To loop over the faces of Cell *c:CellVertexIterator cellVerts(c); Vertex *v; while ((v = cellVerts.next()) != 0) <do something with vertex v>
Thus, to draw all the faces with OpenGL, using random colors:CellFaceIterator cellFaces(c); Face *f; while ((f = cellFaces.next()) != 0) <do something with face f>
In the above, edge->Org() is the origin of the current edge of the face, and the &...->pos[0] takes the address of its x coordinate. We could equally well use Dest. Stepping through the (undirected) edges of a cell is more complex, as we have things set up. Note that there are twice as many directed edges as undirected edges. The above code visits all directed edges once, so it visits each undirected edge twice. But for wireframe drawing and many other purposes you would want to operate on each undirected edge just once. A clever way to guarantee this, without marking edges or any additional arrays or lists, is to visit each undirected edge twice, but use the fact that the pointers to the two vertices are addresses, one of which is larger than the other:#include <stdlib.h> double frand() {return (double)rand()/RAND_MAX;} CellFaceIterator cellFaces(c); Face *f; while ((f = cellFaces.next()) != 0) { glColor3f(frand(), frand(), frand()}; glBegin(GL_POLYGON); FaceEdgeIterator faceEdges(f); Edge *edge; while ((edge = faceEdges.next()) != 0) glVertex3dv(&edge->Org()->pos[0]); glEnd(); }
One could create a "CellEdgeIterator" using this approach, I suppose.CellFaceIterator cellFaces(c); Face *f; while ((f = cellFaces.next()) != 0) { // visit each face of cell c FaceEdgeIterator faceEdges(f); Edge *edge; while ((edge = faceEdges.next()) != 0) { // visit each edge of face f // if edge passes the following, its Sym will not, // and vice-versa if (edge->Org() < edge->Dest()) <do something with edge> } }
# commentwhere the ith v line defines vertex i, with i starting at 1. x, y, and z are floating point numbers. Each f line defines an n-sided face, where the vj are vertex indices. For example, the following defines a tetrahedron:
v x y z
f v1 v2 ... vn
where vertex 1 (v1) is at (-1,-1,-1) and face 1 has vertices v2, v3, v4. Faces are counterclockwise when viewed from the outside, by convention. OBJ files for Platonic solids are in the model directory.  The former returns NULL on error.
To solve this, we can store a "splitme" bit for each edge in its data field (assuming data isn't being used for other purposes). Since data is a void *, it's necessary to cast when reading it. In our case we'll be storing an int in data.
Edge *split(Edge *e) { // split edge e, putting new vertex at midpoint // get Cell pointer from vertex (Edges don't have one) Cell *c = e->Org()->getCell(); // split, creating new edge and vertex (sets topology only) Edge *enew = c->makeVertexEdge(e->Org(), e->Left(), e->Right()); // At this point enew->Dest()==e->Org(), // and enew->Dest(), the new vertex, is between enew and e. // You might want to check the defn of makeVertexEdge to // convince yourself of this. // position new vertex at midpoint (note use of Vec3::operator+) enew->Dest()->pos = .5*(enew->Org()->pos + e->Dest()->pos); return enew; // return new edge } void splitAll(Cell *c) { { // first, set the splitme bits of all original edges CellFaceIterator cellFaces(c); Face *f; while ((f = cellFaces.next()) != 0) { // visit each face of cell c FaceEdgeIterator faceEdges(f); Edge *edge; while ((edge = faceEdges.next()) != 0) { // visit each edge of face f int splitme = edge->Org() < edge->Dest(); // splitme = 0 or 1 // my Sym's bit will be the complement of mine edge->data = splitme; // set bit } } } { // go through again, splitting marked edges // need to construct a new iterator, hence the {}'s CellFaceIterator cellFaces(c); Face *f; while ((f = cellFaces.next()) != 0) { // visit each face of cell c FaceEdgeIterator faceEdges(f); Edge *edge; while ((edge = faceEdges.next()) != 0) { // visit each edge of face f // if its "splitme" bit set then split it if ((int)edge->data) { Edge *enew = split(edge); // clear splitme bits on two sub-edges and // their Syms to avoid recursive splitting edge->data = 0; edge->Sym()->data = 0; enew->data = 0; enew->Sym()->data = 0; } } } } } void main() { Cell *c; c = objReadCell("cube.obj"); // read cube.obj if (!c) exit(1); splitAll(c); // split all edges }
15-463, Computer Graphics 2
Paul Heckbert


---
layout: post
title: How to fix a busted Oracle Table index?
tags: []
status: publish
type: post
published: true
meta: {}
---
Run the following OracleALTER TABLE
DISABLE CONSTRAINT ;
ALTER TABLE
ENABLE CONSTRAINT USING INDEX
storage (initial 100K
next 100K
maxextents 99
minextents 1
pctincrease 0);/* Use what numbers and names make sense */


{% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %}Trendalyser{% endblock %} {% block page_content %}
Here we will have some pretty images, graphs and some text about how good and useful this application is.
And maybe a signin/signup form.
And of course some endorsements from users and pretty logos for any big companies that use the application.


Microtrain Bootcamp
LinkedIn
●
Chicago, IL
Full Stack Web and Hybrid Mobile Applications Developer
Full stack web and hybrid mobile applications developer specializing in full stack JavaScript application and architectures. Experienced in all stages of the development life cycle, well versed in numerous programming languages.
- Hands-on experience leading all stages of system development efforts, including requirements in definition design, architecture, testing and support.
- Outstanding leadership abilities; able to coordinate and direct all phases of project-based efforts.
Core Competencies
- Full Stack Development
- Strong Analytical Skills
- Prioritizes Tasks
- Hybrid Mobile Development
- Savvy Problem Solver
- Strong Leadership Skills
CERTIFICATIONS / TECHNICAL PROFICIENCIES
- Certifications: Agile Certified Scrum Master
- Platforms: Linux, Windows, Mac, LAMP, MEAN, NodeJS
- Database: MySQL, MongoDB
- Tools: VS Code, SSH, Gulp, Git
- Languages: HTML, CSS, SASS, JavaScript, ES6, PHP, Bash, SQL
PROFESSIONAL EXPERIENCE
Bob’s Custom Websites – Chicago, IL 2015 – Present
Bob’s Custom Websites builds custom web applications for clients across a large number of industries.
Web Developer
- Work with ES6, NodeJS, HTML, JavaScript, CSS, MySQL and MongoDB to build customized web applications for a diverse set of customers.
- Designed the application to meet the users’ requirements document.
- Ensured corporate and department objectives were accomplished in accordance with outlined objectives and mission statements.
- Developed and implemented procedures and guidelines, optimizing productivity and efficiency; generating significant cost savings.
- Recognized for the development of excellent business relationships, providing exemplary customer service.


Database interface
To add support for new database, the new class has to implement this interface. Check MYSQLDatabase.php for example
Database class
This class process the Query/Update/Delete/Insert class to string and execute it
Delete class
This class holds all the information regarding DELETE operation, that will be used by Database class.
Example
$deleteOperation = new Delete('User');
$deleteOperation->where('id', '=', '1');
$deleteOperation->exec();
File class
This class hold information about a file.
Example
$file = new File('docs', 'cv.pdf', 'base64 content');
FileStorage class
This class holds utils to save and delete file.
Example
$file = new File('docs', 'cv.pdf', 'base64 content');
FileStorage::saveFile($file);
FileStorage::deleteFile($file);
FileStorage::deleteFolder('./folder_to_be_deleted');
Insert class
This class holds all the information regarding INSERT operation, that will be used by Database class.
Example
$data = [
"name": "John Doe"
];
$insertOperation = new Insert('User', $data);
$insertOperation->exec();
Model class
This class is the main Model class
Example
class User extends Model {
protected $table = 'user';
protected $primaryKey = 'id';
protected $fillable = ["fullName", "email"];
}
$user = new User();
$user->fullName = "John Doe";
$user->email =<EMAIL_ADDRESS>$user->save();
$foundUser = User::find($user->getPrimaryValue());
$user2 = User::where("fullName", "John Doe")->limit(1)->orderBy('id')->exec();
MYSQLDatabase class
This class holds the logics to convert Query/Update/Insert/Delete class to actual MYSQL query string This class will be extended my Database class
Query class
This class holds all the information regarding SELECT operation, that will be used by Database class.


--- layout: base title: Masters of the Heist ---
The year is 1919. America is in its golden age of grift. Clever thievery has moved from shell games and three-card monte to a more mature art form: the heist.
In this head-to-head match, you must compete to hire a team of professional criminals, plan heists on unsuspecting marks, and muscle out your opponent to earn money. It's all about return on investment and knowing your opponent. The player with the most money at the end wins.
The game plays in a series of 5-7 rounds, each round with three phases: The Purchase, The Plan, and The Heist.
Every heist needs just the right Crew. You'll need to assemble that team.
We've got 22 unique Crew cards, each with different bonuses and abilities. Grifters are highly skilled and get you to those tougher marks. Partners are better at collaborating. Thieves get you fast cash. Muscle is great for getting the Mark you want. Insiders are useful specalists.
As the game progresses, new Crew members become more powerful, yet increasingly expensive.
 Prioritize your choices of Mark, too.
 To be successful, you'll need to optimize your Crew bonuses and collect Marks from the same neighborhood.
Place your crew face-down when ready.
Plans are put in motion that cannot be changed!
You attempt your planned heists, chaining together crew members to get the right combination of Skill and Bonus. If you run into your opponent you must rely on your best Muscle to save you.
The Heist phase is entirely mechanical, and quite exciting. Once you get paid, you collect your take and head back to The Purchase phase. Tougher yet more lucrative Marks are revealed.
In the example to the left, we've got a Crew with a total Skill of 4 against the Gallery of Priceless Art with a Difficulty of 4. We get $9k from the Mark, plus $1k from the Wheel Man and $3k from the Con Artist. That's $13k for this heist. Nice! If our opponent was also going after The Gallery of Priceless Art and had any Crew member with Muscle greater than 8, then they would get the Gallery of Priceless Art and we would have to go to our next choice.
Push yourself to the limit in a three-game campaign.
The rules include a solo variant where you play against a mechanical player. You are victorious if you end with a set goal, which increases each game. After each game, you get to keep Crew members valued at what you exceeded your limit. For example, if the limit was $80k, and you ended with $89k, you get to keep a Con Arist for the next game.
Starting with high-powered Crew is a game-changer that lets you unlock new ways of getting massive payouts.
The solo campaign is also a great way to play the game cooperatively, or learn the deck on your own.
Ready to buy? Go here
Currently, I consider this game in Beta stage. The artwork is pretty much set and the gameplay fundamentals are solidified. There's still some playtesting and tweaking to be made on the rules, the solo campaign, and some attributes here and there. I need to broaden beta tester base.
If you would like to be a playtester, please check out the playtest page for more info on what kind of feedback I'm looking for and what's in it for you (spoiler alert: I can't pay you, but there are tangible benefits).
Or... just purchase and enjoy the game as it is right now! I hope you like it.
Want to try it out yourself? It's free! On Github
Not quite ready to buy? That's fine, you can play the game for free. You just need to be willing to print out the PDFs, and cut the cards yourself. It usually takes me about 20 minutes to cut them and put them into sleeves. The game is kept precisely equivalent to the beta copy.
Be sure to check out the attached PnP notes on the download for tips.
The rules are also available on the GitHub.
{%include cc-masters-of-the-heist.html %}


Gateway
BOT
26-Nov-19 03:40 PM
[dscrd-hush] <dukeleto> non-miners cannot understand this
[dscrd-hush] <denio> lets focus on things we can influence...like our tech
[dscrd-hush] <dukeleto> @denio thanks for being a voice of reason
[dscrd-hush] <denio> exchanges come and go
[dscrd-hush] <denio> part of the game
[dscrd-hush] <dukeleto> exchanges are tissues
[dscrd-hush] <Privatoshi> CEXs are from the decade of 2010s..
[dscrd-hush] <Privatoshi> Time to usher in a new decade without their greedm
[dscrd-hush] <dukeleto> @Captain BTCP paid Binance (or a similar exchange) I think $100K USD to list them. They delisted them a year later for not making them enough money
[dscrd-hush] <Captain> How can you make more money when the price is going down?
[dscrd-hush] <dukeleto> just a little historical tidbit
[dscrd-hush] <dukeleto> @Captain study how complex this website is: https://whattomine.com
Calculate how profitable it is to mine selected altcoins in comparison to ethereum or bitcoin
[dscrd-hush] <dukeleto> @Captain let's turn it around: "How do you think miners make money?"
[dscrd-hush] <dukeleto> your question makes no sense to me
[dscrd-hush] <dukeleto> MINERS DO NOT BUY COINS
[dscrd-hush] <dukeleto> Price, who cares?
[dscrd-hush] <dukeleto> it's all about difficulty to mine
[dscrd-hush] <Captain> mine hush and "sell it"
[dscrd-hush] <dukeleto> miners do not buy coins
[dscrd-hush] <dukeleto> So price going "down", that doesn't matter. Because miners don't buy coins
[dscrd-hush] <Captain> I know, the difficulty increases with the mining load
[dscrd-hush] <dukeleto> Here is an example
[dscrd-hush] <dukeleto> profit can only be calculated when a miner sells
[dscrd-hush] <dukeleto> the "price" of the coin, for the last week while you are mining it, is completely and utterly NOTHING
[dscrd-hush] <dukeleto> Yet, most people use that number as their "profit"
[dscrd-hush] <dukeleto> the price when you sell it, is all that matters
[dscrd-hush] <dukeleto> so, if difficulty drops MUCH MORE than price
[dscrd-hush] <dukeleto> miners make more money
[dscrd-hush] <dukeleto> if that is weird, it's because you are not a miner
[dscrd-hush] <Captain> it is not weard.
[dscrd-hush] <dukeleto> this doesn't even take into account wild BTC/fiat stuff. You can denominate profit in sats or fiat
[dscrd-hush] <dukeleto> and yes, even more complex, you could be making profit in fiat and losing money in sats, and vice versa
[dscrd-hush] <dukeleto> gosh, and this is #general
[dscrd-hush] <Captain> I totally get it. But we are in a low liquidity situation. We cannot deny that.
[dscrd-hush] <dukeleto> you keep making different wrong statements
[dscrd-hush] <dukeleto> can't keep up
[dscrd-hush] <dukeleto> now you speak of liquidity, yes
[dscrd-hush] <dukeleto> paying for liquidity, it doesn't work
[dscrd-hush] <dukeleto> exchanges are just scams
[dscrd-hush] <dukeleto> CEXs, anyway. I highly encourage using AtomicDEX
[dscrd-hush] <Privatoshi> You pay $50k and you get no return
[dscrd-hush] <Privatoshi> You pay for the ability to be allowed to buy your own coin and sell it
[dscrd-hush] <Privatoshi> You can't recoup that money
[dscrd-hush] <dukeleto> Now you might see why this statement required a rebuttal what if price will never increase. Mining will become not profitable. Miners will leave.
[dscrd-hush] <Privatoshi> The tech is what gives a project value
[dscrd-hush] <dukeleto> Let's agree, if an exchange wants to add us for free or a tiny "integration fee", let's do it
[dscrd-hush] <dukeleto> Otherwise, i am not paying scammers
[dscrd-hush] <Privatoshi> @Captain That's fair
[dscrd-hush] <Privatoshi> Bisq, Crex24 or TradeSatoshi
[dscrd-hush] <Captain> The tech is good, the idea is good. But if nobody buys it. It's still worth nothing...
[dscrd-hush] <Privatoshi> With an exchnge listing like the one you want, that makes it -$50k
[dscrd-hush] <Privatoshi> We choose to start from a point of not paying exchanges
[dscrd-hush] <Captain> it was just a random figure.
[dscrd-hush] <Privatoshi> It's accurate
[dscrd-hush] <Privatoshi> Try with the free exchanges
[dscrd-hush] <Captain> allright, I get that. I agree. I will try and contact free exhanges. See where it goes
[dscrd-hush] <denio> i understand you @Captain its frustrating to see projects with stealed whitepapers are much in front pricewise
[dscrd-hush] <denio> but it will change someday
[dscrd-hush] <denio> or this will all burn to hell
[dscrd-hush] <Captain> It is frustrating indeed
[dscrd-hush] <Captain> I am following Hush since may 2017
[dscrd-hush] <Captain> I don't get why it isn't booming yet.
[dscrd-hush] <Captain> idea and tech is so good
[dscrd-hush] <dukeleto> once we get SDA onto the Google Play store soon, Hush will feel more "real" to a lot of people
[dscrd-hush] <denio> why is kmd not booming? It has with distance the best tech for me from the top 100 coins!  This will change
(edited)
[dscrd-hush] <dukeleto> there is an old joke in KMD #trading channel
[dscrd-hush] <dukeleto> the price of KMD follows the 1/tech rule
[dscrd-hush] <dukeleto> the better the tech, the lower the price
[dscrd-hush] <dukeleto> this applies to HUSH as well
[dscrd-hush] <Captain> hahah that's a good one
[dscrd-hush] <Captain> we have one hell of a tech then
[dscrd-hush] <Privatoshi> Kek. We will Hush them all up.
[dscrd-hush] <denio> :thinkaboutit: now i understand
(edited)
[dscrd-hush] <Privatoshi> Lol we have the best tech
[dscrd-hush] <Privatoshi> Bisq is cool. Go talk with them
[dscrd-hush] <dukeleto> @Captain your translation is very appreciated! helping with SDA might be where you can be most helpful: https://github.com/MyHush/SilentDragonAndroid
Android companion app for SilentDragon . Contribute to MyHush/SilentDragonAndroid development by creating an account on GitHub.
[dscrd-hush] <dukeleto> finding unique valid bugs are worth 25 HUSH each
[dscrd-hush] <dukeleto> we don't assume people work for free around here
[dscrd-hush] <dukeleto> try to connect it to your SDL and make some xtns! It's actually pretty cool
[dscrd-hush] <Captain> xnts?
[dscrd-hush] <dukeleto> I think SDA is what will be the first taste of Hush for many people
[dscrd-hush] <Captain> I will spread the word when it's out
[dscrd-hush] <dukeleto> xtns = transactions
[dscrd-hush] <Captain> oww haha I will
Android companion app for SilentDragon . Contribute to MyHush/SilentDragonAndroid development by creating an account on GitHub.
[dscrd-hush] <dukeleto> it's "out" already
[dscrd-hush] <dukeleto> just not on Google Play, because wow they have so many hoops to jump thru
[dscrd-hush] <dukeleto> I have jumped thru about 90% of the hoops
[dscrd-hush] <dukeleto> i even PAID GOOGLE $25
[dscrd-hush] <dukeleto> to have the privilege of adding my open source software to Play
[dscrd-hush] <Captain> Nice, can't wait until the realse in google play
[dscrd-hush] <Captain> nice, I will download the apk
[dscrd-hush] <dukeleto>
[dscrd-hush] <dukeleto> and if you don't have a Github account, they are free and take about 1.5 seconds to make. It's highly recommended for collaborating
[dscrd-hush] <Captain> a feature in the app?
[dscrd-hush] <dukeleto> yes
[dscrd-hush] <Captain> allright, I will do!
[dscrd-hush] <dukeleto> every Hush project has it's own github repo with it's own list of "issues", for features+bugfixes


GMB fans furious as guest insists chocolate advent calendars should be banned
Amy Childs argued against banning the calendars
by Rebecca CarterViewers of Good Morning Britain were shocked when a guest insisted chocolate advent calendars should be banned.
Former TOWIE star Amy Childs and PR consultant Nick Ede appeared on Friday's show to discuss whether the festive tradition should be ditched.
Nick said he believes kids having chocolate in the morning is not healthy and encourages the obesity "epidemic".
Read more: Piers Morgan 'turns down' Gemma Collins after she offers to sleep with him
He explained: "The reason I have a bit of an issue with [chocolate advent calendars] is giving your children a chocolate in the morning.
"It's not just one chocolate, you'll also get one from your granny, your auntie, it's probably five chocolates you'll get every day."
Amy argued: "I've had chocolate advent calendars since I was a baby, I'm not obese."
Nick hit back: "There’s an epidemic at the moment of people who are becoming addicted to the different sugars.
"Also the chocolate isn’t as good as it was in our day. 25 days acquaints to around four or five bars of chocolate in a month."
He continued: "We're basically saying for the whole year you watch what you're eating and you eat healthy at school but for this month, sugar every single morning."
Viewers were divided, with many calling Nick's comments "ridiculous".
One person said on Twitter: "I think this is terrible. A small little chocolate to count to Xmas. What’s the harm in that? Very soon we will taxed on fresh air.
"Can’t kids enjoy Christmas anymore? Adults get gin advent calendars so why can’t kids have a chocolate one. Don’t stop all the fun."
Another wrote: "Oh fgs, it’s a bit of fun leading up to Xmas for crying out loud. These people who think what to ban next, don’t they have anything else better to do? They must lead very boring lives."
A third tweeted: "What a joke let kids be kids... It's Christmas, absolute farce."
Read more: GMB's Piers Morgan told off by Susanna Reid for ruining Jenny Ryan interview
Others said they preferred the traditional advent calendars which featured pictures.
Do you think chocolate advent calendars should be banned? Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know.


Your rocket is your $1,000,000,000 baby. We get that.
Your rocket is valuable. Let the professionals work on it.
Probably the coolest thing evar!!1 We can program this for you.
This image has nothing to do with cleaning. But it's kind of neat still.
f you think gas is expensive now.. think about rocket prices! Luckily, we water our gas down to give you more bang for your buck.
We’ll treat your rocket as if it’s our own. Our standards are higher than the ISS's altitude. We also enjoy test driving your rocket before giving it back 😱
Contact us anytime at<EMAIL_ADDRESS>* All images from unsplash.com


01.25.2020
Th story begins in February 2015. This was when they met for the first time. Vik asked Jiggy on their first date to a Thai restaurant in Brookhaven, GA. Everyone loves Thai!!
He asked her if she would like to make it "official". She said "It's about time you asked!" So their friendship turned to the next level of romance.
Jiggy met Vik's mom at Chipotle for an awkwardly fun date. It's still not settled whether the daughter-in-law or mother-in-law had lettuce stuck in their teeth. Be sure to ask them.
Could they tolerate each other for 5 hours trapped in a car? Well, they decided to give it a test by taking their first road trip to Charleston, SC. Although now Vik isn’t allowed to sing out loud and Jiggy isn’t allowed to fall asleep within the first hour.
Feeling bold, they decided to take their first International trip with friends to Riviera Maya, Mexico.
By now, Jiggy was in Utah for her rotations. Well the story had to continue, so Vik decided to get on a jet and fly out to Salt Lake. From there they drove 8 hours round trip in one day (not recommended) to hike up the Arches in Moab (highly recommended).
Vik Met Jiggy’s parents for the first time at her graduation ceremony from Occupational Therapy school. There was some confusion between Jai Shree Krishna and Jai Swaminarayan.
Both sets of parents met. Hum Saath Saath Hain music played in the background.
Vik turned 30! So young still. A new tradition started "Birthday trips". They set sail on his first cruise to the Bahamas.
Lots of movie dates, dinners at Taj, Beltline bike rides and many fun dates in the city.
Took a “quick” flight to Singapore & Bali. He asked, "..hey will you marry me?" She said, "wrong hand, but YES!"
Wedding planning had begun in full swing! As time flew by, here we are now - seeking your blessings for our continued journey
The Ananta, Udaipur, Rajasthan
Outdoor Lawn, The Ananta
The Ananta, Udaipur, Rajasthan
The Ananta, Udaipur, Rajasthan
Udaipur in India is known as the city of lakes and below we present to you the 12 Places To Visit In Udaipur In 2 Days
3 days 👑 BEST places to visit in Udaipur itinerary 👑 Backpacking Rajasthan North India


00/00/0000 00:00:00
🔎
Social
Twitter
Noise
Memo
Member
Dev
Github
Compass
Gist
Media
Torrents
Jellyfin
Youtube
Prime Video
Threads
/g/
/biz/
r/btc
/pol/
/p/


This demo tests various ways of assigning an ARIA label to an Elix
element. In each case, the assigned label should be delegated to an
<input>
in the element's shadow.
Using aria-label
:
Using aria-labelledby:
Using a <label>
with a for
attribute:
Using a wrapping <label>
:


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam aliquam nisi id lacus feugiat, vel euismod ipsum dapibus. Etiam sagittis dignissim sem, vel faucibus nunc pellentesque et. Curabitur commodo tellus elit,
You are receiving this email because you subscribed to Ourshop.com this email was sent to<EMAIL_ADDRESS>from: Bournemouth Business Bentre 1105 Christchurch Road Bournemouth BH7 6BQ


How to deploy OAS on OpenShift
Besides default minikube deployment, the service support deployment to OpenShift cluster using ingress as the access point to the service.
make deploy-all TARGET=oc-ingress
This deployment option have multiple optional parameters that should be used in case you are not the Admin of the cluster:
1. APPLY_NAMESPACE
- True by default. Will try to deploy "assisted-installer" namespace, if you are not the Admin of the cluster or maybe you don't have permissions for this operation you may skip namespace deployment.
1. INGRESS_DOMAIN
- By default deployment script will try to get the domain prefix from OpenShift ingress controller. If you don't have access to it then you may specify the domain yourself. For example: apps.ocp.prod.psi.redhat.com
To set the parameters simply add them in the end of the command, for example
make deploy-all TARGET=oc-ingress APPLY_NAMESPACE=False INGRESS_DOMAIN=apps.ocp.prod.psi.redhat.com
Note: All deployment configurations are under the deploy
directory in case more detailed configuration is required.
Deploying the UI
This service support optional UI deployment.
make deploy-ui TARGET=oc-ingress
Deploy Monitoring
This will allow you to deploy Prometheus and Grafana already integrated with Assisted installer:
# Step by step
make deploy-prometheus TARGET=oc-ingress APPLY_NAMESPACE=false
make deploy-grafana TARGET=oc-ingress APPLY_NAMESPACE=false
# Or just all-in
make deploy-monitoring TARGET=oc-ingress APPLY_NAMESPACE=false


Apply or destroy plugin using below buttons. This demo has a responsive layout with 1 colmn < 480, 3 columns above 480, and 4 columns above 1024. By default plugin looks at children of the container it's applied to and if they are visually in the same row, it makes them all as tall as the tallest element in that row. If option "oneHeightForAll" is set to true plugin doesn't look at rows and makes all children the same height regardless of whether they are in the same row or not. By default height is adjusted using css property "min-height", but this can be changed to "height" by setting option "useCSSHeight" to true. This plugin also solves common problem of floated cells getting stuck after one another due to height differences.


Transaction puzzle
Transaction a4bfa8ab6435ae5f25dae9d89e4eb67dfa94283ca751f393c1ddc5a837bbc31b is an interesting puzzle.
scriptPubKey: OP_HASH256 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 OP_EQUAL
scriptSig:
To spend the transaction you need to come up with some data such that hashing the data twice results in the given hash.
Stack Script Description
Empty. <data> OP_HASH256 <given_hash> OP_EQUAL
<data> OP_HASH256 <given_hash> OP_EQUAL scriptSig added to the stack.
<data_hash> <given_hash> OP_EQUAL The data is hashed.
<data_hash> <given_hash> OP_EQUAL The given hash is pushed to the stack.
true Empty. The hashes are compared, leaving true on the stack.
This transaction was successfully spent by 09f691b2263260e71f363d1db51ff3100d285956a40cc0e4f8c8c2c4a80559b1. The required data happened to be the Genesis block, and the given hash in the script was the genesis block header hashed twice with SHA-256. Note that while transactions like this are fun, they are not secure, because they do not contain any signatures and thus any transaction attempting to spend them can be replaced with a different transaction sending the funds somewhere else.
(edited)


4. Creating an FMU¶
This chapter describes how to create a Functional Mockup Unit, starting from an EnergyPlus IDF file. It assumes you have followed the Installation and Configuration instructions, and that you have created an IDF file following the Best Practice guidelines.
4.1. Command-line use¶
To create an FMU, open a command-line window (see Notation). The standard invocation of the EnergyPlusToFMU tool is:
> python <path-to-scripts-subdir>EnergyPlusToFMU.py -i <path-to-idd-file> \
-w <path-to-weather-file> <path-to-idf-file>
For example:
# Windows:
> python scriptDir\EnergyPlusToFMU.py -i C:\eplus\Energy+.idd -w test.epw test.idf
# Linux, MacOS:
> python scriptDir/EnergyPlusToFMU.py -i ~/eplus/Energy+.idd -w test.epw test.idf
where scriptDir
is the path to the scripts directory of EnergyPlusToFMU.
Typically this is the Scripts/
subdirectory of the installation directory.
See Installation and Configuration for details.
All file paths, including those to the weather, IDD, and IDF files, can be absolute or relative. For readability, the rest of these instructions omit the paths to the script and input files.
Note
If any file path contains spaces, then it must be surrounded with double quotes.
Script EnergyPlusToFMU.py
supports the following command-line switches:
| option <argument> | Purpose |
|---|---|
| -i <path-to-idd-file> | Use the named Input Data Dictionary (required). |
| -w <path-to-weather-file> | Add the named weather file to the FMU [optional]. |
| -d | Print diagnostics [optional]. Produces a status line for every major action taken by the EnergyPlusToFMU tools. This option may be helpful for debugging. |
| -L | Litter, that is, do not clean up intermediate files [optional]. Typically the EnergyPlusToFMU tools delete most of the intermediate files that ultimately get packaged into the FMU. This option lets you inspect intermediate output. |
The switches may be given in any order.
However, all must appear before the name of the IDF file.
For repeated switches such as -i
or -w
, the last one specified will be used.
For example:
# Windows:
> python EnergyPlusToFMU.py -d -i C:\eplus\Energy+.idd test.idf
4.2. Output¶
The main output from running EnergyPlusToFMU.py
consists of an FMU, named after the IDF file (e.g., test.fmu
in the examples given above).
The FMU is written to the current working directory, that is, in the directory from which you entered the command.
The FMU is complete and self-contained. Any secondary output from running the EnergyPlusToFMU tools can be deleted safely. Secondary output includes:
A utility executable, with the base name
idf-to-fmu-export-prep
. This executable will appear in your current working directory. If deleted, it will be rebuilt on the next run of EnergyPlusToFMU. Note that the full name of this executable depends on the operating system. This allows users with dual-boot or virtual machines to work in the same directory. The full names are:idf-to-fmu-export-prep-win.exe
on Windows.idf-to-fmu-export-prep-linux
on Linux.idf-to-fmu-export-prep-darwin
on Macintosh OS X.
Compiled Python files, with the extension “
.pyc
”. They are written to the script directory. These files speed up Python the next time you run the EnergyPlusToFMU tools, and may be deleted.
If the EnergyPlusToFMU tool fails, you may also see intermediate files, including:
- The configuration files for the FMU,
variables.cfg
andmodelDescription.xml
. - A utility executable
util-get-address-size.exe
. This program is rebuilt every time you run the EnergyPlusToFMU tools (to ensure it uses the most recent compiler/linker batch files, as described in Installation and Configuration). - Build directories, named like
bld-*
. - A shared library, named like
*.dll
or*.so
or*.dylib
, depending on the system. - A log file,
output.log
, containing error messages fromidf-to-fmu-export-prep
.
All these intermediate files can be deleted.
Note that the FMU is a zip file.
This means you can open and inspect its contents.
To do so, it may help to change the “.fmu
” extension to “.zip
”.
4.3. Troubleshooting¶
To check whether EnergyPlusToFMU.py
has run correctly, look for an FMU in your current working directory.
If you do not get an FMU, there will be some error output, indicating the nature of the problem.
The error message should be explicit enough to guide you to the source of the problem. If not, consider the following hints.
If you have successfully made an FMU in the past, the problem is most likely with your IDF file. Try running the export-preparation application directly on your IDF file:
# Windows:
> idf-to-fmu-export-prep-win.exe Energy+.idd test.idf
# Linux:
# Note the "./" before the name of the application.
> ./idf-to-fmu-export-prep-linux Energy+.idd test.idf
# MacOS:
# Note the "./" before the name of the application.
> ./idf-to-fmu-export-prep-darwin Energy+.idd test.idf
If running the export-preparation application as shown above works correctly, it produces two files, modelDescription.xml
and variables.cfg
.
Otherwise, it should produce an error message, which should also be echoed to an output file output.log
.
Note that the export-preparation application processes only parts of the IDF file. It does not attempt to identify modeling errors, or problems in IDF sections that do not relate to the FMU. Therefore EnergyPlus may fail to run an IDF file, even if the export-preparation application handles it successfully.
If you do not find the export-preparation application in your working directory, then EnergyPlusToFMU did not advance to creating the application. Therefore you should check the configuration, according to the instructions in Installation and Configuration.
If the export-preparation application runs, then try turning on option -d
when running EnergyPlusToFMU.py
.
By announcing each major step before it is taken, this option helps to localize the problem.


|
|
|
|
|
get_location(self,
timestmp=None,
_fields=None,
_filter=None,
as_rows=False,
exclude=[])
Get the current location of the instance(s) (at the given time) |
source code
|
|
|
|
set_location(self,
location,
timestmp=None)
Set the current location of instance(s) (at the given time) |
source code
|
|
|
|
check_in(self,
table,
record,
timestmp=None)
Bind the presence of the instance(s) to another instance |
source code
|
|
|
|
check_out(self,
table=None,
record=None,
timestmp=None)
Make the last log entry before timestmp independent from the
referenced entity (if any) |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__str__ ,
__subclasshook__
|


Class: utils.Caretaker
| Defined in: | src/utils/undo.coffee |
Overview
Caretaker of Originator
Examples:
# see the example of Originator
notebook = new Notebook()
notebook.caretaker = new Caretaker(notebook)
# save the changes
notebook.caretaker.save()
# undo the changes
notebook.caretaker.undo()
# redo the changes
notebook.caretaker.redo()
Instance Method Summary
- - (Caretaker) constructor(originator) Constructor Constructor
- - (Originator, Caretaker) originator(originator) Get originator when called without any argument.
- - (Caretaker) save(memento) Save a memento of the originator to the undo memento stack.
- - (Caretaker) undo() Restore a value of the originator from the undo memento stack.
- - (Caretaker) redo() Restore a value of the originator from the redo memento stack.
- - (Boolean) canUndo() Return whether the undo memento stack isn't empty or not
- - (Boolean) canRedo() Return whether the redo memento stack isn't empty or not
Constructor Details
- (Caretaker) constructor(originator)
Constructor
Instance Method Details
- (Originator, Caretaker) originator(originator)
Get originator when called without any argument. Set originator when called with an argument.
- (Caretaker) save(memento)
Save a memento of the originator to the undo memento stack. Nothing will be saved if the same memento was saved previously.
- (Caretaker) undo()
Restore a value of the originator from the undo memento stack. The current value of the originator will be stack on the redo memento stack.
- (Caretaker) redo()
Restore a value of the originator from the redo memento stack. The current value of the originator will be stack on the undo memento stack.
- (Boolean) canUndo()
Return whether the undo memento stack isn't empty or not
- (Boolean) canRedo()
Return whether the redo memento stack isn't empty or not


Kramkdown learning handbook
Scroll Down
This is a paragraph
which contains a hard line break.
First level header
Second level header
H1 header
H2 header
H3 header
H4 header
H5 header
H6 header
A header without an ID
A sample blockquote.
Nested blockquotes are also possible.
Headers work too
This is the outer quote again.
This is a blockquote continued on this and this line.
But this is a separate paragraph.
This is a sample code block.
Continued here.
This is also a code block.
~~~
Ending lines must have at least as
many tildes as the starting line.
- This is a list item
- And another item
- And the third one with additional text
- A list item with additional text
-
This is a list item
with a blockquote
And a header
-
Followed by another item
- Item one
- sub item one
- sub item two
- sub item three
- Item two
This is a paragraph. 1. This is NOT a list.
- This is a list!
- Item one
- Item two
- Item three
- term
- definition
- another definition
- another term
- and another term
- and a definition for the term
- term
-
definition
- definition
- This is a term
-
This will be a para
a blockquote
A header
| A simple | table |
| with multiple | lines |
A nice blockquote
A nice blockquote
“
也许是那年我们一起打了一张草稿
等待时机成熟
或是因为爱情
或是冠以友谊
我们自会将它绘成珍宝
”


This American Safety and Health Institute course is also designed for individuals in the healthcare or professional rescuer field that are required to have professional-level basic life support training. This class results in a American Safety and Health Institute certification valid for two years. All course material will be covered in-person. The skills and written testing is conducted at the same session.
This American Safety and Health Institute course is also designed for individuals in the healthcare or professional rescuer field that are required to have professional-level basic life support training.
This class results in a American Safety and Health Institute certification valid for two years.
All course material will be covered in-person. The skills and written testing is conducted at the same session.


@(pagename: String, user:models.users.User)(content: Html) @import helper._
Shop
Welcome to Ceannt Uisce Beatha
Please remember to log into your account to make a bid.
Copyright © of Ceannt Uisce Beatha


Purpose: This tutorial demonstrates how to annotate a set of closely related genomes using KBase tools. We will show how to annotate several strains from the genus Geobacter. Annotating multiple strains can be useful for studying differences between strains and identifying the pan-genome (i.e., the superset of all genes shared by closely related strains). We will also demonstrate how to construct metabolic models to clarify differences between strains.
This tutorial assumes you're using the Iris web interface to access KBase. However, you should also be able to follow the same procedure on your local computer so long as it has standard UNIX command line tools and the KBase software installed as described in the prerequisite tutorial below:
Required Prerequisite Activities: Getting Started with KBase
Suggested Prerequisite Activities: Basic Exercises Using KBase, Some Basic Exercises using the KBase Iris interface
Related Tutorials: None
all_entities_Genome -f scientific_name | grep Geobacter
You should get back a two-column table showing the available strains of Geobacter. The first column gives the KBase genome ID, and the second column gives the strain name. Note that it's not unusual for multiple genomes to share a strain name (e.g., due to strains being sampled and sequenced multiple times). However, each will have a unique genome identifier, and strains with the same name often have different genome sequences.
Here is the output from the above command: kb|g.1495 Geobacter sp. M18 kb|g.1494 Geobacter sp. M18 kb|g.21614 Geobacter sp. M21 kb|g.1278 Geobacter lovleyi SZ kb|g.9264 Geobacter sp. FRC-32 kb|g.483 Geobacter sulfurreducens PCA kb|g.9716 Geobacter lovleyi SZ kb|g.21325 Geobacter uraniumreducens Rf4 kb|g.1029 Geobacter uraniireducens Rf4 kb|g.1314 Geobacter bemidjiensis Bem kb|g.1496 Geobacter sp. M21 kb|g.2860 Geobacter sulfurreducens KN400 kb|g.21512 Geobacter bemidjiensis Bem kb|g.9032 Geobacter metallireducens GS-15 kb|g.835 Geobacter sp. FRC-32 kb|g.20945 Geobacter sulfurreducens PCA kb|g.589 Geobacter metallireducens GS-15
The genome Geobacter sulfurreducens KN400 (KBase ID "kb|g.2860") is a good example to start with.
We will start by making a local copy of the contigs from Geobacter sulfurreducens KN400 (KBase ID "kb|g.2860") using the command:
echo 'kb|g.2860' | genomes_to_contigs | contigs_to_sequences > g.2860.contigs
This puts the contig sequences into a file called g.2860.contigs.
Note that at this stage, rather than getting sequence data from the KBase Central Store, we could have used any sequence data. For example, if you have sequence data for some newly sequenced microbe, you could upload it to KBase through the Iris web interface into your work area.
We will create subdirectories to contain each separate genome. Let's start by making subdirectory called g.2860 where we will annotate kb|g.2860:
mkdir g.2860 mv g.2860.contigs g.2860 cd g.2860 ls
The first command creates the subdirectory, the second moves our contig file into the subdirectory, the third changes into the subdirectory, and the last displays the contents of the subdirectory.
If you're using Iris, don't use any characters in your filenames that have special meaning in UNIX shells; e.g., in this case the 'kb|' prefix for the genome was omitted.
Next, use the FASTA file of contigs to create a "genome object" for our strain using the command:
fasta_to_genome 'Geobacter sulfurreducens KN400' Bacteria 11 < g.2860.contigs > genome
The genome object (in the file called "genome") contains the contigs, the scientific name of the organism, the domain (we specified "Bacteria"), and the genetic code for the organism (i.e., 11, which is the code most commonly used with prokaryotic genomes). Use ls to see the file, and then click on it in Iris to see the encoded fields). Note that we have named our project subdirectory g.2860, which reflects the name of the genome whose contigs we copied. The next step is to re-annotate the contigs, generating a whole new genome.
We next create an initial annotation for the genome using the command:
annotate_genome < genome > annotated.genome
This command causes an initial annotation to be generated (stored in the file "annotated.genome"). It may take several minutes for large genomes. In Iris, you can issue other commands while you wait, and the completion message will display below the command when the annotation is complete. When it finishes, you can use ls to see the generated file, and click on it to download and view the encoded annotations. Annotated regions of a genome in KBase are called "features."
An alternative method of viewing the features that were generated in the annotated genome object is to use the command:
genomeTO_to_feature_data < annotated.genome > features.txt
This command produces a tab-separated table containing four columns: the feature ID, location on the genome, feature type, and assigned function. Use ls to see the file and explore the contents.
The term "metabolic reconstruction" as used here roughly means a set of SEED subsystems that are annotated as present in the genome, along with the relevant variant codes. A subsystem is a group of functionally related roles (e.g., a metabolic pathway).
We obtain an initial metabolic reconstruction for the annotated genome using the command:
genomeTO_to_reconstructionTO < annotated.genome > reconstruction
(The above command is not a typo; the "TO" stands for "typed object.")
The reconstruction includes a list of functional roles for which a gene was identified. A "role" is a term indicating a function that a single gene or gene product may have in a cell. Many, but not all, correspond to enzymes in metabolic pathways. To see a list of all the roles that were found in your reconstruction, use the command:
reconstructionTO_to_roles < reconstruction > roles
To see the subsystems (along with the variant codes that were assigned), use the command:
reconstructionTO_to_subsystems < reconstruction > subsystems
You can view the contents of the "subsystems" file to see which subsystems are present in the metabolic reconstuction. Note that some subsystems are listed as missing, while others are listed as present in the genome.
How good are the annotations for your newly-annotated genome? One way to assess this is to focus on the roles that might impact metabolic models. We can look at the ones that were found and then compare them against those that exist in a similar, manually-curated genome. Let's begin by getting the subset of the roles that might impact the metabolic models in KBase:
all_roles_used_in_models > all.roles a_and_b roles all.roles > roles.for.models
The first command finds all roles used in KBase metabolic models (storing them in the file "all.roles"). The second command finds the intersection between all roles and the roles in the initial reconstruction (storing the result in the file "roles.for.models").
It is often useful to compare the set of roles found in your reconstucted genome with those from another organism; for example, We might compare with a well-tested reconstruction or a manually curated model for a closely related organism in order to see if we can find any clear mistakes in the new reconstruction. (This step is not strictly required; if you want, you can skip to creating a model.)
As an example, we'll compare our automatically generated set of roles against the set found in another Geobacter species, Geobacter metallireducens GS-15 (KBase ID "kb|g.9032"). Obtain the roles for that genome using the commands:
echo 'kb|g.9032' | genomes_to_fids CDS | fids_to_roles 2> /dev/null | cut -f 3 > roles.in.g.9032
Note that the command fids_to_roles writes error messages when it cannot match a fid to any roles, so the commands above redirect all warning messages to /dev/null so they don't clutter up the output.
Next, we'll find potentially missing roles in our reconstruction of Geobacter metallireducens GS-15, using the commands:
a_and_b roles.in.g.9032 all.roles > roles.for.models.g.9032 a_not_b roles.for.models roles.for.models.g.9032 > roles.to.search.for
This creates a file of roles in Geobacter metallireducens GS-15 that are not yet found in the annotations we got back for our re-annotated version of Geobacter sulfurreducens KN400.
You can manually inspect the file, to determine whether or not any roles that should be there seem to be missing. Missing roles may indicate errors in the new reconstruction, or they may indicate real differences in the biology of the two microbes.
Now we would like to introduce the online collaborative workspaces for KBase. KBase workspaces provide an online location from which you can store, view, and share your data. Typed objects such as Genomes, Models FBA studies, and experimental data sets are stored in the workspace. All workspaces and workspace contents may be viewed from the workspace browser. Now, let's select a workspace to work in. For this tutorial, we will work in a special, publicly writable workspace called "tutorial":
kbws-workspace tutorial
In a few seconds, a message should appear stating that your work current workspace is "tutorial". Note, if you ever forget which workspace you are currently operating in, just run the "kbws-workspace" command again with no arguments. You can find a complete list of all workspaces accessible to you, see workspace contents, create workspaces, and manage workspaces using the workspace browser gui.
Now that we've selected a workspace, let's start populating it with our data. First, we'll load our new genome typed object into the workspace:
kbfba-loadgenome annotated.genome -f
The "-f" flag in the above command indicates that the genome to be loaded should be pulled from the file in the shell or Iris filespace. Note, the "kbfba-loadgenome" command can also load genomes from the KBase CDM, SEED, or RAST directly into the workspace, rather than using the list of commands described above. Call "kbfba-loadgenome -h" to see the appropriate command syntax. If we examine the output of the "kbfba-loadgenome" command, we'll see a list of attributes gleaned from our loaded genome object, including the unique genome ID (listed under the "Object ID" attribute). You should copy and paste this ID and use it in all future commands in this tutorial where we refer to a genome id. Now that our genome is loaded in an online workspace, we can view this genome in HTML format using the workspace browser.
With the "kbfba-loadgenome" command complete, our genome object should now be available within our currently selected workspace. To confirm this, we can use the KBase command that lists the contents of our currently selected workspace:
kbws-listobj
This command prints a table of all objects currently in our workspace. Note, there will be many objects besides our genome in the "tutorial" workspace because this public workspace is where all output from users runnning this tutorial is directed. But we should see our genome listed under its unique genome id, and our KBase username should be listed as the owner of that object.
In general, all modeling commands in KBase operate on objects and produce objects within the workspaces. Now that our genome object is loaded into our workspace, we can build an initial metabolic model of that genome using the command:
kbfba-buildfbamodel genome id
After a minute or two, a metabolic model object is created and added to our currently selected workspace, with the ID genome id.fbamdl.0. As with the "kbfba-loadgenome" command, we will see a series of attributes of our new object printed as output, including stats about the model size, the models name, and the ID of the model in the workspace. Also like our genome, we can use the workspace browser to view our new model in HTML format. Just be sure to refresh the browser if it is already open in another window.
Now that we have a metabolic model, one of the key analyses we can perform on that model is Flux balance analysis (FBA). FBA is a mathematical approach in which our model is used to simulate various cellular activities, typically the production of biomass or metabolites from transportable nutrients. We will apply flux balance analysis in order to determine whether our new model can grow, and to discover which pathways are used during growth:
kbfba-runfba genome id.fbamdl.0
As with the other modeling commands, the "kbfba-runfba" produces an object in the currently selected workspace as it's output, and it prints a list of attributes about the object to screen when the command it run. This time, the object generated is an "FBA" typed object, holding all the parameters of our FBA study, as well as all of the results from our FBA study. Also like the Model and Genome objects, the FBA object may be viewed in html using the workspace browser. If one refreshes the workspace browser, the new FBA object should now appear, with the ID genome id.fbamdl.0.fba.0. Note, this ID will iterate every time one runs the "kbfba-runfba" command. However, one can always pull the ID of generated FBA object from the output produced by the kbfba-runfba command. One key peice of information about the FBA analysis that is printed directly by the FBA command is the objective value found by the flux balance analysis. This objective value represents the maximum acheivable flux through the biomass reaction of the metabolic model. In all likelihood, the objective value for our first FBA run is zero. This is because the model is missing pathways needed for biomass production. When a model fails to grow, the FBA command attempst to diagnose the problem by identifying biomass components that cannot be produced. This is done by maximizing the production of each individual biomass component, one at a time. You can see these analysis results in the HTML view of the FBA object found from the workspace browser. Note that some of your biomass components have a zero in this table. These are the components that cannot be produced. Next, we will try to fix the model by adding reactions to enable production of these components.
The gapfilling algorithm will automatically add the reactions required to enable our metabolic model to be able to produce biomass. To run the gapfilling algorithm, use the following command:
kbfba-gapfill genome id.fbamdl.0 --intsol
Depending on the size and state of the genome, gapfilling could take up to an hour to complete. Because of the long run time, the "kbfba-gapfill" command does not run the gapfilling directly. Instead, it queues up the gapfilling job to run on the KBase cluster. Once the gapfilling is complete, your model will have additional reactions in it, reflecting the ideal solution identified by the gapfilling algorithm to enable growth. Now we will discuss the commands used to check on the status of your gapfilling job.
When a command requires more than a few minutes to complete, we typically create a "job object" in KBase to enable users to monitor the progress of that job. You can retrieve a list of the current status and type of all ongoing jobs using the following command:
kbws-jobs
This command produces a list of all jobs that you have started within the KBase environment. Your gapfilling job, which was created by running the "kbfba-gapfill" command should be listed. You will also see the current job status, which will be either "queued", "running", or "complete". To recheck the status of your job, simple run the "kbws-jobs" command again. Once your gapfilling job is complete, move on to the next step of the tutorial.
Now that our model has been gapfilled, it should be possible to simulate biomass production using flux balance analysis. Use the runfba command again:
kbfba-runfba genome id.fbamdl.0
As before, this command should create a new "FBA" typed object in the workspace. You can view this object in HTML format using the workspace browser. This time, the maximum biomass production for your model should be greater than zero, and you should have meaningful fluxes listed under the reaction tab of the HTML view.
Many other tools now exist that enable the analysis of genome-scale metabolic models (e.g., the Cobra toolbox). Most of these tools read models printed in SBML format. Export the gapfilled model in SBML format so the model can be used with these tools:
kbfba-exportfbamodel genome id.fbamdl.0 sbml > genome id.fbamdl.0.sbml
After the command completes, use ls and select the SBML file for download.


Please feel free to contact us with any questions or concerns you may have.
First name:
Last name:
Question or concern:
Email address:
Phone number:


Conditional Flow Control (if) Stop Light
Let's make a stop light with an 'if' statement
Red
Yellow
Green


Welcome to my extraordinary bucket website testing page
Now hosted on Scality's S3 Server -- a symphonic storage experience!


Convert your boring-flat-long legal document into more user-friendly format and ensure your service's user reads your legal document, e.g. Terms and Conditions, Software License, Privacy Policy, etc.
LegalReader is a jQuery plugin.
// 1. Read your markdown file that had been written by following our conventions
$.get("http://localhost:3000/legal-file/tos.md", function(responseText) {
// 2. Use your favourite markdown parser
var parsedFile = marked(responseText);
// 3. Let Legal Reader processes the html file
$('#legal-reader').legalreader(parsedFile);
});
Write your legal document in markdown format and follow our writing conventions, so Legal Reader can process your document. Read the conventions.
Some nice guys on earth have written cool javascript markdown parser to convert your markdown document into html. You can use our favourite parser too. Please tell me.
The fun starts here. Write one line of code to activate the plugin, then your user will enjoy to read your legal document. Cool! Show me the magic!


Vladimir D.
Code Refactor:
GitHub Link
Password Generator:
GitHub Link
Car Quiz:
GitHub Link
Work Day Planner:
GitHub Link
Weather Dashboard:
GitHub Link
Charging Forward:
GitHub Link
Previous
Next


Chromaticity is a color design assistance tool that makes it easier to manually create color palettes for visualization while minding discriminability and accessibility.
In Chromaticity, you can pick your own colors from four color spaces (Lab, LCh, Jab, and RGB) or pick them from an image of your choice. Then, Chromaticity automatically provides information about your palette’s discriminability, color vision deficiency accessibility, and also provides reconfigurable visualization previews. Chromaticity supports both categorical and sequential palette design.
Chromaticity supports color picking in three perceptual color spaces as well as in RGB.
Two of the perceptual color spaces are CIELAB color spaces (Lab and LCh), which position colors based on how the human brain processes color. Lab colors are defined by their lightness (L), redness-to-greenness (a), and blueness-to-yellowness (b). LCh colors are also defined by lightness, but then are defined by chroma (colorfulness, radius) and hue (angle). In both CIELAB color spaces the farther apart any two colors are the more discriminable the two colors are.
The third perceptual color space is Jab, which is similar to Lab; however, Jab uses an updated color appearance model that in theory provides greater precision for discriminability measurements. This space still hasn’t yet been tested within the context of visualization design and is mostly for providing designers another representation of color that may improve color selection.
If you’d like to know more about CIELAB and Jab, there is a high level overview of each here.
Chromaticity provides discriminability estimates in several ways: a customizable visualization preview, a discriminability table that shows warning signs for poorly discriminable colors, and by eyeballing the palette preview immediately below the color selection area.
The color discriminability table also shows discriminability warning signs for a variety of color vision deficiencies. Note that, like the Jab color space, these estimates have not been empirically tested and should be viewed as guidelines opposed to being fully accurate warnings.
Chromaticity was born as an idea from two sources. The first source of inspiration came from developing Colorgorical, where I noticed how difficult it is to create perceptually-grounded color palettes by hand. The second source of inspiration came from an IEEE VIS panel a few years ago with Georges Grinstein and a few others, where they discussed the lack of accessibility research in the information visualization community. More recently, I think that Chromaticity also riffs on similar discussions in the OpenVisConf community.
While Chromaticity is not empirically-tested, I hope it still helps designers become more mindful of how their color selections will appear to their entire audience.


-
Free Tickets (and Free Hugs) - Jerrod Carmichael @ Baby's All Right
newyork.craigslist.org
Brooklyn! It's night two of Jerrod Carmichael's 'Love at the Store' tour, and we're bringing the love to Baby's All Right in Williamsburg. To ...
-
Free Tickets (and Free Hugs) - Jerrod Carmichael @ Helium Comedy
philadelphia.craigslist.org
We're kicking off Jerrod Carmichael's 'Love at the Store' tour tonight, appropriately in the City of Brotherly Love. To celebrate this, and Jerrod's ...
-
All the Male Celebrity Hacked Nudes!
www.funnyordie.com
Which of your favorite male celebrities' privacy would you most like to violate?
-
Fall TV Preview with Dave Holmes and Molly Sims
www.funnyordie.com
with Funny Or Die, Molly Sims, Dave Holmes
-
What Radiohead's Thom Yorke Was Really Trying to Say with that Mysterious ...
www.funnyordie.com
with Pat O'Brien
-
A Message from an Ebola Aid Worker Regarding Your Tumblr
www.funnyordie.com
One of the best human beings alive empathizes just a little bit more.
-
Jerrod Carmichael Sponsors a PeeWee Football Team
www.funnyordie.com
with Funny Or Die, Stephen Rannazzisi
-
What that Sock Your Roommate Put on the Doorknob Really Means
www.funnyordie.com
A handy guide for college roommates.
-
No Choice Microwave Meals
www.funnyordie.com
Introducing "No Choice" microwaveable meals... because you have no choice.
-
LEAKED CIA MEMO: We Must Arm the One Syrian Rebel We Can Trust (Nate)
www.funnyordie.com
Luckily, despite the terrible strife in that region, we have found that there is still absolutely a faction that meets our criteria. His name is Nate ...
-
FIRST DATE
www.funnyordie.com
FIRSTS is a new comedic series that follows the budding relationship of Chuck (Troy Ruptash) and Sally (Courtney Rackley) as they navigate their ...
-
Ideas that Seemed Good When You Were Drunk Last Night
www.funnyordie.com
Good news! Drunk you thought it was a good idea to take home some pizza for the morning.
-
Links! Arrested Development Quotes You Should Still Be Using Every Day, ...
www.funnyordie.com
with FOD Link Dump
-
My Personal WiFi Terms & Conditions
www.theoccasional.com
Dear Library Free WiFi, Thank you for sharing the Terms & Conditions of your use. Before I click “Accept,” I want to let you know that I have a few ...
-
What You Get When You Join "Facebook for Millionaires"
www.funnyordie.com
A way to ignore people from high school for the jet set.
-
Roger Goodell's Press Conference Interrupted
www.funnyordie.com
Benjy from The Howard Stern Show gets taken out of the press conference screaming, "Don't take me to the elevator".
-
Oddball Comedy & Curiosity Festival (oddball) on Funny or Die
www.funnyordie.com
Oddball Comedy & Curiosity Festival's channel on Funny or Die. Funny or Die presents: Oddball Comedy & Curiosity Festival, featuring: Louis C.K., ...


Beginning NFC with PhoneGap & Arduino
O'Reilly Webcast April 29, 2014
Tom Igoe, Brian Jepson & Don Coleman
What is NFC?
Subset of RFID.
Wireless communications.
4 to 20 cm.
In practice, make contact with devices.
What can I do with NFC?
Mobile Payments
Sharing Data between Phones
Pair with Bluetooth Device
Mass Transit Card
Smart Poster
We can't do payments, since we don't have access to the secure elements. http://www.amazon.com/HomeSpot-NFC-enabled-Bluetooth-Receiver-System/dp/B009OBCAW2
Devices
TODO add pictures
phone
shield
usb dongle
Tags hold a tiny amount of data
Think bytes
not kilobytes, megabytes, or gigabytes
Even a 1K tag only holds 716 bytes of data
Each tag type
Stores data in different binary format
Has different security features
Has different ways to read and write
Common properties
UID
Type
Technology
Capacity
Is Read Only
Is Lockable
Type is like Mifare Classic or Type 2
Technology is like Mifare Ultralight C for a Type 2 tag
NDEF
NFC Data Exchange Format
NDEF is an abstraction that allows us to read and write data to tags without worrying about the underlying implementation
NDEF Message
Contains 1 or more NDEF Records
NDEF Record
Messages contains a payload (or data) and some meta data about that payload
NDEF Record
TNF (Type Name Format)
Type
Payload
Record Id
TNF - constants
Type - works with TNF to describe the payload
Ignore the Record ID for now. We don't need it.
Let's look at some examples to make this clearer
Payload
Data for the user application
Sructure is opaque. Just bytes on a tag.
TNF - Type Name Format
Indicates the structure of the value of the type field
TNF Constants
Empty 0x0
Well Known 0x1
Mime Media 0x2
External 0x4
Type
Identifier describing the type of the Payload
Must follow rules implied by TNF
Must follow structure, encoding and format implied by the TNF
e.g. Well Known has Record Type Definition Constants
There are lots of specs for all this stuff
Meta Data about the Payload
Text Record
hello, world
TNF = Well Known
Type = T
Payload = 2 + en + hello, world
There is a spec that defines how to encode the payload
The text is prefixed with the language code
The first byte of the tag has the length of the language code
URI Record
http://cordova.io
TNF = Well Known
Type = U
Payload = 0x3 + cordova.io
There's a spec for this too.
http:// is shortened to 0x3
if the full url is encoded, prefix is 0x0
Mime Media Record
{ "message": "hello, world" }
TNF = Mime Media
Type = application/json
Payload = { "message": "hello, world" }
Helper Methods
ndef.textRecord("hello, world");
ndef.uriRecord("http://cordova.io");
ndef.mimeMediaRecord("text/json", '{...}');
NDEF Message
One or more NDEF Records
NDEF Record
Contains a payload of data
Information describing the payload
NDEF Library
for Arduino
https://github.com/don/NDEF
I like NDEF - don't really care about the details. I want tags that can be used across devices.
Used phonegap-nfc as a starting point.
Wanted code to make this simpler. Making progress but still needs work.
I2C
SPI
Setup
Write Tag
Currently tagPresent() BLOCKS, in the future this should return fast
so the main loop can continue executing.
Read Tag
Print method is just a convenience for development and debugging. Probably prints too much information for a normal application.
$ cordova create nfc com.example.nfc NFC
$ cd nfc
$ cordova platform add android
$ cordova plugin add \
com.chariotsolutions.nfc.plugin
Add a Listener
nfc.addNdefListener(
eventListener,
success,
failure
);
mention history and why this differs from other Cordova plugins
Add a Listener
nfc.addNdefListener(
app.onNfc,
success,
failure
);
Handle the Event
onNfc: function(nfcEvent) {
var tag = nfcEvent.tag,
ndefMessage = tag.ndefMessage;
alert(JSON.stringify(ndefMessage));
}
Decode the Payload
util.isType(record, tnf, type);
if (util.isType(rec, TNF_WELL_KNOWN, RTD_URI)) {
value = ndef.uriHelper.decodePayload(payload);
} else if (util.isType(rec, TNF_WELL_KNOWN, RTD_TEXT)) {
value = ndef.textHelper.decodePayload(payload);
} else if // ...
Launching your App
<intent-filter>
<action android:name=
"android.nfc.action.NDEF_DISCOVERED"/>
<data android:mimeType="text/plain"/>
<category android:name=
"android.intent.category.DEFAULT"/>
</intent-filter>
Cordova NFC Plugin
Read message from tag or peer
Decode payload using TNF and Type
Write message to a tag
Share a message with a peer
Use handover for large messages
Launch app when scanning a tag


Generate is built by a number of artists, creators, designers and developers.
Generate builds creative tools, experiences, and features driven by a love for videos, photos, music and interactivity.
Our mission is to help everybody unleash their own unique concepts in the tap of a button.
Driven by this vision, Generate supports the artistic process from start to finish — not only providing our community with tools, but also with the education, and inspiration necessary to create work that is new and different.
Generate has had a long history of Creative Coders, Developers and Designers that have continued to push the boundaries of the current mobile video revolution, and we want to acknowledge all of their work.
Generate was founded by Malcolm Levy. Development, Design and Creative Input from its inception till now include Omar Juarez, Rafael Puyana, Samm Z Cooper, Jesse Scott, David Schwartz, Sarah Cole-Burnett, Patrick Daggitt, Marisa Olson, Leo Stefansson, Martin Schueller, Becky Wu, Melody Wang, Ronald Ho, Omid Alemi, Kristin Tretheway and Adam Marshall. Generate has strived to be an ongoing supporter of diversity in tech in its community, team, its events and user base.
If you want to join our creators program and community, email us at<EMAIL_ADDRESS>For press inquiries, and questions regarding products, please contact<EMAIL_ADDRESS>For questions regarding how we partner with brands, contact<EMAIL_ADDRESS>For issues of support, please contact support@generateapp.com.


Top Open Source Projects
Without open source, there would be no Salesforce as we know it today.
Open source projects fuel the Salesforce core infrastructure in the same way Force.com fuels your managed packages. As SFDC Architect Ian Varley puts it: “Open source lets you control your own destiny.”
Tools You Can Use
Here’s an assortment of tools, libraries, and API clients that you can use in your own projects.
| Tools | Libraries | API Clients |
|---|---|---|
| * Ant SF | * Apex Commons | * Apex Tooling API - SOAP Edition |
| * Apex Data Loader | * Amazon Echo for Salesforce | * jsforce (Node) |
| * ApexDocs | * Apex Metadata API | * Metaforce (Ruby) |
| * ApexUnit | * Apex Mocks | * nforce (Node) |
| * CumulusCI | * Apex Style Guide | * restforce (Ruby) |
| * Force.com IDE | * NPSP / Cumulus | |
| * Jenkins CI | * Salesforce Lightning Design System | |
| * Nightwatch (Selenium) | * SFDC Trigger Framework | |
| * SoqlXplorer | * Simple Salesforce (Python) |
Salesforce in the House
To keep its own ship running, Salesforce contributes directly to several open source projects.
| Project | Project | ||
|---|---|---|---|
| * Apache Hadoop | * Aura | ||
| * Apache HBase | * Kylie | ||
| * Apache Phoenix | * Selenium | ||
| * Apache Qpid |
For more about Salesforce and Open Source, visit this Medium page.


{{ .Title }}
×
Secure Web ID
This ID enables your ad-funded access to the Open Web. You can reset it at any time. Recipients promise not to use for personalized marketing or associate this with your identity without consent.
Personalize Marketing
Tick to receive more personalized content.
Email address (optional)
Advertisers, publishers and their partners will receive only an encrypted version of your email. By providing this, they can apply your preferences to your experience when you use other web-enabled devices.


Ensuring that the Web remains open, accessible and interoperable for everyone around the world is a mission that the World Wide Web Consortium (W3C) takes to heart every day. While some of the technical work we do receives funding from Member organizations, we are only able to achieve Web inventor Tim Berners-Lee’s vision of leading the Web to its full potential through the generosity of contributions and sponsorships from individuals and organizations.
Join this Sponsor
W3C recognizes that giving takes many forms. We have identified a number of ways that individuals and organizations can pursue philanthropy, corporate responsibility, and business goals, and support W3C's mission. W3C Membership is not required to participate in these programs, however W3C Members may receive additional benefits when they participate.
W3C offers several ways for organizations that benefit greatly from the Web, or for individuals who appreciate W3C's work, to support our operations.
More OrganizationThree tiers of benefits are available, including strategic consultations with senior staff, technology briefings, and marketing opportunities.
This program gives organizations an easy way to reach with W3C's international audience of technology influencers.
More EventsBenefits include mention in W3C press releases, distribution of marketing materials, and guest passes.
This program is well-suited to those who wish to demonstrate their leadership in social responsibility to make the Web available to all people.
More Web for AllSupport W3C initiatives such as those related to literacy, accessibility, and multilingual Web.
Donations to this program help W3C provide tools and educational materials to the international developer community.
More DeveloperBenefits include your logo as part of the popular W3C validator, and more.


C# Tutorial
C# is widely used programming language in .NET framework. The goal of this tutorial is to take you from having little to no experience with C# to understanding how to leverage the language's advanced features and how it works on the CLR and .NET framework.
What is C#?
C# is a powerful and flexible programming language. Like all programming languages, it can be used to create a variety of applications. Your potential with C# is limited only by your imagination. The language does not place constraints on what you can do. C# has already been used for projects as diverse as dynamic Web sites, development tools, and even compilers.
C# was created by a team of people at Microsoft led by Anders Hejlsberg . Interestingly, Hejlsberg is a Microsoft Distinguished Engineer who has created other products and languages, including Borland Turbo C++ and Borland Delphi. With C#, they focused on taking what was right about existing languages and adding improvements to make something better.
The term is sometimes spelled as C Sharp or C-Sharp.
C# Articles
This page will provide you a series of articles to learn concepts of C# that are designed for beginners and professionals.
-
{% for article in site.tutorials[0].courses %}
-
{{ article.name }}
- {{ article.description }} {% if article.course %} {% assign courses = article.course | split: ',' %}-
{% for course in courses %}
{% for item in site.courses[course] %}
{% assign currIndex = forloop.index0 %}
{% if currIndex != 0 %}
-
{{ item.title }}
- {{ item.description }}
-


The best data I could find was point-cloud data in LAZ format. I converted the LAZ files that I got to LAS using laszip. I then made a DEM at 1.5m resolution at about 3.7 points per pixel. The LAS data included intensity, so I was able to make an intensity image for the DEM. It looks pretty good, all things considered.
I also looked at a DEM they provided. The DEM looks to be bare-earth, although I didnt find any doc on the subject. There was also no intensity image, so the DEM looks really bad by itself.
I tried to find a good orthophoto. I looked on the NGA WARP site, but could not find anything good. I found a grayscale image that didnt seem to have very good res. I also found a 4-band image, but the res is only 4-m and the bands are separate making it even more awkward to use. So far, it is much better to use the ladar intensity from the LAS.
File Name: AQ37.las File Size: 105,160 kb File Date: Wed Feb 13 19:03:57 2013 File Type: LAS File Signature: LASF File Source ID: 0 Global Encoding: 1 LAS Version: 1.2 System Identifier: EXTRACTION Generating Software: NGC LAS Utils File Creation Date: July 08, 2011 Per-point Time: YES Per-point RGB: NO Total Points: 3,755,734 First Return: 3,337,285 Second Return: 396,558 Third Return: 21,620 Fourth Return: 271 Fifth Return: 0 Min X: 745,500.000 Max X: 747,000.000 Min Y: 4,335,000.000 Max Y: 4,336,500.000 Min Z: 189.970 Max Z: 247.724 Estimated GSD: 0.821 X File Precision: 0.001000 Y File Precision: 0.001000 Z File Precision: 0.001000 Georegistration Coordinate System: NAD83 / UTM zone 17N Horizontal Units: Meters Vertical Units: Meters 1500x1500 meter. I was able to use the NAD83 coord system for this file and got the right lat-long from it.
File Name: dem_n16_4701_10.2011.NRCS.img File Size: 17,428 kb File Date: Wed Jan 30 13:45:27 2013 File Type: Erdas Imagine Images (.img) Grid Width: 2,000 Grid Height: 2,000 Number Bands: 1 Band 1: Height : 32-bit Float Georegistration Projection: NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501_Feet Corner 1 X: 11,399,999.000 Corner 1 Y: 6,714,999.000 Corner 2 X: 11,404,999.000 Corner 2 Y: 6,714,999.000 Corner 3 X: 11,399,999.000 Corner 3 Y: 6,709,999.000 Corner 4 X: 11,404,999.000 Corner 4 Y: 6,709,999.000 The map is 5000 ft by 5000 ft, or a resolution of 2.5ft per pixel.


1. You will be able to receive revenue from the design that you manage to sell.
2. You would be able to adjust the price of your design for per time sale.
3. The revenue would be based on the following fomular.
(No. of times sold * Price set by you = Revenue earned in MYR)
1. If your product has violated the terms of use, your profit will be suspended.
2. You would have to hit a threshold of an accumulated amount of MYR 500.00 before cashing out.
3. Before cashing out, please be sure to have your bank details filled.


Parent
- UserForm.Read
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
- CanReadFirstName
Unauthorized Access


Enermax launches LIQMAX III 360 ARGB
by Hilbert Hagedoorn
With LIQMAX III ARGB, the successful LIQMAX series now finally receives RGB lighting. The water block with its acrylic look is equipped with the Aurabelt design, which provides brilliant lighting effects. LIQMAX III ARGB supports addressable RGB synchronization with motherboards that have 4-pin addressable (5V/Data/-/GND). Thanks to ENERMAX’s patented Dual-Chamber Design, Central Coolant Inlet (CCI) and Shunt-Channel Technology (SCT) the cooler achieves faster heat transfer and an extended life time. The RGB fans with dual-convex blades are optimized for radiators and generate high static pressure to drive heat out of the cooling fins. The LIQMAX III ARGB is an excellent cooler for gaming cases that do not want to miss RGB lighting.
Dual-Chamber Water Block
The patented Dual-Chamber Design isolates the pump from the heated coolant, extending the life of the cooler.
The cold coolant enters the first chamber with the pump inside and is then forced through the cold plate absorbing heat. The heated coolant is collected in the second chamber and then transported to the radiator for cooling.
Central Coolant Inlet Design
The central coolant inlet (CCI) injects coolant at the hottest point of the CPU increasing the cooling performance. The cold plates Shunt-Channel Technology (SCT) shortens the coolant flow path and results in faster heat transfer.
Aurabelt Water Block
The Aurabelt water block of LIQMAX III ARGB is equipped with addressable RGB LEDs. For stand-alone operation the water block displays the rainbow RGB lighting effect.
RGB Sync
Synchronizable RGB lighting via addressable RGB headers of motherboards from Asus, Asrock, MSI and Gigabyte. Programmable lighting effects via motherboards software. Razer Chroma support with compatible motherboards of Asrock and MSI.
RGB Control Box
The integrated RGB control box offers quick setup of 10 pre-set lighting effects without the need of an RGB motherboard or additional software.
Dual-Convex Blade RGB Fan
The Dual-convex fan blade are a result of precision engineering calculating the shape and angles.
The fan creates down force air pressure and a high-volume air flow.
The frame is equipped with rubber pads to reduce the vibration and noise.
Addressable RGB LEDs at the fan hub provide bright illumination.
Compatibility
Quick & user-friendly universal mounting system supporting Intel® and AMD® sockets (excluding TR4/SP3 socket). The pressure adjustment spring system and high conductive Dow-Corning® thermal grease ensures a perfect contact with the CPUs heat spreader.
LIQMAX III ARGB is compatible with 120mm fan mountings. Please ensure your case offers enough space to install the radiator.
Availability and prices
LIQMAX III ARGB 360mm [ELC-LMT360-ARGB]: 99,90 € Manufacturer MSRP incl. VAT.


enum class TestPlanExecutionStatus
(source)
Status available for a test plan execution. PENDING - the test plan is currently executed. SUCCESS - the test plan has been executed and ended without any errors. FAILED - the test plan has been executed but some errors occurred. COMPLETE - the test plan has been executed but there is no more information about test success.
PENDING |
|
SUCCESS |
|
FAILED |
|
COMPLETE |
|
UNKNOWN |


Heythere, how are you doing?
My name is Darina, and whats yours?
Hope this letter finds you in a good mood, because I would like to talk to youabout something important.
I have some interesting information to share with you, and Im sure youll likeit when you hear it.
Please, dont waste time and write me as soon as possible.
My email<EMAIL_ADDRESS><EMAIL_ADDRESS>Sincerely yours,
Darina


Stats - Search Terms
Overview
This interface will show you the search terms that surfers used at search engines which lead them to your site. This will only work for the search engines that you have configured in the
Settings > Search Engines interface. The table will display each search term along with it's percentage and numerical value of the times it was used.