The CRS API allows select TripIt partners (from now on referred to as "partner") to programatically load, replace, and delete groups of travel objects and trip remarks in the TripIt platform on behalf of their customers. The kinds of partners interested in this functionality may include travel management companies, global distribution systems, travel suppliers, etc... Travel objects and trip remarks are grouped together by a Record Locator value. Following is a list of object types supported by the CRS API:
CRS Trip Details:
Travel Object Types:
Trip Remark Object Type:
The TripIt CRS API is built on top of the public TripIt API. Since both API's share many of the same fundamentals, it will be helpful for anyone using the CRS API to first familiarize themselves with the public TripIt API documentation available here.
The public TripIt API offers two methods of authentication for API calls: Web Authentication and 3-legged OAuth. Neither is particularly useful for a partner interested in loading travel data from their system into the TripIt platform without having to store per-user credentials and per-user information in their own system.
To satisfy the needs of a partner, TripIt's CRS API makes available a modified 2-legged OAuth scheme in which each partner (the "oauth consumer") is supplied with a special key that enables them to authenticate with TripIt's CRS API on behalf of TripIt users (the "oauth user") that have authorized them to do so. By default every TripIt user is configured so that the partner does not have this ability; however, TripIt provides a simple page flow to facilitate users' granting the partner access to load, replace, and delete travel data contained in their TripIt user account.
To implement the 2-legged OAuth scheme, the oauth consumer needs to implement the following:
A successful call via the 2-legged OAuth scheme can only be made on behalf of a TripIt account if that user has authorized the consumer application to do so. Here's what needs to happen in order for the TripIt user to authorize the consumer:
For information on Web Authentication and standard 3-legged OAuth, please refer to the public TripIt API documentation.
Please refer to the public TripIt API documentation.
Please refer to the public TripIt API documentation for general information, portions of which pertain to partners' use of the CRS API. The following documentation describes CRS-specific resource URLs available only in the TripIt CRS API.
There are currently two requests supported by the CRS API: crsLoadReservations and crsDeleteReservations. Each is explained below in greater detail.
A crsLoadReservations request is used to load or replace a set of travel objects and trip crs remarks. To invoke, send an HTTP POST request to the following URL:
https://api.tripit.com/v1/crsLoadReservations
The XML document containing travel objects and trip remarks must validate against the TripIt CRS API request XSD and must be POSTed as the value of the request parameter xml in the POST body of the request.
An optional company_key parameter may be sent in the request as well. The length of this request parameter's value is limited to 50 characters. See below for a description of how this parameter value is stored and what it's used for.
Note the record_locator XML element in both the ReservationObject (see tripit-api-obj-v1.xsd) as well as in TripCrsRemark (see tripit-api-crs-req-v1.xsd). This field is special for the following reasons:
While the record_locator field is never rendered to TripIt end users, customarily the value in that field is also stored in another field called supplier_conf_num which is rendered and editable by TripIt users much like all other travel objects' fields.
The first and most important difference to understand between the public TripIt API's create method and the CRS API's crsLoadReservations method is that the restriction of being able to present only one travel object per call in the former does not exist in the latter. According to the CRS API XSD, you are allowed to specify multiple travel objects as well as multiple trip remarks in each crsLoadReservations request.
Following is the high level logic executed during crsLoadReservations:
1. group incoming travel objects and trip remarks by their record_locator value a. note that this approach makes TripIt compatible with partners who support the notion of a "SuperPNR" b. any travel objects or trip remarks without a record_locator value will cause the entire crsLoadReservations request to fail with an HTTP 400 error 2. for each record_locator value present in the new objects contained in the request a. retrieve all travel objects and trip remarks with that record_locator value which may already exist in the TripIt platform b. determine what TripIt trip(s) the travel objects belong to * if no travel objects or trip remarks already exist, - create a new TripIt trip for the incoming travel objects and trip remarks - note that this trip will be associated with the partner causing it's creation for the purposes of displaying that partner's logo along with that trip - note also that the trip will be tagged with the value of the optional 'company_key' request parameter (see below) for the purpose of identifying the partner's client to bee associated with this trip * if some travel objects and/or trip remarks were found, determine which TripIt trip(s) they already belong to - if they all belong to exactly one trip: all incoming travel objects and trip remarks will be placed in that trip - if they belong to multiple trips: choose the trip containing the highest number of travel objects associated with the specified record_locator c. delete all travel objects and/or trip remarks found in 2a d. store all incoming travel objects and trip remarks, placing them in the TripIt trip selected in 2b 3. perform all of the following TripIt special sauce logic: a. for any trips that were changed during the course of the request, assert correctness of auto weather, dates, maps, directions, timezones, etc... b. for any air objects that were created during the request, enrich segment data from faa flight info, etc... c. if TripIt Pro is enabled, * activate realtime flight monitoring for all air reservations * auto-invite inner circle members to the trip(s) * etc... 4. generate and return a response to the client with the newly-stored objects' data
Note that if a brand new TripIt trip is created in step 2b above, the newly-created trip is tagged with the following pieces of information:
Here is a sample crsLoadReservations request:
Here is what the post data would look like:
company_key=SomeCompanyName&trip_is_private=booleanvalue&trip_display_name=SomeDisplayName&\ xml=<CrsRequest> <!-- this field is optional --> <CrsTripDetails> <TripPurposes> <purpose_type_code> B </purpose_type_code> <is_auto_generated> B </is_auto_generated> </TripPurposes> <display_name> </display_name> <company_key> </company_key> <is_private> </is_private> </CrsTripDetails> <AirObject> <record_locator>ABC123</record_locator> <!-- this field is used to group objects and remarks --> <supplier_conf_num>ABC123</supplier_conf_num> <!-- this field is rendered and editable to the TripIt user --> . . . see tripit-api-obj-v1.xsd for a complete list of <AirObject> fields available for you to populate . . . <notes> (you can store notes on a per-AirObject basis) </notes> <restrictions> (restrictions are typically used to store PNR fare rules, etc...) </restrictions> <AirSegment> . . . see tripit-api-obj-v1.xsd for a complete list of <AirSegment> fields available for you to populate . . . </AirSegment> <AirSegment> ... <notes> (you can also store notes on a per-AirSegment basis) </notes> </AirSegment> <Traveler> . . . see tripit-api-obj-v1.xsd for a complete list of <Traveler> fields available for you to populate . . . </Traveler> </AirObject> <LodgingObject> <record_locator>ABC123</record_locator> <supplier_conf_num>ABC123</supplier_conf_num> . . . see tripit-api-obj-v1.xsd for a complete list of <LodgingObject> fields available for you to populate . . . <notes> ... </notes> <restrictions> ... </restrictions> </LodgingObject> <CarObject> <record_locator>XYZ456</record_locator> <supplier_conf_num>XYZ456</supplier_conf_num> . . . see tripit-api-obj-v1.xsd for a complete list of <CarObject> fields available for you to populate . . . <notes> ... </notes> <restrictions> ... </restrictions> </CarObject> <TripCrsRemark> <record_locator>ABC123</record_locator> <notes>Thanks for booking with us. In case of emergency, blah blah blah... Note that remarks can have multiple lines of text. Think of TripCrsRemark's as providing you the ability to store notes on a per-trip basis.</notes> </TripCrsRemark> <TripCrsRemark> <record_locator>XYZ456</record_locator> <notes>Thanks for booking with us.</notes> </TripCrsRemark> <TripCrsRemark> <record_locator>XYZ456</record_locator> <notes>In case your car breaks down, blah blah blah...</notes> </TripCrsRemark> </CrsRequest>This example loads a SuperPNR consisting of two PNR's: ABC123, and XYZ456. The first PNR contains an air reservation, a hotel reservation and one remark. The second PNR contains a car reservation and two remarks.
A crsDeleteReservations request is used to delete all travel objects and trip remarks associated with the specified record locator.
https://api.tripit.com/v1/crsDeleteReservations?record_locator=<PNR>
<PNR> is the Person Name Record, or record locator to be deleted.
Here is a sample crsDeleteReservations request for PNR "ABC123":
https://api.tripit.com/v1/crsDeleteReservations?record_locator=ABC123In this example, crsDeleteReservations would delete only one of the two PNR's loaded in the crsLoadReservations example above; specifically, it would delete the AirObject, the LodgingObject, and one of the three TripCrsRemark's.
Please refer to the public TripIt API documentation as well as the following CRS-specific documentation below.
In addition to the errors and reasons described by the public TripIt API documentation, the CRS API will also return these HTTP Status Codes for the following reasons:
| status code | meaning | description |
|---|---|---|
| 400 | Bad Request | xoauth_requestor_id request parameter value is missing or contains an invalid email address. |
| 404 | Not Found | Email address specified in xoauth_requestor_id does not exist in the TripIt platform. |
Please refer to the public TripIt API documentation as well as the following CRS-specific documentation below.
There are two types of XML documents used to communicate with the CRS API. A CrsRequest document is used when the client is asking to load or replace reservations in the TripIt platform. A Response document is what the CRS API returns to the client as an answer to a CrsRequest. The XML Schemas that describe valid CrsRequest and Response documents may be found here:
These schemas completely describe all of the valid XML documents that can be posted to and received from the API.
Used for load or replace operations, a CrsRequest object wraps one or more travel objects (AirObject, LodgingObject, CarObject, etc...) as well as one or more trip remarks (TripCrsRemark) in the xml parameter value of an HTTP POST request.
A Response object is used to wrap one or more travel objects as well as one or more Warning and/or Error objects in a response from a crsLoadReservations request.
NOTE: only 2-legged oauth consumers will be able to use the mechanisms described in this section.
Once a set of travel objects and trip remarks are successfully loaded into the TripIt platform by a partner, they will be available for on-line viewing according to all the trip privacy and access rules defined by the TripIt platform. For convenience, people invited to the trip will be able to view it at the following terse URL:
Note that "ABC123" is the record locator value and this URL can easily be constructed by the partner and included either in the invoice sent to the customer at the time of booking and/or on the purchase confirmation page. For people who either don't already have a TripIt account and/or have not yet granted access to the partner's consumer, the URL would need to contain a few more parameters in order to facilitate new user account creation and setup:
Here's an example:
This URL will guide the user through the steps necessary to create and establish the communication channel the partner will need in order to load, replace, and delete travel objects and trip remarks in their TripIt account moving forward. Once that communication channel is established it will remain open until/unless the user revokes access to that partner oauth application. The request parameters in the url above are:
In addition to facilitating the ability for partners to link directly to a user's itinerary, this /pnr url serves a few more useful purposes. Consider the following two use cases in which the partner's initial invocation of crsLoadReservations fails:
Even if the initial crsLoadReservations fails, partners can still direct users to the /pnr url described above as TripIt can still successfully get the user to their itinerary. To do so, partners will need to implement a crsLoadReservations callback listener. Here's an example of how this flow works:
Some notes:
In order for TripIt to initiate a request to the partner so that the partner once again tries to load the user's PNR into the TripIt platform, the partner will need to:
The protocol used for this callback will be an oauth-signed https (SSL) GET request. Partners will be able to configure the hostname and path to which TripIt calls back, and the url will look like this:
The record locator is included in this GET url under the request parameter key 'pnr'. In order to support multi-passenger PNR's, TripIt will also make an effort to send the email address specified in the "/pnr" URL (described above) as well. If the user clicks on a "/pnr" URL that either doesn't contain the 'email_address' request parameter or the value associated with that parameter is not a valid email address, then no email_address parameter will be sent in the listener callback GET request.
TripIt will expect two things in the response from this listener callback https request:
Here's a rough illustration of the data involved in this crsLoadReservations callback listener exchange:
# -------- # 1) TripIt initiates an oauth-signed HTTPS Request to the partner's SSL server. # NOTES: # - partner configures the "https://tmc.hostname.com/path/to/whatever" # - TripIt includes a 'pnr' GET parameter and signs request: "?...&pnr=ABC123&oauth_signature=xxxxxxxxxxxxxxxx&..." # --------<EMAIL_ADDRESS># -------- # 2) TripIt's https request client waits while the partner immediately calls crsLoadReservations # 3) partner calls crsLoadReserations for the specified PNR # 4) partner determines whether or not that crsLoadReservations call succeeded # 5) partner renders an https response indicating to TripIt if the load call succeeded and the email address associated with the PNR # -------- 200 OK ... Content-Length: 39<EMAIL_ADDRESS># --------
If all goes well TripIt will redirect the user's browser directly to view their trip. If a failure occurs, TripIt will use the email address sent back in the response to remedy the specific authentication problem that is still preventing crsLoadReservations from succeeding and then attempt the on-boarding process once again.
Please refer to the public TripIt API documentation.
Please refer to the public TripIt API documentation.
Please refer to the public TripIt API documentation.
Please refer to the public TripIt API documentation.


<<
TAO
delivering
regard
TAO-ready
TAO-specific
TAO Business Lead Jeanette Teague
TAO Guide
Field Training
TAO Help Desk
need
TAO logon
access
TAO Questions
TAO Specific Tools
TAO Super User/US Computer Work Group
TAO Super Users
TAO Tools
refer
TAO Training
TAO Training Record
Technology Survey
completed
Templates
Test Your Knowledge Key
Testing
CD-ROM
Think About
Questions
Timelines
Training
Transition Lead
Trial Access Online
access
Universities
Until E-Learning
Until eLearning
US
US Site Monitor Manager John ODell
US Site Monitors
US TAO Super User/Computer Work Group
Use
BMS VPN
his/her
RDC Search
User Account Management
Guide
Using RDC
Utilizing
RDC
VA
VERIFIED
Version 4.5
VPN
disable
Windows
Workaround Options
Workarounds
following


Welcome to the fastest and most efficient way to test yourself on DECA written tests. With more than 10 different tests uploaded and new ones being added every week, practice questions and refine your skills until you're the best!


Juan Antonio Sandoval Delgado
Software Engineer — San Francisco Bay Area
Computer Systems Engineering at Instituto Tecnológico de Tepic in México (2005 - 2009). Working as a software developer focused on web technologies with experience designing and building a variety of systems for services, financial, and health sectors since 2009. A passionate engineer who enjoys learning new technologies, be involved in open source projects, courses, and initiatives in my region.
Expertise areas:
- Web technologies (Backend, REST APIs, Performance optimizations)
- Designing systems
- TDD
- Data pipelines (Big Data)
- Reactive applications
Languages:
- Python
- Java
- Scala
- Javascript / Typescript
Experience
- Wizeline (San Francisco, CA) — Senior Software Engineer (Technical lead) (2016 - Present)
- IBM (Guadalajara, Jalisco) — Senior Software Engineer (Technical lead) (2012 - 2016)
- A4Sys (Guadalajara, Jalisco) - Software Engineer (2010 - 2012)
- Medisist (Guadalajara, Jalisco) — Software Engineer (2009 - 2010)
Side projects
- gorrion: Telegram chatbot for publishing Spotify activity on Twitter written in Python.
- pitaya: NLP as a service. REST API wrapper for the Apache Open NLP library written in Scala.
- Conway Game of Life: Conway’s game of life in Scala with Swing API.
- juanitodread site: My personal website in Github Pages using Hugo.
- jTuringMachine: A tool for representing Turing machines as graphs in Java with Swing API.
Techtalks
- Reactive Web Applications with Play and Scala (Workshop | Tech Women Community Guadalajara - Guadalajara Java User Group)
- Diseño y desarrollo de una REST API en la plataforma Java/Scala (Workshop | Tech Women Community Guadalajara)
- Adopting a JSR - JSR 367: API for JSON Binding (JSON-B) (Initiative | Guadalajara Java User Group)
- Seguridad en Java (Talk | Guadalajara Java User Group)
Learning
Certifications
- Oracle Certified Expert, Java EE 6 Web Component Developer
- Oracle Certified Expert, Java EE 6 Web Services Developer
- Oracle Certified Professional, Java SE 6 Programmer
Courses
- Data Science on Google Cloud Platform: Building Data Pipelines - LinkedIn
- First Look: Java 15 - LinkedIn
- Reactive Architecture: Advanced - Lightbend, Inc.
- Building Scalable Systems - Lightbend, Inc.
- Reactive Architecture Foundations - Lightbend, Inc.
- Principles of Reactive Architecture - Lightbend, Inc.
- Functional Programming Principles in Scala - Coursera (École Polytechnique Fédérale de Lausanne)
- M101x Introduction to MongoDB using the MEAN Stack - edX (MongoDB University)
- Enabling Technologies for Data Science and Analytics: The Internet of Things - edX (Columbia University)
- Introduction to Linux - edX (Linux Foundation)
- M101J: MongoDB for Java Developers - MongoDB University
- Java SE 8 Lambdas and Streams - Oracle
Training


Nyender Sofa
Enjoy the super comfy NYENDER sofa with embracing feel and deep seat cushions made of pocket springs, high resilience foam and polyester fibres, adding both firm support and relaxing softness.
Reversible back cushions provide soft support for your back and two different sides to wear. Thanks to the combination of polyester fibres and cut foam the cushions will retain their shape and comfort year after year. The cover is easy to keep clean as it is removable and can be machine washed. A range of coordinated covers makes it easy for you to give your furniture a new look.
10-year limited warranty. Read about the terms in the limited warranty brochure.
The cover has a lightfastness level of 5 (the ability to resist color fading) on a scale of 1 to 8. According to industry standards, a lightfastness level of 4 or higher is suitable for home use.
This cover's ability to resist abrasion has been tested to handle 15,000 cycles, which is suitable for furniture that should withstand everyday use in the home.
Customer Review (3)
Asep Pangabean
I thought it was not good for living. I really happy to decide buy this product last week now feels like homey.
Sugeng
Color is great with the minimalist concept. Even I thought it was made by Cactus industry. I do really satisfied with this.
Japra Keling
When I saw at first, it was really awesome to have with. Just let me know if there is another upcoming product like this.


Double E
Contact the author of this page:
<EMAIL_ADDRESS>(311) 555-2368
Home
News
Destination
Gallery
Contact


{% extends "vaxcharts/base.html" %} {% block content %}
*Data from CDC National Immunization Survey-Child
*Shaded area represents the 95% confidence interval


Bind to SMST Component Use-Case.Description:The "bind" process.Its content strongly depends on the software architecture.Assumptions:None.Exceptions:None.


Ski Resort Locator
Drag or double click to change your starting location.
Share Location
Select search radius:
50 miles
100 miles
200 miles
500 miles
Name
Nearest Town
State
Base Elevation
Vertical Feet
Runs
Directions
Website


The de facto Pinax build process has a couple manual steps but the bulk of the work is done by the pinax-boot.py script. The 0.7 series introduced the use of pip which installs python parts into the site-packages directory, presuming a virtualenv to avoid polluting the system python.
Many folks like using zc.buildout, a generic tool frequently used to build projects, especially when there are a number of components involved. It came from the Zope world and is heavily used by the Plone community for building sites. Rather than installing libraries into site-packages, interpreters and running systems have their sys.path set to include all the eggs and libraries and parts as required by the buildout definitions.
The Django community has typically not been big on using buildout, but recently Jacob Kaplan-Moss has written a couple enthusiastic tutorials on how to use it.
Pinax has many many components so it seems a natural candidate for buildout.
In the bad old days developers installed libraries into the system Python’s site-packages; your operating system packager may have done the same thing for their own needs. This of course leads to problems akin to “DLL Hell”, with different applications needing different libraries or versions.
Virtualenv creates a private copy of your python with its own site-packages directory so you can install as a normal user and each project can have it’s own set of libraries.
I tend to install a very minimal set of critical tools into my system python: setuptools and virtualenv. All my application’s libraries are installed into the running code’s sys.path by buildout, so I don’t end up with conflicts.
 It’s safest to create a virtual environment:
virtualenv --no-site-packages .
The dot indicates to create the virtualenv in this current directory, where our Pinax build will be done. Then activate it:
source bin/activate
Now when you say “python” it should get your private python.
Before you can start to bootstrap the buildout you need to get the necessary files by cloning the Git repository pinax-buildout:
$ git clone git://github.com/pinax/pinax-buildout.git
Since it’s a good idea to create a new buildout for each Pinax based project don’t hesitate to rename the pinax-buildout directory to your liking.
If you created and activated a virtual python, or want to use the system one that’s on your PATH, bootstrap the buildout:
$ python bootstrap.py
If you create a private python or need to use a specific one (e.g., a non-default python version) do something like:
$ /path/to/specific/python bootstrap.py
This creates the bin/buildout command used next:
Creating directory '/path/to/pinax-buildout/bin'.
Creating directory '/path/to/pinax-buildout/parts'.
Creating directory '/path/to/pinax-buildout/eggs'.
Creating directory '/path/to/pinax-buildout/develop-eggs'.
Generated script '/path/to/pinax-buildout/bin/buildout'.

Now you can run the buildout. It uses the configuration buildout.cfg file to drive the build. You can create layered buildout config files, like for the project base then variants for development and deployment, but we’ll only worry about a single configuration here.
The buildout.cfg file specifies various parts and dependencies. Run the buildout with a bit of verbosity like:
$ bin/buildout -v
Installing 'zc.buildout', 'setuptools'.
...
Generated script '/path/to/pinax-buildout/bin/ipython'.
Generated script '/path/to/pinax-buildout/bin/pinax-admin'.
Generated script '/path/to/pinax-buildout/bin/django-admin'.
Since our buildout.cfg specifies a lot of pieces needed by Pinax, this can take a little time the first time its run. Subsequent times should take less time.
I’ve specified parts in the buildout to build pieces that can be a bit troublesome, specifically PIL and the zlib that it depends on.
When finished, the buildout creates a bin/django-admin command that’s analogous to Django’s django-admin.py. It also creates a bin/pinax-admin script to call clone_project for example.
You will need to re-rerun this if you modify the buildout.cfg – perhaps to add other components your application needs.
After your buildout completes, you can use the bin/django-admin commands as to initialize your database and run your site.
At this point you should have the bin/pinax command and be able to create your database from the Pinax models:
$ bin/django-admin syncdb
The buildout also creates a python interpreter that has all the eggs and libraries configured into it, which you can run like:
$ bin/python


Title
Mr
Miss
Mrs
Ms
Name
Address
Postcode
Telephone Number
Email
Work Summary
Clear form
Clear all form fields
Submit form
Commit the form


{% extends "tutorial.html" %} {% block head %} {% endblock %} {% block html5badge %} {% endblock %} {% block iscompatible %} return Modernizr.draganddrop; {% endblock %} {% block content %}
Drag and Drop (DnD) is one of the many great features of HTML 5, and it is supported in Firefox 3.5, Safari, Chrome and IE. Google recently rolled out a new feature that allows Google Chrome users to drag and drop files from the browser to the desktop. It is an extremely convenient feature, but it was not widely known until Ryan Seddon posted an article on the discoveries of his reverse engineering on this new feature.
At Box.net, we are very excited about how these new capabilities are enabling us to improve our cloud content management solution, as well as contribute more to the developer community. I am pleased to announce that DnD Download has been integrated into our product. Now, Box users can drag files directly from a Chrome browser to their desktop to download and save the file.
I would like to share how I went through several iterations during the development of this new feature.
The first thing to do is check that your browser fully supports HTML5 drag and drop. An easy way to do that is use a library called Modernizr to check for a certain feature:
if (Modernizr.draganddrop) { // Browser supports native HTML5 DnD. } else { // Fallback to a library solution. }
I first tried the approach that Seddon found in Gmail. I added a new attribute called ‘data-downloadurl’ to anchor links of files. This process uses HTML5’s custom data attributes. In data-downloadurl, you need to include the MIME type of the file, the destination file name (the desired file name of the downloaded file), and the download URL of the file. Thus, this is added to the HTML template:

which would create an output like the following:

Based on a jQuery plugin that von Schorsch created, which is based on Seddon’s article, I added a jQuery plugin that does a bit of browser feature detection. Highlighted are the lines that I added to von Schorsch’s version:
(function($) { $.fn.extend({ dragout: function() { var files = this; if (files.length > 0) { $(files).each(function() { var url = (this.dataset && this.dataset.downloadurl) || this.getAttribute("data-downloadurl"); if (this.addEventListener) { this.addEventListener("dragstart", function(e) { if (e.dataTransfer && e.dataTransfer.constructor == Clipboard && e.dataTransfer.setData('DownloadURL', 'http://www.box.net')) { e.dataTransfer.setData("DownloadURL", url); } },false); } }); } } }); })(jQuery);
The reason I did this is because without prior browser detection, doing addEventListener() to a HTML element in IE will create a JavaScript error because IE uses its own attachEvent() method. e.dataTransfer is undefined in IE (as of now), e.dataTransfer.constructor returns DataTransfer in Firefox (Mozilla), while Webkit browsers (Chrome and Safari) implements the Clipboard constructor. In Safari, e.dataTransfer.setData('DownloadURL','http://www.box.net') returns false, and Chrome returns true for this statement. Doing all of the tests mentioned above leave the feature only available to Chrome. You may argue that I could simply do the following:
/chrome/.test( navigator.userAgent.toLowerCase() )
But I prefer feature detection to browser detection, though this technically does not detect that DnD download will work.
1) Because we currently have on-page DnD enabled for moving/copying files between folders, we need a way to distinguish DnD Download and on-page DnD. Technically, we cannot combine these two actions. We cannot predict whether the user wants to move a file to another folder within the Box.net account or drag it to their desktop. These two actions are completely different. Moreover, there is no easy way to detect if the cursor is outside the browser window. You could use window.onmouseout (IE) and document.onmouseout (other browsers) to attach mouseout event to the document, and check if e.relatedTarget.nodeName == “HTML” (e is the mouseout event or window.event, whichever is available). But this is quite difficult due to event bubbling. The event may trigger randomly when you are over an image or layer, especially in a complex web app like Box.net.
2) We want the user to explicitly do something to prevent them from dragging something out to the desktop by mistake. Potentially, an editor of a Box folder can upload an executable file that does something undesirable on the computer of whoever downloads it. We want the user to know exactly when a file would be downloaded to the desktop.
We decided to experiment with control + drag (dragging a file when the Windows Ctrl key is pressed). This action is consistent with what people can do on a Windows desktop to duplicate a file. It also requires extra work (but not an extra step) from the user to prevent files from downloaded by mistake.
The jQuery plugin in iteration 1 is abandoned now because we need to tightly integrate DnD Download with the on-page DnD. For those who are interested, we use a modified version of jQuery UI’s Draggable plugin. Inside the mousedown event of a target element, we put the following code:
// DnD to desktop when the Ctrl key is pressed while dragging if (e.ctrlKey) { var that = $(e.target); // make sure it is not IE (attachEvent). if (that[0].addEventListener) { that[0].addEventListener("dragstart",function(e) { // e.dataTransfer in Firefox uses the DataTransfer constructor // instead of Clipboard // make sure it's Chrome and not Safari (both webkit-based). // setData on DownloadURL returns true on Chrome, and false on Safari if (e.dataTransfer && e.dataTransfer.constructor == Clipboard && e.dataTransfer.setData('DownloadURL','http://www.box.net')) { var url = (this.dataset && this.dataset.downloadurl) || this.getAttribute("data-downloadurl"); e.dataTransfer.setData("DownloadURL", url); } }, false); return; } }
Other than enabling the Ctrl key, we also added a little toaster tooltip, which shows up when the user performs a regular on-page drag. It tells the user that files can be downloaded if the file icon is dragged to the desktop while the Ctrl key is being held.
Due to security concerns, Box.net does not expose permanent URLs to directly access static files. This is not unique to Box.net. Any online storage service should not expose permanent URLs without an extra layer of security to check if the file is public and whether the intended download is requested by a user with appropriate permissions.
When following the “download URL” (e.g. https://www.box.net/box_download_file?file_id=f_60466690) of an item, it returns a “302 Found” status code, and redirects to a random URL (e.g. https://www.box.net/dl/6045?a=1f1207a084&m=168299,11211&t=2&b=aca15820d924e3b) that is the temporary “actual URL” of the file. The challenge is that it expires every few minutes, and so placing it in the HTML output is impractical. It could return “404” when the user tries to download the file at the link in the HTML output generated several minutes ago.
DnD Download only works on actual URLs that point directly to a resource. If redirection is involved, it is currently not smart enough to follow the chain (and it should never follow the chain due to security). Therefore, although the link https://www.box.net/box_download_file?file_id=f_60466690 from above would let you download the file when you enter it in the browser location bar, it would not work with DnD.
To better illustrate the differences between an “actual URL” and a “redirect URL”, see the screenshots:
Let’s try Ajax.
We slightly modified the code in the previous iteration and came up with the following:
// DnD to desktop when the Ctrl key is pressed while dragging if (e.ctrlKey) { var that = $(e.target); // make sure it is not IE (attachEvent). if (that[0].addEventListener) { that[0].addEventListener("dragstart", function(e) { // e.dataTransfer in Firefox uses the DataTransfer constructor // instead of Clipboard // make sure it's Chrome and not Safari (both webkit-based). // setData on DownloadURL returns true on Chrome, and false on Safari if (e.dataTransfer && e.dataTransfer.constructor == Clipboard && e.dataTransfer.setData('DownloadURL', 'http://www.box.net')) { var url = (this.dataset && this.dataset.downloadurl) || this.getAttribute("data-downloadurl"); $.ajax({ complete: function(data) { e.dataTransfer.setData("DownloadURL", data.responseText); }, type:'GET', url: url }); } }, false); return; } }
This makes sense. Upon dragstart, it immediately makes an Ajax call to the server to retrieve the latest download URL of the file. However, it does not work.
 Seems like setData has to be done at the time when the event listener is attached. According to jQuery’s API, the highlighted lines become:
$.ajax({ async: false, complete: function(data) { e.dataTransfer.setData("DownloadURL", data.responseText); }, type: 'GET', url: url });
And it works fine... until I unplugged the network connection. Because it does a synchronous call, the browser freezes until the call is successful. If the Ajax call fails (404, or if it does not respond at all), the browser would not defrost at all as if it had crashed.
It is much safer to do something like the following:
$.ajax({ async: false, complete: function(data) { e.dataTransfer.setData("DownloadURL", data.responseText); }, error: function(xhr) { if (xhr.status == 404) { xhr.abort(); } }, type: 'GET', timeout: 3000, url: url });
For a demo of this feature, feel free to upload a static file to a Box.net account. Drag the file icon out to your desktop while holding the Ctrl key. If you do not have an account, it literally takes less than 30 seconds to create one.
With this feature, you can be creative and make a lot of things possible. Dragging an image to a Windows printer dialog will immediately have the image printed. You can copy a song from Box to your mobile phone’s drive, drag a file from Box to your IM client in order to transfer it directly to your friend... This opens up endless possibilities to increase your productivity.
This is still less than ideal, as a synchronous call could lock up the browser for a brief moment. The HTML 5 Web Worker does not help either, as a Web Worker has to be asynchronous. It does seem like setData has to be done at the time when the event listener is attached.
In reality, the performance is pretty acceptable. The synchronous Ajax (Sjax) call merely retrieves an URL string, which should be pretty fast. It does come with big overhead in the HTTP header, which can possibly be addressed by WebSockets. However, until we see more usage of this kind of technology, it is not worth using WebSockets to send every little update down to the client.
I also hope that the capability of multi-file download will be added to the API in the future. Combined with custom checkboxes to select multiple files on the user interface, this would be incredible. Furthermore, it would be even nicer if client-generated files, such as text files generated from the result of a form submitted, can be downloaded in this way.


AG SONDAY | PERSONAL PORTFOLIO
HOME
ABOUT
CV
PROJECTS
GALLERY
CONTACT
GALLERY
A COLLECTION OF DESIGN WORK FROM VARIOUS PROJECTS
[ CLICK IMAGES TO ENLARGE ]
EGMR Offensive
[podcast banner image]
X
EGMR Awards: Game of the Year
[awards banner] image
X
EGMR Awards: Most Anticipated
[awards banner image]
X
EGMR Awards: Game of the Year
[awards header image]
X
EGMR Awards: Most Anticipated
[awards header image]
X
EGMR Awards: Developer of the Year
[awards header image]
X
EGMR Button Badge
[promotional merchandise]
X
Ctrl+Alt+Play Company Logo
[coursework project]
X
Robogals CT Chapter Logo
[extracurricular social action]
X
EGMR T-shirt 2015 Final
[promotional merchandise]
X
EGMR T-shirt 2015 Concept
[promotional merchandise]
X
CONNECT


Class returned from reduce_elements_in_slice().
More...
#include <yk_var_api.hpp>
Class returned from reduce_elements_in_slice().
- Note
- The reduced values are all doubles regardless of the precision of the solution.
◆ get_reduction_mask()
| virtual int yask::yk_var::yk_reduction_result::get_reduction_mask |
( |
| ) |
const |
|
pure virtual |
Get the allowed reductions.
- Returns
- the bitmask of reductions provided.
◆ get_num_elements_reduced()
| virtual idx_t yask::yk_var::yk_reduction_result::get_num_elements_reduced |
( |
| ) |
const |
|
pure virtual |
Get the number of elements reduced.
- Returns
- the number of elements evaluated.
◆ get_sum()
| virtual double yask::yk_var::yk_reduction_result::get_sum |
( |
| ) |
const |
|
pure virtual |
Get sum.
- Returns
- sum of values of elements in slice or zero (0.0) if no elements were evaluated.
- Exceptions
-
◆ get_sum_squares()
| virtual double yask::yk_var::yk_reduction_result::get_sum_squares |
( |
| ) |
const |
|
pure virtual |
Get sum of squares.
- Returns
- sum of squares of values of elements in slice or zero (0.0) if no elements were evaluated.
- Exceptions
-
◆ get_product()
| virtual double yask::yk_var::yk_reduction_result::get_product |
( |
| ) |
const |
|
pure virtual |
Get product.
- Returns
- product of values of elements in slice or one (1.0) if no elements were evaluated.
- Exceptions
-
◆ get_max()
| virtual double yask::yk_var::yk_reduction_result::get_max |
( |
| ) |
const |
|
pure virtual |
Get max.
- Returns
- maximum of values of elements in slice or
MIN_DBL
if no elements were evaluated.
- Exceptions
-
◆ get_min()
| virtual double yask::yk_var::yk_reduction_result::get_min |
( |
| ) |
const |
|
pure virtual |
Get min.
- Returns
- minimum of values of elements in slice or
MAX_DBL
if no elements were evaluated.
- Exceptions
-
The documentation for this class was generated from the following file:


This API has been deprecated.
{% if include.deprecation_date %}Deprecation Date: {{ include.deprecation_date }}
{% endif %} {% if include.unsupported_date %}Unsupported Date: {{ include.unsupported_date }}
{% endif %}{{ include.content | markdownify }}
Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.
Learn more in the API Lifecycle & Deprecation Policy.


View the Project on GitHub Maqentaer
http://maqentaer.com It may be down
I did publish it from operasoftware/devopera-static-backup
The link to docs: https://maqentaer.github.io/devopera-static-backup/http/dev.opera.com/addons/extensions/


Welcome
Qualified Coaches
Our coaches have years of experience in various types of fitness and sports.
Individual Approach
Every client of GYM has a personalized program of training and nutrition.
Fitness Equipment
We cooperate with leading fitness equipment suppliers to give you the superior results.
Coaches
Papa Perkins
Fitness
Papa can teach you all peculiarities of fitness and aerobics in a group or individually.
Samantha Minela
Yoga
Our leading yoga coach, Samantha will help you reach full harmony with your body.
Austin Ortiz
Bodybuilding
Austin is not only our most called-for coach, but also a winner of many championships.


Continuining the Burp labs
Posted on May 10, 2020
Back to my day job this week, but I've still been able to make decent progress:
I've decided to take on the idea of creating a repo with the solutions for the labs I go through. I noticed that the solutions provided by the labs do not always explain everything involved in the exploit, so I've been mainly focusing on providing those extra details or key pieces of information that make the attack run.
They can all be found on my github page:
Burp Lab Solutions
I spent this week focusing on XSS attacks, as these tend to be most frequent and observable in real life scenarios. Of particular interest were the DOM labs and the use of Burp Collaborator. Essentially, Burp Collaborator is a personal web server you can spin up to help discover and test various vulnerabilities. It's very powerful. More here:
https://portswigger.net/burp/documentation/collaborator
What are my current goals?
My first goal is to progress as much as I can through the labs, as I believe the skills will be essential for my current job and they're a lot of fun.
My second goal with these labs is to build momentum and keep the ball rolling. Once I'm done with them I'll get back to HTB and other side projects, but I think the labs take priority for now.


--- layout: post title: Reportage graphique date: '2016-02-21T18:30:46+01:00' categories: - Storyboards picture_url: https://film-Storyboards.tumblr.com/post/139756156265 ---


So you have a song in solfa notation, but you are unsure what key to play it in?
What is the highest note for soprano in the song? Select the note from the dropdown below and we will suggest a suitable key for your song


Before Change
def __init__(self, layer, state, alpha=None, beta=None, bias=True):
alpha, beta = rutils.assert_infer_lrp_alpha_beta_param(alpha, beta, self)
self._alpha = alpha
self._beta = beta
// prepare positive and negative weights for computing positive
After Change
// One is the original form and two with only the positive or
// negative weights.
if copy_weights:
weights = layer.get_weights()[:-1]
positive_weights = [x * (x > 0) for x in weights]
negative_weights = [x * (x < 0) for x in weights]
else:
weights = layer.weights[:-1]


A tag is a keyword or label that categorizes your question with other, similar questions. Using the right tags makes it easier for others to find and answer your question.
| Type to find tags: |
|
import× 12458
Refers generally to the process of moving data from an external source into one's platform, program, or data set.
|
playframework× 12444
a modern Java and Scala web
application open-source framework that provides a clean alternative to
bloated Enterprise Java stacks.
|
ggplot2× 12414
an actively maintained
open-source chart-drawing package for R, written by Hadley Wickham,
based upon the principles of "Grammar of Graphics". It partially
replaces R's basic plot and the …
|
timer× 12388
a control that has the functionality to trigger a user defined action at regular intervals as configured by the user.
|
|
orm× 12356
a technique for mapping object-oriented systems to relational databases.
|
jquery-plugins× 12334
Custom add-ons and plugins for the jQuery library. jQuery functions and features not included in the standard jQuery library.
|
concurrency× 12283
a property of systems in
which multiple computations can be performed in overlapping time
periods. The computations may be executing on multiple cores in the same
c…
|
version-control× 12258
the management of changes
to documents, programs, and other information stored as computer files.
Use this tag to mark general questions about usage and applicability of
version con…
|
|
error-handling× 12246
Programming language constructs designed to handle errors signaled by error codes, exceptions or other language specific means.
|
docker× 12161
Docker provides a
high-level API to containerize unix processes and applications with some
degree of isolation and repeatability across servers.
|
flask× 12150
a web microframework for Python based on "Werkzeug, Jinja 2 and good intentions". BSD-licensed.
|
doctrine2× 12141
a PHP (5.3.2+) ORM. While
Doctrine 1.2 uses the Active Record pattern, Doctrine 2 uses the Data
Mapper pattern. The Doctrine project is a collection of open source
libraries and tools …
|
|
ios5× 12124
iOS 5 was released by Apple on Oct 13, 2011.
it runs on iPhone 3GS, iPhone 4, iPhone 4S, iPod Touch 3rd and 4th generation, as well as all iPad models.
it has been succeeded by iOS 6.
|
dependency-injection× 12120
A design pattern to reduce
coupling between components, by dynamically injecting into a software
component dependencies that it needs to function.
|
binding× 12073
means different things in
different contexts; consider using less ambiguous tags instead or in
addition. Common meanings include: Dependency-Injection and Data
Binding to Objects and Binding…
|
colors× 12058
for questions about representing or manipulating colors in a programming language.
|
|
parameters× 12025
a type of variable used in a subroutine to refer to the data provided as input to the subroutine.
|
constructor× 12010
A special type of subroutine called at the creation of an object.
|
combobox× 12006
Combobox allows to select
one option out of several (similar to a listbox), however, only the
selected one is displayed by default (in the interest of screen real
estate).
|
dataframe× 11989
a tabular data structure.
Usually, it contains data where rows are observations and columns are
variables of various types. While "data frame" or "dataframe" is the
term used for this …
|
|
properties× 11950
A property, in some
object-oriented programming languages, is a special sort of class
member, intermediate between a field (or data member) and a method.
Properties are read and written like fields, b…
|
oracle11g× 11917
an Object-relational
Database Management System (ORDBMS) created by Oracle Corporation.
Specific releases of the product are known as Oracle9i, Oracle10g,
Oracle 11g and Oracle 12c, where "i…
|
process× 11858
about operating system
processes. It may also refer to a specific construct on a given
platform, e.g., the System.Diagnostics.Process class for .NET
|
cmd× 11816
the Microsoft supplied
command line interpreter on OS/2, Windows CE, and Windows NT operating
systems (including Windows 2000, XP, Vista, 7, Server 2003, an…
|
|
interface× 11693
An interface refers to the
point of interaction between components. Interfaces are applicable at
both the hardware and software level.
In general, an interface exposes a contract without exposing …
|
enums× 11691
A data type consisting of a set of named values called elements, members or enumerators of the type.
|
opengl-es× 11681
Subset of the OpenGL 3D graphics API designed for embedded devices such as mobile phones.
|
bitmap× 11680
The more general term
pixmap refers to a map of pixels, where each one may store more than two
colors, thus using more than one bit per pixel. Often bitmap is used
for this as well. In some contexts, …
|
|
tkinter× 11673
the standard Python interface to the "Tk" graphical user interface toolkit.
In Python 3, the name of the module changed from Tkinter to tkinter.
|
clojure× 11665
a modern Lisp dialect for
the Java Virtual Machine (with versions for the CLR and JavaScript).
More than merely an implementation of Lisp in Java, Clojure provides
access to Java's classes …
|
datatable× 11567
ambiguous. In .NET, it's a
class that represents a table of in-memory data. In component based MVC
frameworks like JSF and Wicket, it's an UI component that dynamically
renders…
|
casting× 11539
a process where an object type is explicitly converted into another type if the conversion is allowed.
|
|
build× 11536
The process of converting source code files into standalone software artifact(s) that can be run on a computer
|
while-loop× 11502
a control structure used in
many programming languages to loop over a set of instructions as long
as a particular condition is met.
|
google-analytics× 11479
a free web analytics
solution provided by Google, featuring several client-side APIs, as well
as REST APIs for data export and for management.
|
datagrid× 11457
A graphical user interface element that presents a tabular view of data.
|


To run the example, simply type mvn verify from this directory, or mvn -PnoServer verify if you want to start and create the broker manually.
This example shows you how to configure 2-way SSL along with 2 different authentications mechanisms so that SSL and non-SSL clients can send and consume messages to/from ActiveMQ Artemis. The non-SSL authentication mechanism simply uses username and password. The SSL authentication mechanism uses the client's certificate.
To configure 2-way SSL you need to configure the acceptor as follows:
<acceptor name="netty-ssl-acceptor">tcp://localhost:5500?sslEnabled=true;needClientAuth=true;keyStorePath=server-side-keystore.jks;keyStorePassword=secureexample;trustStorePath=server-side-truststore.jks;trustStorePassword=secureexample</acceptor>
In the server-side URL, the server-side-keystore.jks
is the key store file holding the server's certificate. The server-side-truststore.jks
is the file holding the certificates which the broker trusts. Notice also the sslEnabled
and needClientAuth
parameters which enable SSL and require clients to present their own certificate respectively.
Here's the URL the client uses to connect over SSL:
tcp://localhost:5500?sslEnabled=true&trustStorePath=activemq/server0/client-side-truststore.jks&trustStorePassword=secureexample&keyStorePath=activemq/server0/client-side-keystore.jks&keyStorePassword=secureexample
In the client-side URL, the client-side-keystore.jks
is the key store file holding the client's certificate. The client-side-truststore.jks
is the file holding the certificates which the client trusts. The sslEnabled
parameter is present here as well just as it is on the server.
The various keystore files are generated using the following commands:
keytool -genkey -keystore server-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Server, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA
keytool -export -keystore server-side-keystore.jks -file server-side-cert.cer -storepass secureexample
keytool -import -keystore client-side-truststore.jks -file server-side-cert.cer -storepass secureexample -keypass secureexample -noprompt
keytool -genkey -keystore client-side-keystore.jks -storepass secureexample -keypass secureexample -dname "CN=ActiveMQ Artemis Client, OU=Artemis, O=ActiveMQ, L=AMQ, S=AMQ, C=AMQ" -keyalg RSA
keytool -export -keystore client-side-keystore.jks -file client-side-cert.cer -storepass secureexample
keytool -import -keystore server-side-truststore.jks -file client-side-cert.cer -storepass secureexample -keypass secureexample -noprompt


Mercury is widespread in the environment and originates from natural and anthropogenic sources. The general population may be exposed to three forms of mercury: elemental, inorganic, or organic (primarily methyl mercury). The concentration of total mercury in urine is a bio-measure of exposure primarily to elemental and inorganic mercury, although some mercury in urine comes from de-methylation of methyl mercury in blood (Abe et al., 1995). Elemental and inorganic mercury exposure can result from mercury spills, dental amalgams, and occupational exposures. Both elemental and inorganic mercury are nephrotoxic and neurotoxic. Health effects related to low exposure in the general population are not well defined. In 1999-2002 NHANES measured urine mercury levels in all women aged 16-49 years. Since 2003-2004, urine mercury levels have been measured in a one-third subsample of participants aged 6 years and older.
All examined participants aged 3 to 5 years were eligible and participants aged 6 years and older from a one-third subsample were eligible.
This method directly measures the mercury content of urine specimens using mass spectrometry after a simple dilution sample preparation step. Liquid samples are introduced into the mass spectrometer through the inductively coupled plasma (ICP) ionization source, reduced to small droplets in an argon aerosol via a nebulizer, and then the droplets enter the ICP. The ions first pass through a focusing region, followed by the dynamic reaction cell (DRC), the quadrupole mass filter, and finally are selectively counted in rapid sequence at the detector, allowing individual isotopes of an element to be determined.
Refer to the Laboratory Method Files section for a detailed description of the laboratory methods used.
There were no changes to the lab method, lab equipment, or lab site for this component in the 2015-2016 cycle.
Iodine and Mercury, Urine Lab Procedure Manual (June 2018)
Urine samples are processed, stored, and shipped to the Division of
Laboratory Sciences, National Center for Environmental Health, Centers for
Disease Control and Prevention, Atlanta, GA for analysis.
Detailed instructions on specimen collection and processing are discussed in the NHANES Laboratory Procedures Manual (LPM). Vials are stored under appropriate frozen (–30°C) conditions until they are shipped to the National Center for Environmental Health for testing.
The NHANES quality assurance and quality control (QA/QC) protocols meet the 1988 Clinical Laboratory Improvement Act mandates. Detailed QA/QC instructions are discussed in the NHANES LPM.
Mobile Examination Centers (MECs)
Laboratory team performance is monitored using several techniques. NCHS and contract consultants use a structured competency assessment evaluation during visits to evaluate both the quality of the laboratory work and the quality-control procedures. Each laboratory staff member is observed for equipment operation, specimen collection and preparation; testing procedures and constructive feedback are given to each staff member. Formal retraining sessions are conducted annually to ensure that required skill levels were maintained.
Analytical Laboratories
NHANES uses several methods to monitor the quality of the analyses performed
by the contract laboratories. In the MEC, these methods include performing blind
split samples collected on “dry run” sessions. In addition, contract
laboratories randomly perform repeat testing on 2% of all specimens.
NCHS developed and distributed a quality control protocol for all CDC and
contract laboratories, which outlined the use of Westgard rules (Westgard et
al., 1981) used when running NHANES specimens. Progress reports containing any
problems encountered during shipping or receipt of specimens, summary statistics
for each control pool, QC graphs, instrument calibration, reagents, and any
special considerations are submitted to NCHS quarterly. The reports are reviewed
for trends or shifts in the data. The laboratories are required to explain any
identified areas of concern.
All QC procedures recommended by the manufacturers were followed. Reported results for all assays meet the Division of Laboratory Sciences’ quality control and quality assurance performance criteria for accuracy and precision, similar to the Westgard rules (Caudill et al., 2008).
The data were reviewed. Incomplete data or improbable values were sent to the performing laboratory for confirmation.
Refer to the 2015-2016 Laboratory Data Overview for general information on NHANES laboratory data.
Subsample Weights
Urinary mercury was measured in a one third subsample of persons 6 years and older. Special sample weights are required to analyze these data properly. Specific sample weights for this subsample are included in this data file and should be used when analyzing these data.
Demographic and Other Related Variables
The analysis of NHANES laboratory data must be conducted using the appropriate survey design and basic demographic variables. The NHANES 2015-2016 Demographic Data File contains demographic data, health indicators, and other related information collected during the household interviews as well as the sample design variable. The recommended procedure for variance estimation requires use of stratum and PSU variables (SDMVSTRA and SDMVPSU, respectively) in the demographic data file.
Starting in the 2015-2016 NHANES cycle, the variable URXUCR (urine creatinine) will not be reported in this file. URXUCR can be found in the data file titled Albumin & Creatinine - Urine.
This laboratory data file can be linked to the other NHANES data files using the unique survey participant identifier SEQN.
Detection Limits
The detection limit was constant for the analyte in the data set. Two variables are provided for each of these analytes. The variable named ending in “LC” (ex., URDUHGLC) indicates whether the result was below the limit of detection: the value “0” means that the result was at or above the limit of detection, “1” indicates that the result was below the limit of detection. For analytes with analytic results below the lower limit of detection (ex., URDUHGLC=1), an imputed fill value was placed in the analyte results field. This value is the lower limit of detection divided by the square root of 2 (LLOD/sqrt [2]). The other variable prefixed URX (ex., URXUHG) provides the analytic result for the analyte.
The lower limit of detection (LLOD, in µg/L) for the urinary metals in the data set is:
| Variable Name | SAS Label | LLOD |
|---|---|---|
| URXUHG | Urinary mercury (ug/L) | 0.13 |
Please refer to the NHANES Analytic Guidelines and the on-line NHANES Tutorial for further details on the use of sample weights and other analytic issues.
| Code or Value | Value Description | Count | Cumulative | Skip to Item |
|---|---|---|---|---|
| 6552.119284 to<PHONE_NUMBER>8 | Range of Values | 3231 | 3231 | |
| 0 | Participants 6+ years with no lab specimen | 48 | 3279 | |
| . | Missing | 0 | 3279 |
| Code or Value | Value Description | Count | Cumulative | Skip to Item |
|---|---|---|---|---|
| 0.09 to 29.35 | Range of Values | 3080 | 3080 | |
| . | Missing | 199 | 3279 |
| Code or Value | Value Description | Count | Cumulative | Skip to Item |
|---|---|---|---|---|
| 0 | At or above the detection limit | 1282 | 1282 | |
| 1 | Below lower detection limit | 1798 | 3080 | |
| . | Missing | 199 | 3279 |


link Downloading jQuery
Compressed and uncompressed copies of jQuery files are available. The uncompressed file is best used during development or debugging; the compressed file saves bandwidth and improves performance in production.
You can also download a sourcemap file for use when debugging with a compressed file.
The map file is not required for users to run jQuery, it just improves the developer's debugger experience.
As of jQuery 1.11.0/2.1.0 the //# sourceMappingURL
comment is not included in the compressed file.
To locally download these files, right-click the link and select "Save as..." from the menu.
link jQuery
For help when upgrading jQuery, please see the upgrade guide most relevant to your version. We also recommend using the jQuery Migrate plugin.
Download the compressed, production jQuery 3.1.1
Download the uncompressed, development jQuery 3.1.1
Download the map file for jQuery 3.1.1
You can also use the slim version:
Download the compressed, production jQuery 3.1.1 slim build
Download the uncompressed, development jQuery 3.1.1 slim build
Download the map file for the jQuery 3.1.1 slim build
link Downloading jQuery using npm
jQuery is registered as a package on npm. You can install the latest version of jQuery with the command:
|
1
|
|
This will install jQuery in the node_modules
directory. Within node_modules/jquery/dist/
you will find an uncompressed release, a compressed release, and a map file.
link Downloading jQuery using Bower
jQuery is also registered as a package with Bower. You can install the latest version of jQuery with the command:
|
1
|
|
This will install jQuery to Bower's install directory, the default being bower_components
. Within bower_components/jquery/dist/
you will find an uncompressed release, a compressed release, and a map file.
The jQuery Bower package contains additional files besides the default distribution. In most cases you can ignore these files, however if you wish to download the default release on its own you can use Bower to install jQuery from one of the above urls instead of the registered package. For example, if you wish to install just the compressed jQuery file, you can install just that file with the following command:
|
1
|
|
link jQuery Migrate Plugin
We have created the jQuery Migrate plugin to simplify the transition from older versions of jQuery. The plugin restores deprecated features and behaviors so that older code will still run properly on newer versions of jQuery. Use the uncompressed development version to diagnose compatibility issues, it will generate warnings on the console that you can use to identify and fix problems. Use the compressed production version to simply fix compatibility issues without generating console warnings.
There are two versions of Migrate. The first will help you update your pre-1.9 jQuery code to jQuery 1.9 up to 3.0. You can get that version here:
Download the compressed, production jQuery Migrate 1.4.1
Download the uncompressed, development jQuery Migrate 1.4.1
The second version helps you update code to run on jQuery 3.0 or higher, once you have used Migrate 1.x and upgraded to jQuery 1.9 or higher:
Download the compressed, production jQuery Migrate 3.0.0
Download the uncompressed, development jQuery Migrate 3.0.0
link Cross-Browser Testing with jQuery
Be sure to test web pages that use jQuery in all the browsers you want to support. The Microsoft Developer Resources site makes available virtual machines for testing many different versions of Internet Explorer. Older versions of other browsers can be found at oldversion.com.
link jQuery Pre-Release Builds
The jQuery team is constantly working to improve the code. Each commit to the Github repo generates a work-in-progress version of the code that we update on the jQuery CDN. These versions are sometimes unstable and never suitable for production sites. We recommend they be used to determine whether a bug has already been fixed when reporting bugs against released versions, or to see if new bugs have been introduced.
Download the work-in-progress jQuery build
link Using jQuery with a CDN
CDNs can offer a performance benefit by hosting jQuery on servers spread across the globe. This also offers an advantage that if the visitor to your webpage has already downloaded a copy of jQuery from the same CDN, it won't have to be re-downloaded.
link jQuery's CDN provided by MaxCDN
The jQuery CDN supports Subresource Integrity (SRI) which allows the browser to verify that the files being delivered have not been modified. This specification is currently being implemented by browsers. Adding the new integrity attribute will ensure your application gains this security improvement as browsers support it.
To use the jQuery CDN, just reference the file in the script tag directly from the jQuery CDN domain. You can get the complete script tag, including Subresource Integrity attribute, by visiting https://code.jquery.com and clicking on the version of the file that you want to use. Copy and paste that tag into your HTML file.
Starting with jQuery 1.9, sourcemap files are available on the jQuery CDN. However, as of version 1.10.0/2.1.0 the compressed jQuery no longer includes the sourcemap comment in CDN copies because it requires the the uncompressed file and sourcemap file to be placed at the same location as the compressed file. If you are maintaining local copies and can control the locations all three files, you can add the sourcemap comment to the compressed file for easier debugging.
To see all available files and versions, visit https://code.jquery.com
link Other CDNs
The following CDNs also host compressed and uncompressed versions of jQuery releases. Starting with jQuery 1.9 they may also host sourcemap files; check the site's documentation.
Note that there may be delays between a jQuery release and its availability there. Please be patient, they receive the files at the same time the blog post is made public. Beta and release candidates are not hosted by these CDNs.
link About the Code
jQuery is provided under the MIT license.
The code is hosted and developed in the jQuery GitHub repository. If you've spotted some areas of code that could be improved, please feel free to discuss it on the Developing jQuery Core Forum. If you'd like to participate in developing jQuery, peruse our contributor site for more information.
To find and download plugins developed by jQuery contributors, please visit the Plugins site. Plugin authors are responsible for maintenance of their plugins. Feedback on plugins should be directed to the plugin author, not the jQuery team.
link Build from Git
Note: To just use the latest work-in-progress version of jQuery, please try the jQuery Pre-Release Build described above.
All source code is kept under Git revision control, which you can browse online. The repository's README has more information on building and testing your own jQuery, as well as instructions on creating a custom build that excludes some APIs to reduce file size.
If you have access to Git, you can connect to the repository here:
|
1
|
|
You can also check out and build a specific version of jQuery from GitHub:
|
1
2
|
|
The README file for a specific version will have instructions for building that version, as the process has changed over time.
link Past Releases
All past releases can be found on the jQuery CDN.


SMILLA'S SENSE OF SNOW (director: Bille August; screenwriter: Ann Biderman/from the novel by Peter Hoeg; cinematographer: Jorgen Persson; editor: Janius Billeskov; cast: Julia Ormond (Smilla Jaspersen), Gabriel Byrne (the Mechanic), Richard Harris (Tork), Robert Loggia (Moritz Johnson), Vanessa Redgrave (Elsa Lubing), Jim Broadbent (Lagermann), Tom Wilkinson (Professor Loyen), Clipper Miano (Isaiah), Emma Croft (Benja), Bob Peck (Ravn); Runtime: 121; Fox Searchlight Pictures; 1997)
Reviewed by Dennis Schwartz
There was a worm in the core of this turgid thriller that spoiled its taste. The moody production of Smilla's Sense of Snow is adapted from Peter Hoeg's best-seller. This is a film with so much unrealized potential, about the icy heroine of the story, the tough-minded half-American and half-Greenland Inuit, Smilla Jaspersen (Julia Ormond), who seemingly stepped into a hole in the ice before the film's finale and was ludicrously transformed from a captivating noir personality to a typical Hollywood action heroine.
Smilla's Sense of Snow presents a mysterious story relying on tense local atmosphere, enigmatic characters and twists in the plot, to spin its dark tale of a heroine looking to find her roots again. The Danish director, Bille August, who tries to be faithful to his fellow countryman's source material, presents a glossy and sleek looking film that inherits all the virtues and vices of the book, and comes up short in the end because it cannot overcome how utterly ludicrous the story becomes.
The film opens as a meteorite, in the Greenland of 1859, hits the ice and crushes everyone in the vicinity, including an Inuit fisherman, putting on a spectacular light show in the crushed ice, reminding me of the pyrotechnics one would see at a July 4th celebration. The film then switches to modern Coperhagen and the story involves the nefarious dealings of a the Greenland Mining Company, whose secret research, which turns out to be over parasitic worms coming to life from the fallen meteor, becomes the crux of the mystery. But the personal story is about Smilla being an Inuit living in a large modern city, using the boy's death as an excuse to find out who she really is.
Smilla is a troubled young lady, never fitting into living in Copenhagen, Denmark, where her father, an American doctor named Moritz (Loggia), brought her after her mother was killed in a kayak accident when she was six. She has remained detached from others in this claustrophobic urbane setting ever since leaving the spaciousness of Greenland, except she is drawn to a six year old deaf Inuit boy named Isaiah (Clipper Miano) who lives in the same apartment building with his alcoholic mother.
The mystery begins with Isaiah's puzzling death, which happens in the film's beginning. The boy falls off the rooftop of his apartment building and the only tracks on the snowy roof are his, as he heads straight for the ledge. But Smilla questions the police that his death is ruled accidental, as she notes the boy had a phobia about heights and would never go up to the roof to play alone. She also relies on her intuitions, as all her instincts tell her that Isaiah was murdered. As she investigates the boy's death, writing a letter to the district attorney to re-open the investigation and questions the medical doctor who did the autopsy, and then becomes convinced she is right after meeting with the mining company's secretary (Vanessa Redgrave), where she learns from her of a secret company archive in the basement. She even gets the unsolicited support of her nosy neighbor, who makes friends with her and even becomes her lover. He is called the Mechanic (Gabriel Byrne), someone whom she never quite trusts or knows what he does for a living, but finds him useful as she finds that she is onto a conspiracy, which puts her in danger and will eventually take her back to her roots in Greenland.
Her investigation uncovers that the neglected boy's father died in a mining explosion in Greenland, which resulted in the boy's recent arrival to Denmark, where he is being examined by the mining company's head doctor Professor Loyen (Tom Wilkinson), once every month, which strikes her as being very strange.
What should strike the audience as even stranger is how the film ends up in the same ice caves where the film opened up its story in the 19th century. The last 30 minutes of this, until now, seemingly plausible story, becomes unbelievable, as Smilla uses trickery to get herself on board the Russian ship Kronos to Greenland. Aboard, she further investigates the mystery of the boy's death by climbing inside a dumbwaiter taking her to where the mystery passengers on ship reside, where industrialist Andreas TÝrk (Richard Harris), who is like one one of those cartoonish James Bond movie villains, lusting for power, greed, and fame, is confronted by our heroine who seeks only justice. This is how one would do it in a formulaic Hollywood film, thereby putting a damper on the terrific mood the film had just set. It was sort of like going to dinner and getting a whiff of some sensual aromas and looking at some appetizing food on display, but when getting down to the heart of the meal with great anticipation, suddenly discovering the meal is just not edible. If you can be satisfied with just the atmosphere and not the story or any character being developed adequately, then you might feel adequately nourished by what you saw. I wasn't. I was just swept away by the moody setting, the fine stoic performance by Ormond, and the potential for intrigue -- which, unfortunately, never materialized as it could have.
REVIEWED ON 10/17/2000 GRADE: C
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


# Changelog ## [Unreleased] - Account system with a via login. - Mobile imrpovements. ## [0.1.8] - Improved site loading time. - Added partner list. ## [<IP_ADDRESS>] - Minor error fixes. - Renamed the website to "trapmadness.glitch.me/" ## [0.1.7] - Minor Ui improvements. - Removed cookies from site (because it is causing problems in the Back-End of the site). - Added partners list. - New layout for navbar. - Added blog to the site. - Minor bug/error fixes. ## [Easter Update] - Minor Ui improvements. - Added manifest.json to website. - Added cookies to the site. PS: Happy Easter to eveyone! ## [0.1.4] - Added notifications system. - Resized icon to fit anywhere. - Links now open in a new tab. ## [0.1.3] - Many bug/error fixes. - Title of the last video, leads to a link. - Added Germany gif Flag. ## [0.1.2] - Minor Ui imrpovements. - New icon for scroll back to the top. - Minor bug fixes (on mac, scroll to the top now works). ## [0.1.0] - Released beta version of site.


+++ type = "article" title = "Icon Guidelines" date = "2009-09-11T07:02:59.000Z" tags = [] +++
This document explains the artistic subtleties of Haiku icons. If it leaves something unclear to you, that is, what rules to follow when designing an icon for the Haiku operating system, please bring the issue to our attention. Existing icons should give you a pretty good idea what directions to follow. This document is meant to define the distinctive look in further detail and to be a useful resource in case of doubt. Also, this document will hopefully provide you with help on what you should change if you have designed an icon and feel it doesn't seamlessly fit in with the rest of the system.
Please be aware that Haiku users feel very strongly about a consistent look. The more you make your icon fit into the rest of the system, the more it is appreciated by your users.
Haiku icons inherit the perspective of the BeOS icons and add some of their own. If a cube were sitting on the floor, the angles of its edges would be defined as follows: the line where the left front side and the floor meet would have an angle such that for every two pixels it goes to the right, it goes one pixel down, and the line of the right side meeting the floor goes one pixel up for every pixel going right. Vertical lines are straight without any angle to help make the icons crisper (realistically, icons should be wider at the top but they aren't). The change in perspective that Haiku icons add to the original BeOS look comes from changing non-vertical lines that do not touch the floor to add a somewhat more dramatic perspective. Edges coming from the corners closest to the viewer and on the floor still follow the isometric BeOS perspective with the angles described above, all other edges are slightly tweaked to break free of the strict isometric look. The most important thing is still crispness, that's why there is no strictly defined perspective. Don't exaggerate too much -- try to make it fit with the rest of the icons. It is sometimes easiest to first design an icon with an isometric look and modify for perspective as the last step of work. Keeping the perspective consistent and correct-looking throughout the icon is also desirable.
There are two light sources illuminating a Haiku icon. The main light source casts a bright neutral light from the top left. A second light source shines from the opposite side with an ambient light that can be slightly colored (for example, a warmer tone). Its effects are not seen on surfaces the main light source directly shines upon.
Gradients used on the icon should result from the effects of the lightsources as described above. You do not need to use gradients on every surface -- they obviously use more storage space than solid colors, but without gradients, icons would look too stiff. You should use enough of them to give your icon a modern look.
As a general rule, surfaces facing towards the viewer should be lighter at the top and the top surfaces should be lighter on the left side. Surfaces on the right which are not directly lit by the main light source should get the darkest colors. They are lit from the ambient lightsource and from the reflection of the floor, but the effects should be very subtle and only seen on closer examination. These surfaces get the darkest colors where they touch the directly lit surfaces. Overall, colors should be bright and tweaked to help the contrast within the icon. Gradient directions don't have to line up with a specific angle to make icons look less stiff. Instead, you should tweak the gradient directions to help improve contrast.
Colors are obviously a tough subject.
At the moment, there is no color palette defined from which you should pick the dominant colors of your icon. This Haiku Color Palette does give some examples for inspiration though.
In the existing icons, clean colors are almost completely avoided, with the exception of grays, which are not toned in any way. Most dominant colors appear quite saturated somewhere in the icon, but the colors are always a mixture, never pure red, green, or blue. Where they fade into a lighter tone, they are mostly desaturated and pastel-like. In the shade, the colors are mostly still saturated, aiming for believable lighting, but colors can vary in tone to give the appearance of a warmer or colder light condition in the shadow, which mostly depends on the overall coloring of the icon and gut feeling.
First of all, a shadow is the projection of a body's silhouette as seen from the light source. Cast onto the flat floor, the shadow is subject to further distortion because of the viewer's perspective.
Self-shadowing on the icon objects is encouraged, because it can improve contrast. Sometimes gradients work well for these. A naturalistic shadow is preferable unless it gets too complicated and would distract from the main icon. The people icon is one example for a simplified shadow shape. Avoid making shadows that are cut off at the right edge of the icon by leaving enough room for them. It is not so important that the shadows have approximately the same length throughout all icons, but they all need to be the same direction: straight to the right. Just like shadows created by the sun, they also do not become wider with more distance from the object.
Each of the four icons shown above has something interesting to be said about their shadows:
Haiku icons use a main black outline at least around the silhouette of the icon's shape. The outline is 1 pixel wide at 32x32 size. While outlines can separate shapes within the icon if they overlap each other, use them sparingly. If every edge gets one, the icon will look too complicated. Compared to those from BeOS, Haiku icons use fewer outlines. The Magnify icon is a good example of this. Outlines help emphasize the silhouette of an object, so skip outlines that would work against this idea. If a certain feature of an icon should not have as much emphasis as much as a black outline would give, such outlines can be darker versions of the color used for the surface they enclose. Examples of this would be the Folder and the Workspaces icons. In the Workspaces icon, the foot of the lamp is too small to justify a black outline; in the Folder icon, the paper sheets should appear thin.
Highlights |
|
Glossy effects and highlights should be used with care. If applied too often, an icon will lose it's simplified, stylish look. Some icons use highlight effects on metallic or glass surfaces, but usually only if the surface is curved (round or spherical). In these cases, the material itself supports the meaning of the icon in an important way. The use of gradients should usually provide enough room to make an icon look vivid.
Overlays
Some of the system icons use overlays to further differentiate between file system objects for the user's benefit. These objects are generally the same type and get the same base icon. A good example are the many standard folders. Since the overlays need to be reasonably clear at 16x16 icon size, they need to be flat symbols, much like labels. 3D objects are too blurry at such a small size. If you look closely, you will probably notice that overlays don't have exactly the same size or even position with all icons that use them. Instead, they are arranged to overlap in such a way that lines with similar angles don't merge. Another good use of overlays is where they immediately provide some additional information, perhaps about a particular subtype of a file format. If it is possible to implement the overlay with an object rather than a text label, please do so. |
|
Usually, you should avoid any detail not strictly necessary to help the meaning of an icon. There should be just enough detail to make the icon look interesting. Icons are usually viewed at 32x32 or 16x16 size. With regards to the amount of detail, you should optimize for the 32x32 size. There should not be any detail that is not well seen at this size. When reusing existing vector material in an icon, make sure its details are reduced to what can actually be seen at the icon size, otherwise the icon will waste a lot of storage space and rendering time. Sometimes it is helpful to make some details of the icon disappear at the small sizes, with the help of the Min and Max LOD property in Icon-O-Matic.
Your work will likely be seen and used by people from all sorts of cultural and ethnic backgrounds. In order to avoid any stereotypes that could be potentially offensive to others, as a general rule, all Haiku icons are designed to be culturally and ethnically neutral. We encourage icon designers to follow this guideline whenever creating icons for Haiku.


POP QUEST
A lightweight tool for Interactive Educational Videos
When amplicons are produced, what is released?
Fluorescent marker
Fluorescent quencher
Both
None of the above
An amplicon is a strand of DNA or RNA that has been:
Naturally amplified
Artificially amplified
Naturally replicated
Artificially replicated
All of the above
If the number of copies of targeted DNA samples is 1,024 or more, fluorescent energy can be determined in how many fewer rounds of PCR in a thermocycler equipped with a fluorometer?
5
10
32
40
The amount of specific DNA in a clinical sample is determined by a reference to the round of polymerase chain reaction (PCR) in which the amount of fluorescence first crosses the threshold of detection.
True
False
The Real-Time Polymerase Chain Reaction is used to quantify the burden of viruses in the blood of patients with viruses, e.g. hepatitis B, HIV.
True
False
The HIV virus contains DNA only (no RNA)
True
False


Open 6am to 8pm
7 Days A Week!
Best Cookies In Town!
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when
Reviews
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
- Some Person
Locations
-
1st And Pike
3000 Pike Dr. Los Angeles, California, 58201
-
SeaTac Airport
373 SeaTac Ave, Seattle, Washington, 28821
-
Seattle Center
9931 Parkland Dr. Seattle, Washington, 28840
-
Capitol Hill
4444 Capitol Rd. Iowa City, Iowa, 52241
-
Alki
100 Alki St. Houston, Texas, 64443
Grab Some Gear
Fish T-Shirt - $25.00


Patterns
12 Jan 2016As a designer, I love patterns. From nature to technology, they make the world go ‘round. UX Design teams collect patterns in different forms, from style guides to design wikis to sticker sheets, they all aim to unify the work of a group of people. To be productive as a team, we need a cohesive direction, and the pattern library is our attempt. Its a place where anyone on the team can see what our established patterns are and use them as a springboard for their project.
The benefit of a well kept pattern library is clear, we all save time and stay coordinated across our various projects. It helps us avoid re-designing a checkbox ten times. Less details to worry about means more design time/effort goes toward the project goals.
So this is a great system in theory, but people are messy. The artist/maker brain of the designer steers them to create uniqueness, leaving the baggage of old patterns behind. Meanwhile the analytical brain of the designer craves order and predictability that established and tested patterns provide. Then you have opinions from Product and Engineering stakeholders. Keeping peace between these frenemies is where design teams struggle. Is something new immediately a pattern? When is a pattern adapted and when is it replaced? Not so clear cut is it? This is a design problem wrapped in a design problem. My head may explode.
I’ve become the patterns guy on our design team so I’ve been thinking about this topic, maybe too much. It’s nice to have one person dedicated to pattern maintenance, but it’s also everyone’s responsibility to contribute. There is benefit when one person has the accountability, but anyone who crafts a mockup is utilizing or evolving a pattern. Each designer should pay it forward by adding their work to our pattern library. The more contributors we have, the more accurate and useful of a tool it will become for the team.
So yea, patterns play a vital role in design team organization. Be kind, help manage your team’s patterns.


--- layout: page title: subtitle: Empowering the world through data use-site-title: true cover-img: "/img/data5.jpg" ---
Hi! I’m Praneeth Munuganti, a Data Enthusiast with 5+ years of experience in Finance, Automotive, and Healthcare Industries empowering business leaders take data driven decisions. I created this website to consolidate all my sites, blogs, skills, and thoughts.
In a world filled with massive information, the need to be a data expert has never been more appealing. My goal is to be the best out there. I'd love to have a conversation to understand your Organization's biggest data challenge and discuss through how I could help you. Know more about me here.
You can find some of the projects I have worked on below:
I would love to connect and have a conversation, find me here:


--- layout: post title: Introduction to Web Application Series tagline: Exploring web app development tools excerpt: An introduction to the series of articles on developing a data exploration web app categories: r clojure d3 ---
I've been thinking about how to build web applications that allow someone to do some data exploration interactively with some really nice visualizations. There are all kinds of choices such as Shiny for R and generic tools like AngularJS, D3.js, etc for general use. Of course there are also tools such as Tableau that provide their own interface. I'll probably try out Tableau public as well.
Those of you that know me are well aware that I don't build web front ends, so all of this is pretty foreign to me. So in an attempt to learn about the possibilities and get a chance to play with two of my favorite tools, R and Clojure, I'm going to try to build a web app.
Right now my plan is to try using the following tools in different ways:
As you can see I don't really know what I don't know at this point. The one I'm most familiar with is R/Shiny so that's what I'll be starting with.
I'm going to use the data from Project Tycho at University of Pittsburgh. I'll be using the Level 2 data. The data consists of counts of 47 contagious diseases at the city and state level for the period 1888-2013. This seems like an interesting data set that shouldn't be too difficult to work with.
I'll use the first implementation in Shiny to explore what kind of visualizations and interactivity makes sense for this dataset. After that I'll attempt to implement the same thing using Clojure and some standard web app tools. From there I'll move on to things like d3.js and AngularJS.
So, keep an eye out here over the next few weeks as I explore how to build interactive web apps for data exploration and visualization. If you'd like to follow along with the code I'll be posting it up to my Github repository web-app-explore.


| Int |
delay
Interval delay in milliseconds, defaults to fastest possible.
|
| Int |
fps
Base frame rate (frames per second).
|
Class YAHOO.util.AnimMgr
Object | +--YAHOO.util.AnimMgr
class
YAHOO.util.AnimMgr
Quick Links:
Field Summary
|
Constructor Summary
|
Method Summary |
Field Details
|
Constructor Details
|
Method Details
Method Summary [top]
| Object |
registerElement
(<object> tween)
Adds an animation instance to the animation queue.
|
| void |
run
()
Called per Interval to handle each animation frame.
|
| void |
start
()
Starts the animation thread.
|
| void |
stop
(<object> tween)
Stops the animation thread or a specific animation instance.
|
Constructor Detail [top]
YAHOO.util.AnimMgr
YAHOO.util.AnimMgr
Method Detail [top]
registerElement
Object
registerElement
(<object> tween)
Adds an animation instance to the animation queue.
All animation instances must be registered in order to animate.
- Parameters:
-
tween
- The Anim instance to be be registered
run
void
run
()
Called per Interval to handle each animation frame.
start
void
start
()
Starts the animation thread.
Only one thread can run at a time.
stop
void
stop
(<object> tween)
Stops the animation thread or a specific animation instance.
- Parameters:
-
tween
- A specific Anim instance to stop (optional) If no instance given, Manager stops thread and all animations.


When provisioning the EMS Appliance as a replacement for one or more EMS servers, much of the existing configuration details will need to be migrated. The configuration types that will typically need to be migrated are:
The EMS Appliance uses the JSON configuration style, the "Server JSON Editor" may be used to migrate existing configuration from a running EMS server to JSON format on the EMS Appliance.
To edit a server's JSON configuration select "Edit Server JSON Config..." from the Server menu.
Using the Server JSON Configuration EditorA pair of fault tolerant EMS Appliances includes two primary EMS instances, each primary instance should be configured separately. Each primary instance has a backup instance on it's pair, the primary and secondary share the same JSON configuration file. Note, it is not required to apply changes to the secondary instance, any changes will be replicated to the secondary automatically by the appliance.
For some configuration changes, it is necessary for the server to be restarted for the applied changes to take effect. To restart the EMS instance it is necessary to log on to the EMS Appliance CLI using the tibadm SSH user and issue the "services <instance> restart" command. Note; if the EMS instance fails to start due to a configuration error, it will be necessary to copy a valid backup JSON configuration to the appliance using the tibfile SFTP user, then import the copied configuration using the CLI before restarting. See EMS Appliance Installation Guide for details using the CLI commands.
Some EMS Appliance server properties are preconfigured and should not be changed. The JSON properties listed below are reserved and should not be changed unless instructed to do so by Tibco Support.
| EMS Appliance Reserved JSON Properties: |
| tibemsd.max_msg_memory |
| tibemsd.processor_ids |
| tibemsd.msg_swapping |
| tibemsd.ft_heartbeat |
| tibemsd.ft_activation |
| tibemsd.logfile |
| tibemsd.multicast |
| tibemsd.tibrv_transports |
| tibemsd.tibss_transports |
| tibemsd.jre_library |
| tibemsd.jre_options |
| tibemsd.primary_listens[0].* |
| tibemsd.secondary_listens[0].* |
| stores[$meta.db].* |
| stores[$sys.nonfailsafe].* |
| stores[$sys.failsafe].* |
This feature will allow the EMS server and its clients to detect network connection failures quickly. When these parameters are absent this feature is disabled, and connections will only close upon the operating system notification, which can in some cases can take 15 minutes, or more, depending on what the operating system's TCP keep alive is set to. These four parameters must all be set, if not, EMS will report an error on startup.
These parameters should be configured for both EMS Appliance server instances. Values are specified in seconds, refer to the EMS User's Guide for more information.
Some example JSON parameters are shown below:
"tibemsd":{
...
"client_heartbeat_server":10,
"client_timeout_server_connection":35,
"server_heartbeat_client":10,
"server_timeout_client_connection":30,
...
},
Use the JSON Config Editor to set these heartbeat parameters; e.g. select "Set client_heartbeat_server..." from the "Set Property" menu.
The EMS Appliance pre-configures several data stores. In addition to the traditional "sys.meta, $sys.failsafe, $sys.unfailsafe stores the Standard Edition also creates three HDD stores for application use, whilst the High Performance Edition has three fusion stores (SSD) and one HDD store.
Ensure you do not change the standard $sys stores, the additional HDD and fusion stores are all set to sync mode for synchronous I/O, if asynchronous is required the mode may be changed to "async".
Additional stores may be created using the JSON Config Editor; select "New File Store..." from the Create menu. Note the following:
Consider the following when migrating several EMS servers to a single FT pair of EMS Appliances.
Firstly, a pair of FT appliances has two primary EMS instances. Ensure to distribute applications evenly fully utilising both instances.
Secondly, follow these guidelines to host several applications and provide segregation within the same EMS instance:
Use the JSON Config Editor to add any additional TCP listen ports; select "New Listen Port..." from the Create menu.
The JSON extract below shows example primary_listens and secondary_listens configuration with an additional listen port on 7223.
"tibemsd":{
...
"primary_listens": [{
"ft_active": true,
"url": "tcp://ems-A-cross.local:7222"
},
{
"url": "tcp://ems-A.local:7222"
},
{
"url": "tcp://ems-A.local:7223"
}],
"secondary_listens": [{
"ft_active": true,
"url": "tcp://ems-B-cross.local:7222"
},
{
"url": "tcp://ems-B.local:7222"
},
{
"url": "tcp://ems-B.local:7223"
}],
...
},
Note; when adding additional ports ensure not to use ports that are used by the appliance pair's other instance, otherwise in the failover case, when both instances are running on the same appliance, there will be a port clash and the EMS instance will fail to start.
It is not possible to directly copy datastore files on to the appliance, if it is necessary to migrate pending queue messages to the appliance use the message copier dialog; select "Copy All Messages.." from the Queues menu.


Previous
Up
Module
Hstring.HMap
module
HMap:
Map.S
with type key = t
Maps indexed by hash-consed strings