Sneha's Cafe
Home
Dishes
Our Special Combo's
Contact
Select your favourite food, and trust me you will like it.
Noodles
Chilli Garlic Noodles, Hakka Noodles
Pizza
Cheese Pizza, Capsicum Pizza, Fresh Tomatto Pizza
Dosa
South Indian Special
Pasta
Red Sauce and White Sauce
Cake
Chocolate- Strawberry cake, hmmm You will like it:-)
Ice-Cream
All available.


[ ]
does not apply arithmetic evaluation. Evaluate with $((..))
for numbers, or use string comparator for strings.
[ 2*3 -eq array[i] ]
[ $((2*3)) -eq $((array[i])) ]
When using [[ .. ]]
with numerical comparators (-eq
, -lt
, etc), the value on either side will be evaluated as an arithmetic expression. This means that 2*3
will be evaluated to 6
, and x
will be evaluated to the contents of the variable $x
.
When using [ .. ]
, this does not happen. 2*3
and x
will both be considered invalid numbers. Instead, use e.g. $((2*3))
to evaluate the expression before passing it to [ .. ]
.
Alternatively, if the expression should be considered a string, quote the expression and use a string comparison operator like =
and !=
.
None


{% extends "polls/base.html" %} {% block title %}Evotche - Pricing{% endblock title %} {% block content %} {% load static %} {% load extras %} PRICING Our pricing is based on the number of voters you want on your elections. Free ₦0.00/voter Maximum of 20 voters per election Maximum of 2 free elections Reach voters via email Reports are kept for 30 days Sign up Paid ₦25.00/voter Unlimited voters per election Unlimited paid elections Reach voters via email Reports are kept for 30 days Sign up {% endblock content %}
Our pricing is based on the number of voters you want on your elections.


!Emperor Shunaiman:
Don't worry about me! I am built of simple flesh and bone, but the Empire... it houses the dreams of so, so many people.
Now, listen. The final room contains four sealing devices, each of which need to be activated. You will then need to gather the four Binding Seals... and bring them back to me.
Do not lose the sword, and do not discard the holy water--they are absolutely vital to our survival!


See these for help getting started
If you need i18n support, run this
$ bower install angular-translate --save
$ bower instal bower install angular-translate-loader-static-files --save
| First Name | Last Name | Skill | Position | Member | |
|---|---|---|---|---|---|
| Howard | Mcgraw | 37 Landscape Gardening | Competitior | CH - Switzerland | |
| Lillian | Bruce | 37 Landscape Gardening | Competitior | AE - United Arab Emirates | |
| Tabatha | Burlew | 17 Web Design | Competitior | AU - Australia | |
| Courtney | Blowe | 17 Web Design | Expert | BR - Brazil | |
| Minta | Lash | 37 Landscape Gardening | Expert | CA - Canada |
There are two different types of assessment: Objective and Subjective.
Objective assessments are those for which an exact mark can be awarded according to a precise rule. The competitor is either awarded the mark or is not. Thus the award for an objective Aspect is either a mark as specified within the Aspect definition or zero. In some cases it is possible to vary the mark award on an exact formula - for example where a tolerance is given it would be acceptable to award part marks at one level of achieved tolerance and higher marks for reaching a better tolerance level. This information can be applied to an 'Aspect' by using additional lines (Add) of marking instructions.
Subjective assessments are those where the mark awarded depends on the personal opinion of a group of judges. This type of marking usually involves an assessment of personal skill or creative ability. It is a form of Aesthetic assessment. The judges, individually and without discussion with their colleagues, decide the scores they will award for each Aspect of Criterion (on a scale of 1 to 10). The marking group then get together as a team and every judge in the group displays, at a suitable signal, a score card according to his/her opinion of the quality of the item. The team must mark ALL competitors for the aspects they are assessing.


We provide testing services for softwares.
Make sure to keep all page content within the #page-content-wrapper
.
We provide testing services for softwares.
Make sure to keep all page content within the #page-content-wrapper
.
This template has a responsive menu toggling system. The menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will appear/disappear. On small screens, the page content will be pushed off canvas.
Make sure to keep all page content within the #page-content-wrapper
.
This template has a responsive menu toggling system. The menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will appear/disappear. On small screens, the page content will be pushed off canvas.
Make sure to keep all page content within the #page-content-wrapper
.
This template has a responsive menu toggling system. The menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will appear/disappear. On small screens, the page content will be pushed off canvas.
Make sure to keep all page content within the #page-content-wrapper
.


 So brilliant and so smart,’ said Trump
by PTIUS President Donald Trump on Monday publicly introduced Conan, the specially trained “Hero dog” that helped American commandoes in the mission that led to the death of ISIS leader Abu Bakr-al Baghdadi.
Baghdadi, 48, died in October after the world’s most wanted terrorist was chased by the US special forces along with military working dogs.
He blew up his suicide vest following the US raid on his compound in Syria’s Idlib province.
The dog was brought to visit the White House and met President Trump in his Oval Office.
Conan later appeared before the White House press corps in the Rose Garden along with Mr. Trump, the First Lady Melania and Vice President Mike Pence.
Mr. Trump also met with Special Forces involved in the attack in Northern Syria that resulted in the death of Baghdadi. The commandoes did not come out in the public.
“Al Baghdadi is gone, but it was a flawless attack,” Mr. Trump told reporters.
Mr. Trump said he met with the soldiers and had given Conan an award.
He said: “The dog is incredible. So brilliant and so smart,” Mr. Trump said.
He said both the soldiers and Conan did a fantastic job.
In his remarks, Mr. Trump repeatedly praised Conan’s performance and described his breed as the ultimate at fighting and drug sniffing.
He did not directly answer a question about whether he would adopt Conan, but he said that the dog would not be retiring and had more time to serve.
According to a White House official, Conan was not accompanied by his normal handler for this appearance since the handler participated in the Baghdadi raid and cannot appear publicly.
Conan appeared to be very calm and composed, during his Rose Garden appearance.
The cannine, a four-year veteran of the Special Operations Command (SOCOM) Canine Programme, has been a member of approximately 50 combat missions and was injured during the raid at the hideout of Baghdadi in northwestern Syria.


Simeone hails Atletico draw at Granada as arguably best performance of the season
by BeSoccerDiego Simeone was frustrated not to beat Granada on Saturday given Atletico Madrid produced what he considered a strong performance.
Diego Simeone felt Atletico Madrid played perhaps their best game of the season in Saturday's 1-1 LaLiga draw with Granada.
Renan Lodi opened the scoring at Nuevo Estadio de Los Carmenes after an hour only for German Sanchez to equalise seven minutes later.
The draw was Atleti's seventh in their past 10 LaLiga matches and leaves them three points behind Barcelona and Real Madrid at the top of the table, having played a game more.
Simeone was happy with the performance, though, blaming Atletico's failure to hold on for a win on a "careless moment" that allowed Sanchez to head in from a corner.
"This was our best performance of those away from home and also possibly of those at home too," the coach told reporters.
Featured links
- Mourinho replaces Pochettino at Tottenham
- The latest football transfers news and rumours
- Wales, golf, Madrid... in that order
- Luis Enrique returns to Spain national team
"We were very consistent, especially in the first 30 minutes. Granada didn't get close to our penalty area.
"We played a quite complete match, but we had a careless moment in the goal we conceded. But the team didn't give up."
Joao Felix was fit enough only to appear as a second-half substitute, having been struggling with an ankle injury since last month.
Simeone insists the 20-year-old must be given time to regain full fitness before he can be expected to make a significant impact.
"I act as a result of what I see in training," he said. "He has to keep picking up the pace.
"He has great quality and talent and when he is fully fit he will contribute."


Header animation
For my next web design I want to do something cool, like a header effect on scroll. An example of what I want to achieve is something like this: Chris Simpson web page, so I looked for a tutorial to get some ideas to do it: How to Create a “Stay-On-Top” Menu with CSS3 and jQuery.
For my website I will use the effect of hiding the nav bar on scrolling until the header image disappears and then, fix the nav bar on top of the page. For this, 2 classes will be used, ‘default’ and ‘fixed’ and I will change one to another when the scroll reaches the header height. You can see the result in Centro de Ayuda Adolescentes.
Written on February 20, 2016


Triggers: Contained
This callout has a trigger inside of it with an id. Triggering it should toggle the type
You can toggle this
This callout has a trigger inside of it WITHOUT an id. Triggering it should also toggle the type
You can toggle this
This callout has a trigger inside of it with an id. Triggering it should toggle the type
You can toggle this
This callout has a trigger inside of it WITHOUT an id. Triggering it should also toggle the type
You can toggle this


National records are published by Governments and include national information relevant for the implementation of the Nagoya Protocol as well as information Parties are obliged to provide in accordance with the Protocol.
National records are published by Governments and include national information relevant for the implementation of the Nagoya Protocol as well as information Parties are obliged to provide in accordance with the Protocol.
National records are published by Governments and include national information relevant for the implementation of the Nagoya Protocol as well as information Parties are obliged to provide in accordance with the Protocol.


public class Estimator.Results
extends java.lang.Object
implements com.wm.util.coder.IDataCodable
| Modifier and Type | Field and Description |
|---|---|
protected long |
count
The total number of samples in this distribution.
|
protected double |
cumulative
The calculated mean, variance, minimum, maximum, and cumulative samples.
|
protected double |
maximum
The calculated mean, variance, minimum, maximum, and cumulative samples.
|
protected double |
mean
The calculated mean, variance, minimum, maximum, and cumulative samples.
|
protected double |
minimum
The calculated mean, variance, minimum, maximum, and cumulative samples.
|
protected double |
sq
The calculated mean, variance, minimum, maximum, and cumulative samples.
|
protected java.lang.String |
subject
The sampling subject, and the unit of measure for the samples.
|
protected java.lang.String |
unit
The sampling subject, and the unit of measure for the samples.
|
| Constructor and Description |
|---|
Results(java.lang.String subject,
java.lang.String unit,
long count,
double mean,
double sq,
double minimum,
double maximum,
double cumulative)
Constructs a new Results object.
|
| Modifier and Type | Method and Description |
|---|---|
long |
getCount()
Returns the number of samples seen by this estimator.
|
double |
getCumulative()
Returns the cumulative total of all samples seen by this estimator.
|
com.wm.data.IData |
getIData()
Returns an IData representation of this object.
|
double |
getMaximum()
Returns the maximum of the samples.
|
double |
getMean()
Returns the mean of the samples.
|
double |
getMinimum()
Returns the minimum of the samples.
|
double |
getStandardDeviation()
Returns the standard deviation estimate for the current set of samples.
|
java.lang.String |
getSubject()
Returns the sampling subject.
|
java.lang.String |
getUnit()
Returns the unit of measure related to the measured samples.
|
double |
getVariance()
Returns the variance estimate for the current set of samples.
|
void |
setIData(com.wm.data.IData input)
Sets values from the given IData.
|
java.lang.String |
toString()
Returns a string-based representation of the mean, standard deviation and number of samples for this estimator.
|
protected long count
protected double mean
protected double sq
protected double minimum
protected double maximum
protected double cumulative
protected java.lang.String subject
protected java.lang.String unit
public Results(java.lang.String subject, java.lang.String unit, long count, double mean, double sq, double minimum, double maximum, double cumulative)
subject
- The subject or description of what was estimated.unit
- The unit of measurement related to the measured samples.count
- The number of samples measured.mean
- The measured mean value.sq
- The measured square value.minimum
- The measured minimum value.maximum
- The measured maximum value.cumulative
- The measured cumulative value.public long getCount()
public double getMean()
public double getMinimum()
public double getMaximum()
public double getCumulative()
public double getVariance()
public double getStandardDeviation()
public java.lang.String getUnit()
public java.lang.String getSubject()
public java.lang.String toString()
toString
in class java.lang.Object
public com.wm.data.IData getIData()
getIData
in interface com.wm.util.coder.IDataCodable
public void setIData(com.wm.data.IData input)
setIData
in interface com.wm.util.coder.IDataCodable
input
- Not used.java.lang.UnsupportedOperationException
- This exception is always thrown.


--- author: Joe B categories: app date: '2010-06-09 18:04:30' link: http://blogs.nitobi.com/joe/2010/06/09/not-all-cameras-are-equal/ permalink: /2010/06/09/not-all-cameras-are-equal/ slug: not-all-cameras-are-equal status: publish title: Not all cameras are equal type: post format: html ---
Recently, the way we were creating a camera and using it broke. I'm not sure why it broke, but I decided to say screw it and to use the Camera Intent in Android, because that's what you're supposed to do on Android anyway. This is what most Twitter Applications use, and since Twitter Apps are probably the most used application on Android, I figure if it's good enough for them, it's good enough for me…
Oh how wrong I was!!!
I added the new intent code, and I tested it on four phones. I tested it on the HTC EVO 4G that I received from Google IO, the Nexus One, the Motorola Milestone with the official Telus Firmware (with camera), the HTC Dream with stock Android 1.6 and the Rogers HTC Magic with Android 1.5 and the 9/11 update. Basically, everything worked but the Rogers HTC Magic. The thing is that once you use intents, you are relying on the OEMs to write a good enough Android Camera Application for you to get a picture from. This may be good for a Google blessed image, or a stable HTC phone like the EVO, but it's clear that on certain phones from certain providers, that there may be some issues.
I'm certain that there's phones in the wild that have broken cameras, and it'd be good to find out which phones have broken cameras. If people could test on these phones (with Canadian carriers next to them), that would be greatly appreciated:
HTC Hero (Telus)
LG EVE (Rogers)
Motorola DEXT (Bell)
Motorola Quench (Rogers)
Motorola Backflip (Telus)
Samsung Galaxy (Bell/Rogers)
Acer Liquid E (Rogers)
Xperia X10 (Rogers)
Those are the phones that I know are in the wild in Canada. I'm sure there's more than this in other countries, namely in the United States, but this is a good cross-section of devices from a handful of manufacturers who may have their own customized camera applications. I've exempted test devices from this post, because I don't think it's fair to take a broken firmware and say "Hey, the Camera Doesn't work!". However, the HTC Magic should work, and it's disappointing that it doesn't, since this breaks not only PhoneGap's camera capability, but anything that uses that intent. Hopefully in the future, Android cameras will be more reliable.


Kelowna to host 2021 Tim Hortons Brier
by Kathy MichaelsCurling Canada announced today that Kelowna will host the 10-day long 2021 Tim Hortons Brier, presented by AGI.
The last time the city hosted the Canadian Men’s Curling Championship was in 1968 and this time around, it will be Prospera Place where Canada’s best men’s curling teams going head to head for a national title.
“Kelowna put together a superb bid to host the Tim Hortons Brier in 2021,” John Shea, Chair of Curling Canada’s Board of Governors, said in a press release.
“The Okanagan region has hosted numerous top-calibre curling events in the past, and I know the City of Kelowna is ready to step up and put on an amazing show for the world's most famous national curling championship.”
Prospera Place has a seating capacity of 6,886, so there will plenty of room for spectators.
“Kelowna is very excited to host the 2021 Tim Hortons Brier and we thank Curling Canada for the opportunity to do so,” Kelowna Mayor Colin Basran said.
The city has been active in hosting major curling events, including the 1986 World Women’s Championship, the 1989 Scotties Tournament of Hearts, the 1999 Canadian Junior Championships, the 2002 World Junior Championships, and most recently, the World Mixed Curling Championship in 2018.
It will be the eighth time the event has been played in B.C.
The 2021 Tim Hortons Brier champion will go on to wear the Maple Leaf a few weeks later at the 2021 World Men’s Championship, to be played in a Canadian city (location, dates TBA).
As well, the winning team will qualify for the 2021 Tim Hortons Roar of the Rings Canadian Curling Trials in Saskatoon, where Canada’s four-player curling teams for the 2022 Winter Olympics in Beijing will be decided.
The 2021 Tim Hortons Brier champ will get a return trip to play as Team Canada at the 2022 Tim Hortons Brier. Tickets for the 2021 Tim Hortons Brier, the 92nd edition of the championship, are expected to go on sale early in 2020.
The 2020 Tim Hortons Brier, presented by AGI, is scheduled for Feb. 29-March 8 in Kingston, Ont. Tickets are available at www.curling.ca/2020brier/tickets.


|
CoreSight Access Library
2.3
ARM CoreSight Access Library - on target CoreSight component control
|
ETMv4 Trace Config reg stucture. More...
#include <cs_etmv4_types.h>
Data Fields | |
| unsigned int | reg |
| complete register value | |
| struct { | |
| unsigned int _res1_0:1 | |
| unsigned int instp0:2 | |
| unsigned int bb:1 | |
| unsigned int cci:1 | |
| unsigned int _res0_5:1 | |
| unsigned int cid:1 | |
| unsigned int vmid:1 | |
| unsigned int cond:3 | |
| unsigned int ts:1 | |
| unsigned int rs:1 | |
| unsigned int qe:2 | |
| unsigned int _res0_15:1 | |
| unsigned int da:1 | |
| unsigned int dv:1 | |
| } | bits |
| register bitfields | |
ETMv4 Trace Config reg stucture.
enables trace features.


Theodul Pass Player - Events
A Theodul Pass Player plugin can trigger and/or subscribe to events.
An event is defined in the events section of the plugin and looks like this:
NAME: new Engage.Event("MODULE:NAME", "DESCRIPTION", "OPTION")
The event has the event name "MODULE:NAME", the description DESCRIPTION and one of the options "trigger", "handler" or "both" as OPTION. When the plugin just triggers the event, the option is "trigger", when it just handles the events the option is "handler" and when it does both - trigger and handle it - the option is "both".
An event can be triggered via
Engage.trigger(plugin.events.NAME.getName(), [parameter(s)]);
and can be subscribed to via
Engage.on(plugin.events.NAME.getName(), function () {});
The following list contains all events of the Core + of all official plugins, sorted alphabetically after "Event name" for version 1.0 of Feb 12, 2015.
Currently official plugins are
- Controls
- MHConnection
- Notifications
- Usertracking
- Description
- Description (Tab)
- Slide text (Tab)
- Shortcuts (Tab)
- Timeline statistics
- Videodisplay
| Name | Event name | Additional parameters | Description | Triggered in | Handled in |
|---|---|---|---|---|---|
| coreInit | Core:init | Core | |||
| plugin_load_done | Core:plugin_load_done | Core | Core, Controls, MHConnection, Notifications, Usertracking, Description, Description (Tab), Slide text (Tab), Shortcuts (Tab), Timeline statistics, Videodisplay | ||
| timelineplugin_closed | Engage:timelineplugin_closed | Note: No "Engage Event", just use as string, example: Engage.on("Engage:timelineplugin_closed", function() {}); | when the timeline plugin container closed | Core | |
| timelineplugin_opened | Engage:timelineplugin_opened | Note: No "Engage Event", just use as string, example: Engage.on("Engage:timelineplugin_opened", function() {}); | when the timeline plugin container opened | Core | Timeline statistics |
| getMediaInfo | MhConnection:getMediaInfo | MHConnection | |||
| getMediaPackage | MhConnection:getMediaPackage | MHConnection | |||
| mediaPackageModelError | MhConnection:mediaPackageModelError | MHConnection | Core, Controls, Notifications, Usertracking, Description, Description (Tab), Slide text (Tab), Shortcuts (Tab), Timeline statistics, Videodisplay | ||
| customError | Notification:customError | msg: The message to display | an error occurred | Core, Controls, Videodisplay | Notifications |
| customNotification | Notification:customNotification | msg: The message to display | a custom message | Videodisplay | Notifications |
| customOKMessage | Notification:customOKMessage | msg: The message to display | a custom message with an OK button | Controls | Notifications |
| customSuccess | Notification:customSuccess | msg: The message to display | a custom success message | Core, Controls | Notifications |
| segmentMouseout | Segment:mouseOut | no: Segment number | the mouse is off a segment | Controls, Slide text (Tab) | Controls, Slide text (Tab) |
| segmentMouseover | Segment:mouseOver | no: Segment number | the mouse is over a segment | Controls, Slide text (Tab) | Controls, Slide text (Tab) |
| sliderMousein | Slider:mouseIn | the mouse entered the slider | Controls | ||
| sliderMouseout | Slider:mouseOut | the mouse is off the slider | Controls | ||
| sliderMousemove | Slider:mouseMoved | timeInMs: The time on the hovered position in ms | the mouse is moving over the slider | Controls | |
| sliderStart | Slider:start | slider started | Controls | ||
| sliderStop | Slider:stop | time: The time the slider stopped at | slider stopped | Controls | Videodisplay |
| aspectRatioSet | Video:aspectRatioSet | as: (array) as[0] = width, as[1] = height, as[2] = aspect ratio in % | the aspect ratio has been calculated | Videodisplay | Controls |
| audioCodecNotSupported | Video:audioCodecNotSupported | when the audio codec seems not to be supported by the browser | Videodisplay | Notifications | |
| autoplay | Video:autoplay | autoplay the video | Core | Videodisplay | |
| bufferedAndAutoplaying | Video:bufferedAndAutoplaying | buffering successful, was playing, autoplaying now | Videodisplay | Notifications | |
| bufferedButNotAutoplaying | Video:bufferedButNotAutoplaying | buffering successful, was not playing, not autoplaying now | Videodisplay | Notifications | |
| buffering | Video:buffering | video is buffering | Videodisplay | Notifications | |
| ended | Video:ended | triggeredByMaster: Whether or not the event has been triggered by master | video ended | Videodisplay | Controls |
| fullscreenCancel | Video:fullscreenCancel | cancel fullscreen | Controls, Videodisplay | Videodisplay | |
| fullscreenChange | Video:fullscreenChange | a fullscreen change happened | Videodisplay | Controls | |
| fullscreenEnable | Video:fullscreenEnable | enable fullscreen | Controls, Core | Controls, Videodisplay | |
| isAudioOnly | Video:isAudioOnly | audio: true if audio only, false else | whether it's audio only or not | Videodisplay | Controls, Notifications |
| initialSeek | Video:initialSeek | time: The time to seek to | Seeks initially after all plugins have been loaded after a short delay | Core | Videodisplay |
| mute | Video:mute | mute | Videodisplay | Videodisplay | |
| muteToggle | Video:muteToggle | toggle mute and unmute | Core | Videodisplay | |
| nextChapter | Video:nextChapter | Core | |||
| numberOfVideodisplaysSet | Video:numberOfVideodisplaysSet | no: Number of videodisplays | the number of videodisplays has been set | Videodisplay | |
| pause | Video:pause | triggeredByMaster: Whether or not the event has been triggered by master | pauses the video | ||
| Core, Controls, Videodisplay | Controls, Videodisplay | ||||
| play | Video:play | triggeredByMaster: Whether or not the event has been triggered by master | plays the video | Core, Controls, Videodisplay | Controls,Videodisplay |
| playPause | Video:playPause | Core | Videodisplay | ||
| previousChapter | Video:previousChapter | Core | |||
| playbackRateChanged | Video:playbackRateChanged | rate: The video playback rate (0.0-x, default: 1.0) | The video playback rate changed | Controls | Controls, Videodisplay |
| playbackRateIncrease | Video:playbackRateIncrease | Core | Videodisplay | ||
| playbackRateDecrease | Video:playbackRateDecrease | Core | Videodisplay | ||
| playerLoaded | Video:playerLoaded | player loaded successfully | Videodisplay | ||
| ready | Video:ready | all videos loaded successfully | Videodisplay | Controls, Notifications | |
| seek | Video:seek | time: Current time in seconds seek video to a given position in seconds | Core, Controls, Slide text (Tab) | Videodisplay | |
| seekLeft | Video:seekLeft | Core | Videodisplay | ||
| seekRight | Video:seekRight | Core | Videodisplay | ||
| synchronizing | Video:synchronizing | synchronizing videos with the master video | Videodisplay | ||
| timeupdate | Video:timeupdate | time: Current time in seconds, triggeredByMaster: Whether or not the event has been triggered by master | a timeupdate happened | Videodisplay | Controls, Usertracking |
| qualitySet | Video:qualitySet | quality: the quality that has been set a video quality has been set | Controls | Videodisplay | |
| unmute | Video:unmute | unmute | Controls | Controls | |
| usingFlash | Video:usingFlash | flash: true if flash is being used, false else | flash is being used | Videodisplay | Controls |
| videoFormatsFound | Video:videoFormatsFound | format: array of video formats if different video formats (qualities) have been found | Videodisplay | Controls | |
| volumechange | Video:volumechange | vol: Current volume (0 is off (muted), 1.0 is all the way up, 0.5 is half way) | a volume change happened | Videodisplay | |
| volumeDown | Video:volumeDown | Core | Controls | ||
| volumeGet | Video:volumeGet | callback: A callback function with the current volume as a parameter | get the volume | Videodisplay | |
| volumeSet | Video:volumeSet | percentAsDecimal: Volume to set (0 is off (muted), 1.0 is all the way up, 0.5 is half way) | set the volume | Controls | Controls, Videodisplay |
| volumeUp | Video:volumeUp | Core | Controls |


Experience
The Kroger Co.
One of the world's largest grocery retailers, The Kroger Co. spans many states with store formats that include grocery and multi-department stores, discount, convenience stores and jewelry stores, with annual sales of over $100 billion.
Platform Architect
–
- Automated the provisioning and regression testing of Pivotal Cloud Foundry platforms.
- Helped facilitate a lean platform DevOps dojo, delivering MVPs for platform monitoring, app log and metrics aggregation and analysis.
Liberty Mutual Insurance
A diversified global insurer and the third largest property and casualty insurer in the United States, Liberty Mutual Group ranks 78th on the Fortune 500 list of largest U.S. corporations. With an annual consolidated revenue of $33.2 billion, the Group has over 50,000 employees located in more than 900 offices throughout the world.
Principal Platform Engineer
–
Led technological, organizational, and cultural transformation of a Fortune 100 financial corporation
- Led the product team in building and running a global, multi-region PaaS using Pivotal Cloud Foundry on vSphere and AWS IaaS, custom components for platform operations and integrations, and advanced IaaS features like AWS Lambda and CloudFormation, in support of all lines of business including new $20bn lean startup-model business line.
- Led the platform team in identifying release- and sprint-level value metrics and measuring delivery against commitments, allowing the team to iterate or pivot to business value.
- Established a vigorous development and ops pairing rotation, building cross-functional skill sets and raising bus count.
Principal Systems Administrator
–
Saved est. $4.6M in hardware and software costs over six years
- Recommended, designed, and led the deployment of enterprise WebSphere integrated platform.
Senior Systems Administrator
–
Saved est. $80K in labor annually and shortened upgrade cycles by 75%
- Designed, developed, and led delivery of rapidly deployable JEE platform service, including instance life cycle management.
Ohio Casualty Insurance
Senior Systems Engineer
–
- Architected and automated delivery of database platforms servicing over fifty web applications with no outages in three years of production service.
Miami University
Systems Administrator/Engineer
–
- Led project to acquire, architect, and deploy distributed, highly available DHCP and DNS solution; migrated 15,000 clients and hundreds of servers to new service with no impact.
- Developed standards and best practices for installation and maintenance of Unix systems.


jQuery Selectors
Kevin's favorite things
Add new favorite
Sushi
delete
Mac and Cheese
delete
Master Chief
delete
Midichlorians
delete
Jar Jar Binks
delete
Han shot second second
delete
Brendt's favorite things
Add new favorite
Speaking longer than 2 mintues
delete
Chocolate
delete
Couches
delete
Sleeping
delete


An Input Device is a peice of hardware used to select the data in the computer. Look below at some examples and what they do.
The Network Interface Card is a piece of hardware used to connect to your network.
The Central Processing Unit is the brain and the calculator of the computer.
Random Access Memory stores data that is temporary, as it is from application and programs
Images = 3rd Party Content.


Portfolio
Home
Community
Profile
menu
Match Maker
Community
Add A Profile
Available
Send
A Chat Invite?
Request Chat?
Chat
close


rx_widgets library
Classes
-
RxCommandBuilder<T>
-
Spinner/Busyindicator that reacts on the output of a
Stream<CommandResult<T>>
. It's made especially to work together with
RxCommand
from the rx_command
package.
it starts running as soon as an item with isExecuting==true
is received
until isExecuting==true
is received.
To react on other possible states (data, nodata, error
) that can be emitted it offers three option Builder
methods
-
RxLoader<T>
-
Spinner/Busyindicator that reacts on the output of a
Stream<CommandResult<T>>
. It's made especially to work together with
RxCommand
from the rx_command
package.
it starts running as soon as an item with isExecuting==true
is received
until isExecuting==true
is received.
To react on other possible states (data, nodata, error
) that can be emitted it offers three option Builder
methods
-
RxRaisedButton
-
a reimplementation of a
RaisedButton
where the onPressed
is replaced with rxCommand
so the button gets disabled if the rxCommand
has the canExecute
set to false
or when it is executing
-
RxSpinner
-
Spinner/Busyindicator that reacts on the output of a
Stream<bool>
it starts running as soon as a true
value is received
until the next false
is emitted. If the Spinner should replace another Widget while Spinning this widget can be passed as normal
parameter.
RxSpinner
also adapts to the current or specified platform look.
Needless to say that RxSpinner
is ideal in combination with RxCommand's
isExecuting
Observable
-
RxText
-
A reimplementation of
Text
so it takes a Stream<String>
instead of String
as data
and reacts on it.
-
WidgetBuilderSelector
-
WidgetBuilderSelector
is a convenience class that will one of two builder methods based on the output of a Stream<bool>
This is pretty handy if you want to react to state change like enable/disable in you ViewModel and update
the View accordingly.
In comparrison to WidgetSelector
this is best used if the alternative child widgets are large so that you don't want to have them created
without using them.
-
WidgetSelector
-
WidgetSelector
is a convenience class that will return one of two Widgets based on the output of a Stream<bool>
This is pretty handy if you want to react to state change like enable/disable in you ViewModel and update
the View accordingly.
If you don't need builders for the alternative child widgets this class offers a more concise expression than WidgetBuilderSelector


---
title: Iteration 3 and user testing
---
Link to the website
Although I successfully added the scribble animation in the homepage on desktop version, but I found that the effect is not displayed in mobile version. The above photo is the photo of failure in loading the animation in Safari.
Andriod sometimes can load the effect
But sometimes, it cannot.I found out that it is because the main core of the effect, attributed by the mix-blend-mode CSS, is not supported in safari and mobile android platform. Therefore, I deleted the entire effect
I am trying to use an ink sprike to do the animated scribble effect.
This is the ink sprike png I am using to to create the effect.
However, after the effect was run, there was a grey spot on the sketch.
Therefore, I am still figuring out how to do this effect.
I used the style provided in snazzy map.com to stylize the map in the site, which makes the map more appriopriate to the style of the entire website.
I conducted user interviews with 5 users (in Cantonese) to improve my website. Here is the questions.
As the transcript of the interviews is in Chinese, I am not going to post and rewrite the transcript in English, but after the user interviews, I found several main comments.
I tried to do live observation when users accessing the webpage. Thus, I asked 5 users to go to the site, and I observed their activities on mouseflow.com.
I found that when doing user testing all of the users sucessfully went into the product page and they accessed to the highlighted and the most expensive products, which were good. However, I found how they use the website is different from people who use the website remotely. Because they knew that I was watching them using the website when they navigated the website, they tried to click and scroll more. However, without telling users I was watching them using the site, they didn't scroll and click as frequent in observations. Hence, I used remote user testing instead.
Some classmates suggested me to delete the reloop button and make the video relooping by itself. However, I found that half of the users have clicked this button. I'm still thinking about if I should delete the button.
I found that users tend to click the about us button on navigation bar, rather than the more button in the about us section in the index
I found that users only scroll through 50% to 70% of the pages. Especially, in the index page, they only scrolled to the middle of the page, which means that they only saw the top of the page and product highlighted section. Hence, this means that the about us section is ignored, so this section in the index is quite useless.


Provides functionality to render text in games made with the Game library
Used to identify a type of font class.
| Name | Description |
|---|---|
| SERIF | |
| SANS_SERIF | |
| MONOSPACE |
Used to identify the source of a font.
| Name | Description |
|---|---|
| DEFAULT | |
| RESOURCE | |
| FILE | |
| SYSTEM |
Used to identify a type of font style.
| Name | Description |
|---|---|
| NORMAL | |
| BOLD | |
| ITALIC | |
| BOLD_ITALIC |
An exception thrown when a font cannot be found.
Renders a specific font face, style, size, and color, by generating TextSurface instances.
Renders text into a Graphics2DText.TextSurface instance, which can be used much like an ordinary Graphics2D.GraphicsTexture
| Name | Type | Description |
|---|---|---|
| text | string | text to render |
| Type | Description |
|---|---|
| Graphics2DText.TextSurface | A surface containing pixel data. |
Sets the color of the renderer.
| Name | Type | Description |
|---|---|---|
| red | integer | red component of the font color. |
| green | integer | green component of the font color. |
| blue | integer | blue component of the font color. |
| Type | Description |
|---|---|
| Graphics2DText.FontRenderer | Returns itself for chaining. |
Sets the font size of the renderer.
| Name | Type | Description |
|---|---|---|
| size | integer | the new font size |
| Type | Description |
|---|---|
| Graphics2DText.FontRenderer | Returns itself for chaining. |
Sets the style of the renderer (e.g. bold, italic)
| Name | Type | Description |
|---|---|---|
| style | Graphics2DText.FontStyle | the new font style |
| Type | Description |
|---|---|
| Graphics2DText.FontRenderer | Returns itself for chaining. |
Represents a font resource, regardless of where it came from. This can be used to generate new FontRenderer instances, which handle styling, color, etc.
Loads a font face from an embedded resource.
| Name | Type | Description |
|---|---|---|
| path | string | file path to the font resource on disk |
| Type | Description |
|---|---|
| Graphics2DText.FontResource | A font resource |
Loads a font face from an embedded resource.
| Name | Type | Description |
|---|---|---|
| path | string | resource path of the font resource |
| Type | Description |
|---|---|
| Graphics2DText.FontResource | A font resource |
Loads a font face from a system-installed font.
| Name | Type | Description |
|---|---|---|
| name | string | The name of the font resource. |
| Type | Description |
|---|---|
| Graphics2DText.FontResource | A font resource |
Get a render instance for this font face.
Determines if the given font is present on the current system.
| Name | Type | Description |
|---|---|---|
| name | string | The name of the font resource. |
| Type | Description |
|---|---|
| boolean | True if that font is present. |
A surface containing some rendered text. These are generated from the Graphics2DText.FontRenderer's render method.
Renders a text surface to the screen at the given coordinates. These coordinates describe the position of the top left corner of the text surface on the screen.
| Name | Type | Description |
|---|---|---|
| x | integer | X coordinate to draw this text surface to |
| y | integer | Y coordinate to draw this text surface to |
Renders a text surface to the screen at the given coordinates. These coordinates describe the position of the top left corner of the text surface on the screen. The surface will be drawn at the given opacity.
| Name | Type | Description |
|---|---|---|
| x | integer | X coordinate to draw this text surface to |
| y | integer | Y coordinate to draw this text surface to |
| alpha | integer | Alpha value to draw this surface with (0-255). |


| as.data.frame.integer64 {bit64} | R Documentation |
Coercing integer64 vector to data.frame.
## S3 method for class 'integer64' as.data.frame(x, ...)
x |
an integer64 vector |
... |
passed to NextMethod |
'as.data.frame.integer64' is rather not intended to be called directly, but it is required to allow integer64 as data.frame columns.
a one-column data.frame containing an integer64 vector
This is currently very slow – any ideas for improvement?
Jens Oehlschlägel<EMAIL_ADDRESS>as.data.frame.integer64(as.integer64(1:12)) data.frame(a=1:12, b=as.integer64(1:12))


Viper provides a simple API (Python and CLI) to easily manage large infrastructures.
viperfile.py
Index
Module Index
Search Page


11 things you probably didn't know about Davido - The Nation Newspaper
by https://www.facebook.com/CheerfulpraiseBy Fasanmi Abiola
David ‘Davido’ Adeleke popularly known as Omo Baba Olowo (OBO) is a multiple-award-winning Nigerian singer who came into limelight in 2011 after his rave hit single ‘Back When’. He was born in Atlanta, Georgia in the United States on November 21, 1992.
1. Davido is the son of popular billionaire businessman Adedeji Adeleke while his mother, Mrs. Veronica Adeleke was a University lecturer before she passed on.
2. He began his education at the popular British School, Lagos before he moved to Oakwood University to study Business Administration but was short-lived as the singer dropped out and returned to Nigeria to pursue his music career.
3. As a teenager, he started off as a “backup” for rising rapper Sina Rambo. He then started a group with B-Red and Rambo called KB International.
4. In 2012 he bought a house worth N140 million in Lekki Phase 1 at the age of 20
5. He is reportedly worth $16 million
6. In 2017 alone, Davido received 39 awards. Two including MTV Europe Music Award as Best African Act 2017 and MTV Europe Music Award for Best Worldwide Act 2017.
7. The Nigerian music star now has over 13 million followers on Instagram, making him the first Nigerian artist to have such a high social media following.
8. On June 2018 he became the first International act to receive his BET award live on stage during the Black Entertainment Television Awards on June 2018
9. Davido’s uncle, Isiaka Adeleke was the first Governor of Osun State and two-time Nigerian Senator
10. He has two daughters from Sophie Momodu and Amanda who he had a brief relationship with. He also has a son named David Adedeji Ifeanyi Adeleke Jnr with his fiancé, Chioma.
11. He almost got signed into Dbanj’s DB records in 2011 with Dbanj revealing “that he had given Davido a Rolex Wristwatch, as a gift, so he could sign him” but David’s dad declined saying he wants his son to go to school.


• Google Maps Javascript API
• Google Maps Street View API
• Twitter Bootstrap
• Knockout.js
• jQuery
Disclaimer: This webpage is unofficial and has no affiliation with South by Southwest or any sponser. This website was built for educational purposes and does not intend to include all events.


Headings
Heading Level 1
Heading Level 2
Heading Level 3
Heading Level 4
Heading Level 5
Heading Level 6
Paragraph
A paragraph (from the Greek paragraphos, "to write beside" or "written beside") is a self-contained unit of a discourse in writing dealing with a particular point or idea. A paragraph consists of one or more sentences. Though not required by the syntax of any language, paragraphs are usually an expected part of formal writing, used to organize longer prose.
Inline elements
Strong is used to indicate strong importance
This text has added emphasis
The b element is stylistically different text from normal text, without any special importance
The i element is text that is set off from the normal text
The u element is text with an unarticulated, though explicitly rendered, non-textual annotation
This text is deleted and This text is inserted
This text has a strikethrough
Superscript®
Subscript for things like H2O
This small text is small for fine print, etc.
Abbreviation: HTML
Keybord input: Cmd
This text is a short inline quotation
This is a citation
The dfn element indicates a definition.
The mark element indicates a highlight
This is what inline code looks like.
This is sample output from a computer program
The variable element, such as x = y
Horizontal Rule
Lists
- This is a list item in an unordered list
- An unordered list is a list in which the sequence of items is not important. Sometimes, an unordered list is a bulleted list. And this is a long list item in an unordered list that can wrap onto a new line.
- Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an unordered list
- This is the last list item
- This is a list item in an ordered list
- An ordered list is a list in which the sequence of items is important. An ordered list does not necessarily contain sequence characters.
- Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an ordered list
- This is the last list item
Icons
- Google+
Forms
Buttons
Grid layout
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mollis velit non.


Maguire: I want Sheffield United to win every game – apart from against Manchester United
by FSA EditorFormer Sheffield United player Harry Maguire is delighted to see his old club flying high on their return to the Premier League.
Harry Maguire is delighted to see his boyhood club Sheffield United flying high in the Premier League and wants them to win every game – unless they are playing Manchester United.
England centre-back Maguire became the world’s most expensive defender when he moved to Old Trafford in a reported £80million deal from Leicester City in the previous transfer window.
The 26-year-old came through the Blades’ academy and made over 100 senior appearances for the club before leaving to join Hull City in 2014.
Maguire gets the chance to play at Bramall Lane again on Sunday, as the Red Devils – who sit a point behind the Blades – face Chris Wilder’s side.
“It means so much, the club that gave me the chance of fulfilling my dream of becoming a professional footballer,” Maguire told BBC Sport when asked about his return.
“I owe them a lot, I go back and support them whenever I can.
“It’s the first result I look for when I get off the pitch. I want to see them win every game they play, apart from when we’re playing against them. A fantastic club and it’s great to see them back in the Premier League where they belong
Maguire acknowledged he is unlikely to get much in the way of support from friends as he visits his old club – but insists his loved ones will be cheering him on.
“Hopefully I’ll be the one smiling with my friends and not them,” he said.
“I’m sure some of [my friends] will be supporting Sheffield United, but my family will be supporting Man United and hoping we get the three points.”


What is it?
OpenUI5 is an open source JavaScript UI library, maintained by SAP and available under the Apache 2.0 license. OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice. It’s based on JavaScript, using JQuery as its foundation, and follows web standards. It eases your development with a client-side HTML5 rendering library including a rich set of controls, and supports data binding to different models (JSON, XML and OData).
View it!
Check out our Samples for controls running on phones, tablets and desktops and a number of Demo Applications
Get it!
It’s FREE. Download the latest stable UI5 Runtime, Beta releases, and the UI5 SDK containing all documentation. Or even use OpenUI5 without downloading it at all, by using our CDN.
Get started!
Try the Hello World, read the Developer Guide — in particular the Walkthrough and the other tutorials — and refer to the API Reference. Use App Templates as a foundation for your developments (available in SAP Web IDE or on github). Check out stackoverflow.com to discuss code-related problems and questions. You can use both tags, "sapui5" and "openui5". Or join the lively discussion in the SAP Community forum. You can also get an invitation to the unofficial OpenUI5 Slack channel created by the community.
Contribute!
You can help make UI5 better by reporting or analyzing bugs or by contributing bug fixes or new features.


"Blue Print"
Multi Column Form
Nick Name
Age
Favorite Color
Favorite NC City
Cary Raligh Durham Other
Bio
Favorite Fast Food
Why
Best StarWars
Episode I Episode II Episode III Episode IV Episode V Episode VI
First Crush
Favorite Band
Best Ice Cream
Chocolate Mint Vanilla Other
Favortie Rap Group
Mother's Maiden Name
Rap Name
Why?
Submit Me!


Dashboard
Edit Profile
Search
Admin Page
Sign Out
General Information
Profile Picture
First name
Last name
Email
Bio
Location
Country
Choose...
State
Choose...
Education
School
Choose...
Major
Choose...
Minor
Graduation / Projected Graduation
Clubs
Choose...
Update Account


"So happy to come in here. My hairdresser gave me the exact style that I wanted for my wedding"
"I have been getting my hair cut and colored here for a few years now"
"This was the best experience and haircut I have received from a salon in years"
"I drop in from time to time to get my hair trimmed. Nothing fancy"
1234 Nowhere street, anywhere, USA
123-456-7890
anywhere@email.com


diceroll 3.1 is easy-to-use open source die rolling software. Written in Classic Python 2.5 and using a variety of IDEs, diceroll 3.1 supports many gaming and RPG die rolling conventions.
diceroll 3.1 also supports logging, error reporting, and debugging of rolls made.
The free-to-use source is available at its GitHub repository.
This documentation explains how to install and use the diceroll module for your gaming projects.
The Traveller game in all forms is owned by Far Future Enterprises. Copyright 1977 - 2021 Far Future Enterprises. Traveller is a registered trademark of Far Future Enterprises.


This section is Before you start
{% if thirdparty %}Was {{firstname}}'s take-home pay for their last Universal Credit period £935 or less?
{% else %}Was your take-home pay for your last Universal Credit period £935 or less?
{% endif %}Take-home pay is used to work out your Universal Credit payments.
If you don't work, your take-home pay will be £0.
Where to find your take-home pay
If you have a Universal Credit account online
Your take-home pay is shown on your online Statement.
It's under the heading 'Other support you may be able to get'.
If you get a monthly Universal Credit payment letter
Your take-home pay is shown on your Universal Credit monthly payment letter.
It's usually on page 2 under the heading '3. We then take account of your take-home pay'.


16-year-old boy dies after being hit by car in Co Limerick
by NewsroomA 16-year-old boy has died after he was hit by a car in Co Limerick overnight.
The incident occurred in Garraunboy near Adare at around 3.45am this morning.
The teenager was walking on the road when he was struck by a car.
His body remains at scene and will be removed shortly to Limerick University Hospital where a post-mortem will take place.
The driver of the car, who is in his late 40, was not injured.
The scene is currently preserved and garda forensic collision investigators are due to conduct an examination this morning.
The N21 at the Newcastle West side of Adare village remains closed and local diversions are in place.
Gardaí at Newcastle West are appealing for any witnesses to come forward, particularly any motorists who were travelling in the area at the time and may have dash cam footage.
Anyone with information is asked to contact Newcastle West Garda Station on 069 - 20650, the Garda Confidential Line on 1800 666 111 or any Garda Station,.


 The names of some of Ttono wo's children are listed, with details of their personal history.
Comments
1) p.476v: ||kabbo's uncle (and father-in-law) ≠khuagen's name means 'little thorn bush', 2) This is found in Book III-1
Contributors
Date
1 June 1871
Categories
Keywords
||kabbo (his personal history) , ||kabbo (about his maternal grandfather, Ttono wo, who was killed by a rhinoceros) , ||kabbo (his genealogy) , ||kabbo (the names of his relations) , ||kabbo (about his relations) , names (of people) , names (of ||kabbo's relations) , names (of Ttono wo's relations) , genealogy (Ttono wo's) , genealogy (||kabbo's) , personal history (of ||kabbo and his relations) , personal history (of Ttono wo and his relations) , personal history (how Ttono wo who was killed by a rhinoceros)
Story Pages
476-477


Welcome *|FNAME|*
{{name}}, it’s cool to see you are joining in {{city}}. Sorry for the emptiness ;) To make sure {{citykey}}.hckrs.io can grow we gave you some additional invite slots!
You can invite {{inviteSlots}} friends with you personal activation URL : {{inviteUrl}}
If you need more slots please reply to this email.
hckrs.io
— {{staffName}}
{{{staffTwitter}}}
source code


Diablo IV will require internet access at all times
by AshThe recently announced Diablo IV is set to be an online exclusive, requiring a constant internet connection at all times, regardless of which game mode you choose to play.
A Blizzard representative confirmed to GameSpot that every version of Diablo 4 will be online-only, regardless of whether you’re on PC, PlayStation 4, or Xbox One.
That means that even if you want to tackle the entire game solo and never interact with any other players, you’ll still require a constant internet connection in order to play.
It’s not currently known whether the PlayStation 4 and Xbox One versions of the game will require PlayStation Plus or Xbox Live Gold to play, or whether players will be able to get away with just having a stable internet connection.
Diablo IV was officially announced during BlizzCon 2019. The announcement came accompanied by a gory cinematic, which you can watch below.
If you don’t have time to watch it or if you simply don’t want to, here’s a plot run down: the cinematic shows several adventurers entering a temple with their sights set on treasure.
However, instead of treasure, they each come across their various untimely ends – save for one, who it turns out was actually the mastermind behind the whole bloody scheme.
The last adventurer then proceeds to summon the demon known Lilith, a female Diablo. Then, with his quest completed, the last adventurer departs this mortal coil.
Diablo IV will release on PC, PlayStation 4, and Xbox One. There’s no set release date right now, but it’ll most likely come out in 2020.


Experience
👨💼 Industrial Experience
Samsung AI Center, Cambridge, UK (SAIC)
(2021.12 - Present)
- Machine Learning Researcher Intern.
- Focus on accelerating deep neural networks using domain specific architecture.
Samsung Research & Development Institute, Staines, UK (SRUK)
(2019.11 - 2020.03)
- Machine Learning Intern.
- Focus on personalization and natural language processing.
Corerain Technologies, China
(2019.11 - 2020.03)
- AI Researcher.
- Focus on algorithm-hardware co-deisng optimization and acceleration of deep learning algorithm, including compression and hardware acceleration for CNNs.
👨🏫 Teaching Experience
Spring, CO-40008, Introduction to Computer Architecture
Department of Computing, Imperial College London , 2021
- Graduate Teaching Assistant.
- Basic knowledge about computer architecture (CPU, GPU etc.).
CO-60008, Custom Computing, Spring
Department of Computing, Imperial College London, 2021, 2022
- Graduate Teaching Assistant.
- Custom hardware and dataflow-based programming (FPGA, MaxJ).
CO-40p01, Introduction to Computer System, Autumn
Department of Computing, Imperial College London, 2020
- Graduate Teaching Assistant.
- Fundamental understanding of the organisation and operation of a computer system.
CO-97101, Introduction to Machine Learning , Autumn
Department of Computing, Imperial College London, 2020
- Graduate Teaching Assistant.
- Basic knowledge about deep learning and reinforcement learning.
NOVA Summer School
Zhuhai, China, 2019
- Lead of teaching assistant.
- High-performance deep learning accelerator.
PAPAA Summer School
Hongkong, China, 2018
- Teaching assistant.
- Dataflow programming for deep learning applications.
🏫 Educational Experience
Imperial College London
Doctor of Philosophy (Ph.D.) in Advanced Computing
2018.10 - Present
Imperial College London
Master of Research (MRes) in Advanced Computing
2017.09 - 2018.09
Nanyang Technological University
Exchange Student in Electrical and Electronic Engineering
2015.07 - 2016.01
Tianjin University
Bachelor of Engineering (B.Eng.) in Electrical and Electronic Engineering
2013.09 - 2017.07


Across: 1. see 23 down 4. In unusual woods, hunt with the penguins perhaps? (4 5) 9. Sadly cuts clue about new form of plant (9) 10. You might wear it during flan or pancake flipping (5) 11. Hypothetical places to go from and to, and what facilitates it at large? (6) 12. Cannonball perhaps strangely deadly, filled with germ inside (8) 14. Old oil chart is inaccurate (10) 15. Do opposite of 18: allow coke regularly (4) 18. Do opposite of 15, now peeing regularly (4) 20. In spouse, I get art slowly turning cunning (10) 23. To do with having issues in shop (a rent altercation) (8) 24. Quiet graduate, one in big city (6) 26. Hacked trees can be put back? (5) 27. Grappling with others having fish (9) 28. Talked down country in south east (communist) (9) 29. Animal's work at wheel thrown when edges lost (5) Down: 1. CIA to ship "mixed nuts" obtained from this plant (9) 2. see 23 down 3. Might she teach him a lesson, and miraculously cure toad? (8) 4. Perhaps one of two does opposite of 25? (4) 5. It's not as safe as abstinence ... nonetheless, having child rejected (10) 6. Test as liquid plasma and gas perhaps (6) 7. Maurice, painter and hunter, kills lion regularly (7) 8,16. Departed queen getting affection from departing grandson and 23 1 2 negotiator? (5 9) 13. Conflict with a new aim: TV to be managed right (7 3) 16. see 8 17. 23 1 2 negotiator headed 22 court with revolutionary leader (2 3 3) 19. Massive land area is about to get 22? (7) 21. Integral of root of negative unity nil but changing (7) 22. Tune I'd played in combo (6) 23,1ac,2. Deal outlining 22 6 5 from 13... a sad caprice, corpse-scattered (5 5 7) 25. Perhaps one out of two playing bassoon, opposite of 4? (4)


Lauren Leohner
Front End Web Developer
Front-end developer with an aspiration to merge expansive background in art and design with technology.
I recently graduated from Grand Circus, an intensive 10-week coding bootcamp, where I learned the web development skills necessary to devote my passion for art/design to the thriving tech community in Detroit.
My creative career began at Southern Illinois University, where I earned a Bachelors of Fine Arts degree in Studio Art with emphasis in Oil Painting and a minor in Art History.
After college, I transitioned to making and selling jewelry online. Unsatisfied with the e-commerce sites out there I became interested in web development as a means of accurately representing my creative work.
I quickly grew passionate about Front-end web development and see coding as another medium for me to flex my creative problem solving skills.


Plain and simple, it would cut down on the amount of fatal vehicle crashes. The rate of fatal crashes per km driven is about half as high for 18 and 19 year olds compared to 16 and 17 year olds according to safewise.org. Refer to the statistics page to see the numbers.
Another reason is that it will make teens more active. Removing the option to drive will cause the teenagers to walk, ride bikes, or other active options which gives the teens more excercise.
My last point is about emotional maturity. The age of 16 is a very confusing and troubling time for both male and female teens, and adding driving into that equation will most likely make teens make bad decisions, whereas 18 year olds are more emotionally mature.


Subset of Theoretical Practice
a part of the
Circle of Studies of Idea and Ideology
Description
Protocols
Schedule


Pickup Time: {{job.pickupTime}} | Dropoff Time: {{job.dropOffTime}}
No. of Passengers: {{job.numPassengers}}
Status: {{job.status}}
Requester: Contact Information:
Call Requester
Confirm Trip


ClawPlotItem¶
For usage see Using setplot.py to specify the desired plots and Plotting examples.
Objects of this class are usually created by the new_plotitem method of a ClawPlotAxes object.
The examples shown below are fragments of a typical setplot function which assume plotaxes is an instance of ClawPlotAxes.
See also
- class ClawPlotItem¶
Attributes¶
The following attributes can be set by the user:
- plot_type : str
Type of plot desired, one of the following:
- ‘1d_plot’ : one dimensional line or set of points plotted using the matplotlib plot command.
- ‘1d_from_2d_data’ : 1d plot generated from 2d data, for example as a slice of the data or a scatter plot of data that should be radially symmetric,
- ‘1d_fill_between’ : 1d filled plot between two variable specified by the attributes plot_var and fill_var2.
- ‘2d_contour’ : two dimensional contour plot,
- ‘2d_pcolor’ : two dimensional pcolor plot,
- ‘2d_schlieren’ : two dimensional Schlieren plot,
- ‘2d_patch’ : two dimensional plot of only the cell and/or patch edges, no data
- outdir : str or None
Directory to find data to be plotted. If None, then data comes from the outdir attribute of the parent ClawPlotData item.
- plot_var : int or function
If an integer, then this specifies which component of q to plot (with the Python convention that plot_var=0 corresponds to the first component).
If a function, then this function is applied to q on each patch to compute the variable var that is plotted. The signature is
- var = plot_var(current_data)
The current_data object holds data from the current frame that can be used to compute the variable to be plotted.
- afteritem : str or function or None
A string or function that is to be executed after plotting this item. If a string, this string is executed using exec. If a function, it should be defined to have a single argument current_data.
For example:
def afteritem(current_data):
- afterpatch : str or function or None
A string or function that is to be executed after plotting this item on each patch. (There may be more than 1 patch in an AMR calculation.) If a string, this string is executed using exec. If a function, it should be defined to have a single argument “data”, [documentation to appear!]
For example:
def afterpatch(current_data): cd = current_data print "On patch number %s, xlower = %s, ylower = %s" \ % (cd.patchno, cd.xlower, cd.ylower)
would print out the patch number and lower left corner for each patch in a 2d computation after the patch is plotted.
- MappedGrid : bool
If True, the mapping specified by the mapc2p attribute of the underlying ClawPlotData object should be applied to the patch before plotting.
- show : bool
If False, plotting of this object is suppressed.
The other attributes required depend on the plot_type, as summarized below:
Special attributes for all 1d plots, plot_type = ‘1d...’¶
- plotstyle : str
Anything that is valid as a fmt group in the matplotlib plot command. For example:
- ‘-‘ for a solid line, ‘- -‘ for a dashed line,
- ‘o’ for circles, ‘x’ for x’s, ‘-o’ for circles and a line,
- ‘bo’ for blue circles (though if the color attribute is also set that will overrule the color in the format string).
- color : str
Any matplotlib color, for example red can be specified as ‘r’ or ‘red’ or ‘[1,0,0]’ or ‘#ff0000’.
Special attributes for plot_type = ‘1d_plot’¶
No extra attributes.
Special attributes for plot_type = ‘1d_fill_between’¶
This gives a filled polygon between two curves using the matplotlib fill_between command.
- plot_var : int or function
as described above defines one curve,
- plot_var2 : int or function
defines the second curve for the fill_between command. Default is the zero function.
- fill_where : str or None
- defines the where attribute of the fill_between command.
Example:
plotitem = plotaxes.new_plotitem(plot_type='1d_fill_between') plotitem.plot_var = 0 # means use q[:,0]
would produce a filled curve between y=q[:,0] and y=0.
Example:
plotitem = plotaxes.new_plotitem(plot_type='1d_fill_between') plotitem.plot_var = 0 # means use q[:,0] plotitem.plot_var2 = 1
would produce a filled curve between y=q[:,0] and y=q[:,1].
Special attributes for plot_type = ‘1d_from_2d_data’¶
- map_2d_to_1d : function
Example: In a 2d computation where the solution q[:,:,0] should be radially symmetric about (x,y)=(0,0), the following will result in a scatter plot of the cell values q[i,j,0] vs. the radius r(i,j):
def q0_vs_radius(current_data): # convert 2d (x,y,q) into (r,q) for scatter plot from numpy import sqrt x = current_data.x y = current_data.y r = sqrt(x**2 + y**2) q0 = current_data.var # the variable specified by plot_var # q0 = current_data.q[:,:,0] # would also work return r,q0 plotitem = plotaxes.new_plotitem(plot_type='1d_from_2d_data') plotitem.plot_var = 0 # use q[:,:,0] plotitem.plotstyle = 'o' # symbol not line is best for scatter plot plotitem.map_2d_to_1d = q0_vs_radius # the function defined above
See current_data for a description of the current_data argument.
Special attributes for all 2d plots, plot_type = ‘2d...’¶
- celledges_show : bool
If True, draw the cell edges on the plot. The attribute ‘amr_celledges_show’ should be used for AMR computations to specify that cell edges should be shown on some levels and not others. See AMR Attributes.
- patchedges_show : bool
If True, draw the edges of patches, mostly useful in AMR computations.
Special attributes for plot_type = ‘2d_contour’¶
- contour_levels : numpy array or None
If a numpy array, the contour levels. If None, then the next three attributes are used to set the levels.
- contour_nlevels : int
Number of contour levels
- contour_min : float
Minimum contour level
- contour_max : float
Maximum contour level
- contour_colors : color specification
Colors of contour lines. Can be a single color such as ‘b’ or ‘#0000ff’, or a colormap.
- amr_contour_colors : list of color specifications
As with other attributes (see AMR Attributes below), instead of contour_colors you can specify amr_contour_colors to be a list of colors (or colormaps) to use on each AMR level, e.g.:
amr_contour_colors = ['k','b','r']
to use black lines on Level 1, blue on Level 2, and red for all subsequent levels. This is useful since with the matplotlib contour plotter you will see both fine and coarse cell edges on top of one another in refined regions (Matplotlib lacks the required hidden line removal to blank out the lines from coarser patches easily. See also the next attributes.)
- contour_show : boolean
Show the contour lines only if this attribute is true. This is most commonly used in the form of the next attribute,
- amr_contour_show : list or tuple of booleans
Determines whether to show the contour lines on each AMR level. Useful if you only want to view the lines on the finest patches.
- contour_kwargs : dictionary
Other keyword arguments for the contour command.
Special attributes for plot_type = ‘2d_pcolor’¶
- pcolor_cmap : matplotlib colormap
- pcolor_cmin : float
- pcolor_cmax : float
In general you should specify pcolor_cmin and pcolor_cmax to specify the range of q values over which the colormap applies. If they are not specified they will be chosen automatically and may vary from frame to frame. Also, if AMR is used, they may vary from patch to patch, yielding very confusing plots.
- pcolor_colorbar : bool
If True, a colorbar is added to the plot.
AMR Attributes¶
Many attributes listed above also have a second related attribute with the same name pre-pended with amr_. If this attribute is set, it should be a list whose elements are of the type specified by the original name, and the elements of the list will be used for different AMR refinement levels.
For example, the following commands:
plotitem = plotaxes.new_plotitem(plot_type='2d_contour')
plotitem.contour_color = 'r'
will result in all contour lines being red on all levels of AMR. On the other hand:
plotitem = plotaxes.new_plotitem(plot_type='2d_contour')
plotitem.amr_contour_color = ['k', 'b']
will result in contour lines on patches at level 1 being black and on patches of level 2 or higher being blue.
Note that if the list is shorter than the number of levels, the last element is used repeatedly.
If both attributes contour_color and amr_contour_color are set, only amr_contour_color is used.
A common use is to show cell edges only on coarse levels, not on finer levels, e.g.:
plotitem.amr_celledges_show = [1,1,0]
will result in celledges being shown only on levels 1 and 2, not on finer levels.
Methods¶
- getframe(frameno)¶
Returns an object of class pyclaw.solution.Solution containing the solution being plotted by this object for frame number frameno.
- gethandle()¶
Returns the handle for this item.


[§431:9C-107] Rules. The commissioner may adopt rules in accordance with chapter 91 to effectuate the purposes of this article. [L 2002, c 155, pt of §2]


The DICE 2010 model, developed by Professor William Nordhaus of Yale University, is the most widely
used model of the economics of climate change. webDICE is an online simulation of this model which allows
users to see the effects of climate change on the economy and society.
The default values in the model only present the user with one set of projected potential impacts.
In order to understand the range of potential impacts as a result of climate change, the user can adjust
parameters within the model to reflect differing beliefs about climate, the economy and the future.
Contact
This model has been developed by researchers at the University of Chicago supported by RDCEP.
We are continually working to improve the model and the interface. If you have suggestions,
contact us at: info-rdcep@ci.uchicago.edu


Toggle navigation
Citizen Sensing
About
Help
Events
Admin
Manage Devices
Manage Events
Users
Lost Report
Login
Logout


lwIP code documentationmagic.cGo to the documentation of this file.00001 /***************************************************************************** 00002 * magic.c - Network Random Number Generator program file. 00003 * 00004 * Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. 00005 * portions Copyright (c) 1997 by Global Election Systems Inc. 00006 * 00007 * The authors hereby grant permission to use, copy, modify, distribute, 00008 * and license this software and its documentation for any purpose, provided 00009 * that existing copyright notices are retained in all copies and that this 00010 * notice and the following disclaimer are included verbatim in any 00011 * distributions. No written agreement, license, or royalty fee is required 00012 * for any of the authorized uses. 00013 * 00014 * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR 00015 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00016 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00017 * IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00018 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00019 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00020 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00021 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00022 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00023 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00024 * 00025 ****************************************************************************** 00026 * REVISION HISTORY 00027 * 00028 * 03-01-01 Marc Boucher<EMAIL_ADDRESS>00029 * Ported to lwIP. 00030 * 97-12-04 Guy Lancaster<EMAIL_ADDRESS>Global Election Systems Inc. 00031 * Original based on BSD magic.c. 00032 *****************************************************************************/ 00033 /* 00034 * magic.c - PPP Magic Number routines. 00035 * 00036 * Copyright (c) 1989 Carnegie Mellon University. 00037 * All rights reserved. 00038 * 00039 * Redistribution and use in source and binary forms are permitted 00040 * provided that the above copyright notice and this paragraph are 00041 * duplicated in all such forms and that any documentation, 00042 * advertising materials, and other materials related to such 00043 * distribution and use acknowledge that the software was developed 00044 * by Carnegie Mellon University. The name of the 00045 * University may not be used to endorse or promote products derived 00046 * from this software without specific prior written permission. 00047 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 00048 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 00049 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00050 */ 00051 00052 #include "ppp.h" 00053 #include "randm.h" 00054 #include "magic.h" 00055 00056 00057 /***********************************/ 00058 /*** PUBLIC FUNCTION DEFINITIONS ***/ 00059 /***********************************/ 00060 /* 00061 * magicInit - Initialize the magic number generator. 00062 * 00063 * Since we use another random number generator that has its own 00064 * initialization, we do nothing here. 00065 */ 00066 void magicInit() 00067 { 00068 return; 00069 } 00070 00071 /* 00072 * magic - Returns the next magic number. 00073 */ 00074 u32_t magic() 00075 { 00076 return avRandom(); 00077 } 00078 00079 |


Image Classification (MobileNet trained on ImageNet) with Tensorflow.js
Drop your image here
Classify Image!


Sam Putnam
Work
About
Work
Vahula - d3 visualization of contract work
Github - index of open source projects


--- layout: portfolio title: Collabolabs.co date: 2015-04-22 11:30:49.000000000 +05:30 categories: [] tags: [] status: publish type: portfolio published: true meta: _thumbnail_id: '4232' dsq_thread_id: '3703432232' _edit_last: '4' name: Collabolabs.co _jetpack_related_posts_cache: a:0:{} author: login: cvlewis email<EMAIL_ADDRESS>display_name: Carl V. Lewis first_name: Carl V. last_name: Lewis excerpt: !ruby/object:Hpricot::Doc options: {} ---
[caption id="attachment_4232" align="aligncenter" width="780"] Screenshot of sketch prototype, branding and hand-coded responsive landing page for CollaboLabs.co.[/caption]


[ aws ]
Configure AWS CLI options.  You can configure a named profile using the --profile argument. If your config file does not exist (the default location is ~/.aws/config), the AWS CLI will create it for you. To keep an existing value, hit enter when prompted for the value. When you are prompted for information, the current value will be displayed in [brackets]. If the config item has no value, it be displayed as [None]. Note that the configure command only work with values from the config file. It does not use any configuration values from environment variables or the IAM role.
Note: the values you provide for the AWS Access Key ID and the AWS Secret Access Key will be written to the shared credentials file (~/.aws/credentials).
The following configuration variables are supported in the config file:
For more information on configuration options, see Configuring the AWS Command Line Interface in the AWS CLI User Guide.
aws configure [--profile profile-name]
None
To create a new configuration:
$ aws configure
AWS Access Key ID [None]: accesskey
AWS Secret Access Key [None]: secretkey
Default region name [None]: us-west-2
Default output format [None]:
To update just the region name:
$ aws configure
AWS Access Key ID [****]:
AWS Secret Access Key [****]:
Default region name [us-west-1]: us-west-2
Default output format [None]:


An Improved Illumination Model for Shaded Display (used Python)
For our scene , we chose to put 3 spheres on one plane. We have set up a light source from which the light rays are emitted.  A white light source has been setup some distance away from the 3D location of it. To improve our accuracy and implementation of the ray tracer, we have made alternate black and white squares on the plane , like a chess board.
The scene is an array consisting of all of our objects.The members of the scene respectively are sphere 1, sphere 2 , sphere 3 and a plane.
For making sphere , we have created a function "add_sphere()" . It has the following arguments :
For making the plane , we have created a function "add_plane()". It has the following arguments:
We achieve a 2d image of a 3d scene here. We did this in the following steps:
We assumed that our ray starting from ray origin and going in direction ray direction is going to intersect our sphere at two points. We found out 'l' , the vector from rayorigin to 'C' , the centre of our sphere. We draw a perpendicular from C to our ray which intersects it at 'tca'. We then use the pythagoras theorem to find 'thc'. Now to get the intersection points 't0' and 't1' we can add and subtract 'thc' to 'tca'. The nearest point of the two will be 't'. Now , we want to access this point in terms of rayorigin and raydirection. Hence we represent it at 'phit' in the picture or 'M' in our code.
We have represented our plane using one random point on the plane , 'P0'' and a normal away from the plane 'N'. Assuming that the ray intersects the plane at 'P', any ray 'P0-->P' will always be perpendicular to our normal 'N' and hence, their dot product will always be zero.We use this condition to check if there is any point of intersection in our code.
We store our point of intersection as 't' , be it sphere or plane. To traverse to a this point from ray origin , we use a variable 'M = rayO + rayD * t'. Another variable 'N' to get the variable from that point away from the object which our ray has just hit.We consider 'M' as our pseudo-rayoriginand 'M-->L' as our pseudo-raydirection. We again check for any intersections , and if there are any intersections , we return a shadow ( or black colour ) . If there are no more intersection , we go ahead with colouring our objects.
We assign the colour we stored in the variable 'ambient' to colour our light ray. It can be any color , we have used a shade of white here.
For diffusion of colors, i.e. , each colour will have some diffusion coefficient to it for coloring, depending on how the light touches it. The ray touching the object at a perfect 90 degrees will give it the best colour while an angle 0f 0 degrees will give it 0 (black) colour. We increase the ray colour by a fraction, with 1 being the highest.This is known as Lambert shading.
We have also added Blinn-Phong shading. It is used for highlighting the pixel where light hits the sphere squarely, that is , it will be completely illuminated ,i.e. , in white colour.This is an optional feature we added up .
Finally, we repeat the complete process untill the complete image . The final image looks something like this :


---
layout: page
title: Terms and Acknowledgements
permalink: /terms/
---
I am incredibly grateful to the developers of Ed (https://minicomp.github.io/ed/) for allowing others to use their magnificent Jekyll template, which I used to develop this website.


My Dev setup on Mac
I’ve been asked a couple of times about my dev environment: what apps I’m currently using, and how I do use them. I’m going to try and sum it all up, going from terminal to text editor of choice and some of the plugins I have on them.
Text editor
Sublime Text 2 may be downloaded and evaluated for free, however a license must be purchased for continued use. There is currently no enforced time limit for the evaluation.
I haven’t updated to Sublime Text 3 yet. Actually, I still don’t see the point of upgrading.
Packages:
- BracketHighlighter Bracket and tag highlighter for Sublime Text
- Codeigniter Snippets A list of codeigniter snippets for Sublime Text 2
- DocBlockr DocBlock comments in Javascript, PHP, CoffeeScript, Actionscript, C & C++
- Emmet (ex-Zen Coding) for Sublime Text
- Git Plugin for some git integration into sublime text
- GitGutter A Sublime Text 2/3 plugin to see git diff in gutter
- SideBarEnhancements Enhancements to Sublime Text sidebar. Files and folders.
- Theme - Nexus Dark custom UI theme for Sublime Text 2 Theme
- Tomorrow Color Schemes Tomorrow Color Schemes for SublimeText 2
Settings:
{
"auto_complete_commit_on_tab": false,
"bold_folder_labels": true,
"caret_style": "smooth",
"color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme",
"detect_indentation": false,
"draw_white_space": "all",
"fallback_encoding": "UTF-8",
"file_exclude_patterns":
[
"*.pyc",
"*.pyo",
"*.exe",
"*.dll",
"*.obj",
"*.o",
"*.a",
"*.lib",
"*.so",
"*.dylib",
"*.ncb",
"*.sdf",
"*.suo",
"*.pdb",
"*.idb",
".DS_Store",
"*.class",
"*.psd",
"*.db"
],
"folder_exclude_patterns":
[
".svn",
".git",
".hg",
"CVS",
".hgcheck"
],
"font_face": "Inconsolata",
"font_options":
[
"no_bold",
"subpixel_antialias"
],
"font_size": 13.0,
"highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages":
[
"Vintage"
],
"line_padding_bottom": 3,
"line_padding_top": 3,
"match_brackets": true,
"match_brackets_angle": true,
"match_brackets_braces": true,
"match_brackets_content": true,
"match_brackets_square": true,
"rulers":
[
95
],
"scroll_past_end": true,
"show_full_path": true,
"tab_size": 4,
"theme": "Nexus.sublime-theme",
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true,
"vintage_start_in_command_mode": true,
"word_wrap": true
}
Version Control
For version control I use Git. Along with that I normally use one git-GUI called SourceTree.
SourceTree is a free Git & Mercurial client for Windows or Mac. I specially like this one because it has Git-Flow already out of the box.
Along with this I also use those two packages for Sublime. Specially when I want to do something quick like a diff or change branches. That way, I don’t need to go into my Terminal or SourceTree so often.
Terminal
ZSH is a must have. And if you want to use it like me you’ll need the oh-my-zsh awesome sauce.
oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout…
Here’s my ZSH config:
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh
#Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="miloshadzic"
# Aliases
alias zshconfig="st ~/.zshrc"
alias ohmyzsh="st ~/.oh-my-zsh"
alias vhosts="sudo nano /etc/apache2/extra/httpd-vhosts.conf"
alias st='/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl'
alias ll="ls -lG"
alias la="ls -AG"
alias l="ls -FG"
alias ls="ls -G"
alias restarta="sudo apachectl restart"
alias update-php="sudo curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4"
alias ctags="`brew --prefix`/bin/ctags"
alias ctagsbuild="ctags -R -f .tags"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Comment this out to disable weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(git github git-flow brew django node perl rails rails3 mercurial)
source $ZSH/oh-my-zsh.sh
unsetopt correct_all
# Customize to your needs...
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
Markdown
I write all my blog posts in Markdown. I could do it right on my blog, but I do most of my writing when I don’t have a connection. So I need a Markdown app. Mou app is my favourite. One of the best features is that I can include my blog css and see exactly how my post is going to be like while I write it.
PHP Environment
Most developers using PHP probably use MAMP, personally I don’t like it. I use a simple binary package where you can install or update your php with just one terminal command using curl.
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4
Database management
Most of my projects are using mySQL. Installing mySQL is quite easy, but the best free tool for database management is probably Sequel Pro.
Office Apps
These days I actually use the bundle from Apple, since it’s free and it’s a good alternative to the expensive Microsoft one.
Browsers
Email Client
Sparrow has been acquired by Google, hence the development stopped. However, this is still my favourite email client.
Cloud Storage
Calendar
For calendar I use the calendar app for mac, synced with my Google account, since I use Android there’s no need for the iCloud stuff here.
Package manager
Homebrew is the missing package manager for OS X, specially if like me, you had bad experiences with MacPorts.
Social apps
We all need to socialize every now and again. For that I use the following.
Let me know what alternatives you are using besides the ones I listed.


This enum determines the partition key column for the bigquery tables. Partitioning can improve query performance and reduce query cost by filtering partitions. Refer to https://cloud.google.com/bigquery/docs/partitioned-tables for details.
Namespace: Google.Cloud.Asset.V1
Assembly: Google.Cloud.Asset.V1.dll
Syntax
public enum PartitionKey
Fields
| Name | Description |
|---|---|
| RequestTime | The time when the request is received. If specified as partition key, the result table(s) is partitoned by the RequestTime column, an additional timestamp column representing when the request was received. |
| Unspecified | Unspecified partition key. Tables won't be partitioned using this option. |


Web Interfaces |
Assuming that you've read and digested the previous search example, you're probably wanting to put up some sort of fancy web interface to all your data. While we can't help out with the XML to HTML stylesheet or the actual web design for your site, below is a simplified and annotated copy of the Cards, Not Words main handling functions.
01 from mod_python import apache, Cookie 02 from mod_python.util import FieldStorage 03 import sys, traceback, os, cgitb, time, urllib, crypt 04 from server import SimpleServer 05 from PyZ3950 import CQLParser 06 from baseObject import Session 07 os.chdir("/home/cheshire/cheshire3/code") 08 session = Session() 09 serv = SimpleServer(session, '/home/cheshire/cheshire3/configs/serverConfig.xml') 10 l5r = serv.get_object(session, 'db_l5r') 11 titleIdx = l5r.get_object(session, 'l5r-idx-1') 12 recStore = l5r.get_object(session, 'l5rRecordStore') 13 cardTxr = l5r.get_object(session, 'l5rHtmlTxr') 14 singleTxr = l5r.get_object(session, 'l5rSingleTxr') 15 cartTxr = l5r.get_object(session, 'l5rCartTxr') 16 rsetStore = l5r.get_object(session, 'defaultResultSetStore') 17 authStore = serv.get_object(session, 'defaultAuthStore')
Most importantly, we need to import the linking code from mod_python (line 1). From then on, this is similar to the sort of code that you'll see in any handler, we import the server implementation, create the server and find various useful objects within the framework.
18 class CNWHandler: 19 templatePath = "/home/cheshire/cheshire3/cnw/html/template.ssi" 20 def generate_query(self, form): 21 if (form.has_key('query') and form['query'].value): 22 return urllib.unquote(form['query'].value) 23 if (form.has_key('bool')): 24 bool = form['bool'].value 25 else: 26 bool = 'and' 27 n = 1 28 cql = [] 29 while (form.has_key('idx%d' % n)): 30 try: 31 term = form['term%d' % n].value 32 except: 33 n += 1 34 continue 35 if (term): 36 idx = form['idx%d' % n].value 37 rel = form['rel%d' % n].value 39 if (cql): 40 cql.append(bool) 41 cql.append(' %s %s "%s" ' % (idx, rel, term)) 42 n += 1 43 return ''.join(cql)
In line 18 we start a class definition. This is going to define the sort of object used to handle the generic web interface. It has one member property, the path to a template file which we'll use at the end to provide a consistent look and feel across the entire site.
As the query will most likely come in from an HTML form, we need to create the equivalent CQL search and this is what generate_query() does above. First it checks to see if there's a 'query' parameter and it's been filled out (21). If so, then unhexify it (turn all the %20s into spaces, for example) and send it straight back (22) -- the user has been kind enough to give us CQL directly. Otherwise we need to process the rest of the form.
If the form has a 'bool' field, then we'll use it (24) between each of the clauses in the CQL, otherwise we'll just default to 'and' (26). Then we step through the form looking for fields that start with 'idx' and end in a number (29). These are the names of the indexes to use. If the input element for that index has been filled out (31) we'll use it for the term, otherwise we just step back to the beginning and look for the next index (34).
If the term has been given we construct the index relation term searchClause for CQL (41) from the values given in the form (36-37) and if this is the second or subsequent clause (39) we'll also add in the boolean (40). At the end we join it all together and return it.
44 def generateCart(self, rset): 45 global titleIdx, recStore, cartTxr 46 rset.order(session, titleIdx) 47 cards = [] 48 for item in rset: 49 rec = recStore.fetch_record(session, item.docid) 50 htmldoc = cartTxr.process_record(session, rec) 51 html = htmldoc.get_raw(session) 52 cards.append(html) 53 cards.append('
Show Cart -->
') 54 cards = ''.join(cards) 55 text = '
Cart:

%s
' % cards 56 return text 57 58 def display_searchList(self, cql, start=0): 59 global l5r, titleIdx, recStore, singleTxr 60 try: 61 tree = CQLParser.parse(cql) 62 except: 63 return ("Search Error", "
Could not parse your query. Please try again.") 64 try: 65 rs = l5r.search(session, tree) 66 except Exception, err: 67 return ("Search Error", "
Could not process your query. Please try again.
Error: %s" % err) 68 rs.order(session, titleIdx) 69 d = ['
'
Card Name	Stock	Price	Add
'] 70 end = start + min(len(rs) - start, 25) 71 while (x < len(rs) and x < end): 72 rec = recStore.fetch_record(session, rs[x].docid) 73 htmldoc = singleTxr.process_record(session, rec) 74 html = htmldoc.get_raw(session) 75 d.append(html) 76 d.append("
") 77 txt = ''.join(d) 78 t = "Cards %d-%d/%d" % (start+1, min(end, len(rs)), len(rs)) 79 return (t, txt) 80 81 def display_card(self, rec, path): 82 global cardTxr 83 htmldoc = cardTxr.process_record(session, rec) 84 html = htmldoc.get_raw(session) 85 (title,html) = html.split('||') 86 href = path + "?c=%d&addToCart=%d" % (rec.id, rec.id) 87 return (title, "
%s
" % html)
This section has three functions, generateCart(), display_searchList() and display_card(), but they all serve the same purpose -- to display the records in an appropriate format. The generateCart() function creates a simple display of name, price and number of entries to display for a user's shopping cart, the display_searchList() function does the same but with more information for a list of matched records, and display_card() shows the entire text of the record.
In generateCart, first we specifically allow global references (45) to the various objects that were identified in the first invocation of the script. The function is given a ResultSet object, so we sort that by the title index next to produce a more usefully ordered list (46). In the following block, we step through each entry in the result set, fetch the record (49), turn it into the appropriate format for display (50) and then add that to our list of entries. Then we put a bit of HTML wrapping (53-55) around the text we've generated and return it.
Display_searchList starts off much the same, except that it's given a CQL query to execute. First we try to parse the query into tree form (61), and if we can't we return a brief error message (63). Then we try to run the search (65) and again an error message if that fails (67). Now we have the result set, and the same thing happens. We order it by the title of the card (68), create some wrapping (69), step through the result set and get an HTML display for it (71-75), put it all together and return it (79).
The last function here, display_card, is even simpler. It's given the record to display, it processes it into HTML (83) adds some wrapping and returns the data.
88 def send_html(self, text, req, code=200): 89 req.content_type = 'text/html' 90 req.content_length = len(text) 91 req.send_http_header() 92 req.write(text) 93 94 def handle(self, req): 95 global rsetStore, recStore 96 path = req.uri[1:] 97 form = FieldStorage(req) 98 f = file(self.templatePath) 99 tmpl = f.read() 100 f.close() 101 tmpl = tmpl.replace('\n', '') 102 103 cks = Cookie.get_cookies(req) 104 if cks.has_key('cnwCart'): 105 cart = cks['cnwCart'] 106 rsid = cart.value 107 try: 108 cartRSet = rsetStore.fetch_resultSet(session, rsid) 109 except: 110 cartRSet = None 111 if (cartRSet == None): 112 cartRSet = resultSet.SimpleResultSet(session) 113 rsid = rsetStore.create_resultSet(session, cartRSet) 114 cart = Cookie.Cookie('cnwCart', rsid) 115 else: 116 cartRSet = resultSet.SimpleResultSet(session, []) 117 rsid = rsetStore.create_resultSet(session, cartRSet) 118 rsetStore.commit_storing(session) 119 cart = Cookie.Cookie('cnwCart', rsid) 120 Cookie.add_cookie(req, cart) 121 122 if (path == "card.html"): 123 if (form.has_key('c')): 124 id = form['c'].value 125 rs = l5r.get_object(session, "l5rRecordStore") 126 rec = rs.fetch_record(session, id) 127 (t, d) = self.display_card(rec, req.uri) 128 else: 129 (t,d) = ("Error", "
You must give a card id to display
") 130 elif (path =="list.html"): 131 if (form.has_key('start')): 132 start = int(form['start'].value) 133 else: 134 start = 0 135 cql = self.generate_query(form) 136 (t, d) = self.display_searchList(cql, start=start, url=path) 137 else: 138 if (os.path.exists(path)): 139 f = file(path) 140 d = f.read() 141 f.close() 142 stuff = d.split("\n", 1) 143 if (len(stuff) == 1): 144 t = "Cards, Not Words" 145 else: 146 (t, d) = stuff 147 else: 148 t = "Page Not Found" 149 d = "
Could not find your requested page: '%s'

Please try again.
" % path 150 151 cart = self.generateCart(cartRSet) 152 tmpl = tmpl.replace("%CONTENT%", d) 153 tmpl = tmpl.replace("%CONTENTTITLE%", t) 154 tmpl = tmpl.replace("%CARTINCLUDE%", cart) 155 self.send_html(tmpl, req)
While most of the work as far as display is done in the previous section, we still need to handle the HTTP side of things a bit more to get the right bits and pieces to those routines. Here we have a quick function to return the HTML back to the browser, and the function called to handle the Apache request.
Send_html() simply sets up the request object and then sends the HTML back to the browser. It sets the content_type (89), the length (90), sends the HTTP headers (91) and the HTML (92). Easy.
First we cut off the leading '/' from the URI so we can from now on treat it as a path on disk (96) and create an object to handle any form data in the request (97). So that our HTML template is always current, we read it in every time (98-101).
Once that initial processing is out of the way, we do some Cookie tricks. We use a cookie called 'cnwCart' to store a ResultSet identifier to use as a shopping cart. If it exists already (104), we try to fetch the result set from storage (108). If that fails (eg the result set has expired), then we create a new one and set a Cookie to record the new identifier (112-114). If there's no shopping cart cookie, then we create one (116-119). Line 120 then adds the cookie to be sent back to the browser.
Lines 122-129 handle the dynamic page used to display a single card (record), 130-136 display a list of matching titles, and 137 through to 149 handles everything else (static pages and 404 errors).
First the single card.
We check to see if the request has the card id (123), otherwise we give an error message (129).
If the request is okay, then we fetch the record from the recordStore (126) and call the display_card() function discussed previously.
For card lists, we check to see the start position in the result set, defaulting to 0 (131-134), generate the query (135) and use the display code above to render the list (136).
Otherwise it's just a static page, so we check to see if it exists (138) otherwise return a 404 style error (147-149).
If it does exist, we read it in, treating the first line as the title in the template.
Finally we generate the shopping cart HTML (151), do some replaces in the template (152-154) and send the HTML back to the browser (155). Phew! :)
156 def handler(req): 157 os.chdir("/home/cheshire/cheshire3/www/cnw/html") 158 cnwhandler = CNWHandler() 159 try: 160 cnwhandler.handle(req) 161 except: 162 req.content_type = "text/html" 163 cgitb.Hook(file = req).handle() 164 return apache.OK 165 166 def authenhandler(req): 167 pw = req.get_basic_auth_pw() 168 user = req.user 169 u = authStore.fetch_object(session, user) 170 if (u and u.password == crypt.crypt(pw, pw[:2])): 171 return apache.OK 172 else: 173 return apache.HTTP_UNAUTHORIZED
We also need some standard functions for the mod_python apache handler to call. The first, handler(), processes all incoming requests. It moves to the appropriate base directory where the HTML is kept (157) and creates an object to handle the request (158). It then tells the object to process it (160), and if it errors, it uses the stock Python cgi traceback display code (163).
To allow for an administration interface, we have an authentication handler. All this needs to do is return whether or not the user is authorised (171) or not (173). To do this, it checks the password given to apache (167) against the password on the user object from a Cheshire3 userStore (169).
And that's it :) A web site handled by Cheshire3.
You can find the full example code, with all the extra bits and pieces omitted for sanity above, in the Cheshire3 distribution.