Jing Ke Stabbed Qin Dynasty
See: Jing ke stabs Qin dynasty and gloves come off
twelve gold men
twelve large bronze figures made by Qin Shi Huang after unifying the six countries to prevent the people from rebelling. It is said that Qin Shihuang used it to prevent the circulation of metals and collect metals from all over the world. There are also legends that Qin Shihuang used Dayu's nine ding to cast it.
meeting aliens
according to historical records, Qin Shihuang had contact with people from outside the world during his time and learned from them the casting technology of chrome plating onto bronze swords.
run Matthew goldie
see: Qin Shi Huang runs Matthew goldie
fengchan mount tai
see: Qin Shihuang's Fengchan of Mount Tai and Taishan's Fengchan of
great anger Xiang jun
once when Qin Shi Huang was on a tour, he was almost unable to cross the river due to strong winds in Xiangshan shrine. Qin Shihuang asked the doctor (a kind of official position at that time) and said, "what god is Xiang jun?" The doctor replied, "I heard Yao's daughter, shun's wife, is buried here." Qin Shihuang was very angry with this Xiangjun, believing that he was deliberately against him, and sent someone to cut down all the trees on Xiangshan. Because the place is red clay, Xiang mountain has also become a red bald mountain.
mars staying at antares
mars staying at antares refers to an astronomical phenomenon, "Mars" refers to Mars. Because Mars is twinkling like fire and its whereabouts are uncertain, it was called "Mars" in ancient times. But Mars is considered to be the representative of war and death. During the thirty-six years (the first 211 years) of Qin Shihuang, it appeared. According to historical records, a meteorite fell in Dongjun and turned into a stone when it landed. Some people carved on the stone "The first emperor died and the land was divided." When the Emperor heard this, he sent a censor to go to the house to inquire. No one pleaded guilty, so he captured and killed all the people living around the stone and burned the meteorite.
zulong died this year
one day in late autumn in the thirty-sixth year (211 years ago) of Qin Shi Huang, Qin Shi Huang was still traveling quickly when a stranger suddenly appeared in front of him and stopped the carriage. The man took a piece of jade in his hand and quietly gave it to the messenger. The emissary took over suspiciously, but before he could speak, the other side said a word: "Zulong died this year"! Hit the floor. The messenger was scared to death. "Zulong died this year." Ancestor, is the ancestor, the first person; Dragon, the image of monarch.  The stranger dropped the stone-like cold words, dropped his face and walked away quickly. The messenger returned to his mind and tried to find it again. People had already disappeared.
a room, a room, the emperor died
"a room, a room, the emperor begins to die." This rhyming popular minor was handed down in Qin Shihuang's 26th year (221 years ago). At that time, the common people and civilian workers were burdened with the construction of Epang Palace. This slogan is undoubtedly the voice of the people.
the deceased Qin zhehu also
Qin Shihuang asked Lu Sheng to visit immortals everywhere. He brought back books from overseas and said, "Even those who died of Qin Hu also died." Qin Shihuang thought Hu was a Hu and sent 300,000 people to attack the Huns in the north. But what I didn't expect was that the Qin Dynasty perished at the hands of his son Hu Hai.


Official Statistics
Official statistics covering outcomes from initial teacher education inspections between September 2015 to August 2016.
MS Word Document , 492KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 579KB , 14 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 2.19MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
View online Download CSV 16.3KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 276KB , 10 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 104KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
These statistics covering initial teacher education (ITE) in England are made up of:
Official statistics are produced impartially and free from political influence.
Published: 22 September 2016
Updated: 24 November 2016


No. 3 Michigan State, No. 4 Kansas enjoy getaway to Maui Invitational | Honolulu Star-Advertiser
College basketball powerhouses Michigan State and Kansas welcome the timing of the 2019 Maui Jim Maui Invitational, for vastly different reasons. Read more
Mahalo for reading the Honolulu Star-Advertiser!
You're reading a premium story. Read the full story with our Print & Digital Subscription.
Already a subscriber? Log in now to continue reading this story.
Print subscriber but without online access? Activate your Digital Account now.


Activities of the EPICS V4 Working Group
Archive of Activities of the EPICS Version 4 WG.
7-Nov-2011 to 20-Dec-2011
Concentrating on
simplifying EPICS V4 for the user programmer and regularizing APIs. Specifically,
present activities include:
- Review of ezpva and "gather" continue
- ezpva rename. Question of whether to rename, and if so to do it. Depends on whether
ezpva will include async acquisition
- Implementation of ezpva specification (Marty, Matej)
- NT type definitions specifications (Bob)
- NT type id definition (requires lead)
- NT type implementations (requires lead)
- Question of how to encode NTTable; in CORBA Any style, or as variant union
- Unsigned Int handling. Document, republish to observers, and implement
- Comments on pvAccess specification. Integration of remarks from Michael and
others. Edits for lingo. (Matej, Marty, Greg).
- pvAccess publication to techtalk
- Reorganisation of pvData & pvIOC javadoc into "classical" javadoc plus
reference doc (Marty)
- Example and tests of use of pvAccess for async 'monitoring'. (Paul Gibbons,
Marty, Bob). Outcome should be 1) example code in pvData, 2) Text for a getting
started document
- Twiss model service design (Guobao, Greg)
- Model simulation service (aka "Online Calculator") design (Guobao, Greg)
- EPICS V4 getting started developer's guide document preparation (Greg, Matej)
- Publishing javadoc for EPICS V4 modules through Maven (Matej, Gabriele)
- Logging and setpoint save tool, design and implementation (Guobao, Marty)
- Moving meeting hosting service from Adobe Connect to something else (Greg)
- Development, code, and documentation standards (Matej, Greg)
- use of Doxygen for documentation generation. What standards must be in place so
you get useful output, bit just pretty pages with nothing in them (needs lead)
- Question: Sending pvStructure to a service. Is it supported? How do you do it? Need demo
- Sending pvStructure that changes call to call through ezpva. Requires code changes (Matej, Marty)
- Question: Build environment for EPICS V4 in a deployed lab setting (ie, Maven or just
Make?)
- Deploying rdbService at PSI (Greg)
Oct 2011 to 7-Nov-2011
- Normative types. Definitions and binding implementations of the so called,
normative types. These are the data types that it is expected all general purpose
clients will understand, and it is encouraged that services and IOC applications
should supply.
- First services, writing and deployment. In particular, a general relational
database access service, and lattice modelling services are being actively
developed
- Display tools and frameworks. pvManager, and CSS plugins
- Directory service support, in particular channelFinder, and associated CSS plugins
- The Gather Service Framework. This is a server side distributed data acquisition
framework, which helps a programmer to construct a service that collects data from a
number of sources (EPICS v4 or EPICS V4 records), and makes it available in the
normative types suiatble for displaying data of a number of devices. For instance,
useful for BPM orbit, or linac energy management services.
- Fully implementing the
the pvAccess
specification working draft.
Nov-2011 to May 2012
- The pvAccess Protocol Specification is being published at Second Public Working
Draft after successful expert review. It appears to be ready for independent
implementation
- Work to allow V4-V3 interoperability without modification to V3 IOCs, is in
final stages
- A setpoint save and restore tool (server and client) have been completed (BNL)
- A production level relation database service has been deployed (PSI) (based on the
rdbService example)
- An EPICS V4 based EPICS Archiver service and client have been developed. This
allows easy (command line) access to archive data
(Diamond).
-
A nominal architecture for production level EPICS V4 institutional installation,
has been developed and implemented at PSI, and published as a guide for other institutions
- Direct support for unsigned integer data type, has recently been completed for
Java bindings, and is being worked on for C++ bindings of EPICS V4
- Improvements are being made to the primary client-server data acquisition API to
make it more efficient and intuitive (moving Field name from a property of the
Field to a property of the field's parent, brings it in line with existing
introspection API norms
- An easy to use API, EasyPVA, is at alpha and being reviewed
- "Gather Service," a service platform for helping a programmer to acquire data from many V3 PVs in
a service, and supply them as a single record to a V4 client, is at alpha and being
tested
- A BPM orbit service, based on Gather, is being developed (PSI)
- "Normative Types", a normative document which defines interoperable application level data
types, is approaching
First Public Working Draft. Requires expert review first. The way these types
self-identify is being worked on
- Work is just beginning on a general purpose EPICS V4 Directory Service
(HZB)
- A general purpose command line tool, "eget" is being developed
- Downloaders are beginning to compile and install EPICS V4 IOC on VxWorks,
Windows and RTEMS. It now compiles in VxWorks 6.0, while v5 is in work in
progress. EPICS V4 has recently been compiled in MS Windows, and being tested
now
- An accelerator model service is about to be started


I have a Battery System with Xtender 3.5kW which I charge with 5kW Solar only when the house would export energy. I discharge the battery in when the house buy energiy from the grid. My goal is to hold the import / export energy to zero.
Sorry for my english its not my first language.
I read out the actual power from the Battery system. While charging it is a positive power. In the evening I switch to grid feed mode I discharge the batterie in this time it is a negative power.
I want to know how many kWh I charged per day and how many kWh I discharged. The input process power to kWhd would sum up both values
I extend in /www/emoncms/Modules/input the file process_model.php
add 2 lines to get_process_list()
$list[31] = array(_("PowPlus to kWh/d"),ProcessArg::FEEDID,"powerplus_to_kwhd",1,DataType::DAILY,"Power"); // Klaus
$list[32] = array(_("PowMinus to kWh/d"),ProcessArg::FEEDID,"powerminus_to_kwhd",1,DataType::DAILY,"Power"); //Klaus
please just take the next free array numbers in $list[...]
and define functions "powerplus_to_kwhd" and "powerminus_to_kwhd"
If this is usefull for anybody
greetings from rainy Munich (3.38 kw sun input this day)
Klaus
public function powerplus_to_kwhd($feedid, $time_now, $value)
{
$new_kwh = 0;
// Get last value
$last = $this->feed->get_timevalue($feedid);
if ($last_time && ((time()-$last_time)<7200))
{
// kWh calculation
$time_elapsed = ($time_now - $last_time);
$kwh_inc = ($time_elapsed * $value) / 3600000.0;
if ($kwh_inc > 0) {
$new_kwh = $last_kwh + $kwh_inc;
}
else {
$new_kwh = $last_kwh;
}
} else {
// in the event that redis is flushed the last time will
// likely be > 7200s ago and so kwh inc is not calculated
// rather than enter 0 we enter the last value
$new_kwh = $last_kwh;
}
if ($last_time && ((time()-$last_time)<7200))
{
// kWh calculation
$time_elapsed = ($time_now - $last_time);
$kwh_inc = ($time_elapsed * $value) / 3600000.0;
if ($kwh_inc < 0) {
$new_kwh = $last_kwh + $kwh_inc;
}
else {
$new_kwh = $last_kwh;
}
} else {
// in the event that redis is flushed the last time will
// likely be > 7200s ago and so kwh inc is not calculated
// rather than enter 0 we enter the last value
$new_kwh = $last_kwh;
}
Power to kwh/day extended to kwhd_plus and kwhd_minus
Submitted by KlausA on Tue, 27/05/2014 - 17:29I have a Battery System with Xtender 3.5kW which I charge with 5kW Solar only when the house would export energy. I discharge the battery in when the house buy energiy from the grid. My goal is to hold the import / export energy to zero.
Sorry for my english its not my first language.
I read out the actual power from the Battery system. While charging it is a positive power. In the evening I switch to grid feed mode I discharge the batterie in this time it is a negative power.
I want to know how many kWh I charged per day and how many kWh I discharged. The input process power to kWhd would sum up both values
I extend in /www/emoncms/Modules/input the file process_model.php
add 2 lines to get_process_list()
$list[31] = array(_("PowPlus to kWh/d"),ProcessArg::FEEDID,"powerplus_to_kwhd",1,DataType::DAILY,"Power"); // Klaus
$list[32] = array(_("PowMinus to kWh/d"),ProcessArg::FEEDID,"powerminus_to_kwhd",1,DataType::DAILY,"Power"); //Klaus
please just take the next free array numbers in $list[...]
and define functions "powerplus_to_kwhd" and "powerminus_to_kwhd"
If this is usefull for anybody
greetings from rainy Munich (3.38 kw sun input this day)
Klaus
public function powerplus_to_kwhd($feedid, $time_now, $value)
{
$new_kwh = 0;
// Get last value
$last = $this->feed->get_timevalue($feedid);
$last['time'] = strtotime($last['time']);
if (!isset($last['value'])) $last['value'] = 0;
$last_kwh = $last['value']*1;
$last_time = $last['time']*1;
if ($last_time && ((time()-$last_time)<7200))
{
// kWh calculation
$time_elapsed = ($time_now - $last_time);
$kwh_inc = ($time_elapsed * $value) / 3600000.0;
if ($kwh_inc > 0) {
$new_kwh = $last_kwh + $kwh_inc;
}
else {
$new_kwh = $last_kwh;
}
} else {
// in the event that redis is flushed the last time will
// likely be > 7200s ago and so kwh inc is not calculated
// rather than enter 0 we enter the last value
$new_kwh = $last_kwh;
}
$feedtime = mktime(0, 0, 0, date("m",$time_now), date("d",$time_now), date("Y",$time_now));
$this->feed->update_data($feedid, $time_now, $feedtime, $new_kwh);
return $value;
}
public function powerminus_to_kwhd($feedid, $time_now, $value)
{
$new_kwh = 0;
// Get last value
$last = $this->feed->get_timevalue($feedid);
$last['time'] = strtotime($last['time']);
if (!isset($last['value'])) $last['value'] = 0;
$last_kwh = $last['value']*1;
$last_time = $last['time']*1;
if ($last_time && ((time()-$last_time)<7200))
{
// kWh calculation
$time_elapsed = ($time_now - $last_time);
$kwh_inc = ($time_elapsed * $value) / 3600000.0;
if ($kwh_inc < 0) {
$new_kwh = $last_kwh + $kwh_inc;
}
else {
$new_kwh = $last_kwh;
}
} else {
// in the event that redis is flushed the last time will
// likely be > 7200s ago and so kwh inc is not calculated
// rather than enter 0 we enter the last value
$new_kwh = $last_kwh;
}
$feedtime = mktime(0, 0, 0, date("m",$time_now), date("d",$time_now), date("Y",$time_now));
$this->feed->update_data($feedid, $time_now, $feedtime, $new_kwh);
return $value;
}


go to
onslyde.com/remix12
WTF!!!
Nice!!!
Yo DAWG!
u connected?

HAHAHA! YEAH!


White House Christmas tree to be delivered on Monday
WASHINGTON (AP) - The White House is gearing up for Christmas. Melania Trump is set to receive the official White House Christmas tree on Monday afternoon.
The Christmas tree is coming from Mahantongo Valley Farms in Pitman, Pennsylvania. Owner Larry Snyder won an annual contest held by the National Christmas Tree Association, earning the honor of gifting a tree from his farm to the White House.
The White House didn't provide details about the tree in its announcement Tuesday.
But the tree will arrive at the front door of the White House by horse-drawn carriage and become the focal point of Christmas in the White House Blue Room.
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.


Press n or j to go to the next uncovered block, b, p or k for the previous block.
| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| server |
|
100% | 34/34 | 87.5% | 7/8 | 100% | 8/8 | 100% | 27/27 |
| server/error |
|
100% | 18/18 | 100% | 8/8 | 100% | 5/5 | 100% | 16/16 |
| server/plugins/compress |
|
100% | 4/4 | 100% | 0/0 | 100% | 1/1 | 100% | 4/4 |
| server/plugins/express |
|
82.35% | 28/34 | 50% | 6/12 | 90% | 9/10 | 86.67% | 26/30 |
| server/plugins/favicon |
|
100% | 6/6 | 100% | 2/2 | 100% | 1/1 | 100% | 5/5 |
| server/plugins/final |
|
100% | 23/23 | 100% | 15/15 | 100% | 3/3 | 100% | 21/21 |
| server/plugins/log |
|
100% | 5/5 | 100% | 0/0 | 100% | 1/1 | 100% | 5/5 |
| server/plugins/parser |
|
86.67% | 26/30 | 71.43% | 10/14 | 100% | 9/9 | 100% | 24/24 |
| server/plugins/security |
|
100% | 9/9 | 62.5% | 5/8 | 100% | 3/3 | 100% | 9/9 |
| server/plugins/session |
|
78.57% | 11/14 | 60% | 6/10 | 75% | 3/4 | 84.62% | 11/13 |
| server/plugins/socket |
|
38.89% | 7/18 | 12.5% | 1/8 | 16.67% | 1/6 | 41.18% | 7/17 |
| server/plugins/static |
|
100% | 5/5 | 100% | 2/2 | 100% | 1/1 | 100% | 4/4 |
| server/reply |
|
100% | 131/131 | 91.43% | 32/35 | 100% | 44/44 | 100% | 115/115 |
| server/router |
|
98.41% | 62/63 | 95% | 19/20 | 100% | 13/13 | 100% | 57/57 |
| server/src/config |
|
90.08% | 118/131 | 83.2% | 104/125 | 88.89% | 16/18 | 92.17% | 106/115 |
| server/src/join |
|
100% | 23/23 | 90% | 9/10 | 100% | 3/3 | 100% | 22/22 |
| server/src/modern |
|
100% | 34/34 | 100% | 14/14 | 100% | 9/9 | 100% | 30/30 |
| server/test |
|
92.31% | 84/91 | 82.98% | 39/47 | 94.44% | 17/18 | 93.67% | 74/79 |


Definitions and interpretation
- In this Policy, the following definitions are used:
Data
collectively all information that you submit to Virtual Training Team via the Website. This definition incorporates, where applicable, the definitions provided in the Data Protection Laws;
Cookies
a small text file placed on your computer by this Website when you visit certain parts of the Website and/or when you use certain features of the Website. Details of the cookies used by this Website are set out in clause below Paragraph 15 (Cookies) and the Cookies Schedule;
Data Protection Laws
any applicable law relating to the processing of personal Data, including but not limited to the Directive 96/46/EC (Data Protection Directive) or the GDPR, and any national implementing laws, regulations and secondary legislation, for as long as the GDPR is effective in the UK;
GDPR
the General Data Protection Regulation (EU) 2016/679;
Virtual Training Team, we or us
The Virtual Training Team Limited, a company incorporated in England and Wales with registered number 10565643 whose registered office is at Church Lane Farmhouse, Church Lane, Brandon, Grantham, Lincolnshire, NG32 2AP;
UK and EU Cookie Law
the Privacy and Electronic Communications (EC Directive) Regulations 2003 as amended by the Privacy and Electronic Communications (EC Directive) (Amendment) Regulations 2011;
Services
professional corporate training services and train the trainer services for corporate trainers;
User or you
any third party that accesses the Website and is not either (i) employed by Virtual Training Team and acting in the course of their employment or (ii) engaged as a consultant or otherwise providing services to Virtual Training Team and accessing the Website in connection with the provision of such services; and
Website
the website that you are currently using, www.thevirtualtrainingteam.com, and any sub-domains of this site unless expressly excluded by their own terms and conditions.
- In this Policy, unless the context requires a different interpretation:
the singular includes the plural and vice versa;
references to sub-clauses, clauses, schedules or appendices are to sub-clauses, clauses, schedules or appendices of this Policy;
a reference to a person includes firms, companies, government entities, trusts and partnerships;
"including" is understood to mean "including without limitation";
reference to any statutory provision includes any modification or amendment of it;
the headings and sub-headings do not form part of this Policy.
Scope of this Policy
This Policy applies only to the actions of Virtual Training Team and Users with respect to this Website. It does not extend to any websites that can be accessed from this Website including, but not limited to, any links we may provide to social media websites.
For purposes of the applicable Data Protection Laws, Virtual Training Team is the "data controller". This means that Virtual Training Team determines the purposes for which, and the manner in which, your Data is processed.
Data collected
-
We may collect the following Data, which includes personal Data, from you:
name;
job title;
profession;
contact Information such as email addresses and telephone numbers;
IP address (automatically collected);
web browser type and version (automatically collected);
operating system (automatically collected);
a list of URLs starting with a referring site, your activity on this Website, and the site you exit to (automatically collected);
in each case, in accordance with this Policy.
How we collect Data
We collect Data in the following ways:
data is given to us by you ; and
data is collected automatically.
Data that is given to us by you
Virtual Training Team will collect your Data in a number of ways, for example:
when you contact us through the Website, by telephone, post, e-mail or through any other means;
when you complete surveys that we use for research purposes (although you are not obliged to respond to them);
when you make payments to us, through this Website or otherwise;
when you elect to receive marketing communications from us;
when you use our Services;
in each case, in accordance with this Policy.
Data that is collected automatically
To the extent that you access the Website, we will collect your Data automatically, for example:
we automatically collect some information about your visit to the Website. This information helps us to make improvements to Website content and navigation, and includes your IP address, the date, times and frequency with which you access the Website and the way you use and interact with its content;
we will collect your Data automatically via Cookies, in line with the cookie settings on your browser. For more information about cookies, and how we use them on the Website, see Paragraph 15.
Our use of Data
Any or all of the above Data may be required by us from time to time in order to provide you with the best possible service and experience when using our Website. Specifically, Data may be used by us for the following reasons:
internal record keeping;
improvement of our Services;
transmission by email of marketing materials that may be of interest to you;
contact for market research purposes which may be done using email, telephone or mail. Such information may be used to customise or update the Website and/or the Services;
in each case, in accordance with this Policy.
We may use your Data for the above purposes if we deem it necessary to do so for our legitimate interests. If you are not satisfied with this, you have the right to object in certain circumstances as detailed in Paragraph 11. below (Your rights).
For the delivery of direct marketing to you via e-mail, we will need your consent, whether via an opt-in or soft-opt-in:
soft opt-in consent is a specific type of consent which applies when you have previously engaged with us (for example, you contact us to ask us for more details about a particular product/service, and we are marketing similar products/services). Under "soft opt-in" consent, we will take your consent as given unless you opt-out.
for other types of e-marketing, we are required to obtain your explicit consent; that is, you need to take positive and affirmative action when consenting by, for example, checking a tick box that we'll provide.
if you are not satisfied about our approach to marketing, you have the right to withdraw consent at any time. To find out how to withdraw your consent, see the section headed "Your rights" below.
We may use your Data to show you Virtual Training Team adverts and other content on other websites. If you do not want us to use your data to show you Virtual Training Team adverts and other content on other websites, please turn off the relevant cookies (please refer to Paragraph 15. below).
Who we share Data with
We may share your Data with the following groups of processors for the following reasons:
any of our group companies or affiliates in order to ensure the proper administration of our website and the Services;
our employees, agents and/or professional advisors in order to obtain confidential advice;
third party service providers in order to enable such service providers to perform functions on our behalf that ensure the ongoing provision of the website and our Services on an uninterrupted basis;
third party payment providers who process payments for Services;
in each case, in accordance with this Policy.
Keeping Data secure
We will use technical and organisational measures to safeguard your Data, for example:
access to your account is controlled by a password and a user name that is unique to you.
we store your Data on secure servers.
Technical and organisational measures include measures to deal with any suspected data breach. If you suspect any misuse or loss or unauthorised access to your Data, please let us know immediately by contacting us.
If you want detailed information from Get Safe Online on how to protect your information and your computers and devices against fraud, identity theft, viruses and many other online problems, please visit www.getsafeonline.org. Get Safe Online is supported by HM Government and leading businesses.
Data retention
-
Unless a longer retention period is required or permitted by law, we will only hold your Data on our systems for the period necessary to fulfil the purposes outlined in this Policy or until you request that the Data be deleted.
-
Even if we delete your Data, it may persist on backup or archival media for legal, tax or regulatory purposes.
Your rights
You have the following rights in relation to your Data:
Right to access - the right to request (i) copies of the information we hold about you at any time, or (ii) that we modify, update or delete such information. If we provide you with access to the information we hold about you, we will not charge you for this, unless your request is "manifestly unfounded or excessive." Where we are legally permitted to do so, we may refuse your request. If we refuse your request, we will tell you the reasons why.
-
Right to correct - the right to have your Data rectified if it is inaccurate or incomplete.
-
Right to erase - the right to request that we delete or remove your Data from our systems.
-
Right to restrict our use of your Data - the right to "block" us from using your Data or limit the way in which we can use it.
-
Right to data portability - the right to request that we move, copy or transfer your Data.
-
Right to object - the right to object to our use of your Data including where we use it for our legitimate interests.
To make enquiries, exercise any of your rights set out above, or withdraw your consent to the processing of your Data (where consent is our legal basis for processing your Data), please contact us.
If you are not satisfied with the way a complaint you make in relation to your Data is handled by us, you may be able to refer your complaint to the relevant data protection authority. For the UK, this is the Information Commissioner's Office (ICO). The ICO's contact details can be found on their website at https://ico.org.uk/.
It is important that the Data we hold about you is accurate and current. Please keep us informed if your Data changes during the period for which we hold it.
Transfers outside the European Economic Area
Data which we collect from you may be stored and processed in and transferred to countries outside of the European Economic Area (EEA). For example, this could occur if our servers are located in a country outside the EEA or one of our service providers is situated in a country outside the EEA.
We will only transfer Data outside the EEA where it is compliant with data protection legislation and the means of transfer provides adequate safeguards in relation to your data, for example by way of a Data Processing Agreement, incorporating the current standard contractual clauses adopted by the European Commission.
To ensure that your Data receives an adequate level of protection, we have put in place appropriate safeguards and procedures with the third parties we share your Data with. This ensures your Data is treated by those third parties in a way that is consistent with the Data Protection Laws.
Links to other websites
-
This Website may, from time to time, provide links to other websites. We have no control over such websites and are not responsible for the content of these websites. This Policy does not extend to your use of such websites. You are advised to read the privacy policy or statement of other websites prior to using them.
Changes of business ownership and control
-
We may, from time to time, expand or reduce our business and this may involve the sale and/or the transfer of control of all or part of Virtual Training Team. Data provided by Users will, where it is relevant to any part of our business so transferred, be transferred along with that part and the new owner or newly controlling party will, under the terms of this Policy, be permitted to use the Data for the purposes for which it was originally supplied to us.
-
We may also disclose Data to a prospective purchaser of our business or any part of it.
-
In the above instances, we will take steps with the aim of ensuring your privacy is protected.
Cookies
-
This Website may place and access certain Cookies on your computer. We use Cookies to improve your experience of using the Website and to improve our range of services. We have carefully chosen these Cookies and has taken steps to ensure that your privacy is protected and respected at all times.
-
All Cookies used by this Website are used in accordance with current UK and EU Cookie Law.
-
Before the Website places Cookies on your computer, you will be presented with a message bar requesting your consent to set those Cookies. By giving your consent to the placing of Cookies, you are enabling us to provide a better experience and service to you. You may, if you wish, deny consent to the placing of Cookies; however certain features of the Website may not function fully or as intended.
-
This Website may place the following Cookies:
Type of Cookie Purpose Strictly necessary cookies
These are cookies that are required for the operation of our website. They include, for example, cookies that enable you to log into secure areas of our website, use a shopping cart or make use of e-billing services.
Analytical/performance cookies
They allow us to recognise and count the number of visitors and to see how visitors move around our website when they are using it. This helps us to improve the way our website works, for example, by ensuring that users are finding what they are looking for easily.
Functionality cookies
These are used to recognise you when you return to our website.
Targeting cookies
These cookies record your visit to our website, the pages you have visited and the links you have followed. We will use this information to make our website and the advertising displayed on it more relevant to your interests. We may also share this information with third parties for this purpose.
-
You can find a list of Cookies that we use in the Cookies Schedule.
-
You can choose to enable or disable Cookies in your internet browser. By default, most internet browsers accept Cookies but this can be changed. For further details, please consult the help menu in your internet browser.
-
You can choose to delete Cookies at any time; however, you may lose any information that enables you to access the Website more quickly and efficiently including, but not limited to, personalisation settings.
-
It is recommended that you ensure that your internet browser is up-to-date and that you consult the help and guidance provided by the developer of your internet browser if you are unsure about adjusting your privacy settings.
-
For more information generally on cookies, including how to disable them, please refer to www.aboutcookies.org. You will also find details on how to delete cookies from your computer.
General
-
You may not transfer any of your rights under this Policy to any other person. We may transfer our rights under this Policy where we reasonably believe your rights will not be affected.
-
If any court or competent authority finds that any provision of this Policy (or part of any provision) is invalid, illegal or unenforceable, that provision or part-provision will, to the extent required, be deemed to be deleted, and the validity and enforceability of the other provisions of this Policy will not be affected.
-
Unless otherwise agreed, no delay, act or omission by a party in exercising any right or remedy will be deemed a waiver of that, or any other, right or remedy.
-
This Agreement will be governed by and interpreted according to the law of England and Wales. All disputes arising under the Agreement will be subject to the exclusive jurisdiction of the English and Welsh courts.
Changes to this Policy
-
We reserve the right to change this Policy as we may deem necessary from time to time or as may be required by law. Any changes will be immediately posted on the Website and you are deemed to have accepted the terms of the Policy on your first use of the Website following the alterations.
-
You may contact us at any time should you have any queries about this Policy.
Cookies
Below is a list of the cookies that we use. We have tried to ensure this is complete and up to date, but if you think that we have missed a cookie or there is any discrepancy, please let us know.
Strictly necessary
We use the following strictly necessary cookies:
__cfruid (Cloudflare) |
||
|---|---|---|
JSESSIONID |
nr-data.net |
|
PHPSESSID |
thevirtualtrainingteam.com |
Preserves user session state across page requests. |
Analytical/performance
We use the following analytical/performance cookies:
_ga (Google) |
Registers a unique ID that is used to generate statistical data on how the visitor uses the website. |
|
|---|---|---|
_ga_# (Google) |
Used by Google Analytics to collect data on the number of times a user has visited the website as well as dates for the first and most recent visit. |
|
_gat |
thevirtualtrainingteam.com |
Used by Google Analytics to throttle request rate |
_gid |
Registers a unique ID that is used to generate statistical data on how the visitor uses the w eb site. |
Functionality
We use the following functionality cookies:
messagesUtk (Hubspot) |
Stores a unique ID string for each chat-box session . This allows the web site-support to see previous issues and reconnect with the previous supporter. |
|---|
Targeting
We use the following targeting cookies:
__hmpl (Hubspot) |
Collects information on user preferences and/or interaction with web-campaign content - This is used on CRM -campaign -platform used by website owners for promoting events or products. |
|---|---|
__ptq.gif (Hubspot) |
Sends data to the marketing platform Hubspot about the visitor's device and behaviour. Tracks the visitor across devices and marketing channels. |
ads/ga-audiences (Google) |
Used by Google AdWords to re-engage visitors that are likely to convert to customers based on the visitor's online behaviour across web sites. |
HUBLYTICS_EVENTS_53 (Hubspot) |
Collects data on visitor behaviour from multiple websites, in order to present more relevant advertisement - This also allows the web site to limit the number of times that they are shown the same advertisement. |


--- layout: post authors: ["Daniel Chen"] title: "Software Carpentry as a University Course" date: 2016-02-05 time: "17:00:00" tags: ["Community", "Teaching", "SWDCRetreat"] redirect_from: - /blog/2016/02/swdcretreat2015-university_course.html ---
The inaugural Software Carpentry and Data Carpentry Instructor and Helper Retreat is over! It was a long day, packed with tutorials, demos, and discussions. I (Daniel Chen) led a round table discussion with Tiffany Timbers and Jenny Bryan. You can watch the discussion and/or read the notes on etherpad.
First, thanks to everyone who joined the discussion:
Hopefully I got everyone!
Last year I asked the discuss list if anyone had any experience with turning the software-carpentry lessons into a university course. Bill Mills mentioned that two main hurdles revolve around politics and curriculum control. Ethan White and Michael Jackson went on to describe their own experiences with setting up a course. I want to believe the push for code sharing and reproducible articles from Nature and the submission guidelines for PLOS ONE have addressed Greg's initial observations that universities find that lab skills course is not worth graduate credit. The conversation continues here, here, and a blog post by Damien Irving here.
The Software Carpentry and Data Carpentry Instructor and Helper Retreat seemed like a good means to revisit the discussion.
Daniel Chen, Tiffany Timbers, and Jenny Bryan.
[T]: Anthony has been teaching the course to undergraduate students and I've been building off Katy and Anthony's experiences from teaching as well as my own from teaching Software Carpentry. I decided to use this textbook as my course at Quest. The book is based on Python, but many of the principles are language agnostic. The book covers many topics SWC teaches, such as Bash, Python, Make, documentation, licenses, and many open science aspects. Katy and Anthony also created a Github repo of annotated iPython (Jupyter) notebooks of the code in the book. The notebook annotations are aimed to help those who are using the book as instructors and/or students.
[T] This was not much of an issue for me because Quest is a liberal arts college, and this is essentially the only computer science course they are offering this year.
[J] I just sneak it into courses that are already on the books. I have created a course from scratch, and it was a nightmare. My advice is to teach it in courses that already have a number (i.e., approved by the university). But that's not a longterm solution. It is better if you pilot it in an existing course or a topics course.
[J] Two good options for introducing SWC-type material: For faculty or others who teach regular courses, one could offer it as a special topics course. For grad students who normally TA, one could offer to run a hands-on computing lab for a related, existing course.
[T] My current course is taught as a 3.5 week course. This is supposed to be the same number of hours as a full semester course. We cover an abbreviated shell and 6 hours of version control. Since code review was part of the course, learning to send PRs is essential. These sessions were split up a week apart. Then we covered all the Python basics. Data munging and visualizations are really important, so we spent a lot of time with Visualizations and Pandas. Because I think you learn a lot by doing, almost the last 9 hours of the course are done doing hack sessions, where I am around to help. Quest also prefers courses not to be lecture based to promote active learning, so I'm not teaching during the hack sessions.
[J] I don't necessarily teach classic SWC material in the same format use din two-day workshops.
I incorporate it as we go though an existing course.
One of the nice things about spreading out the material, is that you can make the examples less artificial.
This has always been a complaint of mine with the existing SWC material.

By spreading everything out, you give the students a chance to use an example that is not boring.
[J] I have a lot of material in both settings. I use the 2 courses as an excuse to develop each other. I mainly teach R and data analysis. So the SWC git lessons are helpful. I don't teach as much Git formally as I should, I maily teach things by doing. I've never drawn Git concept maps when I teach. Not sure if this is a good or bad thing. But the students end up manage to get the work done. I haven't brought SWC material explicitly, yet.
[J] I don't do small quizzes. I used to have a big giant project at the end, but this ends up with many big heroic things happening at the end of the course for both the students and myself. What would happen is that they would leave stuff to the end, and end up pulling 3 all-nighters and not necessarily get it all done. I would then get 40 or 50 projects that are not amenable to a single rubric. So, I have evolved over the years to homework assignments. These HW assignments are more like prompts, and are given once a week. The goal is to have small and steady work throughout the semester versus a massive project at the end. Hopefully, this is more true to working in real life and I have a pretty standard rubric and makes grading much easier. Having TAs help too! I teach and have students use Git and the Github infrastructure for commenting on commits and PRs. So, reer review is also invaluable.
[J] My class is wide open to any graduate student. I have undergrads too, but I have to sign forms for them. I have tables and figures that I will put in the etherpad on enrollment statistics. Since I've been tracking the people who attend my course: I've had people from 50 different programs. 25 of which have at least 2 students. So basically, they are all over. 40% are cumulatively statistics since I have all the incoming masters students. Computational biology and bioinformatics are usually the others taking the course. I think it's good to have this diversity in the class and not be hyper specific.
[T] I have been using Katy and Anthony's book for this course because I was hired by the department of physical science at Quest.
Despite 'physics' being in the book and course title, I have a wide variety of people who take my class.
Quest caps classes at 20 students, and my current class has 13 students.
People are from all different departments: biology, physics, oceanography, marketing, and even sociology.
We have a mid-block review for the course where the students provide feedback to the teaching.
They started discussing the textbook and they all really like it.
The book has been very relevant to the class even if I was not teaching straight out of the book.
For example, I was more comfortable teaching the SWC Git material so this is what I taught in our Git workshops.
I used the inflammation dataset where Katy and Anthony used different datasets.
So, the book and class does not need to be catered to physicists.
However, the book is very Python specific.
Shell and Git would be relevant to other things, but more than half of the book is teaching Python.
[J] I have the liberty to teach data analysis.
The first thing we do is create figures using the cleanest data possible.
This was the motivation bet behind the gapminder
package in CRAN.
Then week-by-week we slowly work in the details.
We start from a 'happy' place.
Then edit a README
on Github.
Then, perform local git edits before pushing it back to Github.
The goal is to focus on small milestones with visual and tangible results and motivate with success.
Thinking about motivation is really important, then you can slowly develop the tools underneath.
I have the luxury of doing this because it is a full semester 13 week course.
[T] I agree motivation is key to getting students engaged and on board. My course is taught in 3.5 weeks instead of 13 weeks. However, during this time, this is the only course the students are focused on. One of the drawbacks about my format is you miss the ability to consolidate information. It's more like a 3.5 week long SWC workshop.
To compare my course with Katy, Anthony, and Bill:
I did go with a big final project (maybe a decision I'll be regretting soon?), so during the day we learn something for 3 hours and then I have the students implement something from the day's lesson that applies to the final project. For example:
I try to give a big picture in the beginning of class (e.g. websites hosted on github) then show them organized code repository (e.g. a formated readme and folder structure). However, I do not get to visualization until near the end of 4th or 5th day.
[J] The package itself contains the TSV in non https locations, and github.
[T] Nancy Soontiens from UBC has developed a gapminder lesson for Python for the women in science workshop
[J] I teach less classic SWC. I have 3 hours with the students a week. About 80% of the time is setting the stage with slides. The rest is working in R. The way I do it, most of the learning is in the homeworks. The class is just enough information and guidance so they are not totally lost during the homeworks.
[T] We do 3 hours of shell the first day. 3 Hours of git the next. I think it depends how many active learning exercise you can get. For me it took me 9 Hours to get through loops, functions, and if statements because I had a lot of active learning exercise because I wanted them to fully understand these concepts. Testing took another 3 hours (in the third week of the course). Essentially I do 2.5 weeks of SWC then we do code review. Each student is given the other student's homework to review. And I sit with them and they give me a summary of the pull request. At the same time the rest of the class is working on their final project.
[T] I've been extremely flexible with this. I have them think about the final project from Day 1. They pick something in the area they are interested in and have a research question with a hypothesis and do something that requires a computer to do. These are undergraduates, so my expectations are not as high because they do not have as much research experience. The project end goal is to have a Python script import data and save a plot or table from an analysis or visualization and have a record of the Python script inputs in either a Makefile or Shell script to make sure everything is reproducible. There is also a 2500 word report because they need to be able disseminate their findings and information. Finally, a 8 minute presentation as an IPython (jupyter) notebook.
[T] I get them coding in the notebook and slowly during the first week I show them markdown cells. They don't necessarily use them at the very beginning, but because they see me use them it in class, they eventually do. In the second week, they are asked to do a statistical analysis and in a markdown cell explain why they chose that test and what the test means. It's interesting to see them tell each other to use markdown cells in the peer code review. They push each other to do it. Their final presentation is in a Jupyter Notebook so they are well on their way to doing literate programming, but I do not give an explicit class on it.
[J] I teach rmarkddown on Day 1. It enables them to make a plot which gets them excited. Then you can make a web page. Then you can easily put it on Github. It makes it extremely rewarding to the students. The peer review is helpful because they can provide feedback and have constant interaction between people. The students discuss the layout of the repository, how easy was it to find scripts and understand what the code is doing, etc.
[J] One of other reasons of doing peer review is to get feedback to the students faster than if only the instructor is grading.
[J] My writing on the teaching of the course has always been talks. My courses are online, and I have speaker decks.
There's also Ethan White's courses here and here.
[J] The 2 courses I've taught the past decade is "Data Analysis" where I am chasing technology. It's exhausting, but I also want to learn it myself.
I currently do the opposite in my genomics class. I started by chasing the technology for years, but every year almost required a completely new course re-write. I eventually generalized it to the key genomics pipelines and statistical analysis. For example, multiple comparison and empirical bayes. I try not to chase specific sequencing platforms. You can only be chasing technology a few places at a time.
Research wise, I've only been able to put these classes after I've gotten tenure. This allmws me to put more effort into developing the course with fewer outside distractions. I would say what I'm doing would not mesh well with being super productive research-wise Jeff Leek, Roger Peng, and Rafael Irizarry, are doing on line courses and super productive research-wise.
[J] An army of TAs is critical. I have 6-7 (not all full time). The department here was able to prove that this is not just a statistics class anymore, and people are coming from all over campus. So I got external funding for more TAs than the average graduate class. I only have graduate TAs, no undergraduate TAs.
[T] Unfortunately Quest is a very new institute with limited funding. During class I have no helpers or TAs. This may be a burden or barrier for the student's success. However, there are peer helpers outside of the class who are available.
[J] Strictly anecdotally, the people who are most vocal on Github,in class, and enrollment is disproportionately female (in a good way!). Which I find interesting. The long dialogs I have with students on Github are my female students. Contrast this with my more professional dialogs on Github, which is mostly male.
[Cam] My university is putting a diploma for Library Techs, probably closer to Data Carpentry. We still are figuring things out in terms of delivery, but really appreciate all the models of assessments and topics going on. This is more of a general course which includes undergraduates.
 I (Daniel) realized after re-watching the stream for this blog post, I asked a few overlapping questions that happened because I did not hear part of an answer. This was really from me trying to get my main laptop's Hangout up again, and trying to follow the etherpad for questions. I suppose the next time we run this, we can have a designated spot on the etherpad for questions so audience questions can be easily found.


Crates an SDLFile from a file
Whether or not the file should persist on disk between car ignition cycles.
@property (nonatomic, readonly, getter=isPersistent) BOOL persistent;
var isPersistent: Bool { get }
Whether or not the file should overwrite an existing file on the remote disk with the same name.
@property (nonatomic) BOOL overwrite;
var overwrite: Bool { get set }
The name the file should be stored under on the remote disk. This is how the file will be referenced in all later calls.
@property (nonatomic, copy, readonly) NSString *_Nonnull name;
var name: String { get }
The url the local file is stored at while waiting to push it to the remote system. If the data has not been passed to the file URL, this will be nil.
@property (nonatomic, copy, readonly, nullable) NSURL *fileURL;
var fileURL: URL? { get }
The binary data of the SDLFile. If initialized with data, this will be a relatively quick call, but if initialized with a file URL, this is a rather expensive call the first time. The data will be cached in RAM after the first call.
@property (nonatomic, copy, readonly) NSData *_Nonnull data;
var data: Data { get }
The size of the binary data of the SDLFile.
@property (nonatomic, readonly) unsigned long long fileSize;
var fileSize: UInt64 { get }
The system will attempt to determine the type of file that you have passed in. It will default to BINARY if it does not recognize the file type or the file type is not supported by SDL.
@property (nonatomic, strong, readonly) SDLFileType _Nonnull fileType;
var fileType: SDLFileType { get }
A stream to pull binary data from a SDLFile. The stream only pulls required data from the file on disk or in memory. This reduces memory usage while uploading a large file to the remote system as each chunk of data can be released immediately after it is uploaded.
@property (nonatomic, readonly) NSInputStream *_Nonnull inputStream;
var inputStream: InputStream { get }
Describes whether or not this file is represented by static icon data. The head unit will present its representation of the static icon concept when sent this data.
A file that represents a static icon may not be uploaded via the File Manager. It must be set using the Screen Manager.
Support for this feature may vary by system, but it will generally be more supported in soft buttons and menus.
@property (nonatomic, readonly) BOOL isStaticIcon;
var isStaticIcon: Bool { get }
Initializer unavailable
- (nonnull instancetype)init;
The designated initializer for an SDL File. The only major property that is not set using this is “overwrite”, which defaults to NO.
- (nonnull instancetype)initWithFileURL:(nonnull NSURL *)url
name:(nonnull NSString *)name
persistent:(BOOL)persistent;
init(fileURL url: URL, name: String, persistent: Bool)
The file URL pointing to the local data that will be pushed to the remote system.
The name that the file will be stored under on the remote system and how it will be referenced from the local system. The max file name length may vary based on remote filesystem limitations.
Whether or not the file will persist between ignition cycles.
An SDLFile object.
Create an SDL file using a local file URL.
This is a persistent file, it will be persisted through sessions / ignition cycles. You will only have a limited space for all files, so be sure to only persist files that are required for all or most sessions. For example, menu artwork should be persistent.
Ephemeral files should be created using ephemeralFileAtURL:name:
Warning
If this is not a readable file, this will return nil
+ (nonnull instancetype)persistentFileAtFileURL:(nonnull NSURL *)url
name:(nonnull NSString *)name;
The url to the file that should be uploaded.
The name of the file that will be used to reference the file in the future (for example on the remote file system). The max file name length may vary based on remote filesystem limitations.
An instance of this class, or nil if a readable file at the path could not be found.
Create an SDL file using a local file URL.
This is an ephemeral file, it will not be persisted through sessions / ignition cycles. Any files that you do not know you will use in future sessions should be created through this method. For example, album / artist artwork should be ephemeral.
Persistent files should be created using persistentFileAtURL:name:
Warning
If this is not a readable file, this will return nil
+ (nonnull instancetype)fileAtFileURL:(nonnull NSURL *)url
name:(nonnull NSString *)name;
convenience init(atFileURL url: URL, name: String)
The url to the file on disk that will be uploaded
The name of the file that will be used to reference the file in the future (for example on the remote file system). The max file name length may vary based on remote file system limitations.
An instance of this class, or nil if a readable file at the url could not be found.
Create an SDL file using raw data. It is strongly preferred to pass a file URL instead of data, as it is currently held in memory until the file is sent.
- (nonnull instancetype)initWithData:(nonnull NSData *)data
name:(nonnull NSString *)name
fileExtension:(nonnull NSString *)extension
persistent:(BOOL)persistent;
init(data: Data, name: String, fileExtension extension: String, persistent: Bool)
The raw data to be used for the file
The name of the file that will be used to reference the file in the future (for example on the remote file system). The max file name length may vary based on remote file system limitations.
The file extension. For example “png”. Currently supported file extensions are: “bmp”, “jpg”, “jpeg”, “png”, “wav”, “mp3”, “aac”, “json”. All others will be sent as binary files.
Whether or not the remote file with this data should be persistent
An instance of this class
Create an SDL file using raw data. It is strongly preferred to pass a file URL instead of data, as it is currently held in memory until the file is sent.
This is a persistent file, it will be persisted through sessions / ignition cycles. You will only have a limited space for all files, so be sure to only persist files that are required for all or most sessions. For example, menu artwork should be persistent.
+ (nonnull instancetype)persistentFileWithData:(nonnull NSData *)data
name:(nonnull NSString *)name
fileExtension:(nonnull NSString *)extension;
The raw data to be used for the file
The name of the file that will be used to reference the file in the future (for example on the remote file system). The max file name length may vary based on remote file system limitations.
The file extension. For example “png”. Currently supported file extensions are: “bmp”, “jpg”, “jpeg”, “png”, “wav”, “mp3”, “aac”, “json”. All others will be sent as binary files.
An instance of this class
Create an SDL file using raw data. It is strongly preferred to pass a file URL instead of data, as it is currently held in memory until the file is sent.
This is an ephemeral file, it will not be persisted through sessions / ignition cycles. Any files that you do not know you will use in future sessions should be created through this method. For example, album / artist artwork should be ephemeral.
+ (nonnull instancetype)fileWithData:(nonnull NSData *)data
name:(nonnull NSString *)name
fileExtension:(nonnull NSString *)extension;
convenience init(data: Data, name: String, fileExtension extension: String)
The raw data to be used for the file
The name of the file that will be used to reference the file in the future (for example on the remote file system). The max file name length may vary based on remote file system limitations.
The file extension. For example “png”. Currently supported file extensions are: “bmp”, “jpg”, “jpeg”, “png”, “wav”, “mp3”, “aac”, “json”. All others will be sent as binary files.
An instance of this class


Was the pet younger than 8 weeks old?
Were you able to see the parents?
Did you meet at the breeders home?
Were the pets kept in clean and safe living conditions?
Did your pet have any health concerns?
Please select your dog's breed.


Premium And Authentic
Traditional Food Restaurant
Welcome!
Services
Unique wood fired pizzas or tempted by our pasta antipasto,foccasias,salads and Bruschetta dishes.
Relax in the friendly ambience as you enjoy the aromas of the wood ovens or sit al fresco and soak up the
Mildura sunshine
Food description that is followed
after food title
Food description that is followed
after food title
Food description that is followed
after food title
Reviews
We bring the season`s best mix of organic produce and hand
crafted farm products conveniently to your door by growing and
partnering with local farms and artisans in your area.
-LOO HUDSON


{% load i18n %} {% load cradmin_icon_tags %} {% comment %} Include template used to show an embedded iframe floating above the page with a close button. This renders the ``django-cradmin-floating-fullsize-iframe-wrapper`` AngularJS directive components with some extra components to make it stylable and accessible. Example::


- AChatServer - Class in common
-
An abstract class to override toString() and equals() method
- AChatServer() - Constructor for class common.AChatServer
-
- ADataPacket - Class in provided.datapacket
-
Abstract data packet that defines the use of a Class object as the index type.
- ADataPacket(Class<?>) - Constructor for class provided.datapacket.ADataPacket
-
Constructor for this abstract superclass
- ADataPacketAlgoCmd<R,D,P,A,H extends ADataPacket> - Class in provided.datapacket
-
A DataPacketAlgo command that is designed to work on a DataPacket<D> host.
- ADataPacketAlgoCmd() - Constructor for class provided.datapacket.ADataPacketAlgoCmd
-
- ADataPacketAlgoCmdGroupF<D> - Class in common
-
Here we define a more specific command type for our API implementation
- ADataPacketAlgoCmdGroupF() - Constructor for class common.ADataPacketAlgoCmdGroupF
-
- addChatServer(IChatServer) - Method in interface common.IChatroom
-
Add the specified chatserver to this chatroom.
- addChatServer(IChatServer) - Method in class model.ChatRoom
-
Add chat server to this
- addRoom(IChatroom) - Method in interface common.IUser
-
Add a Chatroom class into its chatroom set
- addRoom(IChatroom) - Method in class model.User
-
Add room
- addToList() - Method in interface model.IMini2ViewAdpt
-
Add chatserver to list
- addToList(IChatServer) - Method in interface model.IMini2ViewAdpt
-
Add to JList the chatserver
- addToList(IChatServer[]) - Method in class view.MiniView
-
Add to list of servers to JList
- addToList(Set<IChatServer>) - Method in class view.MiniView
-
Add the list of servers to JList
- addToList(IChatServer) - Method in class view.MiniView
-
Add a single chat server to server
- addToRemoteRoom(IChatServer, String) - Method in class model.MiniModel
-
Send message to remote room
- addToRemoteRoom(IChatServer, String) - Method in interface view.IMini2ModelAdpt
-
Send a message to remote room
- AExtVisitor<R,I,P,H extends IExtVisitorHost<I,? super H>> - Class in provided.extvisitor
-
Abstract implementation of IExtVisitor that adds an invariant implementation of
storing commands associated with each case in a dictionary indexed by the
case's associated index value.
- AExtVisitor(IExtVisitorCmd<R, I, P, H>) - Constructor for class provided.extvisitor.AExtVisitor
-
Constructor that takes a default command to use.
- AExtVisitor(R) - Constructor for class provided.extvisitor.AExtVisitor
-
A convenience constructor that takes a value that the default command will return.
- AExtVisitorHost<I,H extends IExtVisitorHost<I,? extends H>> - Class in provided.extvisitor
-
Abstract implementation of IExtVisitorHost that provides defines a host by an index value and thus,
a concrete execute method.
- AExtVisitorHost(I) - Constructor for class provided.extvisitor.AExtVisitorHost
-
Constructor for the class.
- append(String) - Method in interface model.IMini2ViewAdpt
-
Append information to view
- append(String) - Method in class view.MiniView
-
Append string to view
- append(ImageIcon) - Method in class view.MiniView
-
Apend a Image icon to view
- appendInfo(String) - Method in interface model.IMain2ViewAdpt
-
Append information to info panel
- appendInfo(String) - Method in class view.MainView
-
Append info to logging text area
- apply(Class<?>, DataPacketGroupF<ImageIcon>, IChatServer...) - Method in class model.ImageDataPacketAlgoCmd
-
- apply(Class<?>, DataPacketGroupF<String>, IChatServer...) - Method in class model.StringDataPacketAlgoCmd
-
- apply(Class<?>, T, P...) - Method in class provided.datapacket.ADataPacketAlgoCmd
-
The actual method called by the host visitor when the associated case is invoked.
- apply(Class<?>, H, P...) - Method in class provided.datapacket.ADataPacketAlgoCmd
-
Abstract method that actually performs the processing of the case.
- apply(I, T, P...) - Method in interface provided.extvisitor.IExtVisitorCmd
-
The method that is run by AExtVisitor when the case associated with this
command is executed.
- apply(P...) - Method in interface provided.util.ILambda
-
Run (apply) the lambda
- apply(P...) - Method in interface provided.util.IVoidLambda
-
Run (apply) the lambda


This Cree keyboard is based on the Cree School Board Old Macintosh keyboard layout. It a "typewriter-style" layout (type one key for one character). It uses Unified Canadian Aboriginal Syllabics.
Important Notice: The default for this keyboard is for characters to be composed. For example, this sequence "_k" or "Ck" would produce ᐗ (U+1417) and "_ + RALT + k" would product ᐙ (U+1419).
You can change the keyboard to produce decomposed characters in two ways. The preferred method is to use Keyman → Configuration.
- Using Keyman Configuration: On Windows or Linux, go to Keyman → Configuration → Keyboard Layouts → CreeBoard → Keyboard Options and choose Decomposed.
You may need to close and reopen your input application and keyboard, before the default behavior changes. This method will change your default to Decomposed and
everytime you switch to this keyboard it will remain using the Decomposed style until you change it back to Composed style using Keyman configuration.
- Using RALT hotkeys (primarily needed for macOS): It is also possible to switch from Composed to Decomposed using the RALT HYPHEN sequence (RALT+-).
Switch back to Composed using the RALT EQUAL sequence (RALT+=). This method will change to Decomposed during just this session of
using the keyboard. After you stop using the keyboard it will return to Composed.


{% load staticfiles %} {% comment %}
Do you like game? Do you want to buy and play?Or do you want to sell the game?
We solve your problem!
Move login/logout into the navbar {% if request.user.is_authenticated %} Logout {% else %} Login to try {% endif %}