I feel the market is changing, yet again. Recruitment advertising goes back and forth, and you can track the potted history of recruitment advertising through my various blogs over recent months and years. This blog is actually an alternative view from what I’ve previously written about. It’s more a debate rather than a definitive view. I […]
Continue reading on our blogWhen no one is ready for the Christmas jumper photo so you look like a weirdo on your own #ChristmasJumperDay… twitter.com/i/web/status/80944…
First Christmas challenge at Wave completed! Guess how many ornaments are on the Christmas tree #ChristmasAtWork #AgencyLife
The numbers vary depending on who you talk to, but one of the latest numbers I read was that we are exposed to something like 10,000 adverts each and every day. The number of those that actually influence us is up for discussion, but its fair to say that they often go unnoticed, unless we […]
Continue reading on our blog


--- layout: page title: "The \"create-form\" and \"edit-form\" Link Relations" description: "RFC 5988 standardized a means of indicating the relationships between resources on the Web. This specification defines link relation types that may be used to express the relationships between a resource and an input form for constructing data submissions." ---
| Document Name: | RFC 6861 |
|---|---|
| Document URI: |
urn:ietf:rfc:6861
|
| Online Version: |
https://datatracker.ietf.org/doc/html/rfc6861
|
| Organization: | Internet Engineering Task Force (IETF) |
| Series: | Request for Comments (RFC) |
| Abstract: | RFC 5988 standardized a means of indicating the relationships between resources on the Web. This specification defines link relation types that may be used to express the relationships between a resource and an input form for constructing data submissions. |
create-form
,
edit-form
Return to ( Series | Organization | all Specifications )


Home
About Us
Projects
Process
Tools
Contact
{{appname}}
DESIGN
We are an
independent learning lab
based in {{location}}.
PROFESSIONAL
FRIENDLY
SUITABLE
Contrary to popular belief,
{{appname}}
is not simply an API
This is what
we do best
Visualize
Data
Various visualization methods to analyze and find the meaningful data
Build
MLModels
Build simple and efficient machine learning models
Mobile
Apps
Make it visible to all audience using user friendly apps
Development
Development pipeline is organized and provisionable
See us
at work
There are many variations of API's already available, but this is an experimentational development framework
Listening to
your needs
It is a long established fact that a good API is build by a healthy readers, users, analysts.
Project
discovery
To learn the fundamentals of APIs and further in expansion to production ready apps
Storming
our brains
Emphasis on brainstorming ideas and implementing
Getting
there
Finalizing the solution and make it open for alpha beta UX
Delivering
the product
Releasing to production and maintinance using CI pipelines
Tools
we're using
Vue.JS is the simplest web framework for web development
The standard chunk of Machine learning models are produced using Keras.API
Leave us a
message
You can find us literally anywhere, just push a button and we’re there
{{phone}}
{{email}}
{{location}}
facebook/{{fbusername}}
@{{twitterusername}}
Your Name
Your Email
Subject
Your Message
Your message has been sent. Thank you!
Send Message
© Copyrights
{{appname}}
. All Rights Reserved


#include <EdgeSensor.h>
◆ ADCChan
| uint16_t QTRsensor::ADCChan |
◆ ChxResult
| uint16_t QTRsensor::ChxResult |
◆ ChxStart
| uint8_t QTRsensor::ChxStart |
◆ CtrlA
| uint16_t QTRsensor::CtrlA |
◆ CtrlB
| uint16_t QTRsensor::CtrlB |
◆ CtrlPinBM
| uint8_t QTRsensor::CtrlPinBM |
◆ CtrlPort
| uint16_t QTRsensor::CtrlPort |
◆ IntFlags
| uint16_t QTRsensor::IntFlags |
◆ MuxCtrl
| uint16_t QTRsensor::MuxCtrl |
◆ MuxPos
| uint8_t QTRsensor::MuxPos |
◆ OutPinBM
| uint8_t QTRsensor::OutPinBM |
◆ OutPort
| uint16_t QTRsensor::OutPort |
The documentation for this struct was generated from the following file:


Home
Service
Web Design
Web Development
SEO
More Services
Content Creation
Social Media Maker
My account
Settings
Update Profile
Billing
Sign out


Contains datasets and several smaller functions suitable for analysis of interval-censored data. The package complements the book Bogaerts, Komárek and Lesaffre (2017). "Survival Analysis with Interval-Censored Data: A Practical Approach." ISBN 978-1-4200-7747-6, published by Chapman and Hall/CRC. Full R code related to the examples presented in the book can be found at <https://ibiostat.be/online-resources/icbook/supplemental>. Packages mentioned in the "Suggests" section are used in those examples.
| Version: | 1.1 |
| Depends: | R (≥ 3.0.0), survival, MASS, Icens |
| Imports: | TeachingDemos, mvtnorm, smoothSurv, gtools |
| Suggests: | interval, logspline, mixAK, bayesSurv, DPpackage, FHtest, glrt, icenReg, frailtypack, MIICD, MLEcens, cubature, runjags, coda, ICBayes, dynsurv |
| Published: | 2017-11-15 |
| Author: | Arnošt Komárek, Kris Bogaerts, Emmanuel Lesaffre |
| Maintainer: | Arnošt Komárek <arnost.komarek at mff.cuni.cz> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | https://ibiostat.be/online-resources/icbook/supplemental |
| NeedsCompilation: | no |
| Citation: | icensBKL citation info |
| CRAN checks: | icensBKL results |
| Reference manual: | icensBKL.pdf |
| Package source: | icensBKL_1.1.tar.gz |
| Windows binaries: | r-devel: icensBKL_1.1.zip, r-release: icensBKL_1.1.zip, r-oldrel: icensBKL_1.1.zip |
| OS X binaries: | r-release: icensBKL_1.1.tgz, r-oldrel: icensBKL_1.1.tgz |
Please use the canonical form https://CRAN.R-project.org/package=icensBKL to link to this page.


|||
SISAR
MENU
Dashboard
Mailbox
Inbox
Email view
Compose email
Graphs
Flot charts
Morris.js
Chart.js
Chartist
Sparkline
Forms
Basic form
Advanced form
Wizard form
File upload
Text editor
Inline edit
Other Pages
Lockscreen
Login
Register
404 Page
Empty page
gallery
Price tables
Contact Page
E-commerce
orders
order View
Products
UI Elements
Typography
Icons
Buttons
Video
Panels
Tabs
Alert e notifications
Grid options
Tables
Static Tables
Data Tables
Users
profile
User list
maps
Google maps
Vector Maps
Blog
Blog list
Blog post
Calendar
Menu Levels
Third Level
Third Level Item
Second Level Item
Meus Dados
Alterar Senha
Sair


"The real danger is not that computers will begin to think like men, but that men will begin to think like computers."
At present we fix Software issues only
Microsoft Office, Adobe Acrobat Reader, VLC Player, Google Chrome, WinZip, Adobe flash player, etc.
Windows 7/8/8.1/10
Windows 7/8/8.1/10 Password Recovery
Dual boot Linux OS alongside Windows.
A Picture is worth a thousand Words.
“About 90% of the World’s Currency Only Exists on Computers”
About 70% of Virus Engineers Work for Organized Crime Syndicates
Hackers Write About 6,000 New Viruses Each Month
The original name of windows was Interface Manager.
Apple has a “smoking” ban on their computers, meaning if you smoke while using any Apple computer, the warranty becomes void.
There are only 21 million Bitcoins that can be mined in total.You’d think as it’s a digital currency, the amount of bitcoins available would be unlimited.
For More Info


All resources found in the registry, can be searched through this interface. Search could be refined by optionally providing, resource name, created date range, updated date range, tags,comments, association type, association destination, property name, property value and the content. To search for matches containing a specific pattern use the % symbol. The pattern matching can be used with the following fields "Resource name", "created by", "updated by" and "property value". Also the search supports the use of part of the user name in the "created by" and "updated by" fields. And also for the fields like Created data range,Updated range,Created user and Updated user the negation option is provided in order to search other than the provided criteria.
To enter more than one term in tags, use comma (",") as the separator. To enter more than one term in keywords, use space (" ") as the separator.
Figure 1: Search Interface
Created or Updated dates can be either entered in the format of MM/DD/YYYY or used the date picker user interface provided.
Figure 2: Date picker user interface
The custom search provides the user with the ability to customize the search interface for a given media type. The search parameters for a given media type is configured by a user with admin privileges by creating a resource with the name of the media type (for application/wsdl+xml the resource name should be application-wsdl-xml) and declaring the parameters as properties. The search parameter name is given as the property name and the property value describes whether this parameter should be included in the custom search.
Figure 3: Custom search configuration
Search criteria can be saved as a filter using the interface shown in Figure 5.
Figure 5: Save search filter user interface
A saved search filter can be loaded by selecting the filter name in the drop-down list shown in Figure 6. Upon loading a search filter, search form fields are populated with previously saved values.
Figure 6: Save search filter user interface
In the search result page the user is able to generate a report which will include search results.The user is able to create reports in PDF,HTML or Excel.
Figure 7: Reporting options


| AutoDiff |
|
| BinaryBlockInputFormat |
Custom binary block input format to return the custom record reader.
|
| BinaryBlockRecordReader |
Custom record reader for binary block.
|
| ByteBufferDataInput |
|
| CollectionUtils |
|
| CommonThreadPool |
This common thread pool provides an abstraction to obtain a shared
thread pool, specifically the ForkJoinPool.commonPool, for all requests
of the maximum degree of parallelism.
|
| DataConverter |
This class provides methods to read and write matrix blocks from to HDFS using different data formats.
|
| DependencyTask<E> |
|
| DependencyThreadPool |
|
| DependencyWrapperTask<E> |
|
| DMVUtils |
|
| DnnUtils |
|
| EMAUtils |
|
| FastBufferedDataInputStream |
|
| FastBufferedDataOutputStream |
This buffered output stream is essentially a merged version of
BufferedOutputStream and DataOutputStream, wrt SystemDS requirements.
|
| FastStringTokenizer |
This string tokenizer is essentially a simplified StringTokenizer.
|
| HDFSTool |
|
| IndexRange |
|
| InputStreamInputFormat |
Custom input format and record reader to redirect common implementation of csv read
over record readers (which are required for the parallel readers) to an input stream.
|
| LocalFileUtils |
|
| LongLongDoubleHashMap |
This native long long - double hashmap is specifically designed for
ctable operations which only require addvalue - extract semantics.
|
| LongLongDoubleHashMap.ADoubleEntry |
|
| NormalPRNGenerator |
Class that can generate a stream of random numbers from standard
normal distribution N(0,1).
|
| PoissonPRNGenerator |
Class that can generate a stream of random numbers from Poisson
distribution with specified mean.
|
| PorterStemmer |
Stemmer, implementing the Porter Stemming Algorithm
The Stemmer class transforms a word into its root form.
|
| PRNGenerator |
|
| ProgramConverter |
Program converter functionalities for
(1) creating deep copies of program blocks, instructions, function program blocks, and
(2) serializing and parsing of programs, program blocks, functions program blocks.
|
| Py4jConverterUtils |
Utils for converting python data to java.
|
| RandNPair |
Class that generates a pair of random numbers from standard normal
distribution N(0,1).
|
| SortUtils |
Utilities for sorting, primarily used for SparseRows.
|
| UniformPRNGenerator |
|
| UtilFunctions |
|


The Mullaperiyar Dam
History
The unique idea of harnessing the westward flowing water of the Periyar river and diverting it to the eastward flowing Vaigai river was first explored in 1789 by Pradani Muthirulappa Pillai, a minister of the Ramnad king Muthuramalinga Sethupathy, who gave it up as he found it to be expensive. The location of the dam had first been scouted by Captain J. L. Caldwell, Madras Engineers (abbreviated as M.E.) in 1808 to reconnoitre the feasibility of providing water from the Periyar river to Madurai by a tunnel through the mountains. Caldwell discovered that the excavation needed would be in excess of 100 feet in depth and the project was abandoned with the comment in his report as "decidedly chimerical and unworthy of any further regard".
The first attempt at damming the Periyaar with an earthen dam in 1850 was given up due to demands for higher wages by the labour citing unhealthy living conditions.The proposal was resubmitted a number of times and in 1862, Captain J. G. Ryves, M.E., carried out a study and submitted proposals in 1867 for another earthwork dam, 62 feet high. The matter was debated by the Madras Government and the matter further delayed by the terrible famine of 1876-77. Finally, in 1882, the construction of the dam was approved and Major John Pennycuick, M.E., placed in charge to prepare a revised project and estimate which was approved in 1884 by his superiors.


Class SpiderGL.UserInterface.CanvasHandler
The SpiderGL.UserInterface.CanvasHandler is an event handler used to implement an easy controller for WebGL canvas. It should not be directly used.
- Defined in: ui.js
- Extends SpiderGL.Core.ObjectBase
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
SpiderGL.UserInterface.CanvasHandler(gl, handler, options)
Creates a SpiderGL.UserInterface.CanvasHandler.
|
| Field Attributes | Field Name and Description |
|---|---|
| <readonly> |
Gets the elapsed time, in milliseconds, between the last and the current onAnimate event.
|
| <readonly> |
Gets the time, in seconds, of the last onAnimate event.
|
|
Gets/Sets the frequency (calls per second) used to emit the onAnimate event.
|
|
| <readonly> |
Gets the time, in seconds, of the current onAnimate event.
|
| <readonly> |
Gets the associated canvas.
|
|
Gets the difference between the current and the previous cursor x position, relative to the canvas lower left corner.
|
|
|
Gets the difference between the current and the previous cursor y position, relative to the canvas lower left corner.
|
|
|
Gets the previous cursor x position, relative to the canvas lower left corner.
|
|
|
Gets the previous cursor y position, relative to the canvas lower left corner.
|
|
|
Gets the cursor x position, relative to the canvas lower left corner.
|
|
|
Gets the cursor y position, relative to the canvas lower left corner.
|
|
| <static> |
SpiderGL.UserInterface.CanvasHandler.DEFAULT_ANIMATE_RATE
Default value for animate rate.
|
| <static> |
SpiderGL.UserInterface.CanvasHandler.DEFAULT_IGNORE_KEY_REPEAT
Default value for ignoring key repeats.
|
| <static> |
SpiderGL.UserInterface.CanvasHandler.DEFAULT_PROPERTY_NAME
Default name of the property to install in the handler object for accessing the canvas handler.
|
| <static> |
SpiderGL.UserInterface.CanvasHandler.DEFAULT_STANDARD_GL_UNPACK
Default value for applying standard OpenGL pixel unpack parameters.
|
| <readonly> |
Gets the number of draw events occurred in the last second.
|
| <readonly> |
Gets the canvas hijacked WebGLRenderingContext.
|
| <readonly> |
Gets the height of the associated canvas.
|
|
Gets/Sets if the key repeat must be ignored.
|
|
| <readonly> |
Gets a function that, once called, sends a draw event, which once handled will call the onDraw method of the registered handler.
|
| <readonly> |
Gets the width of the associated canvas.
|
- Fields borrowed from class SpiderGL.Core.ObjectBase:
- uid
Method Summary
| Method Attributes | Method Name and Description |
|---|---|
|
dragDeltaX(btn)
If dragging is ongoing, gets the difference between the current cursor x position and the cursor x position at dragging start.
|
|
|
dragDeltaY(btn)
If dragging is ongoing, gets the difference between the current cursor y position and the cursor x position at dragging start.
|
|
|
dragEndX(btn)
Gets the cursor x position when dragging has finished.
|
|
|
dragEndY(btn)
Gets the cursor y position when dragging has finished.
|
|
|
dragStartX(btn)
Gets the cursor x position when dragging has started.
|
|
|
dragStartY(btn)
Gets the cursor y position when dragging has started.
|
|
|
draw()
Calls immediately the onDraw event handler.
|
|
|
isDragging(btn)
Tests if a dragging (mouse move + mouse button down) operation is active.
|
|
|
isKeyDown(key)
Tests if a key is pressed.
|
|
|
isMouseButtonDown(btn)
Tests if a mouse button is pressed.
|
Class Detail
SpiderGL.UserInterface.CanvasHandler(gl, handler, options)
Creates a SpiderGL.UserInterface.CanvasHandler.
SpiderGL.UserInterface.CanvasHandler is an event handler used to implement an easy controller for WebGL canvas.
It should not be directly used. Use SpiderGL.UserInterface.handleCanvas or SpiderGL.UserInterface.handleCanvasOnLoad to install it to a listener object.
- Parameters:
- {WebGLRenderingcontext} gl
- The WebGLRenderingcontext to pass to the handler.
- {object} handler
- The event handler to which events will be dispatched.
- {object} options Optional
- Optional parameters
- {bool} options.standardGLUnpack Optional, Default: SpiderGL.UserInterface.CanvasHandler.DEFAULT_STANDARD_GL_UNPACK
- If true, sets the default OpenGL unpack behaviour.
- {number} options.animateRate Optional, Default: SpiderGL.UserInterface.CanvasHandler.DEFAULT_ANIMATE_RATE
- Additional options.
Field Detail
<readonly>
{number}
animateDeltaTime
Gets the elapsed time, in milliseconds, between the last and the current onAnimate event.
<readonly>
{number}
animatePrevTime
Gets the time, in seconds, of the last onAnimate event.
{number}
animateRate
Gets/Sets the frequency (calls per second) used to emit the onAnimate event.
If zero, the onAnimate event will be disabled. If greater than zero, specifies how many times emit the event per second.
If less than zero, the event will be emitted as fast as possible.
- Default Value:
- SpiderGL.UserInterface.CanvasHandler.DEFAULT_ANIMATE_RATE
<readonly>
{number}
animateTime
Gets the time, in seconds, of the current onAnimate event.
<readonly>
{HTMLCanvasElement}
canvas
Gets the associated canvas.
{number}
cursorDeltaX
Gets the difference between the current and the previous cursor x position, relative to the canvas lower left corner.
{number}
cursorDeltaY
Gets the difference between the current and the previous cursor y position, relative to the canvas lower left corner.
{number}
cursorPrevX
Gets the previous cursor x position, relative to the canvas lower left corner.
{number}
cursorPrevY
Gets the previous cursor y position, relative to the canvas lower left corner.
{number}
cursorX
Gets the cursor x position, relative to the canvas lower left corner.
{number}
cursorY
Gets the cursor y position, relative to the canvas lower left corner.
<static>
{number}
SpiderGL.UserInterface.CanvasHandler.DEFAULT_ANIMATE_RATE
Default value for animate rate.
- Default Value:
- 0
<static>
{bool}
SpiderGL.UserInterface.CanvasHandler.DEFAULT_IGNORE_KEY_REPEAT
Default value for ignoring key repeats.
- Default Value:
- true
<static>
{string}
SpiderGL.UserInterface.CanvasHandler.DEFAULT_PROPERTY_NAME
Default name of the property to install in the handler object for accessing the canvas handler.
- Default Value:
- "ui"
<static>
{bool}
SpiderGL.UserInterface.CanvasHandler.DEFAULT_STANDARD_GL_UNPACK
Default value for applying standard OpenGL pixel unpack parameters.
- Default Value:
- true
<readonly>
{number}
framesPerSecond
Gets the number of draw events occurred in the last second.
<readonly>
{WebGLRenderingContext}
gl
Gets the canvas hijacked WebGLRenderingContext.
<readonly>
{number}
height
Gets the height of the associated canvas.
{bool}
ignoreKeyRepeat
Gets/Sets if the key repeat must be ignored.
- Default Value:
- SpiderGL.UserInterface.CanvasHandler.DEFAULT_IGNORE_KEY_REPEAT
<readonly>
{function}
postDrawEvent
Gets a function that, once called, sends a draw event, which once handled will call the onDraw method of the registered handler.
<readonly>
{number}
width
Gets the width of the associated canvas.
Method Detail
-
{number} dragDeltaX(btn)If dragging is ongoing, gets the difference between the current cursor x position and the cursor x position at dragging start.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {number} The difference between the current cursor x position and the cursor x position at dragging start.
-
{number} dragDeltaY(btn)If dragging is ongoing, gets the difference between the current cursor y position and the cursor x position at dragging start.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {number} The difference between the current cursor y position and the cursor y position at dragging start.
-
{number} dragEndX(btn)Gets the cursor x position when dragging has finished.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {number} The cursor x position, relative to the canvas lower left corner, when the dragging has finished.
-
{number} dragEndY(btn)Gets the cursor y position when dragging has finished.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {number} The cursor y position, relative to the canvas lower left corner, when the dragging has finished.
-
{number} dragStartX(btn)Gets the cursor x position when dragging has started.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {number} The cursor x position, relative to the canvas lower left corner, when the dragging has started.
-
{number} dragStartY(btn)Gets the cursor y position when dragging has started.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {number} The cursor y position, relative to the canvas lower left corner, when the dragging has started.
-
draw()Calls immediately the onDraw event handler.
-
{bool} isDragging(btn)Tests if a dragging (mouse move + mouse button down) operation is active.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {bool} True if the dragging operation is active with the specified mouse button, false otherwise.
-
{bool} isKeyDown(key)Tests if a key is pressed.
- Parameters:
- {string|number} key
- The key to test.
- Returns:
- {bool} True if the key is pressed, false otherwise.
-
{bool} isMouseButtonDown(btn)Tests if a mouse button is pressed.
- Parameters:
- {number} btn
- The button to test (0 = left, 1 = right, 2 = middle).
- Returns:
- {bool} True if the mouse button is pressed, false otherwise.


What is SmtpProxy?
How SmtpProxy Works
How to Secure SmtpProxy
Installing and Configuring SmtpProxy
Configuring Email Clients


Page Callbacks become very handy when you need to execute specific code for specific pages. Page Callbacks have a great advantages over the Page Events:
To use Page Callbacks we need to use appropriate App's methods:
myApp.onPageBeforeInit(pageName, callback(page)) - "callback" function will be executed when Framework7 just inserts new page (with "pageName" data-page attribute) to DOM
myApp.onPageInit(pageName, callback(page)) - "callback" function will be executed after Framework7 initialize required page's (with "pageName" data-page attribute) components and navbar
myApp.onPageReinit(pageName, callback(page)) - "callback" function will be executed for specified cached page (with "pageName" data-page attribute) that becomes visible. It is only applicaple for Inline Pages (DOM cached pages)
myApp.onPageBeforeAnimation(pageName, callback(page)) - "callback" function will be executed when everything initialized and page (with "pageName" data-page attribute) is ready to be animated
myApp.onPageAfterAnimation(pageName, callback(page)) - "callback" function will be executed after page (with "pageName" data-page attribute) animation
myApp.onPageBeforeRemove(pageName, callback(page)) - "callback" function will be executed right before page (with "pageName" data-page attribute) will be removed from DOM
myApp.onPageBack(pageName, callback(page)) - "callback" function will be executed right before page (with "pageName" data-page attribute) "back" transition. Difference with "onPageBeforeAnimation" is that this callback will be triggered for the "old" page - page that slides from center to right
myApp.onPageAfterBack(pageName, callback(page)) - "callback" function will be executed right after page (with "pageName" data-page attribute) "back" transition. Difference with "onPageAfterAnimation" is that this callback will be triggered for the "old" page - page that slides from center to right
Each of above methods returns sepcial Callback Object with two methods, that you can use to trigger Page Callback manually or to remove it later:
callbackObject.trigger() - trigger callback function
callbackObject.remove() - remove callback function
Let's look at some examples of Page Callbacks usage
var myApp = new Framework7();
//Add callback function that will be executed when Page with data-page="about" attribute will be initialized
myApp.onPageInit('about', function (page) {
console.log('About page initialized');
console.log(page);
});
//The same but for Services page
myApp.onPageInit('services', function (page) {
console.log('Services page initialized');
console.log(page);
});
//We can add one more callback for About page, and previously added callback for this page will not be overwritten
myApp.onPageInit('about', function (page) {
console.log('One more callback for About page');
console.log(page);
});
//Sometimes we may need the same callback for few pages. We may separate page names with space:
myApp.onPageInit('about services', function (page) {
console.log(page.name + ' initialized');
//In console we will see 'about page initialized' for About page and 'services page initialized' for Services page
});
//We can also add callback for all pages:
myApp.onPageInit('*', function (page) {
console.log(page.name + ' initialized');
});
//Let's create callback for Contacts page (with data-page="contacts" attribute) that we can control later:
var contactsCallback = myApp.onPageInit('contacts', function (page) {
console.log('Contacts page initialized');
console.log(page);
});
// Later we can cancel/remove this callback:
contactsCallback.remove();
// Or we can trigger it manually:
contactsCallback.trigger();
Sometimes we may need such Page Callbacks for initialy loaded pages (that are already in index.html file on app load), for example for home page. But there could be a problem because when we add our .onPage callbacks the App is already initialized and our callback will not be triggered. It could be solved in a few ways:
In this case we need to init App manually after we add our callbacks for initial pages:
var myApp = new Framework7({
init: false //Disable App's automatica initialization
});
//Now we add our callback for initial page
myApp.onPageInit('home', function (page) {
//Do something here with home page
});
//And now we initialize app
myApp.init();
This way is not very convenient but we can do it in App parameters:
var myApp = new Framework7({
onPageInit: function (app, page) {
if (page.name === 'home') {
//Do something here with home page
}
}
});
var myApp = new Framework7();
//Now we add our callback for initial page
myApp.onPageInit('home', function (page) {
//Do something here with home page
}).trigger(); //And trigger it right away
Note that in this case such manually triggered callback will not receive Page Data object as argument


US Regulator begins probe into Google deal to access patient's data: Report
"We are happy to cooperate with any questions about the project," Google said in a blog post later on Tuesday, regarding the federal inquiry
by ReutersA US federal regulator has initiated an investigation into a cloud computing deal between Alphabet Inc's Google and Ascension Health which would give Google access to detailed health information of millions of patients, the Wall Street Journal reported on Tuesday.
"We are happy to cooperate with any questions about the project," Google said in a blog post later on Tuesday, regarding the federal inquiry.
The Office for Civil Rights in the Department of Health and Human Services will look into the data collection to ensure the partnership is in compliance with the Health Insurance Portability and Accountability Act (HIPAA) which safeguards medical information, the Journal said.
On Monday, Google said patient data "cannot and will not be combined with any Google consumer data."


Vicky Pattison's panel show appearances
Vicky Pattison (born 1987-11-16[ref]) has appeared in 27 episodes between 2015-2017. Vicky Pattison on IMDB. Vicky Pattison on Wikipedia.
- 2017-11-09 / Celebrity Juice
- 2017-05-25 / Celebrity Juice
- 2017-02-07 / Virtually Famous
- 2016-12-22 / Celebrity Juice
- 2016-12-15 / Celebrity Juice
- 2016-10-20 / Celebrity Juice
- 2016-08-05 / It's Not Me, It's You
- 2016-07-29 / It's Not Me, It's You
- 2016-07-07 / It's Not Me, It's You
- 2016-06-30 / It's Not Me, It's You
- 2016-06-23 / It's Not Me, It's You
- 2016-03-22 / Loose Women
- 2016-03-18 / Loose Women
- 2016-03-17 / Celebrity Juice
- 2016-02-23 / Loose Women
- 2016-02-12 / Loose Women
- 2016-02-09 / Virtually Famous
- 2016-02-04 / Loose Women
- 2016-01-29 / Loose Women
- 2016-01-28 / Loose Women
- 2016-01-27 / Loose Women
- 2016-01-26 / Loose Women
- 2016-01-25 / Loose Women
- 2016-01-18 / Loose Women
- 2016-01-06 / Loose Women
- 2015-12-10 / Loose Women
- 2015-08-13 / Safe Word


Nothing spoils plans for a day out like that day out being overcast and pouring down rain.
Often a form of Breather Episode, a common situation for series such as sitcoms, slice-of-life shows, and cartoons featuring children as its main cast. A rainy day forces the cast to remain indoors when they would much rather be outside. It forces them to find alternative entertainment. Depending on the severity of the storm, the electricity may go out and force them to find non-electronic forms of entertainment.
This can also be used more seriously for character development if, for instance, two characters are stuck in whatever shelter is handy at the time the storm hits. Can also cause a bit of Cabin Fever in some characters.
In media made in Japan, rainstorms are frequently substituted with typhoons.
This trope is, in essence, when the plot for an episode is derived from bad weather either causing the characters to be unable to go outside or having to find some place to get shelter. If there is An Aesop about the untapped forms of entertainment available that don't require electricity or outdoor sports, the most popular activity is reading — in which case, Portal Books may appear.
Snowed-In is the more extreme variation of this trope.
When the weather is an active menace, see Hostile Weather, which may turn the setting into a Closed Circle.
See Caught in the Rain and its related tropes for one form this sort of situation can take. Compare and contrast Cue the Rain. See also Cold Snap, for the snow equivalent.
Not to be confused with It Was a Dark and Stormy Night.
Examples:
- Kanamemo featured an episode in which all the girls were stuck indoors due to a typhoon.
- Haruhi Suzumiya: Someday in the Rain.
- Happened twice in the Monster Rancher, one episode had the Searchers take refugee in a structure where Holly recounts her past and what lead her to start her quest in the first place. Another had them end up taking shelter in an abandoned factory and end up accidentally activating a Melkaba.
- Sgt. Frog has a few chapters that take place on rainy days. It's occasionally made a major plot point, since Keronians thrive in humid weather.
- Not surprisingly, Windy Tales, being about girls who could control wind, also had an episode featuring a typhoon.
- Issue #66 of The Powerpuff Girls (DC run) is titled "Rain, Rain, Go Away." It deals with a troubled sea monster who makes Townsville do a rain dance through a catchy pop tune which produces so much rain it floods the city.
- This occurs on Stan's, Peridot's, and Ford's part in Chapter Forty-One of A Triangle in the Stars.
- In Aunt Dimity's Death, an extended rainstorm gives way to three days of dense fog. Aside from visits to and from neighbour Emma Harris, Lori and Bill remain at the cottage, postponing an expedition to a location in a photograph Lori's mother left her.
- The Cat in the Hat - so they sat in the house all that cold, cold, wet day.
- In Coraline, the heroine's parents forbid her to go out in rain, so she has to explore the house, and thus finds the secret door.
- Diary of a Wimpy Kid:
- In one of the books, the Heffleys go to a water park but are rained out.
- In another book, Greg and his father Frank try to camp but it's raining, so they stay at a hotel.
- Drives the plot in the Elephant & Piggie book "Are You Ready to Play Outside?"
- In Hey You, Come 'Ere: a Poetry Slam, the poem "Storm" starts when the poets are caught in a storm and have to run back inside after sunbathing.
Ratchit: "Interruption! Interruption! Here comes a storm!"
- The Lion, the Witch, and the Wardrobe: Rainy days force the Pevensie siblings to explore The Professor's Big Fancy House and, in doing so, find the Cool Gate of a wardrobe to the Magical Land of Narnia.
- In the Mog book "Mog and Bunny", the Thomases eat outside, then run inside when it rains, with the exception of Mog, who stays outside because her favorite plushie Bunny is caught under a rake.
- A raging storm hits in the final chapter of Mrs. Piggle-Wiggle's Magic, so the kids play a number of games to pass the time.
- In The Secret Garden, the children have to work out that they can explore the house while it rains.
- In Teddy And Co, it rains late in the book, which puts Teddy in a pretty sour mood.
- Inverted for laughs in The Addams Family episode Morticia and Gomez vs. Fester and Grandmama.
- Barney & Friends has episodes (including one by the same name) and songs. "It's Raining, It's Pouring" manifests as a failed attempt to cheer up the kids.
- Kingdom Adventure: Lolly's attitude toward a rainy day amounts to this. The characters pass the time by telling the story of when the Prince was murdered, and how He came back to life again.
- Married... with Children had an episode in which the Bundys and the D'Arcys were stuck in the basement during a tornado.
- This was the plot of an episode of Pee-wee's Playhouse, despite the fact that Pee-Wee spends most of the show indoors.
- Worzel Gummidge: The pilot has the kids go to look at the titular scarecrow, then run inside when it rains.
- Breaking Benjamin has a song patterned after the rhyme, called simply Rain:
Rain, rain, go away,Come again another day,All the world is waiting for the sun.
- According to John Lennon, The Beatles' song "Rain" (available on Past Masters) is a mockery of this mindset and general excessive griping about weather.
- Trent Reznor sang this at the end of the Piss Take Rap-laden "Down In It".
- Calvin and Hobbes had a story arc where the family goes camping and it starts raining once they get to the camp site. Despite Calvin's and mom's complaints, Dad decides to tough it out - for an entire week - but eventually he has enough and decides to pack it up. And in that very moment, the rain finally stops. Cue Face Palm and copious off-screen swearing.
- Peanuts:
- A series (or two, or three) where Charlie Brown stays out on the mound at the baseball diamond in the rain because he thinks it's going to clear up.
- A series where Linus and Lucy think that Linus may have some kind of special powers because when he's out in the rain and sings "Rain Rain Go Away", it does.
- Another series anticipates a solar eclipse - Linus awaits it with a homemade viewer (two sheets of cardboard with a pinhole in one sheet). On the day it happens, it's pouring down rain. Lucy goes out to Linus, standing forlornly looking up holding two sheets of wilted cardboard, and says "So how's the eclipse?"
- In another strip, Lucy is playing outside when it begins to rain. She recites "Rain, Rain, Go Away" a couple of times, only for it to rain even harder each time she says it. Finally she shouts, "YOU'RE NOT LISTENING!"
- The Puzzle Place:
- In the episode "You Say Potato," the kids are all set to go on a picnic, but can't agree if they should go to the mountains or the park. Just as they're about to flip a coin to decide, it starts to rain, so they can't go anywhere. They end up having their picnic indoors, with painted cutouts of the places they wanted to visit.
- Averted in the episode "All Weather Friends," which takes place during a thunderstorm that all the kids find exciting, except for Leon who has Fear of Thunder.
- Sesame Street: Zigzagged.
- "Imagine That" has several others disliking the rain, but they cheer up when they're doing their imaginative play. Oscar and the plants, however, like the rain.
- The animated story "The Cat Who Hated Rain" has a cat who hates rain because it makes mud. He wishes it would never rain again, but then a drought happens so he wishes it would rain.
- Zigzagged in the song "Rain Falls", which has Gordon enjoying the rain, and Oscar enjoys it too... because other people dislike it. Oscar has also expressed enjoyment for the rain for that reason in the song "I'm Sad Because I'm Happy".
- One skit has Bert trying to share Ernie's umbrella, but Ernie is too distracted by doing a speech about his mixed feelings on rain to let Bert have the umbrella. Ernie also mentions feeling sorry for everyone whose picnics were cancelled because of the rain.
- Averted in the episode "Natasha is Scared of the Rain", where the characters play in the rain.
- In the song "Rainy Day", it talks about how rain is important, but the singer says that they can't play in it.
- In one song, three adults happily sing in the rain, but then change their minds and run inside.
- Discussed and defied in one skit that has Gordon do a speech on how rain gets a bad rap, but it's important.
- Likewise, Bulletstorm has a section where the electrical storm will disintegrate anyone exposed to the sky.
- In one level of Gears of War 2, Marcus and Dom must stay in shelter or be torn to shreds when a rainstorm turns to deadly "razor-hail". A similar mechanic is in effect in one of the multiplayer levels, where the rain picking up signals players to seek shelter before it gets worse.
- Persona 3 has a week in the game calendar in which a typhoon hits the city. The necessity of finding something to do, however, is removed by the hero becoming sick during the entire week.
- When it rains in Persona 4, all social links, save for The Hermit and the nighttime Social Links, are unavailable. It's most likely done to force the player to go to the available dungeon and rescue the trapped victim. Otherwise, there's often not much to do other than go to the local restaurant and attempt the Rainy Day Beef Bowl Challenge.
- Played with in Adventure Time, where the fearless Finn and Jake are accosted not by water, but by a rain of daggers. When they attempt to use their imaginations to pass the time, it turns out that Jake's is almost deadlier than the rain!
- The episode "Bad Jubies" is about Finn, Jake, BMO and Lumpy Space Princess building a shelter for a huge superstorm. Rather than helping build it, however, Jake just sits there, claiming that he has something big planned. When the storm arrives and they go inside the shelter, Jake reveals that he was memorizing the sounds of nature to pass the time until the storm subsides. In fact, Jake's sounds calm down the storm and saves them all.
- Happens several times on Arthur.
- An episode of Avatar: The Last Airbender had taking shelter from rain as the backdrop for the telling of Aang's and Zuko's backstories.
- More like Aang was taking shelter from a hurricane in a cave, while Zuko was determined to head straight into it to capture Aang.
- The Berenstain Bears:
- The episode "Bears For All Seasons" has the Bear family dealing with different weather. Mama Bear, who was tolerant about all other types of weather, calls the rain "miserable".
- In "Get in a Fight", the bear kids have to go in out of the rain after arguing in their treehouse.
- The Donald Duck cartoon "Donald's Off Day", in which Don's golfing outing is rained out. In fact, every time the rain stops, it starts again the moment Donald steps out the door. He spends the day inside, while his nephews play pranks on him.
- In "Doug's Comic Collaboration", Doug and Skeeter decide to write a comicbook instead of reading all the same old ones again. The weatherman who said it was going to be sunny is the villain. The two eventually argue about how to proceed with Doug noting the God-Mode Sue powers of Silver Skeeter and Skeeter disliking the idea of having the heroes go to the library.
- Heckle and Jeckle have a picnic in the rain in "The Rainmakers." When Jeckle wishes upon a wishbone that it stops raining forever, he gets his wish. But now the drought becomes universally unbearable, so the boys have to find a way to make it rain again.
- Little Princess:
- In "I Want a Tent", the Princess is not allowed to camp outside as it's raining.
- In "I Want to Play Football", the Princess wants to play ball but cannot as she's not allowed to either go out in the rain or play ball indoors.
- Zigzagged for "I Want to Play in the Rain": Princess can't find anyone to play outside with because it's raining, so she plays alone but gets bored. Then, she sees everyone else playing in the rain, so she joins in.
- The My Little Pony: Friendship Is Magic episode "Look Before You Sleep" has Applejack and Rarity seeking refuge in Twilight Sparkle's home during a rainstorm, and Twilight takes the opportunity to throw a slumber party.
- Averted in the Nature Cat episode "Rainy Day", in which the titular character and his friends are bored in Hal's doghouse, so they head outside to learn how some animals deal with rain. By the end of the episode, they enjoy the rain by splashing in puddles, playing in mud, and using their tongues to catch raindrops.
- Peppa Pig has "The Rainy Day Game" in which Daddy Pig teaches Peppa and George a fun game to play while they wait inside for the rain to stop.
- The Phineas and Ferb episode "The Great Indoors" has Phineas and Ferb build a bio-dome for the Fireside Girls to get a desert-tracking patch, since unexpected rain conflicted with their plans. Turns out the rain was caused by another one of Doofenshmirtz's inventions, which was once again thwarted by Perry.
- The Powerpuff Girls episode "The Powerpuff Girls' Best Rainy Day Adventure Ever" was all about the girls having to entertain themselves when the weather prevented any crime fighting.
- Happens in the Ready Jet Go! episode "Eye in the Sky". Sean plans a sleepout under the stars for his space scout troop, but the rain ruins his plans.
- The Recess episode "Rainy Days" had the kids having to spend recess indoors due to a week-long rainstorm and the onslaught of cabin fever that happens during it which threatens to make them mind-numbing drones that Mrs. Finster will be able to control easily.
- The Ren & Stimpy Show - Stimpy and Ren's cousin Sven stare gloomily out the window at a storm...then perk up and find a board game (and completely trash the house and Ren's prized possessions as well).
- One episode of Tiny Toon Adventures features a series of shorts about what to do during a rainy day.
- An episode of The Weekenders had Tino's "Ultimate Weekend" ruined, partially because it was raining.
- The Wow! Wow! Wubbzy! episode "Wubbzy's Rainy Day" has the titular character about to play Hoppity-Hoop Hockey outside when it started to rain. He then begins watching TV, only for the power to go off. His friends come over to his treehouse, one by one, and each time they think of something new to do that isn't boring; then they end up getting bored right before the next friend shows up. After all his friends are there and they've been playing for a while, the power comes back on and it stops raining.


Malaysia says US offer to host APEC 'not a good idea'
KUALA LUMPUR: An offer by the United States to host a Pacific rim summit in America in 2020 after Chile abruptly cancelled this year's event was "not a good idea", Malaysia's foreign minister said Thursday (Nov 7).
READ: Trump invites ASEAN leaders to 'special summit' in US after skipping Bangkok meet
The Asia Pacific Economic Cooperation (APEC) summit had been scheduled for Nov 16-17 in Chile, but President Sebastian Pinera pulled out of hosting it because of ongoing civil unrest in the country.
According to Malaysian Foreign Minister Saifuddin Abdullah, US Secretary of State Mike Pompeo called him during a meeting of Association of Southeast Asian Nations (ASEAN) leaders in Bangkok last week.
Pompeo told him that "because Chile is not able to host APEC this November ... the US is thinking of hosting APEC somewhere in January in the US", and asked for Malaysia's position.
Saifuddin said he told US officials in Bangkok that "we don't think it is a good idea".
READ: Chile withdraws as host of APEC summit, COP25 climate conference: President Pinera
US President Donald Trump skipped the ASEAN summit and instead sent US national security advisor Robert O'Brien and Commerce Secretary Wilbur Ross to lead the US delegation.
Saifuddin said he was aware of a letter sent by Trump to Malaysian Prime Minister Mahathir Mohamad "about an invitation to something in the US".
Malaysia is at the centre of talks for any replacement summit as it is next year's chair of APEC, a trade-focused grouping of 21 Pacific Rim economies stretching from China to Chile and the United States.
Chairmanship includes hosting meetings that typically culminate in a summit of the leaders around November.
A Southeast Asian diplomat who asked not to be named confirmed that Washington is sounding out countries about an APEC summit in January and had offered Las Vegas as a possible venue, but would not give other details.
Another source, a delegate who as supposed to attend the cancelled APEC meeting in Chile, did not sound enthusiastic about a summit in the US.
"I don't see the point, what for?" he told AFP.
"A summit for the sake of having a summit?"
Trump and Chinese President Xi Jinping were supposed to meet in Chile to sign a partial deal in a bid to ease a bruising trade war.
Trump said Thursday that an alternative location for the signing will be "announced soon".


Perl, JavaScript
I enjoy writing front-end code with these technologies
me on Github
Welcome to the HTML Portfolio Project


They said the evidence has "weakened considerably due to the long period of time that has elapsed since the events in question".
Swedish authorities had been investigating allegations that Mr Assange had committed sexual offences in the country in 2010.
The WikiLeaks founder spent almost seven years in the Ecuadorian embassy in London in a bid to avoid extradition to Sweden.
He was ultimately arrested at embassy in April, and is currently serving a 50-week sentence for breaching jail conditions.
Earlier this year, Swedish authorities reopened their investigation into the rape allegation against Mr Assange.
In a statement today, Deputy Director of Public Prosecution Eva-Marie Persson confirmed officials have again decided to "discontinue their investigation".
She said: "I would like to emphasise that the injured party has submitted a credible and reliable version of events. Her statements have been coherent, extensive and detailed.
"However, my overall assessment is that the evidential situation has been weakened to such an extent that that there is no longer any reason to continue the investigation."
Earlier this year, a judge in the UK ruled that Mr Assange will face a full extradition hearing in February.
The five-day process will decide whether Mr Assange will be sent to the US, where he faces computer hacking allegations.
Authorities in the US claim thousands of secret and classified documents published on the WikiLeaks website “risked serious harm” to US national security.
Lawyers for Mr Assange have labelled the charges against him a "threat" to all journalists.
In a statement after today's decision by Swedish prosecutors, Kristinn Hrafnsson - WikiLeaks editor-in-chief - said: “Sweden has dropped its preliminary investigation into Mr Assange for the third time, after reopening it without any new evidence or information.
"Let us now focus on the threat Mr Assange has been warning about for years: the belligerent prosecution of the United States and the threat it poses to the First Amendment.”


Who is this guy?
Hi! I am an Infrastructure Engineer passionate about DevOps and responsible for the whole stack. Give me containers, and I'll orchestrate the rest. From physical hardware and network topology to container networking and Kubernetes clusters running on top; I build it all.
Get in touch!


WITNESS LIST County Affairs Committee (Subcommittee on County and Private Jails) September 1, 1998-1:00P Private and County Jails On: Allison, Jim (TCJ&CA) Bryan, W.J. "Billy" (CSC) Campbell, Craig (TCLEOSE) Fillmore, Debbie (TCJS) Shanblum, Laurie (CCA) White, Robert D. (Wackenhut Corrections)


HOW TO USE THE MAP: click on the icons represented on the map to see details on a place. Each place has an icon that represents what category it falls under. Categories include: Restaurants, Bars, Entertainment, Museums, Parks, and other activities.
MANHATTAN


The definition as to Large/Small is at the discretion of the institution.
The definition as to Large/Small is at the discretion of the consortium.
| £ (GBP) | € (EUR) | $ (USD) | |
|---|---|---|---|
| Annual | 3,000 | 3,300 | 3,900 |
| Three-year commitment (15% discount, paid upfront) | 7,650 | 8,415 | 9,945 |


Recipe 9.6. Coordinating Threads by Simple Message PassingCredit: Michael Hobbs ProblemYou want to write a multithreaded application, using, as the synchronization and communication primitive, a simple yet powerful message-passing paradigm. SolutionThe candygram module lets you use concurrent programming semantics that are essentially equivalent to those of the Erlang language. To use candygram, you start by defining appropriate classes, such as the following one, to model your threads' functionality: import candygram as cg class ExampleThread(object): """A thread-class with just a single counter value and a stop flag.""" def _ _init_ _(self): """ Initialize the counter to 0, the running-flag to True. """ self.val = 0 self.running = True def increment(self): """ Increment the counter by one. """ self.val += 1 def sendVal(self, msg): """ Send current value of counter to requesting thread. """ req = msg[0] req.send((cg.self( ), self.val)) def setStop(self): """ Set the running-flag to False. """ self.running = False def run(self): """ The entry point of the thread. """ # Register the handler functions for various messages: r = cg.Receiver( ) r.addHandler('increment', self.increment) r.addHandler((cg.Process, 'value'), self.sendVal, cg.Message) r.addHandler('stop', self.setStop) # Keep handling new messages until a stop has been requested while self.running: r.receive( ) To start a thread running this code under candygram, use: counter = cg.spawn(ExampleThread( ).run) To handle the counter tHRead's responses, you need another Receiver object, with the proper handler registered: response = cg.Receiver( ) response.addHandler((counter, int), lambda msg: msg[1], cg.Message) And here is an example of how you might use these counter and response objects: # Tell thread to increment twice counter.send('increment') counter.send('increment') # Request the thread's current value, then print the thread's response counter.send((cg.self( ), 'value')) print response.receive( ) # Tell thread to increment one more time counter.send('increment') # Again, request the thread's current value, then print the thread's response counter.send((cg.self( ), 'value')) print response.receive( ) # Tell the thread to stop running counter.send('stop') DiscussionWith the candygram module (http://candygram.sourceforge.net), Python developers can send and receive messages between threads using semantics nearly identical to those introduced in the Erlang language (http://www.erlang.org). Erlang is widely respected for its elegant built-in facilities for concurrent programming. Erlang's approach is simple and yet powerful. To communicate with another thread, simply send a message to it. You do not need to worry about locks, semaphores, mutexes, and other such primitives, to share information among concurrent tasks. Developers of multitasking software mostly use message passing only to implement a producer/consumer model. When you combine message passing with the flexibility of a Receiver object, however, it becomes much more powerful. For example, by using timeouts and message patterns, a thread may easily handle its messages as a state machine, or as a priority queue. For those who wish to become more familiar with Erlang, http://www.erlang.org/download/erlang-book-part1.pdf (Concurrent Programming in Erlang) provides a very complete introduction. In particular, the candygram module implements all of the functions described in Chapter 5 and sections 7.2, 7.3, and 7.5 of that book. This recipe offers a very elementary demonstration of how messages are passed between threads using candygram. When you run this recipe as a script, the print statements will output the values 2 and then 3. It's important to understand how the candygram.Receiver class works. The addHandler method requires at least two parameters: the first is a message pattern and the second is a handler function. The Receiver.receive method invokes a registered handler function, and returns that function's result, whenever it finds a message that matches the associated pattern. Any parameters optionally passed to addHandler beyond the first two get passed as parameters to the handler function when the Receiver calls it. If a parameter is the candygram.Message constant, then receive replaces that parameter with the matching message when it calls the handler function. This recipe's code contains four different message patterns: 'increment', (cg.Process, 'value'), 'stop', and (counter, int). The 'increment' and 'stop' patterns are simple patterns that match any message that consists solely of the strings 'increment' and 'stop', respectively. The (cg.Process, 'value') pattern matches any message that is a tuple with two items, where the first item isinstance of cg.Process and the second item is the string value. Lastly, the (counter, int) pattern matches any message that is a tuple with two items where the first item is the counter object and the second element is an integer. You can find more information about the Candygram package at http://candygram.sourceforge.net. At that URL, you can find all details on how to specify message patterns, how to set a timeout for the Receiver.receive method, and how to monitor the running status of spawned threads. See AlsoConcurrent Programming in Erlang at http://www.erlang.org/download/erlang-book-part1.pdf; the candygram home page at http://candygram.sourceforge.net. |


STR
Earthshaker
- Fissure
- Slams the ground with a mighty totem, creating an impassable ridge of stone while stunning and damaging enemy units along its line.
- Enchant Totem
- Empowers Earthshaker's totem, causing it to deal extra damage on the next attack. Upgradable by Aghanim's Scepter.
- Aftershock
- Causes the earth to shake underfoot, adding additional damage and stuns to nearby enemy units when Earthshaker casts his abilities.
- Echo Slam
- Shockwaves travel through the ground, damaging enemy units. Each enemy hit causes an echo to damage nearby units. Real heroes cause two echoes.
Tiny
- Avalanche
- Bombards an area with rocks, continously doing small intervals of damage and stun to enemy units. Avalanche does 3x damage to units being tossed.
- Toss
- Grabs the nearest unit in a 275 radius around Tiny, ally or enemy, and launches it at the target unit or rune to deal damage where they land. If the tossed unit is an enemy, it will take an extra 30% damage.
- Tree Grab
- Grabs a tree to whack enemies on the head for a limited number of times. Grants bonus attack range. Attacks deal more damage (increased vs. buildings) and fully splash on units along the way. The tree can be thrown, expending all the charges, to deal your attack to a unit at a distance.
- Grow
- Tiny gains craggy mass, increases his power and causes him to shrug off debuffs.
Kunkka
- Torrent
- Summons a rising torrent that, after a short delay, hurls enemy units into the sky, stunning, dealing damage and slowing movement speed.
- Tidebringer
- Kunkka's legendary sword grants increased damage and cleaves a large area of effect in front of him for a single strike.
- X Marks the Spot
- Targets a friendly or enemy Hero, marks their position with an X, and returns them to it after several seconds. Kunkka can trigger the return at any time during the duration. Lasts twice as long on allied heroes.
- Ghostship
- Summons a ghostly ship that sails through the battle before smashing apart, damaging and stunning all enemies caught near the wreckage. Allied heroes touched by the Ghostship are given a swig of The Admiral's Rum, receiving bonus movement speed and a delayed reaction to incoming damage. Upgradeable by Aghanim's Scepter.
Bristleback
- Viscous Nasal Goo
- Covers a target in snot, causing it to have reduced armor and movement speed. Multiple casts stack and refresh the duration. Upgradable by Aghanim's Scepter.
- Quill Spray
- Sprays enemy units with quills dealing damage in an area of effect around Bristleback. Deals bonus damage for every time a unit was hit by Quill Spray in the last 14 seconds.
- Bristleback
- Bristleback takes less damage if hit on the sides or rear. If Bristleback takes 210 damage from the rear, he releases a Quill Spray of the current level.
- Warpath
- Bristleback works himself up into a fury every time he casts a spell, increasing his movement speed and damage.
Slardar
- Guardian Sprint
- Slardar slithers ahead, moving significantly faster and passing through units. At ability level 4, Slardar may move at 700 speed while in the river.
- Slithereen Crush
- Slams the ground, stunning and damaging nearby enemy land units. After the stun, the affected units are slowed.
- Bash of the Deep
- After 3 attacks, your next attack will bash the target.
- Corrosive Haze
- Reduces enemy armor to amplify physical damage and provides True Sight of the targeted unit, revealing invisibility.
AGI
Shadow Fiend
- Shadowraze
- Shadow Fiend razes the ground directly in front of him, dealing damage to enemy units in the area. Adds a stacking damage amplifier on the target that causes the enemy to take bonus Shadow Raze damage per stack.
- Necromastery
- Shadow Fiend steals the soul from units he kills, gaining bonus damage. If the killed unit is a hero, he gains 12 souls. On death, he releases half of them from bondage. Upgradable by Aghanim's Scepter.
- Presence of the Dark Lord
- Shadow Fiend's presence reduces the armor of nearby enemies.
- Requiem of Souls
- Shadow Fiend gathers his captured souls to release them as lines of demonic energy. Units near Shadow Fiend when the souls are released can be damaged by several lines of energy. Any unit damaged by Requiem of Souls will have its movement speed and attack damage reduced. Lines of energy are created for every 2 souls captured through Necromastery. Requiem of Souls is automatically cast whenever Shadow Fiend dies, regardless of its cooldown. Upgradable by Aghanim's Scepter.
Gyrocopter
- Rocket Barrage
- Launches a salvo of rockets at nearby enemy units in a radius around the Gyrocopter. Lasts 3 seconds.
- Homing Missile
- Fires a homing missile to seek the targeted enemy unit. The missile gains speed over time, dealing damage and stunning when it impacts the target. Enemy units can destroy the missile before it reaches its target.
- Flak Cannon
- Gyrocopter's attacks hit all enemy units in an area around it for a limited number of attacks. Only the main target of attacks will receive attack bonuses such as Critical Strike. Lasts 15 seconds or until the attacks are used.
- Call Down
- Call down an aerial missile strike on enemy units in a target area. Two missiles arrive in succession, the first dealing major damage and minor slow for 2 seconds; the second dealing minor damage and major slow for 4 seconds. Upgradable by Aghanim's Scepter.
Monkey King
- Boundless Strike
- Monkey King enlarges his staff and slams it against the ground, stunning enemies in a line and damaging them with a critical hit based on his attack. Has True Strike.
- Tree Dance
- Monkey King jumps to a tree and perches atop it. While perched, he gains the Primal Spring ability-a channeled leap attack. If Monkey King's tree is destroyed, he falls and is stunned for 4 seconds. Taking damage from player controlled units or Roshan while on the ground puts Tree Dance on cooldown.
- Jingu Mastery
- Monkey King's attacks awaken the Jingu Bang's power. Upon the fourth hit on the same enemy hero, Monkey King earns four charged attacks that have bonus damage and lifesteal.
- Azinawa's Command
- Monkey King creates a circular formation of soldiers that spread out from his position. If Monkey King leaves the area his soldiers disperse. The soldiers have Monkey King's attack and only target heroes. Monkey King is granted bonus armor for the spell's duration.
Meepo
- Earthbind
- Tosses a net at the target point, pinning down all enemy units. Earthbind prevents invisibility and blink.
- Poof
- Drawing mystical energies from the earth, a Meepo can teleport to another Meepo or itself after channeling for 1.5 seconds, dealing damage in both the departure and arrival locations.
- Ransack
- Steals health from the enemy with each strike and heals all other Meepos for that amount.
- Divided We Stand
- Meepo summons an imperfect, semi-autonomous duplicate of himself, which can gain gold and experience as he does and shares his experience, attributes and abilities. However, the clones cannot wield any items but the boots that Meepo himself wears. If any of the clones die, they all die. Upgradable by Aghanim's Scepter.
Broodmother
- Spawn Spiderlings
- Broodmother injects her young into an enemy unit, dealing damage. The spiderlings will hatch if the target is killed while under this influence.
- Spin Web
- Spins a large web that grants Broodmother a passive movement speed increase, gives free movement, and boosts regeneration while in its vicinity. Spin Web charges restore every 45 seconds. Spin Web can be cast from anywhere as long as the new web touches an existing web. Webs never expire, and can be manually destroyed. When the maximum limit of webs is exceeded, the oldest web disappears.
- Incapacitating Bite
- Broodmother's venom cripples enemy units, causing her attacks to slow and giving the affected unit a chance to miss its attacks.
- Insatiable Hunger
- A violent lust for vital fluids increases Broodmother's attack damage and gives her a vampiric attack.
INT
Oracle
- Fortune's End
- CHANNELED - Gathers Oracle's power into a bolt of scouring energy that, when released, damages, roots, and purges enemies of buffs in an area around the target. If target is an ally it will only purge. Can be channeled for up to 2.5 seconds. The root duration is equal to the time spent channeling. DISPEL TYPE: Basic Dispel
- Fate's Edict
- Oracle enraptures a target, disarming them and granting them 100% magic damage resistance. Can be cast on allies and enemies.
- Purifying Flames
- Burns away impurities, dealing heavy magic damage to the target before causing them to regenerate health over time. The amount of health regenerated over its duration exceeds the amount of initial damage. Can be cast on enemies and allies. Upgradable by Aghanim's Scepter.
- False Promise
- Temporarily alters an ally's destiny, delaying any healing or damage taken until False Promise ends. Any healing that is delayed by False Promise is doubled. Removes most negative status effects and disables on initial cast. DISPEL TYPE: Strong Dispel
Winter Wyvern
- Arctic Burn
- Winter Wyvern soars upon an arctic wind, granting her unobstructed movement and allowing her to exhale a blistering chill into each attack. While soaring, her attacks travel further and faster, and slow enemies with a magical freeze that strips them of 6% of their current health each second. Her sight is also hardened against night's chill, granting her 400 additional vision range at night while soaring. Upgradable by Aghanim's Scepter.
- Splinter Blast
- Launches a ball of brittle ice toward an enemy. The ice shatters on impact, leaving the primary target completely unaffected, while hurling damaging splinters into nearby enemies in a 500 radius. Enemies struck by these splinters are slowed by 30%.
- Cold Embrace
- Encases an ally in an icy cocoon, freezing them solid while healing a base amount as well as a percentage of their maximum health each second. The cocoon blocks all physical damage.

Visage
- Grave Chill
- Visage drains the movement and attack speed of the targeted unit, gaining it for itself.
- Soul Assumption
- Visage gathers charges of soul essence each time nearby heroes take more than 110 damage. When the essence is released, it deals base damage as well as damage for each gathered soul charge.
- Gravekeeper's Cloak
- Visage generates a layered barrier that protects him from damage. If he receives damage from a player, one layer is removed, and takes time to recover.
- Summon Familiars
- Conjures two blind Familiars to fight for Visage. Familiars possess the Stone Form ability, that allows them to turn into stone, stunning enemies upon landing. While in Stone Form, Familiars are invulnerable, and rapidly regenerate their health. Familiars grant high bounty when killed. Upgradable by Aghanim's Scepter.
Outworld Devourer
- Arcane Orb
- Adds extra pure damage to Outworld Devourer's attacks, based on his remaining mana pool. Steals intelligence for %int_steal_duration% seconds per hit when attacking an enemy hero. Arcane Orb damage splashes in a small area.
- Astral Imprisonment
- Places a target unit into an astral prison. The hidden unit is invulnerable and disabled. When the astral prison implodes, it deals damage to the target and nearby enemies with 400 range. Upgradable by Aghanim's Scepter.
- Equilibrium
- Causes any spell damage you deal to slow enemies and restore mana based on how much damage was dealt.
- Sanity's Eclipse
- Unleashes a psychic blast that removes 40% of the mana from affected heroes, while also damaging them based on the difference between the affected hero's Intelligence and Outworld Devourer's. If an enemy hero has the same or higher Intelligence than Outworld Devourer, Sanity's Eclipse will not cause damage. Sanity's Eclipse can hit units trapped by Astral Imprisonment.

- Ion Shell
- Surrounds the target unit with a bristling shield that damages enemy units in an area around it.
- Surge
- Charges a target friendly unit with power, giving it a brief burst of movement speed and removes unit collisions. Allows the unit to surpass the movement speed limit and cannot be slowed.
- Wall of Replica
- Raises a wall of warping light that slows and creates replicas of any enemy hero who crosses it. Enemy replicas serve at the Dark Seer's will. Replicas last until they are destroyed, or until the wall's duration ends. Upgradable by Aghanim's Scepter.


Jacksonville Jaguars not inspired by Jorfa Archer as Texans dominate NFL London 2019 finale
HOUSTON TEXANS 26-3 JACKSONVILLE JAGUARS: DeShaun Watson's playoff contenders ran out victorious at Wembley
by Keith Webster, https://www.mirror.co.uk/authors/keith-webster/Jofra Archer lit up the home of cricket as England won the World Cup in the summer.
He was given a hero’s welcome at the home of football on Sunday, as he watched Jacksonville take on Houston.
But despite coming dressed in Jaguars’ quarterback Gardner Minshew’s No.15 shirt, England’s 96mph bowler could not inspire the Florida team to victory as they were soundly beaten and left with little hope of reaching the playoffs.
DeShaun Watson threw for 201 yards and two touchdowns for the Texans while DeAndre Hopkins caught eight passes, one of them for the game-clinching touchdown.
The Jaguars arrived in London with a lot of promise but left empty-handed and with their season in disarray, having lost five of their nine games this season.
They have seven games left and will probably need to win six of them to have any chance of a place in the January playoffs.
But while the Jags’ record fell to 4-5, Houston improved to 6-3 and remain well in contention in the race for February’s Super Bowl.
Carlos Hyde ran for 160 yards but had the embarrassing moment of the day when he exploded out of the blocks on a 58-yard run down the left sideline only to drop the ball two yards from the goal line on what should have been a 60-yard touchdown run.
It made no difference in the end as, with Archer looking, the Jaguars were stumped for answers and left facing a long flight home.


{% extends "siem/base.html" %} {% block sub-title %}Delete Parse Helper | {% endblock %} {% block content-main %}
Are you sure you want to delete parser {{ ph }}?


Majors Series
Home
Standings
Schedule
Drivers
Register
Paint Shop
About
This is where the Standings will be located


Provides for the database driver encapsulation.
Package Specification
The classes in this package provide an implementation for different
relational database management backend systems. The correct backend
system is dynamically instantiated, steered through properties.
Shown in black are implemented drivers. Red and black show non-working
implementations. In red are shown projected drivers that won't work at
all.
To provide an alternative implementation for an rDBMS, you need to
extend {@link org.griphyn.vdl.dbdriver.DatabaseDriver}.
Related Documentation
For overviews, tutorials, examples, guides, and tool documentation,
please see:
The following properties are understood by most if not all JDBC drivers.
Please note the GVDS-specific prefix. The asterisk should either be used
literally, meaning that the driver configuration applies to all
catalogs, or with the appropriate catalog abbreviation (vdc, ptc,
tc):
vds.db.*.driver
- This property names the class that implements
the {@link org.griphyn.vdl.dbdriver.DatabaseDriver} for a specific
database engine. If the value is a identifier without periods, the prefix
org.griphyn.vdl.dbdrivers.
is assumed. Otherwise, the
value denotes the complete Java path to the implementing class. Being
a class name, capitalization is important.
vds.db.*.driver.url
- The URL under which a database may be access. This URL is often
specific to the database itself. However, usually it contains the
host and port (or file) to contact the rDBMS, and the name of the
database within the rDBMS.
vds.db.*.driver.user
- This property specifies the name of the database user as which
to connect to the database.
vds.db.*.driver.password
- The password property specifies the password of the database user.
@see org.griphyn.vdl.dbschema


public class UserProfile extends java.lang.Object implements Observable
| Constructor and Description |
|---|
UserProfile()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addObserver(java.util.Observer observer)
Adds the specified observer to the list of observers.
|
void |
deleteObserver(java.util.Observer observer)
Removes the specified observer from the list of observers.
|
java.lang.Boolean |
getArePhotosDownloadable()
Returns Boolean on whether photo download setting is set.
|
java.lang.String |
getCity()
Returns the user's city.
|
ContactInfo |
getContactInfo()
Returns User's
ContactInfo instance. |
android.location.Location |
getDefaultLocation()
Returns the default location specifying where a trinket is located.
|
java.lang.String |
getEmail()
Returns the user's email address.
|
java.lang.String |
getName()
Returns the user's name.
|
java.lang.Boolean |
getNeedToSave()
Returns a boolean indicating if the
User with this
contact information needs to be saved to the network. |
java.lang.String |
getPostalCode()
Returns the user's postal code This is a String the user sets if they wish to provide some contact
information in addition to their email.
|
java.lang.String |
getUsername()
Returns user's username.
|
void |
notifyObservers()
If
hasChanged() returns true , calls the update()
method for every observer in the list of observers using null as the
argument. |
void |
setArePhotosDownloadable(java.lang.Boolean arePhotosDownloadable)
Set whether photos are downloadable.
|
void |
setCity(java.lang.String city)
Sets the user's city.
|
void |
setContactInfo(ContactInfo contactInfo)
Sets user's ContactInfo instance.
|
void |
setDefaultLocation(android.location.Location defaultLocation)
Sets the default location specifying where a trinket is located.
|
void |
setEmail(java.lang.String email)
Sets the user's email address.
|
void |
setName(java.lang.String name)
Sets the user's name.
|
void |
setPostalCode(java.lang.String postalCode)
Sets the user's postal code.
|
void |
setUsername(java.lang.String username)
Sets user's username.
|
public UserProfile()
Trinkets
is the phone's GPS location. This constructor is called when a user logs in to the app. As this
user should be saved so that their profile can be accessed from the network later, by default
needToSave is set to true, indicating that the user should be saved to the network.public void addObserver(java.util.Observer observer)
addObserver
in interface Observable
observer
- the Observer to add.public void deleteObserver(java.util.Observer observer)
deleteObserver
in interface Observable
observer
- the observer to remove.public void notifyObservers()
hasChanged()
returns true
, calls the update()
method for every observer in the list of observers using null as the
argument. Afterwards, calls clearChanged()
.
Equivalent to calling notifyObservers(null)
.notifyObservers
in interface Observable
public java.lang.Boolean getArePhotosDownloadable()
public void setArePhotosDownloadable(java.lang.Boolean arePhotosDownloadable)
arePhotosDownloadable
- - true if photos are automatically downloaded, false if they must be manually downloadedpublic java.lang.String getCity()
EditUserProfileActivity
.public void setCity(java.lang.String city)
EditUserProfileActivity
.city
- - the user's city. Optional, so may be an empty stringpublic ContactInfo getContactInfo()
ContactInfo
instance. This is a container for all the user's
contact information, including their name, address, city, postal code, and phone number. All these
fields are optional so any field in ContactInfo may be an empty string.public void setContactInfo(ContactInfo contactInfo)
contactInfo
- - a class containing the optional contact information of the userpublic java.lang.String getEmail()
TradeReceivedController
.public void setEmail(java.lang.String email)
LoginActivity
and logs in for the first time.email
- - the user's email address they enter to log inpublic java.lang.String getName()
EditUserProfileActivity
.public void setName(java.lang.String name)
EditUserProfileActivity
.name
- - the user's name. Optional, so may be an empty stringpublic java.lang.String getPostalCode()
EditUserProfileActivity
.public void setPostalCode(java.lang.String postalCode)
EditUserProfileActivity
.postalCode
- - the user's postal code. Optional, so may be an empty stringpublic java.lang.String getUsername()
public void setUsername(java.lang.String username)
username
- - the user's username, which is their email addresspublic java.lang.Boolean getNeedToSave()
User
with this
contact information needs to be saved to the network. If the contact information of the user has
been changed then needToSave is set to true and the user needs to be saved. Otherwise, this should
return false indicating that the user does not need to be saved.public android.location.Location getDefaultLocation()
Trinket's
location will be set to by default.public void setDefaultLocation(android.location.Location defaultLocation)
defaultLocation
- - the location that a Trinket's
location will be set to by default.


Robo-Translator
Enter a number, or many numbers, to have them translated into "robot speech"!
Enter Number Here --->
Submit!


---
name: emulator
layout: post
title: Nook 1.2 emulator
tags: android programming eclipse java
category: Android
---
I was able to build an emulator for Nook version 1.2. See my previous post for the prerequisites. Basically you need some utilities installed: smali, baksmali, unyaffs, and mkyaffs2image. You also need the Android SDK installed on your computer.
Here are the steps:
1: download the nook 1.2 soft-root image from nookdevs. For the rest of this post I assume you have copied it into the directory ~/nook_dev/ and we will be working on it from there.
2. extract the bravo_update.dat, cd into it and extract root.tgz
{% highlight bash %}
mv bravo_update.dat bravo_update-1.2.tar.gz
tar xvzf bravo_update-1.2.tar.gz
{% endhighlight %}
3. extract root.tgz
{% highlight bash %}
cd Firmware_Update
tar xvzf root.tgz
cd root
{% endhighlight %}
4. cd into system/framework and unjar services.jar
{% highlight bash %}
cd system/framework/
jar xvf services.jar
{% endhighlight %}
5. disassemble the classes.dex file inside services.jar
{% highlight bash %}baksmali classes.dex{% endhighlight %}
6. vi out/com/android/server/ServerThread.smali
search for a line that contains
{% highlight bash %}
if-lt v0, v1, :cond_309
{% endhighlight %}
delete that line.
7. reassemble out/ directory
{% highlight bash %}
smali out/
{% endhighlight %}
8. copy the new out.dex over the old classes.dex and re-jar services.jar
{% highlight bash %}
mv out.dex classes.dex
jar cvf services.jar classes.dex
{% endhighlight %}
Now we are going to build an android AVD, so we can extract a single file to use back in this system.
9.
This starts the Android SDK and AVD Manager. To create a new AVD, click New...
Name: nook
Target: Android 1.5
Size:
Skin: click Resolution, and fill in 488 x 944
click "Create AVD".
Then click "Details" to see where it was created. It should be at ~/.android/avd/nook.avd
10. unyaffs the system.img and grab a file
{% highlight bash %}
cd ~/nook_dev/
mkdir sys_img
cd sys_img
cp ~/android-sdk-linux_86/platforms/android-3/images/system.img .
unyaffs system.img
cp lib/libaudioflinger.so ~/nook_dev/Firmware_Update/Firmware_Update/system/lib/libaudioflinger.so
{% endhighlight %}
11. re-create the system.img with the new audio file.
{% highlight bash %}
cd ~/nook_dev/Firmware_Update/Firmware_Update/
mkyaffs2image ./system/ system.img
{% endhighlight %} this creates a new system.img
12. Sketchy step where you overwrite the good Android 1.5 platform system.img in your Android SDK with this new one.
{% highlight bash %}
mv ~/android-sdk-linux_86/platforms/android-3/images/system.img ~/android-sdk-linux_86/platforms/android-3/images/good.img
cp ~/nook_dev/Firmware_Update/Firmware_Update/system.img ~/android-sdk-linux_86/platforms/android-3/images/system.img
{% endhighlight %}
Remember to change this back later if you want to do non-nook related Android Development.
13. run the emulator!
{% highlight bash %}
emulator @nook -shell -show-kernel -verbose
{% endhighlight %}


{% extends 'base.html' %} {% block body %}
Don't keep it to yourself, invite your friends to join DL101 with you.


Site
Login
Today
Yesterday
Month
Predic.
Balance
Sites
Settings
About
⇐
Add site
Add site
Remove site
⇐
Dummi
No account?
Sign up
Description:
⇐
Settings
Convert to a common currency
not convert
To RUR
To USD
Decimal places
0
1
2
Hide login column
Hide predic. column
⇐
About extension
Income Monitor
Rate extension
feature request, bug report


Making music with JavaScript and Gamepads
Reject.js 2013
I was lucky to be able to attend JSConf.eu last year and there was one talk that blew my mind. It was about Web Audio API and inspired me to talk here now! Thanks Stuart Memo!
What to expect
Web Audio API
+
Gamepad API
=
<3 *
* both are drafts, examples only work in Chrome for now
bleeding edge, examples may outdate fast, for sake of simplicity Chrome only for now, sorry FF :(
motivation: learning new things (audio essentials), experiment, preparation for masther thesis
Web Audio API
low-level access to all things audio
create sounds
manipulate sounds (filters)
timing sounds precisely
tons of other cool stuff (spatial audio, audio analysis)
create: literally! create sounds from waves
manipulate: a rich api to create custom filters easily
precision: timing is everything when dealing with more than one sound
Who feels comfortable with his knowledge about the physical basics of audio?
What is sound?
"Sound is a mechanical wave that is an oscillation of pressure transmitted through some medium, composed of frequencies within the range of hearing."
- Wikipedia
I just want to get the basics right.
when I stomp my feet on the ground, a pressure wave is created that oscillates and wanders through the ear into your ears
What does sound look like?
a 61 Hertz tone in slow motion
the speakers in this room are right now doing exactly the same
we can see the sine movement
When contrast is too low: CTRL + ALT + CMD + 8 to the rescue
Let's oscillate!
var context = new AudioContext();
var oscillator = context.createOscillator();
oscillator.type = "sine"; // -> sine
oscillator.frequency.value = 22000;
oscillator.connect(context.destination);
oscillator.start(0);
Play 22kHz
Play from range
Sine
Square
Triangle
Sawtooth
Stop
context: same as with a canvas object
there are several forms of waves: sine, sawtooth, triangle
spot the biological error ;) -> humans can't hear 22kHz
Let's play sounds from files
1. Load the file
var xhr = new XMLHttpRequest();
xhr.open('GET', '/get_lucky.mp3', true);
xhr.responseType = 'arraybuffer';
xhr.onload = processFile
xhr.send();
Weee, it's only AJAX, we don't need to know anything new :) -> maybe the arraybuffer
Let's play sounds from files
2. Process the response
context.decodeAudioData(xhr.response, function(buffer) {
songBuffer = buffer;
}, function(e) {
console.log('Whoops, sth. went wrong');
});
Let's play sounds from files
3. Play it
var source = context.createBufferSource();
source.buffer = songBuffer;
source.connect(context.destination);
source.start(0);
Play 'Get Lucky' from Daft Punk
Play a GEMA-free song
Let's for example play Get Lucky
thanks for interfering with my talk GEMA!!!
IMPORTANT: such nodes are one-off nodes, once you stop them, you can't play them again, you have to create a new node, Buffers still exist
Filters
change the output by manipulating the frequency spectrum
most basic filters are already implemented
custom filters can be created easily
custom filters need to be highly performant, people who have been to nodecopter.js last year know the limits of JS-processing, when they were analyzing image date, same need for speed here...I will not cover custom filters, because it's too complex
Basic filters
var filter = context.createBiquadFilter();
filter.type = filter.LOWPASS;
filter.frequency.value = 100;
// put the filter in between song and speakers
song.connect(filter);
filter.connect(context.destination);
Basic filters
Timing
Timing is key!
before: setTimeout / requestAnimationFrame
lots of offset-calculations
inaccurate
timing beats, songs, bits of songs
everyone hears that somethings's wrong in a song when beats are off just for some miliseconds
professional musicians even sometimes complain about delays on stage
scientific fact: people can adopt to delays, when it's stable ;)
Timing in Web Audio
Timing is relative to the current context!
context.currentTime // -> time bar in seconds
context.currentTime is like a time bar, it starts once you play the first tune and will then go on forever...
Timing in Web Audio
Let's start a buffer in 2 seconds
sourceNode.start(context.currentTime + 2);
sourceNode.start(when, offset, duration);
Play with 2s delay
Play with some offset
Stop in 2s
when: start at that time on the time bar, if < currentTime then starts immediately;; offset: offset in the current buffer
same goes for the stop method
imagein how hard it would be to code that with settimeout, setinterval
NO MORE SETTIMEOUT!!!!
Timing in Web Audio: Future Value(s)
The API even allows to set values in the future:
node.gain.setValueAtTime(.2, currentTime + 5);
node.gain.linearRampToValueAtTime(0, currentTime + 5);
Set gain to .2 in five seconds
gain = volume
linear, exponential, event own curves, but too complex to show now
Demos
The hello world of Web Audio API - a drum machine
Plink!
Jam with chrome
what can you use the API for
if you want to get started with the web audio API, I suggest you start by implementing a drum machine, it's not too hard and you'll get familiar with the timing system, nodes and buffers very easily
the current implementation uses buffers, but synthetic sounds are possible, too
you can do literally everything audio related with it, cut music, mix music, maybe even build a mini garageband in the browser (my master thesis btw)
Let's talk about Gamepads and Gaming
More complex games are written in JS (Canvas, WebGL)
Controlling games: W, A, S, D or arrows + mouse + keys
Problem: digital vs. analogue values
Wouldn't it be nice to use gamepads in your browser?
digital: only zero and one values when pressing a buttons
analogue: values between zero and one, where zero is minimum and one is maximum
granular intensity, axes on buttons
e.g. speed of character
mocking is possible by adjusting speed based on time a button is pressed
Introducing: Gamepad API
Use all your favorite Gamepads in your browser!
Gamepad API 101
var gamepads = navigator.webkitGetGamepads()
var firstPad = gamepads[0];
firstPad.buttons; // -> Array[17]
firstPad.buttons[0]; // -> 0
Short reminder: again the examples only work in chrome/webkit
Wow, what? 17 Buttons?
aaand we're digital again -> buttons are digital
Gamepad API 101
firstPad.axes; // -> Array[4]
firstPad.axes[0]; // -> 0.38765
Axes range from -1 to 1
this is where you get the precision
But how am I supposed to know which button has which index?
Did you notice something?
var gamepads = navigator.webkitGetGamepads()
var firstPad = gamepads[0];
firstPad.buttons; // -> Array[17]
firstPad.buttons[0]; // -> 0
It's not event-driven!
API is designed for usage in games
Games often have an update()-loop where they poll gamepad states
We're back at requestAnimationFrame
Events may be added in the future
Not event driven? But why? How? What?
Polling for available gamepads and each of their states necessary
Not common for web developers but easy to adopt to
How do we combine the APIs?
if(gamepad.buttons[0] == 1)
sound.start(0);
Let me show you how that works
But...
Let's talk about Gamepads again!
What exactly qualifies as a Gamepad?
"If it has a button, it is a Gamepad!™ "*
* (assuming that your browser knows how to interface it)
Wasn't that fun?
Unluckily gamepads like this one don't really qualify for music production, so what are the alternatives?
Guitar Hero guitar
guitar.js / alleinunterhalter.js
Let's play some guitar
(Don't forget to tune the guitar!)
Unforunately my xbox drum kit died yesterday, I was raging...in general it works, it would have been a band playing on stage then and not just a solo-entertainer <-- explain this while playing
DJ Hero turntable
DJ Hero is Guitar Hero with turntables
looks way more suited to music making, doesn't it? DESCRIBE BUTTONS!
The best part about it: the gamepad api is capable of dealing with it!
Let's see what we can do with it :)
dj.js
Connect your DJ Hero Gamepad and mix it!
(Push the button as if you were Skrillex!)
Originally this demo wasn't planned but since the drum set broke down, I had to come up with something new ;)
DISCLAIMER: no scratching!!!!! Will explain later!
explain functionality: gain, effects, cue-ing, tunrtable(-lock)
first time dj performance in front of anyone else but the wasps in my room :D
API problems (Web Audio API)
Still unstable: browser may crash when doing fancy stuff
No negative playbackRate, yet
currentTime of BufferNodes would be aweswome
Only one destination for now
especially when it came to custom-filters it was very unstable
negative playback is needed for scratching :D
currently this needs to be calculated in relation to to context - even the audio element has it!
DJs need to pre-listen to parts of the songs to mix properly, therefore two soundcards are used, currently there's only one speaker to connect the sounds to
API problems (Gamepad API)
Unstable API (FF/Chrome incomptatible)
Events, please ;)
Let me talk to the Gamepad: rumble, LEDs
Sometimes unstable and doesn't connect the Gamepads
Please add the Guitar Hero drum kit, so we can have a rockband.js
Wrapping it up
The Web Audio API is incredibly powerful
The Gampad API is awesome and easy to use
When combined, they allow to play 'real' instruments in your browser
I can see things like Garageband.js with DJ equipment in the future!
THX so much for your attention!
I hope that I will find another working drum kit so that we can have a nice rockband.js in the future, thx :)


FROM: Dr. John Mikado. Director of Projects, DME, South Africa. I am Dr. John Mikado, Director of projects Implementation South Africa Department of Minerals & Energy. First and foremost, I apologized using this medium to reach you for a transaction / business of this magnitude, but this is due to confidentiality and prompt access reposed on this medium. In unfolding this proposal, I want to count on you as a respected & honest person to handle this transaction with sincerity, trust & confidentiality. I have decided to seek a confidential co-operation with you in the execution of the deal described hereunder for the benefit of all parties and hope you will keep confidential because of the nature of the transaction. Within the Department of Minerals & Energy where I work as a director of projects Implementation and with the co-operation of three other top officials, we have in our possession as overdue payment bills totaling 28.5million US dollars. which we want to transfer abroad with the assistance and co-operation of a company or individual to receive the said funds on our behalf. We are seeking your assistance to front as beneficiary of the said funds, More so, we are handicapped in the circumstance as the South Africa Civil Service code of conduct does not allow us to operate foreign account hence your importance in the whole transaction. This amount (US$28.5m) represents the balance of the total contract value executed on behalf of my Department by a foreign contracting firm which we the officials over-invoiced deliberately. Though the actual contract cost have been paid to the original contractor, leaving the balance of the US$28.5m. which we have in principle gotten approvals from the Department of Finance and the contract review and payment committee to transfer by telegraphic transfer to any bank account you will provide. It does not matter whether you or your company does contract projects as a transfer of power and privileges with details & change of information upon application to reflect payment in favour of you or your company will be secured on behalf of you or your company. I have the mandate of my partners involved to propose that should you be willing to assist us in the transaction, your share of the sum will be US$7.125m 25% of the US$28.5 million, US$19.95m 70% for us and US$1.425m 5% for taxation and miscellaneous expenses. The business itself is 100% safe and secure, on your part provided you treat it with ultmost confidentiality. Also, your area of trade or specialization is not an hindrance to the successful execution of this transaction. I have reposed my confidence in you and hope that you will not disappoint me. Please, endeavour to contact me immediately through my email for further clarifications. I want to assure you that myself and my partners are in the position to make the payment of this funds possible provided you can give us a very strong assurance and guarantee that our share will be secured and please remember to treat this matter as very confidential, and remember once again that time is of the essence in this business. I wait in anticipation of your fullest co-operation. Best Regards, Dr. John Mikado. NB: please reply with your confidential contact phone & fax numbers, to enable me contact you urgently for further clarifications.


|
Supersonic
(Oasis) |
|
I
need to be myself
I can't be no one else I'm feeling supersonic Give me gin and tonic You can have it all but how much do you want it?  You can sail with me in my yellow submarine You need to find out 'Cos no one's gonna tell you what I'm on about You need to find a way for what you want to say But before tomorrow 'Cos my friend said he'd take you home He sits in a corner all alone He lives under a waterfall No body can see him No body can ever hear him call You need to be yourself You can't be no one else I know a girl called Elsa She's into Alka Seltzer She sniffs it through a cane on a supersonic train She made me laugh I got her autograph She done it with a doctor on a helicopter She's sniffin in her tissue Sellin' the Big Issue She needs to find out 'Cos no one's gonna tell you what I'm on about She needs to find a way for what she wants to say But before tomorrow 'Cos my friend said he'd take you home He sits in a corner all alone He lives under a waterfall No body can see him No body can ever hear him call |


Con-Air A Film Review By Jesse A. Kaplan
Cast: Nicholas Cage, John Cusack, John Malkovich, Steve Bushemi, Ving Rhames, Colin Meamy and a bunch of no-name Cons Produced by Jerry Bruckheimer Directed by Simon West
Is this the sequal to THE ROCK? Thats what I was wondering as I first saw the trailers for this movie.  Apparently thats what he wants us to believe. Segal, Ford, Stallone, Willis are all getting older so why not a new one. Well, I don't know if Cage can be that guy.
Cage (THE ROCK, LEAVING LAS VEGAS) stars as Cameron Poe, an imprisoned man going home to his family after eight years in the big house. You see, Poe is one of those Movie heroes who is perfect in every regard. He was in jail because he defended his wife from some thugs and accidentally killed a man. On his way home, aboard a plane, The Prisoners of whom he was travveling with take control of the plane and he is forced to react back. The Cons are lead by Cyrus "The Virus", a man so deadly he has diseases named after him. I'm not sure hwy all the prisenors started listening to him aboard the plane, I could actully smell the bad breath from the auidence. Anyway, they take over the plane and Cage is a good guy up there who must stop them. On the ground, FBI agent Vince Larken (John Cusack, CITY HALL, GROSSE POINT BLANK) is trying to salvage the plane.  What to say about CON AIR? You know exactly whats going to happen the whole way. This is a predictible noisy thriller. Where THE ROCK had great acting, an exciting plot and great editing, CON AIR has neither. Malkovich is not convincing nor Cage. Cusack gives one of the few good performances in this flim. Another good one goes to Steve Bushemi (PULP FICTION, FARGO), whom I always like, as a Hanibal Lecter charachter. He gets all the best lines. CON AIR has some good scenes no doubt, but the main reason it falls is beacuse you have seen it all before. Forget this film and go see AIR FORCE ONE for some real terror in the skies. For some good laughs, decent action and John Cusack's performance, I give this film **1/2. It's Rated R for graphic language and violence.
* = Poor show. Don't waste your money. Ex. 8 Head's in a dufflebag 0 = Totally and painfully unbearable picture. Ex. Congo, Batman and Robin
Copyright 1997 Jesse A. Kaplan
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


| Name | {{ roomDetails2.name }} |
| Start Date | {{ roomDetails2.startDate | date:"MM/dd/yyyy 'at' h:mma" }} |
| End Date | {{ roomDetails2.endDate | date:"MM/dd/yyyy 'at' h:mma" }} |
| Size | {{ roomDetails2.roomSize }} |
| Available | {{ roomDetails2.available }} |
| Clock Start | |
| Clock Start | |
| Button |


Nancy Demo
Session Example
Hello there :
@Model.FullName
who can be contacted at
@Model.EmailAddress
and lives in
@Model.ResidencePlace
Return back
to the input form page
or
Click Here
to clear the entered data


3. Animate
Animate!
4. XHR
do a request
5. Confirm
use custom confirm dialog
do some action
Confirm
OK
Cancel


VIEW ALL
SEARCH
DELETE
ASIGN STUDENT MENTOR
CONTACT DETAILS
LOGOUT
ADMIN DASHBOARD
STUDENT DETAILS
TEACHERS DETAILS