Project funded by ANR/PRACE (2014-2018). Principal Investigator: Thierry Penduff
Characterizing the stochastic nature of the ocean variability on interannual-to-decadal timescales in a large ensemble of 1/4º ocean/sea-ice hindcasts.
Turbulent ocean models spontaneously generate a chaotic variability up to multidecadal/basin scales. How this low-frequency chaos impacts climate-relevant oceanic indices is an important unsettled question. To separate this chaos from the atmospherically-forced response, MEOM and CERFACS have performed a pioneering 50-member ensemble of 1/4° global ocean/sea-ice simulations (1960-2015), starting from perturbed initial conditions then driven by the same atmospheric forcing with time. The results reveal the importance of the oceanic chaos up to large spatio-temporal scales and its modulation by the atmosphere, and this raises new issues about the detection/attribution of climate change in the ocean and the potential impact of this low-frequency chaos on the atmosphere.
.
Figure : The OCCIPUT ensemble experiment:
.
OCCIPUT ANR summary [here]
OCCIPUT presentation given at the GMMC workshop, June 2016 [pdf] (10 Mo).
(in prep. 2017) Sérazin G., Jaymond A., Leroux, Penduff T., Bessières L., Brankart J.-M., Molines J.-M. , Terray L., Barnier B., Serazin G., J. of Climate, A probabilistic study of low-frequency ocean heat content variability: atmospheric influence versus oceanic chaos.
(in prep. 2017) Leroux S., Penduff T., Bessières L., Brankart J.-M., Molines J.-M., Terray L., Barnier B., Serazin G., J. of Climate, How chaotic is the AMOC variability in eddy-permitting ocean models?
(2016 in rev.) Bessières L., Leroux S., Brankart J.-M., Molines J.-M., Bouttier P.-A., Penduff T., Terray L., Barnier B., Serazin G., Geosci. Model Dev. Discuss. doi:10.5194/gmd-2016-174 Development of a probabilistic ocean modelling system based on NEMO 3.5: application at eddying resolution.
(2014) T. Penduff, B. Barnier, L. Terray, G. Sérazin, S. Gregorio, J-M Brankart, M-P Moine, J-M Molines, P. Brasseur. CLIVAR Exchanges No. 65, Vol. 19, No. 2. Ensembles of eddying ocean simulations for climate.
(2015) Sérazin, B. Meyssiniac, and T. Penduff. Quantifying uncertainties on regional sea-level change induced by multi-decadal oceanic intrinsic variability. Geoph. Res. Lett., 43(15), doi: 10.1002/2016GL069273.
(2015) Grégorio, T. Penduff, G. Sérazin, J. M. Molines, B. Barnier, and J. Hirshi. Intrinsic variability of the Atlantic meridional overturning circulation at interannual-to- multidecadal timescales. Journal of Physical Oceanographym 45:1929-1948.
(2015) G. Sérazin, T. Penduff, S. Grégorio, B. Barnier, J. M. Molines, and L. Terray. Intrinsic variability of sea-level from global 1/12º ocean simulations: spatio-temporal scales. Journal of Climate, 28:4279–4292.
Thierry Penduff (P.I.).


Buttons
A typical selection of button types and states with added type specific animations.
Default
Default
Disabled
Large
Border
Small
Loading
Success
Success
Disabled
Large
Border
Small
Loading
Primary
Primary
Disabled
Large
Border
Small
Loading
Warning
Warning
Disabled
Large
Border
Small
Loading
Danger
Danger
Disabled
Large
Border
Small
Loading
Inputs
Collect data in style.
Text
Controls
More advanced controls such as date pickers, tag inputs and more...


SINGIN' IN THE RAIN A film review by Frank Maloney Copyright 1992 Frank Maloney
SINGIN' IN THE RAIN is film directed by Gene Kelly and Stanley Donen and produced by Arthur Freed. It was written by Adolph Green and Betty Comden, based on a song by Freed and Nacio Herb Brown. The film stars Gene Kelly, Donald O'Connor, Debbie Reynolds, and Jean Hagen. Choreography is by Kelly and Donen, the songs by Freed. It was first released on April 10, 1952.
SINGIN' IN THE RAIN is simply the best movie musical ever made. It has started a Fortieth Anniversary revival run with a brand new 35mm print. You must see it. It is like seeing it for the first time with the brilliant, jewel-like Technicolor fresh and glowing, the print free of scratches, up on the big screen, and Gene Kelly breaking your heart with the pure innocent joy of his dance in the rain.
If ever the word classic applied to a musical number, it applies to the "Singin' in the Rain" number. It starts off with a happy adult man and ends with a little boy splashing in the flooded street and then skipping off with not a care, free even of his umbrella. Not only is there a physical joy to watching Kelly dance in the rain, but it is a revelation when you can distance yourself enough to watch the narrative strength of the choreography, the detailed climb from adultness to childishness. If that cop hadn't shown up, Kelly would still be dancing there; it's one number you want never to end, but when it does you are as transformed as the dancer/singer.
The song, according to one story, was inspired when Arthur Freed, who had just graduated from Broadway High School in Seattle and opened his own music store on Pine Street, watched a man one gloomy, rainy Seattle afternoon outside his shop "just singing and dancing in the rain." He wrote the song with Nasio Herb Brown for one of the first big movie musicals, THE HOLLYWOOD REVUE (MGM, 1929). It has also been used in LITTLE NELLIE KELLY (1940) and A CLOCKWORK ORANGE (1971).
Freed, later a top producer of musicals (THE WIZARD OF OZ, MEET ME IN ST. LOUIS), hired Green and Comden (ON THE TOWN) to build a movie around his song, now a standard. It took them a month to nail down the unifying concept: showcasing Brown and Freed songs against the background they were written in, namely, Hollywood's transition to the talkies. The script was finished in April, 1951, Freed having selected "Fit as a Fiddle," "You Were Meant for Me," "Good Mornin'," and nine others. Kelly created the fifteen-minute Broadway Melody ballet and agreed to star in and co-direct. Production closed Nov 21, 1951. It cost $2,540,800 to make ($620,996 over budget). It previewed at the De Anza Theater, Riverside, California, on December 21, to a rave audience. It premiered at Grauman's Egyptian Theater instead of the more prestigious Grauman's Chinese Theater, where the opening and closing scenes were shot. Apparently, the studio was not terribly supportive of the film. It turned out to be the tenth most popular film of 1952, grossing $7,665,000. However, it was received only two Oscar nominations and won neither.
Some other trivia about it: Green and Comden had originally seen it as a vehicle for Howard Keel as a bit player in silent movies who becomes a singing cowboy star. This, of course, survives in the stuntman sequence. The song "Make 'em Laugh" was plagiarized from Cole Porter's "Be a Clown," used in the Freed musical THE PIRATE. Donen has acknowledged that was "100 per cent plagiarism."
A lot of you know that Jean Hagen, the screechy-voiced bimbo, dubbed Debbie Reynolds, who is supposed to be dubbing Jean Hagen. One of the things I noticed this time around was how impressed I was by Hagen's performance. She was nominated for an Oscar for the role and deservedly so. It is easy to dismiss the part because she does such a good job of making us dislike the character.
Gene Kelly had a bad head cold during the filming of the Singin' in the Rain sequence and was afraid, terrified, of developing pneumonia during the two day shoot. I noticed his voice was a little hoarse when he says goodnight to Reynolds at the beginning of the sequence, but otherwise one would never guess.
The uncredited cameos include silent comedian Snub Pollard, "Our Gang" kids Baby Patsy, Dale Odell, Roberta Williams, and Gerald Carpenter, and 1930s star Mae Clark (of grapefruit fame).
(A lot the above information I cribbed from William Arnold in the Seattle P-I.)
This Fortieth Anniversary tour is a rare opportunity to see one of the great films of world cinema as it was meant to be seen. In 1988 a poll of world film critics placed SINGIN' IN THE RAIN fifth among the world's best 100 films--CITIZEN KANE ranked ahead of it, but CASABLANCA came in ninth.
See this movie. Pay whatever it takes, but see it.
-- Frank Richard Aloysius Jude Maloney .
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


Travel App
Enter Destination
Enter Departure Date
Go!
My Saved Trips:
photo from
pixabay
Save Trip
Remove Trip


The History of European Cup and UEFA Champions League Finals
A total of 22 clubs have won the Champions League/European Cup. Real Madrid hold the record for the most victories, having won the competition ten times, including the inaugural competition. They have also won the competition the most times in a row, winning it five times from 1956 to 1960.
All teams that had participated in the finals are included in the chart below. The teams (rows) are color-coded and grouped by nation. The horizontal axis represents time from left to right. Each column is one year of the competition. Each vertical line represents the final match of that season and its two ends mark the finalists. Solid and hollow circles indicate winners and runners-up, respectively.


|
Mayors Combatting Poverty: A UNDP-sponsored Panel
Mayors from Accra, Kathmandu and other cities throughout the world will
share experiences and discuss ways to tackle urban poverty at a roundtable
on Tuesday, 6 February, from 9:30 a.m. to 1 p.m. in the ECOSOC Chamber
of the United Nations. Urban poverty is one of the main issues to be addressed
by the Habitat II Conference (June 1996, Istanbul, Turkey). The panel,
chaired by UNDP's Denis Benn, will consist of mayors or senior representatives
of cities from countries including Tanzania, Thailand, Jordan, Ecuador,
Poland and Egypt.
Journalists are welcome to attend and cover the roundtable. They will
have the opportunity to ask the mayors questions at the conclusion of the
Roundtable, at 1:00 p.m. Individual interviews can also be arranged.
The roundtable is being organized in New York by UNDP on the occasion
of the last Preparatory Meeting of the Second United Nations Conference
on Human Settlements (Habitat II).
While the world is marking 1996 as the International Year for the Eradication
of Poverty, it is estimated that about 90% of the poor in Latin America,
45% in Asia and 40% in Africa now live in urban areas. The urban poor often
have no access to education, health facilities, affordable and secure housing,
public transportation, waste disposal, freshwater and sanitation facilities.
Denis Benn is the Director of UNDP's Special Unit for Cooperation among
Developing Countries.
DATE: Tuesday 6 February 1996 TIME: 9:30 a.m.-1:00 p.m (Roundtable)
1:00 p.m.-1:30 p.m. (questions from journalists/individual interviews)
VENUE: ECOSOC Chamber, UN Building
* * * * *
For further information, please contact François Coutu, Division
of Public Affairs, UNDP, Tel.:<PHONE_NUMBER>, or Bernabé G. Garcia,
Special Unit for Technical Co-Operation Among Developing Countries, UNDP,
Tel.:<PHONE_NUMBER>
|


--- layout: default ---
After the presentation, we will split in to breakout groups led by topic facilitators to help guide learning, conversations and work. Read more about them.
Learning groups
Working groups
6pm
{{ page.date | date: "%b %d, %Y" }}
Food provided by {{page.sponsor}}
Read our Code of Conduct
Video
Christopher Whitaker from the Smart Chicago Collaborative records and livestreams our presentations. Watch them on YouTube!
Have a photo of this event? Upload it to Flickr and tag it with chihacknight-{{page.event_id}}
comments powered by Disqus


We live in a world of certificates; documents that confirm or ‘certify’ the truth of something or verifies that someone has fulfilled the requirements of and may practice in a field or discipline.
Examples include birth certificates, land titles, diploma and degree certificates, wills, professional certificates, memberships, receipts, securities, driver’s licenses, all kind of contracts and promises.
In fact, many pieces of personal information can be considered as a certificate between two or more parties. For instance, Party A is a witness to something that has occurred between Party B and Party C at a point in time.
Android version download
V1.3.0 push on July 1, 2019
Apple IOS version download
V1.3.0 push on July 1, 2019


org.apache.tomcat.util.threads
Class ThreadWithAttributes
java.lang.Object
java.lang.Thread
org.apache.tomcat.util.threads.ThreadWithAttributes
- All Implemented Interfaces:
- java.lang.Runnable
- public class ThreadWithAttributes
- extends java.lang.Thread
Special thread that allows storing of attributes and notes.
A guard is used to prevent untrusted code from accessing the
attributes.
This avoids hash lookups and provide something very similar
with ThreadLocal ( but compatible with JDK1.1 and faster on
JDK < 1.4 ).
The main use is to store 'state' for monitoring ( like "processing
request 'GET /' ").
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
|
Method Summary |
java.util.Hashtable |
getAttributes(java.lang.Object control)
Generic attributes. |
java.lang.String |
getCurrentStage(java.lang.Object control)
Information about the curent performed operation |
java.lang.Object |
getNote(java.lang.Object control,
int id)
|
java.lang.Object |
getParam(java.lang.Object control)
Information about the current request ( or the main object
we are processing ) |
java.lang.Object[] |
getThreadData(java.lang.Object control)
|
void |
setCurrentStage(java.lang.Object control,
java.lang.String currentStage)
|
void |
setNote(java.lang.Object control,
int id,
java.lang.Object value)
Notes - for attributes that need fast access ( array )
The application is responsible for id management |
void |
setParam(java.lang.Object control,
java.lang.Object param)
|
void |
setThreadData(java.lang.Object control,
java.lang.Object[] thData)
|
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, run, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
MAX_NOTES
public static int MAX_NOTES
ThreadWithAttributes
public ThreadWithAttributes(java.lang.Object control,
java.lang.Runnable r)
getThreadData
public final java.lang.Object[] getThreadData(java.lang.Object control)
setThreadData
public final void setThreadData(java.lang.Object control,
java.lang.Object[] thData)
setNote
public final void setNote(java.lang.Object control,
int id,
java.lang.Object value)
- Notes - for attributes that need fast access ( array )
The application is responsible for id management
getCurrentStage
public final java.lang.String getCurrentStage(java.lang.Object control)
- Information about the curent performed operation
getParam
public final java.lang.Object getParam(java.lang.Object control)
- Information about the current request ( or the main object
we are processing )
setCurrentStage
public final void setCurrentStage(java.lang.Object control,
java.lang.String currentStage)
setParam
public final void setParam(java.lang.Object control,
java.lang.Object param)
getNote
public final java.lang.Object getNote(java.lang.Object control,
int id)
getAttributes
public final java.util.Hashtable getAttributes(java.lang.Object control)
- Generic attributes. You'll need a hashtable lookup -
you can use notes for array access.
Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.


| fkUtilities reference pages |
m=MATRIXFUN(m,function) m=MATRIXFUN(m,function,dims)
m=MATRIXFUN(m,function) for a n-d matrix m, will perform the specified function along the first dimension. The function argument should be a valid function handle that takes a matrix as the first input and the dimension along which to work as the second input. Functions that do not adhere to this convention should be wrapped into an anonymous function handle (i.e. @(m,d) var(m,1,d))
m=MATRIXFUN(m,function,dims) will perform function on the collective dimensions specified in dims.
| create_openfield_path | Toolbox page | debugmsg |


ttm = thinkthroughmath
ttm.lib.math ||= {}
this is the central point of organization for the math library TODO rename this to ‘SlideRule’
The entire SlideRule test suite may be run in your browser by visiting the jasmine test runner page
For an overview of the features of the entire library, see the features spec, which is written to demonstrate this library in action.
TODO rename ttm-coffeescript-utilities
ttm = thinkthroughmath
ttm.lib.math ||= {}
we require all component libraries
require './math/precise'
require './math/expression_components'
require './math/expression_equality'
require './math/resulting_expression_equality'
require './math/expression_evaluation'
require './math/expression_manipulation'
require './math/expression_position'
require './math/build_expression_from_javascript_object'
require './math/expression_traversal'
require './math/expression_to_string'
MathLib is a class which represents the entire math library ‘system’. Using a class and instance here lets us override various components, which is super useful for testing.
class MathLib
initialize: (opts={})->
A library for doing ‘precise’ (i.e. not-hindered-by-floating-point-garbage) math. It is slow, hacky, and awful, but it does work for our purposes.
See the precise library and the precise library specs
precise = opts.precise || ttm.lib.math.Precise.build()
represent the various components of an expression. (e.g. ‘numbers’, ‘variables’, ‘exponentiations’)
See the components library and the components library specs
comps = opts.comps || ttm.lib.math.ExpressionComponentSource.build(precise)
@components = opts.components || comps
@equation = opts.equation || comps.equation
@expression = opts.expression || comps.expression
Expression Position acts like an editing “pointer”, which “points” into the expression tree at where the expression is being edited.
@expression_position = opts.expression_position || ttm.lib.math.ExpressionPosition
Since ‘Expression’ objects are complicated things, ExpressionTraversal provides a way to ‘traverse’ them and examine them.
See the expression traversal library and the expression traversal library specs
@traversal = opts.traversal || ttm.lib.math.ExpressionTraversalBuilder.build(comps.classes)
Commands act upon existing expressions there is a foo, there is a bar, there is a baz
@commands = opts.commands || ttm.lib.math.ExpressionManipulationSource.build(comps, @expression_position, @traversal)
A number of other miscellanious components
@object_to_expression = opts.object_to_expression || ttm.lib.math.BuildExpressionFromJavascriptObject.build(component_builder: @components)
Evaluation is used to “evaluate” an expression, converting it into another expression
@evaluation = opts.evaluation || ttm.lib.math.ExpressionEvaluation
Expression equality is used to determine if an expression is considered equal
@expression_equality = opts.expression_equality || ttm.lib.math.ExpressionEquality
Resulting expression equality is used to determine if the numerical result of an expression is considered equal, without rounding
@resulting_expression_equality = opts.resulting_expression_equality || ttm.lib.math.ResultingExpressionEquality
Export the math library class
ttm.lib.math.math_lib = ttm.class_mixer MathLib


Error details:In development.
Send you a favorite 404(*'へ'*)
[ps:Author: I do not cut corners, this is what a compact 404 pages!:]


| |
- Detailed Situations in the related paper:
- Subject:
- Nine healthy neonates (four males and five females, 4.33 days old (SD=1.80)
- Experimental design:
- 25 rest periods and 24 stimulation periods one after the other (Total 14-15 min). The rest period were randomized between 20 and 30 s, and the stimulus periods were fixed at 10 s. In the stimulus periods, speech sounds were presented.
- Measurement:
- OT system (modified version of model ETG-7000, Hitachi Medical Corporation, Japan) that can image a whole brain area with 72 measurement positions. The system simultaneously irradiates light at wavelengths of 690 and 830 nm through an optical fiber to one point. Optical fibers were fixed onto a probe cap, which was mounted at the head of the bed to enable it to be placed on the neonate’s head without awakening him or her. The transmitted light was detected every 100 ms with an avalanche photodiode through an optical fiber located 30 mm from the incident position. Optical fibers were used for both irradiating and detecting the lights. The average power of each light source was 1.5 mW, and each source was modulated at a distinctive frequency (1?10 kHz) to enable separation by using a lock-in amplifier after detection.
| |


Property: nodeHits and treeDepth
A well-known problem with recursive-descent parsers is that they may require exponential time. This is also sometimes referred to as catastrophic backtracking. With APG parsers this is less of a problem than with most regular expression pattern-matching engines because they never backtrack on repetitions—only on alternates. And even with alternates, the "first match wins" algorithm reduces the amount of backtracking even further. Nonetheless, exponential-time patterns can occur. The nodeHits and treeDepth parameters provide upper limits on the number of unit steps the parser may take and the maximum parse tree depth that the parser can reach, respectively.
Note on "first match wins", also sometimes refered to as "prioritized choice": Alternates are tried from left to right. The parser accepts the first successful match and no further alternates are tried.
Syntax
var exp = new ApgExp(pattern, "", nodeHits, treeDepth); var result = exp.exec(input);
Parameters
- nodeHits: integer > 0: default Infinity: The maximum number of unit steps (parse tree node hits) that the parser is allowed to take. The parser will throw an Error exception if the limit is exceeded.
- treeDepth: integer > 0: default Infinity: The maximum allowed parse tree depth. The parser will throw an Error exception if the limit is exceeded.
Return
- exp.nodeHits - The input value of nodeHits.
- exp.treeDepth - The input value of treeDepth.
- result.nodeHits - The actual number of unit parser steps taken.
- result.treeDepth - The actual maximum parse tree depth reached.
Examples
The following exponential pattern, suggested by Bryan Ford, is used in the following examples.
var pattern; pattern = 'S = *A\n'; pattern += 'A = B / C / "a"\n'; pattern += 'B = "a" S "b"\n'; pattern += 'C = "a" S "c"\n';
Example 1: nodeHits
var pattern, str, exp, result; exp = new ApgExp(pattern, "", 100000); str = "aaaaa"; try{ for (var i = 0; i < 5; i += 1) { result = exp.exec(str); console.log("input: "+str+" node hits: " + result.nodeHits); str += "a"; } }catch(e){ console.log("EXCEPTION: "+e.message); } /* result */ input: aaaaa node hits: 1817 input: aaaaaa node hits: 5462 input: aaaaaaa node hits: 16397 input: aaaaaaaa node hits: 49202 EXCEPTION: parser: maximum number of node hits exceeded: 100000
Example 2: treeDepth
var pattern, str, exp, result; exp = new ApgExp(pattern, "", null, 50); str = "aaaaa"; try{ for (var i = 0; i < 5; i += 1) { result = exp.exec(str); console.log("input: "+str+" tree depth: " + result.treeDepth); str += "a"; } }catch(e){ console.log("EXCEPTION: "+e.message); } /* result */ input: aaaaa tree depth: 32 input: aaaaaa tree depth: 38 input: aaaaaaa tree depth: 44 input: aaaaaaaa tree depth: 50 EXCEPTION: parser: maximum parse tree depth exceeded: 50


Layers
Google Maps (satellite)
Open Street Map
Visualize
Commercial Buildings
Employee Density
Vacancies
Building Types


David Walliams 'will not go to Simon Cowell’s birthday party if Piers Morgan is there'
The Little Britain star is reportedly doing everything he can to avoid Piers Morgan after the newsman called him a 'snivelling toady'
by Tiffany WallisSimon Cowell has found himself in a tricky situation after David Walliams reportedly refused to go his birthday party if Piers Morgan is going to be there.
The music mogul abruptly cancelled his lavish 60th celebrations just days before the bash was due to take place last month and is yet to finalise a new date.
According to a new report, Simon is now facing a guest list dilemma as well as logistical issues.
Comedian David, 48, is said to have refused to attend the rearranged party unless Good Morning Britain host Piers' invitation is withdrawn.
A source told The Sun : "David refuses to be in the same room as his nemesis, and has told Simon it’s him or Piers.
"Poor Simon is stuck between a rock and a hard place. Piers and David may be ITV colleagues, but once the cameras stop rolling they cannot abide one another."
The source compared their feud to "open warfare" and hinted one of the British telly legends might have a meltdown if they both attended Simon's party.
The insider went on to reveal why the two stars appear to hate one another.
They said: "David hates Piers’ tabloid newspaper background, and is fairly snobby about it, whilst Piers thinks David is a bit of a duplicitous d**k - nice to his face, and snide behind it."
Last week claims suggested Simon was forced to postpone the milestone bash due to scheduling conflicts.
According to Mail Online , the TV star had celebrity guests flying in from all over the world specifically for the party.
However, Simon and his partner Lauren Silverman sent out cancellations just days before the birthday extravaganza was due to take place.
Piers and David have been embroiled in a long-running feud for years following a number of public spats.
Just last month, Piers slammed David online by calling him a "snivelling toady" after the BGT judge liked tweets slating the GMB presenter.
He wrote: "Amusing that @davidwalliams regularly ‘likes’ the nastiest tweets about me, yet is such a snivelling toady to my face."
Last year the controversial telly host called for the comedian to lose his spot on the BGT panel as he plotted his return after leaving the show in 2011.
Back in 2017, David refused an interview with Piers for his series Life Stories, opting instead to feature in a sit down chat with John Bishop’s series, A Conversation With.


[1]
the area is now impossible and the hotel is extremely difficult to without a car .
[2]
the rooms are extremely run down , all fixtures were loose or hung from the walls .


History calls list
Filtering:
Go
Caller Number
Callee Number
Start time
End time
Call Type
Call status
Action
Delete Call
Total Rows: [[${totalItems}]]
First
Previous
[[${i}]]
[[${i}]]
Next
Next
Last
Last


| 006:044 Khan | : |
So, when they forgot (the warning) with which they had been reminded, We opened to them the gates of every (pleasant) thing, until in the midst of their enjoyment in that which they were given, all of a sudden, We took them to punishment, and lo! They were plunged into destruction with deep regrets and sorrows. |
| 006:044 Maulana | : |
Then, when they neglected that with which they had been admonished, We opened for them the gates of all things. Until, when they rejoiced in that which they were given, We seized them suddenly; then lo! they were in utter despair. |
| 006:044 Pickthal | : |
Then, when they forgot that whereof they had been reminded, We opened unto them the gates of all things till, even as they were rejoicing in that which they were given, We seized them unawares, and lo! they were dumbfounded. |
| 006:044 Rashad | : |
When they thus disregard the message given to them, we open for them the gates of everything. Then, just as they rejoice in what was given to them, we punish them suddenly; they become utterly stunned. |
| 006:044 Sarwar | : |
When they forgot (all) the advice that they had received, We granted them all means of happiness but they were left in despair when We suddenly took Our bounties back from them. |
| 006:044 Shakir | : |
But when they neglected that with which they had been admonished, We opened for them the doors of all things, until when they rejoiced in what they were given We seized them suddenly; then lo! they were in utter despair. |
| 006:044 Sherali | : |
When they forgot that with which they had been admonished, and WE opened unto them the gates of all things, till, even as they were rejoicing in what they were given, WE seized them suddenly, and lo ! they were in utter despair. |
| 006:044 Yusufali | : |
But when they forgot the warning they had received, We opened to them the gates of all (good) things, until, in the midst of their enjoyment of Our gifts, on a sudden, We called them to account, when lo! they were plunged in despair! |
Concepts/Themes Covered: أركان الإسلام > التوحيد > المكذبون الظالمون > صفاتهم Pillars of Islam> Islamic> The Oppressive Liars> Their Characteristics أركان الإسلام > التوحيد > المكذبون الظالمون > قساوة قلوبهم Pillars of Islam> Islamic> The Oppressive Liars> Their Hard-Hearts القصص والتاريخ > العبر التاريخية فى أنباء القرى The Stories and the History> The Historic Examples of Towns' News
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Hello from cat-fragment [META-INF/resources/cat/main.html]
Click
here
to see servlet mapped by annotation
Click
here
to see servlet mapped by web-fragment.xml


Teen struck by lightning is IDF soldier
IDF confirms 19-year-old who was struck by lightning Sunday was soldier in middle of training exercise.
by Arutz Sheva StaffThe A 19-year-old man who was seriously injured Sunday evening when he was struck by lightning near Kibbutz Ramat Hashofet in northern Israel was an IDF soldier who was undergoing a training exercise, the military confirmed Monday.
The young man suffered burns across his body from the lightning strike, and was treated by MDA paramedics on the scene before being evacuated to Rambam Hospital in Haifa.
The IDF confirmed that the soldier is receiving medical treatment and that his family has been notified of the incident.
Dr. Shachar Grunner, from Rambam Hospital, credited the teenager's friends with saving his life.
“His friends who were with him at the time saved his life. They cleared his air passages and brought him here with vital signs. He is recovering in intensive care, right now he is in serious condition," Dr. Grunner said yesterday.


GDB
Challenge Binary
After downloading the above file go to the directory where the file is present and type chmod +x crackme
in the terminal to make the file executable.
First, load the file into gdb by typing gdb filename in your terminal
.
For this, you have to be in the directory where the file is located.
Here my filename is crackme. Once the file is loaded, to see all the
functions defined in the file type info functions
We have the main function defined. Let's see the disassembly of the main function by typing disassemble main. We get something like this
Now the disassembly of the main function is in AT&T format, we'll change that into Intel format by typing set disassembly-flavor intel
(I prefer Intel format :D ).
Now let's see the disassembly of the main function by typing disassemble main
. It will be like this.
On observing the disassembly of the main function, we can say that
there are 4 compare statements. Let's see what is actually happening at
those compare staetments by putting break points at those 4 locations.
To put the break point type b*address
.The corresponding addresses are to the left side of the instruction(something like 0xaaaaaaaa).
Now let's run the program by giving some random input (say 'hello') . Type run hello
to run the program with 'hello' as the input.
Now the program is halted at the 1st breakpoint. Now type disas main.
The small arrow indicates the next instruction to be executed. The comparison is between al and 0x62. Let's see what is in al. To see what is present in al type print $al.
It gives us 104 (0x68 hex ).It is nothing but the ASCII value of the 1st byte of our input (hello) which is 'h'. It is being compared with 0x62 (98) ASCII value of letter 'b'.Let's manually see what happens next.Type ni
to proceed to the next instruction. As our input doesn't match with 0x62, jne 0x8048464
this jump instruction is executed and the program control jumps to the instruction at 0x8048464.(Type x/x $eip
whenever you want to see what instruction is going to be executed next or where the program control is right now. or just type disas main
)
1 2 3 4 5 6 7 | 0x08048464 <+96> : mov DWORD PTR [esp],0x8048558 0x0804846b <+103>: call 0x8048310 <puts@plt> 0x08048470 <+108>: mov DWORD PTR [esp],0xffffffff 0x08048477 <+115>: call 0x8048330 <exit@plt> |
These 4 instructions will be executed, "You Lose" is printed on to the screen and program exits normally.
Now we have concluded that our 1st letter must be 'b'. Similarly, there are 3 more compare statements.
Let's run the program again by giving 'b' as the 1st letter in our input(say 'bell'). Type r bell
.
Now as the 1st letter of our input is 'b', jne 0x8048464
this instruction is not executed and it successfully goes to the next breakpoint.
Type c
continue and then see where our program control is.
Now our instruction pointer is at the 2nd breakpoint. Here lets see what is in al. Type print $al
.
We get 101 (0x65), that is the ASCII value of 'e' which is the 2nd letter of our input. It is being compared with 0x6c (108), ASCII value of 'l'. So our 2nd letter has got to be 'l'.
Similarly, there are 2 more compare statements which take the 3rd byte and the 4th byte of our input and check them with 0x61(97 ASCII value for 'a') and 0x68(104 ASCII value for 'h') respectively.
So our input must be "blah".
Now get out of gdb by pressing ctrl+z. Then run the file by giving 'blah' as the input. Type ./crackme blahto run the file with 'blah' as input.
The challenge is complete. "You win"
Tasks
Now you have reached a crucial point. This is what you were waiting for.This is the first real RE challenge that you will be facing.
You are going to be provided with the bomb labs binary. You need to pass the stages 1 - 6 to defuse the bomb. And there is also a secret level.
Tools that can be used :
- Gdb
-
python
-
Additionally you can store the inputs of the stages that you have already found out in a file let's assume it is
inp
. Now the next time you are running the binary you can run it asr < inp
in gdb and you can save the hassle of typing the previous inputs
Also keep in mind that you can't patch or change the values of any registers at any point of time. The solution requires you to find out exactly the password of each stage.
Submit the passwords of each stage as a single file which when run
./bomblabs < inp
should clear all the stages.


|
| string | Name [get, set] |
| | Name of the actor More...
|
| |
| uint | Condition [get, set] |
| | Condition damage score More...
|
| |
| uint | Concentration [get, set] |
| | Concentration score More...
|
| |
| uint | Healing [get, set] |
| | Healing Power score More...
|
| |
| uint | Toughness [get, set] |
| | Toughness score More...
|
| |
| uint | HitboxHeight [get, set] |
| | Height of the hitbox More...
|
| |
| uint | HitboxWidth [get, set] |
| | Width of the hitbox More...
|
| |
| ushort | InstanceID [get, set] |
| | ID of the actor in the instance More...
|
| |
| List< JsonMinions > | Minions [get, set] |
| | List of minions More...
|
| |
| JsonStatistics.JsonDPS [] | DpsAll [get, set] |
| | Array of Total DPS stats
Length == # of phases More...
|
| |
| JsonStatistics.JsonGameplayStatsAll [] | StatsAll [get, set] |
| | Stats against all
Length == # of phases More...
|
| |
| JsonStatistics.JsonDefensesAll [] | Defenses [get, set] |
| | Defensive stats
Length == # of phases More...
|
| |
| List< JsonDamageDist > [] | TotalDamageDist [get, set] |
| | Total Damage distribution array
Length == # of phases More...
|
| |
| List< JsonDamageDist > [] | TotalDamageTaken [get, set] |
| | Damage taken array Length == # of phases More...
|
| |
| List< JsonRotation > | Rotation [get, set] |
| | Rotation data More...
|
| |
| List< int > [] | Damage1S [get, set] |
| | Array of int representing 1S damage points
Length == # of phases More...
|
| |
| List< int[]> | ConditionsStates [get, set] |
| | Array of int[2] that represents the number of conditions
Array[i][0] will be the time, Array[i][1] will be the number of conditions present from Array[i][0] to Array[i+1][0]
If i corresponds to the last element that means the status did not change for the remainder of the fight
More...
|
| |
| List< int[]> | BoonsStates [get, set] |
| | Array of int[2] that represents the number of boons
Array[i][0] will be the time, Array[i][1] will be the number of boons present from Array[i][0] to Array[i+1][0]
If i corresponds to the last element that means the status did not change for the remainder of the fight More...
|
| |
| List< int[]> | ActiveCombatMinions [get, set] |
| | Array of int[2] that represents the number of active combat minions
Array[i][0] will be the time, Array[i][1] will be the number of active combat minions present from Array[i][0] to Array[i+1][0]
If i corresponds to the last element that means the status did not change for the remainder of the fight More...
|
| |
| List< double[]> | HealthPercents [get, set] |
| | Array of double[2] that represents the health status of the actor
Array[i][0] will be the time, Array[i][1] will be health %
If i corresponds to the last element that means the health did not change for the remainder of the fight
More...
|
| |
Base class for Players and NPCs
- See also
- JsonPlayer, JsonNPC
| List<int> [] GW2EIBuilders.JsonModels.JsonActor.Damage1S |
|
getset |
Array of int representing 1S damage points
Length == # of phases
If the duration of the phase in seconds is non integer, the last point of this array will correspond to the last point
ex: duration === 15250ms, the array will have 17 elements [0, 1000,...,15000,15250]


|
Bullet Collision Detection & Physics Library
|
Public Member Functions | |
| virtual void | processTriangle (btVector3 *triangle, int partId, int triangleIndex) |
| Public Member Functions inherited from btTriangleCallback | |
| virtual | ~btTriangleCallback () |
Public Attributes | |
| btGImpactCollisionAlgorithm * | algorithm |
| const btCollisionObjectWrapper * | body0Wrap |
| const btCollisionObjectWrapper * | body1Wrap |
| const btGImpactShapeInterface * | gimpactshape0 |
| bool | swapped |
| btScalar | margin |
Definition at line 726 of file btGImpactCollisionAlgorithm.cpp.
|
inlinevirtual |
Implements btTriangleCallback.
Definition at line 736 of file btGImpactCollisionAlgorithm.cpp.
| btGImpactCollisionAlgorithm* btGImpactTriangleCallback::algorithm |
Definition at line 729 of file btGImpactCollisionAlgorithm.cpp.
| const btCollisionObjectWrapper* btGImpactTriangleCallback::body0Wrap |
Definition at line 730 of file btGImpactCollisionAlgorithm.cpp.
| const btCollisionObjectWrapper* btGImpactTriangleCallback::body1Wrap |
Definition at line 731 of file btGImpactCollisionAlgorithm.cpp.
| const btGImpactShapeInterface* btGImpactTriangleCallback::gimpactshape0 |
Definition at line 732 of file btGImpactCollisionAlgorithm.cpp.
| btScalar btGImpactTriangleCallback::margin |
Definition at line 734 of file btGImpactCollisionAlgorithm.cpp.
| bool btGImpactTriangleCallback::swapped |
Definition at line 733 of file btGImpactCollisionAlgorithm.cpp.


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.featureToggles.FeatureSwitch.FeatureSwitch @import config.featureToggles.ConfigurableValue.ConfigurableValue @import helper._ @import config.FrontendAppConfig @this(template: main_template, appConfig: FrontendAppConfig) @( booleanSwitches: Map[FeatureSwitch, Boolean], configurableValues: Map[ConfigurableValue, String], action: Call, reset: Call )(implicit request: Request[_], messages: Messages) @template(title = "Feature switches", appConfig) {
}


Engage viewers, differentiate experience and drive new revenue
with highly-relevant contextual services
Comigo redefines the TV experience, infusing it with the full power of the Internet.
Contact usDrive stickiness by enriching content with contextual data from external sources
Engage viewers and increase content spread through data-driven social features
Offer personalised content with contextualised search, menu and recommendations
Create new revenue engines through contextual shopping services
Offer ultra-targeted measurable advertising with advanced campaign analytics
Quickly launch new, unique services based on our open SDK
Comigo Experience Intelligence (EI)
Enhance your OTT TVComigo's Android-based STB (HW&MW)
Deploy on AndroidIntelligence-based contextual WatchApp™ applications
Learn MoreThe inside view


In order to pass the test conducted by Authorities, you must have 40% grade. Canditate with in between scores are capable of going to next round.
| Name of student | 4 Digit ID | Marks(%) |
|---|---|---|
| Justin Cracker | 1801 | 60% |
| Angela Don | 2390 | 50% |
| Romero Shejan | 5643 | 68% |
| Miley Bibo | 6382 | 37.8% |
| Wolfey Gang | 3628 | 64.9% |
| Amber Malik | 2281 | 82.1% |
| Quinten Boss | 7282 | 45% |
Once grades alloted, no further query will be entertained.


VEHICLE TRACKING AND FLEET MANAGMENT SYSTEM
Customer Logo
Live
Vehicle Information
Vehicle View
Vehicle Map View
Vehicle information
Vehicle I/O List
Reports
Settings
Driver Scheduling
Vehicle Service
Geofency
Fuel
Location Entry
Route
Route Scheduling
Configuration
Vehicle Master
Driver Details
Vehicle Groups
Alert
User
No Movement
School
Student Entry
Welcome to Test
Log out
NST
Vehicle Tracking And Management System
LogOut
Vehicle Information
Vehicle View
Vehicle Map View
Vehicle information
Vehicle I/O List
Reports
Settings
Driver Scheduling
Vehicle Service
Geofency
Fuel
Location Entry
Route
Route Scheduling
Configuration
Vehicle Master
Driver Details
Vehicle Groups
Alert
User
No Movement
School
Student Entry
Autoload
60
90
30
Sec.
Copyrights @ 2016 Neha Software Technologies | All Rights Reserved


WITNESS LIST Urban Affairs Committee April 25, 2001-2:00P HB 320 For: Bailey, Ken (Self and Texas State Association of Fire Fighters) Nunez, Hector (Self and Tyler Professional Fire Fighters Association) Against: Ebeid, Omniah (Self and Texas Municipal League) Fischer, Mary Kay (City of Kileen) Frye, Ricky (Self) Registering, but not testifying: For: Boozer, Kenneth (Self and Irving Professional Fire Fighters Association) Butler, Mitchell (Self and Arlington Professional Fire Fighters Association) Fleming, Jim (Self and Abilene Professional Fire Fighters, Local 1044) Gibson, David (Self and Dallas Fire Department, Local 58) Keith, Larry (Self and Texas State Association of Fire Fighters) Lacey, Mark (Self and Mesquite Fire Fighters Association) Mass, Ernest (International Association of Fire Fighters) Phillips, David (Self and Victoria) Sherwood, John (Self and Grapevine Fire Fighters Association) Singer, Joe (Self and Waco Professional Fire Fighters Association, Local 478) Suther, George (Self and San Antonio Professional Fire Fighters Association, Local 624) Torres, Carlos (Self and Corpus Christi Fire Fighters Association) Torres, Rafael (Self and El Paso Association of Fire Fighters) Toupin, Scott (Self and Austin Fire Fighters Association) Wilkison, Charley (Combined Law Enforcement Associations of Texas) Williams, James (Self and Amarillo Fire Fighters Association) York, Bob (Self and Wichita Falls Fire Fighters Association) Against: Bizzell, Lynn (Texas Fire Chiefs Association) HB 818 Registering, but not testifying: Against: Grace, Cary (City of Houston) HB 1660 For: Dorfman, Katie (Scenic Houston and Scenic Texas, Inc.) Fowler, Michael (Trees for Houston) Wyatt, Carla (Treescape) HB 2706 For: Hutmacher, James (Bexar County Sheriff's Deputies Law Enforcement Organization) Reynolds, John (Sheriff of Bexar County) Registering, but not testifying: For: Bailey, Ken (Self and Texas State Association of Fire Fighters) Oakley, Keith (Texas Municipal Police Association) Wilkison, Charley (Combined Law Enforcement Associations of Texas) SB 1287 Registering, but not testifying: For: Talerico, Jeanne (Texas Association of Local Housing Finance Agencies)


Novartis to buy The Medicines Company for $9.7 billion
by The Associated PressSwiss pharmaceutical company Novartis has reached a deal to buy cholesterol drugmaker The Medicines Co. for $9.7 billion.
Novartis will pay $85 per share for the New Jersey biotech company, a sharp increase over The Medicine Co.’s Friday closing price of $68.55 per share. The deal is worth $9.7 billion, including outstanding stock options and convertible debt.
The Medicines Co. is in late-stage studies of a drug, inclisiran, meant to lower cholesterol.
Novartis has a pattern of acquiring other companies in recent years to expand its portfolio of drugs.
“We’re hoping to reimagine treatment of the leading global cause of death. This could be a strong step forward in Novartis’ transformation into a focused medicines company,” Novartis CEO Vas Narasimhan tweeted Sunday.
The Medicines Co. focuses on researching treatments for cardiovascular disease, specifically looking at ways to lower so-called bad cholesterol.
The deal is expected to close early next year.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Microservices for
OMERO Users
OME Users meeting
30th May 2018
Riad Gozim
Image Data Resource (IDR)
- Publically available
- Highly flexible
- Big data
What is the "Data" in IDR
The problem
- 46 terabytes (TB) of data
- 160 gigabytes (GB) database
- 50 million images
Performance
- Time taken to complete a some action
- What has to happen to obtain data
- How do we currently takle the problem
Microservices
- Small, independently deployable, modular services
- Scalable
- Reduced complexity
Disadvantages of decoupled clients
- Discoverability: Adding feature pages to website
- More steps to install "everything"
- Devs: More repos and testing infrastructure to maintain
Testing of decoupled clients
-
Use
omero-test-infra
- Docker-composed OMERO server for testing
- Testing scripts run by Travis CI on every github PR


Koji and David's Bank
Sign Up Today
Full Name
Email
Password
Sign up
Congratulations on the creation of your account!
Please sign in to make your first deposit
Please Sign In
Email
Password
Sign in
Welcome to Koji and David's Bank
!
Account Actions
Deposit
Withdrawal
Amount
Submit
Account Balance
See Activity
, here is your recent account activity
Transaction Summary
Your balance is:


Data Type Conversion
Drill supports the following functions for casting and converting data types:
Starting in Drill 1.15, all cast and data type conversion functions return null for an empty string (‘’) when the drill.exec.functions.cast_empty_string_to_null
option is enabled, for example:
SELECT CAST('' AS DATE), TO_TIMESTAMP('', 'yyyy-MM-dd HH:mm:ss') FROM (VALUES(2));
|---------|---------|
| EXPR$0 | EXPR$1 |
|---------|---------|
| null | null |
|---------|---------|
Prior to 1.15, casting an empty string to null only worked for numeric types; in Drill 1.15 and later casting an empty string to null also works for date and time data types, including DATE, TIME, TIMESTAMP, INTERVAL YEAR, INTERVAL MONTH, and INTERVAL DAY.
CAST
The CAST function converts an entity, such as an expression that evaluates to a single value, from one type to another.
CAST Syntax
CAST (<expression> AS <data type>)
expression
A combination of one or more values, operators, and SQL functions that evaluate to a value
data type
The target data type, such as INTEGER or DATE, to which to cast the expression
CAST Usage Notes
Use CONVERT_TO and CONVERT_FROM instead of the CAST function for converting binary data types.
See the following tables for information about the data types to use for casting:
Data Type Conversion Examples
The following examples show how to cast a string to a number, a number to a string, and one type of number to another.
Casting a Character String to a Number
You can cast strings or numeric values to decimals, even if they contain decimal points. In cases where a value has a scale and precision greater than the scale and precision specified in the query, the value is rounded to fit the specified scale and precision.
You cannot cast a character string that includes a decimal point to an INT or BIGINT. For example, if you have “1200.50” in a JSON file, attempting to select and cast the string to an INT fails. As a workaround, cast to a FLOAT or DOUBLE type, and then cast to an INT, assuming you want to lose digits to the right of the decimal point.
The following example shows how to cast a character to a DECIMAL having two decimal places.
SELECT CAST('1' as DECIMAL(28, 2)) FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 1.00 |
|------------|
Casting a Number to a Character String
The first example shows Drill casting a number to a VARCHAR having a length of 3 bytes: The result is a 3-character string, 456. Drill supports the CHAR and CHARACTER VARYING alias.
SELECT CAST(456 as VARCHAR(3)) FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 456 |
|------------|
1 row selected (0.08 seconds)
SELECT CAST(456 as CHAR(3)) FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 456 |
|------------|
1 row selected (0.093 seconds)
Casting from One Type of Number to Another
Cast an integer to a decimal.
SELECT CAST(-2147483648 AS DECIMAL(28,8)) FROM (VALUES(1));
|-----------------|
| EXPR$0 |
|-----------------|
| -2.147483648E9 |
|-----------------|
Casting Intervals
To cast interval data to interval types you can query from a data source such as JSON, for example, use the following syntax, respectively:
CAST (column_name AS INTERVAL DAY)
CAST (column_name AS INTERVAL YEAR)
CAST (column_name AS INTERVAL SECOND)
For example, a JSON file named intervals.json
contains the following objects:
{ "INTERVALYEAR_col":"P1Y", "INTERVALDAY_col":"P1D", "INTERVAL_col":"P1Y1M1DT1H1M" }
{ "INTERVALYEAR_col":"P2Y", "INTERVALDAY_col":"P2D", "INTERVAL_col":"P2Y2M2DT2H2M" }
{ "INTERVALYEAR_col":"P3Y", "INTERVALDAY_col":"P3D", "INTERVAL_col":"P3Y3M3DT3H3M" }
Create a table in Parquet from the interval data in the intervals.json
file.
-
Set the storage format to Parquet.
ALTER SESSION SET `store.format` = 'parquet'; |-------|------------------------| | ok | summary | |-------|------------------------| | true | store.format updated. | |-------|------------------------| 1 row selected (0.072 seconds)
-
Use a CTAS statement to cast text from a JSON file to year and day intervals and to write the data to a Parquet table:
CREATE TABLE dfs.tmp.parquet_intervals AS (SELECT CAST( INTERVALYEAR_col as INTERVAL YEAR) INTERVALYEAR_col, CAST( INTERVALDAY_col as INTERVAL DAY) INTERVALDAY_col, CAST( INTERVAL_col as INTERVAL SECOND) INTERVAL_col FROM dfs.`/Users/drill/intervals.json`);
-
Take a look at what Drill wrote to the Parquet file:
SELECT * FROM dfs.`tmp`.parquet_intervals; |-------------------|------------------|---------------| | INTERVALYEAR_col | INTERVALDAY_col | INTERVAL_col | |-------------------|------------------|---------------| | P12M | P1D | P1DT3660S | | P24M | P2D | P2DT7320S | | P36M | P3D | P3DT10980S | |-------------------|------------------|---------------| 3 rows selected (0.082 seconds)
Because you cast the INTERVAL_col to INTERVAL SECOND, Drill returns the interval data representing the year, month, day, hour, minute, and second.
CONVERT_TO and CONVERT_FROM
The CONVERT_TO and CONVERT_FROM functions convert binary data to/from Drill internal types based on the little or big endian encoding of the data.
CONVERT_TO and CONVERT_FROM Syntax
CONVERT_TO (column, type)
CONVERT_FROM(column, type)
column is the name of a column Drill reads.
type is one of the encoding types listed in the CONVERT_TO/FROM data types table.
CONVERT_TO and CONVERT_FROM Usage Notes
-
CONVERT_FROM and CONVERT_TO methods transform a known binary representation/encoding to a Drill internal format. Use CONVERT_TO and CONVERT_FROM instead of the CAST function for converting binary data types. CONVERT_TO/FROM functions work for data in a binary representation and are more efficient to use than CAST.
-
Drill can optimize scans on HBase tables when you use the *_BE encoded types shown in section “Data Types for CONVERT_TO and CONVERT_FROM Functions” on big endian-encoded data. You need to use the HBase storage plugin and query data as described in “Querying Hbase”. To write Parquet binary data, convert SQL data to binary data and store the data in a Parquet table while creating a table as a selection (CTAS).
-
CONVERT_TO also converts an SQL data type to complex types, including HBase byte arrays, JSON and Parquet arrays, and maps. CONVERT_FROM converts from complex types, including HBase arrays, JSON and Parquet arrays and maps to an SQL data type.
-
You can use STRING_BINARY and BINARY_STRING custom Drill functions with CONVERT_TO and CONVERT_FROM to get meaningful results.
-
Drill 1.13 and later supports NaN and Infinity values as numeric data types. You can use the convert_to and convert_from functions in queries on JSON data with NaN and Infinity values, as shown in the following query examples:
select convert_fromJSON('{"num": 55, "nan": NaN, "inf": -Infinity}'); select convert_fromJSON(jsonColumn) from mysql.someTable; select string_binary(convert_toJSON(convert_fromJSON(jsonColumn) from mysql.someTable;
Conversion of Data Types Examples
This example shows how to use the CONVERT_FROM function to convert HBase data to a SQL type. The example summarizes and continues the “Query HBase” example. The “Query HBase” example stores the following data in the students table on the Drill Sandbox:
USE maprdb;
SELECT * FROM students;
|-------------|---------------------|---------------------------------------------------------------------------|
| row_key | account | address |
|-------------|---------------------|---------------------------------------------------------------------------|
| [B@e6d9eb7 | {"name":"QWxpY2U="} | {"state":"Q0E=","street":"MTIzIEJhbGxtZXIgQXY=","zipcode":"MTIzNDU="} |
| [B@2823a2b4 | {"name":"Qm9i"} | {"state":"Q0E=","street":"MSBJbmZpbml0ZSBMb29w","zipcode":"MTIzNDU="} |
| [B@3b8eec02 | {"name":"RnJhbms="} | {"state":"Q0E=","street":"NDM1IFdhbGtlciBDdA==","zipcode":"MTIzNDU="} |
| [B@242895da | {"name":"TWFyeQ=="} | {"state":"Q0E=","street":"NTYgU291dGhlcm4gUGt3eQ==","zipcode":"MTIzNDU="} |
|-------------|---------------------|---------------------------------------------------------------------------|
4 rows selected (1.335 seconds)
You use the CONVERT_FROM function to decode the binary data, selecting a data type to use from the list of supported types. JSON supports strings. To convert bytes to strings, use the UTF8 type:
SELECT CONVERT_FROM(row_key, 'UTF8') AS studentid,
CONVERT_FROM(students.account.name, 'UTF8') AS name,
CONVERT_FROM(students.address.state, 'UTF8') AS state,
CONVERT_FROM(students.address.street, 'UTF8') AS street,
CONVERT_FROM(students.address.zipcode, 'UTF8') AS zipcode FROM students;
|------------|------------|------------|------------------|------------|
| studentid | name | state | street | zipcode |
|------------|------------|------------|------------------|------------|
| student1 | Alice | CA | 123 Ballmer Av | 12345 |
| student2 | Bob | CA | 1 Infinite Loop | 12345 |
| student3 | Frank | CA | 435 Walker Ct | 12345 |
| student4 | Mary | CA | 56 Southern Pkwy | 12345 |
|------------|------------|------------|------------------|------------|
4 rows selected (0.504 seconds)
This example converts VARCHAR data to a JSON map:
SELECT CONVERT_FROM('{x:100, y:215.6}' ,'JSON') AS MYCOL FROM (VALUES(1));
|----------------------|
| MYCOL |
|----------------------|
| {"x":100,"y":215.6} |
|----------------------|
1 row selected (0.163 seconds)
This example uses a list of BIGINT data as input and returns a repeated list of vectors:
SELECT CONVERT_FROM('[ [1, 2], [3, 4], [5]]' ,'JSON') AS MYCOL1 FROM (VALUES(1));
|------------|
| mycol1 |
|------------|
| [[1,2],[3,4],[5]] |
|------------|
1 row selected (0.054 seconds)
This example uses a map as input to return a repeated list vector (JSON).
SELECT CONVERT_FROM('[{a : 100, b: 200}, {a:300, b: 400}]' ,'JSON') AS MYCOL1 FROM (VALUES(1));
|----------------------------------------|
| MYCOL1 |
|----------------------------------------|
| [{"a":100,"b":200},{"a":300,"b":400}] |
|----------------------------------------|
Set Up a Storage Plugin for Working with HBase
This example assumes you are working in the Drill Sandbox. You modify the dfs
storage plugin slightly and use that plugin for this example.
-
Copy/paste the
dfs
storage plugin definition to a newly created plugin called myplugin. -
Change the root location to “/mapr/demo.mapr.com/tables”. After this change, you can read a table in the
tables
directory. You can write a converted version of the table in thetmp
directory because the writable property is true.{ "type": "file", "enabled": true, "connection": "maprfs:///", "workspaces": { "root": { "location": "/mapr/demo.mapr.com/tables", "writable": true, "defaultInputFormat": null }, . . . "tmp": { "location": "/tmp", "writable": true, "defaultInputFormat": null } . . . "formats": { . . . "maprdb": { "type": "maprdb" } } }
Convert the Binary HBase Students Table to JSON Data
First, you set the storage format to JSON. Next, you use the CREATE TABLE AS (CTAS) statement to convert from a selected file of a different format, HBase in this example, to the storage format. You then convert the JSON file to Parquet using a similar procedure. Set the storage format to Parquet, and use a CTAS statement to convert to Parquet from JSON. In each case, you select UTF8 as the file format because the data you are converting from and then to consists of strings.
-
Start Drill on the Drill Sandbox and set the default storage format from Parquet to JSON.
ALTER SESSION SET `store.format`='json';
-
Use CONVERT_FROM queries to convert the binary data in the HBase students table to JSON, and store the JSON data in a file. You select a data type to use from the supported. JSON supports strings. To convert binary to strings, use the UTF8 type.
CREATE TABLE tmp.`to_json` AS SELECT CONVERT_FROM(row_key, 'UTF8') AS `studentid`, CONVERT_FROM(students.account.name, 'UTF8') AS name, CONVERT_FROM(students.address.state, 'UTF8') AS state, CONVERT_FROM(students.address.street, 'UTF8') AS street, CONVERT_FROM(students.address.zipcode, 'UTF8') AS zipcode FROM root.`students`; |------------|---------------------------| | Fragment | Number of records written | |------------|---------------------------| | 0_0 | 4 | |------------|---------------------------| 1 row selected (0.41 seconds)
-
Navigate to the output.
cd /mapr/demo.mapr.com/tmp/to_json ls Output is: 0_0_0.json
-
Take a look at the output of
to_json
:{ "studentid" : "student1", "name" : "Alice", "state" : "CA", "street" : "123 Ballmer Av", "zipcode" : "12345" } { "studentid" : "student2", "name" : "Bob", "state" : "CA", "street" : "1 Infinite Loop", "zipcode" : "12345" } { "studentid" : "student3", "name" : "Frank", "state" : "CA", "street" : "435 Walker Ct", "zipcode" : "12345" } { "studentid" : "student4", "name" : "Mary", "state" : "CA", "street" : "56 Southern Pkwy", "zipcode" : "12345" }
-
Set up Drill to store data in Parquet format.
ALTER SESSION SET `store.format`='parquet'; |-------|------------------------| | ok | summary | |-------|------------------------| | true | store.format updated. | |-------|------------------------| 1 row selected (0.07 seconds)
-
Use CONVERT_TO to convert the JSON data to a binary format in the Parquet file.
CREATE TABLE tmp.`json2parquet` AS SELECT CONVERT_TO(studentid, 'UTF8') AS id, CONVERT_TO(name, 'UTF8') AS name, CONVERT_TO(state, 'UTF8') AS state, CONVERT_TO(street, 'UTF8') AS street, CONVERT_TO(zipcode, 'UTF8') AS zip FROM tmp.`to_json`; |------------|---------------------------| | Fragment | Number of records written | |------------|---------------------------| | 0_0 | 4 | |------------|---------------------------| 1 row selected (0.414 seconds)
-
Take a look at the meaningless output from sqlline:
SELECT * FROM tmp.`json2parquet`; |-------------|-------------|-------------|-------------|-------------| | id | name | state | street | zip | |-------------|-------------|-------------|-------------|-------------| | [B@224388b2 | [B@7fc36fb0 | [B@77d9cd57 | [B@7c384839 | [B@530dd5e5 | | [B@3155d7fc | [B@7ad6fab1 | [B@37e4b978 | [B@94c91f3 | [B@201ed4a | | [B@4fb2c078 | [B@607a2f28 | [B@75ae1c93 | [B@79d63340 | [B@5dbeed3d | | [B@2fcfec74 | [B@7baccc31 | [B@d91e466 | [B@6529eb7f | [B@232412bc | |-------------|-------------|-------------|-------------|-------------| 4 rows selected (0.12 seconds)
-
Use CONVERT_FROM to read the Parquet data:
SELECT CONVERT_FROM(id, 'UTF8') AS id, CONVERT_FROM(name, 'UTF8') AS name, CONVERT_FROM(state, 'UTF8') AS state, CONVERT_FROM(street, 'UTF8') AS address, CONVERT_FROM(zip, 'UTF8') AS zip FROM tmp.`json2parquet2`; |------------|------------|------------|------------------|------------| | id | name | state | address | zip | |------------|------------|------------|------------------|------------| | student1 | Alice | CA | 123 Ballmer Av | 12345 | | student2 | Bob | CA | 1 Infinite Loop | 12345 | | student3 | Frank | CA | 435 Walker Ct | 12345 | | student4 | Mary | CA | 56 Southern Pkwy | 12345 | |------------|------------|------------|------------------|------------| 4 rows selected (0.182 seconds)
STRING_BINARY function
Prints the bytes that are printable, and prints a hexadecimal representation for bytes that are not printable. This function is modeled after the hbase utilities.
STRING_BINARY Syntax
STRING_BINARY(expression)
expression is a byte array, such as {(byte)0xca, (byte)0xfe, (byte)0xba, (byte)0xbe}
You can use this function with CONVERT_TO when you want to test the effects of a conversion.
STRING_BINARY Examples
SELECT
STRING_BINARY(CONVERT_TO(1, 'INT')) as i,
STRING_BINARY(CONVERT_TO(1, 'INT_BE')) as i_be,
STRING_BINARY(CONVERT_TO(1, 'BIGINT')) as l,
STRING_BINARY(CONVERT_TO(1, 'BIGINT')) as l_be,
STRING_BINARY(CONVERT_TO(1, 'INT_HADOOPV')) as l_be
FROM (VALUES (1));
Output is:
|-------------------|-------------------|-----------------------------------|-----------------------------------|--------|
| i | i_be | l | l_be | l_be0 |
|-------------------|-------------------|-----------------------------------|-----------------------------------|--------|
| \x01\x00\x00\x00 | \x00\x00\x00\x01 | \x01\x00\x00\x00\x00\x00\x00\x00 | \x01\x00\x00\x00\x00\x00\x00\x00 | \x01 |
|-------------------|-------------------|-----------------------------------|-----------------------------------|--------|
1 row selected (0.323 seconds)
Encode ‘hello’ in UTF-8 and UTF-16 VARBINARY encoding and return the results as a VARCHAR.
SELECT
STRING_BINARY(CONVERT_TO('hello', 'UTF8')) u8,
STRING_BINARY(CONVERT_TO('hello', 'UTF16')) u16
FROM (VALUES (1));
|--------|------------------------------------|
| u8 | u16 |
|--------|------------------------------------|
| hello | \xFE\xFF\x00h\x00e\x00l\x00l\x00o |
|--------|------------------------------------|
1 row selected (0.168 seconds)
BINARY_STRING function
Converts a string that is the hexadecimal encoding of a sequence of bytes into a VARBINARY value.
BINARY_STRING Syntax
BINARY_STRING(expression)
expression is a hexadecimal string, such as "\xca\xfe\xba\xbe"
.
This function returns a byte array, such as {(byte)0xca, (byte)0xfe, (byte)0xba, (byte)0xbe}.
BINARY_STRING Example
Converts a VARBINARY type into a hexadecimal-encoded string.
BINARY_STRING Syntax
BINARY_STRING(expression)
expression is a byte array, such as {(byte)0xca, (byte)0xfe, (byte)0xba, (byte)0xbe}.
This function returns a hexadecimal-encoded string, such as "\xca\xfe\xba\xbe"
. You can use this function with CONVERT_FROM/TO for meaningful results.
BINARY_STRING Examples
Decode the hexadecimal string 000000C8 expressed in four octets \x00\x00\x00\xC8
into an integer equivalent using big endian encoding.
SELECT CONVERT_FROM(BINARY_STRING('\x00\x00\x00\xC8'), 'INT_BE') AS cnvrt
FROM (VALUES (1));
Output is:
|--------|
| cnvrt |
|--------|
| 200 |
|--------|
1 row selected (0.133 seconds)
Decode the same hexadecimal string into an integer using little endian encoding.
SELECT CONVERT_FROM(BINARY_STRING('\x00\x00\x00\xC8'), 'INT') AS cnvrt FROM (VALUES (1));
Output is:
|-------------|
| cnvrt |
|-------------|
| -939524096 |
|-------------|
1 row selected (0.133 seconds)
Convert a hexadecimal number BEBAFECA to its decimal equivalent and then to its VARBINARY equivalent, which is how the value is represented in HBase.
SELECT CONVERT_FROM(BINARY_STRING('\xBE\xBA\xFE\xCA'), 'INT_BE') FROM (VALUES (1));
|--------------|
| EXPR$0 |
|--------------|
| -1095041334 |
|--------------|
SELECT CONVERT_TO(-1095041334, 'INT_BE') FROM (VALUES (1));
|--------------|
| EXPR$0 |
|--------------|
| [B@10c24faf |
|--------------|
1 row selected (0.161 seconds)
Other Data Type Conversions
Drill supports the format for date and time literals shown in the following examples:
-
2008-12-15
-
22:55:55.123…
If you have dates and times in other formats, use a data type conversion function to perform the following conversions:
- A TIMESTAMP, DATE, TIME, INTEGER, FLOAT, or DOUBLE to a character string, which is of type VARCHAR
- A character string to a DATE
- A character string to a NUMBER
The following table lists data type formatting functions that you can use in your Drill queries as described in this section:
| Function | Return Type |
|---|---|
| TO_CHAR(expression, format) | VARCHAR |
| TO_DATE(expression, format) | DATE |
| TO_NUMBER(VARCHAR, format) | DECIMAL |
| TO_TIMESTAMP(VARCHAR, format) | TIMESTAMP |
| TO_TIMESTAMP(DOUBLE) | TIMESTAMP |
Format Specifiers for Numerical Conversions
Use the following Java format specifiers for converting numbers:
| Symbol | Location | Meaning |
|---|---|---|
| 0 | Number | Digit |
| # | Number | Digit, zero shows as absent |
| . | Number | Decimal separator or monetary decimal separator |
| - | Number | Minus sign |
| , | Number | Grouping separator |
| E | Number | Separates mantissa and exponent in scientific notation. Need not be quoted in prefix or suffix. |
| ; | Subpattern boundary | Separates positive and negative subpatterns |
| % | Prefix or suffix | Multiply by 100 and show as percentage |
| \u2030 | Prefix or suffix | Multiply by 1000 and show as per mille value |
| _ (\u00A4) | Prefix or suffix | Currency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator. |
| ’ | Prefix or suffix | Used to quote special characters in a prefix or suffix, for example, “’#’#”” formats 123 to ““#123””. To create a single quote itself, use two in a row: “# o’‘clock”. |
Format Specifiers for Date/Time Conversions
Use the following Joda format specifiers for date/time conversions:
| Symbol | Meaning | Presentation | Examples |
|---|---|---|---|
| G | era | text | AD |
| C | century of era (>=0) | number | 20 |
| Y | year of era (>=0) | year | 1996 |
| x | weekyear | year | 1996 |
| w | week of weekyear | number | 27 |
| e | day of week | number | 2 |
| E | day of week | text | Tuesday; Tue |
| y | year | year | 1996 |
| D | day of year | number | 189 |
| M | month of year | month | July; Jul; 07 |
| d | day of month | number | 10 |
| a | halfday of day | text | PM |
| K | hour of halfday (0~11) | number | 0 |
| h | clockhour of halfday (1~12) number | 12 | |
| H | hour of day (0~23) | number | 0 |
| k | clockhour of day (1~24) | number | 24 |
| m | minute of hour | number | 30 |
| s | second of minute | number | 55 |
| S | fraction of second | number | 978 |
| z | time zone | text | Pacific Standard Time; PST |
| Z | time zone offset/id | zone | -0800; -08:00; America/Los_Angeles |
| ’ | single quotation mark, escape for text delimiter | literal |
Note
The Joda format specifiers are case-sensitive.
For more information about specifying a format, refer to one of the following format specifier documents:
- Java DecimalFormat class format specifiers
- Joda DateTimeFormat class format specifiers
TO_CHAR
TO_CHAR converts a number, date, time, or timestamp expression to a character string.
TO_CHAR Syntax
TO_CHAR (expression, 'format')
expression is a INTEGER, FLOAT, DOUBLE, DATE, TIME, or TIMESTAMP expression.
‘format’ is a format specifier enclosed in single quotation marks that sets a pattern for the output formatting.
TO_CHAR Usage Notes
You can use the ‘z’ option to identify the time zone in TO_TIMESTAMP to make sure the timestamp has the timezone in it, as shown in the TO_TIMESTAMP description.
TO_CHAR Examples
Convert a FLOAT to a character string. The format specifications use a comma to separate thousands and round-off to three decimal places.
SELECT TO_CHAR(1256.789383, '#,###.###') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 1,256.789 |
|------------|
1 row selected (1.767 seconds)
Convert an integer to a character string.
SELECT TO_CHAR(125677.4567, '#,###.###') FROM (VALUES(1));
|--------------|
| EXPR$0 |
|--------------|
| 125,677.457 |
|--------------|
1 row selected (0.083 seconds)
Convert a date to a character string.
SELECT TO_CHAR((CAST('2008-2-23' AS DATE)), 'yyyy-MMM-dd') FROM (VALUES(1));
|--------------|
| EXPR$0 |
|--------------|
| 2008-Feb-23 |
|--------------|
1 row selected (0.166 seconds)
Convert a time to a string.
SELECT TO_CHAR(CAST('12:20:30' AS TIME), 'HH mm ss') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 12 20 30 |
|------------|
1 row selected (0.07 seconds)
Convert a timestamp to a string.
SELECT TO_CHAR(CAST('2015-2-23 12:00:00' AS TIMESTAMP), 'yyyy MMM dd HH:mm:ss') FROM (VALUES(1));
|-----------------------|
| EXPR$0 |
|-----------------------|
| 2015 Feb 23 12:00:00 |
|-----------------------|
1 row selected (0.142 seconds)
TO_DATE
Converts a character string or a UNIX epoch timestamp to a date.
TO_DATE Syntax
TO_DATE (expression [, 'format'])
expression is a character string enclosed in single quotation marks or a Unix epoch timestamp in milliseconds, not enclosed in single quotation marks.
‘format’ is a character string that specifies the format of expression. Only use this option when the expression is a character string, not a UNIX epoch timestamp.
TO_DATE Usage Notes
Specify a format using patterns defined in Joda DateTimeFormat class. The TO_TIMESTAMP function takes a Unix epoch timestamp. The TO_DATE function takes a UNIX epoch timestamp in milliseconds. The UNIX_TIMESTAMP function converts a time string to a UNIX timestamp in seconds.
To compare dates in the WHERE clause, use TO_DATE on the value in the date column and in the comparison value. For example:
SELECT <fields> FROM <plugin> WHERE TO_DATE(<field>, <format>) < TO_DATE (<value>, <format>);
For example:
SELECT TO_DATE(`date`, 'yyyy-MM-dd') FROM `sample.json`;
|------------|
| EXPR$0 |
|------------|
| 2013-07-26 |
| 2013-05-16 |
| 2013-06-09 |
| 2013-07-19 |
| 2013-07-21 |
|------------|
5 rows selected (0.134 seconds)
SELECT TO_DATE(`date`, 'yyyy-MM-dd') FROM `sample.json` WHERE TO_DATE(`date`, 'yyyy-MM-dd') < TO_DATE('2013-07-20', 'yyyy-MM-dd');
|------------|
| EXPR$0 |
|------------|
| 2013-05-16 |
| 2013-06-09 |
| 2013-07-19 |
|------------|
3 rows selected (0.177 seconds)
TO_DATE Examples
The first example converts a character string to a date. The second example extracts the year to verify that Drill recognizes the date as a date type.
SELECT TO_DATE('2015-FEB-23', 'yyyy-MMM-dd') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 2015-02-23 |
|------------|
1 row selected (0.077 seconds)
SELECT EXTRACT(year from mydate) `extracted year` FROM (SELECT TO_DATE('2015-FEB-23', 'yyyy-MMM-dd') AS mydate FROM (VALUES(1)));
|------------|
| myyear |
|------------|
| 2015 |
|------------|
1 row selected (0.128 seconds)
The following example converts a UNIX epoch timestamp to a date.
SELECT TO_DATE(1427849046000) FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 2015-04-01 |
|------------|
1 row selected (0.082 seconds)
TO_NUMBER
TO_NUMBER converts a character string to a formatted number using a format specification.
Syntax
TO_NUMBER ('string', 'format')
‘string’ is a character string enclosed in single quotation marks.
‘format’ is one or more Java DecimalFormat class specifiers enclosed in single quotation marks that set a pattern for the output formatting.
TO_NUMBER Usage Notes
The data type of the output of TO_NUMBER is a numeric. You can use the following Java DecimalFormat class specifiers to set the output formatting.
-
#
Digit placeholder. -
0
Digit placeholder. If a value has a digit in the position where the zero ‘0’ appears in the format string, that digit appears in the output; otherwise, a ‘0’ appears in that position in the output. -
.
Decimal point. Make the first ‘.’ character in the format string the location of the decimal separator in the value; ignore any additional ‘.’ characters. -
,
Comma grouping separator. -
E Exponent. Separates mantissa and exponent in scientific notation.
TO_NUMBER Examples
SELECT TO_NUMBER('987,966', '######') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 987.0 |
|------------|
SELECT TO_NUMBER('987.966', '###.###') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 987.966 |
|------------|
1 row selected (0.063 seconds)
SELECT TO_NUMBER('12345', '##0.##E0') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 12345.0 |
|------------|
1 row selected (0.069 seconds)
TO_TIME
Converts a character string to a time.
TO_TIME Syntax
TO_TIME (expression [, 'format'])
expression is a character string enclosed in single quotation marks or milliseconds, not enclosed in single quotation marks.
‘format’ is a format specifier enclosed in single quotation marks that sets a pattern for the output formatting. Use this option only when the expression is a character string, not milliseconds.
TO_TIME Usage Notes
Specify a format using patterns defined in Joda DateTimeFormat class.
TO_TIME Examples
SELECT TO_TIME('12:20:30', 'HH:mm:ss') FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 12:20:30 |
|------------|
1 row selected (0.067 seconds)
Convert 828550000 milliseconds (23 hours 55 seconds) to the time.
SELECT to_time(82855000) FROM (VALUES(1));
|------------|
| EXPR$0 |
|------------|
| 23:00:55 |
|------------|
1 row selected (0.086 seconds)
TO_TIMESTAMP
TO_TIMESTAMP Syntax
TO_TIMESTAMP (expression [, 'format'])
expression is a character string enclosed in single quotation marks or a UNIX epoch timestamp, not enclosed in single quotation marks.
‘format’ is a character string that specifies the format of expression. Only use this option when the expression is a character string, not a UNIX epoch timestamp.
TO_TIMESTAMP Usage Notes
Specify a format using patterns defined in Joda DateTimeFormat class. The TO_TIMESTAMP function takes a Unix epoch timestamp. The TO_DATE function takes a UNIX epoch timestamp in milliseconds.
TO_TIMESTAMP Examples
Convert a date to a timestamp.
SELECT TO_TIMESTAMP('2008-2-23 12:00:00', 'yyyy-MM-dd HH:mm:ss') FROM (VALUES(1));
|------------------------|
| EXPR$0 |
|------------------------|
| 2008-02-23 12:00:00.0 |
|------------------------|
1 row selected (0.126 seconds)
Convert Unix Epoch time to a timestamp.
SELECT TO_TIMESTAMP(1427936330) FROM (VALUES(1));
|------------------------|
| EXPR$0 |
|------------------------|
| 2015-04-01 17:58:50.0 |
|------------------------|
1 row selected (0.114 seconds)
Convert a UTC date to a timestamp offset from the UTC time zone code.
SELECT TO_TIMESTAMP('2015-03-30 20:49:59.0 UTC', 'YYYY-MM-dd HH:mm:ss.s z') AS Original,
TO_CHAR(TO_TIMESTAMP('2015-03-30 20:49:59.0 UTC', 'YYYY-MM-dd HH:mm:ss.s z'), 'z') AS New_TZ
FROM (VALUES(1));
|------------------------|---------|
| Original | New_TZ |
|------------------------|---------|
| 2015-03-30 20:49:00.0 | UTC |
|------------------------|---------|
1 row selected (0.148 seconds)
Enabling Time Zone Offset
Starting in Drill 1.16, the store.hive.maprdb_json.read_timestamp_with_timezone_offset
option enables Drill to read timestamp values with a timezone offset when using the hive plugin with the Drill native MaprDB JSON reader enabled through the store.hive.maprdb_json.optimize_scan_with_native_reader option
. The store.hive.maprdb_json.read_timestamp_with_timezone_offset
option is disabled (set to ‘false’) by default. You can enable this option from the Options page in the Drill Web UI or from the command line using the SET or ALTER SYSTEM commands.
Important
Internally, Drill stores timestamp values in UTC format, for example 2018-01-01T20:12:12.123Z. When you enable the timezone offset option, select on a table returns different timestamp values. If you filter on timestamp values when this option is enabled, you must include the new timestamp value in the filter condition.
For example, look at the timestamp values when the store.hive.maprdb_json.read_timestamp_with_timezone_offset
option is disabled (set to ‘false’):
select * from dfs.`/tmp/timestamp`;
-------------------------------------------------------
_id datestring datetimestamp
-------------------------------------------------------
1 2018-01-01 12:12:12.123 2018-01-01 20:12:12.123
2 9999-12-31 23:59:59.999 10000-01-01 07:59:59.999
-------------------------------------------------------
When the option is enabled (set to ‘true’), you can see the difference in the timestamp values returned:
select * from dfs.`/tmp/timestamp`;
------------------------------------------------------
_id datestring datetimestamp
------------------------------------------------------
1 2018-01-01 12:12:12.123 2018-01-01 12:12:12.123
2 9999-12-31 23:59:59.999 9999-12-31 23:59:59.999
------------------------------------------------------
When the option is enabled, queries that filter on timestamp values must include the new timestamp value in the filter condition, as shown:
select * from dfs.`/tmp/timestamp` where datetimestamp=timestamp '2018-01-01 12:12:12.123';
------------------------------------------------------
_id datestring datetimestamp
------------------------------------------------------
1 2018-01-01 12:12:12.123 2018-01-01 12:12:12.123
------------------------------------------------------
Notice that the WHERE clause uses the 2018-01-01 12:12:12.123
format versus the 2018-01-01 20:12:12.123
format.
Time Zone Limitation
Drill does not support conversion of a date, time, or timestamp from one time zone to another. Queries of data associated with a time zone can return inconsistent results or an error. For more information, see the “Understanding Drill’s Timestamp and Timezone” blog. The Drill time zone is based on the operating system time zone unless you override it. To work around the limitation, configure Drill to use UTC-based time, convert your data to UTC timestamps, and perform date/time operation in UTC.
-
Take a look at the Drill time zone configuration by running the TIMEOFDAY function or by querying the system.options table. This TIMEOFDAY function returns the local date and time with time zone information.
SELECT TIMEOFDAY() FROM (VALUES(1)); |----------------------------------------------| | EXPR$0 | |----------------------------------------------| | 2015-05-17 22:37:29.516 America/Los_Angeles | |----------------------------------------------| 1 row selected (0.108 seconds)
-
Configure the default time zone format in
/conf/drill-env.sh by adding `-Duser.timezone=UTC` to DRILL_JAVA_OPTS. For example: export DRILL_JAVA_OPTS="-Xms1G -Xmx$DRILL_MAX_HEAP -XX:MaxDirectMemorySize=$DRILL_MAX_DIRECT_MEMORY -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=1G -ea -Duser.timezone=UTC"
-
Restart the Drill shell.
-
Confirm that Drill is now set to UTC:
SELECT TIMEOFDAY() FROM (VALUES(1)); |----------------------------------------------| | EXPR$0 | |----------------------------------------------| | 2015-05-17 22:37:57.082 America/Los_Angeles | |----------------------------------------------| 1 row selected (0.087 seconds)
You can use the ‘z’ option to identify the time zone in TO_TIMESTAMP to make sure the timestamp has the timezone in it. Also, use the ‘z’ option to identify the time zone in a timestamp using the TO_CHAR function. For example:
SELECT TO_TIMESTAMP('2015-03-30 20:49:59.0 UTC', 'YYYY-MM-dd HH:mm:ss.s z') AS Original,
TO_CHAR(TO_TIMESTAMP('2015-03-30 20:49:59.0 UTC', 'YYYY-MM-dd HH:mm:ss.s z'), 'z') AS TimeZone
FROM (VALUES(1));
|------------------------|-----------|
| Original | TimeZone |
|------------------------|-----------|
| 2015-03-30 20:49:00.0 | UTC |
|------------------------|-----------|
1 row selected (0.097 seconds)


Formation of a 50Hz + 100Hz Sine Waves using Python+Numpy on Jupyter Notebook
Discussion:
We use Python together Numpy arrays and Matplotlib within a Jupyter Notebook to create a combined wave composed of two sine waves at 50Hz and 100Hz for 2 periods. We then plot the time domain graph of the combined wave, and then compute the Discretized Fast Fourier Transform using the Python libraries. The time domain data is then outputted to a file and used as an input for the DFFT Fortran program to computed the DFFT and plot its output with GNUPlot.
Introduction:
First, we start with a Python script written in Jupyter Notebook to generate a wave composed of the combination of a 50Hz and a 100Hz sine wave, sampled at 10000Hz, for 2 periods, and save these raw data points to a file. The Jupyter Notebook is shown below.
Python+Numpy+Matplotlib on Jupyter Notebook code to generate a combined wave of two sine waves at
50Hz and 100Hz sampled at 10kHz.
Download the code by clicking the link below:
Python Script in Jupyter Notebook
We then run the code and obtain a time domain plot and a frequency domain plot. The results are plotted with GNUPlot:
Image of 50Hz Sine Wave Generated Using Python+Numpy on Jupyter Notebook and Plotted with GNUPlot
Download the image by clicking the link below:
Image of combination wave
Download the image by clicking the link below:
Image of FFT of combination wave
Obtaining Discretized Fast Fourier Transform of Raw Data File
Now that the Python+Numpy on Jupyter Notebook script has output time domain data elements into a file, these
data elements can now be fed into the FFTW3 DFFT algorithm. The algorithm is used within a Fortran 2003 program.
Click this link to see the Fortran 2003 DFFT code.
Running the Fortran 2003 DFFT Program and Obtaining Output Files
The Fortran 2003 code is compiled and run with the raw data text file as input. The resulting files
include the DFFT magnitude and phase.
Compile by typing: gfortran -o a.out data_file_FFTW_ver6.F03 -lfftw3
Run by typing: ./a.out outfile.dat DFFT_mag_file.dat DFFT_phase_file.dat sample_rate num_periods
where outfile.dat is the output of the Python script, DFFT_mag_file.dat is the DFFT magnitude file,
DFFT_phase_file.dat is the DFFT phase file,sample_rate is the rate of sampling of the input data file, and num_periods
is the number of periods of data in the input data file.
The line count can be obtained by typing: wc -l outfile.dat
The Output Files From the Fortran 2003 DFFT Program
After the Fortran 2003 DFFT program has been run correctly, magnitude and phase files should
appear.
The program output is verbose (for debug) purposes and the screen output is shown below:
The full text may be downloaded here.
Plots of the magnitude output file using GNUPlot
The magnitude output file is plotted with GNUPlot. A GNUPlot script file was created
to facilitate quality plotting.
GNUPlot script file
The GNUPlot script file may be downloaded by clicking here.
Run by typing gnuplot 2sine_wv_gnuplot_macro.txt or start GNUPlot and enter
load "2sine_wv_gnuplot_macro.txt" at the gnuplot command prompt
Magnitude Plot
Discussion:
There appears to be a slight decrease in the peak of the magnitude of the DFFT plot. Since other raw data inputs into the Fortran program produced results as expected, the skew may be related to the way the data were generated in Python+Numpy or the way it was saved into a text file. There also appears to be some secondary peaks that rapidly roll off on both sides of the main peak. This is most likely due to the FFTW3 algorithm responding to the discontinuities of the input data. More research is needed to find the causes.
Back to Current Projects - FFTW3


CHAPTER 49 [OLD]
BONDS: THE REVENUE BOND ACT OF 1935
REPEALED. L 1989, c 80, §5.
CHAPTER 49
REVENUE BONDS
Section
49-1 Definitions
49-2 Declaration of policy
49-3 Additional powers of counties
49-4 Authorization of undertaking, loan program and revenue
bonds; details of revenue bonds
49-5 Sale of revenue bonds
49-6 Form and execution of revenue bonds
49-7 CUSIP numbers
49-8 Support facility for variable rate revenue bonds
49-9 Covenants in resolution authorizing issuance of
revenue bonds
49-10 Rates, rentals, fees and charges; undertakings and
loan programs to be self-sustaining
49-11 Use of revenue and user taxes of undertaking or loan
program
49-12 Lien and charge of revenue bonds
49-13 Revenue bonds not a general or moral obligation of the
county
49-14 Undertaking, loan program, and revenue bonds exempt
from taxation
49-15 Federal tax-exempt status; preference; protection
49-16 Revenue bonds legal investments
49-17 Duties of the director of finance
49-18 Investment of reserves, etc.
49-19 Bond anticipation notes
49-20 Refunding revenue bonds
49-21 General laws applicable
49-22 Consent of another county
49-23 Consent of state agencies
49-24 Validation of proceedings
49-25 Construction of chapter


The Kreb Editor
Introduction
This is the user manual, design documentation, and source code of the krebedit
text editor.
That description is more than a little generous -- let's call it aspirational. krebedit
only just barely exists at this point. It started out as a project just to see if I could do it, and since the world isn't exactly crying out for yet another text editor, I have decided to lean waaay in to the yak-shaving aspect of this as an ongoing learning project. In lieu of the usual pressure to ship a product I am putting it on the web for others to learn from, even if that learning is mostly of the "cautionary tale" variety.
To that end we've pressed hard into doing things you probably shouldn't do in a "real" software project, like using literate programming techniques and writing proofs and rewriting code you'd normally use a library for, just to make sure we understand how it works. We're also doing things we probably should do in real projects but usually don't, like interacting with the literature and aggressively refactoring.
So this is more like a lab notebook -- we're running an experiment on how to design and build a midsized Haskell project, and these are the notes.
I've tried to avoid pulling in dependencies when it's at all reasonable (and even sometimes when it's not). This means reimplementing some standard functionality, working either from research papers or by cloning existing (permissively licensed) libraries. It also means the code here doesn't have the benefit of years of tweaks and efficiency improvements that a mature library has, but in exchange we don't have to make any compromises about APIs or poke shims into .Extras
modules and can easily inspect the whole stack. Perhaps surprisingly, starting out by writing our own testing frameworks doesn't add that much code.
- Monads and Monad Transformers
- Pretty Printing
- Unit Testing
- Property Testing
- Just Enough Category Theory
- Profunctor Optics
- Reflection
- Data Structures


--- layout: post title: JIRA Release User Macro for Atlassian Confluence date: 2014-06-23 21:48:08.000000000 +01:00 type: post published: true status: publish categories: - Productivity - Programming - web tags: - atlassian - confluence - JIRA - user macro meta: _syntaxhighlighter_encoded: '1' _edit_last: '1' _yoast_wpseo_focuskw: JIRA Release User Macro _yoast_wpseo_linkdex: '75' _yoast_wpseo_metadesc: A stupidly simple user macro for displaying the issues in a JIRA version within Atlassian Confluence tmac_last_id: '618797298827530240' _pingme: '1' _encloseme: '1' author: David Simpson excerpt_separator: ---
Back when JIRA macros in Confluence involved the knowledge of bizarre URL string combinations, I wrote a user macro that allowed me to list all issues in a JIRA release/version if I only knew 2 bits of information: the project key and the version.
It helped me whenever I wrote a blogpost to notify people about the release of a new product version. Like so:
In old style wiki markup, my user macro would look like this:
{release:ProjectKey=AF032|Version=3.0.0}
The code below is just a wrapper with a little JQL, but works a treat.
## Macro title: Release
## Macro has a body: N
##
## Developed by: David Simpson / david @ davidsimpson . me
## Date created: 2013-02-02
## Installed by: You (hopefully)
## Show the issues for a release
##
## @param ProjectKey:title=Project Key|type=string|required=true|desc=e.g. AF010
## @param Version:title=Version|type=string|required=true|desc=e.g. 1.1.1
#set($projectKey = $paramProjectKey)
#set($version = $paramVersion)
#set($jiraBaseUrl = "https://jira.yourcompany.com") ##### UPDATE THIS #####
<ac:macro ac:name="jiraissues">
<ac:parameter ac:name="title">$!{projectKey}: Release $!{version}</ac:parameter>
<ac:parameter ac:name="url">$!{jiraBaseUrl}/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+$!{projectKey}+AND+fixVersion+%3D+%22$!{version}%22&tempMax=1000</ac:parameter>
</ac:macro>
If this user macro helps you too, drop a comment below and say hi.


Suspicious package prompts Daytona Beach airport evacuation
by The Associated PressDAYTONA BEACH, Fla. (AP) — A “suspicious package” has authorities evacuating Florida’s Daytona Beach International Airport, leaving dozens of passengers standing on the sidewalk outside.
The Volusia County Sheriff’s Office posted a statement online saying that the airport was being evacuated due to a suspicious package reported at about 6:15 a.m. It says more information will be shared as it becomes available.
A message left with the sheriff’s spokesman by The Associated Press wasn’t immediately returned.
___
Information from: WNDB-AM, http://www.wndb.am/
The Associated Press


15 Minutes (2001). Starring Robert De Niro, Edward Burns, Kelsey Grammer, Avery Brooks, Melina Kanakaredes, Karel Roden and Oleg Taktarov. Written and directed by John Herzfeld.
Or 15 Minutes could just be another cynical, exploitive melodrama out to score a quick buck by offering audiences what they crave ó violence and sex ó or at least female nudity.
Actually 15 Minutes is an amalgamation of both. It damns tabloid journalism ó especially those reality-based news shows such as Hard Copy and Inside Edition ó while simultaneously allowing the audience to be voyeurs to some rather gruesome proceedings.
15 Minutes is fascinating in a cheesy and sleazy way.  Afterward, though, your conscience berates you indulging yourself in such low-fare, obvious melodramatics.
15 Minutes tries to take the high-road approach of foisting itself off as an examination of our culture's cravings for celebrities ó to the point that we don't care if the people shown on camera are cops or killers. If they're on TV, they're famous, which gives them to impetus to try to get away with murder.
But this is only window dressing, because ó at its core ó 15 Minutes is nothing more than your standard-fare cops hunting down killers B-movie plot.
Some of the plot points are so dumb that you wonder how screenwriter-director John Herzfeld was allowed to keep them in his script.
For example, the two lowlife criminals are Eastern European refugees. One is a movie-crazy Czech, the other an ex-con from Russia, newly released from prison.
They come to the United States to collect money from an old pal with whom they pulled a job in the old country. Which old country, we are never told, but it makes no difference.
From the outset these two goons, Emil Slovak (Karel Roden) and Oleg Razgul (Oleg Taktarov), should be setting off alarms. They do nothing but sweat. It pours off them like a sumo wrestler in a Turkish bath.
Plus, they look so shifty at customs, that the dimwit who allows them into the country, should be fired.
But, of course, they are passed through, so they can begin their murderous spree.
Representing the side of law and order is Detective Eddie Flemming (Robert De Niro), a media darling who breaks the big cases and who manages to always get his mug ó and his collars ó on a fast-paced tabloid TV show hosted by the smarmy Robert Hawkins (Kelsey Grammer).
Flemming is aided by fire marshal Jody Warsaw (Edward Burns), who gets involved in the case after our two slimebags torch a building to cover a crime.
All of this leads to a lot of spilled blood, gunfire, cursing and legal wranglings.
Of course, virtue triumphs in the end and the American way of life is preserved.
15 Minutes does offer one big shocker, but even that is not enough to elevate it from programmer status. The media, of course, is the scapegoat as well as the punching bag ó literally ó for the ills of society.
The performances are mixed. De Niro, who seems to be taking any kind of role and whatever he is offered, adds nothing to his canon. Here he relies on props ó a cigar, a two-headed quarter ó to create his character.
Burns seems to whine his every line. At times, he sounds like that Will Ferrell character on Saturday Night Live who cannot modulate his voice.
The acting honors here go to Roden and Taktarov as the two émigrés who try to live the American dream on their own terms. Taktarov, especially, is memorable as he carries around his little video camera filming everyone and everything he sees. Life ó and death ó to him are merely extensions of some cosmic movie in which he is vying for the final cut.
15 Minutes is a brutal excursion that may make you uncomfortable. But as a serious examination of the ills of the media and the cult of celebrity, it is laughable. So take it for what it is, a two-hour-plus game of cops and robbers played by some well-paid actors.
Bob Bloom is the film critic at the Journal and Courier in Lafayette, IN. He can be reached by e-mail at<EMAIL_ADDRESS>or at<EMAIL_ADDRESS>Other reviews by Bloom can be found at www.jconline.com by clicking on golafayette. Bloom's reviews also can be found on the Web at the Internet Movie Database: http://www.imdb.com/M/reviews_by?Bob+Bloom
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


Services
We offer some long term services related to web design.
We can administrate, host and develop your website on day-to-day basis, produce and send newsletter campaigns and banner campaigns.
We offer competitive prices based on direct invoicing from every service provider involved and our one-time contract system.
In addition to print design we offer changing ad sizes and adopting it to other media.
We try to be very flexible and adjust to client's needs.
Let us know what you are looking for!


closure.module.Clazz
This class is defined internally, but assigned to exports and thus should be documented.
None.
This is a method.