Each FROM clause expression must resolve to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.
For example:
SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
The entry value collection is iterated by the WHERE clause, comparing the status field to the string ‘active’. When a match is found, the value object of the entry is added to the return set.
In the next example query, the collection specified in the first FROM clause expression is used by the rest of the SELECT statement, including the second FROM clause expression.
SELECT DISTINCT * FROM /exampleRegion, positions.values p WHERE p.qty > 1000.00
Implementing equals and hashCode Methods
You must implement the equals
and hashCode
methods in your custom objects if you are doing ORDER BY and DISTINCT queries on the objects. The methods must conform to the properties and behavior documented in the online Java API documentation for java.lang.Object
. Inconsistent query results may occur if these methods are absent.
If you have implemented equals
and hashCode
methods in your custom objects, you must provide detailed implementations of these methods so that queries execute properly against the objects. For example, assume that you have defined a custom object (CustomObject) with the following variables:
int ID
int otherValue
Let’s put two CustomObjects (we’ll call them CustomObjectA and CustomObjectB) into the cache:
CustomObjectA:
ID=1
otherValue=1
CustomObjectB:
ID=1
otherValue=2
If you have implemented the equals method to simply match on the ID field (ID == ID), queries will produce unpredictable results.
The following query:
SELECT * FROM /CustomObjects c
WHERE c.ID > 1 AND c.ID < 3
AND c.otherValue > 0 AND c.otherValue < 3
returns two objects, however the objects will be two of either CustomObjectA or CustomObjectB.
Alternately, the following query:
SELECT * FROM /CustomObjects c
WHERE c.ID > 1 AND c.ID < 3
AND c.otherValue > 1 AND c.otherValue < 3
returns either 0 results or 2 results of CustomObjectB, depending on which entry is evaluated last.
To avoid unpredictable querying behavior, implement detailed versions of the equals
and hashCode
methods.
If you are comparing a non-primitive field of the object in the WHERE clause, use the equals
method instead of the =
operator. For example instead of nonPrimitiveObj = objToBeCompared
use nonPrimitiveObj.equals(objToBeCompared)
.
Querying Serialized Objects
Objects must implement serializable if you will be querying partitioned regions or if you are performing client-server querying.
If you are using PDX serialization, you can access the values of individual fields without having to deserialize the entire object. This is accomplished by using PdxInstance, which is a wrapper around the serialized stream. The PdxInstance provides a helper method that takes field-name and returns the value without deserializing the object. While evaluating the query, the query engine will access field values by calling the getField method thus avoiding deserialization.
To use PdxInstances in querying, ensure that PDX serialization reads are enabled in your server’s cache. In gfsh, execute the following command before starting up your data members:
gfsh>configure pdx --read-serialized=true
See configure pdx for more information.
In cache.xml, set the following:
// Cache configuration setting PDX read behavior
<cache>
<pdx read-serialized="true">
...
</pdx>
</cache>
Attribute Visibility
You can access any object or object attribute that is available in the current scope of a query. In querying, an object’s attribute is any identifier that can be mapped to a public field or method in the object. In the FROM specification, any object that is in scope is valid. Therefore, at the beginning of a query, all locally cached regions and their attributes are in scope.
For attribute Position.secId which is public and has getter method “getSecId()”, the query can be written as the following:
SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.secId = '1'
SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.SecId = '1'
SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.getSecId() = '1'
The query engine tries to evaluate the value using the public field value. If a public field value is not found, it makes a get call using field name (note that the first character is uppercase.)
Joins
If collections in the FROM clause are not related to each other, the WHERE clause can be used to join them.
The statement below returns all portfolios from the /exampleRegion and /exampleRegion2 regions that have the same status.
SELECT * FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
To create indexes for region joins you create single-region indexes for both sides of the join condition. These are used during query execution for the join condition. Partitioned regions do not support region joins. For more information on indexes, see Working with Indexes.
Examples:
Query two regions. Return the ID and status for portfolios that have the same status.
SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
Query two regions, iterating over all positions
within each portfolio. Return all 4-tuples consisting of the value from each of the two regions and the value portion of the positions
map from both regions in which the secId
field of positions match.
SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE positions1.secId = positions2.secId
Same query as the previous example, with the additional constraint that matches will have a ID
of 1.
SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE portfolio1.ID = 1 AND positions1.secId = positions2.secId
LIKE
Geode offers limited support for the LIKE predicate. LIKE can be used to mean 'equals to’. If you terminate the string with a wildcard (’%’), it behaves like 'starts with’. You can also place a wildcard (either ’%’ or ’_’) at any other position in the comparison string. You can escape the wildcard characters to represent the characters themselves.
Note: The ’*’ wildcard is not supported in OQL LIKE predicates.
You can also use the LIKE predicate when an index is present.
Examples:
Query the region. Return all objects where status equals 'active’:
SELECT * FROM /exampleRegion p WHERE p.status LIKE 'active'
Query the region using a wild card for comparison. Returns all objects where status begins with 'activ’:
SELECT * FROM /exampleRegion p WHERE p.status LIKE 'activ%'
Case Insensitive Fields
You can use the Java String class methods toUpperCase
and toLowerCase
to transform fields where you want to perform a case-insensitive search. For example:
SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
or
SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
Method Invocations
To use a method in a query, use the attribute name that maps to the public method you want to invoke.
SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.size >= 2 - maps to positions.size()
Methods declared to return void evaluate to null when invoked through the query processor.
You cannot invoke a static method. See Enum Objects for more information.
Methods without parameters
If the attribute name maps to a public method that takes no parameters, just include the method name in the query string as an attribute. For example, emps.isEmpty is equivalent to emps.isEmpty().
In the following example, the query invokes isEmpty on positions, and returns the set of all portfolios with no positions:
SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.isEmpty
Methods with parameters
To invoke methods with parameters, include the method name in the query string as an attribute and provide method arguments between parentheses.
This example passes the argument “Bo” to the public method, and returns all names that begin with “Bo”.
SELECT DISTINCT * FROM /exampleRegion p WHERE p.name.startsWith('Bo')
For overloaded methods, the query processor decides which method to call by matching the runtime argument types with the parameter types required by the method. If only one method’s signature matches the parameters provided, it is invoked. The query processor uses runtime types to match method signatures.
If more than one method can be invoked, the query processor chooses the method whose parameter types are the most specific for the given arguments. For example, if an overloaded method includes versions with the same number of arguments, but one takes a Person type as an argument and the other takes an Employee type, derived from Person, Employee is the more specific object type. If the argument passed to the method is compatible with both types, the query processor uses the method with the Employee parameter type.
The query processor uses the runtime types of the parameters and the receiver to determine the proper method to invoke. Because runtime types are used, an argument with a null value has no typing information, and so can be matched with any object type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an AmbiguousNameException
.
Methods calls with the SecurityManager
enabled
When the SecurityManager
is enabled,
Geode throws a NotAuthorizedException
when any
method not on this list of whitelisted methods is invoked:
- On a
Map
,Collection
, orRegion
object:keySet
,entrySet
,values
,containsKey
orget
- On a
Region.Entry
object:getKey
orgetValue
- On a
Date
orTimestamp
object:after
,before
,getNanos
, orgetTime
- On a
String
object: any method - On any
Number
object:intValue
,longValue
,shortValue
, etc. - On any
Boolean
object:booleanValue
- On any object:
equals
,compareTo
, ortoString
To disable the authorization check,
start all servers with the added system property
gemfire.QueryService.allowUntrustedMethodInvocation
.
For example:
gfsh>start server --name=Server1 \
--J=-Dgemfire.QueryService.allowUntrustedMethodInvocation=true
Enum Objects
To write a query based on the value of an Enum object field, you must use the toString
method of the enum object or use a query bind parameter.
For example, the following query is NOT valid:
//INVALID QUERY
select distinct * from /QueryRegion0 where aDay = Day.Wednesday
The reason it is invalid is that the call to Day.Wednesday
involves a static class and method invocation which is not supported.
Enum types can be queried by using toString method of the enum object or by using bind parameter. When you query using the toString method, you must already know the constraint value that you wish to query. In the following first example, the known value is 'active’.
Examples:
Query enum type using the toString method:
// eStatus is an enum with values 'active' and 'inactive'
select * from /exampleRegion p where p.eStatus.toString() = 'active'
Query enum type using a bind parameter. The value of the desired Enum field ( Day.Wednesday) is passed as an execution parameter:
select distinct * from /QueryRegion0 where aDay = $1
IN and SET
The IN expression is a boolean indicating if one expression is present inside a collection of expressions of compatible type. The determination is based on the expressions’ equals semantics.
If e1
and e2
are expressions, e2
is a collection, and e1
is an object or a literal whose type is a subtype or the same type as the elements of e2
, then e1 IN e2
is an expression of type boolean.
The expression returns:
- TRUE if e1 is not UNDEFINED and is contained in collection e2
- FALSE if e1 is not UNDEFINED and is not contained in collection e2 #
- UNDEFINED if e1 is UNDEFINED
For example, 2 IN SET(1, 2, 3)
is TRUE.
Another example is when the collection you are querying into is defined by a subquery. This query looks for companies that have an active portfolio on file:
SELECT name, address FROM /company
WHERE id IN (SELECT id FROM /portfolios WHERE status = 'active')
The interior SELECT statement returns a collection of ids for all /portfolios entries whose status is active. The exterior SELECT iterates over /company, comparing each entry’s id with this collection. For each entry, if the IN expression returns TRUE, the associated name and address are added to the outer SELECT’s collection.
Comparing Set Values
The following is an example of a set value type comparison where sp is of type Set:
SELECT * FROM /exampleRegion WHERE sp = set('20','21','22')
In this case, if sp only contains '20’ and '21’, then the query will evalute to false. The query compares the two sets and looks for the presence of all elements in both sets.
For other collections types like list, the query can be written as follows:
SELECT * FROM /exampleRegion WHERE sp.containsAll(set('20','21','22))
where sp is of type List.
In order to use it for Set value, the query can be written as:
SELECT * FROM /exampleRegion WHERE sp IN SET (set('20','21','22'),set('10',11','12'))
where a set value is searched in collection of set values.
One problem is that you cannot create indexes on Set or List types (collection types) that are not comparable. To workaround this, you can create an index on a custom collection type that implements Comparable.
Double.NaN and Float.NaN Comparisons
The comparison behavior of Double.NaN and Float.NaN within Geode queries follow the semantics of the JDK methods Float.compareTo and Double.compareTo.
In summary, the comparisons differ in the following ways from those performed by the Java language numerical comparison operators (<, <=, ==, >= >) when applied to primitive double [float] values:
- Double.NaN [Float.NaN] is considered to be equal to itself and greater than all other double [float] values (including Double.POSITIVE_INFINITY [Float.POSITIVE_INFINITY]).
- 0.0d [0.0f] is considered by this method to be greater than -0.0d [-0.0f].
Therefore, Double.NaN[Float.NaN] is considered to be larger than Double.POSITIVE_INFINITY[Float.POSITIVE_INFINITY]. Here are some example queries and what to expect.
| If p.value is NaN, the following query: | Evaluates to: | Appears in the result set? |
|---|---|---|
SELECT * FROM /positions p WHERE p.value = 0 |
false | no |
SELECT * FROM /positions p WHERE p.value > 0 |
true | yes |
SELECT * FROM /positions p WHERE p.value >= 0 |
true | yes |
SELECT * FROM /positions p WHERE p.value < 0 |
false | no |
SELECT * FROM /positions p WHERE p.value <= 0 |
false | no |
| When p.value and p.value1 are both NaN, the following query: | Evaluates to: | Appears in the result set: |
SELECT * FROM /positions p WHERE p.value = p.value1 |
true | yes |
If you combine values when defining the following query in your code, when the query is executed the value itself is considered UNDEFINED when parsed and will not be returned in the result set.
String query = "SELECT * FROM /positions p WHERE p.value =" + Float.NaN
Executing this query, the value itself is considered UNDEFINED when parsed and will not be returned in the result set.
To retrieve NaN values without having another field already stored as NaN, you can define the following query in your code:
String query = "SELECT * FROM /positions p WHERE p.value > " + Float.MAX_VALUE;
Arithmetic Operations
Arithmetic operators may be used in any expression.
For example, this query selects all people with a body mass index less than 25:
String query = "SELECT * FROM /people p WHERE p.height * p.height/p.weight < 25";


add to my page
BBC News | News Front Page | World Edition
[
collapse
|
expand
]
France seeks to extend crisis law
5 hours ago
Andijan 'plot' suspects jailed
3 hours ago
Russians held in China spy probe
3 hours ago
Russian agents arrest the head of a Russian rocket technology firm on charges of spying for China.
more »
Drug fakes hurt malaria fight
7 hours ago
Twin bombings kill three in Kabul
1 hour ago
A peacekeeper and two others are killed in two car bomb attacks in the Afghan capital, Kabul, police say.
more »


RipEnc: Usage
Before you begin encoding, make sure cddblinkd is running and that you've mounted an audio CD by right-clicking the Desktop and choosing "Audio CD" from the Mount menu. cddblinkd will detect that you've mounted a CD, look it up in a compact disc database, and the CD's volume name will change to reflect the artist and album name. When it does, you're ready to run RipEnc.The RipEnc launcher icon can be renamed to anything you like and placed wherever you like (the installer places it on the Desktop). You can also run RipEnc by typing ripenc into any Terminal window. You should see something like this:
Year, Genre and Comment fields are not retrieved automatically from compact disc databases and must be entered manually if you want an accurate and useful MP3 database. These fields must not be empty; if you don't enter a year, zero will be used (unless it's reading year settings from a previously saved RipEnc session). The Genre list is derived from the Unix id3ren command, which uses the official ID3v1 specification (see the bottom of http://www.id3.org/id3v2.3.0.txt). Genre will default to Blues if you don't pick one. To modify the genre list, you'll need to download the id3ren source, edit genre.h, and recompile (just type "make" in the src directory), but note that you'll no longer be using the "standard" genres (not that it matters). The Comment field is totally optional, but will default to "_" if you don't enter something here.
Note that there is no longer a hand-naming mode. If you want to do hand-naming of your tracks, just open the WAV folder on the CD and name your tracks there. It's easier, your changes will be saved for future uses of that CD, and it keeps RipEnc simpler.
Setup
Items in the Setup section generally only need to be done once and are for configuring preferences you won't use very often. The most important thing here is to configure RipEnc to recognize your CD-ROM drive. Press "D" and RipEnc will detect all attached CD-ROM drives. Select one from the list and RipEnc will look for CDs in that drive from now on. Tell RipEnc where you want your MP3s to go, and choose a filenaming convention from the menu. If you choose "Use MP3 folder template," you can create a custom layout for generated album folders (as pictured).BeOS MP3 players have historically used three different MIME types, so RipEnc lets you choose one (the default is safest). If you prefer that your MP3 files don't end with ".mp3", disable this option. BeOS will be fine, but other OSes will have problems identifying your files. The Query Volume option is used only if you intend to create query-based playlists.
The Encoder option is important. Most users will want to use gogo, as it's the fastest, and it's the only encoder able to use multiple processors effectively under BeOS. While slower, LAME is the preferred encoder of audiophiles (yes, gogo is based on LAME, but changes to LAME aren't always reflected in gogo, and LAME is getting faster all the time). If you don't have the right encoder installed, RipEnc will help you download it.
Quality
The Quality section lets you specify a bitrate, which is the most important factor in determining the quality-to-filesize ratio of your MP3 files. I recommend 160kbps for most purposes, and 192kbps if you have nice equipment and care about audiophile issues. If you want to create low-bandwidth files (e.g. for use on a streaming server), you can downsample the frequency to less than 44.1kHz.Leave the Method set to joint stereo unless you know what you're doing. Enable VBR options only if you're already familiar with Variable Bit Rate techniques. Zero is highest quality, 10 is lowest. If you want to learn more about these methods, buy my book MP3: The Definitive Guide from O'Reilly and Associates).
Tip: RipEnc also adds Bitrate and Frequency attributes to your files. If these do not appear in the Tracker for you, open "MPEG audio file" (audio/x-mpeg) in the FileTypes preferences panel and make sure you have attributes for Audio:Bitrate and Audio:Frequency.Options
The Options section is used for changing options likely to change more frequently. If you'd like to generate OGG files rather than MP3, make sure you have the Vorbis Tools from BeBits installed. If you want to see a naming convention not listed here, let me know and I'll add it. Playlists can optionally be saved automatically, but since they'll only be for one album at a time, I don't think this is very useful; it's just as easy to drag an album folder onto your MP3 player. If you set "Encode entire CD" to "n", you will be shown a list of tracks on that disc and be able to choose tracks by number. If "Play when done" is enabled, RipEnc will pass a playlist to the Tracker (which should automatically pass it to your preferred MP3 playlist handling application). If you run RipEnc over telnet, make sure the Alert options don't throw up an Alert box, or your session will hang until someone on the remote box clicks OK.Remember to press "P" on the main screen to save your preferences, so you don't have to set stuff up again in the future.
Press "B" to begin the encoding process.
Song names have been extracted from cdda-fs / cddblinkd. Four songs have been selected, and gogo has started encoding the first.
Tip: To stop encoding the current track, hit Ctrl-C once. To stop the script completely, hit Ctrl-C twice quickly.Notes on Compilation / Various Artists CDs
If you have a various artists or compilation CD, select this mode with option V in Options. Because most CDs are not compilations, and because encoding a normal CD in this mode can result in having your MP3s tagged incorrectly, RipEnc asks for confirmation every time you use it, to make sure you're not about to blow it.It's essential that your compilation CDs have tracks in the WAV folder named like this:
Track Name - Artist NameThey should come down from the compact disc databases that way. If they don't, you'll need to name them this way in the Tracker before encoding, or errors will occur.Query-based playlist generator
This tool lets you query your filesystem for MP3s matching specific criteria. Query results can be saved to playlists for future use.In this version, only era and genre searches are supported. More will come in the future. Note that you can also do this from the Tracker -- just drag Tracker's query results into your MP3 player and save the playlist from there.
Remember, you must have MP3 filesystem indexes for each volume you intend to query. Be sure to set the query volume in Setup.


Pochettino leaves farewell message to Spurs players
Mauricio Pochettino, who sacked by Tottenham Hotspur earlier this week, thanked his former players in a farewell message left on a tactics board, photos posted on Twitter by his assistant showed.
REUTERS: Mauricio Pochettino, who sacked by Tottenham Hotspur earlier this week, thanked his former players in a farewell message left on a tactics board, photos posted on Twitter by his assistant showed.
The Argentine was let go six months after he led the club to the Champions League final and after more than five years in charge. Spurs appointed former Manchester United manager Jose Mourinho as his replacement on Wednesday.

"Big thanks to you all," Pochettino wrote. "We can't say goodbye ... you will always be in our hearts."
Spurs players also posted messages on Twitter, thanking Pochettino for shaping their careers.
"I'll be forever thankful to you for helping me achieve my dreams," striker Harry Kane wrote.
Team mate Dele Alli tweeted: "He's taught me so much and I'm so grateful for everything he's done for me. Good luck and hope to see you again my friend."
(Reporting by Rohith Nair in Bengaluru; Editing by Peter<EMAIL_ADDRESS>+822 6936 1482)


By Sara Reistad-Long
West 16th Street is cozy, peppered with trees and lined with townhouses. It’s in one of these buildings, pretty and unassuming number 17, that nurse and activist Margaret Sanger (1879—1966) operated her contraceptive clinic from 1930 to 1973. In 1993, the building (now privately owned) was declared a National Historic Landmark.
In the early 1900s, child and infant mortality was 40 percent. Maternal mortality was 99 percent higher than it is today, and 40 percent of those deaths were caused by infections, many the result of illegal or self-induced abortion. Sanger’s own mother had undergone 11 births and seven miscarriages before she died at 50, an event Sanger blamed on the physical strain of those 18 years of pregnancy.
Sanger herself had access to birth control and limited her family to three children. Wanting to give more women access to that same option, she began writing a sex education column called “What Every Girl Should Know” for a socialist paper known as The Call. Under the Comstock Act, a ruling making the circulation of “obscenity” illegal through the mail, the U.S. Post Office refused to send the papers.
The Call responded by running an empty box in place of the column that read “What Every Girl Should Know—nothing by order of the United States Post Office,” and Sanger herself fought back by publishing The Woman Rebel, a periodical aimed to challenge the Comstock act directly. In 1914, she fled to Europe for a year to avoid prosecution for her writing. Ironically, the international attention her case received was, according to many historians, just what Sanger needed to put her efforts on the map.
Number 17 wasn’t the first Sanger clinic in New York. Fourteen years earlier, Sanger had opened the city’s first such organization, promoting birth control on the ground floor of a tenement at 46 Amboy Street in Brownsville, Brooklyn.
Undeterred, in 1921 Sanger founded the American Birth Control League, and in 1923, she opened the Birth Control Clinical Research Bureau, the first of its kind to be physician staffed. It was soon serving over 10,000 patients a year. It was also drawing interest on the other side of the equation. At that time, few medical schools offered contraceptive training, and the bureau attracted physicians from around the nation, serving as a model for similar ventures across the country. By 1938, over 300 such clinics had opened across the U.S. Seven years later, the clinic was moved to 16th Street, and 19 years later the bureau would become the Planned Parenthood Federation of America.
Connecting to Device
Device is Ready


{{this.package.desc}}
| Included | {{package.included}} |
|---|---|
| Departure City | {{package.departureCity}} |
| Departure Time | {{package.departureTime}} |
| Return Time | {{package.returnTime}} |
| Dress Code | {{package.dressCode}} |
| Cities | {{package.cities}} |
| Not Included | {{package.notIncluded}} |
{{package.desc}}
| Included | {{package.included}} |
|---|---|
| Departure City | {{package.departureCity}} |
| Departure Time | {{package.departureTime}} |
| Return Time | {{package.returnTime}} |
| Dress Code | {{package.dressCode}} |
| Cities | {{package.cities}} |
| Not Included | {{package.notIncluded}} |


The Following is the summary for the same.
Bill Plan- {{vm.plans[vm.orderHistory.planType].name}}
Amount- ${{::vm.orderHistory.amount}}
RESPONDENTS- {{vm.orderHistory.numberOfRespondant}}
We've sent you an email with your purchase invoice, please check your inbox.


lopyConstants¶
These are the constants that are used for the program. These constants are user specific.
# Version of program
version = '1'
batterymask = 0b00010000
temperaturemask = 0b1000000000000000
# Colors
off = 0x000000
red = 0xff0000
green = 0x00ff00
blue = 0x0000ff
# device settings
app_eui = '[app_eui from The Things Network]'
app_key = '[app_key from The Things Network]'


Computational Neuroimaging Laboratory
Department of Diagnostic Medicine
The University of Texas at Austin Dell Medical School
Home
Members
Projects
Publications
Jobs
Github
{{ content }}


Students back in school after evacuation for gas leak at Sun Prairie middle school
by Logan RudeSUN PRAIRIE, Wis. - Students are back in school after they were briefly evacuated following a call of a natural gas leak at Sun Prairie Upper Heights Middle School on Monday afternoon.
Dispatch said the Sun Prairie Fire Department responded to a call of a natural gas leak at the school at 3:47 p.m.


FROM BARRISTER MARK TRAORE CHAMBERS, LEGAL PRACTITIONER AND PUBLIC NOTARY & HIGH COURT REPRESENTATIVE SUITE 202 OMEGA PLAZA, APAPA LAGOS -NIGERIA. Dear Sir/Ceo, It is obvious that this proposal will come to you as a suprise. This is because we have not met before but i am inspired to sending you this email by the huge fund transfer opportunity that will be of mutual benefit to the two of us. However, I am Barrister Mark Traore ,the personal Attorney to the late Engr. Steve Moore a national of Isle of Man in UK, who used to work with Shell Petroleum Development Company(SPDC) in Nigeria. On the 21st of April 1996, my client,his wife And their three children were involved in a car accident along gamu/Lagos Express Road. Unfortunately they all lost their lives in the event of the accident, Since then I have made several enquiries to several Embassies to locate any of my clients extended relatives,this has also proved unsuccessful.After these several unsuccessful attempts,I decided to trace his relatives over the Internet to locate any member of his family but of no avail, hence I contacted you. I contacted you to assist in repartrating the money and property left behind by my client,I can easily convince the (Security Company in ABROAD) with my legal practice that you are the only surviving relation of my client. Otherwise the Estate he left behind will be confiscated or declared unserviceable by the Security Company where this huge deposits were lodged. Particularly, the Security Company Abroad was where the deceased deposited valued at about $27million U.S dollars(twenty)seven million U.S.America dollars).Conseqently,TheSecurity Company issued me a notice to provide the next of kin or have the fund confiscated within the next ten official working days. since i have been unsuccesfull in locating the the relatives for overseveral years now.I seek your consent to present you as the next of kin of the deceased,so that the proceeds of this fund valued at $27million U.S dollars can be paid to you by the Company delivering the Consignment to your door step, then you and I can share the money. 55%to me and 40% to you,while 5% should be for expenses or tax as your government may require.Your information such as below: 1.your full name 2.Resident Address 3.Telephone/Fax Numbers,Is required for immedaite commence of this transaction. 4. Occupations: 5. Date Of Birth: As a barrister of high standard, I have all necessary legal documents that can be used to back up anyclaim we may make. All I require is your honest cooperation to enable us see this deal through. I guarantee that this will be executed under alegitimate arrangementthat will protect you from any breach of the law.Please get in touch with me by my email<EMAIL_ADDRESS>) to enable us discuss further. Yours Faithfully, Barrister Mark Traore (Esq)


Welcome to the individual computer competency survey. The purpose of this survey is to obtain information to be used in a future server and at this time is only meant for humor and bad web design concepts.
Thank you for your time. Your answers are displayed below. Feel free to go back to any of the questions to edit your answers. Please click the "submit" button when you are ready to submit.
Question 1
Please enter your first and last name:
Question 2
Please rate your coding skills:
Question 3
Please rate your computer hacking skills:
Question 4
Please fill out the following questions for invasive demographic information:
Please write your favorite sentence in the text box below:
How big do you want the text on the header: ?
What is your favorite color (it will change the text):
Question 5
Feel free to play the game below (or skip if you do not want to)


Sound must be flawless and pure ‐ totally uncompromising. These are the tenets by which the engineers at Definitive Technology are driven, and what compels them to achieve superior audio for an unparalleled listening experience. It is the focus in everything they create to give sound nothing less than everything it deserves.
The arrival of BP9000 Series ushers true high-performance, full-range sound into a new era ‐ totally redesigned and re-engineered with improvements that cascade across every one of Definitive Technology's patented audio technologies. From advances in their Forward Focused Bipolar Array, built-in powered subwoofers, new Intelligent Bass Control, and seamless Dolby Atmos / DTS:X integration, the BP9000 Series offers the big, room-filling, yet precise sound you demand with an elegant footprint that makes every single day of ownership a marvel to behold.
Get the best of both worlds with the performance of large traditional loudspeakers in much more convenient bookshelf models. As stand-alone speakers or combined with a separate subwoofer, the Studio Monitor Series offers extended low-frequency characteristics for surprisingly superb sound quality.
The SuperCube Series is pound for pound the best powered subwoofer on the market. Combining digital amplifiers, Digital Signal Processors (DSP) and robust front-mounted drivers joined to dual pressure-coupled bass radiators, these elegant, ultra-small subwoofers pack earthshaking power that blows larger, costlier subs right out of the water.
Enjoy wonderful sound anywhere around your home with all-weather speakers from Definitive Technology. With fully sealed designs, aluminum grilles and rugged PolyStone enclosures, these groundbreaking loudspeakers can withstand anything nature has to offer for season after season of listening satisfaction.


The brains of the product is a custom PCB that handles all data processing. The board has been carefully designed for consistent use, wireless stability, and expandability in mind. The power system ensures that even the most intensive states cannot negatively affect the user experience.
Read MoreAesthetics aren’t everything, but it is the first thing people see. It sets the initial tone of a project and the workmanship that has gone into it. The design, build materials, and assembly all play a key role for project durability and reproducibility of a product.
orem ipsum dolor text....
Input is critical to all interactive systems, and this isn’t an exception. Without a proper input system single user experiences would be very one sided, and two player games impossible. The entire process of detecting user button presses on an application to being wirelessly transmitted must be seamless for an acceptable user experience.
Read MoreTo ease the time needed to implement a new game, demo or application a frame work was built. This framework separates many of the common tasks like frame drawing, input, draw functions, menu, and frame limiting. This structure allowed us to complete multiple applications like the clock, block drop, and space invader.
Read MoreTo simplify the entire development lifecycle an emulator was built to take place of the physical display and input mechanisms. This opened up the ability to use modern debuggers, and helped isolate hardware problems from software problems earlier.
Read More


This is a simple application using HTML, CSS, Javascript and 3 API's. A user can use the Covid Cost application to see the affects Covid cases have had on specific stock values as a function of time.
The 5 Day Weather application utilizes local storage to enable a user to view and save weather data pulled from weatherAPI. The front end was designed using a bootstrap base with additional HTML and CSS for customization.
The application has two parts. The first is for food truck operators. They have the ability to create an account, publish their location, and promote any specials they have. The other half is for food truck users, to “chase” trucks by searching by location to find trucks near them. I focused on the back end of the application. Worked with our front end team to give the features on our application the ability to interact with our express server and ultimately our SQL database. Skills and technologies used for this application where Handlebars, HTML, CSS, Javascript, RESTful API, SQL, Node, Express, Cloudinary, and wireframing.
Feastible is a mobile responsive web based application that allows a user to order from a restaurant from their phone. The restaurant side coordinates cooks by showing all the orders and the cooking status. The application also allows restaurant management to modify the restaurant menu in real time. I acted as the project manager setting up deadlines and working to coordinate our group of 4 developers working on separate portions. I also designed and developed the admin menu functionality with full CRUD. SKILLS USED (EX.React.JS, Rails, Redux, and RESTful API’s) React, Restful API’s, Node, Javascript, Express, HTML, CSS, Agile Methodology, wireframing, git, MongoDB, Heroku, Version Control and node.js


Marcin Szczepanski, webqem
CFCamp 2013
“A better way of writing JavaScript”
Like TypeScript
Not like ClojureScript, Roy, etc
I'll get to that...
$(function () {
$(".link").click(function () {
console.log("You clicked a link: " + this.href);
});
});
$(function () {
$(".link").click(function () {
console.log("You clicked a link: " + this.href);
});
});
would be written as..
$ ->
$(".link").click ->
console.log "You clicked a link: #{@href}"
iffy: Immediately-Invoked Function Expression (IIFE)
console.log "x is NOT 2" if x != 2
NOT good practice!
result = (expression for object in array)
result = (expression for object in array when condition)
result = (expression for key of object)
result = (expression for own key, value of object)
Syntax stuff that didn't fit in the other categories!
npm install -g coffee-script
coffee # REPL
coffee file.coffee # run script
coffee -c file.coffee # compile
coffee -wc file.coffee # watch & compile
coffee -cm file.coffee # sourcemap
coffee -wmc *.coffee # ALL THE THINGS!
<script type="text/coffeescript">window.alert "Hello World!"</script>
var compiled = CoffeeScript.compile(source);


News is published, then at a later date it is crawled by Tiingo's technology. These news events are published at the time Tiingo crawls the data to helps prevent look ahead bias.
There can sometimes be large delays between these two dates (e.g. many years). This happens when Tiingo adds a newly discovered source and back-populates their historical archives. Tiingo created their news technology in 2016 so all news prior to then will have a delay between the published and crawl dates.
Once a new source is added, the delay between published to crawl time is typically from a few minutes to an one hour. For this reason, QuantConnect reviews the difference, and if it is greater than one day we set the crawl date to one hour after the publish date. This is an approximation, but it allows for backtesting on historical news with a representative crawl time.
You can control this offset setting with the TiingoNews.HistoricalCrawlOffset
property:
// Overriding the new data-source offset to 3 hours. TiingoNews.HistoricalCrawlOffset = TimeSpan.FromHours(3);
# Overriding the new data-source offset to 3 hours. TiingoNews.HistoricalCrawlOffset = timedelta(0, 3)


{% extends "layout.html" %} {% block body %}
You can also click on the QRcode if you have a BitID enabled desktop wallet.
No compatible wallet ? Use manual signing.
The user experience is quite combersome, but it has the advantage of being compatible with all wallets including Bitcoin Core.
Please sign the challenge in the box below using the private key of this Bitcoin address you want to identify yourself with. Copy the text, open your wallet, choose your Bitcoin address, select the sign message function, paste the text into the message input and sign. After it is done, copy and paste the signature into the field below.
Cumbersome. Yep. Much better with a simple scan or click using a compatible wallet :)
{{ params_tpl['bitid_uri'] }}
You can also simulate the response of the wallet by executing the following API call :