A derivative of "Kanban", a task tracking and management system. Expanded on the idea of rule based states and user roles. Was built during a hackathon with a team of four using the MEAN Stack. Idea came from the need for small teams to be able to effeciently track and verify progress on projects.
A clone of "Flikr" that allows for users to upload images and sort though the images based on the faces in the image. To accomplish this I came up with a versitile microservice architecture that separated image uploading from the "face-finder" The whole app was orchistrated using docker and was written in TypeScript, JavaScript, and Python; using Amazon S3, RabbitMQ, Redis, and MongoDB. For "face-finder" we used OpenCV.
Named for the fact that it is a radius based group chat app. The idea is that a user can set the radius in meters from how far they want to recieve messages from. Each message has a location that is associated with it for the server to dicern which users to send that message to. This app was written using the MEAN stack, using Ionic 1.0 instead of Angular.
Having worked with a vast assortment of different frameworks and technical stacks has led to the necesity of being a fast learner. Additionally, I have worked in a multitude of environments, from relaxed projects with friends, to high intensity Sprints.
Much of my developer expirence has been working on cloud based systems. My first internship at Interactive Intelligence was working on an automated QA team for an AWS based architecture. After that many of the projects that I have worked on have all ran on virtual machines in the cloud. My expirience at Amazon has also helped me learn more techniques for working on Cloud Based Microservices Archetectures.
I have always had an appetite for leadership. From being the team captain in Highschool for the Fine Arts Academic team, to being the president of Computer Science Club for the last 3 years. I am comfortable leading small groups of developers to finish a project at a hackathon or leading a team of peers in class projects.
I was born and raised in Columbus, Indiana which is a small diverse midwestern town, that has been described as the "Athens of the Prairie." I have always had an interest in computers, but it was not until taking more indepth classes in High School that I knew it was my passion. From there I went to Purdue School of Science at Indianapolis for Computer Science. Here I found a great community that helped me grow my skills as a freshman. I got involved with Computer Science Club and as a freshman was the Senator for CS Club. I also networked with other members and got an internship with Interactive Intelligence that summer. Since sophomore year I have been the President of Computer Science Club, we I have grown membership from 70 to over 200 members. I have also gotten the club more involved with the local Software Engineering community, by inviting companies out to give talks to the club. This last summer I had the oppurtunity to intern with Amazon as a Software Development Engineer Intern. This was a great expirence and greatly improved my skills as an engineer. I graduate in May 2018 and look forward to new horizons in the future.


WITNESS LIST Appropriations-S/C on Health & Human Services Committee February 11, 1999-8:00A Budget For: Bonner, Loretto (Self) Bresette, Patrick (Center for Public Policy Priorities) Buchanan, Bree (Texas Council on Family Violence) De Luna-Castro, Eva (Center for Public Policy Priorities) Flink, Paige (The Family Place) Graves, Tim (Texas Health Care Association) Hagert, Celia (Center for Public Policy Priorities) Hardy, Alan (American Association of Retired Persons) Howerton, Douglas (Long Term Care) Humphrey, Cynthia (Association of Substance Abuse Programs) Kafka, Bob (ADAPT of Texas) Marshall, Susan (The Arc of Texas) Meinkowsky, John (Texas Association of Center for Independent Living) Murgia, Sandra (Coalition of Texans with Disabilities) Murphree, Susan (Advocacy Incorporated) Peacock, Lana (East Texas Crisis Center) Redmond, Lee (Coalition of Texans with Disabilities) Schwartz, Jonas (United Cerebral Palsy of Texas) Seigel, Cynthia (Self) Speights, Sara (Texas Association for Home Care) Thomas, Stephanie (ADAPT of Texas) Trevey, John (Self) Wigmore, Bill (Austin Recovery Center) Wisdom, Marie (The Texas Senior Advocacy Coalition) On: Bleier, Terry (Texas Commission on Alcohol and Drug Abuse) Bost, Eric (Texas Department of Human Services) Friedman, Jerry (Texas Department of Human Services) Halfmann, Bobby (Texas Department of Health and Human Services) Oberwetter, James (Texas Commission on Alcohol and Drug Abuse) Smock, Mark (Texas Commission on Alcohol and Drug Abuse)


Creates task dataframe from csv file
read_task(task_file = "task.csv", date_format = "%d/%m/%y", delimiter = ";")
| task_file |
|
|---|---|
| date_format |
|
| delimiter |
|
data.frame
with same columns as in csv file with value column added. Value column gives
unique value to each task.
CSV file requires column described below. The order rows are given in the file, will be also present in data.frame.
start
date when task starts
end
date when task ends
task
name of a task
type
user specified type of task e.x. 'critical', 'regular'
stage
tasks can be divided by stages for example: 'Planing', 'Development', 'Tests'
control
each task can be assigned with control value, tasks with same control value
dependent on each other.


Data saved under pages marked "Testing Only" is for TESTING PURPOSES ONLY and may not be compatible with future versions of Strabo Spot.


Datwendo
Home
Call Connector Data Storage
Call Connector Blob Storage
Client Cloud Connector call using Javascript
Datwendo Service Url
Connector Id
Secret Key
Key Delay
Publisher
New Secret
Result
Error Code
Start
Next
Read
Stop
Number Loops
Result Loop
Delay
Error Code
Start Next Loops
Start Read Loops


curs_refresh 3x
curs_refresh(3x) curs_refresh(3x)
NAME
doupdate, redrawwin, refresh, wnoutrefresh, wredrawln,
wrefresh - refresh curses windows and lines
SYNOPSIS
#include <curses.h>
int refresh(void);
int wrefresh(WINDOW *win);
int wnoutrefresh(WINDOW *win);
int doupdate(void);
int redrawwin(WINDOW *win);
int wredrawln(WINDOW *win, int beg_line, int num_lines);
DESCRIPTION
The refresh and wrefresh routines (or wnoutrefresh and
doupdate) must be called to get actual output to the ter-
minal, as other routines merely manipulate data struc-
tures. The routine wrefresh copies the named window to
the physical terminal screen, taking into account what is
already there to do optimizations. The refresh routine is
the same, using stdscr as the default window. Unless
leaveok has been enabled, the physical cursor of the ter-
minal is left at the location of the cursor for that win-
dow.
The wnoutrefresh and doupdate routines allow multiple
updates with more efficiency than wrefresh alone. In
addition to all the window structures, curses keeps two
data structures representing the terminal screen: a physi-
cal screen, describing what is actually on the screen, and
a virtual screen, describing what the programmer wants to
have on the screen.
The routine wrefresh works by first calling wnoutrefresh,
which copies the named window to the virtual screen, and
then calling doupdate, which compares the virtual screen
to the physical screen and does the actual update. If the
programmer wishes to output several windows at once, a
series of calls to wrefresh results in alternating calls
to wnoutrefresh and doupdate, causing several bursts of
output to the screen. By first calling wnoutrefresh for
each window, it is then possible to call doupdate once,
resulting in only one burst of output, with fewer total
characters transmitted and less CPU time used. If the win
argument to wrefresh is the global variable curscr, the
screen is immediately cleared and repainted from scratch.
The phrase "copies the named window to the virtual screen"
above is ambiguous. What actually happens is that all
touched (changed) lines in the window are copied to the
virtual screen. This affects programs that use overlap-
ping windows; it means that if two windows overlap, you
can refresh them in either order and the overlap region
will be modified only when it is explicitly changed. (But
see the section on PORTABILITY below for a warning about
exploiting this behavior.)
The wredrawln routine indicates to curses that some screen
lines are corrupted and should be thrown away before any-
thing is written over them. It touches the indicated
lines (marking them changed). The routine redrawwin()
touches the entire window.
RETURN VALUE
Routines that return an integer return ERR upon failure,
and OK (SVr4 only specifies "an integer value other than
ERR") upon successful completion.
NOTES
Note that refresh and redrawwin may be macros.
PORTABILITY
The XSI Curses standard, Issue 4 describes these func-
tions.
Whether wnoutrefresh() copies to the virtual screen the
entire contents of a window or just its changed portions
has never been well-documented in historic curses versions
(including SVr4). It might be unwise to rely on either
behavior in programs that might have to be linked with
other curses implementations. Instead, you can do an
explicit touchwin() before the wnoutrefresh() call to
guarantee an entire-contents copy anywhere.
SEE ALSO
curses(3x), curs_outopts(3x)
curs_refresh(3x)
Man(1) output converted with
man2html


Education Experience
-
Jilin University - Electronic information science and technology (Bachelor)2008.9 - 2012.7
Work Experience
-
SAP Labs China (Shanghai)
DevOps Engineer 2019.9 - To present
1. Build SaaS platform in self-built clouds and public clouds.
2. Use dockerfile, helm charts to deploy applications to contianers and k8s.
3. Setup jenkins in k8s environment and write jenkins jobs.
4. Migrate production systems to k8s environment.
-
Blackboard China (Shanghai)
DevOps Engineer 2018.6 - 2019.8
1. Support application on AWS Cloud SaaS platform.
2. Use cloudformation, terraform to code AWS cloud resources.
3. Use chef as system management tool to control thousands of instances.
4. Use jenkins as pipeline tool and write jenkins jobs.
5. Write python, bash, ruby scripts to build toolings to make jobs stable and automatic.
6. Take advantage of AWS services like VPC, ASG, Cloudwatch, Lambda and so on to build application infra environment.
-
Beijing, tianjin and hebei cooperative bill exchange center (Beijing)
DevOps Engineer 2016.11 - 2018.5
1. Designed the company's operation and maintenance system, and deployed servers and projects on cloud platform like Aliyun, VMware ESXi and so on.
2. Developed operation and maintenance tools using Python, PHP, Shell, Bootstrap, etc.
3. Used VMware ESXi, Hadoop, Hyperledger fabric, etc. to build, operate and maintain the company's local virtualization environment, big data, block chain and other test environments;
4. Set up the company's LAN network architecture and maintained the network configuration;
5. Managed, maintained and updated the application system on the company's Aliyun cloud;
6. Compile and update technical documents related to operation and maintenance;
-
Credit information center of the people's bank of China (Shanghai)
Operation and maintenance engineer 2014.2 - 2016.10
1. Used Apache, PHP, MySQL, MongoDB, Shell, HTML and Javascript to write automatic operation and maintenance system and monitoring software, and maintained the normal operation of website and business monitoring system.
2. Cooperate with website update and system change of business system, maintain the system configuration, and timely back out in case of problems.
3. Maintain the basic environment of the computer room and the safely and normally operation of all equipment (including network equipment such as router, switch, F5, security equipment such as firewall, IDS, IPS, audit equipment, server and storage).
4. Monitor and maintain the normal operation of applications (such as Apache, Weblogic, Tomcat, Mysql, etc.) and business, and ensure the normally running of external service.
5. Patrol and monitor the basic environment of the machine room and the running state of all equipment, record and generate reports, and coordinate to deal with sudden failures and emergencies in the network and system.
-
Foxconn (Tianjin)
System Integration And Test Engineer 2012.3 - 2014.2
Participated in the testing work of HP ML350e and SL2500 server successively, and completed successfully. Set up DHCP, PXE, FTP and other Web services with various functions in the laboratory, and maintained their normal work. Independently design and write a number of test tools to facilitate testing work. Cooperated with HP engineers to develop ILO Automation Test Tools(mainly using PHP, JavaScript, Ajax and Linux Shell), and proposed and developed Visual Lab function for it, which increased its practicability.
Project Experience
-
Jenkin Migration (Blackboard China)2018.10 - 2019.6
Description:
Migrating the Jenkins server running in the local machine room of the company to the K8S cluster in AWS cloud. Meanwhile, all jobs running on the Jenkins server need to be migrated, and all jobs of FreeStyle type need to be changed to Multibranch Pipeline type using Jenkins File.
Responsibilities:
1. Technical verification and testing of Jenkins server two-factor authentication method, and writing related documents;
2. Writing the Multibranch Pipeline type Job on the new Jenkins server;
3. Migrating jobs from the original Jenkins server to the new Jenkins server;
4. Reconfiguring and docking the Job on the new Jenkins server with the company's business management platform;
Achievement:
The Jenkins server and all Jenkins jobs running in the local computer room were successfully migrated to the K8S cluster in the AWS cloud, which made management easier and reduced operation and maintenance costs. Moreover, all Jenkins jobs were code-reconstructed, and all Jenkins jobs could be managed uniformly through code.
-
Internet business monitoring system (Credit information center of the people's bank of China) 2014.11 - 2015.5
Description:
Used Apache, PHP and MySQL databases to develop a business monitoring system, which is to monitor the website health status of all Internet businesses of the people's bank of China in the credit investigation. In case of business interruption, alarms and email reminders are issued, so that the staff on duty can make timely response and processing.
Responsibilities:
Responsible for the planning and scheduling of the whole project, designing the database architecture, writing most of the procedures, and training and guiding other development and operation personnel.
Achievement:
All expected functions are realized, and the interface is beautiful, easy to use, rich log, simple debugging; There are no obvious problems in use. Also I won the "excellent employee of 2015" because of it.
-
iLO Automation Test Tool （Foxconn） 2012.9 - 2013.1
Description:
Develop software to discover and control all HP servers through iLO server management chips connected to HP servers in the lab. Users can remotely log on to the server to control multiple HP servers simultaneously, check their status, install an operating system, or perform multiple tests.
Responsibilities:
Participated in the whole software programming work, and proposed and implemented a number of improvement measures.
Achievement:
Cooperated with HP engineers to develop ILO Automation Test Tools(mainly using PHP, JavaScript, Ajax and Linux Shell), and proposed and developed Visual Lab function for it, which increased its practicability.
-
Human electronic positioning tracking call unit in the IOT environment (Jilin University) 2010.4 - 2011.10
Description:
Develop a device that using GPS and heart rate sensor to locate and track the status of the elderly or children. If the device monitors the abnormal status of the person, the GPS location will be sent to the service end in time to facilitate others to provide timely assistance to the abnormal person.
Responsibilities:
System architecture design, software programming, team work assignment
Achievement:
Won the "college students' innovative experimental plan" university-level project of jilin university
Awards
-
Second prize of electronic design competition of jilin university in 2009
-
The third prize of jilin university student electronic design competition in 2010
-
The first prize in the electronic design competition of jilin university in 2010
-
Raisa super MCU model car qualifying excellence award in 2010
-
"College students' innovative experimental plan" project of jilin university in 2011
-
Published the paper "real-time dynamic monitoring and control system of modern agriculture" in the journal of science and education, 2011
-
Excellent employee of credit information center of people's bank of China in 2015


On this page you can configure which type of RGB Pixels you have, the number of nodes, & the DMX universe.


public interface RandomEngine
| Modifier and Type | Method and Description |
|---|---|
boolean |
decideBinaryDecision()
Decides a binary decision where both possibilities have the same
probability (This is equal to toss a fair coin).
|
boolean |
decideBinaryDecision(double probabilityYes)
Decides a binary decision with respect to the given probability of
deciding for yes.
|
boolean |
decideTakeFunction()
Decides if a function (true) or a terminal (false) should be taken if
both decisions are possible.
|
double |
getDouble()
Returns a double between 0.0 and 1.0.
|
int |
getInt(int from,
int to)
Returns a integer between from (inclusive) and to (exclusive)
|
<T extends GeneElement<?>> |
pickElement(java.util.ArrayList<T> elements)
Picks a element from the given set of elements.
|
boolean decideTakeFunction()
<T extends GeneElement<?>> T pickElement(java.util.ArrayList<T> elements)
elements
- The elements from which an element should be chosen.boolean decideBinaryDecision(double probabilityYes)
probabilityYes
- The probability to say yesboolean decideBinaryDecision()
double getDouble()
int getInt(int from, int to)
from
- The smallest possible returned intto
- The upper bound (exclusive)


First two options (‘U’ and ‘M’) control fonts. Other options represent mathematical elements and hand-drawing tools.
Sub-toolboxes
You can open a sub-toolbox by hovering the mouse pointer above any toolbox item.
Right-click at any toolbox or sub-toolbox item to open the accelerator table. From the table you can choose any CTRL+ or double-stroke accelerator. In addition, you can also define an Easycast string sequence accelerator.
Adding new items into the toolbox


Welcome
About
Welcome
About
STILL UNDER CONSTRUCTION... obvioulsy
Languages I Know
Always something new to learn!
Comfortable developing on
Have recently discovered not all bad ==>


External Node Classifiers
An external node classifier is an arbitrary script or application which can tell Puppet which classes a node should have. It can replace or work in concert with the node
definitions in the main site manifest (site.pp
).
Depending on the external data sources you use in your infrastructure, building an external node classifier can be a valuable way to extend Puppet.
What Is an ENC?
An external node classifier is an executable that can be called by puppet master; it doesn’t have to be written in Ruby. Its only argument is the name of the node to be classified, and it returns a YAML document describing the node.
Inside the ENC, you can reference any data source you want, including some of Puppet’s own data sources, but from Puppet’s perspective, it just puts in a node name and gets back a hash of information.
ENCs can co-exist with standard node definitions in site.pp
, and the classes declared in each source are effectively merged.
How Merging Works
Every node always gets a node object (which may be empty or may contain classes, parameters, and an environment) from the configured
node_terminus
. (This setting takes effect where the catalog is compiled; on the puppet master server when using an agent/master arrangement, and on the node itself when using puppet apply. The default node terminus isplain
, which returns an empty node object; theexec
terminus calls an ENC script to determine what should go in the node object.) Every node may also get a node definition from the site manifest (usually called site.pp).When compiling a node’s catalog, Puppet will include all of the following:
- Any classes specified in the node object it received from the node terminus
- Any classes or resources which are in the site manifest but outside any node definitions
- Any classes or resources in the most specific node definition in site.pp that matches the current node (if site.pp contains any node definitions)
- Note 1: If site.pp contains at least one node definition, it must have a node definition that matches the current node; compilation will fail if a match can’t be found.
- Note 2: If the node name resembles a dot-separated fully qualified domain name, Puppet will make multiple attempts to match a node definition, removing the right-most part of the name each time. Thus, Puppet would first try
agent1.example.com
, thenagent1.example
, thenagent1
. This behavior isn’t mimicked when calling an ENC, which is invoked only once with the agent’s full node name.- Note 3: If no matching node definition can be found with the node’s name, Puppet will try one last time with a node name of
default
; most users include anode default {}
statement in their site.pp file. This behavior isn’t mimicked when calling an ENC.
Considerations and Differences from Node Definitions
- The YAML returned by an ENC isn’t an exact equivalent of a node definition in
site.pp
— it can’t declare individual resources, declare relationships, or do conditional logic. The only things an ENC can do are declare classes, assign top-scope variables, and set an environment. This means an ENC is most effective if you’ve done a good job of separating your configurations out into classes and modules. - In Puppet 3 and later, ENCs can set an environment for a node, overriding whatever environment the node requested. However, previous versions of Puppet use ENC-set and node-set environments inconsistently, with the ENC’s used during catalog compilation and the node’s used when downloading files. The workaround for Puppet 2.7 and earlier is to use Puppet to manage
puppet.conf
on the agent and set the environment for the next run based on what the ENC thinks it should be. - Even if you aren’t using node definitions, you can still use site.pp to do things like set global resource defaults.
- Unlike regular node definitions, where a node may match a less specific definition if an exactly matching one isn’t found (depending on the puppet master’s
strict_hostname_checking
setting), an ENC is called only once, with the node’s full name.
Connecting an ENC
To tell puppet master to use an ENC, you need to set two configuration options: node_terminus
has to be set to “exec”, and external_nodes
should have the path to the executable.
[master]
node_terminus = exec
external_nodes = /usr/local/bin/puppet_node_classifier
ENC Output Format
There have been three versions of the ENC output format.
Puppet 2.6.5 and Higher
ENCs must return either a YAML hash or nothing. This hash may contain classes
, parameters
, and environment
keys, and must contain at least either classes
or parameters
. ENCs should exit with an exit code of 0 when functioning normally, and may exit with a non-zero exit code if you wish puppet master to behave as though the requested node was not found.
If an ENC returns nothing or exits with a non-zero exit code, the catalog compilation will fail with a “could not find node” error, and the node will be unable to retrieve configurations.
Classes
If present, the value of classes
must be either an array of class names or a hash whose keys are class names. That is, the following are equivalent:
classes:
- common
- puppet
- dns
- ntp
classes:
common:
puppet:
dns:
ntp:
Parameterized classes cannot be used with the array syntax. When using the hash key syntax, the value for a parameterized class should be a hash of the class’s attributes and values. Each value may be a string, number, array, or hash. String values should be quoted, as unquoted strings like “on” may be interpreted as booleans. Non-parameterized classes may have empty values.
classes:
common:
puppet:
ntp:
ntpserver: 0.pool.ntp.org
aptsetup:
additional_apt_repos:
- deb localrepo.example.com/ubuntu lucid production
- deb localrepo.example.com/ubuntu lucid vendor
Parameters
If present, the value of the parameters
key must be a hash of valid variable names and associated values; these will be exposed to the compiler as top scope variables. Each value may be a string, number, array, or hash.
parameters:
ntp_servers:
- 0.pool.ntp.org
- ntp.example.com
mail_server: mail.example.com
iburst: true
Environment
If present, the value of environment
must be a string representing the desired environment for this node. In Puppet 3 and later, this will become the only environment used by the node in its requests for catalogs and files. In Puppet 2.7 and earlier, ENC-set environments are not reliable, as noted above.
environment: production
Complete Example
---
classes:
common:
puppet:
ntp:
ntpserver: 0.pool.ntp.org
aptsetup:
additional_apt_repos:
- deb localrepo.example.com/ubuntu lucid production
- deb localrepo.example.com/ubuntu lucid vendor
parameters:
ntp_servers:
- 0.pool.ntp.org
- ntp.example.com
mail_server: mail.example.com
iburst: true
environment: production
Puppet 0.23.0 through 2.6.4
As above, with the following exception:
Classes
If present, the value of classes
must be an array of class names. Parameterized classes cannot be used with an ENC.
Puppet 0.22.4 and Lower
ENCs must return two lines of text, separated by a newline (LF). The first line must be the name of a parent node defined in the main site manifest. The second line must be a space-separated list of classes. ENCs must exit with exit code 0; Puppet’s behavior when faced with a non-zero ENC exit code is undefined.
Complete example
basenode
common puppet dns ntp
Tricks, Notes, and Further Reading
- Although only the node name is directly passed to an ENC, it can make decisions based on other facts about the node by querying the inventory service HTTP API or using the puppet facts subcommand shipped with Puppet 2.7.
- Puppet’s “exec”
node_terminus
is just one way for Puppet to build node objects, and it’s optimized for flexibility and for the simplicity of its API. There are situations where it can make more sense to design a native node terminus instead of an ENC, one example being the “ldap” node terminus that ships with Puppet. See the LDAP nodes documentation on the wiki for more info.


Models and Common API
Introduction
FINT Information models are models used in the Common API. The models contains information resoures the county council use in their day to day tasks. FINT aims to develop this model to contain vital information in all the areas the county council operates in. This means that every new version will contain more information and an new areas.
Versioning
FINT is using semantic versioning for its models:
MAJOR
version have backwards incompatible changesMINOR
(feature release) versions add functionality in a backwards-compatible manner, andPATCH
(bug fixes) versions add backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH
format.
MINOR
versions are generally even numbers: 0, 2, 4, …PATCH
numbers are released in increments of 10: 0, 10, 20, …
The version relation between the FINT Information model and the technical implementations is that they start with the same
MAJOR.MINOR.PATCH
versions. Additional releases of technical implementations based on the same FINT Information model will increment thePATCH
number by1
.


Memory Match: When Preston North End were reunited with Billy Davies at Derby County in 2006
by Dave SeddonPreston North End’s visit to Pride Park to take on Derby County in September 2006 certainly had an edge to it.
The clash reunited the Lilywhites with Billy Davies, the manager who had departed Deepdale three months earlier to take the Derby job.
Davies had been followed to the Rams by six members of his backroom staff, it being the nature of their exit which had left a bad taste.
PNE chairman of the time Derek Shaw refused to sit with the Derby directors, choosing instead to watch the 1-1 draw from the press box.
Down on the touchline, Davies took plenty of stick from many of the 1,600 North End fans in the away end.
Briefly, the Scotsman’s new charges were ahead in the Championship contest through Steven Howard’s 44th minute goal.
But by half-time Danny Pugh had pulled Preston level and that proved sufficient for them to take a point back to Lancashire.
Paul Simpson had been the man brought in to replace Davies, recruited from Carlisle.
Their pair stood a few yards away from one another on the touchline and it was Simpson who left the ground the happier of the pair.
Preston’s matchday squad contained 10 players signed by Davies, with him shaking all of them by the hand in the pre-match warm-up.
This wasn’t the best game of football in the world, the focus more on Davies than what happened on the pitch.
North End had headed there following back-to-back home wins over Cardiff and West Bromwich Albion.
David Nugent, back in the squad after suspension, had to make do with a place on the bench.
Patrick Agyemang and Danny Dichio were preferred up front, the former after scoring a superb overhead kick against Albion.
Nugent was to get off the bench before half-time though, when Dichio suffered a deadleg.
The best of the action was squeezed into a short spell in the run-up to half-time.
Derby nosed in front when Arsenal loanee Arturo Lupoli was brought down in the box by Sean St Ledger, referee Graham Laws pointing to the penalty spot.
Howard stepped up to send Preston keeper Carlo Nash the wrong way with the penalty.
Davies punched the air with delight on the touchline but his joy was relatively shortlived.
North End equalised in first-half stoppage time. Chris Sedgwick sent a cross into the box which was cleared by the Derby defence.
The ball fell to Pugh two yards outside the box who made himself a bit of room before curling a right-foot finish past Rams goalkeeper Stephen Bywater into the far corner of the net.
North End had plenty of defending to do in the second half but held out.
There were a couple of scares along the way, Nash saving well with his legs from Lupoli in the 50th minute.
Six minutes from time, a header from Howard came back off the bar and bounced down in the PNE goalmouth before being hoofed clear.
At the final whistle, Davies and Simpson shook hands, with Preston boss Simpson saying he had no axe to grind with his predecessor.
His beef was more with the backroom staff who had chosen to follow Davies a few weeks later.
Said Simpson: “I haven’t got a problem with Billy Davies – it wasn’t him who walked out after two days of pre-season training.”


Inum
Display Name
Client Secret
Application Type
Algorithm
Pre-Authorization
Authentication method
Redirect Login URIs
Redirect Logout URIs
Scopes
Response Type
Authorized Groups


| summary,Diff-method {diffobj} | R Documentation |
Provides high level count of insertions, deletions, and matches, as well as a “map” of where the differences are.
## S4 method for signature 'Diff' summary( object, scale.threshold = 0.1, max.lines = 50L, width = getOption("width"), ... )
object |
at |
scale.threshold |
numeric(1L) between 0 and 1, how much distortion to
allow when creating the summary map, where 0 is none and 1 is as much as
needed to fit under |
max.lines |
integer(1L) how many lines to allow for the summary map, defaults to 50 |
width |
integer(1L) how many columns wide the output should be, defaults
to |
... |
unused, for compatibility with generic |
Sequences of single operations (e.g. "DDDDD") are compressed provided that
compressing them does not distort the relative size of the sequence relative
to the longest such sequence in the map by more than scale.threshold
.
Since length 1 sequences cannot be further compressed scale.threshold
does not apply to them.
a DiffSummary
object
## 'pager="off"' for CRAN compliance; you may omit in normal use
summary(diffChr(letters, letters[-c(5, 15)], format="raw", pager="off"))


micro-focus
Businessmodel of Micro Focus
Customer Segments
Micro Focus has a mass market business model, with no significant differentiation between customer groups. The company targets its offerings at firms of all industries and sizes.
Value Proposition
Micro Focus offers two primary value propositions: accessibility and brand/status.
The company creates accessibility by providing a wide variety of options. It has acquired several firms since its founding, including software firms NetManage, Serena Software, and the Attachmate Group, Borland (a provider of application lifecycle management tools), Quality Solutions (a provider of automation toos), Authasas (a provider of authentication middleware), and the Orbix, Artix, and Orbacus software product lines of Progress Software. This strategy has enabled it to significantly expand its capabilities and diversify its portfolio.
The company has established a strong brand due to its success. It has over 20,000 clients, including 91 members of the *Fortune *Global 100. It has over 4,500 employees in more than 80 locations worldwide and generated annual revenues of $1.4 billion in 2016. Lastly, it has won a number of honors, including the 2016 Webaward for Outstanding Achievement in Web Development.
Channels
Micro Focus’s main channels are its sales and business development teams. The company promotes its offerings through its website, social media pages, and participation in webinars, summits, exhibitions, road shows, and conferences.
Customer Relationships
Micro Focus’s customer relationship is primarily of a personal assistance nature. The company assists customers in the following ways:
Support Services - Micro Focus offers the following premium support options:
- Premium Support Engineer – A highly experienced expert who helps clients maintain their business systems.
- Service Account Manager – A person who gains an in-depth knowledge of clients’ technical support needs and coordinates the efforts of support personnel. Service Account Managers also host regular meetings and conference calls to review customers’ support history.
- Advantage Incident Packs – An option that enables clients with serious or complicated issues to obtain access to a senior support engineer who can provide a higher level of service. These staff members respond to client’s inquiries within the space of an hour. Training Services - Micro Focus offers on-demand and instructor-led (online or at client’s site) training options for clients. They can also receive certifications in specified subject matter.
Consulting Services – Micro Focus provides a team of experts that help clients design, plan, and implement business solutions in order to meet their business goals.
Key Activities
Micro Focus’s business model entails designing and developing products and delivering related services to customers.
Key Partners
Micro Focus has over 5,000 partners in over 30 countries; they fall into the following categories:
- Independent Software Vendors – Firms that sell the company’s software to extend its reach.
- Application Rehosting Solution Providers – Firms that help the company’s customers optimize the value of their Mainframe COBOL and PL/I systems, through rehosting and modernization services. Specific partners include Alebra, Canam Software, Datatek, GSF Software, and Metaware.
- System Integrators – Firms that use Micro Focus’s offerings to deliver various solutions, including application consulting services, application management services, and integration services. Specific partners include Accenture, Capgemini, Cognizant, Fujitsu, Infosys, Microsoft, Tata, and Wipro. Partner benefits include around the clock support services and volume and maintenance discounts. They also receive access to the Micro Focus Partner Portal, which offers product and technical information as well as sales and training resources.
Beyond business partners, Micro Focus maintains an “Academic Program” through which it works with universities and teaching institutions to promote education on the COBOL language. It also operates the Technical Transfer Partners (TTP), whose members advise customers and others on the usage of Micro Focus’s solutions in academic environments.
Key Resources
Micro Focus’s main resources are its human resources, who include the engineers that design and develop its software, the sales employees that promote it, the training employees that provide instruction, the consulting employees that offer advisory services, and the customer service personnel that provide support.
Cost Structure
Micro Focus has a value-driven structure, aiming to provide a premium proposition through significant personal service and frequent service enhancements. Its biggest cost driver is sales/marketing, a fixed cost. Other major drivers are research/development, a fixed cost, and cost of goods sold, a variable expense.
Revenue Streams
Micro Focus has four revenue streams: License, Maintenance, Subscription, and Consultancy revenues.


Next: Parsing Namestrings Into Pathnames, Previous: Namestrings as Filenames, Up: Overview of Filenames
Pathnames are structured objects that can represent, in an implementation-independent way, the filenames that are used natively by an underlying file system.
In addition, pathnames can also represent certain partially composed filenames for which an underlying file system might not have a specific namestring representation.
A pathname need not correspond to any file that actually exists, and more than one pathname can refer to the same file. For example, the pathname with a version of :newest might refer to the same file as a pathname with the same components except a certain number as the version. Indeed, a pathname with version :newest might refer to different files as time passes, because the meaning of such a pathname depends on the state of the file system.
Some file systems naturally use a structural model for their filenames, while others do not. Within the Common Lisp pathname model, all filenames are seen as having a particular structure, even if that structure is not reflected in the underlying file system. The nature of the mapping between structure imposed by pathnames and the structure, if any, that is used by the underlying file system is implementation-defined.
Every pathname has six components: a host, a device, a directory, a name, a type, and a version. By naming files with pathnames, Common Lisp programs can work in essentially the same way even in file systems that seem superficially quite different. For a detailed description of these components, see Pathname Components.
The mapping of the pathname components into the concepts peculiar to each file system is implementation-defined. There exist conceivable pathnames for which there is no mapping to a syntactically valid filename in a particular implementation. An implementation may use various strategies in an attempt to find a mapping; for example, an implementation may quietly truncate filenames that exceed length limitations imposed by the underlying file system, or ignore certain pathname components for which the file system provides no support. If such a mapping cannot be found, an error of type file-error is signaled.
The time at which this mapping and associated error signaling occurs is implementation-dependent. Specifically, it may occur at the time the pathname is constructed, when coercing a pathname to a namestring, or when an attempt is made to open or otherwise access the file designated by the pathname.
Figure 19–1 lists some defined names that are applicable to pathnames.
| *default-pathname-defaults* | namestring | pathname-name |
| directory-namestring | open | pathname-type |
| enough-namestring | parse-namestring | pathname-version |
| file-namestring | pathname | pathnamep |
| file-string-length | pathname-device | translate-pathname |
| host-namestring | pathname-directory | truename |
| make-pathname | pathname-host | user-homedir-pathname |
| merge-pathnames | pathname-match-p | wild-pathname-p |
Figure 19–1: Pathname Operations
Next: Parsing Namestrings Into Pathnames, Previous: Namestrings as Filenames, Up: Overview of Filenames


LA PROMESSE A film review by Jun Yan Copyright 1997 Jun Yan
In some way this very little publicized (at least here in the States) Belgian film reminded me of an American film a couple of years ago named "Fresh." They both follow a boy's journey through a world that's falling apart and in which they grow up too fast.
As the film opens, it makes no secret that our central character Igor, about 14 years old, is a ruthless little thief. It also explains to us why -- he lives with his father Roger, a scumbag in the business of smuggling illegal immigrants into Europe. In Igor's world, all the adults are thugs, low-lives who lie, steal, rob, cheat, betray and bribe whenever necessary. Morality is merely inexistent. One cannot help blending in with his world.
Assita and her baby are newly arrival from Bugina Faso, Africa to unite with her husband, who work illegally in Belgium for minimal income, live in the dumpester apartment provided by the blood-sucking Roger. Soon there is a hardly detectable affection developing between Igor and Assita. One day in a frentic rush to escape the inspection from the Labor Department, Assita's husband fell from the building while working for Roger and bled to death because Roger refuses to take him to a hospital. Before he dies, Assita's husband asks Igor to take care of his wife and baby. Igor makes the promise, thus the title.
The promise, it turns out, is not so easy to carry out. Assita grows more suspicious everyday about disappeared husband. Roger tries every way possible to cover up his track and forbid Igor's attempt to help her. As conscience begins to awaken within Igor, conflicts with his father becomes inevitable. The film makes it clear that it's hard to do the right thing and it doesn't get any easier as you try to carry it on.
When Roger finally decides to get rid of Assita by selling her into prostitution, Igor faces the ultimate choice: to do the right thing and split with his only family in the world, or to stand aside and salvage his relationship with his father. Keep in mind that he is still merely a child with a heavy moral burden on his heart. Meanwhile, the deceived Assita is still pressing the burning question "Where is my husband?"
The film is about how morality and conscience emerges in a young mind that has never been exposed to such concept. The uncompromising script makes the situation every bit difficult as it could be for our young man Igor.  From the obvious affection, sometimes shown in his own way, we suspect Roger needs Igor even more badly than his son's need for him, for Igor is the only human connection he has and the only one he does not have to use and deceive. The relationship between this pair of father and son is peculiar as well as familiar to us, which makes Igor's dilemma feel closer to the audience.
Luc and Jean-Pierre Dardenne brought their years of experience in documentary filmmaking into this dramatic story. The dialogues are cut to a minimum as well as the display of emotions. Every actor except Jeremie Renier was given very little close shots to their faces. Even the extremely intense final confrontation is handled in a flat, almost monotonous manner. Soon I felt I was putting myself in the characters' positions and empathize with them. The motivations, conflicts, choices and feelings are so real, almost as real as the dirty slum and the illegal immigrants living in it.
Renier is required to carry this film on his slim shoulders. With the camera constantly staring at his face, he has to walk the fine line between over-acting and being obscurity. There is nothing in his performance that struck me as unnatural; and we feel the pain with him as he torn between his conscience and father, the dark secret he cannot tell and Assita's trusting face. As usual, it is harder to hold back than to be over-the-top. Oliver Gourmet is absolutely the most realistic rogue who is uncompromisingly repulsive from his appearance to his actions, yet never a simplistic villain. A good villain makes the audience feel threatened and intimidated, because he is real (I said "he" because a realistic female villain has yet to come to my mind) and reminds us of the ones we meet and know in real life. Without the verbal showdown, Roger in some way resembles Dwight Yokam's Doyle in "Sling Blade" because they feel "real." Even though his muttering and frozen expression are the other end of the spectrum, I feel the same chill as I had watching Doyle. Assita Ouedrago, who already made 3 films in her country Bugina Faso, was not given enough close attention from the directors to dig her role, but I just love the conviction she displays when she slaughters a chicken and reads her husband's whereabout from the chicken's gut. Everyone else looks like they are dragged right from the streets.
As Assita, holding her baby, and Igor wandering through the cold, dark streets, it feels like a world sinking and falling. In a time more sociatal decay is blamed on juvenile delinquents and harsher punishments are demanded on younger criminals, the film questions how children can develop sense of morality, conscience, and value in a corrupt world like this. It's also one person's inner journey of struggling to do the right thing, however hard it is. It is nail-biting drama as well as a slice of true life. I give it a B+. Well done.
jun
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Kyle is a senior at the University of Nebraska at Omaha. He is currently pursuing a Bachelor's Degree in Management Information Systems and hopes to graduate in December of 2019.
Kyle enjoys spending his free time reading fantasy and science fiction novels as well as spending his time at the gym. He hopes to hold a career in the IS field yet is still undecided as to exactly the specialization that he would like to focus on.


Book-A-Meal
Your online restaurant to find the finest cuisines
BAM is an application where customers can make food orders and caterers can know what a
customer whats to eat
We create a platform for customers to enjoy classy and tasty meals while leveraging the finesse of our
world class caterers who are masters of their craft
Click here to join and become our customer or caterer
You can sign in here if you are already one
of us


This lowest-ever price on Sennheiser Momentum wireless earphones makes them a perfect Christmas gift
by Henry St LegerThis lowest-ever price on Sennheiser Momentum wireless earphones makes them a perfect Christmas gift
In-ear excellence
(Image credit: TechRadar)
If you didn't manage to pin down that perfect headphones deal over Black Friday, you haven't missed your chance – as these Sennheiser Momentum Free Special Edition in-ear headphones are back at their lowest price ever.
At just £69.99, down from an original £179.99 RRP, you're saving over a hundred pounds for high-quality audio in a stylish Sennheiser package – all the better for being the black-and-red Special Edition exclusive to Amazon.
This deal is now live at Amazon until midnight on December 22, 2019 – or until stock on this offer runs out.
Wireless or true wireless?
Sure, true wireless earbuds are all the rage these days, and you may find yourself drifting towards the Sennheiser Momentum True Wireless instead, which currently sit at around £199.
But if you aren't fussed about completely untethered audio, the Momentum Free earphones will still offer top-notch audio, just with a connected cable and in-line remote (which is somewhat more practical than the True Wireless model's touch controls, anyhow).
This model has been on the market for almost two years now, though, so you will be getting the slightly older Bluetooth 4.2 standard – rather than the latest 5.0 standard, which is more power-efficient and boasts a greater wireless range.
- What are the best true wireless earbuds?
- Or just the best Beats headphones
- These are the cheapest wireless headphones prices you can find today


{% load staticfiles %}
MovieGEEKs
User
{{ title }} (id: {{ content_id }})
Average rating: {{ avg_rating }} / 10 (with {{ number_users }} ratings)
Description
Overview:
Release-date:
Lan:
Genres:
|{% for genre in genres %} {{ genre.name }} | {% endfor %}
Recent Log
{% for row in logs %}
{{ row.user_id }}
| {{ row.event }} | {{ row.created }}
{% endfor %}


controlling drones with google glass and javascript
july 30th 2013
This past weekend (July 27, 2013) was International Nodebots Day and I decided to attend Portland's event.
The event was excellent and I would like to give props to all the organizers, Tracy, Troy, Adron, Carter, Jason, Adam & anyone else I might have forgotten, who were able to bring people of all skill levels and interests together to control hardware with JavaScript.
Some projects I had interest in working on involved using different input devices to control robots with a small JS layer in between.
The hardware I brought to work with was LeapMotion, Google Glass, and Shieldbots. I was also hoping someone would bring a NodeCopter.
The goal was to use the input devices to control the bots, all using JavaScript.
Photo by Alice Goldfuss
Leap + Bots
I got started a day early with Troy and Nick while hacking at the New Relic offices.
The first thing we did was read the input data from LeapMotion's WebSocket connection and use it to drive a ShieldBot around using johnny-five, shieldbot.js, and leapjs.
var five = require('johnny-five');
var Shieldbot = require('shieldbot');
var leap = require('leapjs');
var board = new five.Board();
board.on('ready', function(){
var shieldbot = new Shieldbot();
var prevZ;
leap.loop(function(frame){
if(frame.hands.length){
var z = frame.hands[0].palmPosition[2];
var velZ = frame.hands[0].palmVelocity[2];
if(prevZ == null){
prevZ = z;
}
var direction;
if(z < prevZ && Math.abs(velZ) > 50){
direction = 'forward';
shieldbot.forward(127, 30);
} else if(z > prevZ && Math.abs(velZ) > 50){
direction = 'backward';
shieldbot.reverse(127, 30);
} else {
direction = 'still';
shieldbot.stop();
}
prevZ = z;
} else {
shieldbot.stop();
}
});
});
We used the Leap's z-axis velocity tracking of a user's palm to drive the bot forward and backwards.
During Nodebots Day, I was able to add left & right stearing using palm x-axis rotation.
// outside leap.loop
var prevX;
// inside leap.loop
var velX = frame.hands[0].palmVelocity[0];
var x = frame.hands[0].palmNormal[0];
if(direction === 'still'){
if(x > prevX && Math.abs(velX) > 50){
shieldbot.turnRight(127, 30);
} else if(x < prevX && Math.abs(velX) > 50){
shieldbot.turnLeft(127, 30);
} else {
shieldbot.stop();
}
}
prevX = x;
Other plans included using the finders to stop the bot running into things or off tables, but I was unable to implement these because I quickly moved on to my next input device, Google Glass.
Glass + Bots
For his JSConf talk, Luis created a sideloadable app, Face, for Glass that broadcast the sensor data over WebSockets. With this, I was able to get pitch and roll, which were both easily translated to the logic of the LeapMotion/ShieldBot combo.
var five = require('johnny-five');
var Shieldbot = require('shieldbot');
var io = require('socket.io-client');
var socket = io.connect('http://localhost:11097');
socket.on('connect', function(){
socket.emit('joinChannel', CHAN_ID_FROM_FACE);
});
var board = new five.Board();
board.on('ready', function(){
var shieldbot = new Shieldbot();
var prevZ;
var prevX;
socket.on('broadcast', function(message){
if(message.sensors){
var z = message.sensors.pitch;
var x = message.sensors.roll;
if(prevZ == null){
prevZ = z;
}
var direction;
if(z > prevZ && Math.abs(z - prevZ) > 1){
direction = 'forward';
shieldbot.forward(127, 30);
} else if(z < prevZ && Math.abs(z - prevZ) > 1){
direction = 'backward';
shieldbot.reverse(127, 30);
} else {
direction = 'still';
shieldbot.stop();
}
if(direction === 'still'){
if(x > prevX && Math.abs(x - prevX) > 1){
shieldbot.turnRight(127, 30);
} else if(x < prevX && Math.abs(x - prevX) > 1){
shieldbot.turnLeft(127, 30);
} else {
shieldbot.stop();
}
}
prevZ = z;
prevX = x;
} else {
shieldbot.stop();
}
});
});
After replacing some variables and reworking my velocity check, I was able to drive the bot forward and backward, matching the direction I tilted my head. Rolling my head left and right also turned the bot.
This demo wasn't ideal because I couldn't see where the bot was while controlling it. I needed something that could be about eye height, so I could see its movement while controlling it. Luckily, Carter had brought a NodeCopter!!
Glass + NodeCopter
If it was so easy to switch the LeapMotion logic to use the Glass data, I figured it would be just as easy to swap the ShieldBot logic for the NodeCopter's. After discussing the idea with a few people, it was suggested I use the Voxel Drone to test my logic before applying it to a physical drone. After a very frustrating experience trying to get Voxel Drone, which seems to have been abandoned, to actually work, I was able to wire up my Glass/NodeCopter logic and added code for the drone to take off with the A button and land with the B button displayed in Glass.
var io = require('socket.io-client');
var socket = io.connect('http://localhost:11097');
socket.on('connect', function(){
socket.emit('joinChannel', CHAN_ID_FROM_FACE);
});
var prevZ;
var prevX;
socket.on('broadcast', function(message){
if(message.event){
if(message.event === 'A'){
drone.takeoff();
}
if(message.event === 'B'){
drone.land();
}
return;
}
if(message.sensors){
var z = message.sensors.pitch;
var x = message.sensors.roll;
if(prevZ == null){
prevZ = z;
}
var direction;
if(z > prevZ && Math.abs(z - prevZ) > 1){
direction = 'forward';
drone.front(1);
} else if(z < prevZ && Math.abs(z - prevZ) > 1){
direction = 'backward';
drone.back(1);
} else {
direction = 'still';
drone.stop();
}
if(direction === 'still'){
if(x > prevX && Math.abs(x - prevX) > 1){
drone.right(1);
} else if(x < prevX && Math.abs(x - prevX) > 1){
drone.left(1);
} else {
drone.stop();
}
}
prevZ = z;
prevX = x;
} else {
drone.stop();
}
});
I loaded up Voxel Drone and was able to fly a WebGL drone in my browser.
All I needed to do was swap the voxel-drone specific code for:
var arDrone = require('ar-drone');
var drone = arDrone.createClient({
ip: '<IP_ADDRESS>'
});
Demos
Photo by Chris Hansen
Turns out that I was driving the drone at full speed in each direction I tilted my head. I should have had the speed at about 0.3 instead of 1. Lesson learned. I would have also liked to add the ability to rotate the drone left and right based on the Glass' azimuth value, but I guess that will have to be in the future.
Wrapping Up
With JavaScript, we are able to write a relatively small amount of code that can serve as a basis for swappable hardware components.
I was able to start with a LeapMotion and Shieldbot and end up using Google Glass and a NodeCopter with quite similar code.
After such an amazing Nodebots Day, I have all sorts of ideas swimming around in my head for taking these types of interactions further!
-Blaine


@***************************************************************************** * Page with form to create new Channel * * Copyright (c) 2015 MIT Libraries * *****************************************************************************@ @(subscriber_id: Int, planForm: Form[Plan])(implicit request: play.api.mvc.RequestHeader, messages: Messages) @import helper._ @implicitField = @{ helper.FieldConstructor(bootstrapHorizontal.f) } @layout.main("New Action Plan - TopicHub") {
Each plan consists of a set of rules or instructions for changes in hub content.
@form(routes.Application.createPlan(subscriber_id), 'class -> "form-horizontal") { * Denotes Required Element @select(planForm("channelId"), options(Subscriber.findById(subscriber_id).get.channelMapView), 'class -> "form-control", '_label -> "* Channel", '_help -> "") @inputText(planForm("name"), 'class -> "form-control", '_label -> "* Plan Name", '_help -> "") @inputText(planForm("description"), 'class -> "form-control", '_label -> "* Description", '_help -> "") @select(planForm("icon"), options(Map("thumbs-up" -> "thumbs-up", "inbox" -> "inbox", "envelope" -> "envelope")), 'class -> "form-control", '_label -> "* Icon", '_help -> "The icon shows up throughout the site to help remind how items will be handled.") @select(planForm("fulfill"), options(Map("deliver" -> "deliver", "review" -> "review", "notify" -> "notify")), 'class -> "form-control", '_label -> "* Fullfill", '_help -> """'deliver' means transfer the packaged content using the destination supplied (usually SWORD deposit), 'review' means placing the item on the hold list for your review, and 'notify' would cause an message to be sent.""") @select(planForm("pick"), options(Map("subscribe" -> "subscribe", "review" -> "review", "notify" -> "notify")), 'class -> "form-control", '_label -> "* Pick", '_help -> """'subscribe' means automatically subscribe to matches, 'review' means placing the item on a list for review, and 'notify' would cause an message to be sent.""") @select(planForm("interest"), options(Map("subscribe" -> "subscribe", "review" -> "review", "notify" -> "notify")), 'class -> "form-control", '_label -> "* Interest", '_help -> """'subscribe' means automatically subscribe to matches, 'review' means placing the item on a list for review, and 'notify' would cause an message to be sent.""") @select(planForm("template"), options(Map("subscribe" -> "subscribe", "review" -> "review", "notify" -> "notify")), 'class -> "form-control", '_label -> "* Template", '_help -> """'subscribe' means automatically subscribe to matches, 'review' means placing the item on a list for review, and 'notify' would cause an message to be sent.""")


--- layout: post title: "In the News (On the Airwaves): Teaching in Higher Ed" date: 2022-01-24 15:01:00 +0000 tags: image: https://s3.amazonaws.com/audreywatters/2017-11-03-news.jpg imagecredits: https://www.flickr.com/photos/62693815@N03/6277209256 ---
Bonni Stachowiak had me as a guest on her terrific podcast, Teaching in Higher Ed, where we talked about behaviorism, dog training, and of course, Teaching Machines. Have a listen here.
If we have a better understanding of the history of educational technology, there is hope.


These
s are selectable because of the presence of the selectable
attribute.

These
s are movable because of the presence of the
movable
attribute. The movable attribute and the checkbox
below are bound to the lock
field, so that when
the box is checked, the movable attribute is removed causing the
Movable behavior to be detached and the div
s to no longer
be movable. This demonstrates that behaviors are dynamically attached
and detached to elements as the DOM changes.
Lock:


Most enrolled and highly rated Public Speaking courses
“You can speak well if your tongue can deliverthe message of your heart.” ~John Ford.
© Copyright 2021 myClass


The simplest way to stay protected from common ailments, strengthen the mind and body is practicing yoga daily. In some...
The holy month of Ramadan is here, where Muslims around the globe observe fasts to celebrate the month-long festival. Generally,...
Just like the popular saying goes, “don’t judge a book by its cover,” raisins should not be judged by their...
Yoga is an age-old practice that involves working on the body, mind, breath, and spirit together. Long before any medicines...


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
C
D
E
F
G
I
J
M
N
O
P
Q
R
S
U
_
S
save()
- Method in class models.
AuthToken
Saves a token.
save()
- Method in class models.
Evaluation
save()
- Method in class models.
Patient
save()
- Method in class models.
PinCode
Secure
- Class in
utilities
Handles encryption and authentication tasks.
Secure()
- Constructor for class utilities.
Secure
SecurityController
- Static variable in class controllers.
routes.javascript
SecurityController
- Static variable in class controllers.
routes.ref
SecurityController
- Static variable in class controllers.
routes
SecurityController
- Class in
controllers
Handles authentication operations including issuing tokens and expiring them.
SecurityController()
- Constructor for class controllers.
SecurityController
set_id(ObjectId)
- Method in class models.
Patient
setComplete(boolean)
- Method in class models.
Evaluation
setData(List<SurveyDataDTO>)
- Method in class models.dto.
PatientSurveyHistoryDTO
setData(ObjectNode)
- Method in class models.
Evaluation
setDefinition(Map<String, String>)
- Method in class models.dto.
PatientSurveyHistoryDTO
setEndDate(Date)
- Method in class models.
Evaluation
setFirstName(String)
- Method in class models.
Patient
setLastInteraction(Date)
- Method in class models.
Patient
setLastName(String)
- Method in class models.
Patient
setMedicalId(String)
- Method in class models.
Patient
setPatientId(UUID)
- Method in class models.
Patient
setResponseId(String)
- Method in class models.
Evaluation
start(Integer)
- Static method in class controllers.
PublicController
Returns a Qualtrics url to take a survey
SurveyController
- Static variable in class controllers.
routes.javascript
SurveyController
- Static variable in class controllers.
routes.ref
SurveyController
- Static variable in class controllers.
routes
SurveyController
- Class in
controllers
Handles operations involving survey definitions from Qualtrics.
SurveyController()
- Constructor for class controllers.
SurveyController
SurveyDataDTO
- Class in
models.dto
DTO for one response to a survey
SurveyDataDTO(Date)
- Constructor for class models.dto.
SurveyDataDTO
SurveyDataDTO(Date, HashMap<String, Integer>)
- Constructor for class models.dto.
SurveyDataDTO
SurveyDTO
- Class in
models.dto
SurveyDTO(String, String)
- Constructor for class models.dto.
SurveyDTO
A
C
D
E
F
G
I
J
M
N
O
P
Q
R
S
U
_
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Computer science is often difficult to define. This is probably due to the unfortunate use of the word “computer” in the name. As you are perhaps aware, computer science is not simply the study of computers. Although computers play an important supporting role as a tool in the discipline, they are just that–tools.
Computer science is the study of problems, problem-solving, and the solutions that come out of the problem-solving process. Given a problem, a computer scientist’s goal is to develop an algorithm, a step-by-step list of instructions for solving any instance of the problem that might arise. Algorithms are finite processes that if followed will solve the problem. Algorithms are solutions.
Computer science can be thought of as the study of algorithms. However, we must be careful to include the fact that some problems may not have a solution. Although proving this statement is beyond the scope of this text, the fact that some problems cannot be solved is important for those who study computer science. We can fully define computer science, then, by including both types of problems and stating that computer science is the study of solutions to problems as well as the study of problems with no solutions.
It is also very common to include the word computable when describing problems and solutions. We say that a problem is computable if an algorithm exists for solving it. An alternative definition for computer science, then, is to say that computer science is the study of problems that are and that are not computable, the study of the existence and the nonexistence of algorithms. In any case, you will note that the word “computer” did not come up at all. Solutions are considered independent from the machine.
Computer science, as it pertains to the problem-solving process itself, is also the study of abstraction. Abstraction allows us to view the problem and solution in such a way as to separate the so-called logical and physical perspectives. The basic idea is familiar to us in a common example.
Consider the automobile that you may have driven to school or work today. As a driver, a user of the car, you have certain interactions that take place in order to utilize the car for its intended purpose. You get in, insert the key, start the car, shift, brake, accelerate, and steer in order to drive. From an abstraction point of view, we can say that you are seeing the logical perspective of the automobile. You are using the functions provided by the car designers for the purpose of transporting you from one location to another. These functions are sometimes also referred to as the interface.
On the other hand, the mechanic who must repair your automobile takes a very different point of view. She not only knows how to drive but must know all of the details necessary to carry out all the functions that we take for granted. She needs to understand how the engine works, how the transmission shifts gears, how temperature is controlled, and so on. This is known as the physical perspective, the details that take place “under the hood.”
The same thing happens when we use computers. Most people use computers to write documents, send and receive email, surf the web, play music, store images, and play games without any knowledge of the details that take place to allow those types of applications to work. They view computers from a logical or user perspective. Computer scientists, programmers, technology support staff, and system administrators take a very different view of the computer. They must know the details of how operating systems work, how network protocols are configured, and how to code various scripts that control function. They must be able to control the low-level details that a user simply assumes.
The common point for both of these examples is that the user of the abstraction, sometimes also called the client, does not need to know the details as long as the user is aware of the way the interface works. This interface is the way we as users communicate with the underlying complexities of the implementation. As another example of abstraction, consider the Python math module. Once we import the module, we can perform computations such as
>>> import math
>>> math.sqrt(16)
4.0
>>>
This is an example of procedural abstraction. We do not necessarily know how the square root is being calculated, but we know what the function is called and how to use it. If we perform the import correctly, we can assume that the function will provide us with the correct results. We know that someone implemented a solution to the square root problem but we only need to know how to use it. This is sometimes referred to as a “black box” view of a process. We simply describe the interface: the name of the function, what is needed (the parameters), and what will be returned. The details are hidden inside (see Figure 1).


Home
Kursad
David
Ozen
Mesut
Kaan
Matt
Total Death
(current)
Total Case
Daily Death
Daily Case
P to N Ratio
Hospitalized to Ventilated Ratio
Dashboard
This week
To
This week


breeding arrival arrival‐breeding interval time birds timing egg change data date study Pärt, relative factors spring female laying migratory dates {border-style earlier population changes early px;} variation #ffffff;} climate compared mean Arlt, effect females individual late‐arriving model probability (Figure Thus, local days conditions phenology reproductive year years (i.e., age arrival, effects progression territory (e.g., Low, Sciences, Visser, constrained egg‐laying initiating later migration related season Biological Cox arriving birds, degree length .–. Figure Royal Society seasonal (a) (b) ./j.-...x Ecology, Proceedings area arrival. availability birds. early‐ early‐arriving examine fitness individuals late px; shows trends used {font-family American Arlt Naturalist, arrivers avian bird day declining different font-size food impacts included influence intervals largely likely longer northern period phenological quality regression result versus wheatear within‐year (c) Animal Arrival Climate However, Kristensen Swedish Table adjust arrived associated breeding, constraints date, development double; flexibility given independent influenced interval, interval. limited plasticity resource resources response seasonally species survival <. (Arlt (d) ./rspb.. Arr Biology, Caro, Dawson, Retrieved Williams, adjustments appears arrive border-color border-width breeding. coefficient condition did environmental evidence exponentiated ground hazards however, importance information intercept long‐distance midarriving prelaying proportional range rates relationship solid; temperature temperatures thermal time, trend {font-style {font-weight Öberg, (Appendix (as ./ece. Bêty, CIs Ecology Factors Gienapp, Hence, Here, Jonzén, Lany Møller, Noordwijk, Oenanthe Potti, Pärt Reynolds, Sweden accounted adjustment advances age, appear bold breed breeder cases clear competition conditions. constraint courier; decline demography differ difference em; estimated experienced factor great growth hazard influencing larger linked modeled models need number observed period, potential processes provided pt;} raw reduced second shorter showed start strongly studies suggesting sum temperature, time. traits variance vary vs. wheatears yearly


This website uses Google Calendar. When you press OK, you will be taken there.
Make sure that you are using the right calendar by clicking the little circle on the top right and ensuring that the 1st user shown is Staves Church. If it isn't, click on Staves Church.


Logger class to log the ellapsed time. More...
#include <logger.h>
Public Member Functions | |
| LoggerTime (const bool &, const unsigned int &, const std::string &) | |
Default constructor of class LoggerTime More... | |
| void | logStep (const unsigned int &, const arma::vec &, const arma::vec &, blearner::Baselearner *, const double &, const double &) |
Log current step of compboost iteration for class LoggerTime More... | |
| bool | reachedStopCriteria () const |
Stop criteria is fulfilled if the passed time exceeds max_time More... | |
| arma::vec | getLoggedData () const |
| Return the data stored within the logger. More... | |
| void | clearLoggerData () |
| Clear the logger data. More... | |
| std::string | printLoggerStatus () const |
| Print status of current iteration into the console. More... | |
| Public Member Functions inherited from logger::Logger | |
| bool | getIfLoggerIsStopper () const |
| Just a getter if the logger is also used as stopper. More... | |
| virtual | ~Logger () |
Private Attributes | |
| std::chrono::steady_clock::time_point | init_time |
| Initial time, important to get the actual elapsed time. More... | |
| std::vector< unsigned int > | current_time |
| Vector of elapsed time at each iteration. More... | |
| unsigned int | max_time |
| Stopping criteria, stop if \(\mathrm{current_time} > \mathrm{max_time}\). More... | |
| std::string | time_unit |
The unit for time measuring, allowed are minutes , seconds and microseconds More... | |
Additional Inherited Members | |
| Protected Attributes inherited from logger::Logger | |
| bool | is_a_stopper |
| Tag if the logger is used as stopper. More... | |
Logger class to log the ellapsed time.
This class just loggs the ellapsed time. This sould be very handy if one wants to run the algorithm for just 2 hours and see how far he comes within that time. There are three time units available for logging:
| logger::LoggerTime::LoggerTime | ( | const bool & | is_a_stopper0, |
| const unsigned int & | max_time, | ||
| const std::string & | time_unit | ||
| ) |
Default constructor of class LoggerTime
| is_a_stopper0 | bool which specifies if the logger is used as stopper |
| max_time | unsigned int maximal time for training (just used if logger is a stopper) |
| time_unit | std::string of the unit used for measuring, allowed are minutes , seconds and microseconds |
|
virtual |
Clear the logger data.
This is an important thing which is called every time in front of retraining the model. If we don't clear the data, the new iterations are just pasted at the end of the existing vectors which couses some troubles.
Implements logger::Logger.
|
virtual |
Return the data stored within the logger.
Return the data stored within the time logger.
This function returns the logged elapsed time. An issue here is, that the later transformation of all logged data to an arma::mat
requires arma::vec
as return value. Therefore the std integer vector is transforemd to an arma::vec
. We know that this isn't very memory friendly, but the arma::mat
we use later can just have one type.
arma::vec
of elapsed time Implements logger::Logger.
|
virtual |
Log current step of compboost iteration for class LoggerTime
This functions loggs dependent on time_unit
the elapsed time at the current iteration.
| current_iteration | unsigned int of current iteration |
| response | arma::vec of the given response used for training |
| prediction | arma::vec actual prediction of the boosting model at iteration current_iteration |
| used_blearner | Baselearner* pointer to the selected baselearner in iteration current_iteration |
| offset | double of the overall offset of the training |
| learning_rate | double lerning rate of the current_iteration |
Implements logger::Logger.
|
virtual |
Print status of current iteration into the console.
The string which is created in this functions must have exactly the same length as the string from initializeLoggerPrinter()
. Those strings are printed line by line.
std::string
which includes the log of the current iteration Implements logger::Logger.
|
virtual |
Stop criteria is fulfilled if the passed time exceeds max_time
The stop criteria here is quite simple. For the current iteration \(m\) it is triggered if
\[ \mathrm{current_time}_m > \mathrm{max_time} \]
bool
which tells if the stopping criteria is reached or not (if the logger isn't a stopper then this is always false) Implements logger::Logger.
|
private |
Vector of elapsed time at each iteration.
|
private |
Initial time, important to get the actual elapsed time.
|
private |
Stopping criteria, stop if \(\mathrm{current_time} > \mathrm{max_time}\).
|
private |
The unit for time measuring, allowed are minutes
, seconds
and microseconds


We are excited to offer you complete dispatch solutions
Providing dedicated trucks necessary to increase your freight capacity
Delivering Specialty Freight
Reaching your customers in a timely fashion
Picking up outbound freight from any airport listed for delivery to final destination
CLT - Charlotte Douglas Intl Airport
GSO - Piedmont Triad Intl Airport
RDU - Raleigh-Durham Intl Airport
ILM - Wilmington Intl Airport
CHS - Charleston Intl Airport
GSP - Greenville-Spartanburg Intl Airport
MYR - Myrtle Beach Intl Airport
PHF - Newport News/Williamsburg Intl Airport
ORF - Norfolk Intl Airport
RIC - Richmond Intl Airport
ATL - Hartsfield - Jackson Atlanta Intl Airport
SAV - Savannah / Hilton Head Intl Airport
International Cargo Freight
Port of Wilmington
Port of Morehead City
Wando Welch Terminal
North Charleston Terminal
Norfolk International Terminals
Portsmouth Marine Terminal
Virginia International Gateway
Newport News Marine Terminal
Richmond Marine Terminal
Port of Savannah
Port of Brunswick
Providing an option for shippers and brokers to recover freight from an unexpected logistics conflict
Moving customers from facility to facility
Unloading materials from an incoming truck and loading these materials directly into outbound trucks or trailers
Fully Insured


The Board is committed to protecting your privacy and securing the personal information made available to us. The Board limits its collection of personal information to that which is necessary to carry out its missions and responsibilities. The Board protects the security and confidentiality of personal information through various methods including security technologies and access controls.
The Board follows the requirements of the Privacy Act, which protects personal information that the Board maintains in a system of records. A system of records is a group of records under the control of the agency from which information about individuals is retrieved by name of the individual or some identifier assigned to the individual. The Board's System of Records Notices identify systems of records maintained by the Board and describe how the information is stored, used, and safeguarded. The Board also uses Privacy Impact Assessments as a key tool to ensure that privacy issues and protections are addressed within information technology systems that manage personal information in identifiable form.
The Board's Privacy program is led by the Senior Agency Official for Privacy (SAOP), who is responsible for establishing the security controls for personal information and for developing, maintaining, and overseeing the Privacy program. The Board's SAOP is Raymond Romero.
Questions or comments about privacy matters or complaints of violations in connection with the Board's handling of personal information may be directed to the Board Privacy program staff via email at<EMAIL_ADDRESS>Complaints of privacy violations may also be submitted by clicking Contact Us and providing the requested information.


- NavigateToCarSelectionWithDefaults() - Method in class ControlLayer.Controller
-
Orders the top JFrame to load the LaunchScreen JPanel.
- NavigateToInGameScreen() - Method in class ViewLayer.SwingUICore
-
Displays the in-game screen (racing map, cars etc).
- NavigateToLaunchScreen() - Method in class ViewLayer.SwingUICore
-
Displays the launch screen screen JPanel.
- NavigateToMainMenuScreen() - Method in class ViewLayer.SwingUICore
-
Display the Main menu screen JPanel content
- NavigatingBackToMainMenuScreen() - Method in class ControlLayer.Controller
-
Navigate to the main menu screen and resets the game session.
- NewLocationByTrigonometric(Point) - Method in class ModelLayer.Car
-
The Hypotenuse of the triangle (the speed) and the angle are known.
- NextFrame() - Method in class ViewLayer.Screens.InGameScr.InGameScreen
-


{% extends "api/base.html" %} {% block content %}
This API provides access to much of the historic data accumulated by the SmartCambridge project for use directly by programs and apps. If you just want to collect data in bulk you might be better off just downloading it.
Details of the API endpoints are available on a seperate reference page.
The API operates over HTTP using REST-like conventions with parameters encoded in URL paths and query parameters. It can be accessed by any tool capable of making HTTP requests and interpreting the results. Our reference pages promotes the use of the CoreAPI toolset but the API isn't restricted to CoreAPI-aware tools.
All API calls must be authenticated by someone who has agreed to the platform's Terms and Conditions. You make authenticated calls either:
To call the API using the 'Interact' links on the reference page you can also authenticate using the 'Authentication' menu at the bottom-left of that page providing you have already agreed to the terms and conditions.
You can create and subsequently manage as many API tokens as you want.
To use a token for authentication, include it in an Authorization HTTP header in your requests, proceeded by the word Token and a single space:
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
For example:
curl -H 'Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b' https://smartambridge.org/api/v1/aq/
Tokens used by JavaScript applications are of necessity exposed. To minimise the impact of this you can associate any token with a list of 'referer' patterns. Access using that token will then be rejected if the 'Referer' header provided by a browser don't match any of the patterns. While this is easily subverted in server-side scripts and by using custom proxies it does make it slightly harder to misuse tokens that are exposed in this way.
You can set-up referer restrictions on tokens from the token management page.
Access to the API is rate-limited to 1200 requests per minute and 12000 requests per hour per token for token-based access, or per user otherwise. These are intended as back-stops to avoid accidents - please aim to keep you use of the API well below these rates. These limits may be reduced in the future.
Results are normally returned in JSON with Content-Type: application/json. However if a response is explicitly requested in HTML by including an Accept: text/html header in the request (as happens if the API is accessed directly from a browser) then results are returned in human-friendly HTML.
Successful responses have HTTP status codes of 200 OK. Other status codes (at least 400 Bad Request, 401 Authorization Required, and 404 Not Found) indicate an error. Most errors include an application/json body containing further information. Some errors, in particular any that generate bogus URLs, generate generic HTML 404 Not found pages with Content-Type: text/html.
Individual output formats are not documented, but should be self-explanatory. Some API calls that return lists of data items will return 200 OK responses with empty lists, rather than 404 Not found, if called with a valid request for which there happens to be no data available (e.g because of the chosen date range).
{% endblock %}


Containers are self-contained execution environments -- with their own, isolated CPU, memory, block I/O, and network resources -- that share the kernel of the host operating system. The result is something that feels like a virtual machine, but sheds all the weight and startup overhead of a guest operating system.[1]
Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment.
It isn't a VM in the conventional sense...
It isn't really configuration management...
...but it has properties of both and plays nicely with them.
Lots of reasons.
A simple text file to define an image.
Another simple text file to orchestrate multiple-container applications.
By default, in magic directories called volumes.
In practice, where ever is convenient.
Docker containers are, by default, quite secure.
But you can fix that.
Provide a central repository of images.


Web Developer Examples and Resources by Ryan Novelli
IT161
BIG Website
Lightbox II Gallery
Research Topics
SMO
Accessibility
Forms
Google Tools
SEO
Calendar
Map
Contact Ryan
Google Calendar


{% extends "_base.html" %} {% block content %}
FDAAA 2007 is a law that requires certain clinical trials to report results. After a long wait, it effectively came into force for all trials due after January 2018. The FDA are not publicly tracking compliance. So we are, here.
{% include '_summary_card.html' %} {% endblock%}


moxie
repo | xplat | web | related | chat
a lightweight platform-agnostic interactive runtime, written in rust, aiming to empower anyone to build efficient and robust interactive software for humans.
project
the repo and chat are covered by an actively enforced code of conduct.
platform-agnostic crates
moxie
offers incremental caching & memoization in interactive event loops without bringing platform dependencies.
the cache also holds mutable state variables whose updates wake the runtime to update the presented interface, allowing an interface's code to run only when meaningful updates are observed.
state variables handle events & callbacks and as such are also a natural interface between loading arbitrary futures and user-defined presentation logic. moxie integrates with any async runtime that can spawn local tasks.
mox
a Mockery Of XML: nested builder pattern instantiation using XML-lite syntax.
topo
create trees of stable identifiers for repeated nested function invocations. allows later calls to "rendezvous" with the results of previous calls at the same location in the tree.
dyn-cache
caches for storing arbitrary values and memoizing arbitrary Rust functions.
illicit
thread-local implicit nested context singletons, indexed by type
web crates
moxie-dom
a strongly-typed, WebAssembly-compatible library for incrementally describing the web's DOM using moxie. supports server-side rendering using augdom's HTML DOM emulation.
(toy) examples
- Counter (bare function) (source)
- Counter (no-XML DOM builder API) (source)
- DOM hacking (source)
- TodoMVC (source)
- server-side rendering
augdom
provides an "augmented DOM" implementation that can run almost anywhere Rust can. compiles as either a thin wrapper around web-sys or a DOM emulation layer written in pure Rust which can be used for testing or to render HTML strings.
prettiest
pretty-printer for javascript values from wasm-bindgen
raf
runs an event loop in the browser using requestAnimationFrame
related projects
moxie-native
from the repo: "Warning: This is a work in progress and not yet usable for nontrivial applications."
a "webrender-based UI framework with a moxie frontend" which features a "relatively small footprint" and is "targeted towards real world desktop applications."


{% extends "base.html" %} {% load i18n %} {% load url from future %} {% block title %}{% trans 'Password reset' %}{% endblock %} {% block javascript %} {% endblock %} {% block content %}
{% trans "Please enter your new password twice so we can verify you typed it in correctly." %}
{% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}


Filter
Location
Check In
Check Out
Adults
Kids
Access to Pool?
Activities for Children?
Nightly Entertainment?
Restaurant?
Rooms
Package
Distance to Center
Distance to Beach
Results
Login
Register


Unfortunately, your browser cannot display this page properly. It does not support the HTML5 canvas element.


{% load static %}
With the help of AI, we aim to fight the spread of rogue bots on social media. Just give the link to the post and we will do the rest. Results can also be downloaded as a CSV file


| 1 | /* | |
| 2 | * Copyright 2015 Google Inc. | |
| 3 | * | |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except | |
| 5 | * in compliance with the License. You may obtain a copy of the License at | |
| 6 | * | |
| 7 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 8 | * | |
| 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License | |
| 10 | * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | |
| 11 | * or implied. See the License for the specific language governing permissions and limitations under | |
| 12 | * the License. | |
| 13 | */ | |
| 14 | ||
| 15 | package com.google.googlejavaformat; | |
| 16 | ||
| 17 | import com.google.common.base.MoreObjects; | |
| 18 | import com.google.common.collect.ImmutableList; | |
| 19 | import com.google.common.collect.ImmutableMap; | |
| 20 | import com.google.common.collect.ImmutableRangeMap; | |
| 21 | ||
| 22 | /** An input to the formatter. */ | |
| 23 | public abstract class Input extends InputOutput { | |
| 24 | /** | |
| 25 | * A {@code Tok} ("tock") is a token, or a comment, or a newline, or a maximal string of blanks. A | |
| 26 | * token {@code Tok} underlies a {@link Token}, and each other {@code Tok} is attached to a single | |
| 27 | * {@code Token}. Tokens and comments have indices; white space {@code Tok}s do not. | |
| 28 | */ | |
| 29 | public interface Tok { | |
| 30 | /** | |
| 31 | * Return the {@code Tok}'s index. | |
| 32 | * | |
| 33 | * @return its index | |
| 34 | */ | |
| 35 | int getIndex(); | |
| 36 | ||
| 37 | /** | |
| 38 | * Return the {@code Tok}'s {@code 0}-based position. | |
| 39 | * | |
| 40 | * @return its position | |
| 41 | */ | |
| 42 | int getPosition(); | |
| 43 | ||
| 44 | /** | |
| 45 | * Return the {@code Tok}'s {@code 0}-based column number. | |
| 46 | * | |
| 47 | * @return its column number | |
| 48 | */ | |
| 49 | int getColumn(); | |
| 50 | ||
| 51 | /** The {@code Tok}'s text. */ | |
| 52 | String getText(); | |
| 53 | ||
| 54 | /** The {@code Tok}'s original text (before processing escapes). */ | |
| 55 | String getOriginalText(); | |
| 56 | ||
| 57 | /** The length of the {@code Tok}'s original text. */ | |
| 58 | int length(); | |
| 59 | ||
| 60 | /** Is the {@code Tok} a newline? */ | |
| 61 | boolean isNewline(); | |
| 62 | ||
| 63 | /** Is the {@code Tok} a "//" comment? */ | |
| 64 | boolean isSlashSlashComment(); | |
| 65 | ||
| 66 | /** Is the {@code Tok} a "//" comment? */ | |
| 67 | boolean isSlashStarComment(); | |
| 68 | ||
| 69 | /** Is the {@code Tok} a javadoc comment? */ | |
| 70 | boolean isJavadocComment(); | |
| 71 | ||
| 72 | /** Is the {@code Tok} a comment? */ | |
| 73 | boolean isComment(); | |
| 74 | } | |
| 75 | ||
| 76 | /** A {@code Token} is a language-level token. */ | |
| 77 | public interface Token { | |
| 78 | /** | |
| 79 | * Get the token's {@link Tok}. | |
| 80 | * | |
| 81 | * @return the token's {@link Tok} | |
| 82 | */ | |
| 83 | Tok getTok(); | |
| 84 | ||
| 85 | /** | |
| 86 | * Get the earlier {@link Tok}s assigned to this {@code Token}. | |
| 87 | * | |
| 88 | * @return the earlier {@link Tok}s assigned to this {@code Token} | |
| 89 | */ | |
| 90 | ImmutableList<? extends Tok> getToksBefore(); | |
| 91 | ||
| 92 | /** | |
| 93 | * Get the later {@link Tok}s assigned to this {@code Token}. | |
| 94 | * | |
| 95 | * @return the later {@link Tok}s assigned to this {@code Token} | |
| 96 | */ | |
| 97 | ImmutableList<? extends Tok> getToksAfter(); | |
| 98 | } | |
| 99 | ||
| 100 | /** | |
| 101 | * Get the input tokens. | |
| 102 | * | |
| 103 | * @return the input tokens | |
| 104 | */ | |
| 105 | public abstract ImmutableList<? extends Token> getTokens(); | |
| 106 | ||
| 107 | /** A map from [start, end] position ranges to {@link Token}s. */ | |
| 108 | public abstract ImmutableRangeMap<Integer, ? extends Token> getPositionTokenMap(); | |
| 109 | ||
| 110 | public abstract ImmutableMap<Integer, Integer> getPositionToColumnMap(); | |
| 111 | ||
| 112 | public abstract String getText(); | |
| 113 | ||
| 114 | /** | |
| 115 | * Get the number of toks. | |
| 116 | * | |
| 117 | * @return the number of toks, including the EOF tok | |
| 118 | */ | |
| 119 | public abstract int getkN(); | |
| 120 | ||
| 121 | /** | |
| 122 | * Get the Token by index. | |
| 123 | * | |
| 124 | * @param k the token index | |
| 125 | */ | |
| 126 | public abstract Token getToken(int k); | |
| 127 | ||
| 128 | @Override | |
| 129 | public String toString() { | |
| 130 |
1
1. toString : mutated return of Object value for com/google/googlejavaformat/Input::toString to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return MoreObjects.toStringHelper(this).add("super", super.toString()).toString(); |
| 131 | } | |
| 132 | ||
| 133 | /** Converts a character offset in the input to a line number. */ | |
| 134 | public abstract int getLineNumber(int inputPosition); | |
| 135 | ||
| 136 | /** Converts a character offset in the input to a 0-based column number. */ | |
| 137 | public abstract int getColumnNumber(int inputPosition); | |
| 138 | ||
| 139 | /** | |
| 140 | * Construct a diagnostic. Populates the input filename, and converts character offsets to | |
| 141 | * numbers. | |
| 142 | */ | |
| 143 | public FormatterDiagnostic createDiagnostic(int inputPosition, String message) { | |
| 144 |
1
1. createDiagnostic : mutated return of Object value for com/google/googlejavaformat/Input::createDiagnostic to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return FormatterDiagnostic.create( |
| 145 | getLineNumber(inputPosition), getColumnNumber(inputPosition), message); | |
| 146 | } | |
| 147 | } | |
Mutations | ||
| 130 |
1.1 |
|
| 144 |
1.1 |


--- layout: page title: 2014-2015 Editors and Officers date: 2014-08-01 19:29:18.000000000 -05:00 type: page parent_id: '350' published: true password: '' status: publish categories: [] tags: [] meta: _edit_last: '16309375' _wp_page_template: default geo_public: '0' _publicize_pending: '1' _oembed_263641cb23f85196ed7f1fb4ba3aec1c: "{{unknown}}" author: login: acfquizbowl email<EMAIL_ADDRESS>display_name: acfquizbowl first_name: '' last_name: '' permalink: "/archives/archived-editors-and-officers-pages/contacts/" ---
ACF FallHead editors:Gautam Kandlikar & Gaurav Kandlikar Set editors:Jordan Brownstein, Jacob Reed, Max Schindler, Richard Yu, Ben Zhang |
ACF RegionalsHead editor:Set editors:Sarah Angelo, Tommy Casalaspi, Trevor Davis, Stephen Liu, Sriram Pendyala |
ACF NationalsHead editors:Tournament Director: |
ACF OfficersCommunications: Stephen Eltinge |
2014-15 Eligibilty Committee |


Width:
Height:
Create empty board
Create clown (iterate 13 times)
Create filling board
Move next
Live your own (start/stop)