Auth code: {{auth_code}}
To upload a file, you can send a HTTPS PUT request by a command like this:
$ curl -X PUT -H 'content-type: text/html' -d 'Hello world!' '{{base_url}}hello?auth_code={{auth_code}}'
Or a Python script like this:
import requests r = requests.put( '{{base_url}}hello?auth_code={{auth_code}}', data='Hello world!', headers={'content-type': 'text/html'}) assert r.status_code == 200, r.text
Then you can see the file at {{base_url}}hello.
You can delete a file with a HTTPS DELETE reqeust.
You can also manually upload files with this form:


Decoupling
A common challenge, facing many of our customers, is breaking down their existing monolithic infrastructure, running on just one server, into manageable individual parts. We’re often called on to deliver this decoupling process for our clients, and have a track record of delivering solutions that:


{% extends 'frontend/shared/layout.html' %} {% import "frontend/shared/card.html" as card %} {% block content %}
{{ fixedTitle.synopsis }}


| Class and Description |
|---|
| Processable
Interface for all processable collections.
|
| Class and Description |
|---|
| Processable
Interface for all processable collections.
|
| Class and Description |
|---|
| DataAggregator
Interface for aggregation operations.
|
| Processable
Interface for all processable collections.
|
| Class and Description |
|---|
| Processable
Interface for all processable collections.
|
| Class and Description |
|---|
| Function
Interface for functions with one input and one output.
|
| Processable
Interface for all processable collections.
|
| RecordKeyValueMapper
Maps a record of type RecordType via a key of type KeyType to a record of type OutputRecordType.
|
| Class and Description |
|---|
| DataIterator
Interface for iterations.
|
| Processable
Interface for all processable collections.
|
| RecordKeyValueMapper
Maps a record of type RecordType via a key of type KeyType to a record of type OutputRecordType.
|
| RecordMapper
Maps a record from RecordType to OutputRecordType.
|
| Class and Description |
|---|
| DataIterator
Interface for iterations.
|
| FlattenAggregationResultMapper
A
RecordMapper that returns the result of a list-aggregation operation without the grouping key as a single output list |
| Processable
Interface for all processable collections.
|
| RecordKeyValueMapper
Maps a record of type RecordType via a key of type KeyType to a record of type OutputRecordType.
|
| RecordMapper
Maps a record from RecordType to OutputRecordType.
|
| Class and Description |
|---|
| Function
Interface for functions with one input and one output.
|
| Processable
Interface for all processable collections.
|
| ProcessableCollection
Single-Threaded implementation of
Processable |
| Class and Description |
|---|
| Processable
Interface for all processable collections.
|
| ProcessableCollection
Single-Threaded implementation of
Processable |
| Class and Description |
|---|
| DataIterator
Interface for iterations.
|
| Processable
Interface for all processable collections.
|
| RecordKeyValueMapper
Maps a record of type RecordType via a key of type KeyType to a record of type OutputRecordType.
|
| RecordMapper
Maps a record from RecordType to OutputRecordType.
|
| Class and Description |
|---|
| Processable
Interface for all processable collections.
|
| Class and Description |
|---|
| Action
Interface for methods with one input and no output.
|
| DataAggregator
Interface for aggregation operations.
|
| DataIterator
Interface for iterations.
|
| Function
Interface for functions with one input and one output.
|
| Group
Representation of grouped data
|
| GroupCollector
A data set collector for grouped data
|
| Processable
Interface for all processable collections.
|
ProcessableCollector
DataIterator that produces a Processable as result |
| RecordKeyValueMapper
Maps a record of type RecordType via a key of type KeyType to a record of type OutputRecordType.
|
| RecordMapper
Maps a record from RecordType to OutputRecordType.
|
| Class and Description |
|---|
| DataAggregator
Interface for aggregation operations.
|
| Class and Description |
|---|
| Action
Interface for methods with one input and no output.
|
| AggregateCollector
A group collector that aggregates the elements of a group
|
| DataAggregator
Interface for aggregation operations.
|
| DataIterator
Interface for iterations.
|
| Function
Interface for functions with one input and one output.
|
| Group
Representation of grouped data
|
| GroupCollector
A data set collector for grouped data
|
| Processable
Interface for all processable collections.
|
| ProcessableCollection
Single-Threaded implementation of
Processable |
ProcessableCollector
DataIterator that produces a Processable as result |
| RecordKeyValueMapper
Maps a record of type RecordType via a key of type KeyType to a record of type OutputRecordType.
|
| RecordMapper
Maps a record from RecordType to OutputRecordType.
|
| Class and Description |
|---|
| Function
Interface for functions with one input and one output.
|
Copyright © 2018. All rights reserved.


Preparation time
30 mins to 1 hour
Cooking time
30 mins to 1 hour
Serves
Makes 1 large tart
Dietary
The galette des rois is a French institution at Christmas - hide a figurine inside to see who makes next year's galette!
Line a baking tray with baking parchment. Roll out half of the pastry on a lightly floured work surface until it is about 25x25cm/10x10in in size and slightly thinner than a pound coin.
Cut a 23cm/9in circle from the pastry by cutting around the bottom of a 23cm/9in cake tin using a sharp knife. Transfer the pastry circle to the prepared baking tray and cover with cling film.
Repeat the process with the other half of the pastry, placing the second pastry circle on top of the cling film and covering with more cling film. Chill until needed.
For the filling, beat the softened butter until creamy using a wooden spoon or freestanding mixer. Add the sugar and beat again thoroughly until the mixture is pale and fluffy.
In a small bowl, beat the egg with the egg yolk until just combined. Gradually add it to the creamed butter and sugar mixture, a tablespoon at a time, beating well after each addition to incorporate the egg into the mixture.
When the mixture is very light in colour and texture, gently stir in the ground almonds, flaked almonds and almond extract. Cover the bowl with cling film and chill in the fridge for 15-20 minutes.
When the pastry and filling have cooled, remove the cling film from the pastry and leave one pastry circle on the baking tray. Spoon the filling mixture onto the pastry circle on the baking tray, heaping it into a slight mound in the middle and leaving a 2cm/1in border all around the edge. Brush the pastry border with some of the beaten egg, then gently lay the second pastry circle over the filling, pressing the edges firmly together to seal.
Holding a small knife blade at right angles to the pastry border, ‘knock up’ the edge of the galette by making small indentations all around the edge of the pastry. Scallop the pastry border by pushing the indentations in at 2cm/1in intervals using the back of the knife. Brush the top of the galette all over with more of the beaten egg, then chill the galette in the fridge for 30 minutes.
Preheat the oven to 220C/200C Fan/Gas 7.
Brush all over the top of the chilled galette again with the remaining beaten egg, then score it with a criss-cross pattern using the tip of a sharp knife. Make a couple of small steam holes in the centre of the galette. Bake in the oven for 25-30 minutes, or until the pastry is crisp and golden-brown. Set aside to cool slightly before serving.


Kia Ora!
My name is Anna McCormack and I come from Auckland, NZ.
I am excited to be starting my web devlopment journey.
My name is Anna McCormack and I come from Auckland, NZ.
I am excited to be starting my web devlopment journey.


 Becoming a committer means that you have the project’s trust. Read the ASF documentation for more about being a committer in the Apache Software Foundation.
The PMC makes someone a committer via nomination, discussion, and then majority vote. We use data from as many sources as possible to inform our reasoning. Here are some examples:
- dev@ archives and statistics
- user@ archives and statistics
apache-beam
StackOverflow tag- Git metrics for Beam and the Beam site
- Code reviews given and received on Beam and the Beam site
- Clear areas of ownership (a runner, a DSL, IO connector, documentation, etc.)
- Public events
- Firsthand PMC testimonials
The PMC has assembled the following set of guidelines for becoming a committer.
An Apache Beam committer…
Takes many forms
There are many actions other than coding that build the trust we place in a committer - code review, design discussion, user support, community outreach, improving infrastructure, documentation, project management, etc.
Knows, upholds, and reinforces the Apache Software Foundation code of conduct
See the ASF documentation. In particular, they manifestly strive to:
- Be open
- Be empathetic
- Be welcoming
- Be friendly
- Be patient
- Be collaborative
- Be inquisitive
- Be careful in the words that they choose
Knows, upholds, and reinforces the responsibilities of an Apache Software Foundation committer
See the ASF documentation.
- They help create a product that will outlive the interest of any particular volunteer (including themselves)
- They grow and maintain the health of the Apache community
- They help out with surrounding work, such as the website & documentation
- They help users
- They can be trusted to decide when code is ready for release, or when to ask someone else to make the judgment
- They can be trusted to decide when to merge code (if a code contributor) or when to ask someone else to make the judgment
Knows, upholds, and reinforces the Beam community’s practices
- They have a proven commitment to the project
- They share their intentions with the community
- They accept and integrate community feedback in their plans, designs, code, etc.
- They earnestly try to make Beam better with their contributions
- In particular, if a code contributor:
- They earnestly try to make Beam better with their own code
- They earnestly try to make Beam better with code review
- They accept and integrate feedback on their code
- They know, follow, and enforce Beam’s practices while reviewing/merging code - style, documentation, testing, backward compatibility, etc.


Mark has guest-conducted ensembles including the Melbourne Symphony Orchestra, West Australian Symphony, Moscow Symphony Orchestra, State Academic Symphony Orchestra of St. Petersburg, Victorian Opera, Orchestra Ensemble Kanazawa, Canberra Symphony Orchestra, Sydney Sinfonia, Melbourne Youth Orchestra, University of Melbourne Symphony Orchestra and the Orchestras of the State Music Camps in Melbourne and Adelaide. Currently he serves as Artistic Director and Principal Conductor of Zelman Symphony Orchestra, the Ballarat Symphony and the Macquarie Philharmonia. His love of community and youth music has kept him busy contributing to the growth and development of important initiatives in both of these areas here in Australia. Most recently, Mark developed a Regional Orchestra Weekend for ensembles from across Victoria to meet and perform together, with the aim to make this an annual event. Mark is also passionate about the education and training of future conductors, and has been frequently involved as a guest teacher of the Masters of Conducting students at the Melbourne Conservatorium in 2015.
Adam Lopez’s exceptional vocal artistry has paved opportunities to perform backing vocals for some of the
biggest names in the music industry such as Mariah Carey, Keith Urban and The Coors. His most recent noted
collaboration was headlining with Australian Jazz legend James Morrison in a string of Symphonic Concerts in
Perth, Hobart and Brisbane.
His discography includes an eclectic collection of genres spanning from Pop-Opera, Pop, Rhythm &Blues, Jazz,
Power Ballads and Fiery Latin!
His phenomenal vocal range smashed two Guinness World Records (one note above the range of a piano!)
This achievement has astounded audiences from all around the world leading him to perform and appear on
international television and radio stations in Japan, Spain, Italy, Korea, Hong Kong and the USA.
Adam Lopez has undoubtedly got one of the most fascinating vocal instruments on the planet. He delighted
audiences when he sang in Townsville with the Barrier Orchestra in 2012 along with Sean O’Boyle and James Morrison.
Domenico is one of Brisbane’s most experienced and versatile multicultural entertainers.
He has performed in almost every possible style since he commenced his musical career in 1971 at age 4.
He studied music on the traditional European instrument called the Piano Accordion and this is still his chosen instrument,
although he also now uses the latest electronic midi accordion which incorporates other built in instruments.
Domenico moved from three piece cabaret bands to a more sophisticated five piece band, the Latin Mafia which
performs swing and Latin classics from the Rat Pack era.
He has performed in many venues from QPAC with the Queensland Pops Orchestra to being runners up with his
Celtic Band, Murphy’s Pigs at the Tamworth Golden Fiddle Awards.
Domenico is one of Brisbane’s most experienced and versatile multicultural entertainers. He has performed in
almost every possible style since he commenced his musical career in 1971 at age 4. He studied music on the
traditional European instrument called the Piano Accordion and this is still his chosen instrument, although
he also now uses the latest electronic midi accordion which incorporates other built in instruments.
Domenico moved from three piece cabaret bands to a more sophisticated five piece band, the Latin Mafia which
performs swing and Latin classics from the Rat Pack era.
He has performed in many venues from QPAC with the Queensland Pops Orchestra to being runners up with his
Celtic Band, Murphy’s Pigs at the Tamworth Golden Fiddle Awards.
He performs a diverse range of musical styles from around the world and will be a great asset to our World Music Concert.
2015 has taken David to Turkey, Italy, France and the United Kingdom with private and public performances
and now brings him to Townsville.
Raymond Yong was born in Malaysia, emigrating to Australia at the age of two. He received his initial musical
training in Perth, performing regularly in public piano recitals from an early age. It was in High School
that he forst took to the podium as a conductor, directing his school orchestra and choir.
Raymond went on to study conducting at the University of Melbourne as a pupil of the late John Hopkins and
received further training in the Symphony Australia Young Development Programme. He became the Music Director
of the Victorian Youth Symphony Orchestra and Victoria Chorale and was the Founding Director of Orchestra 21.
He has appeared as Guest Conductor for the Melbourne Chamber Orchestra, the Port Fairy Music Festival,
Stonnington Symphony, Preston Symphony, and Kooyong Chamber Players. He has been a regular guest with the
barrier Reef Orchestra since 2011,conducting the orchestra, performing as a piano soloist, and providing
conducting workshops to teachers and conductors in the Townsville area.
Raymond is also a sought-after piano soloist and accompanist. Concert highlights include Chamber Music
performances at the Musica Viva, Huntington Festival, the Linari Classic in Italy, as well as piano concerto
engagements with the Melbourne Symphony, the Sydney Symphony, West Australian and Tasmanian Symphony Orchestras.
Jennifer Bradstreet completed a Bachelor of Music with Honours at the Sydney Conservatorium, before taking
up a summer scholarship at St Andrews and Oxford in the UK, and then moving to London in 2010. She became a
student at the Royal College of Music under British flautist Susan Milan, and graduated with a Postgraduate
Diploma of Performance in 2011.
While in London, she played in side-by-side projects with the London Symphony and was invited onto the
prestigious BBC Symphony Orchestral pathway. Many summer scholarships and international master-classes
followed, in Germany, England and Italy.
In 2013, Jennifer accepted a Masters scholarship under James Kortum and Aldo Baerten (Belgium) at the Sydney
Conservatorium, where she will complete her studies this year. She was a finalist in the 2013 Australian Flute
Festival Orchestral Flute Competition and first-prize winner in the 2014 Australian Concerto & Vocal Competition (all instruments).
She is active as a soloist and chamber musician, and also performs regularly with the Australian Opera and
Ballet Orchestra in Sydney, with whom she has freelanced since 2013.
Townsville based harpist Leah Xiang Li enjoys a diverse career as an orchestral and chamber musician,
soloist, instrumental teacher and primary school language teacher.
Leah graduated from the Queensland Conservatorium Griffith University under the tutelage of Sebastien Lipman.
She was the recipient of Ross Peters 4MBS Chamber Music Prize and performed for the Honourable Dame Quentin
Bryce (former Governor-General of Australia). She was also the principal harpist for Australian International
Symphony Orchestra Institution, Queensland Youth Symphony Orchestra, Queensland Conservatorium Symphony
Orchestra and Queensland Conservatorium Opera Orchestra.
Leah‘s repertoire spans from the Baroque to the present day. She has a special interest in Jazz and is
seeking to fulfil this passion through further study. Leah is also dedicated to education, community outreach
and musical advocacy as demonstrated by her current involvement in Barrier Reef Orchestra.
Richard has maintained a long and distinguished career as bassoonist, music educator, conductor and arranger.
A Composition graduate from Sydney University, he was appointed Associate Principal Bassoon with the Sydney
Symphony Orchestra as a 20-year-old in 1968, moving to The Canberra School of Music as a foundation member of
the Canberra Wind Soloists in 1978. With this renowned quintet, he recorded and toured internationally during
a 30-year period, and gave it a unique repertoire with his virtuoso arrangements of large-scale orchestral works.
He was for many years Principal Bassoon with the Australian Chamber Orchestra, and appeared on many occasions
as guest Principal Bassoon with most of the Symphony Australia Orchestras - also as concerto soloist,
and independently as a recitalist.
His continuing work as Principal Bassoon with the Canberra Symphony Orchestra dates back to student days
of 1965 - 67. If you'd like to hear some of his work as bassoonist, chamber musician, and arranger, you'll
find it on YouTube under Canberra Wind Soloists.
Simultaneously, he has sustained a career as one of Australia's most respected bassoon teachers, at all
levels from beginner to post-graduate and professional. In addition he has worked tirelessly in the development
of orchestral and ensemble skills with students of all instruments, particularly at the advanced tertiary level.
He was for many years a regular tutor and conductor at the Australian Youth Orchestra's National Music Camps.
He has taught over many years in south-east Asia.
His work as a conductor is well-known, particularly in Canberra. He was Conductor and Musical Director of
the Canberra Youth Orchestra from 1980 - 1990, greatly broadening its repertoire and general endeavour, and
led it on three highly-successful and widely-acclaimed European tours. His Canberra contribution has included
development of and much work with the School of Music Orchestra, Canberra Opera, Canberra Philharmonic Society,
thirteen-years as Musical Director of The Llewellyn Choir (with development of its accompanying professional
ensemble, The Canberra Chamber Orchestra), and three years as Musical Director of The Oriana Chorale.
His numerous conducting activities outside of Canberra have included the foundation and development of the
Barrier Reef Orchestra, with which he continues his association as Artistic Advisor and frequent conductor.
His 35-year career at the Canberra (now ANU) School of Music played a significant part in the creation of
its erstwhile international reputation. Awards have included 1986 Canberran of the Year, Advance Australia,
Sounds Australian, and National Critics' Circle awards. In 1992 he was granted an Order of Australia Medal,
for services to Music and Music Education, particularly for his work with the Canberra Youth Orchestra. In
2013, he was elected President of the Australian Double Reed Society.
Conductor Mario Dobernig grew up in a small village in the Austrian Alps before establishing his professional
career as a percussionist in Graz (Austria) and Helsinki (Finland) where he worked extensively with many
chamber orchestras and with ensembles such as the Graz Opera, Finnish Radio Symphony Orchestra, the Tapiola
Sinfonietta and the Avanti! chamber orchestra.
Mario graduated from the Art University Graz and the Sibelius Academy Helsinki. He also holds a Masters
degree in Musicology from the University of Helsinki. Mario moved to Melbourne to pursue his conducting
studies with John Hopkins OBE at the University of Melbourne, where he completed a Master of Music in Conducting
in 2009. He is currently completing his PhD at the University of Melbourne, where he produces a performance
edition of Peggy Glanville-Hicks’s opera Nausicaa.
In 2011, Mario conducted Stravinsky’s Histoire du Soldat for the Woodend Winter Arts Festival, which was
broadcasted on ABC classic FM. Mario has conducted ensembles at the University of Melbourne, the Victorian
College of the Arts Symphony Orchestra, the Youth Philharmonic Melbourne, the Ballarat Symphony, the Ballarat
Wind Orchestra, the Preston Symphony and the Kooyong Chamber Players. Since 2012 Mario is the resident conductor
of the Preston Symphony and the Musical Director of Victoria Chorale. He really enjoys making music with the
Barrier Reef Orchestra.
Bronwyn is a Mezzo-soprano who comes from Milton on the coast of NSW. She is currently the holder of the
Amelia Joscelyne Memorial Schoarship with the Dame Nellie Melba Trust.
Bronwyn graduated with a Masters in Operatic Performance from the Queensland Conservatorium in 2014, also
receiving ab award for Academic Excellence and the Wagner Society Encouragement Award. She attended the Lisa
Gasteen National Opera School from 2013 – 2015 as well as undertaking the Mediterranean Opera Studio Programme
held in Caltigirone in Sicily.
Bronwyn has performed many operatic roles in Queensland and New South Wales. She has also performed as the
Alto Soloist for the Queeensland Symphony Orchestra for their 2015 Performance of the Messiah and in Vivaldi’s
Gloria for the 4MBS Festival of classics in 2014.
Bronwyn has received many awards, a Finalist in the Sun aria in 2015,winner of the Royal Melbourne
Philharmonic Aria in 2015. She has also been placed in several competitions. In 2015 she was awarded the
Champion of Champions Vocal Soloist at the North Queensland Eisteddfod and that year also won the Open Vocal
Solo at the Australian Concerto and Vocal Competition. As part of that award she sang with the Barrier Reef
Orchestra at the T150 Concert.
Born in Kobe, Japan, Yoshika Masuda first started to play the cello at the age of five. Following studies with George Pedersen in Australia, he went onto study at the Royal Northern College of Music in Manchester on a full scholarship. Yoshika was recently awarded first prize at both the Australian Concerto
Jacinta has been part of the Orchestra from the beginning when she played 1st Clarinet at the first performance on Sunday, 29th October 2000. She has been on the management committee and was a voluntary manager of the Orchestra. Jacinta has had the task of being Rehearsal Conductor on many occasions and conducted a performance in 2004. Over the years, through her teaching she has been able to encourage many players to join the Orchestra and has mentored many young woodwind players.
Alan has been Secretary of North Queensland Ensembles Inc. /Barrier Reef Orchestra for eight years. He is a former Commonwealth Government officer mainly in the Commonwealth Employment Service and prior to retirement he was the Department's Zone Manager for North Queensland. This expertise has served the Orchestra well as Alan has facilitated North Queensland Ensembles becoming incorporated and was also Secretary at the time when we employed our first Orchestra Manager. Alan has a background in community service having been a member of both Australian Jaycees and Rotary. He has also had long experience as an actor, producer and Committee member with several little theatre groups across the State.
Stephen has been involved with the Barrier Reef Orchestra since its inception; having played as concert master in the orchestra’s inaugural concert in 2000. Since then, he has missed only a couple of Barrier Reef Orchestra concerts, and has been concert master for most concerts. When not rehearsing with the BRO, Stephen is involved in a number of ensembles around Townsville. He manages and plays with the Melaleuca String Quartet, directed Strings Non Troppo, and plays in Double Play – a guitar/violin duo. Stephen has had regular involvement with the Mulkadee Arts Festival, and performs regularly in community events such as Eco Fiesta, Riverfest, Heritage Day and Stable on the Strand. In his role as concert master over the past 15 years, Stephen has enjoyed many discussions with guest conductors concerning the artistic direction of the orchestra. As a string teacher, he has encouraged many young string players to become regular members of the orchestra. Stephen loves his involvement with the orchestra, and is delighted to be joined by young players who share his passion for music. Stephen is looking forward to passing on the baton to the next BRO concert master!
Jenny Carr came to Australia from Scotland in the early 70s and instantly became an integral part of the Townsville music scene as a pianist and instrumental music teacher. In 1998 when the decision was made to establish a community orchestra, Jenny worked as librarian, performer and for many years as Manager . In conjunction with Donna McMahon and Susan Linge (from the Civic Theatre), they arranged a series of concerts for the emerging orchestra. She also played with the orchestra when a pianist was needed. As Manager, she was involved in all aspects of handling the orchestra's music and checking attendances. In later years, Jenny worked as Adjudicator’s Assistant for the Australian Vocal and Concerto Competition.
Carol has been a leading figure in music performances in Townsville for many years despite living in Ingham until the early 2000s when she moved to Townsville. Carol is a piano teacher, accompanist, and musical director of the Australian Concerto and Vocal Competition which she has led since 1991.She was involved with the others in the formation of the Barrier Reef Orchestra, and was chairperson of the North Queensland Ensembles Committee (the parent organization for the Orchestra), a position she held until 2003.
Donna has been a leader in the Townsville music community since she arrived in 1973 fresh from the Conservatorium to teach strings for Education Queensland. Until 2009 she has also been involved with the Townsville Youth Orchestra, the Australian String Teachers’ Association, the Australian Concerto & Vocal Competition, and lately of course the Barrier Reef Orchestra. Apart from being one of the prime movers in the formation of the BRO, she has been performer, rehearsal conductor, musical advisor, & visiting conductor liaison. In 2009, she was rehearsal conductor, played with the orchestra, and managed the music library. She recently graduated with a Masters Degree in Music from James Cook University.
David was heavily involved with the Townsville music scene from the 1970s, including the formation of the BRO in 1999. He was made a Life Member by the Committee in June 2006, when he and his wife Elizabeth left Townsville to live in Canberra.


OS X 2009 TextMate "Open Finder" command Jun 13 2009 VNC Stacks in OS X Jun 12 2009 Using the "ZNC" IRC bouncer with OS X and iPhone Feb 16 2009 2008 Page numbers in Pages.app Dec 18 2008 MacPorts gotchas: staging ncurses, running mysql5 Dec 12 2008 AppleScript Folder Action to add missing image extensions on download Nov 21 2008 Time Machine mounting issues Oct 24 2008 Using Apple media keys over the network Sep 21 2008 ZephIR and my HTPC Aug 29 2008 Updating plugins for Adium 1.3 Aug 28 2008 Tab favicons with GrApple Firefox themes Jul 22 2008 Ware the Air (core shutdown issue) Jun 12 2008 Share screenshot to big screen May 25 2008 iPhoto Library Manager shortcuts with drag-and-drop importing May 24 2008 Secure note in Keychain for credit card details Apr 23 2008 Pinch to resize icons Apr 20 2008 EyeTV on/off keyboard button Apr 19 2008 Torrent Forwarder Mar 27 2008 Pinch to fold in TextMate Mar 24 2008 MacBook Air volume icon Mar 24 2008 irb readline support on Leopard Mar 22 2008 Full screen multi-touch gesture Mar 21 2008 Map right-side Option to Enter in OS X Mar 16 2008 PHP in nginx on OS X Feb 02 2008 TextMate command to prevent em spaces Jan 28 2008 2007 Hide Leopard stack overlays in Finder Nov 11 2007 Leopard breaks "View > Actual Pixels" in Photoshop Oct 31 2007 Making Leopard toolbar buttons Oct 31 2007 Lift the Leopard download quarantine Oct 29 2007 Displaying UTF-8 correctly in Leopard Terminal Oct 28 2007 "Open in TextMate" from Leopard Finder Oct 28 2007 "Open Terminal Here" and lselect (glob select) in Leopard Finder Oct 28 2007 Printing on a Windows shared HP PSC 950 from OS X Oct 03 2007 Colloquy scrolling issue and Safari 3 beta Aug 18 2007 OS X icon transparency and Tasks bundle file icon Aug 16 2007 Tasks bundle for TextMate Aug 11 2007 Skinny controller, mincemeat model Jul 25 2007 TextMate "Paste Line/Selection Online" command mod Jul 10 2007 Preferences class for TextMate commands Jun 28 2007 Grep in Project command for TextMate Jun 27 2007 TextMate command to close all HTML output windows Jun 26 2007 Colored SSH terminals in OS X Jun 14 2007 "cap deploy" command for TextMate Jun 08 2007 File Transfer Sender Subdirectories plugin for Adium May 24 2007 Coda Light AppleScript Apr 26 2007 Adium tip: swap buffers Apr 24 2007 Fix Your Last Input plugin for Adium Apr 20 2007 Greasemonkey bundle syntax highlighting Mar 31 2007 TextMate command to toggle writing deltas Mar 24 2007 TextMate Greasemonkey bundle in official repository Mar 20 2007 Key binding for vertical ellipsis Mar 17 2007 Major update to the TextMate Greasemonkey bundle Mar 05 2007 osascript, shell scripts and Unicode Mar 03 2007 Print-debugging scripts with Growl Mar 01 2007 Snippet-power templates in TextMate Feb 27 2007 iCalTV 0.7 released, and an AppleScript date object gotcha Jan 31 2007 Nike+ Challenge widget with kilometers Jan 28 2007 Automatically open incoming URLs with Adium Jan 22 2007 Importing legacy data into Core Data with the find-or-create (or delete) pattern Jan 18 2007 Set ID3 track numbers from filename prefixes in iTunes Jan 14 2007 WTF-8 Jan 05 2007 iCalTV 0.6 released Jan 02 2007 2006 Reversing the Photo Booth twirl effect with Photo Rebooth (or: The two-way fun house mirror) Dec 30 2006 Automatically import (and tag) Photo Booth photos into iPhoto Dec 29 2006 Customizing the colors of the RSS Visualizer screen saver Dec 21 2006 Re-uploading Nike+ iPod run data Dec 09 2006 Colors different when saving images in Photoshop CS2 on MacBook Nov 12 2006 TextMate LaTeX bundle and compiling to PDF via PS Oct 31 2006 Autologin script gets extraction tool Oct 15 2006 View source from Firefox with TextMate Sep 28 2006 Exporting Adium log message bodies for Markov Chain fun Sep 28 2006 Transferring data from Windows to an HFS+ formatted disk Sep 16 2006 Removing formatting from the clipboard Sep 14 2006 iPod music not a first-class citizen of iTunes Sep 13 2006 Minor updates to Greasemonkey bundle Sep 08 2006 The curious incident of AppleScript activating apps in unrealized branches Sep 08 2006 Renaming Party Shuffle in iTunes Sep 07 2006 iCalTV 0.5 released Sep 03 2006 Getting the current UNIX timestamp with AppleScript Sep 02 2006 Improved Greasemonkey bundle for TextMate Aug 31 2006 Currently playing song in iTunes on command, revisited Aug 14 2006 Quick keyword tagging in iPhoto Aug 14 2006 Retain metadata when exporting and reimporting iPhoto pictures, hackishly Aug 12 2006 Colloquy privacy issue Aug 12 2006 Currently playing song in iTunes on command Aug 12 2006 iCalTV 0.4 released Aug 07 2006 Adapting the iCal Events widget for iCalTV Jul 27 2006 iCalTV: iCal reminders for favorite TV shows through XMLTV Jul 27 2006 Modifying the Transmit widget to copy URLs to clipboard Jul 21 2006 TextMate: "Copy undented" command Jul 16 2006 Batch-open URLs from clipboard Jul 16 2006
Reversing the Photo Booth twirl effect with Photo Rebooth (or: The two-way fun house mirror) Dec 30 2006


Media Delivery Network Simulator
Select Flow Action
Start Flows
Stop Flows
Work Specification File
Node Watcher
Metrics
Value
Edge Watcher
Metrics
Value


| DOSE: |
1200 mg |
oral |
Lecithin |
(daily) |
After smoking incredible amounts of cannabis with high THC levels, I have found my mind in a constant wonder and worry. This caused me to get severly depressed and I soon became dellusional. I felt like I forgot how to respond to anything said to me, this was a very frightning situation. Looking for a solution I turned to many pills starting off with regular vitamins. With no success I went on to DMAE pills which helped slightly with my fatigue, but without any sure cure I kept looking. I soon began taking some 5-HTP pills which didn't really seem to help me all to much. I finally came to Lecithin, which is a precursor to acetylcholine.
After taking 1200 mg per day I began to see a huge difference. My thoughts were more complete and my memory improved drastically. After taking Lecithin you actually feel the effects, unlike vitamins were you never really know if it worked. While I am on Lecithin my thoughts aren't so negative and judgemental. I can shift my attention to multiple things and talking to poeple has gotten easier.
Even though it has helped it wears off after about 5 hours and you kind of feel a buzz for about another 2 hours. You can take it at any time but if you want to benifit from the mood enhancement I would take it in the morning. Although it has helped I still feel something missing, but I can live without because it is no where close to what it once was. I am now looking into Tyrosine which is supposed to be a precursor to dopamine. It is ggod for quitting cocaine, or marijuana addiction. Lecithin and Tyrosine can be found at a local drug store for the cheap price of about $10 for 100 pills
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


| Position | Office | Age | Start date | Salary | |
|---|---|---|---|---|---|
| Position | Office | Age | Start date | Salary | |
| Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | |
| Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | |
| Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | |
| Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | |
| Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500 | |
| Integration Specialist | Tokyo | 55 | 2010/10/14 | $327,900 | |
| Javascript Developer | San Francisco | 39 | 2009/09/15 | $205,500 | |
| Office Manager | London | 30 | 2008/12/19 | $90,560 | |
| Regional Director | San Francisco | 36 | 2008/10/16 | $470,600 | |
| Marketing Designer | London | 66 | 2012/11/27 | $198,500 | |
| Chief Financial Officer (CFO) | New York | 64 | 2010/06/09 | $725,000 | |
| Systems Administrator | New York | 59 | 2009/04/10 | $237,500 | |
| Software Engineer | London | 41 | 2012/10/13 | $132,000 | |
| Regional Marketing | Tokyo | 20 | 2011/08/14 | $163,000 | |
| Developer | London | 53 | 2009/10/22 | $114,500 |


We're sorry but Exchange doesn't work properly without JavaScript enabled. Please enable it to continue.


Hemi JavaScript Framework
Hemi.data.validator.definitions
Description
Data Validator Definitions define validation patterns for verifying form field and custom control (e.g.: Hemi.ui.wideselect) input matches expected patterns and allowable characters. Patterns may be chained together and defined with a meaningful description for end users.
Class Index
static Hemi.data.validator.definitions.service
version 4.0.1
Static implementation of hemi.data.validator.definitions.serviceImpl
Hemi.data.validator.definitions.service
version 4.0.1
This service defines validation patterns for use by the Hemi Data Form Service.
Index
Method Index
-
public addNewPattern: Creates a new implementation definition. An implementation definition maps a node name to a specified constructor.
Methods
addNewPattern
Creates a new implementation definition. An implementation definition maps a node name to a specified constructor.
Syntax
object = addNewPattern(
sId, sType, sComp, sMatch, sReplace, bNull, sError, aIncludes
)
Parameters
-
sId as String : Validation pattern id.
-
sType as String : The type of validation: bool, replace, or none.
-
sComp as String (optional): For validation type of bool, the comparison value may be "true" or "false".
-
sMatch as String : Regular expression to use to match the input value.
-
sReplace as String (optional): Replacement value to use for the matched expression.
-
bNull as boolean (optional): Bit indicating whether null values are allowed.
-
sError as String (optional): Error message to describe the expected pattern. e.g.: Phone numbers should be numbers and hyphens only.
-
aIncludes as array (optional): Array of pattern ids that should be executed prior to this pattern. e.g.: The trim-ends pattern has a comparison of none and includes the trim-start and trim-end patterns.
Returns
object as object: A new internal space definition.
[ Hemi JavaScript Framework - Stephen W. Cote, 2002 - 2013. ]


Company name
Sign out
Dash
(current)
Saved reports
Current month
Last quarter
Social engagement
Year-end sale
Tela de atividade -
#
Script
Instâncias
Status
Processo
Ação


  These slides are viewed best by Chrome and occasionally need to be refreshed if elements did not load properly. See here for PDF .

 .white[Press the **right arrow** to progress to the next slide!] --- background-image: url(images/bg1.jpg) background-size: cover class: hide-slide-number split-70 title-slide count: false .column.shade_black[.content[
 # .monash-blue.outline-text[ETC5510: Introduction to Data Analysis]
Week 7, part A

Linear Models
 .bottom_abs.width100[ Lecturer: *Nicholas Tierney & Stuart Lee* Department of Econometrics and Business Statistics

<EMAIL_ADDRESS>May 2020
 ] ]]

 <svg class="clip-svg absolute"> <defs> <clipPath id="swipe__clip-path" clipPathUnits="objectBoundingBox"> <polygon points="0.5745 0, 0.5 0.33, 0.42 0, 0 0, 0 1, 0.27 1, 0.27 0.59, 0.37 1, 0.634 1, 0.736 0.59, 0.736 1, 1 1, 1 0, 0.5745 0" /> </clipPath> </defs> </svg>

 --- --- # Midsemester test - Thanks for completing on time! - Note that final grade reported by Moodle is not your final grade! - Will put together the final grades over the next week! --- # Assignment 2 notes - Will be posted on the website on Monday. - Some questions might seem a bit strange - this is normal! - Sometimes you can't answer the exact question with the data you have. - Steer away from the idea of "correct code" and reframe this as "code that works". There is no one single answer - remember the Tower of Babel example from the start of class, there are many ways to do the same thing in R. --- # Assignment 2 notes - Our marking advice: Describe how you think the solution you have provided helps answer the question. - Show us a plot - Explain what you see in the plot - what do you think we can learn from the information we have? - Describe what other information you might like to have --- class: refresher # Recap - style - functions - map --- # Today: The language of models --- # Modelling - Use models to explain the relationship between variables and to make predictions - For now we focus on **linear** models (but remember there are other types of models too!) ] --- class: transition # Packages .left-code[   ] .right-plot[ - You're familiar with the tidyverse: - The broom package takes the messy output of built-in functions in R, such as `lm`, and turns them into tidy data frames. ] --- class: transition # Data: Paris Paintings --- # Paris Paintings ```r pp <- read_csv(here::here("slides/data/paris-paintings.csv"), na = c("n/a", "", "NA")) pp ## # A tibble: 3,393 x 61 ## name sale lot position dealer year origin_author origin_cat school_pntg ## <chr> <chr> <chr> <dbl> <chr> <dbl> <chr> <chr> <chr> ## 1 L176… L1764 2 0.0328 L 1764 F O F ## 2 L176… L1764 3 0.0492 L 1764 I O I ## 3 L176… L1764 4 0.0656 L 1764 X O D/FL ## 4 L176… L1764 5 0.0820 L 1764 F O F ## 5 L176… L1764 5 0.0820 L 1764 F O F ## 6 L176… L1764 6 0.0984 L 1764 X O I ## 7 L176… L1764 7 0.115 L 1764 F O F ## 8 L176… L1764 7 0.115 L 1764 F O F ## 9 L176… L1764 8 0.131 L 1764 X O I ## 10 L176… L1764 9 0.148 L 1764 D/FL O D/FL ## # … with 3,383 more rows, and 52 more variables: diff_origin <dbl>, ## # logprice <dbl>, price <dbl>, count <dbl>, subject <chr>, ## # authorstandard <chr>, artistliving <dbl>, authorstyle <chr>, author <chr>, ## # winningbidder <chr>, winningbiddertype <chr>, endbuyer <chr>, Interm <dbl>, ## # type_intermed <chr>, Height_in <dbl>, Width_in <dbl>, Surface_Rect <dbl>, ## # Diam_in <dbl>, Surface_Rnd <dbl>, Shape <chr>, Surface <dbl>, ## # material <chr>, mat <chr>, materialCat <chr>, quantity <dbl>, ## # nfigures <dbl>, engraved <dbl>, original <dbl>, prevcoll <dbl>, ## # othartist <dbl>, paired <dbl>, figures <dbl>, finished <dbl>, ## # lrgfont <dbl>, relig <dbl>, landsALL <dbl>, lands_sc <dbl>, ## # lands_elem <dbl>, lands_figs <dbl>, lands_ment <dbl>, arch <dbl>, ## # mytho <dbl>, peasant <dbl>, othgenre <dbl>, singlefig <dbl>, ## # portrait <dbl>, still_life <dbl>, discauth <dbl>, history <dbl>, ## # allegory <dbl>, pastorale <dbl>, other <dbl> ``` --- # Meet the data curators .left-code[ ![](images/sandra-van-ginhoven.png) ![](images/hilary-coe-cronheim.png) ] .right-plot[ Sandra van Ginhoven Hilary Coe Cronheim PhD students in the Duke Art, Law, and Markets Initiative in 2013 - Source: Printed catalogues of 28 auction sales in Paris, 1764- 1780 - 3,393 paintings, their prices, and descriptive details from sales catalogues over 60 variables ] --- # Auctions today  --- # Auctions back in the day  Pierre-Antoine de Machy, Public Sale at the Hôtel Bullion, Musée Carnavalet, Paris (18th century) --- # Paris auction market  --- class: transition # Modelling the relationship between variables --- # Prices: Describe the distribution of prices of paintings. ```r ggplot(data = pp, aes(x = price)) + geom_histogram(binwidth = 1000) ```  --- # Models as functions - We can represent relationships between variables using **functions** - A function is a mathematical concept: the relationship between an output and one or more inputs. - Plug in the inputs and receive back the output --- # Models as functions: Example - The formula `\(y = 3x + 7\)` is a function with input `\(x\)` and output `\(y\)`, when `\(x\)` is `\(5\)`, the output `\(y\)` is `\(22\)` `y = 3 * 5 + 7 = 22` -- ```r anon <- function(x) 3*x + 7 anon(5) ## [1] 22 ``` --- # Height as a function of width Describe the relationship between height and width of paintings.  --- # Visualizing the linear model ```r ggplot(data = pp, aes(x = Width_in, y = Height_in)) + geom_point() + geom_smooth(method = "lm") # lm for linear model ```  --- # Visualizing the linear model (without the measure of uncertainty around the line) ```r ggplot(data = pp, aes(x = Width_in, y = Height_in)) + geom_point() + geom_smooth(method = "lm", se = FALSE) # lm for linear model ```  --- # Visualizing the linear model (style the line) ```r ggplot(data = pp, aes(x = Width_in, y = Height_in)) + geom_point() + geom_smooth(method = "lm", se = FALSE, col = "pink", # color lty = 2, # line type lwd = 3) # line weight ```  --- # Vocabulary - **Response variable:** Variable whose behavior or variation you are trying to understand, on the y-axis (dependent variable) -- - **Explanatory variables:** Other variables that you want to use to explain the variation in the response, on the x-axis (independent variables) --- # Vocabulary - **Predicted value:** Output of the function **model function** - The model function gives the typical value of the response variable *conditioning* on the explanatory variables -- - **Residuals:** Show how far each case is from its model value - Residual = Observed value - Predicted value - Tells how far above/below the model function each case is --- # Residuals - What does a negative residual mean? - Which paintings on the plot have have negative residuals, those below or above the line?  ---  -- - What feature is apparent in this plot that was not (as) apparent in the previous plots? - What might be the reason for this feature? ??? The plot below displays the relationship between height and width of paintings. It uses a lower alpha level for the points than the previous plots we looked at. --- # Landscape vs portait paintings .pull-left[ - Landscape painting is the depiction in art of landscapes – natural scenery such as mountains, valleys, trees, rivers, and forests, especially where the main subject is a wide view – with its elements arranged into a coherent composition.1 - Landscape paintings tend to be wider than longer. ] .pull-right[ - Portrait painting is a genre in painting, where the intent is to depict a human subject.2 - Portrait paintings tend to be longer than wider. ] .footnote[ [1] Source: Wikipedia, [Landscape painting](https://en.wikipedia.org/wiki/Landscape_painting) [2] Source: Wikipedia, [Portait painting](https://en.wikipedia.org/wiki/Portrait_painting) ] --- # Multiple explanatory variables How, if at all, the relatonship between width and height of paintings vary by whether or not they have any landscape elements? ```r ggplot(data = pp, aes(x = Width_in, y = Height_in, color = factor(landsALL))) + geom_point(alpha = 0.4) + geom_smooth(method = "lm", se = FALSE) + labs(color = "landscape") ```  --- # Models - upsides and downsides - Models can sometimes reveal patterns that are not evident in a graph of the data. This is a great advantage of modelling over simple visual inspection of data. - There is a real risk, however, that a model is imposing structure that is not really there on the scatter of data, just as people imagine animal shapes in the stars. A skeptical approach is always warranted. --- # Variation around the model... is just as important as the model, if not more! *Statistics is the explanation of variation in the context of what remains unexplained.* - Scatterplot suggests there might be other factors that account for large parts of painting-to-painting variability, or perhaps just that randomness plays a big role. - Adding more explanatory variables to a model can sometimes usefully reduce the size of the scatter around the model. (We'll talk more about this later.) --- # How do we use models? 1. Explanation: Characterize the relationship between `\(y\)` and `\(x\)` via *slopes* for numerical explanatory variables or *differences* for categorical explanatory variables. (also called __inference__, as you __make inference__ on these relationships) 2. Prediction: Plug in `\(x\)`, get the predicted `\(y\)` --- class: transition # Your Turn: go to Rstudio and begin the excercise 7a ```r library(countdown) countdown(minutes = 6) ```
06
:
00
--- class: transition # Characterizing relationships with models --- # Height & width ```r m_ht_wt <- lm(Height_in ~ Width_in, data = pp) m_ht_wt ## ## Call: ## lm(formula = Height_in ~ Width_in, data = pp) ## ## Coefficients: ## (Intercept) Width_in ## 3.6214 0.7808 ``` --
 --- # Model of height and width `$$\widehat{Height_{in}} = 3.62 + 0.78~Width_{in}$$` -- - **Slope:** For each additional inch the painting is wider, the height is expected to be higher, on average, by 0.78 inches. -- - **Intercept:** Paintings that are 0 inches wide are expected to be 3.62 inches high, on average. --- # The linear model with a single predictor - Interested in `\(\beta_0\)` (population parameter for the intercept) and the `\(\beta_1\)` (population parameter for the slope) in the following model: $$ \hat{y} = \beta_0 + \beta_1~x $$ --- # Least squares regression The regression line minimizes the sum of squared residuals. -- If `\(e_i = y - \hat{y}\)`, then, the regression line minimizes `\(\sum_{i = 1}^n e_i^2\)`. --- # Visualizing residuals  --- # Visualizing residuals (cont.)  --- # Visualizing residuals (cont.)  --- # Properties of the least squares regression line - The regression line goes through the center of mass point, the coordinates corresponding to average `\(x\)` and average `\(y\)`: `\((\bar{x}, \bar{y})\)`: `$$\hat{y} = \beta_0 + \beta_1 x ~ \rightarrow ~ \beta_0 = \hat{y} - \beta_1 x$$` - The slope has the same sign as the correlation coefficient: `$$\beta_1 = r \frac{s_y}{s_x}$$` --- # Assumptions of least squares regression line - The sum of the residuals is zero: `$$\sum_{i = 1}^n e_i = 0$$` - The residuals have constant variance (homoskedastic errors) - The residuals and `\(x\)` values are uncorrelated. --- # Height & landscape features ```r m_ht_lands <- lm(Height_in ~ factor(landsALL), data = pp) m_ht_lands ## ## Call: ## lm(formula = Height_in ~ factor(landsALL), data = pp) ## ## Coefficients: ## (Intercept) factor(landsALL)1 ## 22.680 -5.645 ``` --
 `$$\widehat{Height_{in}} = 22.68 - 5.65~landsALL$$` --- # Height & landscape features (cont.) - **Slope:** Paintings with landscape features are expected, on average, to be 5.65 inches shorter than paintings that without landscape features. - Compares baseline level (`landsALL = 0`) to other level (`landsALL = 1`). - **Intercept:** Paintings that don't have landscape features are expected, on average, to be 22.68 inches tall. --- # Categorical predictor with 2 levels ``` ## # A tibble: 8 x 3 ## name price landsALL ## <chr> <dbl> <dbl> ## 1 L1764-2 360 0 ## 2 L1764-3 6 0 ## 3 L1764-4 12 1 ## 4 L1764-5a 6 1 ## 5 L1764-5b 6 1 ## 6 L1764-6 9 0 ## 7 L1764-7a 12 0 ## 8 L1764-7b 12 0 ``` --- # Relationship between height and school ```r (m_ht_sch <- lm(Height_in ~ school_pntg, data = pp)) ## ## Call: ## lm(formula = Height_in ~ school_pntg, data = pp) ## ## Coefficients: ## (Intercept) school_pntgD/FL school_pntgF school_pntgG ## 14.000 2.329 10.197 1.650 ## school_pntgI school_pntgS school_pntgX ## 10.287 30.429 2.869 ``` -- - When the categorical explanatory variable has many levels, they're encoded to **dummy variables**. - Each coefficient describes the expected difference between heights in that particular school compared to the baseline level. --- # Categorical predictor with >2 levels ``` ## # A tibble: 7 x 7 ## # Groups: school_pntg [7] ## school_pntg D_FL F G I S X ## <chr> <int> <int> <int> <int> <int> <int> ## 1 A 0 0 0 0 0 0 ## 2 D/FL 1 0 0 0 0 0 ## 3 F 0 1 0 0 0 0 ## 4 G 0 0 1 0 0 0 ## 5 I 0 0 0 1 0 0 ## 6 S 0 0 0 0 1 0 ## 7 X 0 0 0 0 0 1 ``` --- # The linear model with multiple predictors - Population model: $$ \hat{y} = \beta_0 + \beta_1~x_1 + \beta_2~x_2 + \cdots + \beta_k~x_k $$ -- - Sample model that we use to estimate the population model: $$ \hat{y} = b_0 + b_1~x_1 + b_2~x_2 + \cdots + b_k~x_k $$ --- # Correlation does not imply causation! - Remember this when interpreting model coefficients --- class: transition # Prediction with models --- # Predict height from width On average, how tall are paintings that are 60 inches wide? `$$\widehat{Height_{in}} = 3.62 + 0.78~Width_{in}$$` -- ```r 3.62 + 0.78 * 60 ## [1] 50.42 ``` "On average, we expect paintings that are 60 inches wide to be 50.42 inches high."  (We'll learn about measuring the variability around the prediction later.) --- # Prediction vs. extrapolation On average, how tall are paintings that are 400 inches wide? `$$\widehat{Height_{in}} = 3.62 + 0.78~Width_{in}$$`  --- # Watch out for extrapolation! > "When those blizzards hit the East Coast this winter, it proved to my satisfaction that global warming was a fraud. That snow was freezing cold. But in an alarming trend, temperatures this spring have risen. Consider this: On February 6th it was 10 degrees. Today it hit almost 80. At this rate, by August it will be 220 degrees. So clearly folks the climate debate rages on."1
 Stephen Colbert, April 6th, 2010 ] (OpenIntro Statistics. "Extrapolation is treacherous." OpenIntro Statistics.) --- class: transition # Measuring model fit --- # Measuring the strength of the fit - `\(R^2\)` is a common measurement of strength of linear model fit. - `\(R^2\)` tells us % variability in response explained by model. - Remaining variation is explained by variables not in the model. - `\(R^2\)` is sometimes called the coefficient of determination. --- # Obtaining `\(R^2\)` in R - Height vs. width ```r broom::glance(m_ht_wt) ## # A tibble: 1 x 11 ## r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC ## <dbl> <dbl> <dbl> <dbl> <dbl> <int> <dbl> <dbl> <dbl> ## 1 0.683 0.683 8.30 6749. 0 2 -11083. 22173. 22191. ## # … with 2 more variables: deviance <dbl>, df.residual <int> broom::glance(m_ht_wt)$r.squared # extract R-squared ## [1] 0.6829468 ``` Roughly 68% of the variability in heights of paintings can be explained by their widths. --- # Obtaining `\(R^2\)` in R - Height vs. lanscape features ```r glance(m_ht_lands)$r.squared ## [1] 0.03456724 ``` --- class: transition # Your Turn: Go to Rstudio and complete the lab exercise --- # References - [data science in a box](https://datasciencebox.org/) --- background-image: url(images/bg1.jpg) background-size: cover class: hide-slide-number split-70 count: false .column.shade_black[.content[

 # That's it! .bottom_abs.width100[ Lecturer: Nicholas Tierney & Stuart Lee Department of Econometrics and Business Statistics

<EMAIL_ADDRESS>May 2020 ]
 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.  ]]

 <svg class="clip-svg absolute"> <defs> <clipPath id="swipe__clip-path" clipPathUnits="objectBoundingBox"> <polygon points="0.5745 0, 0.5 0.33, 0.42 0, 0 0, 0 1, 0.27 1, 0.27 0.59, 0.37 1, 0.634 1, 0.736 0.59, 0.736 1, 1 1, 1 0, 0.5745 0" /> </clipPath> </defs> </svg>


--- layout: post title: indexTitle date: 2010-04-14T12:41:56Z author: John Doe categories: a tag and another ---
Some Text


SoapClient::__getLastResponse
(PHP 5 >= 5.0.1, PHP 7)
SoapClient::__getLastResponse — Returns last SOAP response
说明
public string SoapClient::__getLastResponse ( void )
Returns the XML received in the last SOAP response.
Note:
This method works only if the SoapClient object was created with the trace
option set to TRUE.
参数
此函数没有参数。
返回值
The last SOAP response, as an XML string.
范例
Example #1 SoapClient::__getLastResponse() example
1));
$result = $client->SomeFunction();
echo "Response:\n" . $client->__getLastResponse() . "\n";
?>
参见
• SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the
last response
• SoapClient::__getLastRequest() - Returns last SOAP request
• SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the
last request
User Contributed Notes 4 notes
===============================================================================
You almost for sure will need to wrap a try/catch block around your SOAP call
in order to use these to debug something that's not working.
Otherwise, PHP throws a fatal error before you can execute this function.
For example:
__getFunctions());
//Assume that has output 'someFunction' (among others)
try {
$results = $soapClient->someFunction(...);
}
catch (SoapFault $soapFault) {
var_dump($soapFault);
echo "Request :
", htmlentities($soapClient->__getLastRequest()), "
";
echo "Response :
", htmlentities($soapClient->__getLastResponse()),
"
";
}
?>
Without try/catch, your just get the Fatal Error and PHP commits suicide before
you can call __getLastRequest/__getLastResponse
===============================================================================
D'oh!
That example needs:
$soapClient = new SoapClient($url, array('trace'=>1));
to turn ON tracing in the first place.
===============================================================================
Just to make it a bit more readable
echo "REQUEST:\n" . htmlentities(str_ireplace('><', ">\n<", $client->
__getLastRequest())) . "\n";
echo "RESPONSE:\n" . htmlentities(str_ireplace('><', ">\n<", $client->
__getLastResponse())) . "\n";
PS: If you are using \n then you need to enclose above statements in
. You can also use
, but it gets a bit messy. =============================================================================== You don't need to surround SoapClient in a try-catch block. Just set the "exceptions" option to false, and the SoapFault instance will be returned instead of thrown.


--- layout: post title: Buzz Out Loud Becomes a Weekly Show categories: [] tags: [] status: publish type: post published: true meta: _original_post_id: '' _original_import_author: John Duprey author: ---
Buzz Out Loud a technology podcast that I've listened to for years is moving from a daily show to a weekly show. Some of the fans took it harder than others.


Life sentence for murdering teenager
by Staff ReporterThe District Court here sentenced a 44-year-old man to undergo life imprisonment for murdering a teenager seven years ago.
Additional District Judge – VI, Thiruvananthapuram, Jose N. Cyril, who delivered the verdict, sentenced Madhu, 44, of Elankathara, Karumam, near Nemom, to rigorous imprisonment for life in connection with the murder of 19-year-old Shahenshah of Thirumala in May 2012. Madhu was also imposed a fine of ₹3 lakh, which will have to be paid to the mother of the deceased. Failure to pay the fine would lead to an additional two years’ imprisonment.
According to the prosecution, led by Public Prosecutor M. Salahudeen, Madhu had stabbed the victim after the latter had failed to repay a loan he had taken from the accused for refilling petrol in his motorcycle.


12 Basic statistical analyses
Let us start by illustrating how to peform simple statistical data analyses using different resources. Here, we will use data from three studies that are available in our Opal demo repository. The three databases are called CNSIM1, CNSIM2, CNSIM3 and are available as three different resources: mySQL database, SPSS file and CSV file (see Figure 6.2). This example mimics real situations where different hospitals or research centers manage their own databases containing harmonized data. Data correspond to three simulated datasets with different numbers of observations of 11 harmonized variables. They contain synthetic data based on a model derived from the participants of the 1958 Birth Cohort, as part of an obesity methodological development project. This dataset does contain some NA values. The available variables are:
| Variable | Description | Type | Note |
|---|---|---|---|
| LAB_TSC | Total Serum Cholesterol | numeric | mmol/L |
| LAB_TRIG | Triglycerides | numeric | mmol/L |
| LAB_HDL | HDL Cholesterol | numeric | mmol/L |
| LAB_GLUC_ADJUSTED | Non-Fasting Glucose | numeric | mmol/L |
| PM_BMI_CONTINUOUS | Body Mass Index (continuous) | numeric | kg/m2 |
| DIS_CVA | History of Stroke | factor | 0 = Never had stroke; 1 = Has had stroke |
| MEDI_LPD | Current Use of Lipid Lowering Medication (from categorical assessment item) | factor | 0 = Not currently using lipid lowering medication; 1 = Currently using lipid lowering medication |
| DIS_DIAB | History of Diabetes | factor | 0 = Never had diabetes; 1 = Has had diabetes |
| DIS_AMI | History of Myocardial Infarction | factor | 0 = Never had myocardial infarction; 1 = Has had myocardial infarction |
| GENDER | Gender | factor | 0 = Female |
| PM_BMI_CATEGORICAL | Body Mass Index (categorical) | factor | 1 = Less than 25 kg/m2; 2 = 25 to 30 kg/m2; 3 = Over 30 kg/m2 |
The analyses that are described here, can also be found in the DataSHIELD Tutorial where these resources here uploaded to the Opal server as three tables, an inferior approach since data have to be moved from their original repositories.
12.1 Analysis from a single study
Let us start by illustrating how to analyze one data set (CNSIM2).
library(DSOpal)
library(dsBaseClient)
# prepare login data and resource to assign
builder <- DSI::newDSLoginBuilder()
builder$append(server = "study1", url = "https://opal-demo.obiba.org",
user = "dsuser", password = "password",
resource = "RSRC.CNSIM1", driver = "OpalDriver")
logindata <- builder$build()
# login and assign resource
conns <- DSI::datashield.login(logins = logindata, assign = TRUE,
symbol = "res")
# coerce ResourceClient objects to a data.frame called 'D'
datashield.assign.expr(conns, symbol = "D",
expr = quote(as.resource.data.frame(res, strict=TRUE)))
Then we can inspect the type of data we have
$study1
[1] "data.frame"
$study1
[1] "id" "LAB_TSC" "LAB_TRIG" "LAB_HDL" "LAB_GLUC_ADJUSTED"
[6] "PM_BMI_CONTINUOUS" "DIS_CVA" "MEDI_LPD" "DIS_DIAB" "DIS_AMI"
[11] "GENDER" "PM_BMI_CATEGORICAL"
Perform some data descriptive analyses
Data in all studies were valid
Study 1 : No errors reported from this study
$output.list
$output.list$TABLE_rvar.by.study_row.props
study
D$DIS_DIAB 1
0 1
1 1
$output.list$TABLE_rvar.by.study_col.props
study
D$DIS_DIAB 1
0 0.98613037
1 0.01386963
$output.list$TABLE_rvar.by.study_counts
study
D$DIS_DIAB 1
0 2133
1 30
$output.list$TABLES.COMBINED_all.sources_proportions
D$DIS_DIAB
0 1
0.9860 0.0139
$output.list$TABLES.COMBINED_all.sources_counts
D$DIS_DIAB
0 1
2133 30
$validity.message
[1] "Data in all studies were valid"
Data in all studies were valid
Study 1 : No errors reported from this study
$output.list
$output.list$TABLE.STUDY.1_row.props
D$GENDER
D$DIS_DIAB 0 1
0 0.502 0.498
1 0.700 0.300
$output.list$TABLE.STUDY.1_col.props
D$GENDER
D$DIS_DIAB 0 1
0 0.9810 0.9920
1 0.0192 0.0084
$output.list$TABLES.COMBINED_all.sources_row.props
D$GENDER
D$DIS_DIAB 0 1
0 0.502 0.498
1 0.700 0.300
$output.list$TABLES.COMBINED_all.sources_col.props
D$GENDER
D$DIS_DIAB 0 1
0 0.9810 0.9920
1 0.0192 0.0084
$output.list$TABLE_STUDY.1_counts
D$GENDER
D$DIS_DIAB 0 1
0 1071 1062
1 21 9
$output.list$TABLES.COMBINED_all.sources_counts
D$GENDER
D$DIS_DIAB 0 1
0 1071 1062
1 21 9
$validity.message
[1] "Data in all studies were valid"
Or even some statistical modelling. In this case we want to assess whether sex (GENDER) or triglycerides (LAB_TRIG) are risk factors for diabetes (DIS_DIAB)
Estimate Std. Error z-value p-value low0.95CI.LP high0.95CI.LP P_OR
(Intercept) -5.1696619 0.4549328 -11.363572 6.349427e-30 -6.0613138 -4.2780099 0.005654338
LAB_TRIG 0.3813891 0.1037611 3.675647 2.372471e-04 0.1780211 0.5847570 1.464317247
GENDER -0.2260851 0.4375864 -0.516664 6.053908e-01 -1.0837387 0.6315685 0.797650197
low0.95CI.P_OR high0.95CI.P_OR
(Intercept) 0.002325913 0.01368049
LAB_TRIG 1.194850574 1.79455494
GENDER 0.338328242 1.88055787
As usual the connection must be closed
12.2 Analysis from a multiple studies
Now, let us illustrate a similar analysis with multiple studies. In this case we see results aggregated across all three studies.
library(DSOpal)
library(dsBaseClient)
# prepare login data and resources to assign
builder <- DSI::newDSLoginBuilder()
builder$append(server = "study1", url = "https://opal-demo.obiba.org",
user = "dsuser", password = "password",
resource = "RSRC.CNSIM1", driver = "OpalDriver")
builder$append(server = "study2", url = "https://opal-demo.obiba.org",
user = "dsuser", password = "password",
resource = "RSRC.CNSIM2", driver = "OpalDriver")
builder$append(server = "study3", url = "https://opal-demo.obiba.org",
user = "dsuser", password = "password",
resource = "RSRC.CNSIM3", driver = "OpalDriver")
logindata <- builder$build()
# login and assign resources
conns <- datashield.login(logins = logindata, assign = TRUE, symbol = "res")
# assigned objects are of class ResourceClient (and others)
ds.class("res")
$study1
[1] "SQLResourceClient" "ResourceClient" "R6"
$study2
[1] "TidyFileResourceClient" "FileResourceClient" "ResourceClient" "R6"
$study3
[1] "TidyFileResourceClient" "FileResourceClient" "ResourceClient" "R6"
# coerce ResourceClient objects to data.frames
# (DataSHIELD config allows as.resource.data.frame() assignment function for the purpose of the demo)
datashield.assign.expr(conns, symbol = "D",
expr = quote(as.resource.data.frame(res, strict = TRUE)))
ds.class("D")
$study1
[1] "data.frame"
$study2
[1] "data.frame"
$study3
[1] "data.frame"
$study1
$study1$class
[1] "numeric"
$study1$length
[1] 2163
$study1$`quantiles & mean`
5% 10% 25% 50% 75% 90% 95% Mean
0.875240 1.047400 1.300000 1.581000 1.844500 2.090000 2.210900 1.569416
$study2
$study2$class
[1] "numeric"
$study2$length
[1] 3088
$study2$`quantiles & mean`
5% 10% 25% 50% 75% 90% 95% Mean
0.850280 1.032200 1.294000 1.563000 1.840000 2.077000 2.225000 1.556648
$study3
$study3$class
[1] "numeric"
$study3$length
[1] 4128
$study3$`quantiles & mean`
5% 10% 25% 50% 75% 90% 95% Mean
0.876760 1.039200 1.304000 1.589000 1.856000 2.098800 2.244200 1.574687
# vector types are not necessarily the same depending on the data reader that was used
ds.class('D$GENDER')
$study1
[1] "integer"
$study2
[1] "haven_labelled" "vctrs_vctr" "double"
$study3
[1] "numeric"
$all.unique.levels
[1] "0" "1"
$return.message
[1] "Data object <GENDER> correctly created in all specified data sources"
$study1
$study1$class
[1] "factor"
$study1$length
[1] 2163
$study1$categories
[1] "0" "1"
$study1$`count of '0'`
[1] 1092
$study1$`count of '1'`
[1] 1071
$study2
$study2$class
[1] "factor"
$study2$length
[1] 3088
$study2$categories
[1] "0" "1"
$study2$`count of '0'`
[1] 1585
$study2$`count of '1'`
[1] 1503
$study3
$study3$class
[1] "factor"
$study3$length
[1] 4128
$study3$categories
[1] "0" "1"
$study3$`count of '0'`
[1] 2091
$study3$`count of '1'`
[1] 2037
Estimate Std. Error z-value p-value low0.95CI.LP high0.95CI.LP P_OR
(Intercept) -4.7792110 0.21081170 -22.670521 8.755236e-114 -5.1923944 -4.36602770 0.00833261
LAB_TRIG 0.3035931 0.05487436 5.532514 3.156737e-08 0.1960414 0.41114488 1.35471774
GENDER -0.4455989 0.20797931 -2.142516 3.215202e-02 -0.8532309 -0.03796695 0.64044060
low0.95CI.P_OR high0.95CI.P_OR
(Intercept) 0.005527953 0.01254229
LAB_TRIG 1.216577226 1.50854390
GENDER 0.426036242 0.96274475


Where's Bill?
Tracking Pittsburgh Mayor Bill Peduto as he travels throughout the city.
A
Post-Gazette
app by
Andrew McGill
and
Pittsburgh
Tweet
Toggle navigation
Previous day
Next day
12 am
1 am
2 am
3 am
4 am
5 am
6 am
7 am
8 am
9 am
10 am
11 am
12 pm
1 pm
2 pm
3 pm
4 pm
5 pm
6 pm
7 pm
8 pm
9 pm
10 pm
11 pm
12 am
No schedule uploaded yet! Guess the 'Dutes is still driving to work!


7. Notes for AV and Exercise Developers¶
7.1. Configuration: Code lines and Internationalization¶
Any JSAV-based exercise or AV (either standalone or an in-lined slideshow) can be associated with a configuration file. This is a .json file whose default name is the same as the name of the container for an inlined slideshow, or the same as the standalone AV or exercise. Configuration files support sections for defining all strings (used for internationalziation support), mapping logical names to code lines (to support alternate programming language examples in JSAV code objects), and setting defaults for configuration parameters.
7.1.1. File Format¶
The file format needs to be documented. In the meantime, a good example is AV/Sorting/insertionsortAV.json.
7.1.2. Use Case: Standalone AV or Proficiency Exercise¶
Standalone AVs and proficiency exercises are embedded into the HTML page using an iframe. The size of the iframe is taken from the size of a div element with classname container.
Given a standalone AV with HTML file foo.html that contains a div with classname avcontainer and JavaScript file foo.js, the configuration file would normally be named foo.json. After creating a configuration object, the string interpreter and code interpreters will typically be created as follows:
av = new JSAV($(".avcontainer"));
// Load the config object with interpreter and code created by odsaUtils.js
var config = ODSA.UTILS.loadConfig(),
interpret = config.interpreter, // get the interpreter
code = config.code; // get the code object
var pseudo = av.code(code);
7.1.3. Use Case: Inline Slideshow¶
The RST file will reference a given slideshow with a specified div name as:
.. inlineav:: fooCON ss
The corresponding JavaScript file that implements the slideshow will create the JSAV, config, interpreter, and code objects with code like:
var av_name = "fooCON";
// Load the config object with interpreter and code created by odsaUtils.js
var config = ODSA.UTILS.loadConfig({"av_name": av_name}),
interpret = config.interpreter, // get the interpreter
code = config.code; // get the code object
var av = new JSAV(av_name);
var pseudo = av.code(code);
7.1.4. Use Case: No pseudocode object¶
Creating the code object is not necessary if no pseudocode object is used in the visualization. A shortened version is therefore as follows:
var av_name = "fooCON";
var interpret = ODSA.UTILS.loadConfig({"av_name": av_name}).interpreter;
var av = new JSAV(av_name);
7.1.6. Using the configuration¶
After creating the interpreter and code objects, they can be used to replace text strings and line numbers as follows:
// If the .json file has definitions for av_c2 and av_c3 in various languages:
av.umsg(interpret("av_c2"));
av.label(interpret("av_c3", {top: 10, left: 10}).show();
// If the .json file has definitions for codelines with the tag ``loop``:
pseudo.setCurrentLine("loop");
7.2. URL Parameters¶
The client-side framework provides functionality to support easy processing of URL paramters in any stand-alone AV or exercise. See parseURLParams() in the Client-side Development section.
Some URL parameters are considered a standard part of the system and have built-in support. These include the parameters to control the natural language, the programming language (see Internationalization Support), and the exercise grading options. AV/exercise developers can also implement support for their own ad hoc URL parameters.
When an AV or exercise is embedded in an OpenDSA module via the avembed directive, the URL parameters are controlled by the configuration process. However, if a third party wishes to call the stand-alone AV or exercise directly (perhaps someone will want to embed calls within their own HTML pages), URL parameters are invoked as follows.
<URL>?JXOP-code=java
This one directs the AV to display Java code.
<URL>?JOP-lang=fi
This one directs the AV to use Finnish for its text.
Proficiency exercises typically support various grading modes. These are documented in the Configuration section. The typical options are as follows:
<URL>?JXOP-feedback=atend
<URL>?JXOP-feedback=continuous&JXOP-fixmode=undo
<URL>?JXOP-feedback=continuous&JXOP-fixmode=fix
7.3. Equations¶
Within jsav.umsg() text, all math should be done using LaTeX format enclosed within $...$ (for inline expressions) or $$ ... $$ (for display equations). MathJax will automatically recognize the dollar sign markup, and it will automatically do the conversion from LaTeX format to HTML. The only peculiarity that you should need to worry about is that backslashes must be escaped by using two backslashes. So a typical math markup within an AV or slideshow might look like:
jsav.umsg("This takes $\\Theta(n)$ time.");
7.4. CSS¶
Anything related to visual element style that is static should be defined in a CSS file. For example, if a JSAV array is placed at a specific location that never changes, then this location should be defined within a CSS file for your AV or slideshow.
While the client-side framework should automatically resize the AVs iFrame, developers should set the default height and width of the AV to accommodate the maximum size of the AV (such as an optional code block). If the automatic resizing should fail, the exercise should still be useable even if it doesn’t look as nice.
Some styling aspects are dynamic. For example, over the course of a visualization, nodes in a tree might need to change color to emphasize the action being visualized. Looking at the JSAV manual, you will notice that most visual elements can be styled with a .css() method on the element. But in nearly all cases, we wish to avoid using that method. We prefer to use the .addClass() and .removeClass() methods to control dynamic element styling whenever possible. These methods will dynamically assign or remove a CSS class to the element in the DOM. You can define any necessary new class in your AV’s CSS file. But before doing so, you should first check to see if a suitable class already exists in the OpenDSA style file at lib/odsaStyle.css. Given that we have developed a lot of visualizations already, the odds are pretty high that whatever visual styling you want to do is semantically equivalent to something that we already support. If so, you should be using the same style definition. For example, if you have a cell in an array or a node in a tree that your AV is currently acting on, then you probably want to indicate this by styling it using mynode.addClass("processing") for a tree node object named mynode, or using myarray.(index, "processing") for array position index in JSAV array myarray.
7.5. “Stand-alone” vs. “Inline” AVs and Exercises¶
Structurally, there are two ways that we include AVs and exerices into a module. First is the “stand-alone” artifact, which has its own HTML pages. In principle, this might be anything with its own URL, though in practice we usually only include our own materials. This is done using the avembed directive (see avembed). When converted to HTML, the mechanism used is a standard iframe tag to include the artifact.
“Inline” AVs are usually either a JSAV diagram or a JSAV slideshow (a diagram is just a “slideshow” with no slide controls at the top). These are included using the inlineav directive (see inlineav). The avID is the container name for the AV. Of course, the final HTML page has to get access to the relevent JavaScript and CSS files. This is done by putting at the bottom of the .rst file an odsascript directive giving the path and name of the Javascript file (see odsascript). If a CSS file is used, then you put near the top of the .rst file (right after the avmetadata block) an odsalink directive giving the path and name of the CSS file (see odsalink). Our naming convention is that all inlineavs use container names that end in CON, and that the .js and .css files use the container name. Further, our convention is that each individual slideshow or diagram be in its own JavaScript file (though this is convention is violated on occasion if there are a lot of very short slideshow files in a given page).
The odsascript and odsalink directives do nothing more than map down to <script></script> and <link></link> tags, respectively, in the final HTML pages. Their purpose is merely to keep module authors from needing to use raw HTML code in an RST file.
When you embed multiple slideshows on the page (with inlineav), they will naturally share the same namespace, both for code and for CSS.
For code, this is not generally an issue, because it is our standard procedure to wrap all of our code in an “anonymous function”, and then reference the key identifier (the container div) by name. This is why you will always see (in any of our code that has been cleaned to our internal spec, which should be everything except perhaps code in the Development directory) something like the following:
$(document).ready(function () {
var av_name = "insertionsortS1CON";
...
var av = new JSAV(av_name);
...
});
This does the following:
- document.ready makes it wait until everything is loaded
- It is all wrapped in a function, so that its namespace will not conflict with other slideshows. That way, for example, the global variables for one slideshow (like av in this example) are separate from the other slideshows. (This actually causes a problem if you want to include functions from other .js files. See Encapsulation.)
- Use of the container name (such as in the JSAV call) is why THIS code gets executed on THIS container instead of the OTHER .js files that you loaded on the page.
Each inlineav might need to set some CSS styling with the same name as other slideshows will use. You handle this by “qualifying” the relevant variable to the name of the div that contains it. Look for example at AV/Binary/BSTCON.css to see examples. Notice lines that look like:
#avnameCON .jsav.jsavtreenode {
...
}
This will make your styling changes on the tree nodes only affect that particular slideshow.
7.6. Slideshows¶
The text in slideshows should be complete sentences. Which means that nearly always, there should be a period at the end of the sentence. The only exception would be when a series of slides is building up a sentence, such as if one slide said “First we do this...”, and then the following slide replaced it with “First we do this, then we do that.”
7.7. Programming Exercises¶
To create a programming exercise, you will need to create/modify files on the front-end and others on the back-end:
Front end:
Go to OpenDSA/Exercises/ModuleName. ModuleName can be any of the modules in the Exercises directory (e.g. List, Binary, RecurTutor..etc )
Create html file exercisename.html.
Open the html file and modify the text of the following tag to have the problem statement:
<p class="problem" id = "test">
e.g. Complete the missing recursive call so that the following function computes something.
Modify the text of the codeTextarea to have the code that required to be edited by the student:
<textarea id="codeTextarea">
Example:
int examplefunc(int i) { if (i > 0) { if (i % 2 == 1) { return i; } //<<Missing a Recursive call>> } }
Add a DOM variable to specify the programming exercise type (e.g. recursio, BinaryTree, List,..etc)
Example:
window.progexType= "recursion";
Open OpenDSA/config/ModuleName.json
Add the exercise in the exercises section as the following example:
"recprogex1":{ "long_name": "Recursion Programming Exercise Number or Description", "required": true, "points": 0.0, "threshold": 1.0}
Open OpenDSA/RST/en/ModuleName/ModuleName.rst
Add the following line so that the programming exercise appears in the lesson. As the following example:
.. avembed:: Exercises/RecurTutor/recprogex1.html ka
Build the book on the front end:
- Go to by the command CD OpenDSA/
- Run the command: sudo make ModuleName
Back end (Unit tests):
Go to OpenDSA-server/ODSA-django/openpop/build/ModuleName
Create a directory with the same name as the exercise name created on the front end (e.g. recprogex1)
Create java file that will have the unit tests: exercisename.java (e.g. recprogex1.java)
Open the exercisename.java.
Name the class in the file as studentexercisename (e.g. studentrecprogex1). Note that the class should be missing its closing brace. The Python code on the back end will append that closing brace dynamically when the student submit his code. The Python code appends the function submitted by the student to the java code and add the closing brace dynamically.
Create a function in the java file that returns the model answer.
In the main function, create the code required for the unit tests and call the model answer function (e.g. int x= modelexercisefunction(i)).
For each unit test, call both the model answer function and the function given to the student in the front end in:
<textarea id="codeTextarea">
Example:
examplefunc(int i)
Compare both answers as follows:
if (studentfunctionreturn(i) == modelexamplefunction(i)) SUCCESS = true; try{ PrintWriter output = new PrintWriter("output"); if (SUCCESS) { output.println("Well Done!"); output.close(); } else { output.println("Try Again! Incorrect Answer!"); output.close(); } } catch (IOException e) { e.printStackTrace(); } }
Note that: you should do the necessary logic to make sure that all the unit tests are correct. Also, you will not need to modify any of the Python files on the back end.


Consumer confidence perks up
by RNZConsumer confidence has continued to rise, as house price growth continues and wages increase.
The ANZ-Roy Morgan Consumer confidence index rose 3 points in November to 121, above its historical average.
More households reported feeling positive about the future of the local economy, saying now was a good time to buy a big-ticket item.
However, they were feeling worse about their own current financial situation, likely because of their debt levels.
"Things are pretty good for New Zealand households right now," ANZ chief economist Sharon Zollner said.
"They have a lot of debt, certainly ... but jobs are pretty easy to find, there has been some decent wage growth, and the housing market is lifting.
"[It's] not the slam dunk for consumer confidence that it used to be, but [it's] still important."
The confidence lift adds to a four-point rise in October, and followed a 16 point spike in this month's business confidence survey, which is at its best level in a year.
Zollner said the latest readings on confidence pointed to a more rosy economic outlook, in line with the Reserve Bank's growth expectations, fuelled by low interest rates.
"These results will give them [the RBNZ] comfort that they are right."
This article was originally published on RNZ and re-published with permission.


A more in depth description of the API, including all parameters and potential responses,
can be found at this link.
http://semantic-proxy.appspot.com/api/get?sid=6bbf18d0&wsdl
http://semantic-proxy.appspot.com/api/put
http://semantic-proxy.appspot.com/api/list/references?sid=6bbf18d0
http://semantic-proxy.appspot.com/api/list/services


{% extends "defindex.html" %} {% block tables %}
|
What's new in MORSE 0.5? |
What is MORSE? |
|
Installation |
Tutorials |
|
Component library |
Supported middlewares |
|
Human-Robot Interaction Simulation |
Multi-nodes simulation |
|
Developing with MORSE |
Frequently Asked Questions (FAQ) |
|
Media & Dissemination |
Code reference |
|
Blender add-ons |
Controlling the simulator |
|
List of credits |
For any questions about the use of MORSE or if you have any issues with the
simulator, you can drop a mail to the mailing-list
Bug reports are always welcome on our bug-tracker.
{% endblock %}


What is it?
An innovative electronic platform that supports virtual knowledge networks and communities of practice in health and development sectors.
Learn MoreAn innovative electronic platform that supports virtual knowledge networks and communities of practice in health and development sectors.
Learn MoreSearch, browse, and join communities related to health and development. Network with colleagues around the world.
Learn MoreBrowse the information and knowledge generated in more than fifty global discussion forums. Register to participate in upcoming global discussions.
Learn MoreMaggie Usher Patel, WHO/RHRThe Knowledge Gateway tools and methodologies are providing to be a best practice for supporting virtual knowledge networks around the world.
Elizabeth Westley, ICECThe Knowledge Gateway is a tremendous tool for the International Consortium for Emergency Contraception: it allows us to communicate efficiently with over 1000 people around the world, organize multiple sub-communities for news sharing, and at the same time fosters a "small group" feeling for our committees.
Neil Pakenham-Walsh Coordinator, Health Information for All by 2015 (HIFA2015)The IBP Knowledge Gateway has the potential to bring all stakeholders together to help address the world's most important health challenges, thereby contributing to the achievement of the Millenium Development Goals and Health for All.


Review your changes
Please confirm that the information you've provided us for Templeton Metal Works Ltd share capital is correct
Consolidation
Date of resolution: 31 January 2016
| Class of shares | Previous number of shares | Previous nominal value | New number of shares | New nominal value | |
|---|---|---|---|---|---|
| Pound sterling | 5 | £5 | 3 | £7 | Changenew name of Ordinary |
Updated share capital
Ordinary
Share has full rights including voting, dividends and distributions.
| Currency | Total number of shares | Aggregate nominal value | Total amount unpaid | |
|---|---|---|---|---|
| Pound sterling | 10 | £70 | 0 | Changeordinary shares in pound sterling |


Home > Data Structures and Algorithms Questions >What is hashing technique? Describe in brief.
In general, in all searching techniques, search time is dependent on the number of items. Sequential search, binary search and all the search trees are totally dependent on number of items and many key comparisons are involved.
Hashing is a technique where search time is independent of the number of items or elements. In this technique a hash function is used to generate an address from a key. The hash function takes a key as input and returns the hash value of that key which is used as an address index in the array.
We can write hash function as follows
h(k)=a;
Where h is hash function, k is the key, a is the hash value of the key.
While choosing a hash function we should consider some important points.


We help those who put food on our plates, put food on theirs
Come take a look at some of our best farmers who are guaranteed to give you a great product.
Log in now to experience a brand new experience .


Title: {{currentIssue.Title}}
Description: {{currentIssue.Description}}
AssigneeId (current Id {{currentIssue.Assignee.Id}}) {{currentIssue.Assignee.Username}}
PriorityId (current Id {{currentIssue.Priority.Id}}) {{currentIssue.Priority.Name}}
DueDate: {{currentIssue.DueDate | date}}
Author: {{currentIssue.Author.Username}}
Project: {{currentIssue.Project.Name}}
Status: {{currentIssue.Status.Name}}
Labels: {{currentIssueLabels.join(', ')}}


Work Day Scheduler
A simple calendar app for scheduling your work day
8 AM
9 AM
10 AM
11 AM
12 PM
1 PM
2 PM
3 PM
4 PM


Dashboard
Commits / eng (ave)
Repos / eng (ave)
{{start_date}} -> {{end_date}}
| GitHub Handle | # PRs Committed | # PRs Reviewed | Action |
|---|---|---|---|
| {{member.author}} | {{member.commits}} | TBD | Delete |
| GitHub Handle | # PRs Committed | # PRs Reviewed | Action |
|---|---|---|---|
| {{member.author}} | {{member.commits}} | TBD | Delete |


FOR PATIENTS OF UCSF CANCER CENTER.
Sessions include:
<<<<<<< HEAD
Sessions are available Tuesdays at UCSF Mission Bay Gateway Medical Building
1825 4th Street, San Francisco, 4th floor, Consult Room #1
Click here for map
Thursdays at UCSF Mt. Zion (Cancer Resource Center
1600 Divisadero St., Room B101, San Francisco on the first floor next to the Gift Shop
Click here for map


|
|
Welcome to Project Gilthead!
How to play:
- Drag any piece floating in the River and drop it either on your wooden Workbench, or in one of the four columns on your Blueprint. Once you pick up a piece, you must place it on either the workbench or the blueprint.
- The Scale across the top of the screen tells you how strong your table needs to be (on the left) compared to how strong your table is so far (on the right). The background behind the scale tells you if your table is likely to be strong enough based on the pieces you have placed so far (greener is better). When your table is strong enough, the scale itself will turn yellow, and continue to get brighter as you go. The stronger your table is, the higher your score will be. If your table is not strong enough, you will booch. Thicker pieces are stronger.
- Your base score is determined by how valuable your pieces are. There are up to 8 rainbow colors, ranging from Red, which is the least valuable, to Magenta, which is the most valuable. Less valuable pieces are more common.
- Significant bonuses are gained by matching colors in vertical columns, and shapes in horizontal rows. Try for some of each! Matching bonuses are far greater than strength bonuses
- Some pieces may have knots - those pieces are still valuable, and can be used to complete color and shape patterns. However, pieces with knots undermine the strength of your table.
- You may see pieces that look like lions - those are Cedar Giltheads.  Cedar Giltheads are very weak, but do not undermine the strength of your table.
- You may see pieces that look like fish - those are Ironheads. They are the strongest pieces in the game and can save your table from booching if you have too many knotholes. They do not match any color or shape at all, and will ruin the bonuses for the row and column they are in.
- You may see specific shapes in place of the squares on the blueprint. These Bonus Targets will increase your existing row bonus if you can match them. There is no negative consequence if you fail to match the Bonus Target shape.
- Beware the nefarious piRat! If you hesitate too long between placing pieces, this rascally rodent will gnaw knotholes in your pieces, undermining the strength of your table! If this goes on too long, you could booch! (Cedar tastes yucky, and Iron is too tough for their poor ratty teeth.)
Have fun!
|


About HiddenRamp
This is the worlds 1st Social Networking Talent Platform. We are looking for student who can market out product well, work for it in any possible domain they want. Students aiming for extensive learning, exposure and growth, This is for you!
Where
3833 TANDUWARA Rewari REWARI-123401
OPEN
Monday to Saturday
9 a.m - 6 p.m
EVENTS
The Events That Can SHAPE your FUTURE
Voluptatem nulla veniam soluta et corrupti consequatur neque eveniet officia. Eius necessitatibus voluptatem quis labore perspiciatis quia.
Million $ Tip:
Get The New Learning Experience:
Future Events
Your Bright Future is Near
20/5/2019
CODATHON
- 48hrs Regular Seating
- Coffee Break
- Custom Badge
- Community Access
- Workshop Access
- After Party
20/6/2019
Web Hack
- Regular Seating
- Coffee Break
- Custom Badge
- Community Access
- Workshop Access
- After Party
20/7/2019
BLIND CODE
- Regular Seating
- Coffee Break
- Custom Badge
- Eyes Covered
- Practise
- After Party
Gallery
Check our gallery from the past events
TESTIMONIALS
-
Akash Nagpal (Talent Score:896)
I am getting a huge boost to my confidence by uploading my videos. People are actually viewing them and leaving their feedback. Definitely a website worth using if you have some hidden talents.
CLICK HEREto know more about this person. -
Anuskha Singh Rathore (TalentScore: 912)
I am from a small district in Maharashtra where we do not have a lot of opportunities. However, HiddenRamp is helping me in showing my passion for art and craft to a wider audience. It has helped me meet other enthusiasts from different parts of the country.
CLICK HEREto know more about this person. -
Upasana Rathore(Talent Score: 885 )
Absolutely worth using. It is so handy and easy to use. I am loving the experience so far. CLICK HEREto know more about this person.
-
Mukul Dulnani (Talent Score: 934)
I have always had the phobia of sharing my poetries with others. Then one day, I decided to upload them here. Luckily I got a good response. Now, I write regularly and am no longer afraid to share my works with others.
CLICK HEREto know more about this person. -
Dhananjay Arora(Talent Score: 790)
On HiddenRamp, you actually understand how good or bad you are. The points and feedback given by people has helped me to improve my skills.
CLICK HEREto know more about this person. -
Akshay Bhardwaj (Talent Score: 815)
It doesn’t take more than half a minute to upload your work on HiddenRamp and it might be seen by a large number of people. So definitely worth a try!
CLICK HEREto know more about this person.
Event Speakers
Here are some of our speakers
Brenden Legros
Quas alias incidunt
Hubert Hirthe
Consequuntur odio aut
Cole Emmerich
Fugiat laborum et
Jack Christiansen
Debitis iure vero
Alejandrin Littel
Qui molestiae natus
Willow Trantow
Non autem dicta
Newsletter
Want to get regular updates about the tech events!!!---->Do subscribe our newsletter.
Head Office
Location of our main office
3833 TANDUWARA Rewari REWARI-123401
Company is registered in Delhi (Haryana) Registrar Office. Hiddenramp Private Limited registered address is 3833 TANDUWARA Rewari REWARI-123401
Contact Us
Clear all your Doubts


{% load static i18n %} {% get_current_language as LANGUAGE_CODE %} {% get_language_info for LANGUAGE_CODE as lang %}


Second Brexit Referendum 'Now Very Likely' - Journo
According to reports from think tank “the Resolution Foundation”, public spending in the UK could be set to soar no matter what the outcome of December’s general election.
With both the Conservatives and Labour having pledged to significantly increase the funds available for various social programmes thus far. But will said levels of spending; actually be possible without severely increasing taxes and damaging business? Or is this merely an example of two sides vying for vital political capital?
Journalist David Lindsay shares the views on the matter.
Sputnik: Could pledges for further investment in public services made by both the Conservative and Labour Parties realistically be carried out?
David Lindsay: It can be done. A sovereign state with its own free floating currency has as much of that free flowing currency as it chooses to issue to itself.
The election will result in a hung parliament, beyond that I will predict absolutely nothing, that’s become a fools game now, but there is going to be another hung parliament, I’ve no idea who’s going to be the largest party; it would be either the Conservatives or Labour, but I’ve got no idea which one.
Sputnik: Could a second Brexit referendum be on the cards now that Article Fifty has been postponed until January 2020?
David Lindsay: A second referendum is now really very likely because the extension period has now gone into 2020, and if that happened, as it now has; there was always a very high chance of a second referendum taking place.
Sputnik: What would the British public’s reaction be if a second Brexit referendum was held and the UK’s departure from the EU was ultimately cancelled?
David Lindsay: There would be great anger among many of the leave voters, but it’s very difficult to say what anyone could really do about it, and it would leave a scar that would last for the rest of many people’s lives, it would be definitive of British political activity for as long as I was left alive.
The views and opinions expressed in the article do not necessarily reflect those of Sputnik.


Lewisburg
Clearfield
Mount Sterling Montgomery County
Queretaro Airport
Valcartier Airport
Centralia Municipal Airport
San Andres
Pitt Meadows
Methow Valley State Airport
Glencoe Municipal Airport
St. Augustine Airport
Northwest Missouri Regional Airport
Chiang Mai
Meknes
Sania Ramel Airport
Cross City Airport
Flin Flon Airport
Fort Providence
King Cove Airport
St. Cloud Regional Airport
Guarulhos
Edmonton
Mount Gambier Airport
Port-au-Prince Airport
Janesville
Jharsuguda
Yonaguni Airport
San Luis Airport
Mr CJ
TEST CHART
Sanford-Lee Airport
Phoenix Airfield


.panel
Displays as
"Hello World"
World
Hello
.panel-left
and .panel-right
Displays as "Hello World"
Displays as a media object (fixed-size image on left, with expandable content on right)
.menu
Displays as "Link #1 Link #2"
.menu-float
Displays as "Link #1Link #2"
.menu-vertical
Displays as
"Link #1 Link #2"
.aspect
Displays a test youtube video in the "widescreen" 16:9 shape:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.aspect-4-3
Displays a test youtube in the standard TV 4:3 shape:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.embed
Limits a fixed width image to the containers width


Variables may be written as any sequence of alphanumeric characters (including `_') beginning with either a capital letter or `_'. For example:
X Value A A1 _3 _RESULT
If a variable is referred to only once in a clause, it does not need to be named and may be written as an anonymous variable, represented by the underline character `_' by itself. Any number of anonymous variables may appear in a clause; they are read as distinct variables. Anonymous variables are not special at runtime.


Hello !
Welcome to Iron Sky Dive! The best adventure you will ever have
Learn MoreWelcome to Iron Sky Dive! The best adventure you will ever have
Learn MoreWe like programming websites, but we love to practice sports too
Watch VideoJoin our fitness programme to be in good shape while learning
RegisterWe teach all necessary things to jump from the plane without any kind of problem.
You are already prepared. You just need the suite and a parachute. All sizes available.
You are ready and the plane is waiting for you in the hangar. Let's fly!
You have done the most complicated, just one step left... Jump!
Our team collectively has 75 years of experience. Odds are, when you jump out of the plane with these professionals, you won't go splat
| Time | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
|---|---|---|---|---|---|---|
| 09:00-11:00 | x | x | x | |||
| 09:00-11:00 | x | x | ||||
| 09:00-11:00 | x | x |


[name]
Object for keeping track of time.
Constructor
[name]( [page:Boolean autoStart] )
autoStart — Automatically start the clock.
Properties
.[page:Boolean autoStart]
If set, starts the clock automatically when the first update is called.
.[page:Float startTime]
When the clock is running, It holds the starttime of the clock.
This counted from the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
.[page:Float oldTime]
When the clock is running, It holds the previous time from a update.
This counted from the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
.[page:Float elapsedTime]
When the clock is running, It holds the time elapsed between the start of the clock to the previous update.
This counted from the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
.[page:Boolean running]
This property keeps track whether the clock is running or not.
Methods
.start()
Starts clock.
.stop()
Stops clock.
.getElapsedTime() [page:Float]
Get milliseconds passed since the clock started.
.getDelta() [page:Float]
Get the milliseconds passed since the last call to this method.
Source
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]


{% extends "base/base.html" %} {% block page_title %}Login{% endblock %} {% block content %} {% if request.user and request.user.is_authenticated %} {% include "base/auth/components/already_logged_warning.html" %} {% else %}
Your password has been changed successfully.
Login now with it.