This website is intended to serve as a portfolio for the work that I have done, both in and out of school. This page was created by heavily editing the bootstrap freelancer template, while the others were built from the ground up. Ideally, this page will help to give an idea of my areas of interest.
This project was done as part of a systems course. It implements a simple command interpreter(shell/terminal) that can handle most commands execvp() can. The while loop structure in the main function was written by Alan Mislove, and the rest of the code was written by myself(Scott Conway) and Zack Kniebel using the C programming language.
/** * CS3600, Spring 2013 * * This code implements a simple command interpreter (shell/terminal) * for the UNIX operating system. * */ #include "3600sh.h" #include#define USE(x) (x) = (x) void delete_char(char *str, int index) { char *temp = (char*)calloc(strlen(str) + 1, sizeof(char)); strcpy(temp, str); int i = 0; int hitIndex; while (str[i] != '\0') { if (i == index) { hitIndex = 1; } if (hitIndex == 1) { str[i] = temp[i + 1]; } i++; } free(temp); } /* * Given a pointer to a string, this function reverses the string so the * pointer to the beginning of the string now points to the last character */ void reverse(char *str) { int len = strlen(str); char rev[len]; int i = 0; // loop through each character and place it on the corresponding // side of the reversed string while (i < len) { rev[len - i - 1] = str[i]; i++; } rev[len] = '\0'; strcpy(str,rev); } /* * Given a pointer to a line and the location of the end of the word, * this function returns a pointer to the word between the two boundaries */ char *get_word(char *begin, char **end_word) { char *end = begin; //skip over any spaces leading to the word while( *begin == ' ') begin++; //the end of the word will point to the beginning for now end = begin; //move our end of the word pointer forward until we hit a special character while( (*end != ' ') && (*end != '\0') && (*end != '\n')) { if (*end == '\\' && *(end + 1) == '\\') { delete_char(end, 0); *end = ' '; } end++; } //if there are no more words if(end == begin) return NULL; //null terminate the word, then update the location of the end of the word *end = '\0'; *end_word = end; //begin now points to a null terminated string, so return it return begin; }//end get_word() /* * Given a pointer to a line of input and an array of pointers, this function * breaks the line into a command and arguments and sets them up in the array */ void get_args(char line[], char *args[]) { char *end_word; char *cmd_ptr = line; int i = 0; while( (cmd_ptr = get_word(cmd_ptr, &end_word)) != NULL ) { args[i] = cmd_ptr; cmd_ptr = end_word + 1; i++; } args[i] = NULL; //safety byte }//end get_args() /* * Given a pointer to an input line, this function first reverses the line * to check if an ampersand appears as the last argument in the input line. * This function then checks to make sure that there are no other ampersands * in the line and prints an error if any others are found or syntactically * incorrect. */ int find_amp(char *line) { reverse(line); int ampFound = 0; int i = 0; int nonAmpFoundFirst = 0; // loop through each character in the input line and check to make // sure an ampersand appears correctly if there is one while(i < ((int) strlen(line))) { if (line[i] == '&') { if ((line[i + 1] != ' ' || ampFound == 1 || nonAmpFoundFirst == 1) && line[i + 1] != '\\') { printf("Error: Invalid syntax.\n"); return -1; } else { delete_char(line, i); ampFound = 1; } } else if (line[i] != ' ') { nonAmpFoundFirst = 1; } i++; } // reverse the line one more time so it's in the correct order reverse(line); return ampFound; }//end find_amp() /* * given a pointer to an input line, this function loops through each * character, looking for an escape character. If one is found, it is replaced * by the proper literal, and an error is thrown if a non supported escape * sequence is encountered. */ int sanitize(char *line) { int i = 0; int shouldLoop = 1; int foundBS = 0; //loop until we hit the end of the line while (shouldLoop == 1) { if (line[i] == '\0') { shouldLoop = 0; } else { if (foundBS == 1) {// if we hit a backslash foundBS = 0; //make sure the next character is supported if ((line[i] != '&') && (line[i] != '\\') && (line[i] != ' ') && (line[i] != 't')) { printf("Error: Unrecognized escape sequence.\n"); return -1; } else if (line[i] == ' ') { line[i] = '\\'; } else { if (line[i] == 't') { line[i] = '\t'; } delete_char(line, i - 1); i--; } } else if (line[i] == '\\') { foundBS = 1; } else if (line[i] == '&') { printf("Error: Invalid syntax.\n"); return -1; } } i++; } return 0; }//end sanitize() /* * Given an array of arguments, this function makes sure that a request to * redirect I/O correctly specifies a file name and appears properly */ int validate_redirection(char *args[]) { int foundOut = 0; int foundIn = 0; int i = 0; //loop through all of the arguments while (args[i] != NULL) { if (strcmp(args[i],">") == 0) { // if we've found a redirect for output, check if the // next arfument(s) are as expected, and error if not if ((foundOut == 1 || args[i + 1] == NULL || strcmp(args[i + 1], "\0") == 0 || strcmp(args[i + 1], " ") == 0) && (args[i + 2] != NULL && strcmp(args[i + 2], "<") != 0)) { return -1; } else { foundOut = 1; } } else if (strcmp(args[i],"<") == 0) { // if we've found a redirect for input, check if the // next arfument(s) are as expected, and error if not if ((foundIn == 1 || args[i + 1] == NULL || strcmp(args[i + 1], "\0") == 0 || strcmp(args[i + 1], " ") == 0) && (args[i + 2] != NULL && strcmp(args[i + 2], ">") != 0)) { return -1; } else { foundIn = 1; } } i++; } return 0; } /* * Given an array of arguments, this function executes the first argument with * the following elements as parameters, and implements support for * running processes in the background and I/O redirection */ void execute(char *args[], int runInBackground) { char* filename1 = (char*)calloc(MAXLINE, sizeof(char)); char* filename2 = (char*)calloc(MAXLINE, sizeof(char)); int fd1, fd2; pid_t pid = fork(); // if we're in the child process..... if( pid == 0 ) { int i = 0; int redirect_in = 0; int redirect_out = 0; int redirError = 0; int foundIn = 0; int foundOut = 0; //loop through all of the arguments while (args[i] != NULL) { if (strcmp(args[i],">") == 0) { // error if we find an output in the wrong place if ((foundOut == 1 || args[i + 1] == NULL || strcmp(args[i + 1], "\0") == 0 || strcmp(args[i + 1], " ") == 0) && (args[i + 2] != NULL || strcmp(args[i + 2], "<") != 0)) { redirError = 1; } else { //our next argument must be the file name foundOut = 1; args[i] = NULL; strcpy(filename2, args[i + 1]); redirect_out = 1; } } else if (strcmp(args[i],"<") == 0) { // error if we find an input in the wrong place if ((foundIn == 1 || args[i + 1] == NULL || strcmp(args[i + 1], "\0") == 0 || strcmp(args[i + 1], " ") == 0) && (args[i + 2] != NULL || strcmp(args[i + 2], ">") != 0)) { redirError = 1; } else { //our next argument must be the file name foundIn = 1; args[i] = NULL; strcpy(filename1, args[i + 1]); redirect_in = 1; } } i++; } // if we have not recieved an error, attempt to open the requested file if (redirError != 1) { if (redirect_in == 1) { fd1 = open(filename1, O_RDONLY); if (fd1 < 0) { printf("Error: Unable to open redirection file.\n"); do_exit(); } if (dup2(fd1, 0) != 0) { printf("Error: We've been duped?!\n"); do_exit(); } close(fd1); } if (redirect_out == 1) { fd2 = open(filename2, O_WRONLY | O_TRUNC | O_CREAT, 0644); if (fd2 < 0) { printf("Error: Unable to open redirection file.\n"); do_exit(); } if (dup2(fd2, 1) != 1) { printf("Error: We've been duped?!\n"); do_exit(); } close(fd2); } if(execvp(args[0], args) < 0) { printf("Error: Command not found.\n"); do_exit(); } } else { printf("Error: Invalid syntax.\n"); do_exit(); } free(filename1); free(filename2); } else if( pid < 0 ) {// something went wrong while forking printf("%s\n", "Fork Error: What the fork?!"); do_exit(); } else {// were in the parent process if (runInBackground == 0) { waitpid(pid, NULL, WCONTINUED|WUNTRACED); } } }//end execute() int main(int argc, char*argv[]) { // Code which sets stdout to be unbuffered // This is necessary for testing; do not change this line USE(argc); USE(argv); setvbuf(stdout, NULL, _IONBF, 0); char *host = (char*)calloc(MAXLINE + 1, sizeof(char)); char *user = (char*)calloc(MAXLINE + 1, sizeof(char)); char c; int inputChar; int lineIndex, i; //kindly asks for the host name and stores it in the variable 'host' gethostname(host, MAXLINE); strcpy(user, getenv("USER")); while (1) { // allocate space for our array of arguments char **args = (char**)calloc(MAXARGS, sizeof(char*)); // allocate space for each individual argument for (i = 0; i < MAXARGS; i++) { args[i] = (char*)calloc(MAXLINE, sizeof(char)); } i = 0; char *line = (char*)calloc(MAXLINE + 1, sizeof(char)); lineIndex = 0; printf("%s@%s:%s> ", user, host, getcwd(0,0)); fflush(stdout); inputChar = getchar(); // fill the line up with each character collected while (inputChar != EOF && (c = (char)inputChar) != '\n') { // pad redirect characters so they are not part of a word if (c == '>' || c == '<') { line[lineIndex] = ' '; lineIndex++; line[lineIndex] = c; lineIndex++; line[lineIndex] = ' '; } else { line[lineIndex] = c; } lineIndex++; inputChar = getchar(); } line[lineIndex] = '\0'; // check for any ampersand syntax errors int ampFound = find_amp(line); int errored = ampFound < 0 || sanitize(line) < 0 ? 1 : 0; get_args(line, args); if (errored == 0) { validate_redirection(args); } // check for any commands to exit, and execute the command otherwise if (args[0] != NULL && errored == 0) { if (strcmp(args[0], "exit") == 0){ do_exit(); }else if (strcmp(args[0], "quit") == 0){ do_exit(); }else{ execute(args, ampFound); } } else { if (c == EOF || c == '\n') { do_exit(); } } free(line); //free(args); if (c != '\n') { free(args); do_exit(); } } free(host); free(user); return 0; }//end of main() // Function which exits, printing the necessary message void do_exit() { printf("So long and thanks for all the fish!\n"); exit(0); }
This project was done as part of an Object Oriented programming class. It is an implementation of a simple guitar playing program that will allow you to select the frets you wish, and then play that note.
import world.*; import world.sound.tunes.*; import image.*; import tester.*; import java.util.*; //Represents a Grid Position abstract class AGrid extends Posn{ int WIDTH_CELLS = 20; int HEIGHT_CELLS = 15; int WIDTH = this.WIDTH_CELLS * 5; int HEIGHT = this.HEIGHT_CELLS * 6; AGrid(int x, int y){ super(x,y); } } //represents one of the buttons on the display class Button extends AGrid{ boolean clicked; Image acnylon = new Overlay(new Text("Acoustic - Nylon", 15, "Black"), new Rectangle(150, 30, "solid", "red")); Image acsteel = new Overlay(new Text("Acoustic - Steel", 15, "Black"), new Rectangle(150, 30, "solid", "red")); Image elclean = new Overlay(new Text("Electric - Clean", 15, "Black"), new Rectangle(150, 30, "solid", "red")); Image eljazz = new Overlay(new Text("Electric - Jazz", 15, "Black"), new Rectangle(150, 30, "solid", "red")); Button(int x, int y, boolean clicked){ super(x, y); this.clicked = clicked; } public Scene draw(int i, Scene scn){ if(i == 0){ return scn.placeImage(acnylon, x, y); } else{ if(i == 1){ return scn.placeImage(acsteel, x, y); } else{ if(i == 2){ return scn.placeImage(elclean, x, y); } else{ return scn.placeImage(eljazz, x, y); } } } } } //represents a fret on a guitar neck class Fret extends AGrid{ boolean clicked; Note note; int string; Image fret = new Overlay(new Rectangle(3, 60, "solid", "gray"), new OverlayXY(new Rectangle(30, 55, "solid", "brown"), 0, 55, new Rectangle(30, 5, "solid", "black"))); Image fretclicked = new Overlay(new Circle(8, "solid", "green"), new Overlay(new Rectangle(3, 60, "solid", "gray"), new OverlayXY(new Rectangle(30, 55, "solid", "brown"), 0, 55, new Rectangle(30, 5, "solid", "black")))); Image openclicked = new Overlay(new Circle(8, "solid", "green"), new Overlay(new Rectangle(3, 10, "solid", "gray"), new Rectangle(30, 10, "solid", "black" ))); Image open = new Overlay(new Rectangle(3, 10, "solid", "gray"), new Rectangle(30, 10, "solid", "black" )); Fret(int x, int y, boolean clicked, Note note, int string){ super(x, y); this.clicked = clicked; this.note = note; this.string = string; } /** Determines if the fret has been clicked on mouse event*/ public boolean isClicked(int x2, int y2){ if(this.y < 40){ return (x2 >= this.x-15)&&(x2 <= this.x + 15)&& (y2 >= this.y-5)&&(y2 <= this.y + 5); } else{ return (x2 >= this.x-15)&&(x2 <= this.x + 15)&& (y2 >= this.y-22)&&(y2 <= this.y + 22); } } /** Toggles click from off to on and vice versa */ public void toggleClick(){ this.clicked = !this.clicked; } /** Draws this fret at its coordinates on the scene. */ public Scene drawFret(Scene scn){ if(this.y < 40){ if(this.clicked){ return scn.placeImage(openclicked, x, y); } else{ return scn.placeImage(open, x, y); } } else{ if(this.clicked){ return scn.placeImage(fretclicked, x, y); } else{ return scn.placeImage(fret, x, y); } } } } //represents our guitar class GuitarWorld extends VoidWorld{ ArrayListfrets; ArrayList chord; MusicBox m = new MusicBox(); int inst; Button buttons = new Button(600, 550, false); GuitarWorld(ArrayList frets){ this.frets = frets; } public GuitarWorld initGuitar(){ this.frets = new ArrayList (); frets.add(new Fret(50, 5, true, new Note("E2n1"), 0)); frets.add(new Fret(81, 5, true, new Note("A3n1"), 1)); frets.add(new Fret(112, 5, true, new Note("D3n1"), 2)); frets.add(new Fret(143, 5, true, new Note("G3n1"), 3)); frets.add(new Fret(174, 5, true, new Note("B4n1"), 4)); frets.add(new Fret(205, 5, true, new Note("E4n1"), 5)); frets.add(new Fret(50, 40, false, new Note("F2n1"), 0)); frets.add(new Fret(81, 40, false, new Note("A3sn1"), 1)); frets.add(new Fret(112, 40, false, new Note("D3sn1"), 2)); frets.add(new Fret(143, 40, false, new Note("G3sn1"), 3)); frets.add(new Fret(174, 40, false, new Note("C4n1"), 4)); frets.add(new Fret(205, 40, false, new Note("F4n1"), 5)); frets.add(new Fret(50, 100, false, new Note("F2sn1"), 0)); frets.add(new Fret(81, 100, false, new Note("B3n1"), 1)); frets.add(new Fret(112, 100, false, new Note("E3n1"), 2)); frets.add(new Fret(143, 100, false, new Note("A4n1"), 3)); frets.add(new Fret(174, 100, false, new Note("C4sn1"), 4)); frets.add(new Fret(205, 100, false, new Note("F4sn1"), 5)); frets.add(new Fret(50, 160, false, new Note("G2n1"), 0)); frets.add(new Fret(81, 160, false, new Note("C3n1"), 1)); frets.add(new Fret(112, 160, false, new Note("F3n1"), 2)); frets.add(new Fret(143, 160, false, new Note("A4sn1"), 3)); frets.add(new Fret(174, 160, false, new Note("D4n1"), 4)); frets.add(new Fret(205, 160, false, new Note("G4n1"), 5)); frets.add(new Fret(50, 220, false, new Note("G2sn1"), 0)); frets.add(new Fret(81, 220, false, new Note("C3sn1"), 1)); frets.add(new Fret(112, 220, false, new Note("F3sn1"), 2)); frets.add(new Fret(143, 220, false, new Note("B4n1"), 3)); frets.add(new Fret(174, 220, false, new Note("D4sn1"), 4)); frets.add(new Fret(205, 220, false, new Note("G4sn1"), 5)); frets.add(new Fret(50, 280, false, new Note("A3n1"), 0)); frets.add(new Fret(81, 280, false, new Note("D3n1"), 1)); frets.add(new Fret(112, 280, false, new Note("G3n1"), 2)); frets.add(new Fret(143, 280, false, new Note("C4n1"), 3)); frets.add(new Fret(174, 280, false, new Note("E4n1"), 4)); frets.add(new Fret(205, 280, false, new Note("A5n1"), 5)); frets.add(new Fret(50, 340, false, new Note("A3sn1"), 0)); frets.add(new Fret(81, 340, false, new Note("D3sn1"), 1)); frets.add(new Fret(112, 340, false, new Note("G3sn1"), 2)); frets.add(new Fret(143, 340, false, new Note("C4sn1"), 3)); frets.add(new Fret(174, 340, false, new Note("F4n1"), 4)); frets.add(new Fret(205, 340, false, new Note("A5sn1"), 5)); frets.add(new Fret(50, 400, false, new Note("B3n1"), 0)); frets.add(new Fret(81, 400, false, new Note("E3n1"), 1)); frets.add(new Fret(112, 400, false, new Note("A4n1"), 2)); frets.add(new Fret(143, 400, false, new Note("D4n1"), 3)); frets.add(new Fret(174, 400, false, new Note("F4sn1"), 4)); frets.add(new Fret(205, 400, false, new Note("B5n1"), 5)); /** These lines change midi channels: * 0 = Acoustic Guitar nylon * 1 = Acoustic Guitar steel * 2 = Electric guitar clean * 3 = Electric guitar jazz */ int[] ilist = {25, 26, 28, 29, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; m.initChannels(ilist); this.inst = 0; return this; } public Scene onDraw(){ /** NOTES ON THE FRET STUFF: * * Each fret image is in total 30 by 60 * Each fret is placed 30 + 1 pixels to the right to create white border */ Scene result = new EmptyScene(700, 600); result = result.placeImage(new Text("Guitar Chord Player", 40, "black"), 450, 40); result = result.placeImage(new Overlay (new Circle(80, "solid", "black" ), new Circle(250, "solid", "chocolate" )), 127, 600); result = result.placeImage(new Rectangle(190, 400, "solid", "chocolate"), 127, 200); result = result.placeImage(new Rectangle(3, 200, "solid", "gray"), 50, 500); result = result.placeImage(new Rectangle(3, 200, "solid", "gray"), 81, 500); result = result.placeImage(new Rectangle(3, 200, "solid", "gray"), 112, 500); result = result.placeImage(new Rectangle(3, 200, "solid", "gray"), 143, 500); result = result.placeImage(new Rectangle(3, 200, "solid", "gray"), 174, 500); result = result.placeImage(new Rectangle(3, 200, "solid", "gray"), 205, 500); result = result.placeImage(new Text("1", 30, "black"), 15, 45); result = result.placeImage(new Text("2", 30, "black"), 15, 105); result = result.placeImage(new Text("3", 30, "black"), 15, 165); result = result.placeImage(new Text("4", 30, "black"), 15, 225); result = result.placeImage(new Text("5", 30, "black"), 15, 285); result = result.placeImage(new Text("6", 30, "black"), 15, 345); result = result.placeImage(new Text("7", 30, "black"), 15, 405); int i = 0; while(i < this.frets.size()){ result = this.frets.get(i).drawFret(result); i = i + 1; } result = this.buttons.draw(this.inst, result); return result; } /** Sets all frets on one string to be unclicked */ public void emptyString(int string){ int i = string; while(i < this.frets.size()){ this.frets.get(i).clicked = false; i = i + 6; } } /** Generates the chord from the frets selected. Works by building an ArrayList * of the notes in the selected frets, then mutating the chord field. */ public void makeChord(){ ArrayList temp = new ArrayList (); int i = 0; while(i < frets.size()){ if(frets.get(i).clicked == true){ temp.add(frets.get(i).note); } i++; } chord = temp; } /** Sets the tick rate for the program */ public double tickRate(){ return 0.5; } // Detects Mouse clicks on the fretboard and toggles clicked status public void onMouse(int x, int y, String event){ if(event.equals("button-down")){ int i = 0; while(i guitar = new ArrayList (); GuitarWorld start = new GuitarWorld(guitar).initGuitar(); VoidWorld result = start.bigBang(); }
Use this area of the page to describe your project. The icon above is part of a free icon set by Flat Icons. On their website, you can download their free set with 16 icons, or you can purchase the entire set with 146 icons for only $12!
Use this area of the page to describe your project. The icon above is part of a free icon set by Flat Icons. On their website, you can download their free set with 16 icons, or you can purchase the entire set with 146 icons for only $12!
Use this area of the page to describe your project. The icon above is part of a free icon set by Flat Icons. On their website, you can download their free set with 16 icons, or you can purchase the entire set with 146 icons for only $12!


Project 1 - Interactive Visualization
Barchart
Linechart
Bar Chart Comparison
Line Chart Comparison
Documentation
Tutorial
Pick a Category
Primary Energy Production
Primary Energy Consumption
Electricity Generation
Electricity Consumption
Renewable Electricity Generation
Renewable Electricity Consumption
Renewable Biofuels Production
Renewable Biofuels Consumption
Petroleum Production
Petroleum Consumption
Coal Production
Coal Consumption
CO2 Emission


Go Fundamentals Workshop
2 May 2018
9am to 6pm, registration starts at 8:30am
Learning Institute, Event Hall 2-1
11 Eunos Road 8, Singapore 408601
Ultimate Go Workshop
3 May 2018
9am to 6pm, registration starts at 8:30am
Lifelong Learning Institute, Level 2 Lecture Theatre
11 Eunos Road 8, Singapore 408601
Conference
4 May 2018
9am to 6:30pm, registration starts at 8am
Marina Bay Sands Expo & Convention Centre


|
|
When the patient arrives into the practice and checks in with reception they are logged as arrived in the Diary. This means
that all in the practice are aware of this and can react accordingly.
The associate who is to carry out the pre-test can quickly greet this patient and bring them to the pre-test area.
This is one suggested implementation of Acuitas. If this equipment was not available or was manual the screens would still be
visible and the user could type directly into the application. |
It is important that an application performing pre-testing can link to the following equipment:
- Lensmeter
- Autorefractor
- Tonometer
- Keratometer
- Fundus Camera
- See later in this document for compatible makes and models
|
|
|
|
Key Features
- One touch button for pulling data from each machine
- All above equipment can be linked to one computer
- User who performs the pre-test can also use the history screen to ask some preliminary questions, the answers to which
are visible to the OO
|
|
Key Benefits
- Huge time savings in not having to write information on paper or type information into the application
- Eliminate margin for error in writing out data or re-keying data
- Free up staff to provide other services
- Unblock the start of the patient journey
- Having the equipment in an area out of the consulting room means that the equipment is accessible to a non optometrists
- The user does not have to be an OO to use this equipment so taking it out of the consulting room unblocks the use of
these equipment
- Pre-test allows expensive equipment to be shared between multiple consulting rooms.
- The patient has been seen straight away and feels like they have been seen to, a short wait to go into the consulting
room is less of an issue for them |
| |


How to Add Sidetone to the Audio Processed in the Software
Digital signal processing of RX audio in the PC has many advantages, but it also presents a problem: the output does not include the sidetone. Sending Morse code without hearing the sidetone is virtually impossible, but fortunately, there is an easy solution: processed audio and sidetone can be mixed together in the soundcard.
1. Use a cheap soundcard dongle (a $1 one is OK!), connect the headphones to its output, and the sidetone to the Mic input:
The sidetone may come from the Morse keyer or, if the keyer is built into the radio, from the Phones connector of the radio (but not from the ACC connector). Make sure that only the sidetone is present and receiver audio is muted. How to achieve this is radio-dependent: for example, in TS-570 you can set the IF gain to the minimum, and in IC-7610 you just press the Main AF knob.
- Configure the software to use the dongle for audio output:
- Click on the Windows Start button, type "control panel" and click on Control Panel, then click on Soundcard. Select your soundcard and click on Properties. Click on the Levels tab in the Soundcard Properties dialog, enable both Speakers and Microphone, and adjust their levels for comfortable listening:
That's it! Now you can hear both audio from the PC and sidetone from your radio or Morse keyer.


|
cds
1.5.0
|
Type traits for EllenBinTreeSet, EllenBinTreeMap and EllenBinTreePriorityQueue. More...
#include <cds/container/ellen_bintree_base.h>
Public Types | |
| typedef opt::none | key_extractor |
| Key extracting functor (only for EllenBinTreeSet) More... | |
| typedef opt::none | compare |
| Key comparison functor. More... | |
| typedef opt::none | less |
| Specifies binary predicate used for key compare. More... | |
| typedef atomicity::empty_item_counter | item_counter |
| Item counter. More... | |
| typedef opt::v::relaxed_ordering | memory_model |
| C++ memory ordering model. More... | |
| typedef CDS_DEFAULT_ALLOCATOR | update_desc_allocator |
| Allocator for update descriptors. More... | |
| typedef CDS_DEFAULT_ALLOCATOR | node_allocator |
| Allocator for internal nodes. More... | |
| typedef CDS_DEFAULT_ALLOCATOR | allocator |
| Allocator for leaf nodes. More... | |
| typedef empty_stat | stat |
| Internal statistics. More... | |
| typedef cds::opt::v::rcu_throw_deadlock | rcu_check_deadlock |
| RCU deadlock checking policy (only for RCU-based EllenBinTreeXXX classes) More... | |
| typedef opt::none | copy_policy |
| Key copy policy (for EllenBinTreeMap) More... | |
Type traits for EllenBinTreeSet, EllenBinTreeMap and EllenBinTreePriorityQueue.
Allocator for leaf nodes.
Each leaf node contains data stored in the container.
Key comparison functor.
No default functor is provided. If the option is not specified, the less
is used.
See cds::opt::compare option description for functor interface.
You should provide compare
or less
functor. See predicate requirements.
Key copy policy (for EllenBinTreeMap)
The key copy policy defines a functor to copy leaf node's key to internal node. This policy is used only in EllenBinTreeMap. By default, assignment operator is used.
The copy functor interface is:
Item counter.
The type for item counting feature (see cds::opt::item_counter). Default is no item counter (atomicity::empty_item_counter)
Key extracting functor (only for EllenBinTreeSet)
You should explicit define a valid functor. The functor has the following prototype:
It should initialize dest
key from src
data. The functor is used to initialize internal nodes.
Specifies binary predicate used for key compare.
See cds::opt::less option description for predicate interface.
You should provide compare
or less
functor. See predicate requirements.
C++ memory ordering model.
List of available memory ordering see opt::memory_model
Allocator for internal nodes.
The allocator type is used for internal_node.
| typedef cds::opt::v::rcu_throw_deadlock cds::container::ellen_bintree::type_traits::rcu_check_deadlock |
RCU deadlock checking policy (only for RCU-based EllenBinTreeXXX classes)
List of available options see opt::rcu_check_deadlock
Internal statistics.
Possible types: ellen_bintree::empty_stat (the default), ellen_bintree::stat or any other with interface like stat
.
Allocator for update descriptors.
The allocator type is used for update_desc.
Update descriptor is helping data structure with short lifetime and it is good candidate for pooling. The number of simultaneously existing descriptors is a small number limited the number of threads working with the tree. Therefore, a bounded lock-free container like cds::container::VyukovMPMCCycleQueue
is good choice for the free-list of update descriptors, see cds::memory::vyukov_queue_pool free-list implementation.
Also notice that size of update descriptor is not dependent on the type of data stored in the tree so single free-list object can be used for several EllenBinTree
object.


Constructor
new ShapeEllipse( )
Extends
Inherited Methods
{Shape} addAttribute( String attributeName , String attributeValue )
Adds an extra attribute to the shape
Parameters:
| Name | Type | Description |
|---|---|---|
attributeName |
String | The name of the attribute |
attributeValue |
String | The value of the attribute |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} addClass( String className )
Adds a class to the shape DOM
Parameters:
| Name | Type | Description |
|---|---|---|
className |
String | The class to add |
- Inherited From:
Returns:
{
Shape
}
The current shape
addProp( String prop , val )
Adds a property to the property array
Parameters:
| Name | Type | Description |
|---|---|---|
prop |
String | The property to add |
val |
The value to save |
- Inherited From:
{Shape} addTransform( String type , String args )
Adds a transform property to the shape.
Parameters:
| Name | Type | Description |
|---|---|---|
type |
String | The transform type ("rotate", "transform" or "scale") |
args |
String | The arguments following the transform |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} applyGenericStyle( )
Applies the generic style to the shape. This is a method that applies to most shapes, hence should not be overridden. However if you create a bundle of shapes that extend another one, you may use it to set common style properties to all your shapes.
{Shape} applyStyle( )
Applies the style to the shape. This method can be extended to apply specific style to the shapes
(protected) {Boolean} areHandlesInDom( )
{Shape} autoAxes( )
Assigns the shape to the default x and y axes of the graph, only if they don't exist yet
{Object} calculatePosition( [ , Number, Position index ] , Position relToPosition )
Returns a computed position object
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
index |
Number | Position |
<optional> |
0 | The index of the position to compute |
relToPosition |
Position | A base position from which to compute the position (useful for dx values) |
- Overrides:
Returns:
{
Object
}
The computed position object in the format
{ x: x_in_px, y: y_in_px }
{Shape} changed( )
Triggers a ```shapeChanged``` event on the graph and a ```changed``` event on the shape
createHandles( )
Creates the handles for the shape.
- Inherited From:
{Shape} displayLabel( [ , Number index ] )
Displays a hidden label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
index |
Number |
<optional> |
0 | The index of the label |
- Overrides:
Returns:
{
Shape
}
The current shape
{Shape} draw( Boolean force , Boolean preventRedraw )
Initial drawing of the shape. Adds it to the DOM and creates the labels. If the shape was already in the DOM, the method simply recreates the labels and reapplies the shape style, unless ```force``` is set to ```true```
Parameters:
| Name | Type | Description |
|---|---|---|
force |
Boolean | Forces adding the shape to the DOM (useful if the shape has changed layer) |
preventRedraw |
Boolean | Prevents the redraw method |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} emptyLabels( )
Temporarily empties the labels, until the next rendering.
This is used when the shape should not be displayed
{Shape} forceParentDom( )
Forces the DOM parent (instead of the normal layer)
{Object} getData( )
{String} getFillColor( )
Returns the fill color
{Object} getHighlightAttributes( )
- Inherited From:
- See:
Returns:
{
Object
}
The attributes taken by the shape when highlighted
{Position} getLabelPosition( [ , Number index ] )
Returns the position of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Position
}
The current position of the label
{String} getLabelText( [ , Number index ] )
Returns the text of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
String
}
The text of the label
{Number} getLayer( )
Returns the layer on which the shape is placed
{String} getMaskingID( )
Returns the masking id of the shape. Returns null if the shape does not behave as a mask
{Position} getPosition( [ , Number index ] )
Returns a stored position object
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
index |
Number |
<optional> |
0 | The index of the position to compute |
- Inherited From:
Returns:
{
Position
}
The position at the proper index, or undefined
getProp( String prop [ , index ] )
Returns a property of the shape
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
prop |
String | The property to retrieve | ||
index |
<optional> |
0 | The index of the property array |
- Inherited From:
{Object} getProperties( )
Gets all dumpable properties of the shape
getProps( String prop )
Returns all the properties of the shape
Parameters:
| Name | Type | Description |
|---|---|---|
prop |
String | The property to retrieve |
- Inherited From:
getSelectStyle( Object.<String, String> The )
Returns the special style of the shape when it is selected.
Parameters:
| Name | Type | Description |
|---|---|---|
The |
Object.<String, String> | SVG attributes to apply to the shape |
- Inherited From:
- See:
{Serie} getSerie( )
{String} getStrokeColor( )
Returns the stroke color
{String} getStrokeWidth( )
Returns the stroke width
{String} getType( )
{XAxis} getXAxis( )
Returns the x axis associated to the shape. If non-existent, assigns it automatically
{YAxis} getYAxis( )
Returns the y axis associated to the shape. If non-existent, assigns it automatically
handleMouseDown( Event e )
Handles mouse down events
Parameters:
| Name | Type | Description |
|---|---|---|
e |
Event | The native event |
- Inherited From:
Returns:
The result of the Shape#handleMouseDownImpl method.prototype
{Boolean} hasHandles( Boolean setter )
Sets or queries whether the shape can have handles. Even if the property is set to false, the getter can return true if the property ```statichandles``` is true (used when handles never disappear)
Parameters:
| Name | Type | Description |
|---|---|---|
setter |
Boolean | If used, defined if the shape has handles or not |
- Inherited From:
Returns:
{
Boolean
}
true is the shape has handles, false otherwise
Examples
{Boolean} hasStaticHandles( )
- Inherited From:
Returns:
{
Boolean
}
```true``` if the shape has static handles, ```false``` otherwise
{Shape} hideLabel( [ , Number index ] )
Hides a displayed label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} highlight( [ , Object.<String, String> attributes ] [ , String saveDomName ] )
Highlights the shape with attributes
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
attributes |
Object.<String, String> |
<optional> |
A hashmap of attributes to apply. If omitted, Shape#getHighlightAttributes will be called | |
saveDomName |
String |
<optional> |
highlight | The name to which the current shape attributes will be saved to be recovered later with the Shape#unHighlight method |
- Inherited From:
- See:
Returns:
{
Shape
}
The current shape
Example
{Shape} init( Graph graph , Object properties )
Initializes the shape
initImpl( )
Implentation of the init method. To be extended if necessary on extended Shape classes
- Inherited From:
{Boolean} isHidden( )
Returns whether the shape is hidden or not
{Boolean} isLabelEditable( Number labelIndex )
Determines if the label is editable
Parameters:
| Name | Type | Description |
|---|---|---|
labelIndex |
Number | The index of the label |
- Inherited From:
Returns:
{
Boolean
}
```true``` if the label is editable, ```false``` otherwise
{Boolean} isLocked( )
{Boolean} isMovable( )
{Boolean} isResizable( )
- Inherited From:
Returns:
{
Boolean
}
True if the shape is resizable, false otherwise
{Boolean} isSelectable( )
- Inherited From:
Returns:
{
Boolean
}
True if the shape is selectable, false otherwise
{Boolean} isSelected( )
Returns the shape selection status
- Inherited From:
Returns:
{
Boolean
}
true is the shape is selected, false otherwise
{Boolean} isVisible( )
Returns whether the shape is visible or not
- Inherited From:
Returns:
{
Boolean
}
true if the shape is visible, false if it is hidden
{Shape} lock( )
Locks the shape (prevents selection, resizing and moving)
{Shape} maskWith( Shape maskingShape )
Masks the current shape with another shape passed as the first parameter of the method
{Shape} movable( )
Makes the shape moveable
{Shape} redraw( )
Redraws the shape. Repositions it, applies the style and updates the labels
redrawImpl( )
Implementation of the redraw method. Extended Shape classes should override this method
- Inherited From:
{Shape} removeClass( String className )
Removes a class from the shape DOM
Parameters:
| Name | Type | Description |
|---|---|---|
className |
String | The class to remove |
- Inherited From:
Returns:
{
Shape
}
The current shape
resetProp( String prop )
Resets the property array
{Shape} resetTransforms( )
Resets the transforms
{Shape} resizable( )
Makes the shape resizable
{Shape} selectable( )
Makes the shape selectable
{Shape} setAttributes( Object.<String, String> attributes )
Sets any extra attributes to the DOM element of the shape
Parameters:
| Name | Type | Description |
|---|---|---|
attributes |
Object.<String, String> | An extra attribute array to apply to the shape DOM |
- Inherited From:
Returns:
{
Shape
}
The current shape
Example
{Shape} setEventReceptacle( )
Creates an event receptacle with the coordinates of the shape bounding box
{Shape} setFillColor( String color )
Saves the fill color
Parameters:
| Name | Type | Description |
|---|---|---|
color |
String | The filling color |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setFillOpacity( Number opacity )
Saves the opacity of the filling color of the shape
Parameters:
| Name | Type | Description |
|---|---|---|
opacity |
Number | The filling opacity (0 to 1) |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setHighlightAttributes( [ , Object.<String, String> attributes ] )
Sets the attributes the shape will take when highlighted
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
attributes |
Object.<String, String> |
<optional> |
A hashmap of attributes to apply when the shape is highlighted |
- Inherited From:
- See:
Returns:
{
Shape
}
The current shape
{Shape} setLabelAnchor( String anchor [ , Number index ] )
Sets the anchoring of the label.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
anchor |
String | The anchor of the label. Values can be ```start```, ```middle```, ```end``` or ```inherit```. | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelAngle( Number angle [ , Number index ] )
Sets the angle of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
angle |
Number | The angle of the label in degrees (0 to 360°) | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelBackgroundColor( String color [ , Number index ] )
Sets the color of the background of the label.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
color |
String | The color of the background | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelBackgroundOpacity( Number opacity [ , Number index ] )
Sets the opacity of the background of the label.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
opacity |
Number | The opacity of the background, between 0 and 1 | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelBaseline( String baseline [ , Number index ] )
Sets the baseline of the label, which affects its y position with respect to the text direction. For text along the x direction, different baselines will reference differently the text to the ```y``` coordinate.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
baseline |
String | The baseline of the label. Most common baselines are ```no-change```, ```central```, ```middle``` and ```hanging```. You will find an explanation of those significations on the corresponding MDN article | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelColor( String color [ , Number index ] )
Sets the color of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
color |
String | The color of the label | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelData( String data [ , Number index ] )
Sets the text of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
data |
String | Some additional HTML tags that will be set to the label | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelFontSize( String size [ , Number index ] )
Sets the font size of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
size |
String | The font size (in px) of the label | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelPosition( Position position [ , Number index ] )
Sets the position of the label
{Shape} setLabelSize( String size [ , Number index ] )
Sets the anchoring of the label.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
size |
String | The font size in px | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelStrokeColor( String color [ , Number index ] )
Sets the color of the stroke of the label.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
color |
String | The color of the stroke | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelStrokeWidth( Number width [ , Number index ] )
Sets the width of the stroke of the label.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
width |
Number | The width of the stroke | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLabelText( String text [ , Number index ] )
Sets the text of the label
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
text |
String | The text of the label | ||
index |
Number |
<optional> |
0 | The index of the label |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setLayer( Number layer )
Sets the layer of the shape
Parameters:
| Name | Type | Description |
|---|---|---|
layer |
Number | The layer number (1 being the lowest) |
- Inherited From:
- See:
Returns:
{
Shape
}
The current shape
{Shape} setPosition( Position position [ , Number index ] )
Sets a position object
{Shape} setProp( String prop , val [ , index ] )
Sets a property to the shape that is remembered and can be later reexported (or maybe reimported)
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
prop |
String | The property to save | ||
val |
The value to save | |||
index |
<optional> |
0 | The index of the property array to save the property |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setProperties( Object properties )
Sets all dumpable properties of the shape
Parameters:
| Name | Type | Description |
|---|---|---|
properties |
Object | The properties object |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setSelectStyle( [ , Object.<String, String> attr ] )
Defines the style that is applied to the shape when it is selected. The style extends the default style of the shape
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
attr |
Object.<String, String> |
<optional> |
{} | The SVG attributes to apply to the shape |
- Inherited From:
Returns:
{
Shape
}
the current shape
Example
{Shape} setSerie( Serie The )
Assigns a serie to the shape
{Shape} setStaticHandles( Boolean staticHandles )
Assigns static handles to the shape. In this mode, handles will not disappear
Parameters:
| Name | Type | Description |
|---|---|---|
staticHandles |
Boolean | true to enable static handles, false to disable them. |
- Inherited From:
Returns:
{
Shape
}
the current shape
{Shape} setStrokeColor( )
Saves the stroke color
{Shape} setStrokeDasharray( String dasharray )
Saves the stroke dash array
Parameters:
| Name | Type | Description |
|---|---|---|
dasharray |
String | The dasharray string |
- Inherited From:
Returns:
{
Shape
}
The current shape
Example
{Shape} setStrokeWidth( String width )
Saves the stroke width
Parameters:
| Name | Type | Description |
|---|---|---|
width |
String | The stroke width |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setXAxis( XAxis The )
Assigns the shape to an x axis
Parameters:
| Name | Type | Description |
|---|---|---|
The |
XAxis | X axis related to the shape |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Shape} setYAxis( YAxis The )
Assigns the shape to an y axis
Parameters:
| Name | Type | Description |
|---|---|---|
The |
YAxis | Y axis related to the shape |
- Inherited From:
Returns:
{
Shape
}
The current shape
{Position} sortPositions( function sortFunction )
Sorts the positions
Parameters:
| Name | Type | Description |
|---|---|---|
sortFunction |
function | Function passed into the ```Array.sort``` method |
- Inherited From:
Returns:
{
Position
}
The current shape
{Shape} unHighlight( [ , String saveDomName ] )
Removes the highlight properties from the same
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
saveDomName |
String |
<optional> |
highlight | The name to which the current shape attributes will be saved to be recovered later with the Shape#unHighlight method |
- Inherited From:
- See:
Returns:
{
Shape
}
The current shape
{Shape} unlock( )
Unlocks the shape (prevents selection, resizing and moving)
{Shape} unmovable( )
Makes the shape non-moveable
{Shape} unresizable( )
Makes the shape non-resizable
{Shape} unselectable( )
Makes the shape non-selectable
{Shape} updateMask( )
Manually updates the mask of the shape. This is needed because the shape needs to be surrounded by a white rectangle (because transparent is treated as black and will not render the shape)
This method will work well for rectangles but should be overridden for other shapes
- Inherited From:
- To Do:
-
- Explore a way to make it compatible for all kinds of shapes. Maybe the masker position should span the whole graph...
Returns:
{
Shape
}
The current shape


{% extends "base.html" %} {% block title %} JackpotSone.com - provides free football tips and predictions, jackpot analysis, free analysis, football form and statistics, Sportpesa Jackpot, Prediction site, Correct football matches prediction, Sportpesa games today, sportpesa games analysis, Winning sports tips| Best football prediction, Analysis and tips {% endblock %} {% block header %} {% include "header.html" %} {% endblock %} {% block content %}
The Mega Jackpot is a weekly jackpot with 17 pre-selected games that usually play over the weekend.
The cash prize for the Mega Jackpot starts at Sh100,000,000 and the amount progresses every week until it is won.
Mega Jackpot is equally shared among all the winners. Bonuses are awarded for 12 ,13,14,15 and 16 correct predictions.
You can place as many bets as you wish on the Mega Jackpot and each bet costs Sh100.
The Midweek Jackpot is a weekly jackpot with 13 pre-selected games that usually play over the weekdays.
The cash prize for the Midweek Jackpot starts at Sh10,000,000 and the amount progresses every week until it is won.
Midweek Jackpot is equally shared among all the winners. Bonuses are awarded for 10, 11 and 12 correct predictions.
You can place as many bets as you wish on the Midweek Jackpot and each bet costs Sh100.
{% endblock %} {% block footer %} {% include "footer.html" %} {% endblock %}


{%- extends "base.html" %} {% block title %} slip {% endblock %} {% block content %}
A slip is what {{ instance_name() }} uses to keep track of user settings and permissions in an anonymous manner.
You can sign up for a slip using the form below, or log in to an existing slip. All that's required is a name and password for your slip - be sure not to forget it, as there is currently no way to recover a lost password!
Your slip is: {{ get_slip().name }}
Log out {% endif %}


{# Should include some simple CSS head stuff here and like have a base template... what a mess #}
Welcome to the {{settings.SITE.title}} site!
# not yet sure how to formulate this
{#
{{obj|overview}}
{{obj|permalink}}
{{obj|editlink}}
#}
{% for di in rt.models.cal.Event.objects.all() %}
{% for obj in rt.models.cal.Event.objects.all() %}


Nigerians Battle Senators As Hate Speech Bill Passes Second Reading
by Emmanuel EgobiambuNigerians have totally condemned the Senate for passing the Hate Speech Bill into its second reading, describing it as an attempt to infringe on the freedom of expression.
Concise News understands that the proposed law which is tagged the Protection from Internet Falsehood and Manipulations Bill seeks to regulate the usage of social media and curb fake news.
The Senate had directed its committee on judiciary to work on the bill and return in four weeks following the second reading.
Senator Mohammed Musa from Niger East under the ruling All Progressives Congress (APC) introduced the bill to the Senate on Tuesday, November 5, 2019.
Nigerians have, however, condemned the bill, saying it is an attempt to muzzle them; stop them from expressing themselves.
They took to Twitter to oppose the bill with the hashtag #SayNoToSocialMediaBil and #SayNoToHateSpeechBill as seen below:


Reads from the standard input or from a specified input file and compares adjacent lines, writing one copy of each input line on the output. The second and succeeding copies of repeated adjacent input lines are not written to the output.
Note that repeated non-adjacent lines in the input are only detected with the --global or -g option. In other words, unique output lines are guaranteed only if either (a) the --global or -g option is specified, or (b) the input lines are sorted.


Let's get cracking
Enter your message to encrypt with the cipher offset
Result
Enter your message to decrypt
This is a Caesar Cipher Solver made for my intro to security class


WikiLeaks: FARC-EP<EMAIL_ADDRESS>mail archive
This message is part of a particular mailbox provided at WikiLeaks
and it should be discussed here.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SILVER STAKE WINNER-Ref.No.-RNL/051/652659966/UK
- Subject: SILVER STAKE WINNER-Ref.No.-RNL/051/652659966/UK
- From: "Promotions Department"<EMAIL_ADDRESS>- Date: Thu, 10 Apr 2008 20:36:03 +1000 (EST)
- Authentication-results: mta205.mail.re3.yahoo.com from=rnl.org; domainkeys=neutral (no sig)
- Reply-to<EMAIL_ADDRESS>- User-agent: SquirrelMail/1.4.9a
FROM:PROMOTIONS DEPARTMENT OF THE ROYAL NATIONAL LOTTERY,WINNING NOTICE
FOR SILVER STAKE WINNER -Ref.No.-RNL/051/652659966/UK.
Attention:
The Royal National Lottery has just concluded its final draws of it's
periodical promotional program.
An exclusive list of email addresses of thousands of individual and
corporate bodies were picked by automated random computer search from the
internet.
No tickets were sold.
Your email address emerged as one of seven winners in the silver stakes
category as email addresses were soughted,from a total number of 25,000
addresses drawn from all over the globe.
After an automated computer ballot of our Royal National Lottery
program,only SEVEN winners emerged in this category and therefore each are
to receive payouts of EU1,500,000.00 (ONE MILLION, FIVE HUNDRED THOUSAND
EURO ONLY) from the total of EU10,500, 000.00 (TEN MILLION,FIVE HUNDRED
THOUSAND EURO).
However,every email address selected was accompanied by a reference and
ticket number,after the cyber lotto selection,the below ticket and
reference numbers emereged as one of the lucky winners in the above
category.
CONGRATULATIONS!!!
Reference number for your prize is:Ref. No.- RNL/051/652659966/UK,
Ticket No.- RNL87866UK.
For confirmation of the claim of your prize money, you are to send an
email to our customer service representative with informations below for
further instructions on how you can claim your prize:
Mr Scott Hales
Customer Service Representative
Royal National Lottery UK,
<EMAIL_ADDRESS>contact: +447045712276
You may be required to provide any of the above information during the
process of collecting your prize.
We congratulate you once again and it is our hope that you participate in
any of our international programs in the nearest future.
Thank you and CONGRATULATIONS!!!.
Sincerely,
Promotions Department
Royal National Lottery
Entry for this page on WikiLeaks |
Discussion page on WikiLeaks |
wikileaks.org
Main Index |
Thread Index |
Author Index


使用 Kotlin/JS IR 编译器
As of Kotlin 1.4.0, the Kotlin/JS IR compiler has Alpha stability level. You are welcome to use the IR compiler backend, but all of the functionality, language and tooling features described in this document are subject to change in future Kotlin versions.
The Kotlin/JS IR compiler backend is the main focus of innovation around Kotlin/JS, and paves the way forward for the technology.
Rather than directly generating JavaScript code from Kotlin source code, the Kotlin/JS IR compiler backend leverages a new approach. Kotlin source code is first transformed into a Kotlin intermediate representation (IR), which is subsequently compiled into JavaScript. For Kotlin/JS, this enables aggressive optimizations, and allows improvements on pain points that were present in the previous compiler, such as generated code size (through dead code elimination), and JavaScript and TypeScript ecosystem interoperability, to name some examples.
The IR compiler backend is available starting with Kotlin 1.4.0 through the Kotlin/JS Gradle plugin. To enable it in your project, pass a compiler type to the js
function in your Gradle build script:
kotlin {
js(IR) { // or: LEGACY, BOTH
// . . .
binaries.executable()
}
}
IR
uses the new IR compiler backend for Kotlin/JS.LEGACY
uses the default compiler backend.BOTH
compiles your project with the new IR compiler as well as the default compiler backend. This is mainly useful for authoring libraries that are compatible with both backends, see below.
The compiler type can also be set in the gradle.properties
file, with the key kotlin.js.compiler=ir
. (This behaviour is overwritten by any settings in the build.gradle(.kts)
, however).
Ignoring compilation errors
Ignore compilation errors mode is experimental in Kotlin 1.4.20. Its behavior and interface may change in the future.
Kotlin/JS IR compiler provides a new compilation mode unavailable in the default backend – ignoring compilation errors. In this mode, you can try out your application even while its code contains errors. For example, when you’re doing a complex refactoring or working on a part of the system that is completely unrelated to a compilation error in another part.
With this new compiler mode, the compiler ignores all broken code. Thus, you can run the application and try its parts that don't use the broken code. If you try to run the code that was broken during compilation, you'll get a runtime exception.
Choose between two tolerance policies for ignoring compilation errors in your code:
SEMANTIC
. The compiler will accept code that is syntactically correct but doesn't make sense semantically. For example, assigning a number to a string variable (type mismatch).SYNTAX
. The compiler will accept any code, even if it contains syntax errors. Regardless of what you write, the compiler will still try to generate a runnable executable.
As an experimental feature, ignoring compilation errors requires an opt-in.
To enable this mode, add the -Xerror-tolerance-policy={SEMANTIC|SYNTAX}
compiler option:
kotlin {
js(IR) {
compilations.all {
compileKotlinTask.kotlinOptions.freeCompilerArgs += listOf("-Xerror-tolerance-policy=SYNTAX")
}
}
}
Current limitations of the IR compiler
A major change with the new IR compiler backend is the absence of binary compatibility with the default backend. A lack of such compatibility between the two backends for Kotlin/JS means that a library created with the new IR compiler backend can’t be used from the default backend, and vice versa.
If you want to use the IR compiler backend for your project, you need to update all Kotlin dependencies to versions that support this new backend. Libraries published by JetBrains for Kotlin 1.4+ targeting Kotlin/JS already contain all artifacts required for usage with the new IR compiler backend.
If you are a library author looking to provide compatibility with the current compiler backend as well as the new IR compiler backend, additionally check out the “Authoring libraries for the IR compiler” section.
The IR compiler backend also has some discrepancies in comparison to the default backend. When trying out the new backend, it's good to be mindful of these possible pitfalls.
- Currently, the IR backend does not generate source maps for Kotlin code. You can follow the progress on YouTrack.
- Some libraries that rely on specific characteristics of the default backend, such as
kotlin-wrappers
, can display some problems. You can follow the investigation and progress on YouTrack. - The IR backend does not make Kotlin declarations available to JavaScript by default at all. To make Kotlin declarations visible to JavaScript, they must be annotated with
@JsExport
.
Preview: Generation of TypeScript declaration files (d.ts)
The Kotlin/JS IR compiler is capable of generating TypeScript definitions from your Kotlin code. These definitions can be used by JavaScript tools and IDEs when working on hybrid apps to provide autocompletion, support static analyzers, and make it easier to include Kotlin code in JavaScript and TypeScript projects.
Top-level declarations marked with @JsExport
in a project that produces executable files (binaries.executable()
) will get a .d.ts
file generated, which contains the TypeScript definitions for the exported Kotlin declarations.
In Kotlin 1.4, these declarations can be found in build/js/packages/<package_name>/kotlin
alongside the corresponding, un-webpacked JavaScript code.
The generation of TypeScript declaration files is a feature exclusive to the IR compiler, and is in active development. If you run into any problems, please submit them to the Kotlin issue tracker or vote for submitted issues that impact you.
Authoring libraries for the IR compiler with backwards compatibility
If you're a library maintainer who is looking to provide compatibility with the default backend as well as the new IR compiler backend, a setting for the compiler selection is available that allows you to create artifacts for both backends, allowing you to keep compatibility for your existing users while providing support for the next generation of Kotlin compiler. This so-called both
-mode can be turned on using the kotlin.js.compiler=both
setting in your gradle.properties
file, or can be set as one of the project-specific options inside your js
block inside the build.gradle(.kts)
file:
kotlin {
js(BOTH) {
// . . .
}
}
When in both
mode, the IR compiler backend and default compiler backend are both used when building a library from your sources (hence the name). This means that both klib
files with Kotlin IR as well as jar
files for the default compiler will be generated. When published under the same Maven coordinate, Gradle will automatically choose the right artifact depending on the use case – js
for the old compiler, klib
for the new one. This enables you to compile and publish your library for projects that are using either of the two compiler backends.


Cheese is a dairy product, derived from milk and produced in wide ranges of flavours, textures and forms by coagulation of the milk protein casein. It comprises proteins and fat from milk, usually the milk of cows, buffalo, goats, or sheep. During production, the milk is usually acidified and adding the enzymes of rennet (or bacterial enzymes with similar activity) causes the milk proteins (casein) to coagulate. The solids (curd) are separated from the liquid (whey) and pressed into final form.[1] Some cheeses have aromatic molds on the rind, the outer layer, or throughout. Most cheeses melt at cooking temperature.
PRICES:
- gorgonzola 46$
- mozzarela 57$
- emmentaler 21$
- gauda 19$
Email<EMAIL_ADDRESS>Phone: 069 696969


Welcome to the online Attendance Generator, made by Mohit Chahal.
To use this web-app, you'll have to follow the following setps:
Upload/attach your data file with names of all the students,
along with their roll numbers and related information you want
printed in the output attendance
Once your list is rendered on screen, click on P
or A to mark their present or absent respectively.
After having marked the attendance for the students, click on
the Export button to choose your desired output
format and download it.
Get Started by choosing an Upload Mode from the list down below:
Google sheets link: bro
Attach your xlsx file: bro
Export
Please choose the format in which you want to export the attendance


Class RTPSink
Threads used:
- ListenerThread to listen for incoming RTP packets on the listener socket,
- ListenerTimeoutThread shuts down the stream if a packet is not received in NO_RTP_TIMEOUT or if the stream's lifetime
exceeds RTPMaxStayAlive (and RTPMaxStayAlive has been set > 0),
- SenderThread sends RTP packets to remote socket.
Inheritance
System.Object
RTPSink
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: SIPSorcery.dll
Syntax
Constructors
|
Improve this Doc
View Source
RTPSink(IPAddress, ArrayList)
Declaration
public RTPSink(IPAddress localAddress, ArrayList inUsePorts)
Parameters
| Type |
Name |
Description |
| System.Net.IPAddress |
localAddress |
|
| System.Collections.ArrayList |
inUsePorts |
|
|
Improve this Doc
View Source
RTPSink(IPEndPoint)
Declaration
public RTPSink(IPEndPoint localEndPoint)
Parameters
| Type |
Name |
Description |
| System.Net.IPEndPoint |
localEndPoint |
|
Fields
|
Improve this Doc
View Source
LastReceivedReportNumber
Declaration
public uint LastReceivedReportNumber
Field Value
| Type |
Description |
| System.UInt32 |
|
|
Improve this Doc
View Source
LogArrivals
Declaration
Field Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
NO_RTP_TIMEOUT
Declaration
public const int NO_RTP_TIMEOUT = 30
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTCP_SAMPLE_WINDOW
Declaration
public const int RTCP_SAMPLE_WINDOW = 5
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTP_BASEFRAME_SIZE
Declaration
public const int RTP_BASEFRAME_SIZE = 15
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTP_DEFAULTPACKET_SIZE
Declaration
public const int RTP_DEFAULTPACKET_SIZE = 160
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
Declaration
public const int RTP_HEADER_SIZE = 12
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTP_PORTRANGE_END
Declaration
public const int RTP_PORTRANGE_END = 17000
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTP_PORTRANGE_START
Declaration
public const int RTP_PORTRANGE_START = 12000
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTPFrameSize
Declaration
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTPMaxStayAlive
Declaration
public int RTPMaxStayAlive
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
Sending
Declaration
Field Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
ShuttingDown
Declaration
Field Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
StopIfNoData
Declaration
Field Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
StopListening
Declaration
public bool StopListening
Field Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
TIMESTAMP_FACTOR
Declaration
public const int TIMESTAMP_FACTOR = 100
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
TYPEOFSERVICE_RTPSEND
Declaration
public const int TYPEOFSERVICE_RTPSEND = 47
Field Value
| Type |
Description |
| System.Int32 |
|
Properties
|
Improve this Doc
View Source
BytesReceived
Declaration
public long BytesReceived { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
|
Improve this Doc
View Source
BytesSent
Declaration
public long BytesSent { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
|
Improve this Doc
View Source
CallDescriptorId
Declaration
public Guid CallDescriptorId { get; set; }
Property Value
| Type |
Description |
| System.Guid |
|
|
Improve this Doc
View Source
ClientEndPoint
Declaration
public IPEndPoint ClientEndPoint { get; }
Property Value
| Type |
Description |
| System.Net.IPEndPoint |
|
|
Improve this Doc
View Source
ListenPort
Declaration
public int ListenPort { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
PacketsReceived
Declaration
public long PacketsReceived { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
|
Improve this Doc
View Source
PacketsSent
Declaration
public long PacketsSent { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
|
Improve this Doc
View Source
RemoteEndPoint
Declaration
public IPEndPoint RemoteEndPoint { get; }
Property Value
| Type |
Description |
| System.Net.IPEndPoint |
|
|
Improve this Doc
View Source
RTPChannels
Declaration
public int RTPChannels { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
RTPPacketSendSize
Declaration
public int RTPPacketSendSize { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
StreamId
Declaration
public Guid StreamId { get; }
Property Value
| Type |
Description |
| System.Guid |
|
Methods
|
Improve this Doc
View Source
SendRTCPReport(RTCPReportTypesEnum, Byte[])
Sends an RTCP report to the remote agent.
Declaration
public void SendRTCPReport(RTCPReportTypesEnum reportType, byte[] reportData)
Parameters
|
Improve this Doc
View Source
Shutdown()
Declaration
|
Improve this Doc
View Source
StartListening()
Declaration
public void StartListening()
|
Improve this Doc
View Source
StartSending(IPEndPoint)
Declaration
public void StartSending(IPEndPoint serverEndPoint)
Parameters
| Type |
Name |
Description |
| System.Net.IPEndPoint |
serverEndPoint |
|
Events
|
Improve this Doc
View Source
DataReceived
Declaration
public event RTPDataReceived DataReceived
Event Type
|
Improve this Doc
View Source
DataSent
Declaration
public event RTPDataSent DataSent
Event Type
|
Improve this Doc
View Source
ListenerClosed
Declaration
public event RTPSinkClosed ListenerClosed
Event Type
|
Improve this Doc
View Source
RemoteEndPointChanged
Declaration
public event RTPRemoteEndPointChanged RemoteEndPointChanged
Event Type
|
Improve this Doc
View Source
RTCPReportReady
Declaration
public event RTCPSampleReadyDelegate RTCPReportReady
Event Type
|
Improve this Doc
View Source
RTCPReportReceived
Declaration
public event RTCPReportRecievedDelegate RTCPReportReceived
Event Type
|
Improve this Doc
View Source
SenderClosed
Declaration
public event RTPSinkClosed SenderClosed
Event Type


RoadBots
Product Design, UX, Mobile
Designing RoadBots is a great experience I’ve ever had. My team, Charles Aweida, Yanjin Long, Anshul Goyal, and I, we were so dedicated to this project for almost one month, going through the entire product design process - early research, marketing analysis, device study, ideation, wireframing, prototyping, and later implementation.
Basically it’s an idea about seeking a creative solution for safe driving. We wanted to make the product functional, rewarded, and super cool. With taking two user sides (customers and clients) into account, we tried to build a real ecosystem that makes the whole driving experience safe based on strong motivation and good incentive. Simply put, we were gamifying user experience with a real payoff.
It was a really exciting project. Our friends like this product a lot. Hopefully one day we can bring this business model to life.
- Ideation
- Wireframes
- Interfaces Design
- High-fidelity visual design
- Prototyping
- Presentation
Jingyi Feng, Charles Aweida, Yanjin Long, Anshul Goyal
2013 Spring
Demo
Research
What do we find?
After interviewing 13 commuters, conducting online surveys, comparing different existing products, we found: "driving is dangerous" -
- Vehicular accidents are the #1 cause of death among young adults Last year 3,331 people were killed in crashes involving a distracted driver 11% of all drivers under the age of 20 involved in fatal crashes were reported as distracted at the time of the crash insurance is expensive
- Average cost of car insurance in 2012 was $1428 (California) 20% of insurance customers experienced an insurance initiated rate increase from 2011 Of those customers 63% experienced an increase of $50 or more games? Maybe it’s worthwhile to try to encourage users and solve the problem in use of game thinking or some game mechanics
How do we do this?
We were looking for a creative solution for driving safely but also rewarded and with a lot fun. We found technically it can work as this -
Progressive snapshot --> mobile device
Ideation
Meet our RoadBots Team:
We designed those 6 robots called "Roadbots". Each roadbot records one kind of your driving data, and sends it to users' insurance company (by users' own preference). Users would earn road bots points by having the them record your data.
Team up and win the game:
The Points Collecting is incentive for users in this "drive safely game". Besides, they can earn extra points by teaming up in their own community, their state, or their insurance company. The higher total scores your teams earn, the more discount you can get for your insurance too.
Personas
Scenarios
Wireframes
Mockups
Design language
Co-branding
RoadBots also co-brand with various insurance companies by letting them join leader-board to “compete” each other to give extra bonus to users. On the other hand user can choose the insurance company with good performance they satisfy with to gain more discount on their car insurance.


--- author: display_name: Rick Kelson email<EMAIL_ADDRESS>tags: - 1 foot - aerial photography - hro - imagery date: 2011-08-15 17:04:48 -0600 title: High Resolution Orthophotography categories: [] --- {% include abstract.html name="HRO" stewards="UGRC" type="GeoTIFF" webapp="https://raster.utah.gov/?catGroup=HRO%202012%20(12.5cm),HRO%202012%20(1ft),HRO%202009%20(25cm),HRO%202006%20(25cm),HRO%202003%20(30cm)&title=Utah%20HRO%20Imagery" abstract="High resolution orthorectified images combine the image characteristics of an aerial photograph with the geometric qualities of a map. An orthoimage is a uniform-scale image where corrections have been made for feature displacement such as building tilt and for scale variations caused by terrain relief, sensor geometry, and camera tilt. A mathematical equation based on ground control points, sensor calibration information, and a digital elevation model is applied to each pixel to rectify the image to obtain the geometric qualities of a map." %}
UGRC has High Resolution Orthophotography (HRO) 6-inch (12.5 cm) resolution 4-band aerial photography from 2012
for the Wasatch Front. Although the imagery is generically referred to as 6-inch imagery it is actually 12.5
centimeter or 4.92 inch resolution. The imagery in the Uintah Basin is 1-foot resolution. The GeoTIFF images are
approximately 175 mb per 2000x2000 meter block. The images have a UTM NAD83 meters projection and are from the
spring of 2012. The .XML
files contain the metadata for the imagery and CALDATE
contains
the date the imagery was flown and collected. The flight date of the Uintah Basin 1-foot imagery is June 4th,
2012.
The image tile boundaries can be viewed in this HRO2012
Index shapefile. The index also contains the field USNG
that corresponds to the image tile
names.
The naming convention for the imagery tiles is based off the U.S. National Grid (USNG). Utah is in USNG grid zone 12T and 12S.
To display the 4-band images as a color infrared (CIR) or a false color image in ArcMap, use the
Layer Properties->Symbology
tab. Change the Red Channel to Band_4
, Green to
Band_1
, and Blue to Band_2
. (example below)
{% include contact.html subject=page.title contact=site.data.contacts.imagery %}
UGRC has High Resolution Orthophotography (HRO) 1-foot (25 cm) resolution color aerial photography from 2009 for
the Wasatch Front, Canyonlands National Park, and Moab. Although the imagery is generically referred to as 1-foot
imagery it is 25 centimeter or 9.84 inch resolution. The GeoTIFF images are approximately 15 mb per 2000x2000
meter block. The images have a UTM NAD83 meters projection and are from the spring of 2009. The .XML
files contain the metadata for the imagery and CALDATE
is the date the imagery was flown and
collected.
The image tile boundaries can be viewed in this HRO2009 Index shapefile. The naming convention for the imagery tiles is based off the U.S. National Grid (USNG). Utah is in USNG grid zone 12T and 12S.
{% include contact.html subject=page.title contact=site.data.contacts.imagery %}
UGRC has High Resolution Ortho-Photography (HRO) 1-foot (25 cm) resolution color aerial photography from 2006 for
many areas across the state of Utah. Although the imagery is generically referred to as 1-foot imagery it is 25
centimeter or 9.84 inch resolution. The GeoTIFF images average 50 mb per 4000x4000 meter block. The images have a
UTM NAD83 meters projection and are from 2006. Some tiles are incomplete and have black areas as a result
of the proximity to the flight boundary. The .XML
files contain the metadata for the
imagery and CALDATE
contains the date the imagery was flown and collected.
The HRO2006 Index shapefile can be used to determine what images to download. The naming convention for the imagery tiles is based off the U.S. National Grid (USNG). Utah is in USNG grid zone 12T and 12S.
{% include contact.html subject=page.title contact=site.data.contacts.imagery %}
UGRC has Urban Area Ortho-Imagery (UAO) 1-foot resolution color aerial photography from 2003 for the Wasatch Front north of Utah County.
The UAO
Index shapefile can be used to determine what images to download. The images have a UTM NAD83 meters
projection and are from 2003. Image flight dates can be found in the .xml
file of the associated
image tile. The naming convention for the imagery tiles is based off the U.S. National Grid (USNG). Utah is in USNG grid
zone 12T and 12S.
{% include contact.html subject=page.title contact=site.data.contacts.imagery %}


You can use a package manager to ensure the right WULF version is in use. You find below the addresses for two such systems:
Bower
http://wulf-bower.china.nsn-net.net/
npm (DRAFT - setup ongoing)
http://wulf-npm.dynamic.nsn-net.net:4873
Benefit of this is that you don't need to download and unpack manually the WULF distribution into your development system. You can define easily which version of the WULF distribution you want to use in your project using bower.json file for bower and package.json file for npm. After that your compilation system can make sure that the right version is included to your web project.
1.Point the bower register to our wulf-bower server
2.Add currect proxy setting to the rc file if you can't access the internet
Notice:
The config is obtained by merging multiple configurations by this order of importance:
CLI arguments via --config
Environment variables
Local .bowerrc located in the current working directory
All .bowerrc files upwards the directory tree
.bowerrc file located in user's home folder (~)
.bowerrc file located in the global folder (/)
Content of the .bowerrc (Generic Example)
{
"registry": "http://wulf-bower.china.nsn-net.net/" ,
"timeout": 300000,
"proxy": "http://<IP_ADDRESS>:8080/",
"https-proxy": "https://<IP_ADDRESS>:8080/",
"no-proxy": "wulf-bower.china.nsn-net.net,gerrite1.ext.net.nokia.com"
}
You can add the WULF dependency inside the package manager's configuration file:
Bower:
save dependencies to your bower.json by bower install
bower install wulf#1.2.0 --save
or
edit bower.json to add wulf to the dependency
"dependencies": {
"wulf": "~1.2.0"
}
Check out the Bower web pages and npm web pages for more details how to utilize these systems.


This chrome extension interacts with a web page based on its transparency information specified by tilt. Source Code
Controller:
Data Protection Officer:
Data Disclosed (#):
Automated Decision Making:
Third country Transfers:


Full list of South Tyneside general election candidates 2019
The candidates standing in South Shields and Jarrow at the 2019 general election
by Jonathan Walker-NECVoters across the UK will elect a new Government on Thursday, December 12.
The first December general election since 1923 was called following a historic vote in the House of Commons in October.
In the North East, 22 constituencies will be contested. These are the key seats to watch come election night.
Labour will argue that Conservative governments have spent the past nine years cutting funding for the North East.
But it’s true that there are some marginal seats in the region that could change hands, many of them in Teesside.
That includes seats the Conservatives could potentially take from Labour - and some that Labour has a chance of taking from the Conservatives.
Below is a list of every candidate standing in seats in Newcastle. If you're unsure which constituency you're in, see our guide here.
South Shields
Emma Lewell-Buck (Labour)
Sarah McKeown (Green)
Oni Oviri (Conservative)
William Shepherd (Liberal Democrat)
Geoff Thompson (Independent)
Glenn Thompson (Brexit Party)
Jarrow
Mark Conway (Social Democratic Party)
James Milne (Green)
Richard Monaghan (Brexit Party)
Nick Oliver (Conservative)
Kate Osborne (Labour)
John Robertson (Independent)
Shaun Sadler (Independent)
David Wilkinson (Liberal Democrat)


Highlight of the day, geeking out about Haskell with @yukihiro_matz #rubyconf
11/10/2013, 3:28:21 PM
Favs: 1
Retweets: 0
link--- layout: tweet ---
Highlight of the day, geeking out about Haskell with @yukihiro_matz #rubyconf
11/10/2013, 3:28:21 PM
Favs: 1
Retweets: 0
link


try messing around with the ESC, F, ?, and ↓/↑ keys
these are some of the functions that come with this presentation. slide page numbers are represented in the bottom right corner.
this presentation has "basement" levels. the menu toolbar above serves as a table of contents. enjoy!
(sorry for the bugs. if anything here does not properly render, please click to here to refresh your browser.)
Overview of Thesis Proposal
Case Studies: The Rise/Fall of Various Social Investment Marketplaces
Current State of Program Related Investments and Guarantees
Social Entrepreneurship Thesis: Pooling Guarantees to Underwrite an Impact Investing Marketplace
Graduate Education & Training Timeline
(sorry for the bugs, there's supposed to be a pretty timeline. if it does not properly render *looks like crap*, please click to here to refresh your browser.)
Research and Readings
<EMAIL_ADDRESS>linked.in


Next: Documentation of Implementation-Dependent Features, Previous: Conforming Implementations, Up: Conforming Implementations
A conforming implementation shall accept all features (including deprecated features) of the language specified in this standard, with the meanings defined in this standard.
A conforming implementation shall not require the inclusion of substitute or additional language elements in code in order to accomplish a feature of the language that is specified in this standard.


I’ve previously discussed Brent Yorgey’s factor diagrams. As the father of a 6 year old, I’ve found they are a great way to introduce the concepts of primes and factorization.
Since then, I dabbled with the javascript animations by Sean Seefried to create 2 related
products:
1. a calculator, and
2. a factorization game.
Factor Diagram Calculator
The calculator does multiplication and division and allows the young ‘uns to explore the diagrams. I
also recently added the ability to do exponentiation after watching Mike Lawler’s video on powers of 3 and Sierpinski’s
triangle.
Multiplication:
Division:
Calculator is here.
Factorization Game
Kids learn by playing, that is well known. So how to make a game out of all of this? I
scripted up something simple whereby you’d be presented with a large number and have to factor it
while the clock is ticking.  Then compare with friends collect
badges, etc. That last bit (prizes, badges) is not written and is a whole separate app of course.
Game is here.
So as it now stands it is simple, a germ of an idea really. Any thoughts on how to improve the learning experience? Tweet me at @rwoodley if you have thoughts.


Heating and Cooling Tips
- For each degree that you turn your thermostat down in the winter, you can save 2% to 3% on your heating bill.
- Opening your blinds and curtains can increase light and heat in your home. Generally, it is most efficient to leave them open in the winter and closed in the summer.
- Having shade trees near one's house can help keep sun off. Decidous trees are the most effective, since they lose their leaves in winter, letting the sunlight through when you want it.
- Change your air filters every 3 months, to keep one's heating/air unit from overworking, and to keep the air in your home clean.
- Change the direction your ceiling fan turns. (Or reverse the tilt on the blades of the fan).


G-Dragon Nike Shoes Sold-Out Worldwide in Matter of Minutes
by k81Finally the NIKE Air Force 1 "Para-Noise" designed by G-Dragon was released officially today, and it didn't take long till it sold-out completely all around the world, showing the great influence the BIGBANG leader have.
G-Dragon personally appeared in the event that held today (November 23th) the first public appearance after the discharge, and many fans waited there for him as he gave an art performance.
The Para-Noise shoes sold-out so fast, in China it sold out in 0.06 seconds, making his name trending in Weibo with over 150M reads of the topic as it left people shocked of how fast it sold-out. In the United States & Canada it took only 5 minutes to sell-out, 10 minutes in Australia, 9 minutes inIndonesia and 2 minutes in United Kingdom. In total it only took 30 minutes for the shoes to sell-out completely worldwide and in total 44 available countries from east to west.
As well his name trended worldwide for hours after fans enjoyed watching the event from all around the world.


Learn to code,
learn to be creative.
Programming is a powerful tool that can change
your life.
Learn to code with us!
Learn to code,
learn to be creative.
Programming is a powerful tool that can change
your life.
Learn to code with us!
Used by
Lessons completed
Provided in
Progate is a web service where you can learn programming online.

We care greatly for the quality of our lessons at Progate. We are commited to the following mission
and make two promises to people in order to achieve it.
Find the right tutorial for your path.
LEARN TO CODE, LEARN TO BE CREATIVE.
To provide lessons that even beginners can understand and continue.
To help people acquire real-world skills and become creators.
We are making Progate to help you use programmming
to make your dreams a reality.
Want to take a step into the world of programming? We'll be your guide.
You will be able to download a Progate Certificate after completing each lesson.
Share your achievement on LinkedIn, Facebook and more!


Download R-Devel build for Windows (81 megabytes, 64 bit)
This build requires UCRT, which is part of Windows since Windows 10 and Windows Server 2016. On older systems, UCRT has to be installed manually from here.
If you want to double-check that the package you have downloaded matches the package distributed by CRAN, you can compare the md5sum of the .exe to the fingerprint on the master server.
This is a Windows 64 bit binary build of the 2023-04-13 r84257 development snapshot of R (which will eventually become R-4.4.0).
This is a development version of R. It likely contains bugs, so be careful if you use it. Please don't report bugs in this version through the usual R bug reporting system, please report them on the r-devel mailing list---but only if they persist for a few days.
Please see the R FAQ for general information about R and the R Windows FAQ for Windows-specific information.
Last build: 2023-04-13


ng-form-preselect
Select the 'other' value to switch the field to an input text; press ESC to swtich back to select field.
ESC
Field:


+++ title = "Zürich" lat = 47.369815 lon = 8.538093 +++
Switzerland's largest city, Zürich is an important part of the country's German-speaking north, and is a beautiful as well as an impeccably clean place. This was my first stop (ever) in the German-speaking world, and I must say it gave me quite a shock to realise that my language skills are almost non-existent here. I mainly came to Zürich to see my uncle and aunt, who have lived here for the past 10 years or so, and who let me stay with them and who showed me around the town.


Serious M5 crash sees warning issued ahead of Exeter City v Cheltenham Town
The clash will see hundreds of fans descend on the ground in Exeter but there are two hour delays facing those travelling from Gloucester shire
by Philippa JenkinsFootball fans are being advised to leave earlier for the scheduled clash between Exeter City and Cheltenham Town this afternoon after a serious M5 crash.
The southbound carriageway of the motorway has been closed since early this morning after a crash at 6am near between junctions 22 and 23, near Bridgwater.
It has been confirmed by Avon and Somerset Police that a woman has been injured.
Police, fire and ambulance crews were called to the scene after a car crashed into the back of a lorry, leaving it wedged underneath the lorry.
A woman was still inside the car when firefighters arrived at the scene.
There are currently two hours of delays on the motorway and any fans heading the match at St James Park this afternoon for a 3pm kick off are being advised to leave early to avoid being late or missing the game entirely.
Cheltenham Town have tweeted the following advice:
"TRAVEL: An incident on the M5 around junction 22 of the motorway means traffic is delayed for the journey down to Exeter.
"We advise fans to consider leaving a little earlier."
Exeter City have also issued a warning.


{% call macros.panel("info", "Step 3 - pick some features") %}
Mailu comes with multiple base features, including a specific admin interface, Web email clients (webmails), antispam, antivirus, etc. If you wish to disable some of these features, you are free to do so.
The admin interface is the main Mailu-specific bit, it provides tools to manage your email domains, users, etc.
Emails will be available through IMAP and POP3. You may also enable a Web email client. These do add some complexity but provide an easier way of accessing messages for beginner users.
Email filtering is a really important features. You can still disable it, which will prevent Mailu from doing spam filtering, virus filtering, and from applying white and blacklists that you may configure in the admin interface. You may also disable the antivirus if required (it does use aroung 1GB of ram).


| GET_ROBUST_LIST(2) | Linux System Calls | GET_ROBUST_LIST(2) |
#include <linux/futex.h> #include <sys/types.h> #include <syscall.h>
long get_robust_list(int pid, struct robust_list_head **head_ptr, size_t *len_ptr); long set_robust_list(struct robust_list_head *head, size_t len);
Note: There are no glibc wrappers for these system calls; see NOTES.
The purpose of the robust futex list is to ensure that if a thread accidentally fails to unlock a futex before terminating or calling execve(2), another thread that is waiting on that futex is notified that the former owner of the futex has died. This notification consists of two pieces: the FUTEX_OWNER_DIED bit is set in the futex word, and the kernel performs a futex(2) FUTEX_WAKE operation on one of the threads waiting on the futex.
The get_robust_list() system call returns the head of the robust futex list of the thread whose thread ID is specified in pid. If pid is 0, the head of the list for the calling thread is returned. The list head is stored in the location pointed to by head_ptr. The size of the object pointed to by **head_ptr is stored in len_ptr.
Permission to employ get_robust_list() is governed by a ptrace access mode PTRACE_MODE_READ_REALCREDS check; see ptrace(2).
The set_robust_list() system call requests the kernel to record the head of the list of robust futexes owned by the calling thread. The head argument is the list head to record. The len argument should be sizeof(*head).
The get_robust_list() system call can fail with the following errors:
A thread can have only one robust futex list; therefore applications that wish to use this functionality should use the robust mutexes provided by glibc.
In the initial implementation, a thread waiting on a futex was notified that the owner had died only if the owner terminated. Starting with Linux 2.6.28, notification was extended to include the case where the owner performs an execve(2).
The thread IDs mentioned in the main text are kernel thread IDs of the kind returned by clone(2) and gettid(2).
Documentation/robust-futexes.txt and Documentation/robust-futex-ABI.txt in the Linux kernel source tree
| 2019-10-10 | Linux |


Lorem Ipsum It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been
The only five centuries, but also the leap into electronic typesetting, remaining essentially
Not a Member??


There are 5 chapters, each with 3 lanes, and you must click in each lane (left, middle, right) to avoid the KMT baddies.
This game does not keep score. The only way to win, is to survive until you reach Luoyang.
(There's always a button, in the left top corner, that will let you progress as quickly as you prefer!)


| Class and Description |
|---|
| DataResource
Least common denominator of all resources in GAIA.
|
| ResourceObserver
Interface which is implemented by resource-observing classes like the
ResourceAdapter class. |
| Class and Description |
|---|
| AbstractLoaderWorker
A thread processing a part of a query in order to take e.g. advantage of
higher bandwidth-usage.
|
| Cache
A class for keeping resources in memory and accepting requests for them.
|
| DataResource
Least common denominator of all resources in GAIA.
|
| DataResourceManager
This class is an abstract class for all object to be managed.
|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|
| NotADummyException
A exception that is thrown if a passed
DataResource object
unexpectedly does not have the dummy-flag set. |
| Query
Describes a query to be performed by a loader (s.
|
| QuerySplitter
Interface accepted by
Loader for splitting a query into pieces in
order to process them asynchronously. |
| ResourceMaster
This class holds all
DataResourceManager implementations. |
| ResourceObservable
A
ResourceObservable is observed by a
ResourceObserver implementation. |
| ResourceObserver
Interface which is implemented by resource-observing classes like the
ResourceAdapter class. |
| WorkerFactory
Class for generating new workers.
|
| Class and Description |
|---|
| AbstractLoaderWorker
A thread processing a part of a query in order to take e.g. advantage of
higher bandwidth-usage.
|
| Cache
A class for keeping resources in memory and accepting requests for them.
|
| DataResource
Least common denominator of all resources in GAIA.
|
| Loader
An abstract class for accepting queries for resources, asynchronously loading and returning them.
|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|
| NotADummyException
A exception that is thrown if a passed
DataResource object
unexpectedly does not have the dummy-flag set. |
| Query
Describes a query to be performed by a loader (s.
|
| WorkerFactory
Class for generating new workers.
|
| Class and Description |
|---|
| DataResource
Least common denominator of all resources in GAIA.
|
| DataResourceManager
This class is an abstract class for all object to be managed.
|
| ResourceObservable
A
ResourceObservable is observed by a
ResourceObserver implementation. |
| Class and Description |
|---|
| AbstractLoaderWorker
A thread processing a part of a query in order to take e.g. advantage of
higher bandwidth-usage.
|
| Cache
A class for keeping resources in memory and accepting requests for them.
|
| DataResource
Least common denominator of all resources in GAIA.
|
| DataResourceManager
This class is an abstract class for all object to be managed.
|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|
| Query
Describes a query to be performed by a loader (s.
|
| ResourceObservable
A
ResourceObservable is observed by a
ResourceObserver implementation. |
| WorkerFactory
Class for generating new workers.
|
| Class and Description |
|---|
| AbstractLoaderWorker
A thread processing a part of a query in order to take e.g. advantage of
higher bandwidth-usage.
|
| Cache
A class for keeping resources in memory and accepting requests for them.
|
| DataResource
Least common denominator of all resources in GAIA.
|
| DataResourceManager
This class is an abstract class for all object to be managed.
|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|
| NotADummyException
A exception that is thrown if a passed
DataResource object
unexpectedly does not have the dummy-flag set. |
| Query
Describes a query to be performed by a loader (s.
|
| QuerySplitter
Interface accepted by
Loader for splitting a query into pieces in
order to process them asynchronously. |
| ResourceObservable
A
ResourceObservable is observed by a
ResourceObserver implementation. |
| WorkerFactory
Class for generating new workers.
|
| Class and Description |
|---|
| AbstractLoaderWorker
A thread processing a part of a query in order to take e.g. advantage of
higher bandwidth-usage.
|
| Cache
A class for keeping resources in memory and accepting requests for them.
|
| DataResource
Least common denominator of all resources in GAIA.
|
| DataResourceManager
This class is an abstract class for all object to be managed.
|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|
| Query
Describes a query to be performed by a loader (s.
|
| ResourceObservable
A
ResourceObservable is observed by a
ResourceObserver implementation. |
| Class and Description |
|---|
| AbstractLoaderWorker
A thread processing a part of a query in order to take e.g. advantage of
higher bandwidth-usage.
|
| Cache
A class for keeping resources in memory and accepting requests for them.
|
| DataResource
Least common denominator of all resources in GAIA.
|
| DataResourceManager
This class is an abstract class for all object to be managed.
|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|
| Query
Describes a query to be performed by a loader (s.
|
| ResourceObservable
A
ResourceObservable is observed by a
ResourceObserver implementation. |
| WorkerFactory
Class for generating new workers.
|
| Class and Description |
|---|
| LoaderEventListener
An interface for reacting if the corresponding loader has partially processed
a query and therefore new data is avaliable.
|


Commuter train hits RV in fiery collision near Los Angeles
SANTA FE SPRINGS, Calif. (AP) - An RV stopped on the tracks was hit by a commuter train and burst into flames near Los Angeles, causing widespread rail delays at rush hour Friday, officials said.
There were no immediate reports of major injuries following the fiery collision around 5:30 a.m. at an intersection in an industrial area of Santa Fe Springs.
Passengers and crew on Metrolink’s OC Line 681 were safely evacuated, agency spokesman Scott Johnson said.
Passenger Ryan Hajek said he felt the train operator slam on the brakes as it approached the intersection.
“The lights inside went dark, so we knew something went wrong, I knew we crushed into something,” Hajek told KABC-TV. “As we stopped, I saw all the debris of what looked like a car on the side of the tracks, and I knew then that we had hit something.”
Four people on board complained of pain and were treated at the scene, said Whittier police Officer Hugo Figueroa.
Investigators will try to determine why the RV was stopped on the tracks, Johnson said.
“Our engineer went into emergency stop procedures but unfortunately was unable to stop in time,” he said. It wasn’t immediately known how fast the train was moving.
Fire crews doused the flames, which gutted the RV and charred a rail car on a freight train stopped on a parallel track.
The freight train was also unable to stop in time and ran over some of the crash debris, according to Lena Kent, spokeswoman for BNSF, which maintains tracks in the area.
Police were looking for four people seen running from the tracks just prior to the impact, but it wasn’t immediately known if they were coming from the RV, Figueroa said.
The collision occurred at a crossing equipped with gates and flashing lights, Kent said. It wasn’t clear if the RV tried to drive around the gates, she said.
The Metrolink train with five passenger cars was heading north from Orange County when the crash happened about 15 miles (24 kilometers) southeast of downtown Los Angeles.
Buses were ordered to take 120 evacuated passengers to Union Station in Los Angeles. Widespread delays were expected on Metrolink’s Orange County and 91/Perris Valley lines, Johnson said.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.