Insurance
Welcome to Supercar Insurance If you're looking for a cheap car insurance quote, you're in the right place. Because we're direct on the net our overheads are lower, so we can offer car insurance for less. So if you're looking for cheap car insurance, why not get a quote from us now? Our secure quote pages will provide you with a car insurance quote in minutes. This means that paying for your motor insurance online is completely safe. And if you want to talk to someone for help or advice about your car insurance quote, there's a national rate number to call. You can even pay for your car insurance over the phone!


Brett Zamir
on 2011-07-20 03:47:32
@Pier Paolo Ramon: Good catch! Thanks--fixed in Git... (This function as with many others still needs to support reliably ordered associative arrays--see PHPJS_Array() in array().)
Pier Paolo Ramon
on 2011-07-15 16:45:51
You should check if it's a property of the object, with hasOwnProperty.
for (key in trans) {
if (!trans.hasOwnProperty(key)) continue;
tmp_ar[trans[key]] = key;
}


Who We Are
Our Mission
We foster an environment of knowledge and expertise through projects, guest talks, social activities, and more. Quant SC serves as an introduction to the dynamic field of algorithmic trading, bringing together a community of passionate and aspiring quants at USC.


Learn how to build ASP.NET apps that can run anywhere. Learn More
There are powerful new features in Visual Studio for building modern web apps. Learn More
Bring in libraries from NuGet, Bower, and npm, and automate tasks using Grunt or Gulp. Learn More
Learn how Microsoft's Azure cloud platform allows you to build, deploy, and scale web apps. Learn More


JavaScript Projects
Project
Description
Add
{{name}}
{{description}}
Edit
Name
Required
Website
Required
Not a URL
Description
{{EditDescription}}
Cancel
Save
Delete


I am an Engineering graduate lives in Pune, India. I am having more than 17 years of experience in software development.
After graduation, I completed diploma from C-DAC (Centre for Development of Advanced Computing) in software.
I am:
I provide consultancy in Big Data projects, especially in Apache Spark, Apache Cassandra, AWS Services. I am aspiring machine learner and AI enthusiast.
As a consultant / freelancer, I worked on many projects where I performed various roles as per the project need. Performed roles like architect, tech lead, developer, frontend and/or backend developer. I worked on AWS, Apache Cassandra, Apache Spark, Java, Vert.x, PHP, Python, Spring boot, relational, non relational databases, etc
In this role my responsibilities involved were architecture reviews, requirements analysis and design, prototypes, code review, helping teams in code refactoring, mentoring, training, evaluate and decide use of software products including tools, frameworks, performance improvement, refactoring of application(s), delivery of results and capabilities, Effectively communicating technical analysis, project stakeholder communication, etc.
I was managing projects where I had to gather requirements, communicate with clients, architect, design, set coding guidelines, perform code reviews, make sure good quality deliveries, etc.
In the project I was communicating with different stakeholders, design, make sure coding guidelines are followed, perform code reviews, make sure good quality delivery, etc.
I was communicating with different stakeholders, design, make sure coding guidelines are followed, perform code reviews, make sure good quality delivery, etc.
As a lead my responsibilities involved were user specification analysis, functional specifications, design, estimations, unit test, system test cases, client communication
As a consultant my responsibilities involved were consultation on usage of PLM tool, user specification analysis, functional specifications, design, estimations, unit test, system test cases, client communication
Responsibilities involved were consultation on usage of PLM tool, user specification analysis, functional specifications, design, estimations, unit test, system test cases, client communication
Responsibilities involved were technical mentoring, user specification analysis, functional specifications, design, design review, estimations, code review, unit test cases review, system test cases review, client communication
Responsibilities involved were user specification analysis, functional specifications, design, estimations, development, unit testing, unit test case document, release notes, build management using Install anywhere, release management, client communication
Responsibilities involved were user specification analysis, functional specifications, design, estimations, development, unit testing, unit test case document, release notes
Responsibilities involved were development, unit testing, unit test case document, release notes
Managing the chargeback of merchants and collecting the valid documents to fight the chargeback raised by cardholder. The merchants are registered in the application along with their details to fight, prevent and recover the chargebacks. Providing all the evidences of purchase by the cardholder and putting it in the required format and template for the payment processor was the core of this project. Based of the collected data and success or failure of chargeback processing the reports gets generated and shown to client. Also the software is used to suggest improvements to reduce chargeback to the merchants.
Technologies used are Java, Spring boot, Angular, HTML5, CSS3, AWS, Google cloud, etc
Pharmaceutical medince packages needs printing of labels and then making sure the lable are printed correct. The project was a web application getting push notifications from server for every label print. A camera used to capture the printed label. The software will check and confirme the printed label and will update the user interface.
Technologies used are Java, Vert.X, Angular, HTML5, CSS3, etc
Proactive Network Maintenance (PNM) is revolutionary in the cable industry. Consequently it provides cable operators visibility and actionable insight which enables them to more efficiently identify and repair plant and in-home and or outside plant impairments on a user friendly interface easily understood by technicians using GIS technology. Proactive Network Maintenance is an application that uses DOCSIS pre-equalization to proactively identify hybrid fiber coax (HFC) RF plant impairments more efficiently and cost effectively rather than traditional test equipment.
Technologies used are PHP, MySql, Java, Apache Spark, Apache Cassandra, Ionic, etc
Understanding the pensions process of Finalnd pension providers as well as Finland's government policies and use them in the projects under this business unit. The projects involved new development, migrations, support, etc
Technologies used are Java
POF-DB is a workflow system for program and customer projects supporting whole life cycle, from sales to effort estimation, to execution and evaluation Transparent effort estimation, resource forecasting, milestone tracking Interfaces to other systems: IMS Sharenet, Artemis, ServiceDB Automatic generated emails various reports
Technologies used are Java, Spring framework
In the Value added services project, the business was to transfer the invoices in electronic format from seller to buyer. In the transfer it converts the invoice from one format to the other by providing value added services like image rendition, digital signing and archiving. TIX-TT project is used for testing the components developed in Message Bean Components language used in XIB platform using Web UI. The application is used by VN Tieto Sweden team. The Swedbank project is a support tool used by support team for viewing the logs of invoicing processing in integration system. In TEIS project is again integration broker which transfers the data from one customer to other.
Technologies used are Java
The project is to migrate the data from legacy system to exsiting PLM database. The data from legacy system is available in MS Excel file format and the data loader adapters are used to read this file and load the data in PLM database. While loading the data, the unload data scripts are also generated so that failure cases can be handeled to reload the data. The temporary database is also used to store some data, which can be used for further processing after data load. The adapters connect to Oracle database to store the data. Data mining is performed after data loading. Data mining can be achieved using application customization. Data is loaded from 6 different legacy systems.
Technologies used are Java, iTEXT, PLM
Analysis of PLM Data before data migration or upgrade To find out the data integrity issues in the exisiting database based on certain rules and log the possible errors before data migration or upgrade Generate report for the basis of data migration estimates. Easily plug and play modules developed as PL/SQL procedures for various pre-defined rules. Java classes and XML were genrated using Castor framework on XSD
Technologies used are Java, Castor, XSD, XML, PL/SQL
Analyzing the existing architecture and suggest improvements Improve performance analysis Develop matrix based applications using PLM configuration tools to replace the existing legacy systems Application issue analysis and support Infrastructure support
Technologies used are Java, JSP, Wireshark, OPNET, eMatrix
An Apparel accelerator product for the garment industry. A product of combination of four PLM applications. It is customized for any company who is in garmet business. Manages various stages in the lifecycle of a product in Fashion Industry.
Technologies used are Java, JSP, JavaScript, Java programs in PLM tool
An Apparel accelerator product for the garment industry. A product of combination of four PLM applications. It is customized for any company who is in garmet business. Manages various stages in the lifecycle of a product in Fashion Industry.
Technologies used are Java, JSP, JavaScript, Java programs in PLM tool
This is integration between MSOffice applications like MSWord, MSExcel with PLM software. Consists of two components, the server side componentis is developed in Java whereas the client side GUI component is developed in the MSOffice environment using C++ The two components talk to each other using Applet using XML based protocol. This integration is used in various organizations where MSOffice tool are used. The office applications interact with applet on the client machine and applet interacts with servlet on server to transfer the data from client machine to the matrix software. Data on server is processed by server component and saved in PLM Oracle database.
Technologies used are Servlet, Applet, XML, Java programs in PLM tool, Install anywhere, weblogic
Integration Exchange Framework is used by various eMatrix integrations like CAD integration. The CAD softwares like solidworks, solidedge, Catia saves its Meta data and file in PLM tools database using this integration. This integration uses Applet-Servlet communication to transfer the data from client to server.
Technologies used are JSP, HTML, JavaScript, Java programs in PLM tool, weblogic
This was the customization of Integration Exchange Framework project. The exsisting XML protocols were modified to remove the user interface. The client component sends the xml packet to server and is porcessed on server. There is no user interface to make any kind of selection or any user intervention. The project was successfully delivered on time.
Technologies used are JSP, Java programs in PLM tool, JavaScript, weblogic
Porting of latest version of integration exchange framework onto the older version of supporting platforms. The work involved in changing the JSP pages to refer the old jar files instead of the new. Also changing the applet and servlet code to refer the old jar. This was achieved by writing Unix scripts to change all the java and jsp files and also some include files. Because of the scripts the development time was reduced drastically and the team could get more time for unit testing and system testing. The project was delivered on time.
Technologies used are JSP, Java programs in PLM tool, JavaScript, weblogic
Webification of the user module called navigator of desktop application of PLM software. The project was developed using JSP and servlet. This project was developed for cross platform support, cross browser support. It was supported on weblogic as well as websphere. It also supports internationalization.
Technologies used are Java, JSP, Servlet, HTML, JavaScript, eMatrix, weblogic, websphere, install anywhere
This was an engineering project developed for the company itself. This tool is used to track the issues and bugs reported on the projects. This tool is used in issue base tracking, data analysis for the managers, reports, queries, etc. This was one of the major tools involved in achieving CMM-3 certificate for the organization. The group received a team achievement award for the same. This tool also helped in creating a paperless environment. Anytime, anywhere was the motto behind the tool.
Technologies used are ASP, VBScript, VB, HTML, IIS, MS-SQL
A document storage utility is developed for storing the project related important documents and mails in one common repository. One daemon was written in VB, as a windows service, which runs as a background process, for reading the mails and to convert them in HTML files. This tool also helped in keeping the project related documents, especially mails in one location so that all the team members can access those mails anytime and know what is the current status.
Technologies used are ASP, VBScript, VB, HTML, IIS, MS-SQL


Add some ‘touch and feel’ to your products and services
How much is it worth to get more customers to listen to you? What if you could excite them by letting them touch and feel as well as read about the unique value of your products and services?
We can apply a transparent ink layer to your next direct mailing promotion that will enhance the look, feel and memorability of the publicity. Using digital technology allows us to offer customised offers, messages, designs and incentives.
Capturing, and keeping, your target’s attention is not an easy task today, but it should be the first objective in any marketing activity. If you’re interested to get a sample please contact Andy Pering on 01753 215340 or email andy@x1.ltd.uk


--- title: "Staying Hydrated" date: "2017-07-07 00:00:00 -06:00" categories: - whats-blooming layout: "post" blog-banner: "whats-blooming-now-spring.jpg" post-date: "July, 07 2017" post-time: "4:27 PM" blog-image: "2017-07-07-wbn.JPG" published: true ---
With temperatures in the triple digits, it is important to make sure you drink enough water. Just like people, plants also need to stay hydrated.
Mosaic Flower Ludwigia sedioides
One way plants stay hydrated is by growing directly in the water.
Water Fern Marsilea mutica
Although it looks like a four leaf clover, this water plant is actually a fern.
Yellow Water Lily Nymphaea odorata 'Sulphurea'
Another water loving plant, this water lily produces delicate yellow flowers.
White Water Crowfoot Ranunculus aquatilis
Look for this Utah Native in the Upper Pond with the Mother Moose sculpture.
Kamchatka Stonecrop Sedum kamtschaticum
Succulent plants, like this Stonecrop, stay hydrated by storing water in their tissues.
These beautifully designed succulent pots can be found at the entrance to the Water Conservation Garden.
Although it's hot outside, there are plenty of escapes from the heat at the Garden. Bring your water bottle and come enjoy a walk through Red Butte.


I took a whole gar of rob-gels at 6pm and did my first shot of dope (a dime) and a bowl of weed. Nice rush but not enough to get a nod. Slightly above average street dope from NYC. Waiting for the DXM to hit was a while, maybe 2hrs as I recollect. Smoking a joint at this juncture was a mistake as it made me really dizzy. I decided a speedball would clear that up. I did a shot of twenty each of H and coke.
Well, it did and it didn't, the H must've reacted with the somewhat opoid cousin DXM to get me even dizzier, and the coke just added an element of stimulation and enhanced visuals. I was in a heavy place and I was around people who, while hard trippers, were not into smack and coke so I couldn't relate what I did to them outside pot and DXM. I decided to be alone and wait it out. It wasn't unpleasnt, just very stoning, and the speediness was of the sort where I cannot function but need to sit and let it take me, like taking too much dexedrine.
So there I was, chewing my lips like Bling Bling the crackhead and inhaling bowl after bowl of nice dank weed. It was making me spin like cheap wine, but the speediness took precedence and needed cooling off more than the opoid/dissassociative side of things. The closest I can compare that to is like barbiturates and ketamine, a bad mix I had the stupidity of trying a while back. Finally a close friend found me and deduced on his own that I speedballed on top of the DXM, and gave me two 1mg klonopin. If he hadn't given me these I would have chewed my tounge off and gone into and ego-less, wired purgatory for life. The klonopin put just the right edge on things, and the whole DXM-insight thing could now be enjoyed for the rest of the night.
For two days after, whenever I took my methadone or did and oxy or some H I got that spinning, dizzy barbiturate high. I think the DXM intensifies heroin. They intensify each other.
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.


Savegame Editor
for Final Fantasy Explorers
by
Marc Robledo
See on GitHub
Donate
Close file
Save changes
Basic
Gil
CP
Materials
Atmatliths
Items


This Weather Underground sample app provides weather forecast information using the Weather Underground API. Once a City, State or Zip Code is entered, click a day for the weather forecast indicated by a symbol and text description.
Visit: http://www.wunderground.com/weather/api to get your free API key.


class Array(T)
- Array(T)
- Reference
- Object
Overview
An Array
is an ordered, integer-indexed collection of objects of type T.
Array indexing starts at 0. A negative index is assumed to be relative to the end of the array: -1 indicates the last element, -2 is the next to last element, and so on.
An Array
can be created using the usual new
method (several are provided), or with an array literal:
Array(Int32).new # => []
[1, 2, 3] # Array(Int32)
[1, "hello", 'x'] # Array(Int32 | String | Char)
An Array
can have mixed types, meaning T will be a union of types, but these are determined
when the array is created, either by specifying T or by using an array literal. In the latter
case, T will be set to the union of the array literal elements' types.
When creating an empty array you must always specify T:
[] of Int32 # same as Array(Int32)
[] # syntax error
An Array
is implemented using an internal buffer of some capacity
and is reallocated when elements are pushed to it when more capacity
is needed. This is normally known as a dynamic array.
You can use a special array literal syntax with other types too, as long as they define an argless
new
method and a <<
method. Set
is one such type:
set = Set{1, 2, 3} # => Set{1, 2, 3}
set.class # => Set(Int32)
The above is the same as this:
set = Set(typeof(1, 2, 3)).new
set << 1
set << 2
set << 3
Included Modules
- Comparable(Array(T))
- Indexable(T)
- MovingAverage(T)


MB13 (Interlocked LC gate)
Manual
Gate-Lock
CH-KEY-OUT
Power On
Gate lock
LC Open
Open gate
Close gate
GS2-DR
Gate Un lock
LC Close & Locked
Loading...
Toggle Display Domino


Toggle navigation
WD
f
S
HOME
ABOUT
WD
f
S
BLOG
WORK
Category: Test Category
2014
TEST POST
Aug 2
nd
, 2014


------------------------------------------------
------------------------------------------------
Assistant Professor - Research
Started January 2019. Lead modeling expert.
Post Doctor Fellow
Starting June 2019.
Post Doctor Fellow
Starting June 2019.
Graduate Student
Starting Fall 2019.
Coastal Engineering Specialist
Starting Fall 2019


This is a paragraph with a title attribute.
This is a link with a title
This is a paragraph with a custom cursor.
This is a link with a custom cursor
| Cursor Name | Text | Button | Block |
|---|---|---|---|
| auto | auto | ||
| default | default | ||
| none | none | ||
| text | text | ||
| context-menu | context-menu | ||
| help | help | ||
| pointer | pointer | ||
| progress | progress | ||
| wait | wait | ||
| cell | cell | ||
| crosshair | crosshair | ||
| text | text | ||
| vertical-text | vertical-text | ||
| alias | alias | ||
| copy | copy | ||
| move | move | ||
| no-drop | no-drop | ||
| not-allowed | not-allowed | ||
| grab | grab | ||
| grabbing | grabbing | ||
| e-resize | e-resize | ||
| n-resize | n-resize | ||
| ne-resize | ne-resize | ||
| nw-resize | nw-resize | ||
| s-resize | s-resize | ||
| se-resize | se-resize | ||
| sw-resize | sw-resize | ||
| w-resize | w-resize | ||
| ew-resize | ew-resize | ||
| ns-resize | ns-resize | ||
| nesw-resize | nesw-resize | ||
| nwse-resize | nwse-resize | ||
| col-resize | col-resize | ||
| row-resize | row-resize | ||
| all-scroll | all-scroll | ||
| zoom-in | zoom-in | ||
| zoom-out | zoom-out |


Access Control Lists¶
Security for domain objects (generally database entities) is implemented using Access Control Lists (ACL). ACLs provide flexible permissions for individual objects.
For each domain object class up to 30 individual permissions can be given. In general, 7 are used most often:
- View : View object
- Create : Create a new object
- Edit : Edit an existing object
- Delete : Delete an existing object
- Operator : View, Create, Edit, and Delete permission
- Master : Operator permission, can manage all permissions up to operator level.
- Owner : Master permission, can grant master permission as well.
Each ACL is composed by an object identity and several Access Control Entries (ACE).
Object identites¶
ACLs are not assigned to objects directly, but to so called object identities. They represent individual objects or classes (the create permission is a class-based permission for example).
Access Control Entries¶
Each ACE holds the permissions for a single user or role. The permissions are stored as an integer bitmask, therefore 32 permissions can be used - as some PHP implementations use 30 bit long integers, 30 is the cross-platform maximum number of permissions. But as laid out above, 7 are already enough to model an enhanced CRUD workflow, leaving 23 for custom-tailored permission if needed.
Security Identities¶
ACEs can be associated with either users or roles by means of encapsulating both with an security identity.


KomaMRI.jl is a Julia package to simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.


When you should be doing something else, time what you are actually doing here!
Sometimes, the powers that be decree some working practices we just have to follow. They are not passive aggressive and completely needed. Obviously.


Calm
Home
(current)
Research
The Brain
Calm me down
Music
Draw
Contact Us
More
Essential Watches
About us
Reviews
Crowd Source opinions
Here is what our people are talking about
Please enter a valid message
Please enter a valid email ID
Please enter a valid name
Submit
OrderBy Email
OrderBy Date
OrderBy Tips
{{tip.name}} said,
{{tip.tip}}
Posted by user : {{tip.email}}
(Report this suggestion)
Likes : {{tip.likes}}
Posted on: {{tip.date}}


This is the prediction of the dog breed
Hello, you uploaded a image that contains a {{ human_dog }}
Here you can see the corresponding predictions of the dog breed
-
{{ top1_label }}
{{ top1_pred }}%
-
{{ top2_label }}
{{ top2_pred }}%
-
{{ top3_label }}
{{ top3_pred }}%
{% endblock%}


Hello World ! , We are Software developers
Thank you for taking the time to help us improve the platform
Name
Email
Age
Which option best describes your current role?
man
girl
boy
Would you recommend freeCodeCamp to a friend?
Definitely
Maybe
Not sure
What would you like to see improved? (Check all that apply)
Front-end Projects
Back-end Projects
Data Visualization
Challenges
Open Source Community
Gitter Help Rooms
Videos
City Meetups
Wiki
Forum
Additional Courses
Any comments or suggestions?
submit


ESP32 Project Update 2
april 1, 2019
There was a lot of testing done today, namely for the LEDs and with the battery on the main board.
First of all, the leds were tested as a strip on a breadboard, again with just an Arduino. All example code worked well on this, and the LEDs were actually incredibly bright despite their small size.
After this, I measured and cut the wires needed to connect the LEDs together as a strip.
LED wiring pattern
Because all of the testing before this point has been done on an Arduino and I hadn't verified the esp32 PWM capabilities, I decided to test the esp32 with one of the LEDs. In addition, I tested whether the LEDs worked on battery power, which they did pretty much perfectly.
All in all, it was a fairly productive day of testing things that should've been tested when the components had arrived.


To view the symbol in Developer Xpress
Select a symbol within your source pane and click .
If you have Developer Xpress open, you can toggle back and forth between it and your IDE by:
• clicking in Borland JBuilder
• double-clicking an entity or file in Developer Xpress
• clicking for a selected entity in Borland JBuilder


"Take all the remarkable people in history, Rattle them off to a popular tune." |
1890: The Gondoliers opens in New York at the New Park Theatre on January 7th. Gilbert and Carte were not happy with the casting.
1890: The Gondoliers is relaunched at Palmer's Theatre, New York,on February 18th with a slightly different cast.
1890: Gilbert purchases Graeme's Dyke (later Grim's Dyke), Harrow Weald.
1890: The famous Carpet Quarrel is set in motion on April 22nd.
|
Historic Note: |
|
Read more on the Carpet Quarrel.
|
1891: The Gondoliers opens down under at The Princess Theatre. Melbourne, on the 25th October. (read review)
1891: Sullivan's only Grand Opera Ivanhoe opens at the newly built English Opera House on January 31st. The libretto is by U.S. born Julian Russell Sturgis (1848-1904).
|
Historic Note: |
1891: The Gondoliers is performed for Queen Victoria at Windsor Castle on March 6th.
1891: Gilbert's burlesque Rosencrantz and Guildenstern opens on June 3rd.
For a complete transcript of this play click here
1891: The Nautch Girl with libretto by George Dance and Frank Desprez, and with music by Solomon Grundy follows The Gondoliers at the Savoy Theatre. This opens on June 30th. Though not a Gilbert and Sullivan this was billed as a Savoy Opera and achieves a respectable run of 200 performances. Many Savoyards are in the cast including Jesse Bond, Rutland Barrington, Courtice Pounds and Frank Thornton.
|
Newspaper Review: |
|
Historic Note: |
1891: Ivanhoe is revived for six performances at the Royal English Opera in November.
1891: There is a performance of Ivanhoeat the Königliche Schauspiele, Berlin, Germany, on November the 26th.
1892: The Mountebanks by Gilbert and Alfred Cellier opens at the Lyric on January 4th. It runs for 229 performances.
1892: The Vicar of Bray by Edward Solomon is mounted at the Savoy opening on January 28th. This work achieves a healthy run finishing in early June. The cast includes Rutland Barrington, Courtice Pounds, W.H. Denny, Rosina Brandram and Mary Duggan.
1892: Gilbert's comic opera Haste to the Wedding opens at the Criterion Theatre on July 27th. The music is by George Grossmith.
1892: Haddon Hall by Sullivan and Sydney Grundy opens at the Savoy on September 24th. It runs for 204 performances. The cast includes Courtice Pounds, Richard Green, Charles Kenningham, W.H. Denny, Rosina Brandram and Dorothy Vane.
1893: For the opening of the Imperial Institute on May 10th Sullivan writes the Imperial March.
1893: Jane Annie opens at the Savoy on May 13th. The authors are J.M. Barrie and Arthur Conan Doyle with music by Ernest Ford. Despite the distinguished names the work is a disaster. The cast includes Rutland Barrington, Walter Passmore, Charles Kenningham, Dorothy Vane, Rosina Brandram and Decima Moore. The operetta lasts less than two months.
1893: Utopia (Limited) is first performed at the Savoy on October 7th. It runs for 245 performances.
|
Check out original costumes from this production.
|
|
Historic Note: |
1894: Messager's Mirette opens at the Savoy on July 3rd. Savoyards in the cast include Scott Fische, Courtice Pounds and Rosina Brandram
|
Historic Note: |
1894: Gilbert's comic opera His Excellency opens on October 27th. The music is by Dr Osmond Carr, who was twenty-two years younger than Gilbert. It does not have a long run.
|
-Extract- (Enter Erling Sykke, with large unopened official letter in his hand.) ERLING: At last - the reply to my letter announcing to His Majesty the completion of the statue! Every hope and every fear of my life lies within the four corners of this document. What may it not contain? Perhaps an order on the King's Treasurer for my ten thousand rix- dollars! Perhaps my appointment as Court sculptor! Perhaps even my patent of Countship! I tremble so that I can scarcely open it! (Nanna Griffenfeld has entered at the back.   Whom is it from, and what's it all about? ERLING: Nanna, this letter is to seal your destiny and mine - so, as you are as much concerned with it as I am, I think we ought to open it together. It's - it's from the King's private Secretary! NANNA: Oh, do be quick and let's see what's in it! ERLING: You open it - I can't! (Giving her the letter.) NANNA: I can. Now then - one! two! three! (Nanna opens it.) ERLING: Read - read! NANNA: looking at it). Oh! I don't think you'll like it. Oh! I'm sure you won't like it! (Reads.) "Sir - In reply to a letter in which you announce the completion of a statue of His Royal Highness Prince Frederick, alleged by you to have been commissioned by His Majesty, I have to inform you that His Majesty knows nothing about it." ERLING: (stunned). Knows nothing about it! NANNA: There seems to be some mistake. ERLING: Some mistake! Why, what do you mean? NANNA: Why that, at the first blush, it bears the appearance of being one of dear papa's practical jokes. ERLING: But it's ruin! Absolute ruin! Why, I spent every penny I possessed on the marble alone! NANNA: I'm so sorry! ERLING: Sorry! I can't realize it! It stuns me! It's too cruel - too cruel! And the promise you made me -- NANNA: Oh, the promise! Yes - es - the conditional promise. ERLING: Don't tell me that was a hoax too! Give me some hope to cling to! I can bear it all if you'll only tell me that you won't discard me! NANNA: Really, it's extremely awkward; but one must be a little prudent. I'm a very expensive young lady, and as it seems that you have no immediate prospect of being able to maintain an establishment, it would be really criminal on my part to involve you in further embarrassments. (Erling sinks helplessly on pedestal of statue, and buries his head in his hands.) To check out the complete 'His Excellency' click here |
1894: Sullivan rehashes The Contrabandista under the title The Chieftain. It opens on December 12th and runs for 97 performances at the Savoy. The cast includes Courtice Pounds, Scott Fische, Richard Temple, Rosina Brandram and Florence Perry.
| Continue on to 1895 | To the Operas |


{% extends 'users/base.html' %} {% load i18n %} {% block body %}
{% blocktrans %} Hello {{ user }}. Your email has been used to sign up for an account at {{ site_url }}. If this email has reached you in error please disregard. Otherwise, please click here: {% endblocktrans %} {{ activation_url }} {% trans "to activate your account." %}


Cheat Sheet #1: Git Commands
CREATE
Clone an existing repository$ git clone <url>
Create a new local repository$ git init
LOCAL CHANGES
Changed files in working directory$ git status
Changed to tracked files$ git diff
Add all current changes to the next commit$ git add .
Add some changes in (file) to the next commit$ git add -p <file>
Commit all local changes in tracked files$ git commit -a
Commit previously staged changes$ git commit
Change the last commit$ git commit --amend
COMMIT HISTORY
Show all commits, starting with the newest$ git log
Show changes over time for a specific file$ git log -p <file>
Who changed what and when in <file>$ git blame <file>
BRANCHES & TAGS
List all existing branches$ git branch
Switch HEAD branch$ git checkout <branch>
Create a new branch based on your current HEAD$ git branch <new-branch>
Creat a new tracking branch based on a remote branch$ git branch --track <new-branch> <remote-branch>
Delete a local branch$ git branch -d <branch>
Mark the current commit with a tag$ git tag <tag-name>
UPDATE & PUBLISH
List all currently configured remotes$ git remote -v
Show information about a remote$ git remote show <remote>
Add new remote repository, named <remote>$ git remote add <remote> <url>
Download all changes from <remote>, but don't integrate into HEAD$ git fetch <remote>
Download changes and directly merge/integrate into HEAD$ git pull <remote> <branch>
Publish local changes on a remote$ git push <remote> <branch>
Delete a branch on the remote$ git push <remote> :<branch>
Publish your tags$ git push --tags
MERGE & RELEASE
Merge <branch> into your current HEAD$ git merge <branch>
Rebase your current HEAD onto <branch>$ git rebase <branch>
Abort a rebase$ git rebase --abort
Continue a rebase after resolving conflicts$ git rebase --continue
Use your configured merge tool to solve conflicts$ git mergetool
Use your editor to manually solve conflicts and (after resolving) mark file as resolved$ git add <resolved-file>
$ git rm <resolved-file>
UNDO
Discard all local changes in your working directory$ git reset --hard HEAD
Discard local changes in a specific file$ git checkout HEAD <file>
Revert a commit (by producing a new commit with contrary changes)$ git revert <commit>
Reset your HEAD pointer to a previous commit ...and discard all changes since then$ git reset --hard <commit>
...and preserve all changes as unstaged changes$ git git reset <commit>
...and preserve uncommitted lcoal changes$ git reset --keep <commit>
GETTING HELP & DOCUMENTATION
Get help on the command line$ git help <command>
BEST PRACTICES
- Commit related changes with small commits
- Test code before commit
- Use branches
- Commit often
- Write good commit messages
- Test code before commit
- Don't commit half-done work
- Write good commit messages
- Use branches
- Agree on a common workflow
- Version control is not a backup system


{% extends "algorithms/base.html" %} {% block title %}
Welcome to Algo Book
Master Data Structures and Algorithms from the codes written by experts in various languages like C/C++ , Python, etc.
| S No. | Name of the Algorithm | CPP Code Available? | Python Code Available? | Explaination Provided? |
|---|---|---|---|---|
| {{forloop.counter}} | {{elem.AlgoName}} | {{elem.cpp_code}} | {{elem.py_code}} | {{elem.readme}} |


On August 26, 2013 at 4pm, a group of organizations and individuals, including Restore the Fourth SF, representing the broad StopWatching.Us coalition met with House Minority Leader Nancy Pelosi's chief of staff in San Francisco, Dan Bernal.
Coalition representing StopWatching.Us
Tracy Rosenberg, Media Alliance
Jennifer Granick, Stanford Law
Mark Jaycox, EFF
Anna Salem, ACLU
Matt Lockshin, Credo Action
Jonathan, Hackers and Founders
Nadia Kayyali, Bill of Rights Defense Committee
Michael Poon, Restore the Fourth SF
Over the course of 45 minutes, the coalition members covered the following points:
We want an end to Section 215 phone metadata collection, an end to Section 702 internet data collection, and transparency, including a release of secret court opinions.
We want a complete change, not tweaks. Specifically…
We want bulk collection to be stopped right now. That may take away some valuable capabilities/it may be a blunt thing, but it's gone so far wrong that it needs to stop right now — especially since we don't know the full scope of what's been going wrong. Specific capabilities can possibly be reinstated after, but bulk collection as it exists now must stop immediately.
Bulk collection and our principles/privacy/checks and balances are fundamentally at odds. The FISA Court doesn't work.
We need to hear a clear statement of principles from Pelosi on the matter that we can hold her to.
The solution to the surveillance overreach will likely come in several bills, since most likely, no one bill will nix all the concerns.
The surveillance hurts SF economics.
Pelosi needs to hold town halls and speak to constituents. Tele-town halls are okay.
Briefly: A mention of better whistleblower protections.
Briefly: The traditional FISA (before FISA Amendments Act of 2008) was actually better for privacy.
While we were there, I also delivered the public comments on the NSA scandal that we gathered at our August 4th event (pictured above).
Pelosi's office responded with the following:
They are a foreign policy office, not a legislative office, so they cannot comment on specifics.
Pelosi wants action in the fall. She will not wait for bill reauthorization (2015).
Pelosi/her office has not stonewalled us or anyone else on this issue.
Pelosi voted against the Amash Amendment because it was too blunt of an instrument. It was the wrong vehicle for change.
Standard fare: Pelosi has always had a strong position on privacy. The FISA Amendments Act of 2008 did many good things for privacy. Et cetera.
We, of course, were not able to extract any specific promises, but we clearly and strongly communicated what was necessary to fix this mess.
One coalition attendee, Tracy Rosenberg from Media Alliance, described it like this
The quickest way to describe the 45-minute meeting is as a tug-of-war between two ideas:
a) blanket surveillance is fundamentally unconstitutional and needs to stop
and
b) NSA surveillance programs need to be tweaked to rein in some level of over-reach.
Pelosi's office has agreed to meet with the coalition again when bills have moved further along the legislative cycle. They also gave us a summary of the public statements Pelosi's made, including an open letter to Obama.
Further reading: Tracy Rosenberg's Huffington Post article on the meeting is here.
"/>
On August 26, 2013 at 4pm, a group of organizations and individuals, including Restore the Fourth SF, representing the broad StopWatching.Us coalition met with House Minority Leader Nancy Pelosi's chief of staff in San Francisco, Dan Bernal.
Coalition representing StopWatching.Us
Tracy Rosenberg, Media Alliance
Jennifer Granick, Stanford Law
Mark Jaycox, EFF
Anna Salem, ACLU
Matt Lockshin, Credo Action
Jonathan, Hackers and Founders
Nadia Kayyali, Bill of Rights Defense Committee
Michael Poon, Restore the Fourth SF
Over the course of 45 minutes, the coalition members covered the following points:
We want an end to Section 215 phone metadata collection, an end to Section 702 internet data collection, and transparency, including a release of secret court opinions.
We want a complete change, not tweaks. Specifically…
We want bulk collection to be stopped right now. That may take away some valuable capabilities/it may be a blunt thing, but it's gone so far wrong that it needs to stop right now — especially since we don't know the full scope of what's been going wrong. Specific capabilities can possibly be reinstated after, but bulk collection as it exists now must stop immediately.
Bulk collection and our principles/privacy/checks and balances are fundamentally at odds. The FISA Court doesn't work.
We need to hear a clear statement of principles from Pelosi on the matter that we can hold her to.
The solution to the surveillance overreach will likely come in several bills, since most likely, no one bill will nix all the concerns.
The surveillance hurts SF economics.
Pelosi needs to hold town halls and speak to constituents. Tele-town halls are okay.
Briefly: A mention of better whistleblower protections.
Briefly: The traditional FISA (before FISA Amendments Act of 2008) was actually better for privacy.
While we were there, I also delivered the public comments on the NSA scandal that we gathered at our August 4th event (pictured above).
Pelosi's office responded with the following:
They are a foreign policy office, not a legislative office, so they cannot comment on specifics.
Pelosi wants action in the fall. She will not wait for bill reauthorization (2015).
Pelosi/her office has not stonewalled us or anyone else on this issue.
Pelosi voted against the Amash Amendment because it was too blunt of an instrument. It was the wrong vehicle for change.
Standard fare: Pelosi has always had a strong position on privacy. The FISA Amendments Act of 2008 did many good things for privacy. Et cetera.
We, of course, were not able to extract any specific promises, but we clearly and strongly communicated what was necessary to fix this mess.
One coalition attendee, Tracy Rosenberg from Media Alliance, described it like this
The quickest way to describe the 45-minute meeting is as a tug-of-war between two ideas:
a) blanket surveillance is fundamentally unconstitutional and needs to stop
and
b) NSA surveillance programs need to be tweaked to rein in some level of over-reach.
Pelosi's office has agreed to meet with the coalition again when bills have moved further along the legislative cycle. They also gave us a summary of the public statements Pelosi's made, including an open letter to Obama.
Further reading: Tracy Rosenberg's Huffington Post article on the meeting is here.
"/>
By —
Visiting Pelosi's Office
On August 26, 2013 at 4pm, a group of organizations and individuals, including Restore the Fourth SF, representing the broad StopWatching.Us coalition met with House Minority Leader Nancy Pelosi's chief of staff in San Francisco, Dan Bernal.
Coalition representing StopWatching.Us
Tracy Rosenberg, Media Alliance
Jennifer Granick, Stanford Law
Mark Jaycox, EFF
Anna Salem, ACLU
Matt Lockshin, Credo Action
Jonathan, Hackers and Founders
Nadia Kayyali, Bill of Rights Defense Committee
Michael Poon, Restore the Fourth SF
Over the course of 45 minutes, the coalition members covered the following points:
We want an end to Section 215 phone metadata collection, an end to Section 702 internet data collection, and transparency, including a release of secret court opinions.
We want a complete change, not tweaks. Specifically…
We want bulk collection to be stopped right now. That may take away some valuable capabilities/it may be a blunt thing, but it's gone so far wrong that it needs to stop right now — especially since we don't know the full scope of what's been going wrong. Specific capabilities can possibly be reinstated after, but bulk collection as it exists now must stop immediately.
Bulk collection and our principles/privacy/checks and balances are fundamentally at odds. The FISA Court doesn't work.
We need to hear a clear statement of principles from Pelosi on the matter that we can hold her to.
The solution to the surveillance overreach will likely come in several bills, since most likely, no one bill will nix all the concerns.
The surveillance hurts SF economics.
Pelosi needs to hold town halls and speak to constituents. Tele-town halls are okay.
Briefly: A mention of better whistleblower protections.
Briefly: The traditional FISA (before FISA Amendments Act of 2008) was actually better for privacy.
While we were there, I also delivered the public comments on the NSA scandal that we gathered at our August 4th event (pictured above).
Pelosi's office responded with the following:
They are a foreign policy office, not a legislative office, so they cannot comment on specifics.
Pelosi wants action in the fall. She will not wait for bill reauthorization (2015).
Pelosi/her office has not stonewalled us or anyone else on this issue.
Pelosi voted against the Amash Amendment because it was too blunt of an instrument. It was the wrong vehicle for change.
Standard fare: Pelosi has always had a strong position on privacy. The FISA Amendments Act of 2008 did many good things for privacy. Et cetera.
We, of course, were not able to extract any specific promises, but we clearly and strongly communicated what was necessary to fix this mess.
One coalition attendee, Tracy Rosenberg from Media Alliance, described it like this
The quickest way to describe the 45-minute meeting is as a tug-of-war between two ideas:
a) blanket surveillance is fundamentally unconstitutional and needs to stop
and
b) NSA surveillance programs need to be tweaked to rein in some level of over-reach.
Pelosi's office has agreed to meet with the coalition again when bills have moved further along the legislative cycle. They also gave us a summary of the public statements Pelosi's made, including an open letter to Obama.
Further reading: Tracy Rosenberg's Huffington Post article on the meeting is here.


Have you ever reproduced someone else's research analysis?
How about reproducing your own old work? What tools did you use?
Do you know how to reproduce your collaborator's work? Was it hard or easy?
How would you go about extending the analysis further?
If you notice a data error how easy would it be to re-create the analysis?
Your collaborator is no longer available?
Wizardry.
Alison Hill from R Markdown Anatomy
R Markdown can help generate:
It enables you to:
What is great about R Markdown documents is that they are fully reproducible and support many static and dynamic output formats, to name a few: PDF, HTML, MS Word, Beamer… You can incorporate narrative text and code of your data analysis to produce an elegantly formatted story telling journey.
It is a variant of Markdown that has embedded R code chunks (denoted by three back ticks), to be used with knitr to make it easy to create reproducible web-based reports.
R Markdown is a plain text file that has the extension .Rmd
To use R Markdown you will need to install the package from CRAN and load it with:
install.packages("rmarkdown", repos = "http://cran.us.r-project.org")
suppressPackageStartupMessages(library(rmarkdown))
Before we start learning about RMarkdown
let us do an exercise of RMarkdown appreciation 😇
Inside the data folder you will find the follwing csv
files:
Split into groups of three and discuss how would you produce a Word document or a PowerPoint presentation to present your finding for the following problem:
Open the exyu_olympic.csv
file in the Excel and try to:
We will work on this for the next 10 minutes. 🕟😬
We already have the R code that will provide the results for those questions. 👆😅
Open the RMarkdown4RR.Rproj
file. Once you get RStudio up and running for the given project click on the “R/script1.R” file and run it chunk by chunk. 👏👏👏
The question we have now is: Can we put this into a document or a presentation? 🤔 Of course we can, but we need to learn how to do it. 🤓
Task 1:
Open the file RMarkdown_Intro.Rmd
Change the title of the Markdown Document from My First Markdown Document
to RMarkdown Introduction
.
Click the “Knit” button to see the compiled version of your sample code.
Task 2: Let’s format this document further by
Changing the author of the document to your own name
Rewriting the first sentence of the document to say “This is my first R Markdown document.".
Recompiling the document so you can see your changes
You can turn a word into a link by surrounding it in hard brackets: [ ] and then placing the link behind it in parentheses: ( ), like this:
[RStudio](www.rstudio.com)
Task 3: Make GitHub in the following paragraph link to https://github.com/TanjaKec/RMarkdown4RR
To embed formatting instructions into your document using Markdown, you would surround text by:
one asterisk to make it italic: italic
two asterisks to make it bold: bold and
backticks to make it monospaced: monospaced
.
To make an ordered list you need to place each item on a new line after a number followed by a period followed by a space:
💡! Note that you need to place a blank line between the list and any paragraphs that come before it.
Task 4:
When analysing data,… The variables can be one of two broad types:
Attribute variable: has its outcomes described in terms of its characteristics or attributes;
Measured variable: has the resulting outcome expressed in numerical terms.
R
codeTo embed an R code chunk you would use three back ticks:
chunk of code
Task 5: Replace the cars
data set with the gapminder
data set. Don't forget to load the gapminder
package using library(gapminder)
.
If you haven't got the gapminder
package available in your system you will need to install it:
install.packages("gapminder")
.
R
codeYou can also embed plots by setting echo = FALSE
to the code chunk to
prevent printing of the R code that generates the plot:
chunk of code
Task 6: Replace the base boxplot of mpg
vs. cyl
by a ggplot
's boxplot to examine a relationship between continent
and lifeExp
(note that you can use some of the dplyr
functions!).
suppressPackageStartupMessages(library(dplyr))
library(ggplot2)
# ggplot boxplot
ggplot(gapminder, aes(x = continent, y = lifeExp)) +
geom_boxplot(outlier.colour = "hotpink") +
geom_jitter(position = position_jitter(width = 0.1, height = 0),
alpha = .2) +
labs (title= "Life Exp. vs. Continent",
x = "Continent", y = "Life Exp.") +
theme(legend.position = "none",
panel.border = element_rect(fill = NA,
colour = "black",
size = .75),
plot.title=element_text(hjust=0.5))
Finally, if you wish to add mathematical equations to your Markdown document you can easily embed LaTeX math equations into your report.
To display equation in its own line it needs to be surrounded by the double dollar symbol:
$$`
y = a + bx
$$`,
or to embed an equation in line within the text you would use only one dollar symbol: $y = a + bx$
.
Task 7: Display the equation in the Including Mathematical Equations paragraph into its own line.
Now you've got the basics of rmarkdown
we will move on to editing more sophisticated features of your dynamic document.
When creating an HTML document from R Markdown, you need to specify the HTML document output format in the YAML metadata of your document. You can learn more about it by checking this chapter of R Markdown: The Definitive Guide book.
Let us go through the next set of prepared .rmd
files in your RMarkdown4RR
project folder.
Do you remember our RMarkdown Appreciation exercise? 😃
There is a list of files you should open and knit to see what features are incorporated into the documents and to learn how it is done.
File 01_rmdApprec.Rmd
incorporates the R code given in R/script1.R
file. Open this Rmd
file and check its metadata. Try to play around with the document's layout by changing some of the features, such as the table of contents (TOC) using the toc option or theme (for more available themes you can use see the blog post r-markdown-theme-gallery.
File 02_rmdApprec.Rmd
enables you to create scientific and technical writing, native to the web by using Distill Basics template. For more see https://rstudio.github.io/distill/basics.html.
File 03_rmdApprec.Rmd
shows you how to add a static image file to your document. You should check the following blog post Tips and tricks for working with images and figures in R Markdown documents by Zev Ross.
File 04_rmdApprec.Rmd
illustrates happy collaboration with Rmd to docx.
File 05_rmdApprec.Rmd
shows how to put your work into a slide show.
File 06_rmdApprec.Rmd
is a slide show you can upload on Rstudio's RPubs server for sharing documents on the web.
Install the rticles
package to get all of the available rmd
templates for various paper articles.
R is a powerful tool for reproducible research. There are many other packages that you could also use for sharing your work. Creating Shiny application using the R::Shiny package is a nice way of engaging with the audience while sharing your work. Here is an example of a reproducible research of the problem used in the Resampling in the Undergraduate Statistics Curriculum paper:
https://tatjanakec.shinyapps.io/permutation_bootstrap/
Reproducible research should not be a burden for anybody who takes their research seriously. If nothing else, the good habits of reproducibility may actually turn out to be a time-saver in the longer run for any research practitioner.
Easy to use
Making a mistake is not ‘the end of the world’
Allows you to keep a history of changes to your project through which it is easy to navigate
Takes up minimal space
Backup of your project
No need for a server: easy to set up
GitHub's strong community: your colleagues are probably already there
Provides tools to help enhance collaboration
A common location to share your work
We'll go through the basic steps of connecting RStudio with your GitHub account, but for more detailed instructions you shoul check Happy Git dwith R.
We are going to assume you are already familiar with and have done:
☑ Capter 5: Registerh a GitHub account
☑ Chapter 6: Install or upgrade R and RStudio
Give it a meaningful name
Copy repo's HTTPS address
Open a new project in RStudio: File ➡ New Project…
Select Version Control ➡ Git
Paste the address of your Git repo
and check the box for Open in new session
before you hit Create Project
bthe utton.
You're ready to go! 😃
You would definitely find the following useful:
© 2020 Tatjana Kecojevic


Golby, Richard
| Birth Name | Golby, Richard |
| Gender | male |
| Age at Death | unknown |
Narrative
1881 Census Page 10, #3 Court St, St Margarets, Humberstone Gate, Leicestershire.
Richard Golby - head 25 - Clicker - born Adderbury, Oxfordshire
Emma Golby - wife 23 - Machinist Nottingham
Ernest Golby - son 1 - Infant Leicester
Shipping Records - Mr. & Mrs. Golby - & children, arrived Sydney on "Warrego" in June, 1884.
Electoral Rolls - Subdivision of Rockdale, 1925.
Golby, Richard - 1 Market St, Rockdale, Office Cleaner.
Golby, Emmeline, " " " Home Duties.
Golby, Charles Henry, 99 Villiers St, " Dentist.
Golby, Ethel Jane, " " " " Home Duties.
Golby, Reginald Charles Thornton, " " " Salesman.
SMH - Funeral - GOLBY - The Relatives & Friends of Mr & Mrs Reginald Golby & son, of Hazelbrook, Nancy, Richard, & Valerie of Rockdale, & the Misses Vera & Winifred Golby, of Hurstville, are kindly invited to attend the Funeral of their dearly beloved Grandfather & Great Grandfather, Richard Golby; to leave the Church of Christ, Bryant St, Rockdale, this Wednesday 18 Oct 1934, after a service to commence at 1.30pm for the Baptist Cemetery, Woronora, by road. (VV 22)
Events
| Event | Date | Place | Description | Sources |
|---|---|---|---|---|
| Birth | 2nd Qtr 1856 | Adderbury Oxfordshire Eng (3a 630) | ||
|
|
||||
| Death | 1934-10-16 | Kogarah NSW #22800 (79yrs) | ||
|
|
||||
| Burial | 1934-10-18 | Rockdale Church of Christ to Woronora Baptist Cem. Sec VV 22 | ||
|
|
Parents
| Relation to main person | Name | Birth date | Death date | Relation within this family (if not by birth) |
|---|---|---|---|---|
| Father | Golby, [Living] | |||
| Golby, Richard | 2nd Qtr 1856 | 1934-10-16 |
Families
Family of Golby, Richard and Widnall, Emmaline |
||||||||||||||||
| Married | Wife | Widnall, Emmaline ( * about 1857 + 1946-12-09 ) | ||||||||||||||
|
||||||||||||||||
| Narrative |
I have a copy of a Golder Wedding in SMH - GOLBY - WIDNALL - July 22, 1876, at Christ Church, Sherwood Street, Nottingham, England, by Thomas Dixon, RICHARD, only son of the late John and Judith Golby, of Oxford, England; to EMMELINE, second daughter of the late Charles & Fanny Widnall of Nottingham, England. Present address, 1 Market St, Rockdale. Nottingham papers please copy. |
|||||||||||||||
| Children |
| Name | Birth Date | Death Date |
|---|---|---|
| Golby, Charles Henry | 1876-12-31 | 1963-08-22 |
| Golby, Ernest Osborn | 1879-11-22 | 1950-09-15 |
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | AD05FB65E5C4D5119853B7EB0FA9CA6D1D27 |
Attributes
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | C505FB65E5C4D5119853B7EB0FA9CA6D35A7 |
Pedigree
-
Golby, [Living]
- Golby, Richard


Leveraging ICT
Using mobile phones to collect data often leads to more efficient processing times and informed decision-making. Additionally, it presents new opportunities to deploy surveys remotely while providing results in real-time.
Surveying made Easy
Ms. Flavia Ouma, Senior IT Officer of Uganda Bureau of Statistics (UBOS) demonstrating the uSurvey application to a field worker during the field testing of the system for Female Genital
Use of uSurvey in Uganda
Maiden use of the system in early 2016 enabled UNICEF and UBOS to obtain real-time data from 4,500 respondents, allowing for a presentation of preliminary results just three days after the fieldwork was completed with significant cost and time savings
Business Advantages of uSurvey
Generic system that can be used for any survey or census with defined parameters during survey set-up (uSurvey has a bank of standard questions that can be added to)


President Muhammadu Buhari on Monday met with the Bayelsa State Governor-elect, David Lyon at the Presidential Villa, Abuja.
Lyon was accompanied to the Villa by the Chairman All Progressives Congress (APC) governorship campaign and Jigawa State Governor, Abubakar Badaru, Governor of Kebbi State, Atiku Bagudu and the Minister of State for Petroleum, Timipre Sylva


Redirecting the Browser¶
Redirecting the browser is common in today’s sites. For example, during form submissions, web applications often redirect the browser to the same page after a form submission (and handling with a view)–effectively switching the browser from its current POST to a regular GET. If the user hits the refresh button within his or her browser, the page simply gets refreshed without the form being submitted again. It prevents users from being confused when the browser opens a popup asking if the post data should be submitted again.
DMP provides four exceptions that redirect processing from anywhere in your codebase:
RedirectException
: Stops request processing and returns an HTTP 302 (temporary redirect) to the browser.PermanentRedirectException
: Stops request processing and returns an HTTP 301 (permanent redirect) to the browser.JavascriptRedirectException
: Stops request processing and returns a script-based redirect (<script>window.location.href="...";</script>
). This is useful for times when a normal 302 doesn’t work right, such as redirecting the overall browser during ajax calls.InternalRedirectException
: Restarts the request internally with a new view function. This is the fastest way to redirect because it doesn’t round trip back to the browser. In fact, the browser doesn’t even know about the redirect, and the browser url does not change. The redirect happens directly within DMP’s router.
Why not use Django’s HttpResponseRedirect?¶
Please do! django.http.HttpResponseRedirect
should be your primary method of redirection.
Then what’s the point? It’s a difference in object type: Django’s redirects are HttpResponses, while DMP’s are Exceptions. In short, DMP’s redirects are more versatile because they can be raised anywhere in your code. Django’s redirects can only be returned from view functions.
When you raise one of the redirect exceptions, the exception bubbles up and is caught by the DMP router. DMP then converts the exception into the appropriate HttpResponse
and returns to the browser.
Isn’t this an abuse of exceptions? In the Python world, it’s common to direct program flow using exceptions: StopIteration is a great example. Just be judicious and don’t overuse the priviledge.
Examples¶
from django_mako_plus import RedirectException, PermanentRedirectException, JavascriptRedirectException, InternalRedirectException
# raise a normal redirect from anywhere in your code
raise RedirectException('/some/new/url')
# raise a permanent redirect from anywhere in your code
raise PermanentRedirectException('/some/new/url')
# raise a Javascript-based redirect from anywhere in your code
raise JavascriptRedirectException('/some/new/url')
# restart the routing process with a new view without returning to the browser.
# the browser keeps the same url and doesn't know a redirect has happened.
# the request.dmp.module and request.dmp.function variables are updated
# to reflect the new values, but all other variables, such as request.dmp.urlparams,
# request.GET, and request.POST remain the same as before.
# the next line is as if the browser went to /homepage/upgrade/
raise InternalRedirectException('homepage.views.upgrade', 'process_request')
DMP adds a custom header, Redirect-Exception
, to all exception-based redirects. Although you’ll probably ignore this most of the time, the header allows you to further act on exception redirects in response middleware, your web server, or calling Javascript code.


Hi everyone,
I'm new to this site so please bear with me while I ramble on- there will be some serious but simple questions at the end.
My PV array is nominally 4kW wired as per Type 1
I am using a Eco-Eye PV system for monitoring purposes. I had this before I came across this site. It is ok for monitoring & data purposes, was quickly set up & worked straight away out of the box.
However like most people I want to start using all the electricity I generate & not export it to the grid.
Hence I am now looking to build a mk2 solar diverter. I am currently assembling a emonTx shield - I have been messing around with arduinos for the last couple of months so have a couple lying about so it seems appropriate to use the shield. I wish to produce a diverter which will control both a local & remote load.
Obviously a lot of development & improvement has gone on over the last months & years resulting in many different versions of software & sketches.
For someone joining the forum at this stage, the vast number of threads (discussing various versions of anti-flicker & interrupt based sketches for instance) is somewhat bewildering- some of these have up to 217 replies!!. I am slowly getting to understand more & more but would just like to clarify a few simple points:-
1) Do I need a voltage measurement - says on main solar PV page that this is not required for Type 1 installation - however most of the systems used for solar PV diverters seem to have one. I believe the voltage measurement is used within the sketch for calculation purposes.
2) I only need 2 current sensor inputs so can I leave off the other 2 sockets & associated resistors etc. from the emonTx shield?
3) As I am using emon Tx shield it says I need to modify sketch slightly to accommodate "The different input configuration" - where do I find these corrections ? - there only seems to be one version of each sketch published - s
3) there seem to have been many different updates & improvements in the software over the last few months. I presume the latest suitable for my needs is Mk2i_PV_Router_rev5b.ino
4) How do I get hold of the triac pcb's / kits? I have tried to pm Richmc a couple of times but had no reply. Is he away at present?
5) Instead of a local & remote load could I just have 2 remote loads? My nearest " local" load is a long way away from the emonTx & fuse board, can I just link it using rfm12B like the remote load?
6) Is it possible to control multiple loads yet?
Thanks for taking the time to answer these simple questions, they will clarify a few matters for me.
Re: Newbie needs answers to some simple questions on PV Diverter
1. Yes, voltage measurement is necessary to know the direction of power flow, because the power is measured at the grid connection where the direction reverses. See here. Type 1 measures the current where the power flow direction is known (actually not true, it gives wrong answers because the inverter consumes a small amount of power when idle!)
2. Yes, they are redundant. But maybe not in the future, but it should be easy enough to add them later if required.
3.1. It's a simple matter of the designation of the various inputs. On the Shield, the voltage input is AI 0 and the c.t's are AI 1-4 in order. So all you need to change are the values for voltageSensorPin and currentSensorPin. But depending on whether and how many LEDs you have, you might have to change those as well!
3.2. As far as I know, all the versions do the same basic job, both Robin's (calypso_rae) and MartinR's. Robin's though have the remote load already included.
4. The last we heard, Richmc was poorly and in hospital, but hoping to fulfil orders when he's sufficiently recovered. It's possible, but not so neat, to build the controller without his kit. You can use the standard Shield and AC Adapter for the controller itself. Alternatively (and I appreciate you've already bought an emonTx Shield), for the remote load switches you could use the emonTx itself with a strip-board sub-assembly for the opto-trigger and triac.
5. I don't see why not (though Robin may well chip in with his thoughts).
6. In principle, again I don't see why not, but deciding your control algorithm and trimming it to operate within the various constraints could be trickier as the number of loads increases.
Re: Newbie needs answers to some simple questions on PV Diverter
Hi Alan, delighted to hear you're intending to build a Mk2 Router. All versions of the code will run on the same hardware so you may be best to start with a simple one such as Mk2_PV_Router_mini_3.ino. It will heat your water just as well as any of the more complex later versions, and will be much easier to understand. Looking quickly through your list:
1. Yes, you will indeed need to measure AC voltage, it's right at the core of the Mk2 Diverter's logic.
2. You will only need to populate one of the current sensors. Any of them will do, you can then amend the pin allocation in the sketch to match. On the emonTx, AIO1 corresponds with CT3. On the emonTx Shield, I believe that AIO 1 is CT1. But do please check in the OEM documentation for the Shield which I've never used.
3. All of my Mk2 sketches are intended for an Arduino, but they run just as well on an emonTx. When using the Shield, the only lines that you may need to change are for the pin allocations for the voltage and current sensor. But only one character on each line, so no worries!
4. The last we heard of Rich was that he was unwell, we wish him a speedy return. To build a basic Mk2 rig, you shouldn't need his front-end PCB because all the necessary circuits are on the shield. Instructions for making the output stage using stripboard are available in Section 8 of the online guide. Triacs and triggers etc are readily available from Spiratronix. If you'd like a working strip-board version with triac etc, send me a PM, I have a few spare here. If you were to become my first heatsink customer, I'll throw in an output stage for free!
5. The rev5 version of Mk2i can control any number of loads, I just happen to have configured one of them to operate via an RF link. Operating two loads via RJ45 cable or similar is no problem; operating two loads independantly via RF would take a bit more thought. If required, it should be easy enough to include a loadNumber field in the RF payload. Each message could then be processed by the intended load . Then there would be no need to change any of the Node Id fields etc.
6. rev5 has always been able to control multiple loads, the only limitation is the number of pins on the processor. This logic can be seen working in my FlickerDemoMultiload_2 sketch
Hope this helps.
PS. At risk of repetition, do please make use of the basic tools at the top of my Summary Page. Running MinMaxAndRangeChecker.ino and RawSamplesTool_4ss_2.ino will confirm the state of your new hardware in just a few minutes. If all is not well, you save a lot of time/effort by fixing any basic problems at this early stage. Posted results from these tools should be relatively straightforward to diagnose.
Re: Newbie needs answers to some simple questions on PV Diverter
Cheers Robert, you obviously type faster than me :)
Re: Newbie needs answers to some simple questions on PV Diverter
Thanks for your help Robin & Robert.
just a couple of questions arising from your answers.
2) "You will only need to populate one of the current sensors" - does this mean I only need one current sensor?
Both type 1 & 2 show two current sensors.
Where is this sensor placed? Is it between utility meter & junction box?
Re: Newbie needs answers to some simple questions on PV Diverter
But you're not making a monitor! You need 2 c.t's when you want to know separately the imported power, the generated power and the consumed power (or energies of course). You have your other system for that. If you are only controlling the dump load, then you need only one c.t. that measures the nett power flow in the connection to your supply, so the c.t. goes on the supply side of the point where the PV feeds in. On the main meter tail is probably the convenient place.
Re: Newbie needs answers to some simple questions on PV Diverter
Agreed. A Mk2 diverter needs one voltage sensor, and one CT which needs to go next to your supply meter. During periods of surplus power, the Mk2's logic can then stay one step ahead of your meter so that no surplus power is lost, nor are you charged for any diverted energy.
Re: Newbie needs answers to some simple questions on PV Diverter
Are we measuring current on live or neutral line?
Re: Newbie needs answers to some simple questions on PV Diverter
The names of the conductors are LINE and NEUTRAL, both are "live" when connected to the supply. Please yourself which you use; if they are not carrying the same current, there is something seriously wrong with your installation. You might get slightly more voltage pickup ( = unwanted interference) onto the analogue input with the c.t. on the line, so if there's a choice the neutral might give less inaccuracies at very low or no currents. Normally, I wouldn't expect you to be able to find any difference.


Zooming with grid of overlays
Zooming with panzoom.js
Hiding parts of vimeo video and zooming with zoom.js


{% extends "common/base.html" %} {% block title %}
Description goes here.... The Pioneer Array is a network of platforms and sensors operating on the continental shelf and slope south of New England. A moored array will be centered at the shelf break in the mid-Atlantic Bight south of Cape Cod, Massachusetts. Autonomous underwater vehicles (AUVs) will sample the frontal region in the vicinity of the moored array, and gliders will resolve mesoscale features on the outer shelf and the slope sea between the shelf break front and the Gulf Stream.
The first phase of the Pioneer Array deployment took place in November 2013, with the installation of three moorings – a surface mooring at the central site, a profiler mooring at the upstream inshore site and a profiler mooring at the upstream offshore site. In April 2014, during the second deployment phase, five Wire-Following Profile Moorings were deployed at the Pioneer Array with three gliders. The third and final deployment phase is scheduled for Fall 2014.


{% load staticfiles %}
CASdesigner - Results
Assembly complete!
Check out the
manual
to learn how to interpret these results.
{{ rendered|safe }}


The pain you feel today will be the strength you feel tomorrow. The pain you feel today will be the strength you feel tomorrow.


It’s been an intense week of teaching, church band practice, and Google Apps Scripting. I’m really focusing this year on using the computer to do what it does well so I can focus on doing my job better. In particular, I’m using the desktop to do repetitive, marginal jobs as efficiently as possible.
This week, I’ve got two new tools in my belt to help out.
I happen to have a higher number of ESL students this year, some of whom are brand new to the country. Besides feeling more and more awkward about only speaking one language myself, I needed to find a way to help them with the language barrier.
After speaking with our ESL specialist, she gave the okay for me to print Spanish on the back of my English notes pages. (I was concerned about creating crutches, but she assured me that it would be more helpful than harmful in the long run. I need to learn Spanish.) Taking my notes, one by one, and putting them through Google Translate would have taken way too much time. So, I turned to a script.
// This function converts a document from English to Spanish quickly.
// The post from http://stackoverflow.com/questions/25509159/how-i-can-get-the-textwrap-image-in-google-doc/25509591#25509591
// was helpful for creating the logic to check for images in the document.
function translate() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
// Add a page break for the translated material.
body.appendPageBreak();
// Get the number of elements in the document
var elements = body.getNumChildren();
// Use the number to loop through each element in the document.
for( var i=0;i<elements;i++) {
var element = body.getChild(i).copy();
var type = element.getType();
// Test each type for a child element and run script based on the result
// Images are nested in a paragraph as a child, so the second `if` makes
// sure there is no image present before moving to the next paragraph.
if( type == DocumentApp.ElementType.PARAGRAPH ){
if(element.asParagraph().getNumChildren() !== 0 && element.asParagraph().getChild(0).getType() == DocumentApp.ElementType.INLINE_IMAGE) {
var img = element.asParagraph().getChild(0).asInlineImage().getBlob();
body.appendImage(img);
} else if(element.asParagraph().getNumChildren() !== 0 && element.asParagraph().getChild(0).getType() == DocumentApp.ElementType.INLINE_DRAWING) {
var drawing = element.asParagraph().copy();
body.appendParagraph(drawing);
} else {
var text = element.asParagraph().getText();
var spn = LanguageApp.translate(text, 'en', 'es');
body.appendParagraph(spn);
} // end the paragraph loop for child elements.
// Tables are top-level, so they get their own statement outside the
// paragraph loop above.
} else if(type == DocumentApp.ElementType.TABLE) {
element.asTable().copy();
body.appendTable(element);
} else if(type == DocumentApp.ElementType.LIST_ITEM) {
var list = element.asListItem().getText();
body.appendListItem(LanguageApp.translate(list, 'en', 'es'));
}
}
}
This script is still a little incomplete, but it does the trick. You can read through the code to see what exactly each section does. I’m probably going to turn this into a Doc Add-On in the future, but that’s a little fuzzy right now because I can’t imagine when I’ll have the time to do that at this point. Some things to pay attention to:
I had a fluent Spanish reader check the grammar (Google Translate can be notorious for some weird translations at times) and he gave it a thumbs up, so take that how you will.
Whiteboarding is a big part of this year in class. I want students investigating, collecting information, manipulating it, and building an argument. A lot of times, class ends before they have a chance to get clean work on paper. I needed a way for them to send photos of their work in at the close of class.
Of course, email is out. I guess that makes me old now.
We’re barely scratching the surface of Google Apps for Education at school – teachers are starting training this semester and student’s haven’t had their accounts opened up yet, so sharing back and forth isn’t really possible yet.
Some Googling turned up a great alternative, still using Google Apps, to create a public dropbox with scripts. In 20 minutes of finnagling, I had a working dropbox page which allowed students to submit things straight to my Drive with three taps. I’ve modified mine slightly from the blog post linked above. Unlike the translate function, this one requires two files.

Student Work Submission

<form id="myForm">
<input type="text" name="myName" placeholder="Your name.." />
<select name="classPer">
<option>P1</option>
<option>P2</option>
<option>P3</option>
<option>P4</option>
<option>P6</option>
<option>P7</option>
</select>
<input type="file" name="myFile" />
<input type="submit" value="Upload File"
onclick="this.value='Uploading..';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;" />
</form>

/*
This is based on the template shared by Amit Agarwal (@labnol) on
the blog, Digital Inspiration. The original post with instructions:
http://www.labnol.org/internet/receive-files-in-google-drive/19697/
*/
// Find the form that is collecting the information to upload.
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
function uploadFiles(form) {
// Check for a folder called "Student Files" in Drive. If it's not there,
// create one.
try {
var dropbox = "Student Files";
var folder, folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(dropbox);
}
// Once the folder is found, create the new file
// The file is named by attaching the Period Number to the Student Name.
var blob = form.myFile;
var file = folder.createFile(blob);
file.setName(form.classPer + form.myName);
// Display a success message to the user.
return "File uploaded successfully. You can now close this window.";
// If it fails, display the error message.
} catch (error) {
return error.toString();
}
}
Those blocks of code turn into this:
Pretty easy to figure out what to do.
If you’re interested in using either of these scripts, let me know on Twitter – @bennettscience and I can help you get them set up. Like I already mentioned, I think the translate function would work well as an Add-On, and if I get there, I’ll write another post with instructions on how to get it.
More on the scripting I’ve been doing lately…
Leave a comment


Rendering¶
Most of these Classes have cdefed functions that cannot be read by Sphinx. Read the source if you want to find out more about using them.
VBOs¶
-
class
kivent_core.rendering.fixedvbo.
FixedVBO
¶ This is a VBO that has a fixed size for the amount of vertex data. While the MemoryBlock will hold a fixed amount of data, it is possible we will upload a different amount of data per-frame to GL. This allows us to render up to the maximum amount that will fill MemoryBlock without having to reallocate memory on the cpu side of things.
- Attributes: (Cython Access Only)
memory_block (MemoryBlock): MemoryBlock holding the data for this VBO.
usage (int): The usage hint for this VBO, currently only GL_STREAM_DRAW is supported. Pass in ‘stream’ when initializing. Any other argument will raise VBOUsageException.
target (int): The target of the buffer when binding. Can be either GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER at the moment. When initializing pass in either ‘array’ or ‘elements’ respectively. Any other argument with raise a VBOTargetException
flags (short): State used by Kivy during rendering.
id (GLuint): The id assigned by GL for this buffer. Returned from glGenBuffers.
size_last_frame (unsigned int): The number of elements rendered during the last frame. Used to determine whether we should glBufferData or glBufferSubData when updating the vbo.
data_size (unsigned int): The amount of data to be rendered next frame.
vertex_format (KEVertexFormat): The object containing data about the vertex format for this VBO.
Models¶
-
class
kivent_core.rendering.model.
VertexModel
¶ A VertexModel allows you to interact with arbitrary structs with GL types. A Model is made up of 2 main parts, the vertex data associated with each vertex in the model, and the indices describing how those vertices are related. For instance a sprite would be represented as a 4 vertex quad, with indices: [0, 1, 2, 2, 3, 0]
The quad is constructed out of 2 triangle faces, the triangle reprsented by vertices 0, 1, 2, and the triangle represented by 2, 3, 0, this looks like:
A Vertex can hold arbitrary data, but it will typically hold its x, y position on the screen at the very least, and very often the u,v position mapping texture coordinates to the geometric.
A vertex of the model can be accessed by indexing into the object
vertex_model = VertexModel(4, 6, format_config, index_buffer, vertex_buffer, 'my_model_name') vertex = vertex_model[0]
This will retrieve a Vertex object that can manipulate the data of the specified vertex. You should be careful about holding onto the vertex objects as if you either adjust the index_count or vertex_count the location in memory WILL change, and the old objects will not manipulate the correct data. In addition it is possible for a VertexModel to be GC’d while you keep a Vertex alive, also resulting into the Vertex manipulating the wrong data.
You can change the size of either the index or vertex data on a model, but you cannot change its FormatConfig. If you need to change a model’s vertex format, you should instead create a new model. If you change a model, you should first unbatch all entities that are using that model and then rebatch them after changes have been completed. If your model is only used by a single entity, the RenderComponent properties will assist in doing this.
[Add Note about model entity tracking when implemented]
Attributes:
- Attributes: (Cython Access Only)
vertices_block (MemoryBlock): The MemoryBlock holding the vertex data for this model.
indices_block (MemoryBlock): The MemoryBlock holding the indices data for this model.
index_buffer (Buffer): The Buffer from which we will actually allocate the indices_block. Used when index_count changes.
vertex_buffer (Buffer): The Buffer from which we will actually allocate the vertices_block. Used when vertex_count changes.
- Attributes:
index_count (unsigned int): The number of indices in your model. Unbatch any active entities before setting and rebatch afterwards.
vertex_count (unsigned int): The number of vertices in your model. Unbatch any active entities before setting and rebatch afterwards.
name (str): The name of this model, as kept track of by the ModelManager.
format_config (FormatConfig): The vertex format for this model. Will be set on creation and should not be changed.
vertices (list): Returns a list of Vertex objects for every vertex in the model. Be careful about keeping the results around. You need to retrieve a new copy of the list if you for instance change vertex_count. You can supply a dict of key: index of vertex, value dict of attribute, value pairs in order to set all vertices at once.
For instance:
model.vertices = { 1: {'pos': (-5., -5.), uvs: (0., 0.)}, 2: {'pos': (-5., 5.), uvs: (0., 1.)}, 3: {'pos': (5., 5.), uvs: (1., 1.)}, 4: {'pos': (5., -5.), uvs: (1., 0.)}, }
indices (list): Returns a list of unsigned shorts specifying the indices for this model. This is a copy of the actual data, do not manipulate the returned list directly instead:
vertex_model.indices = [new index data]
-
add_all_vertex_attribute
(self, str attribute_name, value)¶ Adds value to the specified attribute of all vertices. More optimized than doing the same thing on the list provided by vertices as only one Vertex will be made and its pointer shifted.
- Args:
attribute_name (str): The name of the attribute we will be modifying.
value (any): The value or values to set the attributes of each vertex to. If the attribute is an array, you can either provide a separate value for each place or one value that will be added to all places.
-
center_model
(self)¶ Centers the models vertices around (0, 0). Only works if the vertex format has a pos method.
-
copy_vertex_model
(self, VertexModel to_copy)¶ Copies all the data from the provided VertexModel to this one. Will possibly change vertex_count and index_count so make sure to unbatch and rebatch any Entity referencing this model before and after calling copy_vertex_model. If you know the models have the same counts you do not need to do so.
- Args:
- to_copy (VertexModel): The model to copy.
-
flip_textured_rectangle_horizontally
(self)¶ Flip the texture of the quad horizontally Will assume your using a textured quad model. Will assume your vertex format have a ‘pos’ and ‘uvs’ array of size 2.
Do not use if your model is not a textured quad.
-
flip_textured_rectangle_vertically
(self)¶ Flip the texture of the quad horizontally Will assume your using a textured quad model. Will assume your vertex format have a ‘pos’ and ‘uvs’ array of size 2.
Do not use if your model is not a textured quad.
-
free_memory
(self)¶ Frees the allocated memory. Do not use the VertexModel after free_memory has been called. Typically called internally by the ModelManager.
-
mult_all_vertex_attribute
(self, str attribute_name, value)¶ Mulitplies value to the specified attribute of all vertices. More optimized than doing the same thing on the list provided by vertices as only one Vertex will be made and its pointer shifted.
- Args:
attribute_name (str): The name of the attribute we will be modifying.
value (any): The value or values to set the attributes of each vertex to. If the attribute is an array, you can either provide a separate value for each place or one value that will be mulitplied to all places.
-
set_all_vertex_attribute
(self, str attribute_name, value)¶ Sets all vertices attribute to the provided value. More optimized than doing the same thing on the list provided by vertices as only one Vertex will be made and its pointer shifted.
- Args:
attribute_name (str): The name of the attribute we will be modifying.
value (any): The value or values to set the attributes of each vertex to.
-
set_textured_rectangle
(self, float width, float height, list uvs)¶ Prepare a 4 vertex_count, 6 index_count textured quad (sprite) of size: width x height. Normally called internally when creating sprites. Will assume your vertex format have a ‘pos’ and ‘uvs’ array of size 2.
- Args:
width (float): Width of the quad.
height (float): Height of the quad
uvs (list): Should be a list of 4 values representing the uv texture coordinates of the quad. For a texture that took up the whole size of the image this will be [0., 0., 1., 1.]. uv coordinates are normalized inside their texture.
-
class
kivent_core.rendering.model.
Vertex
¶ The Vertex class allows you to interface with the underlying C structs representing a VertexModel’s vertices from Python. It does this by automatically wrapping the struct based on data from kivent_core.rendering.vertex_formats.
You will not create a Vertex manually, instead it will typically be returned from indexing into a VertexModel. For instance:
vertex = instance_of_VertexModel[0] #retrieve the first vertex pos = vertex.pos #retrieve data from a vertex vertex.pos = [1., 2.] #set data
The attributes for a Vertex will depend on the actual vertex format of the model. See the documentation for kivent_core.rendering.vertex_formats.VertexFormatRegister for more information.
Keep in mind: When getting data from a Vertex you are retrieving a copy of that data. Not the original, modifying the returned list will not affect the underlying data, instead you must call set.
Vertex Formats¶
-
class
kivent_core.rendering.vertex_format.
KEVertexFormat
(size_in_bytes, *fmt)¶ VertexFormat is used to describe the layout of the vertex data stored in vertex arrays/vbo’s. It differs from the Kivy VertexFormat by tracking the offsets of the individual attributes so that you can interleave non-homogenous data types.
- Supported attribute types are:
- ‘float’: GLfloat ‘byte’: GLbyte ‘ubyte’: GLubyte ‘int’: GLint ‘uint’: GLuint ‘short’: GLshort ‘ushort’: GLushort
- Attributes: (Cython Access Only)
- attr_offsets (Py_ssize_t*): Pointer to the array containing the offsets for each attribute of the VertexFormat. Separate from the rest of the data to maintain compatibility with the Kivy VertexFormat.
Frame Objects¶
-
class
kivent_core.rendering.frame_objects.
FixedFrameData
¶ The FixedFrameData manages 2 FixedVBO, suitable for rendering using the GL_TRIANGLES mode. One FixedVBO will hold the indices data and the other the actual vertex data.
- Attributes: (Cython Access Only)
index_vbo (FixedVBO): The FixedVBO holding indices data. Will have the target: GL_ELEMENTS_ARRAY_BUFFER.
vertex_vbo (FixedVBO): The FixedVBO holding vertex data. Will have the target: GL_ARRAY_BUFFER.
Batching¶
-
class
kivent_core.rendering.batching.
IndexedBatch
¶ The IndexedBatch represents a collection of FixedFrameData vbos, suitable for rendering using GL_TRIANGLES mode. Data will be split into both an indices VBO and a vertices VBO, and explicit multibuffering will be performed. Drawing will be performed by calling glDrawElements. Each frame the FixedFrameData at position current_frame % frame_count in the frame_data list will be used for rendering.
Attributes: (Cython Access Only)
frame_data (list): List of FixedFrameData objects for this batch.
current_frame (unsigned int): Every frame rendered (calling draw_frame) will increment this by 1.
frame_count (unsigned int): Number of FixedFrameData objects in the frame_data list. The number of buffers to use.
tex_key (unsigned int): Identifier for the texture resource that will be used when drawing the entities in this batch. All entities must share the same texture.
batch_id (unsigned int): The identifier for this batch, will be set by the BatchManager controlling this batch. Defaults to <unsigned int>-1.
mode (GLuint): The drawing mode for this batch. Will be one of GL_TRIANGLES, GL_LINES, GL_POINTS, GL_TRIANGLE_FAN, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLE_STRIP.
mesh_instruction (object): Reference to the actual instruction that will be added to the canvas of the parent renderer.
entity_components (ComponentPointerAggregator): Helper object for retrieving pointers to the components of entities added to this batch.
-
class
kivent_core.rendering.batching.
BatchManager
¶ The BatchManager is responsible for managing a fixed amount of IndexedBatch to render more entities than will fit in a single IndexedBatch. It handles appropriate creation and reusing of these batches for you, and typically you will only care about batch_entity and unbatch_entity functions. All entities drawn by BatchManager must share the same KEVertexFormat, however they can have different textures.
Keep in mind that each texture used will require a different batch so you should be careful not to use too many textures as the maximum amount of textures that can be used is the max_batches, and then we will be unable to render more than one batch worth of vertices per texture. This means you should try to combine textures into a single atlas as often as possible.
Note at the moment only GL_TRIANGLES drawing mode is supported.
Attributes: (Cython Access Only)
batch_block (MemoryBlock): The MemoryBlock reserved for holding vertex data of the IndexedBatch.
indices_block (MemoryBlock): The MemoryBlock reserved for holding indices data of the IndexedBatch.
batches (list): A list containing the active IndexedBatch objects.
free_batches (list): A list containing any currently unused batches waiting to be reused.
batch_groups (dict): Grouping of batches that share the same texture.
gameworld (object): Reference to the active gameworld, used when creating ComponentPointerAggregator to make iterating an IndexedBatch easier when rendering.
batch_count (unsigned int): The number of active batches either in use or waiting in the free list for reuse.
max_batches (unsigned int): The maximum number of batches that can be used.
frame_count (unsigned int): The number of frames that will be multibuffered for each IndexedBatch.
slots_per_block (unsigned int): The number of vertices held in each IndexedBatch.
index_slots_per_block (unsigned int): The number of indices held in each IndexedBatch. Note: OpenGL ES2 have a limit of 65,535
vbo_size_in_kb (unsigned int): The size of the batch VBO in kibibytes.
mode_str (str): The human readable mode of the rendering. Can be ‘triangles’, ‘points’, ‘line_strip’, ‘line_loop’, ‘lines’, ‘triangle_strip’, or ‘triangle_fan’.
mode (GLuint): The GL translation of the mode_str. Will be either GL_TRIANGLES, GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, or GL_TRIANGLE_FAN.
vertex_format (KEVertexFormat): The KEVertexFormat containing information for binding the format of the vertices during rendering.
canvas (object): The canvas of the parent GameSystem that all batches will be drawn to.
system_names (list): List of the system_names that we should write pointers to in the ComponentPointerAggregator for rendering.
master_buffer (Buffer): The Buffer from which all memory will be allocated.
ent_per_batch (unsigned int): An estimation of the number of entities that will fit in each batch. The ComponentPointerAggregator will be this size per batch. Created during initialization by dividing the slots_per_block by the smallest_vertex_count init arg.


|
|
| null_event_manager (sprockit::sim_parameters *params, parallel_runtime *rt) |
| |
|
void | schedule (timestamp start_time, uint32_t seqnum, event_queue_entry *event_queue_entry) |
| |
|
void | cancel_all_messages (device_id canceled_loc) |
| |
| void | clear (timestamp time) |
| |
| void | run () |
| |
|
bool | empty () const |
| |
|
bool | is_complete () |
| |
|
virtual | ~event_manager () |
| | Goodbye.
|
| |
|
timestamp | now () const |
| |
|
void | register_stat (stat_collector *stat, stat_descr_t *descr) |
| |
|
stat_collector * | register_thread_unique_stat (stat_collector *stat, stat_descr_t *descr) |
| |
|
partition * | topology_partition () const |
| |
|
parallel_runtime * | runtime () const |
| |
|
void | finish_stats () |
| |
|
void | stop () |
| |
| int | me () const |
| |
| int | worker_id () const |
| |
|
int | nproc () const |
| |
|
int | nworker () const |
| |
|
virtual void | ipc_schedule (timestamp t, device_id dst, device_id src, uint32_t seqnum, event *ev) |
| |
|
virtual void | multithread_schedule (int srcthread, int dstthread, uint32_t seqnum, event_queue_entry *ev) |
| |
|
virtual int | lpid () const |
| |
|
int | thread_id () const |
| |
|
int | nthread () const |
| |
|
virtual event_manager * | ev_man_for_thread (int thread_id) const |
| |
|
virtual void | set_interconnect (hw::interconnect *interconn) |
| |
|
virtual void | schedule_stop (timestamp until) |
| |
| void sstmac::null_event_manager::clear |
( |
timestamp |
zero_time | ) |
|
|
inlinevirtual |
Clear all events and set time back to a zero of your choice. This call shall not be permitted while the event manager is running.
Implements sstmac::event_manager.
| void sstmac::null_event_manager::run |
( |
| ) |
|
|
inlinevirtual |
Run the eventmanager. The eventmanager shall return control when no more messages remain.
Implements sstmac::event_manager.
The documentation for this class was generated from the following file:


Search
Share this map
Enter buffer distance (feet):
*
Who do you want to Notify?
*
Property Owners
Property Occupants
Download Avery labels in PDF format
Download in CSV format
Download
OK


Cutting-edge, innovative, classic, wacky, tacky, experimental - you name it! Soho has it all and here at the Art Hub we try to expose you to all the niche and fantastic art galleries within this exciting area in London.
Soho - the center of theatrical life in London - explore the jaw-dropping West-End Classics and the edgy new plays coming to life in this exciting place Soho - the home of great theatre!
From the infamous jazz of Ronnie Scott's to the new fresh sounds of Soho, with its vibrant night life - it's not hard to imagine why this is the place to go if you want to enjoy the best music London has to offer..


| Modifier and Type | Method and Description |
|---|---|
Loss |
Loss.add(Loss other) |
static Loss |
Loss.add(Loss a,
Loss b) |
static Loss |
Loss.average(List<Loss> losses) |
Loss |
Loss.copy() |
static Loss |
Loss.div(Loss a,
Number b) |
Loss |
Loss.div(Number other) |
Loss |
Loss.minus(Loss other) |
Loss |
Loss.plus(Loss other) |
Loss |
Loss.sub(Loss other) |
static Loss |
Loss.sub(Loss a,
Loss b) |
static Loss |
Loss.sum(List<Loss> losses) |
| Modifier and Type | Method and Description |
|---|---|
Loss |
Loss.add(Loss other) |
static Loss |
Loss.add(Loss a,
Loss b) |
static Loss |
Loss.div(Loss a,
Number b) |
void |
BaseListener.iterationDone(SameDiff sd,
At at,
MultiDataSet dataSet,
Loss loss) |
void |
Listener.iterationDone(SameDiff sd,
At at,
MultiDataSet dataSet,
Loss loss)
Called at the end of every iteration, after all operations (including updating parameters) has been completed
|
Loss |
Loss.minus(Loss other) |
Loss |
Loss.plus(Loss other) |
Loss |
Loss.sub(Loss other) |
static Loss |
Loss.sub(Loss a,
Loss b) |
| Modifier and Type | Method and Description |
|---|---|
static Loss |
Loss.average(List<Loss> losses) |
static Loss |
Loss.sum(List<Loss> losses) |
| Modifier and Type | Method and Description |
|---|---|
void |
CheckpointListener.iterationDone(SameDiff sd,
At at,
MultiDataSet dataSet,
Loss loss) |
| Modifier and Type | Method and Description |
|---|---|
void |
ScoreListener.iterationDone(SameDiff sd,
At at,
MultiDataSet dataSet,
Loss loss) |
void |
UIListener.iterationDone(SameDiff sd,
At at,
MultiDataSet dataSet,
Loss loss) |
| Modifier and Type | Method and Description |
|---|---|
void |
ProfilingListener.iterationDone(SameDiff sd,
At at,
MultiDataSet dataSet,
Loss loss) |
| Modifier and Type | Method and Description |
|---|---|
Loss |
LossCurve.lastMeanDelta()
Return the loss delta between the last epoch and the one before it.
|
Loss |
LossCurve.lastMeanLoss()
Get the mean loss for the last epoch.
|
Loss |
LossCurve.meanLoss(int epoch)
Get the mean loss for a given epoch
If epoch is negative, counts backwards from the end.
|
| Modifier and Type | Method and Description |
|---|---|
List<Loss> |
LossCurve.losses() |
| Modifier and Type | Method and Description |
|---|---|
LossCurve |
LossCurve.addLossAndCopy(Loss loss)
Return a new LossCurve with the given losses added on as the most recent epoch
|
| Constructor and Description |
|---|
LossCurve(List<Loss> losses) |
| Modifier and Type | Method and Description |
|---|---|
Loss |
TrainingSession.trainingIteration(TrainingConfig config,
Map<String,INDArray> placeholders,
Set<String> paramsToTrain,
Map<String,GradientUpdater> updaters,
MultiDataSet batch,
List<String> lossVariables,
List<Listener> listeners,
At at)
Perform one iteration of training - i.e., do forward and backward passes, and update the parameters
|
Copyright © 2020. All rights reserved.


{# Usage: :param str delete_url: The URL of the POST endpoint to handle #} {% macro render_delete_modal(title='Delete', message='Enter DELETE in the input box below to really delete this item') %}
WARNING: This action cannot be undone
{{message}}