19 January 2014
GitHub + University: How College Coding Assignments Should Work
This semester (Spring 2014), I'm a Teaching Assistant (TA) for a course that I took last semester called "Principles of Programming Languages." It was a very enjoyable class and I have always been interested in programming languages. I felt that being a TA would be a great way to explore the learning process and subject matter more deeply.
An Idea
Through out my entire college career, all programming assignments have had to be submitted through BlackBoard. To be as diplomatic as possible, BlackBoard does a lot of things to help students & teachers. Unfortunately it does not do a single one of them well.
The normal way to submit coding assignments is to have homework assigned through BlackBoard and to have to code up the solutions and then zip them up and submit them using the web interface.
BlackBoard Issues
There are many different issues with this.
The first and most obvious is that it is tedious for each party (TA & the student) to zip and extract code.
It can't be automated (painlessly). BlackBoard has a series of iframes that make it incredibly hard to automate submission or retrieval of homework.
Code should not be stored in zip files anymore. Distributing code is a solved problem by using version control systems.
GitHub to the Rescue
Lorand, one of the other TA's, and I both came to the conclusion that using GitHub would be an interesting experiment. We were both very experienced with using Git as well as GitHub so we wanted to brainstorm how we could get a class of considerable size to do this.
The great part is that GitHub provides plenty of opportunities for students and teachers to get free access to normally pay-only features though the GitHub Education section.
Using this, the professor reached out to GitHub and was able to setup an Organization with 125 private repositories for free.
After typing up a little README with the course info, a guide to using Git + GitHub, as well as shamelessly stealing the Half-Life logo, we had an organization that was ready for the semester: ComS342-ISU.
Setting It Up
The first obstacle was that we wanted each student to have a private repository that would contain all their solutions in individual folders. We wanted the repositories to be only visible to the student it belonged to as well as the TA's and instructor.
I knew that I would never want to individually create 50+ repositories and setup the correct push/pull access so I turned to GitHub's API + NodeJS.
Automating Using the API
It only took a few hours but within short time I had a very simple web application that would allow the student to connect using their GitHub account through GitHub's OAuth.
The application would then ask for their University login, check that they are
actually registered for the class, and then automagically create a new private
repository for them in the form hw-answers-<id>
and add them to the Students
team.
In addition to the creating of the repositories, I also made a script to check to see what students aren't in the class that are currently registered and to automatically remind them that they need to register as soon as possible.
Source Code
After the class is finished, I'll make the code to this little bot available on my GitHub.
How We Are Using the Repos
We have a few different repositories that we are using. The first repo is the only public one and it is the course-info repo. It contains the syllabus information as well as some basic guides to help the students set everything up.
The second repository is private but available for all the students to see. This is where we will release homeworks and publish solutions as they become available. This is also the repository that students are encouraged to discuss within the repositories Issue Tracker. This is replacing the discussion boards of the past.
The bulk of our repository usage (roughly 50) is each student's repository to contain their answer sheets. These are essentially manual Forks of the main homework repository from the previous paragraph. The students are responsible for syncing their repositories with the official homework repository to bring in new homeworks as they are released.
There are a few other repositories like one for the code that I've created for the course and the grading infrastructure the other TA has created. We also have an internal homework repository that we use to organize all the future homeworks and to collaborate.
Grading & Feedback
The best part about using GitHub for homework submissions is that it is incredibly easy to give feedback and help the students through learning the material.
In the past, most feedback/grading is provided back to the student in a little .txt file that contains a few comments and the final grade.
With GitHub, we can comment on specific commits, specific lines of code, and see how the student progressed through the homework.
It is far more valuable to the student for this kind of interaction. Without using GitHub, it would be a lot more difficult because of the time it would require to do this.
When it comes to grading, all of our homeworks come with a suite of unit tests that test nearly every part of the homework. The students can get immediate feedback on how well they are doing.
This also makes it incredibly easy to grade. The other TA has created a bot written in Scala that grabs all of the homework repositories and runs the set of unit tests. The results are then written to a text file and pushed back to the repository.
We the TAs then can see the final status of their tests and then spend the rest of the time looking at the code to see why any of the tests failed and how they can improve their code.
This cuts out so much time that would be spent downloading zip files, extracting them, manually running the tests and so on.
Ways to Improve
So far only a week has passed since the semester started so there are a lot of unforeseen things that might happen. I'm sure I will think of other ways to improve this little system but there are a few major ones that I can see right now:
Continuous integration would be nice. Like I mentioned, we have to instruct the bot to grab the homeworks and test them. It would be great to use something like TravisCI to test every commit as it is pushed.
The problem is that the homeworks need to be private but TravisCI is only free for open source projects. It would be great if TravisCI provided an Educational discount like GitHub.
A more formal submission process. Right now we are saying that the code just needs to be pushed by the homework deadline. There is nothing that needs to be done to actually "submit" their homework.
There are a few issues with this because if a student forges a commit time stamp, they can set the date a to be before the deadline and still push the code.
We are looking into ways to counter this in the short term. The first that comes to my mind is to just run a bot shortly after the deadline to grab the SHA-1 HEAD of the master branch and its parent commits for every student's repository. This would ensure that any tampering with the git log would be noticeable and change the SHA-1s.
Going Forward
Once the semester is finished, I will revisit the topic to see how things turned out. I really hope that things go well ^_^.


What is the $pref['brandname'] sync utility?
The utility allows you to sync your webmail account with Outlook. With it, all addressbook information you have with the webmail account are transferred over to Outlook, and vice-versa.
How do I enable Mail sync with Outlook?
To sync your Webmail account with Outlook, do the following:
How do I sync my webmail account with Outlook?
After enabling Mail-syncing (see above), you should see a macro button labeled "@Mail sync" on your toolbar:
Click on the button, and Outlook will sync itself with your webmail account automatically.


Hi all,
I already have a raspberry pi and an emonTH working just fine, logging temperature and humidity on the emoncms.org site.
I am now trying to set up a emontx shield V2 with RFM12b on an existing Arduino UNO R2, I've run the Shield_CT1234 sketch (among others).... which compiles fine and outputs OK to serial (i pick that up via usb on my PC).
The red LED on pin 9 is also blinking every 2 seconds... so that seems OK too...
However, I am not getting any readings on the raspberry pi, that is, nothing is showing up on the "inputs" of emoncms.org, except the emonTH inputs that were already working....
So : something is not working with the wireless transmitting...
I'm pretty bad at soldering, perhaps I did a rubbish job and something is not connected correctly on the RFM12b ? It was a lot smaller and more fiddly than I thought it would be!
I have not yet tried the basic "Tx_SimpleRFM12B_demo" sketch, not sure if that will help....
note: I accidentally soldered the CT jack sockets THE WRONG SIDE UP (yes I'm an ass), but I'm guessing/hoping this should not influence the RFM12b wireless transmissions.... and hopefully the WATT readings can just be multiplied by -1 on emoncms (if they ever get through...)
I hope someone has some input, thanks.
Regards
Lasse, Denmark
picture of shield on ardunio uno:
http://www.lassetobiasen.dk/images/DSC03933%20-%20shield%20on%20uno.JPG
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Some of the soldering on one side isn't all it could be, and the other side is out of focus! However, as the sketch is running and it appears to be transmitting (it is not hanging), then we must check other things first.
Is it the sketch the correct frequency and group for your existing set-up? Is the RFM12B the correct frequency? (See http://openenergymonitor.org/emon/buildingblocks/rfm12b-wireless)
If all those are correct, then a careful look at the RFM12B connections with a magnifying lens would be the next move.
To solve your CT problem, if I read the drawings correctly, all you need to do is move one wire in the plug from the tip to the ring.
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Hi Robert,
Thank you for your kind input. I have tried to look at the solders on the RFM12 and this they seem ok but not great..
Yes, the RFM12B is at the correct frequency (433) and network (210)...
I tried running the "Tx_SimpleRFM12B_demo" sketch to try and further dig into the problem....
(https://raw.githubusercontent.com/openenergymonitor/RFM12B_Simple/master...)
I found this sketch to stop (hang) at the command.
rf12_sendNow(0, &emontx, sizeof emontx);
rf12_sendWait(2);
It works fine with these two lines commented out (although obviously nothing is sent via the RFM12B).
Is the "hang" useful in any way? Asides to hint that it's a hardware problem?
Maybe I should go through all the solders.... or perhaps a incorrect jumper setting on the UNO ?
Kind regards
Lasse
code:
//Simple RFM12B wireless demo - transimtter - no ack
//Glyn Hudson openenergymonitor.org GNU GPL V3 7/7/11
//Credit to JCW from Jeelabs.org for RFM12
#define RF69_COMPAT 0 // define this to use the RF69 driver i.s.o. RF12
#include <JeeLib.h> //from jeelabs.org
#define myNodeID 10 //node ID of tx (range 0-30)
#define network 210 //network group (can be in the range 1-250).
#define RF_freq RF12_433MHZ //Freq of RF12B can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. Match freq to module
typedef struct { int power1, power2, power3, battery; } PayloadTX; // create structure - a neat way of packaging data for RF comms
PayloadTX emontx;
const int LED = 9; //emonTx Shield
void setup() {
rf12_initialize(myNodeID,RF_freq,network); //Initialize RFM12 with settings defined above
Serial.begin(9600);
Serial.println("RFM12B Transmitter - Simple demo");
Serial.print("Node: ");
Serial.print(myNodeID);
Serial.print(" Freq: ");
if (RF_freq == RF12_433MHZ) Serial.print("433Mhz");
if (RF_freq == RF12_868MHZ) Serial.print("868Mhz");
if (RF_freq == RF12_915MHZ) Serial.print("915Mhz");
Serial.print(" Network: ");
Serial.println(network);
pinMode(LED, OUTPUT);
//blink 2s to show we are starting
digitalWrite(LED, HIGH); delay(2000); digitalWrite(LED, LOW);
}
void loop() {
emontx.power1=emontx.power1+1;
emontx.power2=emontx.power2+2;
emontx.power3=emontx.power3+3;
emontx.battery=emontx.battery+4;
rf12_sendNow(0, &emontx, sizeof emontx);
rf12_sendWait(2);
Serial.print("power1: "); Serial.println(emontx.power1);
Serial.print("power2: "); Serial.println(emontx.power2);
Serial.print("power3: "); Serial.println(emontx.power3);
Serial.print("battery: "); Serial.println(emontx.battery);
Serial.println(" ");
digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW);
delay(2000);
}
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
A 'hang' is a good indication that the RFM12B is not responding to the library and the function is not returning. Check your jumper settings and your soldering. Failing that, it might be a faulty RFM12B but most problems with it have turned out to be soldering (look for whiskers as well as bad joints). It might also be a repeat of the problem we saw a few days ago where it needed the interrupt changing in both hardware and software to work (see http://openenergymonitor.org/emon/node/5908). If everything else looks good, try that.
(Not all the pads on the RFM12B are used - check the Wiki and the Eagle CAD files to see which you need to pay attention to.)
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Hi Robert,
I've re-checked the solders (getting slightly better at it now) and also -- like the fellow in node 5908 -- changed the SS to pin 5, with the option 2 (as per http://wiki.openenergymonitor.org/index.php?title=EmonTx_Arduino_Shield if anyone else is reading)
That seemed to solve the problem and the RFM12B is now transmitter to my base, and on to emoncms. (I'm quite surprised how much the soldering quality makes a difference!).
in any case thank you for your help :-)
Now I'll try and solve my CT problem, moving the wire in the plug as you suggest.
Kind regards
Lasse
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
@lassetobiasen, did you need to make the change to RF12.cpp too? It looks like dig 10 does not work on my UNO here either, not sure how I missed that. It worked for me with set_cs set to 5 + the modification to RF12.cpp.
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Sorry, not sure what I did there, it is working fine for me now on dig 10 with no modifications to RF12.cpp and standard firmware.
I have the jumper on Dig10 as so:
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Trystan,
Thanks for replying: yes, I made the RF12.cpp changes when using dig 5... that made it work!
That being said, my soldering is generally not up to scratch which may be the reason dig 10 was not working.....
Now Im trying to make the CT connector work: I soldered the socket wrong way up.... :-(
I'll post some details on that later; Robert suggested I made changes to the plug....
Kind regards from rainy Denmark
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Hi Robert,
Not sure if you are still reading this thread - I am having some problems with the CT connectors soldered "upside down" as i wrote earlier.
(see http://www.lassetobiasen.dk/images/DSC03933%20-%20shield%20on%20uno.JPG)
You mentioned that I could try and switch the tip and ring wires (white and red), i have done this - result can be seen on this picture:
http://www.lassetobiasen.dk/images/2014_10_16_plug_wire_change.JPG
However, my power readings when connecting to the uno+emonTX sheild do not seem right... I definitely get a reading (checked all 4 connectors, all give the same type of readings)... The approximate power consumption is about 200-300W (a playstation, a small TV and two lamps)... but the reading from the CT is only 0-20 Watts...
The CT is connected around only one lead (the phase line) not both, so I think that part is OK. I am also getting fine voltage readings: about 280V
Are the readings from the CT actually in tens of watts (so I multiply the reading by 10) ? That would give a roughly correct reading...
Or perhaps something else is wrong?
Thank you for your input, and your time - that's really great you're helping. I may also try to post this separately
Kind regards from Denmark
Lasse
Sketch used : Shield_CT1234_Voltage
------------------------------------
/*
emonTx Shield 4 x CT + Voltage example
An example sketch for the emontx Arduino shield module for
CT and AC voltage sample electricity monitoring. Enables real power and Vrms calculations.
Part of the openenergymonitor.org project
Licence: GNU GPL V3
Authors: Glyn Hudson, Trystan Lea
Builds upon JeeLabs RF12 library and Arduino
emonTx documentation: http://openenergymonitor.org/emon/modules/emontxshield/
emonTx firmware code explination: http://openenergymonitor.org/emon/modules/emontx/firmware
emonTx calibration instructions: http://openenergymonitor.org/emon/modules/emontx/firmware/calibration
THIS SKETCH REQUIRES:
Libraries in the standard arduino libraries folder:
- JeeLib https://github.com/jcw/jeelib
- EmonLib https://github.com/openenergymonitor/EmonLib.git
Other files in project directory (should appear in the arduino tabs above)
- emontx_lib.ino
*/
/*Recommended node ID allocation
------------------------------------------------------------------------------------------------------------
-ID- -Node Type-
0 - Special allocation in JeeLib RFM12 driver - reserved for OOK use
1-4 - Control nodes
5-10 - Energy monitoring nodes
11-14 --Un-assigned --
15-16 - Base Station & logging nodes
17-30 - Environmental sensing nodes (temperature humidity etc.)
31 - Special allocation in JeeLib RFM12 driver - Node31 can communicate with nodes on any network group
-------------------------------------------------------------------------------------------------------------
*/
#define FILTERSETTLETIME 5000 // Time (ms) to allow the filters to settle before sending data
const int CT1 = 1;
const int CT2 = 1; // Set to 0 to disable
const int CT3 = 1;
const int CT4 = 1;
#define RF_freq RF12_433MHZ // Frequency of RF12B module can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. You should use the one matching the module you have.
const int nodeID = 10; // emonTx RFM12B node ID
const int networkGroup = 210; // emonTx RFM12B wireless network group - needs to be same as emonBase and emonGLCD
#define RF69_COMPAT 0 // set to 1 to use RFM69CW
#include // make sure V12 (latest) is used if using RFM69CW
#include "EmonLib.h"
EnergyMonitor ct1,ct2,ct3, ct4; // Create instances for each CT channel
typedef struct { int power1, power2, power3, power4, Vrms;} PayloadTX; // create structure - a neat way of packaging data for RF comms
PayloadTX emontx;
const int LEDpin = 9; // On-board emonTx LED
boolean settled = false;
void setup()
{
Serial.begin(9600);
//while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
Serial.println("emonTX Shield CT123 Voltage example");
Serial.println("OpenEnergyMonitor.org");
Serial.print("Node: ");
Serial.print(nodeID);
Serial.print(" Freq: ");
if (RF_freq == RF12_433MHZ) Serial.print("433Mhz");
if (RF_freq == RF12_868MHZ) Serial.print("868Mhz");
if (RF_freq == RF12_915MHZ) Serial.print("915Mhz");
Serial.print(" Network: ");
Serial.println(networkGroup);
// }
if (CT1) ct1.current(1, 60.606); // Setup emonTX CT channel (ADC input, calibration)
if (CT2) ct2.current(2, 60.606); // Calibration factor = CT ratio / burden resistance
if (CT3) ct3.current(3, 60.606); // emonTx Shield Calibration factor = (100A / 0.05A) / 33 Ohms
if (CT4) ct4.current(4, 60.606);
if (CT1) ct1.voltage(0, 300.6, 1.7); // ct.voltageTX(ADC input, calibration, phase_shift) - make sure to select correct calibration for AC-AC adapter http://openenergymonitor.org/emon/modules/emontx/firmware/calibration. Default set for Ideal Power adapter
if (CT2) ct2.voltage(0, 300.6, 1.7);
if (CT3) ct3.voltage(0, 300.6, 1.7);
if (CT4) ct4.voltage(0, 300.6, 1.7);
rf12_set_cs(5); //set RFM SS pin 5, according to option 2 http://wiki.openenergymonitor.org/index.php?title=EmonTx_Arduino_Shield
rf12_initialize(nodeID, RF_freq, networkGroup); // initialize RFM12B
rf12_sleep(RF12_SLEEP);
pinMode(LEDpin, OUTPUT); // Setup indicator LED
digitalWrite(LEDpin, HIGH);
}
void loop()
{
if (CT1) {
ct1.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power1 = ct1.realPower;
Serial.print(emontx.power1);
}
emontx.Vrms = ct1.Vrms*100; // AC Mains rms voltage
if (CT2) {
ct2.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power2 = ct2.realPower;
Serial.print(" "); Serial.print(emontx.power2);
}
if (CT3) {
ct3.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power3 = ct3.realPower;
Serial.print(" "); Serial.print(emontx.power3);
}
if (CT4) {
ct4.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power4 = ct4.realPower;
Serial.print(" "); Serial.print(emontx.power4);
}
Serial.print(" "); Serial.print(ct1.Vrms);
Serial.println(); delay(100);
// because millis() returns to zero after 50 days !
if (!settled && millis() > FILTERSETTLETIME) settled = true;
if (settled) // send data only after filters have settled
{
send_rf_data(); // *SEND RF DATA* - see emontx_lib
digitalWrite(LEDpin, HIGH); delay(2); digitalWrite(LEDpin, LOW); // flash LED
delay(2000); // delay between readings in ms
}
}
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Yes, I'm still here (at 00:49 local time!).
Looking at the PCB layout and circuit diagram on Solderpad, it looked to me as if the jack socket was symmetrical, the sleeve connection in the middle (the axis of symmetry), the tip and ring connections on the outside and the 'break' connections for those on the inside. Therefore, if the socket is in the wrong side of the PCB, you should be able to swap tip and ring inside the plug and have a connection. But you need to check with a multimeter. With a plug in, the sleeve should go to the ADC connector on the Arduino, and the ring (now) - to the +ve end of the capacitor. The CT resistance is about 100 Ohms in parallel with the burden resistor (33 Ohms). The 'break' contact is earthed with the plug out so that the sketch can detect the presence of a plug, although it doesn't actually do that.
Your sketch looks OK, the numbers look correct. The output values are Watts, not tens. So maybe there is something else that you need to find. Your post and your picture tell me what is wrong: you have mis-identified the connections in the plug. You still have the CT connected to tip and sleeve! Look here http://openenergymonitor.org/emon/buildingblocks/DS18B20-temperature-sen... for a picture with the connections labelled. The red and white wires need to connect to ring and sleeve - move the red wire onto the unused tag. When you do that, (if I'm right) it should come good.
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
Hi Robert,
OK - thanks for getting me up to speed on the jack socket (I feel like a school kid again ;-) ), I re-did the soldering and moved the the red wire... now I'm getting pretty good watt readings off the CT... They are not great (off by 20-40%) but I think this will get better once update the calibration figures... A 41W LED was reading about 60W and a 11W bulb was reading about 18W... So error seems to be proportional to the reading... My voltage reading was 280V, this should be more like 240V, that would also mislead the W measurement I guess...
Anyway, Robert, a new problem has turned up! I also attached a DS18B20 sensor to move ahead with temperature measurement (I did a fair bit of monitoring of radiator water temperatures in my old house, so know the DS18B20 relatively well).
However, the sketch can't seem to find my sensor....
Do you have any ideas what I am doing wrong? I have run the sketch with no other plugs in the sheild (see picture) just to make sure there were no interferences...
Perhaps I should check the soldering on PIN4, and check the voltage on the DS18B20 VDD ?
Many regards,
Lasse
Serial output:
emonTX Shield CT123 Voltage example
OpenEnergyMonitor.org
Node: 10 Freq: 433Mhz Network: 210
Locating devices...Found 0 devices.
Parasite power is: OFF
(and so on...)
Sketch - now with added temperature measurement:
#define FILTERSETTLETIME 5000 // Time (ms) to allow the filters to settle before sending data
const int CT1 = 1;
const int CT2 = 1; // Set to 0 to disable
const int CT3 = 1;
const int CT4 = 1;
#define RF_freq RF12_433MHZ // Frequency of RF12B module can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. You should use the one matching the module you have.
const int nodeID = 10; // emonTx RFM12B node ID
const int networkGroup = 210; // emonTx RFM12B wireless network group - needs to be same as emonBase and emonGLCD
#define RF69_COMPAT 0 // set to 1 to use RFM69CW
#include <JeeLib.h> // make sure V12 (latest) is used if using RFM69CW
#include "EmonLib.h"
EnergyMonitor ct1,ct2,ct3, ct4; // Create instances for each CT channel
//------- temperature stuff --------------
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 4 // Data wire
OneWire oneWire(ONE_WIRE_BUS); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
DallasTemperature sensors(&oneWire); // Pass our oneWire reference to Dallas Temperature.
DeviceAddress address_T1 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //The DS address is not needed, on startup it will detect the first sensor
int numberOfDevices=0;
//-----------------------------------------
typedef struct { int power1, power2, power3, power4, Vrms, T1;} PayloadTX; // create structure - a neat way of packaging data for RF comms
PayloadTX emontx;
const int LEDpin = 9; // On-board emonTx LED
boolean settled = false;
void setup()
{
Serial.begin(9600);
//while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
Serial.println("emonTX Shield CT123 Voltage example");
Serial.println("OpenEnergyMonitor.org");
Serial.print("Node: ");
Serial.print(nodeID);
Serial.print(" Freq: ");
if (RF_freq == RF12_433MHZ) Serial.print("433Mhz");
if (RF_freq == RF12_868MHZ) Serial.print("868Mhz");
if (RF_freq == RF12_915MHZ) Serial.print("915Mhz");
Serial.print(" Network: ");
Serial.println(networkGroup);
// }
if (CT1) ct1.current(1, 60.606); // Setup emonTX CT channel (ADC input, calibration)
if (CT2) ct2.current(2, 60.606); // Calibration factor = CT ratio / burden resistance
if (CT3) ct3.current(3, 60.606); // emonTx Shield Calibration factor = (100A / 0.05A) / 33 Ohms
if (CT4) ct4.current(4, 60.606);
if (CT1) ct1.voltage(0, 300.6, 1.7); // ct.voltageTX(ADC input, calibration, phase_shift) - make sure to select correct calibration for AC-AC adapter http://openenergymonitor.org/emon/modules/emontx/firmware/calibration. Default set for Ideal Power adapter
if (CT2) ct2.voltage(0, 300.6, 1.7);
if (CT3) ct3.voltage(0, 300.6, 1.7);
if (CT4) ct4.voltage(0, 300.6, 1.7);
rf12_set_cs(5); //set RFM SS pin 5, according to option 2 http://wiki.openenergymonitor.org/index.php?title=EmonTx_Arduino_Shield
rf12_initialize(nodeID, RF_freq, networkGroup); // initialize RFM12B
rf12_sleep(RF12_SLEEP);
pinMode(LEDpin, OUTPUT); // Setup indicator LED
digitalWrite(LEDpin, HIGH);
//setup temperature
sensors.begin(); //temperature init
delay(200);
//obtain #1 sensor
numberOfDevices = sensors.getDeviceCount();
if (numberOfDevices != 0){
sensors.getAddress(address_T1, 0); //get the address of the first detected sensor
}
// locate devices on the bus
Serial.print("Locating devices...");
Serial.print("Found ");
Serial.print(numberOfDevices, DEC);
Serial.println(" devices.");
// report parasite power requirements
Serial.print("Parasite power is: ");
if (sensors.isParasitePowerMode()) Serial.println("ON");
else Serial.println("OFF");
}
void loop()
{
if (CT1) {
ct1.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power1 = ct1.realPower;
Serial.print(emontx.power1);
}
emontx.Vrms = ct1.Vrms*100; // AC Mains rms voltage
if (CT2) {
ct2.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power2 = ct2.realPower;
Serial.print(" "); Serial.print(emontx.power2);
}
if (CT3) {
ct3.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power3 = ct3.realPower;
Serial.print(" "); Serial.print(emontx.power3);
}
if (CT4) {
ct4.calcVI(20,2000); // Calculate all. No.of crossings, time-out
emontx.power4 = ct4.realPower;
Serial.print(" "); Serial.print(emontx.power4);
}
Serial.print(" "); Serial.print(ct1.Vrms);
if (numberOfDevices != 0){
emontx.T1 = (sensors.getTempC(address_T1) * 100); // Temperature on Celcius multiplied by 100
Serial.print(" "); Serial.print(emontx.T1);
} else {
emontx.T1 = -99.0 * 100; // Temperature -99 on error
}
Serial.print(" "); Serial.print(emontx.T1);
Serial.println(); delay(100);
// because millis() returns to zero after 50 days !
if (!settled && millis() > FILTERSETTLETIME) settled = true;
if (settled) // send data only after filters have settled
{
send_rf_data(); // *SEND RF DATA* - see emontx_lib
digitalWrite(LEDpin, HIGH); delay(2); digitalWrite(LEDpin, LOW); // flash LED
delay(2000); // delay between readings in ms
}
}
Re: emontx shield V2 with RFM12b on Arduino UNO R2 can't get signals to raspberry pi
The easy one first: you do need to adjust the voltage calibration. It should not be that far out if you are using the recommended ac adapter, but if you are using something else, then calibration is necessary.
Second, the current input is good to 100 A, that's 24 kW, so you must not expect accurate values below about 1% (1 A, 240 W). There's a page in Building Blocks about what happens at very low currents.
I don't have an Arduino or a shield, so you have to follow basic principles. Are the actual legs on the DS18B20 getting +5 V & GND? If you have an oscilloscope, can you see anything on the bus? (Even a multimeter might show if something is happening.) Is DIO 4 used for anything else on your Arduino?
 Perhaps it would be help if there was a CT1234_Voltage_temp sketch also for the emonTX shield? https://github.com/openenergymonitor/emonTxFirmware/tree/master/emonTxShield).
To test the hardware setup I detached the shield from the uno in a simple setup as shown on the picture below - this made it possible to reuse some old temperature sketches I had, and at the end of the day solve the problem.
Thanks for your input.
Kind regards
Lasse


Ganesh Datta Lakkur
HOST|TRAINER|TEACHER|BLOGGER|VLOGGER
Graduate in Bachelors of Commerce from Jain University, in 2014. Got into the field of training and education and started a firm called “THE PROJECT-7 TEAM” which is into life skills, motivation and self-development. Helping students to overcome fear and build their inter-personal skills. Making them realize how important it is to think out of the box, be creative and understand themselves better.
Believing in revolutionizing our education system, GD started by organising workshops on personality development, team work and leadership to students aged between 14-22 years. Since 19th January 2013 GD has completed workshops on leadership, personality development and motivation to over 4000+ students across various schools and colleges, some of them being at Jain College Jayanagar(PU+UG+PG), Jain college V.V.Puram(PU+UG), Jain College J.C.Road(PU+UG), Jain University, V.E.T. School, St. Marks School, Christ Junior College, Christ University, Maharaja Sayyajirao University – Baroda, Ahmedabad University, Kammavari Sangha Institute of Technology (KSIT), Sai Ram College of Engineering, SRCE, Doon International School (Dehradun), National Institute of Engineering (NIE Mysuru) and many more. Rated 4.5 on 5 (Average).
Download my profileGD is the current Licensee and Curator of TEDxDSCE, an independently organized TED Event. GD has also been to more than 50 inter collegiate fests across Bengaluru as a judge for events like Best Manager, Personality, Debate, Extempore, HR, PR, Marketing and many more at Jain University, Christ University, JNC, BMSCE, DSCE, BMS Law, PES, PESIT, MLAC, MLACW, SRCE, Bishop Cottons and many more.
Because now I've given a beautiful description of myself, feel free to contact me.


Modelling the vegetation, carbon, nitrogen and water dynamics of undisturbed open bog ecosystems in a temperate to sub-boreal climate. The executable of the model can downloaded from <https://github.com/jeroenpullens/NUCOMBog>.
| Version: | <IP_ADDRESS> |
| Depends: | R (≥ 3.0.0), snowfall |
| Suggests: | R.rsp |
| Published: | 2018-05-20 |
| Author: | J.W.M. Pullens [aut, cre], R. Silveyra Gonzalez [aut], M. Bagnara [aut], F. Hartig [aut] |
| Maintainer: | J.W.M. Pullens <jeroenpullens at gmail.com> |
| BugReports: | https://github.com/jeroenpullens/NUCOMBog/issues |
| License: | GPL-2 | GPL-3 [expanded from: GPL] |
| URL: | https://github.com/jeroenpullens/NUCOMBog/ |
| NeedsCompilation: | no |
| Citation: | NUCOMBog citation info |
| Materials: | NEWS |
| CRAN checks: | NUCOMBog results |
| Reference manual: | NUCOMBog.pdf |
| Vignettes: |
NUCOMBog |
| Package source: | NUCOMBog_<IP_ADDRESS>.tar.gz |
| Windows binaries: | r-devel: NUCOMBog_<IP_ADDRESS>.zip, r-release: NUCOMBog_<IP_ADDRESS>.zip, r-oldrel: NUCOMBog_<IP_ADDRESS>.zip |
| OS X binaries: | r-release: NUCOMBog_<IP_ADDRESS>.tgz, r-oldrel: NUCOMBog_<IP_ADDRESS>.tgz |
| Old sources: | NUCOMBog archive |
Please use the canonical form https://CRAN.R-project.org/package=NUCOMBog to link to this page.


Exploring My Values
November 2nd, 2014
The last time I felt happiest, proudest and most satisfied the following values came to mind:
Accomplishment. I remember having a strong feeling of Accomplishment. I had set a goal for myself that at one point did not seem realistic or even feasible, and through persistence and handwork I achieved my goal and it was a wonderful feeling of Accomplishment.
Enthusiasm. Enthusiasm is one of the most underrated feelings. Enthusiasm creates energy, sparks creativity, and is extremely contagious. I love being around enthusiastic people so I try as much as possible to display enthusiasm on a consistent basis.
Reputation. There is a famous quote that goes something like, reputation takes a lifetime to build and only a few minutes to completely destroy. I try to keep this in mind every day. I believe you are only as good as your reputation and try to keep in mind how fragile it is when making decisions or interacting with other people.
Competition. I love competition because it is the ultimate motivator. I enjoy surrounding myself with other people who are going to push me to be better and work harder.
Honesty. Honesty is extremely important to me. When in doubt, always tell the truth. Mistakes are inevitable in life, but people are always more willing to forgive you for your mistakes if you can admit to them, apologize, and promise to learn from them. You have to be honest with yourself as well as with others.
In general I do try to live up to these values. I would rate my ability to live up to each one a 5 on a scale of 1 to 5.
The last topic that someone asked my advice on was my little sister who wanted to go back to college. I am the only one in my family that currently has a college degree and we talked about what kind of degree she should focus on, how to balance work and school, and finding a career that you will enjoy in life.
When I think about my values I feel pretty good about them. I am not sure how they will help me mediate a stereotype threat if I recognize it. I think Reputation will help me more than the other values I have mentioned in this post because I consider my self a kind, caring, and fair person and I would like other people to view me the same way. If i recognize a stereotype threat I would want to confront it to make sure everyone was being treated fairly.
One exercise that may help when feeling down is mediation. i have recently begun meditating every day after reading about many health benefits this sort of mind exercise can have for you that have been scientifically proven.
That is all I have for right now regarding my values. Thanks for reading.


--- title: "THE DIVERSITY OF DECIDUOUS TREES" date: "2000-01-01 18:04:28 -06:00" categories: - events - spring - free subtitle: "" layout: "events" event-image: "deciduous-trees.jpg" event-dates: "FRIDAY, APRIL 28" event-location: "Red Butte Garden Courtyard" button-type: "register" tickets-link: "https://55218.blackbaudhosting.com/55218/The-Diversity-of-Deciduous-Trees-Tour" registration-info: "N/A" instructor-info: "N/A" member-cost: "Free" public-cost: "Free" event-notes: "" tickets-button: "" published: false ---
FRIDAY, APRIL 28 @ 11:30AM -1 2:30PM
REGISTRATION REQUIRED
Celebrate Arbor Day at the Garden! Stop by for a lunchtime tour with Crystal Kim, Garden Horticulturist, to explore deciduous trees in the Garden. Discover unique trees that are good candidates for your own yard and how they can lower your energy bill year round.
Bring your questions and leave with a free tree to take home due to the generous support of Rocky Mountain Power.
Tour meets in the Courtyard Garden. Space limited to 20 guests.
Any remaining spots available on day of event on a first come, first served basis.


Yet another PHP framework
Getting started Example application Reference documentation
Download to give a trial
Want to know more ? Drop a mail at


The template wizard will assist you in creating the necessary {accounts} functions to pull member accounts from the database and will also generate the {foreach} function to display each of the accounts on your page. This document will cover how to use the template wizard.
Accessing the Template Wizard
To access the template wizard use the Ranking Pages > Edit Templates function. This will load the page where you edit your ranking page templates. In the header bar of this page that reads Ranking Page Templates you can click on the icon to access the template wizard.
Basic Overview
The template wizard is something that will help you to generate the {accounts} and {foreach} commands that you will need to use to pull accounts from the database and display them on your page(s).
For HTML templates, the wizard will not generate a complete template for you with all of the HTML code that you need for a full page. It is designed to give you the code you need for a specific section of accounts. For example, if you want to quickly generate the template code necessary to display accounts ranked 1-20 on the page, you can use the template wizard. The code that the wizard creates will need to be inserted into your ranking page template code at the location where you want the accounts to appear.
For RSS feed templates, the wizard will generate the complete template for you. You will simply need to copy the entire generated template code and save it for the RSS feed template. Make sure your RSS feed templates have a .xml, .rdf, or .rss file extension!
Remember, you are not limited to a single section of accounts per page; you can have as many sections as you want. Therefore, you can use the wizard multiple times to
create all of the template code you will need for your page to pull accounts for each of the sections of accounts that you want to display on the page.
General Options
The General Options section of the template wizard will allow you to conifgure some basic settings for the template functions you will be generating. Each of the settings you can configure are described below.
| Ranks to Display | Enter the ranks you want to display in this section. The first box should contain a number smaller than the second box. |
| Display As |
Select how you would like the accounts displayed Traditional text link and banner - This will generate template code that displays the member accounts in a traditional link/banner layout Friends style page - This will generate template code that displays the member accounts in the friends style, which shows a table containing several rows and columns of accounts RSS Feed - This will generate template code for a plain text RSS feed RSS Feed With Banners - This will generate template code for an RSS feed that displays both text and images for each account |
| Categories | Select the categories that you want displayed in this section. The ANY CATEGORY option will allow accounts from all categories in this section. You can select more than one category by clicking the icon. |
| Exclude Categories | If you want to display all categories in this section except for a few, set the Categories option to ANY CATEGORY and select the categories that you don't want to show in this section. |
| Sort Accounts By | Select what method you would like to use for sorting accounts in this section. |
| Minimum Sort Value | Enter the minimum value that is allowed for the sort option in order for an account to appear in this section. For example, if you select "Unique In Last Hour" for the Sort Accounts By option and enter 5 in this field, only accounts with 5 or more unique hits in during the last hour will be displayed. |


addAccessConfig(project, instance, network_interface, body)
Adds an access config to an instance's network interface.
Deletes the specified instance resource.
deleteAccessConfig(project, instance, access_config, network_interface)
Deletes an access config from an instance's network interface.
Returns the specified instance resource.
Creates an instance resource in the specified project using the data included in the request.
list(project, maxResults=None, pageToken=None, filter=None)
Retrieves the list of instance resources contained within the specified project.
list_next(previous_request, previous_response)
Retrieves the next page of results.
addAccessConfig(project, instance, network_interface, body)
Adds an access config to an instance's network interface. Args: project: string, Project name. (required) instance: string, Instance name. (required) network_interface: string, Network interface name. (required) body: object, The request body. (required) The object takes the form of: { "kind": "compute#accessConfig", # Type of the resource. "type": "A String", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet. "name": "A String", # Name of this access configuration. "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool. } Returns: An object of the form: { "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only). "kind": "compute#operation", # Type of the resource. "name": "A String", # Name of the resource. "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only). "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only). "user": "A String", # User who requested the operation, for example<EMAIL_ADDRESS>(output only). "error": { # If errors occurred during processing of this operation, this field will be populated (output only). "errors": [ # The array of errors encountered while processing this operation. { "message": "A String", # An optional, human-readable error message. "code": "A String", # The error type identifier for this error. "location": "A String", # Indicates the field in the request which caused the error. This property is optional. }, ], }, "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only). "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only). "statusMessage": "A String", # An optional textual description of the current status of the operation (output only). "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only). "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only). "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only). "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only). "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only). "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "targetLink": "A String", # URL of the resource the operation is mutating (output only). }
delete(project, instance)
Deletes the specified instance resource. Args: project: string, Name of the project scoping this request. (required) instance: string, Name of the instance resource to delete. (required) Returns: An object of the form: { "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only). "kind": "compute#operation", # Type of the resource. "name": "A String", # Name of the resource. "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only). "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only). "user": "A String", # User who requested the operation, for example<EMAIL_ADDRESS>(output only). "error": { # If errors occurred during processing of this operation, this field will be populated (output only). "errors": [ # The array of errors encountered while processing this operation. { "message": "A String", # An optional, human-readable error message. "code": "A String", # The error type identifier for this error. "location": "A String", # Indicates the field in the request which caused the error. This property is optional. }, ], }, "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only). "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only). "statusMessage": "A String", # An optional textual description of the current status of the operation (output only). "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only). "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only). "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only). "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only). "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only). "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "targetLink": "A String", # URL of the resource the operation is mutating (output only). }
deleteAccessConfig(project, instance, access_config, network_interface)
Deletes an access config from an instance's network interface. Args: project: string, Project name. (required) instance: string, Instance name. (required) access_config: string, Access config name. (required) network_interface: string, Network interface name. (required) Returns: An object of the form: { "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only). "kind": "compute#operation", # Type of the resource. "name": "A String", # Name of the resource. "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only). "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only). "user": "A String", # User who requested the operation, for example<EMAIL_ADDRESS>(output only). "error": { # If errors occurred during processing of this operation, this field will be populated (output only). "errors": [ # The array of errors encountered while processing this operation. { "message": "A String", # An optional, human-readable error message. "code": "A String", # The error type identifier for this error. "location": "A String", # Indicates the field in the request which caused the error. This property is optional. }, ], }, "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only). "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only). "statusMessage": "A String", # An optional textual description of the current status of the operation (output only). "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only). "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only). "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only). "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only). "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only). "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "targetLink": "A String", # URL of the resource the operation is mutating (output only). }
get(project, instance)
Returns the specified instance resource. Args: project: string, Name of the project scoping this request. (required) instance: string, Name of the instance resource to return. (required) Returns: An object of the form: { "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING" (output only). "kind": "compute#instance", # Type of the resource. "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created. "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created. "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created. "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image. "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them. { "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system. "kind": "compute#attachedDisk", # Type of the resource. "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value. "source": "A String", # Persistent disk only; the URL of the persistent disk resource. "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY". "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified. "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here. }, ], "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. "statusMessage": "A String", # An optional, human-readable explanation of the status (output only). "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries. { "scopes": [ # The list of scopes to be made available for this service account. "A String", ], "kind": "compute#serviceAccount", # Type of the resource. "email": "A String", # Email address of the service account. }, ], "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access. { "network": "A String", # URL of the network resource attached to this interface. "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access. { "kind": "compute#accessConfig", # Type of the resource. "type": "A String", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet. "name": "A String", # Name of this access configuration. "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool. }, ], "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range. "kind": "compute#networkInterface", # Type of the resource. "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only). }, ], "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information. "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB. { "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes. "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project. }, ], "kind": "compute#metadata", # Type of the resource. }, }
insert(project, body)
Creates an instance resource in the specified project using the data included in the request. Args: project: string, Name of the project scoping this request. (required) body: object, The request body. (required) The object takes the form of: { "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING" (output only). "kind": "compute#instance", # Type of the resource. "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created. "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created. "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created. "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image. "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them. { "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system. "kind": "compute#attachedDisk", # Type of the resource. "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value. "source": "A String", # Persistent disk only; the URL of the persistent disk resource. "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY". "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified. "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here. }, ], "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. "statusMessage": "A String", # An optional, human-readable explanation of the status (output only). "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries. { "scopes": [ # The list of scopes to be made available for this service account. "A String", ], "kind": "compute#serviceAccount", # Type of the resource. "email": "A String", # Email address of the service account. }, ], "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access. { "network": "A String", # URL of the network resource attached to this interface. "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access. { "kind": "compute#accessConfig", # Type of the resource. "type": "A String", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet. "name": "A String", # Name of this access configuration. "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool. }, ], "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range. "kind": "compute#networkInterface", # Type of the resource. "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only). }, ], "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information. "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB. { "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes. "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project. }, ], "kind": "compute#metadata", # Type of the resource. }, } Returns: An object of the form: { "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only). "kind": "compute#operation", # Type of the resource. "name": "A String", # Name of the resource. "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only). "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only). "user": "A String", # User who requested the operation, for example<EMAIL_ADDRESS>(output only). "error": { # If errors occurred during processing of this operation, this field will be populated (output only). "errors": [ # The array of errors encountered while processing this operation. { "message": "A String", # An optional, human-readable error message. "code": "A String", # The error type identifier for this error. "location": "A String", # Indicates the field in the request which caused the error. This property is optional. }, ], }, "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only). "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only). "statusMessage": "A String", # An optional textual description of the current status of the operation (output only). "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only). "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only). "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only). "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only). "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only). "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "targetLink": "A String", # URL of the resource the operation is mutating (output only). }
list(project, maxResults=None, pageToken=None, filter=None)
Retrieves the list of instance resources contained within the specified project. Args: project: string, Name of the project scoping this request. (required) maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100. pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. filter: string, Optional. Filter expression for filtering listed resources. Returns: An object of the form: { "nextPageToken": "A String", # A token used to continue a truncated list request. "items": [ # A list of instance resources. { "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING" (output only). "kind": "compute#instance", # Type of the resource. "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created. "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created. "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created. "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image. "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them. { "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system. "kind": "compute#attachedDisk", # Type of the resource. "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value. "source": "A String", # Persistent disk only; the URL of the persistent disk resource. "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY". "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified. "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here. }, ], "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. "statusMessage": "A String", # An optional, human-readable explanation of the status (output only). "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries. { "scopes": [ # The list of scopes to be made available for this service account. "A String", ], "kind": "compute#serviceAccount", # Type of the resource. "email": "A String", # Email address of the service account. }, ], "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access. { "network": "A String", # URL of the network resource attached to this interface. "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access. { "kind": "compute#accessConfig", # Type of the resource. "type": "A String", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet. "name": "A String", # Name of this access configuration. "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool. }, ], "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range. "kind": "compute#networkInterface", # Type of the resource. "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only). }, ], "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only). "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for the resource (output only). "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information. "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB. { "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes. "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project. }, ], "kind": "compute#metadata", # Type of the resource. }, }, ], "kind": "compute#instanceList", # Type of resource. "id": "A String", # Unique identifier for the resource; defined by the server (output only). "selfLink": "A String", # Server defined URL for this resource (output only). }
list_next(previous_request, previous_response)
Retrieves the next page of results. Args: previous_request: The request for the previous page. (required) previous_response: The response from the request for the previous page. (required) Returns: A request object that you can call 'execute()' on to request the next page. Returns None if there are no more items in the collection.


This namespace contains mostly static classes with helper method that we use to generate the code necessary to support the primitive interface.


FIRE
A Film Review by James Berardinelli
RATING (0 TO 10): 8.0 Alternative Scale: ***1/2 out of ****
Canada, 1996 U.S. Release Date: variable (beginning 9/97) (limited) Running Length: 1:44 MPAA Classification: No MPAA Rating (Sex, mature themes) Theatrical Aspect Ratio: 1.85:1
Cast: Shabana Azmi, Nandita Das, Kulbushan Kharbanda, Jaaved Jaaferi Director: Deepa Mehta Producers: Bobby Bedi, Deepa Mehta Screenplay: Deepa Mehta Cinematography: Giles Nuttgens Music: A.R. Rahman U.S. Distributor: Zeitgeist Films
On one hand are duties, obligations, and traditions. On the other are needs, desires, and freedom. Wars between these two antagonistic camps have been fought through the ages across many societies. The battleground in Deepa Mehta's FIRE is modern-day New Delhi, where the role of the woman in being re-defined. No longer do wives submit without question to the whims of their husbands, and this shift is causing tremors throughout the entire Indian culture. FIRE shows the causes and effects of one such tiny reverberation.
Sita (Nandita Das) is a romantic, and that is her undoing. When marrying the handsome Jalin (Jaaved Jaaferi), she envisions a bright future, but instead finds a barren wasteland. Her new husband has no interest in her. His desire is for his Chinese mistress; his marriage to Sita serves one purpose: to placate his family, who want him to have children. Sita is not the only lonely woman in the household, however. Her sister-in-law, Radha (Shabana Azmi), is married to Jalin's older brother, Ashok (Kulbushan Kharbanda) – a man whose religious fanaticism has caused him to take a vow of celibacy. Duty, not love, is what he demands from his wife. In this environment, it is only natural that Sita and Radha become fast friends, and, in time, much more than that. But their love is not without its share of painful obstacles. As Sita states, "In our language, no word exists for what we are to each other."
 This is the tale of two vital, beautiful women breaking their cultural obstacles and being reborn through the passion they express for each other. Their relationship is forbidden, but it by giving into their feelings that they find the strength to defy their husbands and turn their backs on tradition.
Nevertheless, the film would not be as successful if the romance didn't work on an emotional level. Mehta has created a pair of memorable characters who are easy to empathize with, and who gratifyingly are never transformed from flesh-and-blood individuals into mere symbols. It also helps that the roles are acted with feeling and ability. Both of the female leads, Shabana Azmi and Nandita Das, are capable performers who develop a genuine rapport with each other. Kulbushan Kharbanda is excellent at playing a pompous icon of self- righteousness and Jaaved Jaaferi is equally detestable as the philandering newlywed.
In addition to being emotionally and intellectually satisfying, FIRE is a treat for the eyes. Mehta and cinematographer Giles Nuttgens have crafted a beautiful-looking film, rich with bright colors and silhouetted eroticism. The sex scenes are photographed discreetly (only one breast is briefly glimpsed) with an eye for sensuality. Mehta's approach to this aspect of the movie is indicative of the care and effort that she has invested in the entire production.
Copyright 1997 James Berardinelli
- James Berardinelli e-mail<EMAIL_ADDRESS>The website has moved!! The new address is: http://movie-reviews.colossus.net/
"The cinema is not an art which films life: the cinema is something between art and life. Unlike painting and literature, the cinema both gives to life and takes from it..."
- Jean-Luc Godard
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


See: Description
| Interface | Description |
|---|---|
| ControllerEventListener |
The
ControllerEventListener interface should be implemented
by classes whose instances need to be notified when a Sequencer
has processed a requested type of MIDI control-change event. |
| MetaEventListener |
The
MetaEventListener interface should be implemented
by classes whose instances need to be notified when a
has processed a . |
| MidiChannel |
A
MidiChannel object represents a single MIDI channel. |
| MidiDevice |
MidiDevice is the base interface for all MIDI devices. |
| MidiDeviceReceiver |
MidiDeviceReceiver is a Receiver which represents
a MIDI input connector of a MidiDevice
(see MidiDevice.getReceiver() ). |
| MidiDeviceTransmitter |
MidiDeviceTransmitter is a Transmitter which represents
a MIDI input connector of a MidiDevice
(see MidiDevice.getTransmitter() ). |
| Receiver |
A
Receiver receives objects and
typically does something useful in response, such as interpreting them to
generate sound or raw MIDI output. |
| Sequencer |
A hardware or software device that plays back a MIDI
is known as a sequencer. |
| Soundbank |
A
Soundbank contains a set of Instruments
that can be loaded into a Synthesizer . |
| Synthesizer |
A
Synthesizer generates sound. |
| Transmitter |
| Class | Description |
|---|---|
| Instrument |
An instrument is a sound-synthesis algorithm with certain parameter
settings, usually designed to emulate a specific real-world
musical instrument or to achieve a specific sort of sound effect.
|
| MetaMessage |
A
MetaMessage is a that is not meaningful to synthesizers, but
that can be stored in a MIDI file and interpreted by a sequencer program. |
| MidiDevice.Info |
A
MidiDevice.Info object contains assorted
data about a , including its
name, the company who created it, and descriptive text. |
| MidiEvent |
MIDI events contain a MIDI message and a corresponding time-stamp
expressed in ticks, and can represent the MIDI event information
stored in a MIDI file or a
object. |
| MidiFileFormat |
A
MidiFileFormat object encapsulates a MIDI file's
type, as well as its length and timing information. |
| MidiMessage |
MidiMessage is the base class for MIDI messages. |
| MidiSystem |
The
MidiSystem class provides access to the installed MIDI
system resources, including devices such as synthesizers, sequencers, and
MIDI input and output ports. |
| Patch |
A
Patch object represents a location, on a MIDI
synthesizer, into which a single instrument is stored (loaded). |
| Sequence |
A
Sequence is a data structure containing musical
information (often an entire song or composition) that can be played
back by a object. |
| Sequencer.SyncMode |
A
SyncMode object represents one of the ways in which
a MIDI sequencer's notion of time can be synchronized with a master
or slave device. |
| ShortMessage |
A
ShortMessage contains a MIDI message that has at most
two data bytes following its status byte. |
| SoundbankResource |
A
SoundbankResource represents any audio resource stored
in a . |
| SysexMessage |
A
SysexMessage object represents a MIDI system exclusive message. |
| Track |
A MIDI track is an independent stream of MIDI events (time-stamped MIDI
data) that can be stored along with other tracks in a standard MIDI file.
|
| VoiceStatus |
A
VoiceStatus object contains information about the current
status of one of the voices produced by a Synthesizer . |
| Exception | Description |
|---|---|
| InvalidMidiDataException |
An
InvalidMidiDataException indicates that inappropriate MIDI
data was encountered. |
| MidiUnavailableException |
A
MidiUnavailableException is thrown when a requested MIDI
component cannot be opened or created because it is unavailable. |
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.


--- title: Most people think the justice system is fair author: 'Matt Ashby' date: '2019-05-02' draft: true slug: fairness-perception categories: [] tags: - criminal justice - CSEW - perceptions ---
Across age, education, ethnic and employment groups, most people believe the criminal justice system as a whole is fair, but there are exceptions – for example, only {scales::percent(black_value, accuracy = 1)} of people who identify as black agree.
larger image | PDF | annotated R code to produce this chart
Data source: Crime Survey for England and Wales, 2018


Functionality is provided in the following areas:
Cryo functionality is divided into the following behavioural categories:
Producers define sources of data. The main producer interface is DataSetProducer. Producers allow random access to tables and then provide iterators over the records within those tables.
Consumers define destinations for data. The main consumer interface is DataSetConsumer. Consumers are modelled on SAX semantics and expect to have data set 'events' pushed onto them.
Connectors link producers to consumers. The main connector class is DataSetConnector. Given a producer and a consumer connectors can transmit all information from one to the other.
Adapters typically modify a data set in transit either by wrapping a data set producer or by wrapping a data set consumer. They can then be added to the chain Producer -> Adapter -> Connector -> Consumer or Producer -> Connector -> Adapter -> Consumer or even both.
DataSetProducer producer = new DatabaseDataSetProducer(connectionResources); DataSetConsumer consumer = new XmlDataSetConsumer(writer); new DataSetConnector(producer, consumer).connect();
DataSetProducer producer = new XmlDataSetProducer(reader); DataSetConsumer consumer = new DatabaseDataSetConsumer(connectionResources); new DataSetConnector(producer, consumer).connect();


Club want to sign Liverpool player… but pay fee over four year period
by Nihat Emre KocaaslanTurkish newspaper Fanatik report the head of Besiktas’ transfer committee Erdal Torunogullari will hold talks with the club’s manager Abdullah Avci about the future of Liverpool loanee Loris Karius.
The German goalkeeper has been in impressive form for Besiktas in recent weeks and this has led to reports the Black Eagles now want to sign him permanently at the end of his loan spell.
Fanatik claim Besiktas have the option to make his move permanent for €8m next summer, but the Super Lig side want to pay that figure over four years.
It’s claimed Besiktas have the financial resources to pay Liverpool €2m each year and if they can get an agreement with the Premier League side then they could complete the deal in January.
Liverpool manager Jurgen Klopp has Alisson and Adrian as his current goalkeepers, so finding room for Karius could be challenging if he returns next summer.
Karius’ contract with the Merseyside club will run until June 2021.


Class Activity
Class that implements any async activity/processing. It can run in different contexts inside unity (mainthread) or separate thread, offering an abstraction layer Monobehaviour/Thread agnostic.
Implements
Inherited Members
Namespace: UnityExt.Core
Assembly: UnityExt.Core.dll
Syntax
public class Activity : INotifyCompletion, IStatusProvider, IStatusProvider<StatusType>, IProgressProvider
Constructors
| Improve this Doc View SourceActivity()
Creates a new activity, default to 'Update' context and auto generated id.
Declaration
public Activity()
Activity(String)
Creates a new activity, default to 'Update' context.
Declaration
public Activity(string p_id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id for searching |
Activity(String, ActivityContext)
Creates a new Activity.
Declaration
public Activity(string p_id, ActivityContext p_context)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id for searching |
| ActivityContext | p_context | Execution Context |
Fields
| Improve this Doc View SourceasyncTimeSlice
Execution time slice for async nodes.
Declaration
public static int asyncTimeSlice
Field Value
| Type | Description |
|---|---|
| System.Int32 |
id
Id of this Activity.
Declaration
public string id
Field Value
| Type | Description |
|---|---|
| System.String |
m_on_complete_event
Declaration
protected Delegate m_on_complete_event
Field Value
| Type | Description |
|---|---|
| System.Delegate |
m_on_execute_event
Declaration
protected Delegate m_on_execute_event
Field Value
| Type | Description |
|---|---|
| System.Delegate |
maxThreadCount
Maximum created threads for paralell nodes.
Declaration
public static int maxThreadCount
Field Value
| Type | Description |
|---|---|
| System.Int32 |
profilerMs
Last execution ms.
Declaration
public float profilerMs
Field Value
| Type | Description |
|---|---|
| System.Single |
Properties
| Improve this Doc View Sourcecompleted
Has the activity finished.
Declaration
public bool completed { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
context
Execution context.
Declaration
public ActivityContext context { get; }
Property Value
| Type | Description |
|---|---|
| ActivityContext |
enabled
Flag that tells this activity can run.
Declaration
public bool enabled { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
manager
Reference to the global Activity manager.
Declaration
public static Activity.Manager manager { get; }
Property Value
| Type | Description |
|---|---|
| Activity.Manager |
OnCompleteEvent
Callback for completion.
Declaration
public Action<Activity> OnCompleteEvent { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Action<Activity> |
OnExecuteEvent
Callback for execution.
Declaration
public Predicate<Activity> OnExecuteEvent { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Predicate<Activity> |
profilerTimeStr
Returns a formatted string telling the profiled time.
Declaration
public string profilerTimeStr { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
profilerUs
Last execution ns
Declaration
public long profilerUs { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
state
Execution state
Declaration
public ActivityState state { get; }
Property Value
| Type | Description |
|---|---|
| ActivityState |
Methods
| Improve this Doc View SourceAdd(Object)
Adds any object implementing the interfaces for exection.
Declaration
public static void Add(object p_node)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | p_node | Execution node. Must implement one or more Activity related interfaces. |
CanStart()
Auxiliary method to validate if starting is allowed.
Declaration
protected virtual bool CanStart()
Returns
| Type | Description |
|---|---|
| System.Boolean | Flag telling the activity can start and execute its loop, otherwise will keep looping here and 'Queued' |
Find<T>(String)
Searches for a single activity by id in all contexts.
Declaration
public static T Find<T>(string p_id)
where T : Activity
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id to search. |
Returns
| Type | Description |
|---|---|
| T | Activity found or null |
Type Parameters
| Name | Description |
|---|---|
| T | Activity derived type. |
Find<T>(String, ActivityContext)
Searches for a single activity by id and context.
Declaration
public static T Find<T>(string p_id, ActivityContext p_context)
where T : Activity
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id to search. |
| ActivityContext | p_context | Specific context to be searched. |
Returns
| Type | Description |
|---|---|
| T | Activity found or null |
Type Parameters
| Name | Description |
|---|---|
| T | Activity derived type. |
FindAll<T>()
Searches all activities regardless of 'id'.
Declaration
public static List<T> FindAll<T>()
where T : Activity
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<T> | List of results or empty list. |
Type Parameters
| Name | Description |
|---|---|
| T | Activity derived type. |
FindAll<T>(String)
Searches for all activities matching the id in all contexts.
Declaration
public static List<T> FindAll<T>(string p_id)
where T : Activity
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id to search. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<T> | List of results or empty list. |
Type Parameters
| Name | Description |
|---|---|
| T | Activity derived type. |
FindAll<T>(String, ActivityContext)
Searches for all activities matching the id and context.
Declaration
public static List<T> FindAll<T>(string p_id, ActivityContext p_context)
where T : Activity
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id to search. |
| ActivityContext | p_context | Specific context to be searched. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<T> | List of results or empty list. |
Type Parameters
| Name | Description |
|---|---|
| T | Activity derived type. |
FindAll<T>(ActivityContext)
Searches for all activities matching the context.
Declaration
public static List<T> FindAll<T>(ActivityContext p_context)
where T : Activity
Parameters
| Type | Name | Description |
|---|---|---|
| ActivityContext | p_context | Specific context to be searched. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<T> | List of results or empty list. |
Type Parameters
| Name | Description |
|---|---|
| T | Activity derived type. |
GetAwaiter()
Reference to the awaiter.
Declaration
public TaskAwaiter GetAwaiter()
Returns
| Type | Description |
|---|---|
| System.Runtime.CompilerServices.TaskAwaiter | Current awaiter for 'await' operator. |
GetProgress()
Returns this activity progress status
Declaration
public virtual float GetProgress()
Returns
| Type | Description |
|---|---|
| System.Single | Activity progress, eihter 0.0 = not running, 0.5f = running and 1.0 = complete/stopped. |
GetStatus()
Returns this activity execution state converted to status flags.
Declaration
public StatusType GetStatus()
Returns
| Type | Description |
|---|---|
| StatusType | Current activity status |
Kill()
Removes all activities and interfaces from exection.
Declaration
public static void Kill()
OnAdded()
Handler for when this activity was just added.
Declaration
protected virtual void OnAdded()
OnComplete()
Handler for activity completion.
Declaration
protected virtual void OnComplete()
OnCompleted(Action)
INotification implement.
Declaration
public void OnCompleted(Action completed)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action | completed | Continue callback. |
OnDisable()
Handler for when this activity is disabled.
Declaration
protected virtual void OnDisable()
OnEnable()
Handler for when this activity is enabled.
Declaration
protected virtual void OnEnable()
OnExecute()
Handler for activity execution loop steps.
Declaration
protected virtual bool OnExecute()
Returns
| Type | Description |
|---|---|
| System.Boolean | Flag telling the execution loop must continue or not |
OnStart()
Handler for activity execution start
Declaration
protected virtual void OnStart()
OnStop()
Handler for the activity stop.
Declaration
protected virtual void OnStop()
Remove(Object)
Removes any object implementing the interfaces for exection.
Declaration
public static void Remove(object p_node)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | p_node | Execution node. Must implement one or more Activity related interfaces. |
Run(Action<Activity>, ActivityContext)
Creates and start a single execution activity.
Declaration
public static Activity Run(Action<Activity> p_callback, ActivityContext p_context = ActivityContext.Update)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<Activity> | p_callback | Callback for handling the activity completion. |
| ActivityContext | p_context | Execution context. |
Returns
| Type | Description |
|---|---|
| Activity | The running activity |
Run(Predicate<Activity>, ActivityContext)
Creates and starts an activity for constant loop execution.
Declaration
public static Activity Run(Predicate<Activity> p_callback, ActivityContext p_context = ActivityContext.Update)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Predicate<Activity> | p_callback | Callback for handling the execution loop. Return 'true' to keep running or 'false' to stop. |
| ActivityContext | p_context | Execution context to run. |
Returns
| Type | Description |
|---|---|
| Activity | The running activity |
Run(String, Action<Activity>, ActivityContext)
Creates and start a single execution activity.
Declaration
public static Activity Run(string p_id, Action<Activity> p_callback, ActivityContext p_context = ActivityContext.Update)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id for searching. |
| System.Action<Activity> | p_callback | Callback for handling the activity completion. |
| ActivityContext | p_context | Execution context. |
Returns
| Type | Description |
|---|---|
| Activity | The running activity |
Run(String, Predicate<Activity>, ActivityContext)
Creates and starts an activity for constant loop execution.
Declaration
public static Activity Run(string p_id, Predicate<Activity> p_callback, ActivityContext p_context = ActivityContext.Update)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | p_id | Activity id for searching. |
| System.Predicate<Activity> | p_callback | Callback for handling the execution loop. Return 'true' to keep running or 'false' to stop. |
| ActivityContext | p_context | Execution context to run. |
Returns
| Type | Description |
|---|---|
| Activity | The running activity |
Start()
Adds this activity to the queue.
Declaration
public void Start()
Stop()
Removes this activity from the execution pool.
Declaration
public void Stop()
Yield(Single)
Yields this activity until completion and wait delay seconds before continuying.
Declaration
public Task Yield(float p_delay = 0F)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Single | p_delay | Extra delay seconds after completion |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | Task to be waited |


This section is a work in progress and it currently contains just a copy of some post I made on Dev.To.


Sweet Free Stuff
///////////////////////////////////////////
Free Red Bull at Walgreens
Posted: 02 May 2016 11:16 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Fill out the form and receive a text with a digital coupon for a
complimentary 8.4 oz Red Bull redeemable at your local Walgreens. Free Red
Bull at Walgreens
The post Free Red Bull at Walgreens appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Subscription to Family Fun Magazine
Posted: 02 May 2016 05:07 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
The post Free Subscription to Family Fun Magazine appeared first on
SweetFreeStuff.com.
CommentsBoy do i need more ideas, lol. Would just love to have this. by
minkieWould like to try! by Sandra Nettles
///////////////////////////////////////////
Free Lemi Shine Detergent Booster Sample
Posted: 02 May 2016 12:16 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Click on Request Sample. Free Lemi Shine Detergent Booster Sample
The post Free Lemi Shine Detergent Booster Sample appeared first on
SweetFreeStuff.com.
Commentsthank you. by jacqueline bryant
///////////////////////////////////////////
Free RedBox DVD Rental
Posted: 01 May 2016 02:06 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Text FREEBIE to 727272 to get a free DVD rental. Valid online only.
Free Redbox DVD Rental
The post Free RedBox DVD Rental appeared first on SweetFreeStuff.com.


MENU
Home
Lookbook
Store
Contact
Clothes as natural as you are
Doing one thing well.
We make clothes and that’s it. Nothing else. No distractions. Nothing steals our focus.
View Lookbooks
View our Spring Collection


Psalms 64:8
So they shall make their own tongue to fall upon themselves: all that see them shall flee away.


Home
Location Name:
Minimum Customers:
Maximum Customers:
Average Cookie Per Customer:
Add Location
Sales By Location


open link in new window
School of Web Design & New Media
email me
Call me
LINK TO SECTION
LINK TO SECTION on another page


For example,

should be wrapped as inline.
To switch directories, type
cd
followed by the name of the directory.
For example,

should be wrapped as inline.


Home
Contact Us
Corporate
Embroidery
Everything Web
Self Publishing
Celebration Stationary
Main Menu
Celebration Stationary
Celebrations
Wedding Stationary Items
FAQ
Make Your Choices
Main Menu
Make Your Choices
Base Choices
Card Choices
Accessory Choices
Weddding Invitation Wording
Weddding Evening Invitation Wording
Font Choices


GitHub Public Repo Lookup
Enter the user name you want to look up:
Search
Here are the current repositories on GitHub:


About Me
Hi, I'm Flannery and I'm currently attending the part-time Full Stack Development Bootcamp through the University of Washington. This program allows me to take classes three days a week and still work my full-time job.
In my regular work, I'm the Director of Content Operations at an tech company that does advertising analytics and conversion metrics to help brands understand the performance of their commercials, movie trailers and show promos on linear television and OTT platforms.
Outside of work, obviously I am interesting in learning to code, but in my free time I also love going to the movies, playing board games, drinking with friends and hanging out with my family.