In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
In HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
Read MoreIn HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
Read MoreIn HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
Read MoreIn HTML, the default display property value is taken from the HTML specifications or from the browser/user default style sheet. The default value in XML is inline, including SVG elements.
$99 Year
$199 Year
$299 Year
the default display property value is taken from the HTML specifications or from the browser/user default style the default display property value is taken from the HTML specifications or from the browser/user default style the default display property value is taken from the HTML specifications or from the browser/user default style the default display property value is taken from the HTML specifications or from the browser/user default style the default display property value is taken from the HTML specifications or from the browser/user default style
Read MoreHappy Clients
Amazing Tours
Partners
Questions Answered
You think we are cool? let work together


Test purpose
- Check that the media stream loads (if browser/device supports it)
- In cases where browser/device doesn't support media streams, check that the failure is captured and handled gracefully (TODO)
- Apply a complex filter to the media-stream Picture entitys displaying the stream
Touch test: canvas should be resizable
Annotated code


{include file="common/meta"}
{include file="common/online"} {include file="common/landed"}
{include file="common/header"}
{include file="common/help"} {include file="common/footer"}


This submission is rather lengthy so I separated my stories within this article.
STORY 1
I have long been an OTC junkie of sorts and searched lots of websites on information on obtaining 'legal highs'. I've exceeded the dosage on my ADD pills and I've also experimented with DXM before and was somewhat dissapointed. I would take 20 something gel caps and/or chug a bottle of couch medicine at once and end up with unexpected results. It was like feeling drunk in a bad way and things such as wooden doors seemed drippy with the occasional sight of colors. Well one day after a day of summer school without weed, I remember talking to my friend 'Ted' about how dramamine can get you high. I researched this and eventually became more interested in doing Benadryl over this, although I dont remember exactly how. Anyway, I was bored so I decided to raid my medicine cabinet and found a cocktail of OTC's.
I started by taking 15 Benadryls (375mg), 5 Concerta ADD pills (36mg each) then chugging a bottle of cough syrup along with 16 gel caps of DXM. (*NOTE- I had already taken two concertas that morning as usual) After about 30 mins. or less I felt the DXM hit me but a little differently this time. I was sitting at my desk talking to a friend on AIM about what I did. I saw some interesting visuals, but nothing major. My bed appeared to be floating and I saw flashes of colors in my peripheral vision. This was really cool and I was pretty excited about this. However, It didn't take long for the drugs to overcome me and about an hour or so after taking all of this I got really tired and dozed off to sleep.
When I woke up the next morning I had the most intense, realistic experience of my life concerning any drug I have ever taken. I don't think that I could describe to you how intense it was. My head felt normal and I felt completely fine. I was very disappointed that I fell asleep and I was awake earlier than usual. I started thinking really hard and trying to trip in a sort of way and it all progressively came on. I was staring at my ceiling and noticed a few flies on it. Nothing unusual, I thought. For some reason, I started thinking about how all these flies formed on the window in the movie The Exorcist and wouldn't ya know it. Millions of them started forming and spreading across my ceiling.
My paranoia of bugs made me think they were crawling on me and I started ithing frantically. After a little bit, this wore off. I decided to get ready for school so I turned on the light next to my bed stand and got startled a little. The shadows cast from the lights formed outlines of demons, demon eyes, demon bodies, demon faces with horns. I saw at least 10 or 20 demon shadows in my room. Since this always kind of interested me though I was slightly intrigued yet a little shaken. I shook it off as a coincidence but then things intensified.
I noticed millions of little orbs and rods flying across my room from the hallway back and forth. LITERALLY MILLIONS. But I really could only see them as flashes of light at first and then kind of 'vibrated' my eyes back and forth to clearly see them. Still I was intrigued, being the supernatural enthusiast that I am. Not that I wasn't scared. I was still reasonably calm considering what was happening but my heart was punding pretty hard.  I walked out into the kitchen to get a drink and in the window was an alien.  He kept shape shifting too. Sometimes he'd have horns, other times he wouldn't. His bone structure would shift and he was eventually accompanied by a midget hooded alien looking just as evil.
You'd think this would be funny, but to see it plain as day staring at you is pretty scary. After this I freaked out completely. I woke my parents up and told them what I saw and I looked right at them but they didn't see anything. I was spazzing out (somewhat) yelling 'How the hell can you not see them?' After that I walked back in my room and walked up to one of my windows. In the reflection I saw a decapitated baby arm laying next to my feet and a demon eating it. I remember kicking on the ground and actually feling the arm too! I told my parents that I only took some cold medicine the previous night (which they believed). My parents had me stay home from school that day and called my grandma to come over and watch me for the day as well. They said my pupils were HUGE.
I saw aliens everywhere. In every reflection, every shadow, every pattern, there was some form of an alien. I even watched The Simpsons and there were animated aliens in the cartoon. I asked my dad for the digital camera too and I took pictures of what I saw. When I looked through the lense facing my backyard there were hundreds of them walking around casually. Some were calm and nice while others were scary/evil looking. When I'd take a picture of them it'd show up different than when I first saw them. Theyd change shape in the picture and then again when I looked at the picture again. Sometimes they smiled or posed in funny ways which eased my tensions a little bit.
My grandma definitely helped out a lot. She told me to just relax and calm down and prayed for me too (she's very religious). It was kinda weird when I did this because when I relaxed the evil look on their faces instantly like transformed into a smile and the alien would disappear and a new one would 'spawn'.
Well, the rest of the day wasn't much different. I layed down and saw reflections of aliens on my shoulders and occasionally i'd fel slimy hands touching me but as long as I relaxed I kept it under control and was eventually able to sleep. I went to the doctor's office and my counselor that day as well and was told I'd be fine and just needed to relax/sleep/rest/that sort of thing. I also saw this weird shadow of a gnome holding a knife as well. That day was pretty scary, but I also some some funny things too. The first evil alien I saw in my kitchen window at one point was holding and smoking a crack pipe. I also saw an alien having sex with a chipmunk next to the shed in my backyard. I was still shaken though and every reflection and shadow held an image of an alien.
I know this is a highly unusual experience but it actually happened. I went to bed and the next morning the hallucinations were gone.
STORY 2- Ok well being the smart person that I am I decided to try Benadryl again. I bought some at my local pharmacy and was ecstatic. I decided to take it alone this time with the exception of my daily dose of 2 36 mg concertas. I did it before a youth group at my church figuring this would provide a good trip this time. I arrived an hour early to church and already took the Benadryls (500mg all at once) and decided to take a walk into the back woods behind the church as I usually do. There is a trail that leads to a field about 200 yards back. I lit up a cigar and smoked about half of it while I was back there and cranked my mp3 player to techno music and a little grunge.
I was feeling a nice cigar buzz as normal and it was getting dark so I started walking back. I stopped where I could see the church and was at the opening of the field. I called up my friend about something completely erroneous and started tripping while on my cell phone. I saw some aliens again but this time I just laughed b/c I was used to it and didnt care much. I saw the outline of the grim reaper in the trees and didnt care much either. Hell, I was having a blast.
I still had a cigar in my hand and some other kids were walking towards me so I stuffed it in my pocket (it burned out) and casually paced. The girl among the two commented on my shirt which was cool and made me happy cause she was pretty hot. I started walking back and thought I saw my friend walking with a cop but it turned out to be his gf which was very weird. I sat down in the church when I got back and saw fun stuff.
The floor was moving and people's reflections in one of the windows by me were acting completely different from what the actual people were doing and it was really funny. Sometime's there were reflections of people/things that werent actually there. I really enjoyed it this time though. (Go figure) The only problem I had that night was that the pastor's son kept shoving green play-doh in my hair and telling me I smelled like smoke (which I did badly) but didnt phase me too much.
I went to bed and took 600mg the next morning before school. I saw similar stuff. Mostly moving floors and shifting patterns (no aliens tho). Both of these times were fun but it ended by 9th period. I was tired and took a nap when I got home. The second and third time were wicked fun probably because I got used to it and I didn't mix it with DXM or something like that. I should also state that I've smoked lots of marijuana in my past, smoked cigarettes/cigars, sniffed pain pills, a little coke, a tiny bit of shrooms (very bad cow dung shrooms), done DXM a few times, had incredibly high amounts of caffeine in the form of coffee and pills together, taken 12+ ADD pills at once (with caffeine too), and have drank a lot of alcohol. My tolerance for drugs is pretty high from all of this (and possible geneology) not to mention that I'm a considerably heavy guy.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


- 一、作業系統
- 二、Linux 程式設計
一、作業系統
- 課程簡報
- 參考資料
Basic Concepts
- Maximum CPU utilization obtained with multiprogramming.
- CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait.
- CPU burst followed by I/O burst.
- CPU burst distribution is of main concern.
CPU Scheduler
- Short-term scheduler selects from among the processes in ready queue, and allocates the CPU to one of them.
- Queue may be ordered in various ways.
- CPU scheduling decisions may take place when a process:
- Switches from running to waiting state
- Switches from running to ready state
- Switches from waiting to ready
- Terminates
- Scheduling under 1 and 4 is nonpreemptive.
- All other scheduling is preemptive.
- Consider access to shared data.
- Consider preemption while in kernel mode.
- Consider interrupts occurring during crucial OS activities.
Dispatcher
- Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves：
- switching context
- switching to user mode
- jumping to the proper location in the user program to restart that program
- Dispatch latency：time it takes for the dispatcher to stop one process and start another running.
Scheduling Algorithm Optimization Criteria
- CPU utilization – keep the CPU as busy as possible.
- Throughput – # of processes that complete their execution per time unit.
- Turnaround time – amount of time to execute a particular process.
- Waiting time – amount of time a process has been waiting in the ready queue.
- Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment).
- Length of Next CPU Burst
- Determining
- Prediction
Scheduling Algorithm
(一) First-Come, First-Served (FCFS)：先到先服務法
- Convoy effect：很多短時間的 process，都在等一個 長時間的 process 時，所產生的效應 (因為等待時間很長)。
(二) Shortest-Job-First (SJF)：最短優先法
- Associate with each process the length of its next CPU burst.
- Use these lengths to schedule the process with the shortest time.
- SJF is optimal – gives minimum average waiting time for a given set of processes.
- The difficulty is knowing the length of the next CPU request.
- Could ask the user.
(三) Priority Scheduling (PS)：優先權排班法
- A priority number (integer) is associated with each process.
- The CPU is allocated to the process with the highest priority (smallest integer » highest priority).
- Preemptive
- Nonpreemptive
- SJF is priority scheduling where priority is the inverse of predicted next CPU burst time.
- Problem：Starvation – low priority processes may never execute.
- Solution：Aging – as time progresses increase the priority of the process.
(四) Round Robin (RR)：輪流法
- Each process gets a small unit of CPU time (time quantum q), usually 10-100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue.
- If there are n processes in the ready queue and the time quantum is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units.
- Timer interrupts every quantum to schedule next process.
- Performance.
- q large » FIFO.
- q small » q must be large with respect to context switch, otherwise overhead is too high.
1. Time Quantum and Context Switch Time
2. Turnaround Time Varies With The Time Quantum
(五) Multilevel
1. Queue
- Ready queue is partitioned into separate queues, eg:
- foreground (interactive)
- background (batch)
- Process permanently in a given queue.
Each queue has its own scheduling algorithm:
- foreground – RR
- background – FCFS
- Scheduling must be done between the queues:
- Fixed priority scheduling; (i.e., serve all from foreground then from background). Possibility of starvation.
- Time slice – each queue gets a certain amount of CPU time which it can schedule amongst its processes; i.e., 80% to foreground in RR.
- 20% to background in FCFS.
2. Feedback Queue
- A process can move between the various queues; aging can be implemented this way.
- Multilevel-feedback-queue scheduler. defined by the following parameters:
- number of queues.
- scheduling algorithms for each queue.
- method used to determine when to upgrade a process.
- method used to determine when to demote a process.
- method used to determine which queue a process will enter when that process needs service.
- 課程作業
二、Linux 程式設計
1. What is a Thread？
(1) OS view
- A thread is an independent stream of instructions that can be scheduled to run by the OS.
(2) Software developer view
- a thread can be considered as a “procedure” that runs independently from the main program.
- Sequential program: a single stream of instructions in a program.
- Multi-threaded program: a program with multiple streams.
- Multiple threads are needed to use multiple cores/CPUs.
[Example]
- Computer games
- each thread controls the movement of an object.
- Scientific simulations
- Hurricane movement simulation: each thread simulates the hurricane in a small domain.
- Molecular dynamic: each thread simulates a subset of particulars.
- Web server
- Each thread handles a connection.
2. Process and Thread
(1) Process context
- Two parts in the context:
self-contained domain (protection)
andexecution of instructions
.- Process ID, process group ID, user ID, and group ID
- Environment
- Working directory.
- Program instructions
- Registers (including PC)
- Stack
- Heap
- File descriptors
- Signal actions
- Shared libraries
- Inter-process communication tools
- What are absolutely needed to support a stream of instructions, given the process context?
- Registers (including PC)
- Stack
(2) Threads
- Advantages
- Light-weight
- Lower overhead for thread creation.
- Lower Context Switching Overhead.
- Fewer OS resources
- Shared State
- Don’t need IPC-like mechanism to communicate between threads of same process.
- Light-weight
- Disadvantages
- Shared State!
- Global variables are shared between threads. Accidental changes can be fatal.
- Many library functions are not thread-safe
- Library Functions that return pointers to static internal memory. E.g. gethostbyname()
- Lack of robustness
- Crash in one thread will crash the entire process.
- Shared State!
3. Pthreads
- Hardware vendors used to implement
proprietary versions of threads
- Thread programs are not portable
- Pthreads = POSIX threads, specified in IEEE POSIX 1003.1c (1995)
(1) The Pthreads API
- Three types of routines:
Thread management
: create, terminate, join, and detachMutexes
: mutual exclusion, creating, destroying, locking, and unlocking mutexesCondition variables
: event driven synchronizaiton.- Mutexes and condition variables are concerned about synchronization.
- Why not anything related to inter-thread communication?
- The concept of opaque objects pervades the design of the API.
- API naming convention
(2) Thread management
- Pthread header file
- Compiling pthread programs：
gcc aaa.c -o aaa -lpthread
Creation
- pthread_create
Termination
- Return
- Pthread_exit
- Can we still use exit？
Wait (parent/child synchronization)
- pthread_join
- 課程作業：找出 1 - 100 的所有質數
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
#include <semaphore.h>
#include <time.h>
#define NUM_THREADS 10
#define MSIZE 100
// 找出 1 - 100 的所有質數
static double getDoubleTime();
void *thread_function(void *arg);
pthread_mutex_t work_mutex;
// 宣告 prime_array 陣列
int prime_array[NUM_THREADS][(MSIZE / NUM_THREADS)];
int main(void) {
int res;
pthread_t a_thread[NUM_THREADS];
void *thread_result;
int lots_of_threads;
int print_prime = 0;
// start to measure time...
double start_time = getDoubleTime();
// initialize mutex...
res = pthread_mutex_init(&work_mutex, NULL);
if (res != 0) {
perror("Mutex initialization failed");
exit(EXIT_FAILURE);
}
// pthread_create...
for (lots_of_threads = 0; lots_of_threads < NUM_THREADS; lots_of_threads ++) {
res = pthread_create(&(a_thread[lots_of_threads]), NULL, thread_function, (void*)(long)lots_of_threads);
if (res != 0) {
perror("Thread creation failed");
exit(EXIT_FAILURE);
}
}
// pthread_join...
for (lots_of_threads = NUM_THREADS - 1; lots_of_threads >= 0; lots_of_threads--) {
res = pthread_join(a_thread[lots_of_threads], &thread_result);
if (res != 0) {
perror("pthread_join failed");
}
}
/* 輸出 prime_array 陣列 */
int i = 0; // 設定計數器
for (lots_of_threads = 0; lots_of_threads < NUM_THREADS; lots_of_threads ++) {
printf("\n\nThe thread[%d]'s numbers：\n", lots_of_threads);
for (i = 0; i < (MSIZE / NUM_THREADS); i++) {
if (prime_array[lots_of_threads][i] != 0)
printf("%d\t", prime_array[lots_of_threads][i]); }
}
printf("\nThread joined\n");
// stop measuring time...
double finish_time = getDoubleTime();
printf("Execute Time: %.3lf ms\n", (finish_time - start_time));
exit(EXIT_SUCCESS);
}
void *thread_function(void *arg) {
// pthread_mutex_lock(&work_mutex);
int my_num = (long)arg;
// if (MSIZE % NUM_THREADS != 0){ printf("error"); pthread_exit(-1); }
int start_num = (MSIZE / NUM_THREADS) * my_num + 1;
int end_num = (MSIZE / NUM_THREADS) * (my_num + 1);
int i = 0, j = 0, k = 0; // Set the loop
int count = 0; // Set the counter
int result = 0; // result
printf("I'm thread[%d], start_num:%d, end_num:%d\n", my_num, start_num, end_num);
/* find the prime number */
for (i = start_num; i <= end_num; i++) {
count = 0; // Reset counter
for (j = 1; j <= i; j++) {
if (i % j == 0)
count += 1;
}
if (count == 2) {
prime_array[my_num][k] = i;
k++;
}
}
// pthread_mutex_unlock(&work_mutex);
pthread_exit(0);
}
static double getDoubleTime() {
struct timeval tm_tv;
gettimeofday(&tm_tv,0);
return (double)(((double)tm_tv.tv_sec * (double)1000. + (double)(tm_tv.tv_usec)) * (double)0.001);
}
- 執行結果


Best Coding Challenges Websites
07 April, 2018
This 2018 list features 10 websites that offer the best coding challenges and resources to help new and intermediate developers improve their skills, prepare for interviews, and progress in their careers. The ordering of the list is based on level of difficulty (beginner to advanced).
1. Coderbyte
Beginner — Intermediate
Coderbyte provides 200+ coding challenges you can solve in an online editor using 10 different programming languages. It also provides official solutions for some of the challenges along with 800,000+ user solutions. Coderbyte is recommended by the top coding bootcamps because of its collection of interview prep challenges.
Aside from coding challenges, they provide courses in Algorithms & Data Structures, Web Development, and prep courses for coding bootcamps.
2. Codewars
Beginner — Intermediate
Codewars provides a large collection of coding challenges submitted and edited by their own community. You can solve the challenges directly onlinein their editor using one of 20+ programming languages. You can view a discussion for each challenges as well as user solutions. You can earn points and climb the rankings by solving their challenges.
3. CodeFights
Beginner — Intermediate
CodeFights provides a collection of coding challenges for you to solve in their online editor and there is a forum for users to discuss the challenges. They also have a feature called Company Bots where you write code to compete against a “bot” that was programed by engineers at companies like Uber, Dropbox, and Quora.
4. CodinGame
Beginner — Intermediate
This website is different than the ones listed above because instead of simply solving coding challenges by producing a set of outputs, on CodinGame you write code to actually play a game online. It’s a great website and some of the games are very fun to watch once you’ve written your code (see example). The game graphics are nice and the editor/game UI is very smooth. Overall it’s a great website for beginners to learn coding.
5. TopCoder
Intermediate — Advanced
TopCoder is one of the original platforms for competitive programming online. It provides a list of algorithmic challenges from the past that you can complete on your own directly online using their code editor. Their popular Single Round Matches are offered a few times per month at a specific time where you compete against others to solve challenges. Here are some topicsthat their challenges may cover.
Aside from solving challenges for fun online, they offer sponsored competitions where you can win prizes for writing the best solution.
6. HackerRank
Intermediate — Advanced
HackerRank focuses on computer science topics so it provides challenges for several domains such as Algorithms, Mathematics, SQL, Functional Programming, AI, and more. You can solve all the challenge directly online (see example). They provide a discussion and leaderboard for every challenge, and most challenges come with an editorial that explains more about the challenge and how to approach it to come up with a solution.
7. LeetCode
Intermediate — Advanced
LeetCode has a collection of some of the best algorithm challenges online today. The topics they cover require knowledge of data structures such as binary trees, heaps, linked lists, etc., which is why their challenges are a bit more advanced than some other websites — but the challenges are great if used when preparing for a software engineering interview.
They also have a Mock Interview section that is specifically for job interview preparation, they host their own coding contests, and they have a section for articles to help you better understand certain problems.
8. CodeChef
Intermediate — Advanced
CodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor and view a collections of challenges that are separated into different categories depending on your skill level (see example). They have a large community of coders that contribute to the forums, write tutorials, and take part in CodeChef’s coding competitions.
9. GeeksforGeeks
Intermediate — Advanced
GeeksforGeeks has the best collection of articles, explanations, and code solutions for algorithms and data structure topics. You can see an example here of how they break down a complex question into simpler parts, explain the solution and then provide a code solution. They also have an online editorwhere you can practice solving challenges yourself before seeing the solution.
If you are preparing for a software engineering interview, you should definitely use this website to prepare and brush up on the harder algorithm questions.
10. Codeforces
Advanced
Codeforces is a Russian-based competitive programming website that regularly hosts competitions where some of the best competitive programmers in the world compete online. If you’re a beginner coder, their challenges will most likely be too advanced for you — here are someexamples of recent challenges. Their challenges usually require advanced math and algorithms knowledge.
Honor Code.
Happy Coding!!!


I am a jack of all trades and master of none in the technology world but I am trying to change that.
Here are some of my skills:
Come check out my spot on GitHub, click here.


home
cars
departments
about us
admin page
login/sign up
(current)
Register New User
First Name
Last Name
Email
Password
Register


The quickest way to get started is to point your html <script>
tag to a
http://code.angularjs.org/ URL. This way, you don't have to download anything or maintain a
local copy.
There are two types of angular script URLs you can point to, one for development and one for production:
To point your code to an angular script on the angular server, use the following template. This example points to (non-minified) version 0.10.6:
<!doctype html> <html ng-app> <head> <title>My Angular App</title> <script src="http://code.angularjs.org/angular-0.10.6.js"></script> </head> <body> </body> </html>
This option is for those who want to work with angular offline, or those who want to host the angular files on their own servers.
If you navigate to http://code.angularjs.org/, you'll see a directory listing with all of the angular versions since we started releasing versioned build artifacts (quite late in the project lifetime). Each directory contains all artifacts that we released for a particular version.
Each directory under http://code.angularjs.org/ includes the following set of files:
angular-<version>.js
— This file is non-obfuscated, non-minified, and human-readable by
opening it it any editor or browser. In order to get better error messages during development, you
should always use this non-minified angular script.
angular-<version>.min.js
— This is a minified and obfuscated version of
angular-<version>.js
created with the Closure compiler. Use this version for production in order
to minimize the size of the application that is downloaded by your user's browser.
angular-<version>.tgz
— This is a tarball archive that contains all of the files released
for this angular version. Use this file to get everything in a single download.
angular-ie-compat-<version>.js
— This is a special file that contains code and data
specifically tailored for getting Internet Explorer to work with angular. If you host your own copy
of angular files, make sure that this file is available for download, and that it resides under the
same parent path as angular-<version>.js
or angular-<version>.min.js
.
angular-mocks-<version>.js
— This file contains an implementation of mocks that makes
testing angular apps even easier. Your unit/integration test harness should load this file after
angular-<version>.js
is loaded.
angular-scenario-<version>.js
— This file is a very nifty JavaScript file that allows you
to write and execute end-to-end tests for angular applications.
docs-<version>
— this directory contains all the files that compose the
http://docs.angularjs.org/ documentation app. These files are handy to see the older version of
our docs, or even more importantly, view the docs offline.


AMAZING PEOPLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIRONMENT
When yoy work with us,you are part of a team of committed collaborators.All aspects of our software development process are intergrated,interactive
and agile.
Our approach unifies design,development and product management to create exceptional products
We start each project by understanding your business goals,the user's needs and the product requirements
Then we help translate them into effective aand elegant solutions
Before we sign a contractor write a line of code our team will spend the necessary time needed to understand your product vision
The outcome of this scoping session is proposed or high-
based on your requirement,we can provide a complete offering or just the pieces you need


Ex-Venezuelan Intel Chief Reportedly Goes Missing in Spain Ahead of Extradition to US
In its extradition request to Spain, the US claimed that Hugo Armando Carvajal, who worked as the intelligence chief with both deceased Venezuelan President Hugo Chavez and incumbent president, Nicolás Maduro, intended to "flood" the US with cocaine by cooperating with Colombian guerilla forces.
Spanish police are searching for former Venezuelan intelligence chief General Hugo Armando Carvajal, who has been missing since Friday after a court ruled to extradite him to the US.
"They are currently looking for him”, a spokeswoman for Spain's national police said.
Comment on the disappearance, Carvajal's lawyer Maria Dolores said that she didn't know his whereabouts, adding that her client had "not been informed" about the arrest.
On Friday, the Criminal Chamber of the Spanish National Court ruled to extradite Carvajal after the Third Section of the same court rejected that extradition request on 16 September.
The US earlier asked Spain to extradite the former intelligence chief, claiming that he had allegedly cooperated with the Revolutionary Armed Forces of Colombia (FARC) to smuggle cocaine into the US.
According to a 2011 indictment filed in New York, Carvajal was accused of smuggling more than 5.6 tonnes of cocaine to Colombia, later destinated for the US.


--- layout: pre-30-archived-docs/side-by-side title: Ajax test-source: src/ajax.js ---
ajax.js |
|
|---|---|
Testing ajax callsWe have written a plugin called jasmine-ajax that allows ajax calls to be mocked out in tests.
To use it, you need to download the |
describe("mocking ajax", function() {
|
Basic Usage Across An Entire Suite |
describe("suite wide usage", function() {
|
|
When you want to mock out all ajax calls across an entire suite, use |
beforeEach(function() {
jasmine.Ajax.install();
});
|
|
Because jasmine-ajax stubs out the global XMLHttpRequest for the page, you'll want to |
afterEach(function() {
jasmine.Ajax.uninstall();
});
it("specifying response when you need it", function() {
var doneFn = jasmine.createSpy("success");
|
|
Make your requests as normal. Jasmine-Ajax mocks out your request at the XMLHttpRequest object, so should be compatible with other libraries that do ajax requests. |
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(args) {
if (this.readyState == this.DONE) {
doneFn(this.responseText);
}
};
xhr.open("GET", "/some/cool/url");
xhr.send();
|
|
At this point the ajax request won't have returned, so any assertions about intermediate states (like spinners) can be run here. |
expect(jasmine.Ajax.requests.mostRecent().url).toBe('/some/cool/url');
expect(doneFn).not.toHaveBeenCalled();
|
|
Now we tell the request what it's response should look like |
jasmine.Ajax.requests.mostRecent().respondWith({
|
|
HTTP response code |
"status": 200,
|
|
You can also specify the content type of the response |
"contentType": 'text/plain',
|
|
|
"responseText": 'awesome response'
});
|
|
Now that we've told the request to respond, our callback gets called. |
expect(doneFn).toHaveBeenCalledWith('awesome response');
});
|
|
You can also specify responses ahead of time and they will respond immediately when the request is made. |
it("allows responses to be setup ahead of time", function () {
var doneFn = jasmine.createSpy("success");
|
|
Call |
jasmine.Ajax.stubRequest('/another/url').andReturn({
"responseText": 'immediate response'
});
|
|
Make your requests as normal |
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(args) {
if (this.readyState == this.DONE) {
doneFn(this.responseText);
}
};
xhr.open("GET", "/another/url");
xhr.send();
expect(doneFn).toHaveBeenCalledWith('immediate response');
});
});
|
|
If you only want to use it in a single spec, you can use |
it("allows use in a single spec", function() {
var doneFn = jasmine.createSpy('success');
jasmine.Ajax.withMock(function() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(args) {
if (this.readyState == this.DONE) {
doneFn(this.responseText);
}
};
xhr.open("GET", "/some/cool/url");
xhr.send();
expect(doneFn).not.toHaveBeenCalled();
jasmine.Ajax.requests.mostRecent().respondWith({
"status": 200,
"responseText": 'in spec response'
});
expect(doneFn).toHaveBeenCalledWith('in spec response');
});
});
});
|


title = "Talks" url = "/talks" layout = "default" description = "RNEP interviews and discussions" is_hidden = 0 [blogPosts] pageNumber = "{{ :page }}" categoryFilter = "talks" postsPerPage = 10 noPostsMessage = "No posts found" sortOrder = "published_at desc" categoryPage = "talks/all" postPage = "talks/post" ==


In this group project, I'll be the GitHub master who will help organizing and maintaining GitHub to the best practices. I'll be organizing the branches, establishing the proper use of github, and helping team members with GitHub usage. Let's branch and merge with no conflict! Experience: No experience with web development beside the CSC 412. A little bit experience with html, css, javascript, bootstrap. Goal: I'm willing to learn anything that concerned with technologies, and face any problem during the project.


--- layout: post title: "My Week in Review" date: 2020-05-17 17:00:00 +0000 image: https://s3.amazonaws.com/hackedu/2018-11-01-watch.jpg imagecredits: https://www.flickr.com/photos/91818084@N02/15988430628 ---
Nothing to report this week, really. I'm working on a talk I'll deliver at the end of the month. I don't know where the time goes each week, quite honestly. Errands, I guess? Because if I do one outing, I'm sort of spent for the day.
I read Joseph Weizenbaum's Computer Power and Human Reason. I'm finding reading to be incredibly difficult. We also started listening to the new podcast on the Scorpions' song "Winds of Change." Was it a CIA plant?
Icon credits: The Noun Project


For what?
Needs specific instructions
Where to use em?
Where to use em?
When do we need them?


--- layout: base.html eleventyNavigation: key: Home order: 1 permalink: / ---
It's currently under construction, and I think it will always be, to be honest.
I decided to rebuild it incrementally and document my progress. It might take me a while, cause ya know *gestures at the world* 😅
Anyways, welcome! And don't mind the mess 🙂


2019 CAF Awards: Shortlisted Nigerian Star Goes Spiritual
by Emmanuel EgobiambuNigerian striker Odion Ighalo has expressed delight over his nomination for the 2019 CAF African Player of the Year prize, Concise News reports.
This news medium had reported that the Shanghai Greenland Shenhua striker is among the three Nigerians in CAF’s 30 men shortlist for the gong.
The other Nigerians are Wilfred Ndidi and Victor Osimhen who were all part of the 2019 Africa Cup of Nations (AFCON) where Ighalo claimed the Golden Boot.
While reacting to his nomination for the award which would be handed down to the winner in January 7th, 2020, Ighalo took to his Twitter handle to thank God.
“God is going to put you in a place of honour even when men think you don’t deserve it 🙏🏾 #unmerittedfavours #divinefavours,” he tweeted.


ca65html converts assembly source files written for use with the
ca65
crossassembler into HTML. It is a standalone
tool written in PERL; and as such, it does not understand the structure of
assembler sources in the same depth as ca65 does, so it may fail in very rare
cases. In all other cases, it generates very nice output.


Online Reo editor
Channels
Sync
Lossy sync
Sync drain
Sync spout
FIFO1
Please use a browser that supports canvas.


What is this page about?
This webpage contains three demo implementations of designs to explore and analyze word vector embeddings. They support exploring neighborhoods, projecting words onto concept axes, and viewing word co-occurrences reconstructed from the embedding model. You can get to each of the demos by clicking on the link in the navigation bar on top of this page. For more information about the implementations, the ideas behind them, and videos describing the interface and use cases, pleae visit our project webpage. Additional information is available in our paper presented at EuroVis 2018.
Download Embeddings
We provide 22 example embeddings in the right format, ready to use and explore with our implementations:
- 1800-1990: The HistWords embeddings created by Hamilton et al. We use their "All English" data set. Those embeddings are trained on Google n-grams for each decade from 1800-1990, resulting in 20 embeddings (download).
- EEBO_TCP: Word embedding trained with GloVe on the historic EEBO-TCP corpus. This embeddings is trained with a window size of 15, and a minimum word count of 5 (download). The dimensionality of this embedding is 50, which we have chosen to reduce memory requirements of our online demo. While such an embedding works reasonably well for demonstration purposes, high quality embeddings used in production environments usually have between 200 to 300 dimensions.
- wiki1-5: Word embeddings trained with GloVe on the entire English Wikipedia. All five embeddings are trained with a window size of 15, and a minimum word count of 5 (download). The dimensionality of these embeddings is 50, which we have chosen to reduce memory requirements of our online demo. While those embeddings work reasonably well for demonstration purposes, high quality embeddings used in production environments usually have between 200 to 300 dimensions.
Cool! Can I use this for my own data?
If you are interested in analyzing your own embeddings, you can either directly work with our code available on GitHub. Alternatively, a docker image that runs the implementations on a web server is available. More information in how to set up and run the image is available here.
Citation
If you use our implementations or our code for your own project, please cite us as follows:@Article{HG18, author = {Heimerl, Florian and Gleicher, Michael}, title = {Interactive Analysis of Word Vector Embeddings}, journal = {Computer Graphics Forum}, number = {3}, volume = {37}, month = {jun}, year = {2018}, projecturl = {http://graphics.cs.wisc.edu/Vis/EmbVis}, url = {http://graphics.cs.wisc.edu/Papers/2018/HG18} }


Type a start opacity, end opacity, and duration. Opacity values should be between 0 and 1.0
OpacityAnimation Demo
1
2
3


ECMAScript 6 git.io/es6features
Introduction
ECMAScript 6 is the upcoming version of the ECMAScript standard. This standard is targeting ratification in December 2014. ES6 is a significant update to the language, and the first update to the language since ES5 was standardized in 2009. Implementation of these features in major JavaScript engines is underway now.
See the draft ES6 standard for full specification of the ECMAScript 6 language.
ES6 includes the following new features:
- arrows
- classes
- enhanced object literals
- template strings
- destructuring
- default + rest + spread
- let + const
- iterators + for..of
- generators
- comprehensions
- unicode
- modules
- module loaders
- map + set + weakmap + weakset
- proxies
- symbols
- subclassable built-ins
- promises
- math + number + string + object APIs
- binary and octal literals
- reflect api
- tail calls
ECMAScript 6 Features
Arrows
Arrows are a function shorthand using the =>
syntax. They are syntactically similar to the related feature in C#, Java 8 and CoffeeScript. They support both expression and statement bodies. Unlike functions, arrows share the same lexical this
as their surrounding code.
// Expression bodies
var odds = evens.map(v => v + 1);
var nums = evens.map((v, i) => v + i);
// Statement bodies
nums.forEach(v => {
if (v % 5 === 0)
fives.push(v);
});
// Lexical this
var bob = {
_name: "Bob",
_friends: [],
printFriends() {
this._friends.forEach(f =>
console.log(this._name + " knows " + f));
}
}
Classes
ES6 classes are a simple sugar over the prototype-based OO pattern. Having a single convenient declarative form makes class patterns easier to use, and encourages interoperability. Classes support prototype-based inheritance, super calls, instance and static methods and constructors.
class SkinnedMesh extends THREE.Mesh {
constructor(geometry, materials) {
super(geometry, materials);
this.idMatrix = SkinnedMesh.defaultMatrix();
this.bones = [];
this.boneMatrices = [];
//...
}
update(camera) {
//...
super.update();
}
static defaultMatrix() {
return new THREE.Matrix4();
}
}
Enhanced Object Literals
Object literals are extended to support setting the prototype at construction, shorthand for foo: foo
assignments, defining methods and making super calls. Together, these also bring object literals and class declarations closer together, and let object-based design benefit from some of the same conveniences.
var obj = {
// __proto__
__proto__: theProtoObj,
// Shorthand for ‘handler: handler’
handler,
// Methods
toString() {
// Super calls
return "d " + super.toString();
}
};
Template Strings
Template strings provide syntactic sugar for constructing strings. This is similar to string interpolation features in Perl, Python and more. Optionally, a tag can be added to allow the string construction to be customized, avoiding injection attacks or constructing higher level data structures from string contents.
// Basic literal string creation
`In JavaScript '\n' is a line-feed.`
// Multiline strings
`In JavaScript this is
not legal.`
// Construct a DOM query
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
// Construct an HTTP request prefix is used to interpret the replacements and construction
GET`http://foo.org/bar?a=${a}&b=${b}
Content-Type: application/json
X-Credentials: ${credentials}
{ "foo": ${foo},
"bar": ${bar}}`(myOnReadyStateChangeHandler);
Destructuring
Destructuring allows binding using pattern matching, with support for matching arrays and objects. Destructuring is fail-soft, similar to standard object lookup foo["bar"]
, producing undefined
values when not found.
// list matching
var [a, , b] = [1,2,3];
// object matching
var { op: a, lhs: { op: b }, rhs: c }
= getASTNode()
// object matching shorthand
// binds `op`, `lhs` and `rhs` in scope
var {op, lhs, rhs} = getASTNode()
// Can be used in parameter position
function g({name: x}) {
console.log(x);
}
g({name: 5})
// Fail-soft destructuring
var [a] = [];
a === undefined;
Default + Rest + Spread
Callee-evaluated default parameter values. Turn an array into consecutive arguments in a function call. Bind trailing parameters to an array. Rest replaces the need for arguments
and addresses common cases more directly.
function f(x, y=12) {
// y is 12 if not passed (or passed as undefined)
return x + y;
}
f(3) == 15
function f(x, ...y) {
// y is an Array
return x * y.length;
}
f(3, "hello", true) == 6
function f(x, y, z) {
return x + y + z;
}
// Pass each elem of array as argument
f(...[1,2,3]) == 6
Let + Const
Block-scoped binding constructs. let
is the new var
. const
is single-assignment. Static restrictions prevent use before assignment.
function f() {
{
let x;
{
// okay, block scoped name
const x = "sneaky";
// error, const
x = "foo";
}
// error, already declared in block
let x = "inner";
}
}
Iterators + For..Of
Iterator objects enable custom iteration like CLR IEnumerable or Java Iteratable. Generalize for..in
to custom iterator-based iteration with for..of
. Don’t require realizing an array, enabling lazy design patterns like LINQ.
let fibonacci = {
[Symbol.iterator]() {
let pre = 0, cur = 1;
return {
next() {
[pre, cur] = [cur, pre + cur];
return { done: false, value: cur }
}
}
}
}
for (var n of fibonacci) {
// truncate the sequence at 1000
if (n > 1000)
break;
print(n);
}
Iteration is based on these duck-typed interfaces (using TypeScript type syntax for exposition only):
interface IteratorResult {
done: boolean;
value: any;
}
interface Iterator {
next(): IteratorResult;
}
interface Iterable {
[Symbol.iterator](): Iterator
}
Generators
Generators simplify iterator-authoring using function*
and yield
. A function declared as function* returns a Generator instance. Generators are subtypes of iterators which include additional next
and throw
. These enable values to flow back into the generator, so yield
is an expression form which returns a value (or throws).
Note: Can also be used to enable ‘await’-like async programming, see also ES7 await
proposal.
var fibonacci = {
[Symbol.iterator]: function*() {
var pre = 0, cur = 1;
for (;;) {
var temp = pre;
pre = cur;
cur += temp;
yield cur;
}
}
}
for (var n of fibonacci) {
// truncate the sequence at 1000
if (n > 1000)
break;
print(n);
}
The generator interface is (using TypeScript type syntax for exposition only):
interface Generator extends Iterator {
next(value?: any): IteratorResult;
throw(exception: any);
}
Comprehensions
Array and generator comprehensions provide simple declarative list processing similar as used in many functional programming patterns.
// Array comprehensions
var results = [
for(c of customers)
if (c.city == "Seattle")
{ name: c.name, age: c.age }
]
// Generator comprehensions
var results = (
for(c of customers)
if (c.city == "Seattle")
{ name: c.name, age: c.age }
)
Unicode
Non-breaking additions to support full Unicode, including new unicode literal form in strings and new RegExp u
mode to handle code points, as well as new APIs to process strings at the 21bit code points level. These additions support building global apps in JavaScript.
// same as ES5.1
"𠮷".length == 2
// new RegExp behaviour, opt-in ‘u’
"𠮷".match(/./u)[0].length == 2
// new form
"\u{20BB7}"=="𠮷"=="\uD842\uDFB7"
// new String ops
"𠮷".codePointAt(0) == 0x20BB7
// for-of iterates code points
for(var c of "𠮷") {
console.log(c);
}
Modules
Language-level support for modules for component definition. Codifies patterns from popular JavaScript module loaders (AMD, CommonJS). Runtime behaviour defined by a host-defined default loader. Implicitly async model – no code executes until requested modules are available and processed.
// lib/math.js
export function sum(x, y) {
return x + y;
}
export var pi = 3.141593;
// app.js
module math from "lib/math";
alert("2π = " + math.sum(math.pi, math.pi));
// otherApp.js
import {sum, pi} from "lib/math";
alert("2π = " + sum(pi, pi));
Some additional features include export default
and export *
:
// lib/mathplusplus.js
export * from "lib/math";
export var e = 2.71828182846;
export default function(x) {
return Math.exp(x);
}
// app.js
module math from "lib/mathplusplus";
import exp from "lib/mathplusplus";
alert("2π = " + exp(math.pi, math.e));
Module Loaders
Module loaders support:
- Dynamic loading
- State isolation
- Global namespace isolation
- Compilation hooks
- Nested virtualization
The default module loader can be configured, and new loaders can be constructed to evaluated and load code in isolated or constrained contexts.
// Dynamic loading – ‘System’ is default loader
System.import('lib/math').then(function(m) {
alert("2π = " + m.sum(m.pi, m.pi));
});
// Create execution sandboxes – new Loaders
var loader = new Loader({
global: fixup(window) // replace ‘console.log’
});
loader.eval("console.log('hello world!');");
// Directly manipulate module cache
System.get('jquery');
System.set('jquery', Module({$: $})); // WARNING: not yet finalized
Map + Set + WeakMap + WeakSet
Efficient data structures for common algorithms. WeakMaps provides leak-free object-key’d side tables.
// Sets
var s = new Set();
s.add("hello").add("goodbye").add("hello");
s.size === 2;
s.has("hello") === true;
// Maps
var m = new Map();
m.set("hello", 42);
m.set(s, 34);
m.get(s) == 34;
// Weak Maps
var wm = new WeakMap();
wm.set(s, { extra: 42 });
wm.size === undefined
// Weak Sets
var ws = new WeakSet();
ws.add({ data: 42 });
// Because the added object has no other references, it will not be held in the set
Proxies
Proxies enable creation of objects with the full range of behaviors available to host objects. Can be used for interception, object virtualization, logging/profiling, etc.
// Proxying a normal object
var target = {};
var handler = {
get: function (receiver, name) {
return `Hello, ${name}!`;
}
};
var p = new Proxy(target, handler);
p.world === 'Hello, world!';
// Proxying a function object
var target = function () { return 'I am the target'; };
var handler = {
apply: function (receiver, ...args) {
return 'I am the proxy';
}
};
var p = new Proxy(target, handler);
p() === 'I am the proxy';
There are traps available for all of the runtime-level meta-operations:
var handler =
{
get:...,
set:...,
has:...,
deleteProperty:...,
apply:...,
construct:...,
getOwnPropertyDescriptor:...,
defineProperty:...,
getPrototypeOf:...,
setPrototypeOf:...,
enumerate:...,
ownKeys:...,
preventExtensions:...,
isExtensible:...
}
Symbols
Symbols enable access control for object state. Symbols allow properties to be keyed by either string
(as in ES5) or symbol
. Symbols are a new primitive type. Optional name
parameter used in debugging - but is not part of identity. Symbols are unique (like gensym), but not private since they are exposed via reflection features like Object.getOwnPropertySymbols
.
(function() {
// module scoped symbol
var key = Symbol("key");
function MyClass(privateData) {
this[key] = privateData;
}
MyClass.prototype = {
doStuff: function() {
... this[key] ...
}
};
})();
var c = new MyClass("hello")
c["key"] === undefined
Subclassable Built-ins
In ES6, built-ins like Array
, Date
and DOM Element
s can be subclassed.
Object construction for a function named Ctor
now uses two-phases (both virtually dispatched):
- Call
Ctor[@@create]
to allocate the object, installing any special behavior - Invoke constructor on new instance to initialize
The known @@create
symbol is available via Symbol.create
. Built-ins now expose their @@create
explicitly.
// Pseudo-code of Array
class Array {
constructor(...args) { /* ... */ }
static [Symbol.create]() {
// Install special [[DefineOwnProperty]]
// to magically update 'length'
}
}
// User code of Array subclass
class MyArray extends Array {
constructor(...args) { super(...args); }
}
// Two-phase 'new':
// 1) Call @@create to allocate object
// 2) Invoke constructor on new instance
var arr = new MyArray();
arr[1] = 12;
arr.length == 2
Math + Number + String + Object APIs
Many new library additions, including core Math libraries, Array conversion helpers, and Object.assign for copying.
Number.EPSILON
Number.isInteger(Infinity) // false
Number.isNaN("NaN") // false
Math.acosh(3) // 1.762747174039086
Math.hypot(3, 4) // 5
Math.imul(Math.pow(2, 32) - 1, Math.pow(2, 32) - 2) // 2
"abcde".contains("cd") // true
"abc".repeat(3) // "abcabcabc"
Array.from(document.querySelectorAll('*')) // Returns a real Array
Array.of(1, 2, 3) // Similar to new Array(...), but without special one-arg behavior
[0, 0, 0].fill(7, 1) // [0,7,7]
[1,2,3].findIndex(x => x == 2) // 1
["a", "b", "c"].entries() // iterator [0, "a"], [1,"b"], [2,"c"]
["a", "b", "c"].keys() // iterator 0, 1, 2
["a", "b", "c"].values() // iterator "a", "b", "c"
Object.assign(Point, { origin: new Point(0,0) })
Binary and Octal Literals
Two new numeric literal forms are addded for binary (b
) and octal (o
).
0b111110111 === 503 // true
0o767 === 503 // true
Promises
Promises are a library for asynchronous programming. Promises are a first class representation of a value that may be made available in the future. Promises are used in many existing JavaScript libraries.
function timeout(duration = 0) {
return new Promise((resolve, reject) => {
setTimeout(resolve, duration);
})
}
var p = timeout(1000).then(() => {
return timeout(2000);
}).then(() => {
throw new Error("hmm");
}).catch(err => {
return Promise.all([timeout(100), timeout(200)]);
})
Reflect API
Full reflection API exposing the runtime-level meta-operations on objects. This is effectively the inverse of the Proxy API, and allows making calls corresponding to the same meta-operations as the proxy traps. Especially useful for implementing proxies.
// No sample yet
Tail Calls
Calls in tail-position are guaranteed to not grow the stack unboundedly. Makes recursive algorithms safe in the face of unbounded inputs.
function factorial(n, acc = 1) {
'use strict';
if (n <= 1) return acc;
return factorial(n - 1, n * acc);
}
// Stack overflow in most implementations today,
// but safe on arbitrary inputs in eS6
factorial(100000)


A logger responsible for logging messages to a particular destination.
Located in /Fortissimo.php (line 2239)
| Class | Description |
|---|---|
| FortissimoOutputInjectionLogger | The FOIL logger sends messages directly to STDOUT. |
| FortissimoArrayInjectionLogger | The FAIL logger maintains an array of messages to be retrieved later. |
The parameters for this logger.
Construct a new logger instance.
Return log messages.
Some, but not all, loggers buffer messages for retrieval later. This method should be used to retrieve messages from such loggers.
Initialize the logger.
This will happen once per server construction (typically once per request), and it will occur before the command is executed.
Log a message.
Handle raw log requests.
This handles the transformation of objects (Exceptions) into loggable strings.
Documentation generated on Mon, 04 Jan 2010 20:20:28 -0600 by phpDocumentor 1.4.3


Home
Diary
SNS
Military
Diary
This is where I record random thoughts.
Home
Diary
SNS
Military
Not really sure should I use here.
p.s. I am going to make a dynamic website later, which will be much better than this.


AUTOWORLD
SERVICE LOCATOR
AutoWorld operates all over the world with over 150 assistance centers in more than 54 countries to provide you with total support whenever and wherever you need it. Find your nearest center.
FINANCIAL SERVICES
Envision yourself driving a technologically advanced and cutting
edge car. Can you feel the strength and power behind the
steering wheel? Good. Now think.
Why should you only imagine it when, thanks to car Financial
Services, you can actually drive off in your very own car.
Whether you prefer to lease or purchase your dream car we
understand your needs, and will make sure to give you the upmost
support and guide you in your new or pre-owned selection. car
Financial Services offers flexible leasing and financing
solutions to complete your visionary experience and car
ownership.
We are constantly working to expand our coverage and presence to
offer you full support.


Angular ColorPalette
Angular ColorPalette
Angular colorpicker selected color tile
Angular colorpicker with icon with hovered icon
Angular colorpicker with icon and focused
Angular colorpicker disabled
Angular ColorGradient
Angular ColorGradient without alpha slider
Angular colorpicker with opened colorpalette


| MATLAB 文件帮助: cv.FeatureDetector/FeatureDetector | 查看 cv.FeatureDetector/FeatureDetector 的代码 | Index |
FeatureDetector Creates a feature detector by name.
detector = cv.FeatureDetector(type)
detector = cv.FeatureDetector(type, 'OptionName',optionValue, ...)
xfeatures2d
module)xfeatures2d
module)xfeatures2d
module)Refer to the constructors of each feature detector for a list of supported options.


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Appendix F. Additional Supplied Modules | Next |
The pg_trgm module provides functions and operators for determining the similarity of ASCII alphanumeric text based on trigram matching, as well as index operator classes that support fast searching for similar strings.
A trigram is a group of three consecutive characters taken from a string. We can measure the similarity of two strings by counting the number of trigrams they share. This simple idea turns out to be very effective for measuring the similarity of words in many natural languages.
Note: A string is considered to have two spaces prefixed and one space suffixed when determining the set of trigrams contained in the string. For example, the set of trigrams in the string "cat" is " c", " ca", "cat", and "at ".
Table F-22. pg_trgm functions
| Function | Returns | Description |
|---|---|---|
similarity(text, text) | real | Returns a number that indicates how similar the two arguments are. The range of the result is zero (indicating that the two strings are completely dissimilar) to one (indicating that the two strings are identical). |
show_trgm(text) | text[] | Returns an array of all the trigrams in the given string. (In practice this is seldom useful except for debugging.) |
show_limit() | real | Returns the current similarity threshold used by the % operator. This sets the minimum similarity between two words for them to be considered similar enough to be misspellings of each other, for example. |
set_limit(real) | real | Sets the current similarity threshold that is used by the % operator. The threshold must be between 0 and 1 (default is 0.3). Returns the same value passed in. |
The pg_trgm module provides GiST and GIN index operator classes that allow you to create an index over a text column for the purpose of very fast similarity searches. These index types support the % similarity operator (and no other operators, so you may want a regular B-tree index too).
Example:
CREATE TABLE test_trgm (t text); CREATE INDEX trgm_idx ON test_trgm USING gist (t gist_trgm_ops);
or
CREATE INDEX trgm_idx ON test_trgm USING gin (t gin_trgm_ops);
At this point, you will have an index on the t column that you can use for similarity searching. A typical query is
SELECT t, similarity(t, 'word') AS sml FROM test_trgm WHERE t % 'word' ORDER BY sml DESC, t;
This will return all values in the text column that are sufficiently similar to word, sorted from best match to worst. The index will be used to make this a fast operation even over very large data sets.
The choice between GiST and GIN indexing depends on the relative performance characteristics of GiST and GIN, which are discussed elsewhere. As a rule of thumb, a GIN index is faster to search than a GiST index, but slower to build or update; so GIN is better suited for static data and GiST for often-updated data.
Trigram matching is a very useful tool when used in conjunction with a full text index. In particular it can help to recognize misspelled input words that will not be matched directly by the full text search mechanism.
The first step is to generate an auxiliary table containing all the unique words in the documents:
CREATE TABLE words AS SELECT word FROM ts_stat('SELECT to_tsvector(''simple'', bodytext) FROM documents');
where documents is a table that has a text field
bodytext that we wish to search. The reason for using
the simple configuration with the to_tsvector
function, instead of using a language-specific configuration,
is that we want a list of the original (unstemmed) words.
Next, create a trigram index on the word column:
CREATE INDEX words_idx ON words USING gin(word gin_trgm_ops);
Now, a SELECT query similar to the previous example can be used to suggest spellings for misspelled words in user search terms. A useful extra test is to require that the selected words are also of similar length to the misspelled word.
Note: Since the words table has been generated as a separate, static table, it will need to be periodically regenerated so that it remains reasonably up-to-date with the document collection. Keeping it exactly current is usually unnecessary.
GiST Development Site http://www.sai.msu.su/~megera/postgres/gist/
Tsearch2 Development Site http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
Oleg Bartunov<EMAIL_ADDRESS>, Moscow, Moscow University, Russia
Teodor Sigaev<EMAIL_ADDRESS>, Moscow, Delta-Soft Ltd.,Russia
Documentation: Christopher Kings-Lynne
This module is sponsored by Delta-Soft Ltd., Moscow, Russia.


Hover
Using Sword or Hammer aerial combo lets you hover.  Starting a second aerial combo after the first one won’t give you any hover effect. However, with Sword, you can finish your aerial combo by an up slash to hover a bit longer. With Hammer, you need to start with an up slash before starting your horizontal combo if you want to benefit from it.
Up slash
When doing an up slash, Ori gains a bit of height. This can be used to reach higher platforms. Hammer’s up slash gets more height than Sword’s up slash. If you try to do a second up slash before touching the ground, you will not gain any height from it.


If you're ready to place your order, click the button below.
The story of pizza is a long one. From the Greeks to the Egyptians, from the Persians to the Indians, there have been incarnations of pizza served throughout history. Flatbreads, naan, and plakountos are all early preparations that could be considered cousins to the modern pizza, but there isn’t a consensus as to which is first and whether these could even be considered precursors to pizza at all.
More InfoPlease choose the size that you want below


test_for_pcaForSVM
clear;
clc;
load wine;
train_wine = [wine(1:30,:);wine(60:95,:);wine(131:153,:)];
train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];
test_wine = [wine(31:59,:);wine(96:130,:);wine(154:178,:)];
test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)];
[train_wine,pstrain] = mapminmax(train_wine');
pstrain.ymin = 0;
pstrain.ymax = 1;
[train_wine,pstrain] = mapminmax(train_wine,pstrain);
[test_wine,pstest] = mapminmax(test_wine');
pstest.ymin = 0;
pstest.ymax = 1;
[test_wine,pstest] = mapminmax(test_wine,pstest);
train_wine = train_wine';
test_wine = test_wine';
[train_pca,test_pca] = pcaForSVM(train_wine,test_wine,90);
[bestacc,bestc,bestg] = SVMcgForClass(train_wine_labels,train_pca,-4,6,-5,4,3,0.5,0.5,0.9)
cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg)];
model = svmtrain(train_wine_labels, train_pca,cmd);
[ptrain_label, train_acc] = svmpredict(train_wine_labels, train_pca, model);
[ptest_label, test_acc] = svmpredict(test_wine_labels, test_pca, model);
bestacc =
98.8764
bestc =
0.7071
bestg =
1.4142
Accuracy = 98.8764% (88/89) (classification)
Accuracy = 97.7528% (87/89) (classification)


Your favorites are listed below. Click on the 'More Information' icon to view additional information about each favorite.
| Date | Name | Request URL | Type | Actions |
|---|---|---|---|---|
| There are no entries to display. | ||||
| {{row.date | date:dateFormat}} | {{row.name}} | {{row.url}} | {{row.method | uppercase}} | |


Hi! My name is McKenna, and I believe that the most ordinary moments can become extraordinary with the right pair of shoes.
When I was younger, I always loved art. I started my first business in elementary school, selling hand-sewn designs out of my backpack, and I have been creating ever since. I currently attend Brigham Young University in Provo, Utah where I plan to graduate in Experience Design and Management. From painting shoes to performing music, experiencing the outdoors, or creating websites, my greatest passion is using my influence as a designer to make a positive impact.
McKenna Sork
<EMAIL_ADDRESS>(360) 921-7327


The Data Privacy Vocabulary (DPV) provides terms (classes and properties) to describe and represent information related to processing of personal data. This extension extends the DPV and provides concepts specific to the obligations and requirements of the General Data Protection Regulation (GDPR). More specifically, it provides a taxonomy of legal bases and rights as defined within the GDPR.
The namespace for terms for Legal Bases under GDPR is http://www.w3.org/ns/dpv-gdpr#
The suggested prefix for the GDPR Legal Bases namespace is dpv-gdpr
The DPV-GDPR ontology and its documentation is available on GitHub.
This document is published by the Data Privacy Vocabularies and Controls Community Group (DPVCG) as a deliverable and report of its work in creating and maintaining the Data Privacy Vocabulary (DPV) and its extensions.
Contributing to the DPV and its extensions The DPVCG welcomes participation regarding the DPV, including expansion or refinement of its terms, addressing open issues, and welcomes suggestions on their resolution or mitigation.
While we welcome participation via any and all mediums - e.g., via Github pull requests or issues, emails, papers, or reports - the formal resolution of contributions takes place only through the DPVCG meeting calls and mailing lists. We therefore suggest joining the group to participate in these discussions for formal approval.
For contributions to the DPV, please see the section on GitHub. For DPV-GDPR specific contributions, please see the section on GitHub. The current list of open issues and their discussions to date can be found at DPVCG issue tracker as well as GitHub issues for DPV and DPV-GDPR.
The Data Privacy Vocabulary provides terms (classes and properties) to annotate and categorize instances of legally compliant personal data handling. In particular, the vocabulary provides LegalBasis
and DataSubjectRight
as top-level concepts representing the various legal bases for justifying processing of personal data and rights provided to the data subject respectively. Since these concepts are specifically defined within the scope of jurisdictional laws, their implementation is provided as a separate vocabulary that extends the DPV, thereby permitting continued usage of DPV as a jurisdiction-agnostic and generic vocabulary.
This vocabulary, termed as DPV-GDPR, extends the concepts within DPV regarding legal bases and data subject rights with those provided by the GDPR. It provides a compatible extension to be used in combination with the DPV to represent GDPR-specific information.
The namespace for DPV-GDPR vocabulary is http://www.w3.org/ns/dpv-gdpr#
. The table below indicates the full list of namespaces and prefixes used in this document.
| Prefix | Namespace |
|---|---|
dct
|
http://purl.org/dc/terms/
|
dpv
|
http://www.w3.org/ns/dpv#
|
dpv-gdpr
|
http://www.w3.org/ns/dpv-gdpr#
|
odrl
|
http://www.w3.org/ns/odrl/2/
|
owl
|
http://www.w3.org/2002/07/owl#
|
rdf
|
http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
rdfs
|
http://www.w3.org/2000/01/rdf-schema#
|
skos
|
http://www.w3.org/2004/02/skos/core#
|
spl
|
http://www.specialprivacy.eu/langs/usage-policy#
|
svd
|
http://www.specialprivacy.eu/vocabs/data#
|
svdu
|
http://www.specialprivacy.eu/vocabs/duration#
|
svl
|
http://www.specialprivacy.eu/vocabs/locations#
|
svpu
|
http://www.specialprivacy.eu/vocabs/purposes#
|
svpr
|
http://www.specialprivacy.eu/vocabs/processing#
|
svr
|
http://www.specialprivacy.eu/vocabs/recipients
|
xsd
|
http://www.w3.org/2001/XMLSchema#
|
Regulations such as the GDPR specify certain legal basis for carrying out the processing of personal data, which makes it mandatory for every processing to have one (or more) legal basis that justifies their compliance. DPV provides a list of legal bases as per the GDPR under the separate namespace of dpv-gdpr. Additional legal bases can be declared by subclassing dpv:LegalBasis
.
The taxonomy lists the legal bases as provided by GDPR Article 6 regarding processing of personal data, those defined in GDPR Article 9 regarding processing of special categories of personal data, and those provided by GDPR Articles 45, 46, and 49 in connection with transfer of personal data. The legal basis of ‘consent’ as defined in Article 6(1)(a) has been declared using the terms ‘explicit’ and ‘non-explicit’ to differentiate the requirements of the two in accordance of their requirements of compliance. Furthermore, legal basis provided by Article 6 apply to processing involving personal data whereas those in Article 9 apply specifically to processing involving special categories of personal data.
Art 45(3)
|
Art 46(2-a)
|
Art 46(2-b)
|
Art 46(2-c)
|
Art 46(2-d)
|
Art 46(2-e)
|
Art 46(2-f)
|
Art 46(3-a)
|
Art 46(3-b)
|
Art 49(1-a)
|
Art 49(1-b)
|
Art 49(1-c)
|
Art 49(1-d)
|
Art 49(1-e)
|
Art 49(1-f)
|
Art 49(1-g)
|
Art 49(2)
|
Art 6(1-a) explicit consent
|
Art.6(1-a) non-explicit consent
|
Art 6(1-b)
|
Art 6(1-c)
|
Art 6(1-d)
|
Art 6(1-e)
|
Art 6(1-f)
|
Art 9(2-a)
|
Art 9(2-b)
|
Art 9(2-c)
|
Art 9(2-d)
|
Art 9(2-e)
|
Art 9(2-f)
|
Art 9(2-g)
|
Art 9(2-h)
|
Art 9(2-i)
|
Art 9(2-j)
|
| Term: | A45-3 |
| Description: | Personal data can flow freely from the EU to a third country with an Adequacy Decision without any further safeguard being necessary. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.45-3 |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-2-a |
| Description: | A legally binding and enforceable instrument between public authorities or bodies |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-2a |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-2-b |
| Description: | Binding corporate rules |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-2b |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-2-c |
| Description: | Standard data protection clauses adopted by the Commission |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-2c |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-2-d |
| Description: | Standard data protection clauses adopted by a Supervisory Authority |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-2d |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-2-e |
| Description: | An approved code of conduct pursuant to GDPR Article 40 together with binding and enforceable commitments of the controller or processor in the third country to apply the appropriate safeguards, including as regards individuals´ rights |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-2e |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-2-f |
| Description: | An approved certification mechanism pursuant to GDPR Article 42 together with binding and enforceable commitments of the controller or processor in the third country to appy the appropriate safeguards, including as regards individuals` rights |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-2f |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-3-a |
| Description: | Contractual clauses with controller, processor or recipient of the personal data in the third country or the international organisation. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-3a |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A46-3-b |
| Description: | Provisions to be inserted into administrative arrangements between public authorities or bodies which include enforceable and effective data subject rights |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.46-3b |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-a |
| Description: | The data subject has explicitly consented to the proposed transfer, after having been informed of the possible risks of such transfers for the data subject due to the absence of an adequacy decision and appropriate safeguards. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1a |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-b |
| Description: | The transfer is necessary for the performance of a contract between the data subject and controller or the implementation of pre-contractual measures taken at the data subject´s request. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1b |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-c |
| Description: | The transfer is necessary for the conclusion or performance of a contract concluded in the interest of the data subject and controller and another natural or legal person. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1c |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-d |
| Description: | The transfer is necessary for important reasons of public interest. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1d |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-e |
| Description: | The transfer is necessary for the establishment, exercise or defence of legal claims. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1e |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-f |
| Description: | The transfer is necessary in order to protect the vital interests of the data subject or of other persons, where the person is physically or legally incapable of giving consent. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1f |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-1-g |
| Description: | The transfer is made from a register which according to Union or Member State law is intended to provide information to the public in general or by any person who can demonstrate a legitimate interest, but only to the extent that the conditions laid down by Union or Member State law for consultation are fulfilled in the particular case. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-1g |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A49-2 |
| Description: | The transfer is not repetetive, concerns only a limited number of data subjects, is necessary for the purposes of compelling legitimate interests pursued by controller which are not overridden by the interests or rights and freedoms of the data subject, and controller has assessed all the circumstances surrounding the data transfer and have on the basis of that assessment provided suitable safeguards with regard to the protection of personal data. |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.49-2 |
| Created: | |
| Contributor(s): | Georg P Krog |
| Term: | A6-1-a-explicit-consent |
| Description: | explicit' consent of the data subject |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1a |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn, Harshvardhan J. Pandit, Rigo Wenning |
| Term: | A6-1-a-non-explicit-consent |
| Description: | consent of the data subject |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1a |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn, Harshvardhan J. Pandit, Rigo Wenning |
| Term: | A6-1-b |
| Description: | performance of a contract |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1b |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A6-1-c |
| Description: | compliance with a legal obligation |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1c |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A6-1-d |
| Description: | protection of the vital interests |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1d |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A6-1-e |
| Description: | public interest or official authority |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1e |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A6-1-f |
| Description: | legitimate interests |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.6-1f |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-a |
| Description: | explicit consent with special categories of data |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2a |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-b |
| Description: | employment and social security and social protection law |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2b |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-c |
| Description: | protection of the vital interests |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2c |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-d |
| Description: | legitimate activities with appropriate safeguards by a foundation, association or any other not-for-profit body with a political, philosophical, religious or trade union aim and on condition that the processing relates solely to the members or to former members of the body or to persons who have regular contact with it in connection with its purposes and that the personal data are not disclosed outside that body without the consent of the data subjects; |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2d |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-e |
| Description: | data manifestly made public by the data subject |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2e |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-f |
| Description: | establishment, exercise or defence of legal claims / courts acting in their judicial capacity |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2f |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-g |
| Description: | substantial public interest, on the basis of Union or Member State law |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2g |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-h |
| Description: | preventive or occupational medicine, for the assessment of the working capacity of the employee, medical diagnosis, the provision of health or social care or treatment or the management of health or social care systems and services on the basis of Union or Member State law or pursuant to contract with a health professional and subject to the conditions and safeguards referred to in paragraph 3 |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2h |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-i |
| Description: | public interest in public health |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2i |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
| Term: | A9-2-j |
| Description: | public interest, scientific or historical research purposes or statistical purposes based on Union or Member State law |
| Subclass Of: | dpv:LegalBasis |
| Source: | GDPR Art.9-2j |
| Created: | |
| Contributor(s): | Bud Bruegger, Eva Schlehahn |
GDPR provides several rights to the data subject, whose applicability depends on the context and nature of processing taking place. DPV lists these rights at an abstract level as concepts along with their origin in specific clauses of the GDPR.
A13 Right to be Informed
|
A14 Right to be Informed
|
A15 Right of Access
|
A16 Right to Rectification
|
A17 Right to Erasure
|
A18 Right to Restrict Processing
|
A19 Right to Rectification
|
A20 Right to Data Portability
|
A21 Right to object
|
A22 Right to object to automated decision making
|
A7-3 Right to Withdraw Consent
|
A77 Right to Complaint
|
| Term: | A13 |
| Description: | information to be provided where personal data is directly collected from data subject |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.13 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A14 |
| Description: | information to be provided where personal data is collected from other sources |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.14 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A15 |
| Description: | Right of access |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.15 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A16 |
| Description: | Right to rectification |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.16 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A17 |
| Description: | Right to erasure ('Right to be forgotten') |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.17 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A18 |
| Description: | Right to restriction of processing |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.18 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A19 |
| Description: | Right to be notified in case of rectification or erasure of personal data or restriction of processing |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.19 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A20 |
| Description: | Right to data portability |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.20 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A21 |
| Description: | Right to object to processing of personal data |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.21 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A22 |
| Description: | Right not to be subject to a decision based solely on automated processing including profiling |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.22 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A7-3 |
| Description: | Right to withdraw consent |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.7-3 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |
| Term: | A77 |
| Description: | Right to lodge a complaint with a supervisory authority |
| Subclass Of: | dpv:DataSubjectRight |
| Source: | GDPR Art.77 |
| Created: | |
| Contributor(s): | Beatriz Esteves, Georg Krog, Harshvardhan J. Pandit |


3 Websites I like
The Hype Machine
The Hype Machine is without a doubt one of the sites I use the most. I love all kinds of music and am constantly looking for something fresh to listen to, and the Hype Machine is one of resources I turn to the most. It basically aggregates the most blogged about songs on the Web, and at any given time you can see what songs are essentially trending based on how many "loves" each song gets. ...Well, I'm pretty sure that's how the algorithm works. If not, it's something like that.
Truth be told, I don't spend a lot of time browsing around the site, and I don't really take advantage of a lot of the functionality it provides (e.g., I don't 'follow' blogs or users). For me, it serves an important purpose, and that often involves just letting the music play while I'm doing something else. Nevertheless, when my curiosity's piqued and I want to see what blogs have said about a particular song or artist, it's easy to do.
Aesthetically, it's simple, well-organized, and pretty clean. And things aren't really explicitly stated--maybe because of the simplicity. Anyway, I could see some people coming to the site and not really being sure how it works initially. But perhaps it's this simple yet unassuming quality that almost ignites the curiosity a little more and invites the user to have a look around. That's what I remember about my first encounters with it anyway. One thing's for certain, I've discovered a lot of great new music thanks to the Hype Machine.
Magic Seaweed
First of all, I don't want to mischaracterize myself here: I'm no pro surfer. Not even close. In fact, I'm much closer to being a newb than a pro, but I do enjoy surfing a lot. I enjoy the challenge, and I've found the learning process to be really fulfilling so far. I have a ways to go though! ANYWAY, now that I got that out of the way, this is a site that has been super useful to me during certain periods. Basically, any time I'm in a place that provides the option of surfing nearby, I end up checking Magic Seaweed pretty regularly.
The site itself is an interesting mix of scientific data and beautiful content. The videos that get posted are awesome. And that's actually a really fitting use of the word 'awesome.' Some of these waves, and what people are able to do on them is awe-inspiring, at least to me. Additionally, the site itself is aesthetically pleasing. Cool images, clean layout, just nice.
Most importaintly, it provides a lot of easy to read, location-specific, and super-useful data. I'm still learning how to interpret it all, but so far Magic Seaweed has provided me a lot of info that has really helped me determine where and when to go surfing. Tides, swell size, wind speed/direction, all that good jazz. It also allows you to track specific locations and provides maps and descriptions to surf spots around the world.
Kickstarter
Kickstarter is another site that combines practicality with good looks. Aesthetically, again, it's some of the same qualities that I appreciate: clean, simple, easy-to-navigate. Kickstarter projects typically display a lot of great content--videos, photos, etc. And the site does a great job of both organizing information and displaying it nicely.
I appreciate a lot of the small design details on the site. The little splashes of bright green and blue mixed with the strongly-contrasting black elements, all laid on a mostly white background, for example.
But what I like the most about Kickstarter are its social/community-based implications. Crowdfunding is really helping to promote innovation in a powerful way. It not only gives individuals a whole lot more power in terms of breaking into a market with a good idea, but it also empowers people to support whatever ideas they want to see materialize.


We aimed to improve people’s sleep quality and help them to form good sleep habit. The final prototype - 'Hypnos' - is an AI driven holographic screen in the bedroom with voice control and leap motion. The main functions include viewing sleep pattern, setting sleep goals, forming sleep habit, relaxation and adjusting environment.
VIEW PROJECTI explored the relationship between tobacco consumption and tax. Using Spreadsheet, D3.js and Adobe Illustrator, I did data analysis and made a webpage, which contains an interactive map and diagram, as well as other visualisation graphs.
VIEW PROJECTWe designed this interactive game called 'IMITATOR', aiming to improve social interactions within the museum without losing the educational purpose, so that people could gain knowledge in an interesting way. Visitors choose an artwork with characters in a unique pose, and imitate that physical position. Their figures will be captured and put on the artwork, which allows them to get personalised experiences.
VIEW PROJECT[Inspired by Alice in Wonderland] Multiple users from inside and outside the elevator can collaborate and contribute together into the playfulness of the concept. The Whack-A-Mole game is added as a never-ending activity which allows users to have a run through of the entire concept while waiting for the lift.
VIEW PROJECTXCAPE is a VR escape training prototype, aiming to improve player's escaping skills in various dangerous situations. While the demo scene is about escaping from a fire accident, our whole VR app is designed to include various dangerous situations, such as fire, earthquake, terrorist attack, etc. We focused our design on building an immersive experience as well as teaching practical escaping skills.
VIEW PROJECTWe were challenged to create digital media content for Vivid Festival(2016) for DesignINK Ecology. The theme of this exhibition was marine conservation. We produced a short film and presented it to the public. The film tells a lifetime story of a fish named Mino, and reveals the relationship between human and ocean.
VIEW PROJECTA few print and layout design, including my freelance work and university projects.
I did these work with Adobe InDesign, Photoshop and Illustrator.
VIEW PROJECTWe built this web-based Personalised Learning Plan (PLP) named STEPs, which incorporates gamification concept into the goal achievement process. Our website enables the students to timely and easily set personalised goals, view the progress, receive suggestions from their teachers and parents and also compete with other students.
Every achievement is visualized as a footprint on the virtual map, which makes the learning progress less tedious, more playful and motivational.
VIEW PROJECTAn interactive sketchpad for users to customise their T-shirt pattern. Made with Processing.
VIEW PROJECTThis is a hand-held game device, which brings light-hearted entertainment to players. The goal of this game is to collect the heart shape by pressing the button, so that the guy on the left can move towards the girl on the far right. Made with Arduino.
VIEW PROJECTA few pieces of motion graphic films made with Adobe After Effects.
VIEW PROJECTI was challenged to design a children's toy by 3D modelling and fabrication. I designed this Tumbler Owl Saving Box for 6+ age. It is playful as well as cultivating saving habits. The eyes of the owl were 3D printed and the body was built through stacking and waffling the laser-cut plywood pieces.
VIEW PROJECT


Question Set
Questions (
0
)
Search
Does your classroom involve collaboration?
Yes
No
Is real time important for you?
Yes
No
Does your course have a portion of distance communication? (example: teleconfrence call)
Yes
No
Would you like to incorporate multimedia into your activities?
Yes
No
<div fjs-items="template=#movie-template"><div/>


|
package com.alpha.api.services;
import com.alpha.api.services.Event.Type;
import com.google.common.collect.Lists;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.MockitoAnnotations.initMocks;
public class TeacherTest {
public static final String LARRY = "Larry";
public static final String SCHOOL = "School";
public static final String SECTION_NAME = "SectionName";
public static final long USER_ID = 1L;
public static final long SECTION_ID = 2L;
private Teacher teacher;
private final Section section = new Section(new Course(1L), SECTION_ID, SECTION_NAME, "amplifydev@amplifydev.net");
@Before
public void setUp() {
initMocks(this);
teacher = new Teacher(USER_ID, LARRY, SCHOOL, "loginId", "password", Lists.newArrayList(section), null);
teacher.setCurrentSection(SECTION_ID);
}
@Test
public void shouldCreateLockDeviceEvent() {
Event event = teacher.lockDevicesEvent();
assertThat(event.getType(), is(Type.LOCK_DEVICES));
}
@Test
public void shouldCreateUnlockDeviceEvent() {
Event event = teacher.unlockDevicesEvent();
assertThat(event.getType(), is(Type.UNLOCK_DEVICES));
}
@Test
public void shouldHaveOngoingSessionIfSectionHasNoOngoingSession() {
teacher.getCurrentSection().resetParticipantStatus();
assertThat(teacher.getSession().isOngoing(), is(false));
}
@Test
public void teacherShouldCreateStartSessionEvent() {
Event event = teacher.startSessionEvent();
assertEvent(event, Type.START_SESSION);
}
@Test
public void teacherShouldCreateEndSessionEvent() {
Event event = teacher.endSessionEvent();
assertEvent(event, Type.END_SESSION);
}
|
| Duplicate |
private void assertEvent(Event event, Type type) {
assertThat(event.getType(), is(type));
assertThat(event.getUserId(), is(USER_ID));
assertThat(event.getSectionId(), is(SECTION_ID));
}
|
|
@Test
public void teacherShouldCreateEngageForceField() {
Event event = teacher.engageForceFieldEvent();
assertEvent(event, Type.ENGAGE_FORCEFIELD);
}
@Test
public void teacherShouldCreateDisengageForceField() {
Event event = teacher.disengageForceFieldEvent();
assertEvent(event, Type.DISENGAGE_FORCEFIELD);
}
}
|


Posted on 21 SEPTEMBER, 2014
what the heck is Enumerable#group_by?
Perhaps we should start with "what the heck is Enumerable?" Well, Enumerable methods provide powerful ways to loop. It's one of the reasons you hardly ever see for loops in Ruby. In addition to simply iterating through code over and over again, Enumerable provides ways to search, alter, and organize your data. As you may have guessed my focus today is on Enumerable#groub_by, which falls under the "organize" category.
Enumerable#group_by will take your boring, disorganized array and return a pretty new hash. Let's say you have an array of the numbers 1 through 10, but you want to separate the odd numbers from the even numbers. Observe:
irb(main):001:0> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].group_by {|number| number % 2}
=> {1=>[1, 3, 5, 7, 9], 0=>[2, 4, 6, 8, 10]}
=> {1=>[1, 3, 5, 7, 9], 0=>[2, 4, 6, 8, 10]}
Fittingly, our group_by method grouped the even numbers into one array, and the odd numbers into another and stored this data in theform of a hash. Our arrays are now values, the keys to which are enumerators (0 for the numbers where the expression number % 2 evaluates to 0, and 1 for those that evaluate to 1). But the keys don't have to be numbers. Let's get a little more sophisticated.
Say we have a list of names stored in an array in no particular order. We would like to group these names together alphabetically. Enter Enumerable#group_by.
irb(main):002:0> names = ["Harry", "Larry", "Barry", "Lidia", "Zeke", "Lisa", "Heidi", "Barbara"]
=> ["Harry", "Larry", "Barry", "Lidia", "Zeke", "Lisa", "Heidi", "Barbara"]
irb(main):003:0> names.group_by {|name| name[0]}
=> {"H"=>["Harry", "Heidi"], "L"=>["Larry", "Lidia", "Lisa"], "B"=>["Barry", "Barbara"], "Z"=>["Zeke"]}
=> ["Harry", "Larry", "Barry", "Lidia", "Zeke", "Lisa", "Heidi", "Barbara"]
irb(main):003:0> names.group_by {|name| name[0]}
=> {"H"=>["Harry", "Heidi"], "L"=>["Larry", "Lidia", "Lisa"], "B"=>["Barry", "Barbara"], "Z"=>["Zeke"]}
In this instance, the keys to our hash are the first letters of each name. We are able to specify this in the block of code (the bit just after the pipes) where we say name[0]. In this instance, name is the element we are working with, which happens to be a string. We go to the [0] index -- aka the first letter -- and this becomes our key. Enumerable#group_by is good for more than just alphabetic sorting.
Let's take that same list of names and group by the length of each name.
irb(main):004:0> names.group_by {|name| name.length}
=> {5=>["Harry", "Larry", "Barry", "Lidia", "Heidi"], 4=>["Zeke", "Lisa"], 7=>["Barbara"]}
=> {5=>["Harry", "Larry", "Barry", "Lidia", "Heidi"], 4=>["Zeke", "Lisa"], 7=>["Barbara"]}
Or maybe we just want to know which names are "long" or "short".
irb(main):005:0>names.group_by { | name | name.length < 5}
=> {false=>["Harry", "Larry", "Barry", "Lidia", "Heidi", "Barbara"], true=>["Zeke", "Lisa"]}
=> {false=>["Harry", "Larry", "Barry", "Lidia", "Heidi", "Barbara"], true=>["Zeke", "Lisa"]}
Sure, five letters is an arbitrary number to separate long and short, but in this case our keys are boolean values -- "true" for names less than five characters long and "false" for those that are longer.
The possibilities are virtually endless. Enumerable#group_by gives you a wide array (pun intended) of options for organizing your data.


Your name is :
clic !
Some of us are David, but most of us are Dave.
Daves and Davids
Dave
is
Daves
Dave F.
Dave F. is a Dave.
Bicycles
Synthesizers
Keyboards


Build in Progress
The user interface for Portfolio Optimizer is being built. Please check back later.


... is behind this marvelous event you ask? And more importantly, who gets to go on the Hunt? All your questions are answered below!
The Leisure Treasure Hunt is open to all—and that includes you! This annual event is truly one for the people and by the people. Designated treasures are nominated in by guests of the Landon Hotel throughout the summer with the Hunt scheduled for the fall.
The primary sponsor of the Leisure Treasure Hunt is, of course, the Landon Hotel itself. Other sponsors (and their prizes) will be announced in a few short weeks.
The Leisure Treasure Hunt, the Landon Hotel's premium fun-time event, held every October when the air is crisp and the treasure hunting is optimal!
To prepare for the Hunt, it's best to study the clues (and the treasures they lead to!) from previous games. Here's a few from last year's Hunt in Tompkins Square Park:
Shhhhh! It's a secret... for now! The location will be announced very soon.
The Leisure Treasure Hunt is held every October when the air is crisp and the treasure hunting is optimal!
Here are the details on this year's upcoming event: