Software Architect with extensive knowledge and experience on large-scale web applications and RESTful services. Broad knowledge across the development, engineering and operations boundaries. Particularly experienced in resolving stability and performance issues in production systems.
Server-side Java, SOA, HTTP & REST, Scalability, Automated Configuration & Deployment, Performance & Stability.
| Programming Languages: | Java, Javascript, Python |
| Distributed: | REST, HTTP, SSL, SOAP/WS, RMI |
| Scripting: | Bash, Python |
| Middleware: | Zuul, Apache, Tomcat, RabbitMQ, Varnish |
| Frontend: | Javascript, jQuery, AMD, backbone.js, JSP, Freemarker, Servlets |
| Databases: | Oracle 9i, 10g, SQL, PL/SQL, Redis, Gemfire |
| Java API's: | Spring, Hibernate, Lucene, XML & XSLT API's |
| Development Tools: | Jenkins, Maven, ANT, Ivy, Subversion, IDEA, Eclipse |
Senior Software Engineer; Sept 2013 - Present
Focused on resiliency, performance and scaling for the Netflix Routing and API tiers.
Technologies used: Java, Python, Zuul, Netflix OSS Stack, AWS
Software Architect (Product Team); Jan 2012 - Present
Lead architect on a strategic new UX platform for use across Morningstar products and teams.
Applying my knowledge of SOA, Continuous Delivery and Web Architectures to the challenges of building a Javascript-driven application platform and accompanying RESTful services.
Technologies used: Java, Javascript, require.js, backbone.js, Spring, Gemfire
Software Architect (PAAS Team); Aug 2011 - Jan 2012
Worked as an architect on a PAAS initiative, building shared middleware and development tools services for use by internal development teams.
Technologies used: RabbitMQ, VMware tc Server, Jenkins, Java, Linux
Developer Tools Engineer; Sep 2010 - July 2011
Employed in the Group Technology area of UBS. Working on integration, development and engineering projects for some of the banks SDLC tools (Fisheye/Crucible, Confluence, Quality Center).
Technologies used: Java, Axis, Mockito, Atlassian Plugin SDK, Perl, Groovy, SiteMinder, Apache
Freelance Software Developer; Mar 2010 - Jul 2010
Started working freelance, doing 3 projects for Hemscott IR:
Technologies used: Java, Spring, JAX-WS, XML, XOM, ServletFilters, Varnish
Director of Technology; Mar 2008 - Mar 2010
Became the technical lead for the "Hemscott IR" business unit when Hemscott was acquired by Morningstar. This business produced, hosted and maintained 500+ Corporate websites, "Investor Relations" microsites and data feeds for a range of listed companies, serving approx 2.5 million dynamic pages/day.
The main hosting system was made up of multi-tenanted stacks of Tomcats above a proprietary RMI Service layer and Oracle 10g database. This was used to deliver a range of web-based products using financial pricing, fundamental and regulatory news data, as well as client-generated and CMS data.
My role mainly focused on enhancing and maintaining the SOA service layer, giving technical oversight for the other 3 developers in the team, and also giving high level technical support to the team of 20 web developers in Delhi.
Technologies used: Java, Spring, Hibernate, Webservices(REST & SOAP), XML, Oracle 10g, JDBC, SQL, JMX, Lucene, Python, Bash, Apache, Redis
Technical Architect; Jun 2007 - Mar 2008
Senior Java Developer; Jun 2006 -
Java Developer; Oct 2004 -
Started as a Developer in 2004 and was promoted up to Senior Developer and then Technical Architect over the course of 4 years. Worked on various projects for the retail websites, backend data collection & distribution systems, and performance & stability analysis.
Email Alerts: Significantly improved the throughput of our email alert engine by making the email sending multi-threaded. Implemented this using a thread pool and work queue. Also did the initial investigation that found the cause of the performance problems.
Advisor Services: Created a suite of new XML services to provide company advisor data for a new product in our web tier. Used Hibernate for the data access, and DOM for building the XML.
Technologies used: Java, Spring, Hibernate, XML, Oracle 9i, JDBC, PL/SQL, SQL, ANT
Software Developer; May 2000 - Oct 2004
Started as a junior Visual Basic developer, but after 1-2 years, lead a migration from VB desktop applications, to using Java web applications for the company's products.
Technologies used: Java, VB6, Tomcat, Lucene, XML, DOM, XSLT, XSL-FO, CVS
Junior Visual Basic Developer; Oct 1999 - May 2000
This was a very small French company with just 2 people in the London office. We used VB6 with Access databases to develop custom desktop applications for small businesses.
Trainee Engineer; Oct 1994 - Oct 1995
Part of "Sponsored Student" programme before starting University. Shadowed engineers, received training, and worked on small projects at 4 sites within the steelworks.
1996 - 1999
BEng Mechanical Engineering
1992 - 1994
Physics, Chemistry, Pure Maths & Mechanics at A-Level.
1987 - 1992
9 GCSE's. Outstanding Achievement Award for Design Technology.
Running, reading tech blogs, gadgets and motor racing.


--- layout: default ---
Please Read: Chapter 6 “Rules of Thumb”
Please Read/Skim: All articles in Data Sketches
Please Watch: Tamara Munzner Keynote from 32:05 to 45:26(13 min)
Please Watch: Data Sketch|es: A Visualization A Month - Shirley Wu and Nadieh Bremer (30 min)


{% extends "base.html" %} {% import 'bootstrap/wtf.html' as wtf %} {% block app_content %} Device ID : Camera 1 Location : FLOOR3, Building A3 Ticket Counter 1 {% if people_count %}Total Number of People Detected :{{ people_count }}{% endif %}


Junior Front End Developer
JavaScript
MEAN Stack
Ruby on Rails
Download CV
STEPHANIE
ROBINSON
<EMAIL_ADDRESS>About
Projects
1
2
3
4


L.A. Confidential is the best film of the year. Hands down.
As a masterpiece of filming, editing, writing and acting, it never asks the audience to wait for a predictable outcome or Hollywood clichi, it never disappoints, and never says "I'm a blockbuster, so pay more for your tickets." In essence, when I left the theater, I wanted to give the box office more money.
The film serves up James Ellroy's novel like a seven course meal, with each distinctive dish a separate plot layer. There are mini-climaxes and dramatic showdowns and some of the most smartly written dialogue to grace the screen since Bogart's days. Ellroy gives us a story ripe with rotten public servants, overflowing with corruption in the L.A. Police Department and then he pulls the rug out from under our feet when we realize there are no "good guys" to clean up this town. L.A. Confidential is a Dick Tracy cartoon with no Dick Tracy.
The film is somewhat autobiographical for Ellroy. He grew up outside Los Angles with his divorced mother and watched as her alcoholic life went down a drain of scumballs and sleazy jerks.  The killer was never caught. Ellroy has spent the rest of his life obsessed with her, her killing, and pulp crime. Ellroy lived in the same world of sleasebags his mother had inhabited. He was a stalker, a burglar and a pseudo-sexual predator. When drug abuse threatened to take away his sanity, Ellroy turned to writing to re-sharpen his senses. He spent some jail time and decided to clean up his act. He started to uncover information about the Los Angles Police department in his investigations of his mother's death. His case was even on "Unsolved Mysteries." Ellroy befriended retired L.A. police detectives and learned about the love affairs they developed with their cases. He realized that in Los Angles, women are victims and men are abusers.
"Men Killed to impress other men. Men killed so they could talk about it. Men killed because they were weak or lazy. Murder sated their lust of the moment and narrowed down their options to a comprehensible few.
Men killed women for capitulation...
 Women killed men because men f***ed them over just as rigorously and persistently. He (the detective) considered the rule binding. He didn't want to see women as a whole race of victims." -"My Dark Places"
Ellroy's intimate knowledge of his characters and their motivations is only half of what makes them so powerful on screen. The performances tells the audience everything they need to know. Russell Crowe plays Bud White, a cop with a beef for wife beaters. Crowe is a jolt on screen. He is swift justice and capitol punishment personified. Zeus's lightening bolt. He is a 1950's Judge Roy Bean who answers questions in short, controlled sentences or bursts of fury. When the police chief asks if White understands his orders, he replies "In Technicolor." Crowe uses his massiveness like a silent loaded gun, stepping on stage and creating apprehension in the audience. Even his shadow is intense.  Bud White can't accept that women are a race of victims in Los Angles.
Guy Pearce gives the character Ed Exley the same depth of presence on screen with is masterful delivery of brilliant dialogue and a chiseled young face. Pearce has an amazing ability to portray tension without speaking, and strength without action. He makes a Clark Kent-Superman transformation by removing his glasses, and we want to believe that his motivations for justice are as pure as a super hero, but even Ed Exley, the precinct's star policeman, has a personal agenda. Together Crowe and Pearce are like two characters of Greek pathos. Their faces, as well as their performances are Greek statues, too complex for the eye to conceive, too beautiful to look away from.
Kevin Spacey is the Hollywood cop, Jack Vincennes, and he is the comedy of the story. Vincennes is tied up with Sid Hudgeons, Danny Devito, the publisher of a local tabloid crime rag, in a scam to set up celebrities, bust them and publish the photos. Vincennes always gets the front page, a $100 pay off, and sometimes he gets the chance to settle debts with public officials. Spacey fits the role of a Hollywood hipster rather well, but his acting talent isn't unknown in the world of film noir. His presence creates a stable bounding board for Crowe and Pearce's characters to bounce off. Devito and Spacey are a delight on screen together, and all the characters make a solid serious transition as the layers of plot and danger unfold. This movie could be enjoyably watched without sound, simply watching Spacey's, Crowe's and Pierce's faces.
A prime example of the sheer fusion of acting and directing come when Spacey reaches a point in his career where the payoffs are too much for his guilt to handle and the sits silently contemplating his job at a bar, studying a $50 bill. There is no doubt what is going through his mind, but there is only speculation as to what he will do next.
Kim Basinger brings true class to a character without self-determination. She is Lynn Bracken, a Veronica Lake look-alike hooker who only shows loyalty in the right situations. Her on screen presence has a depth that Bassinger has never before achieved.
The biggest success of L.A. Confidential is director Curtis Hanson's ability to blend the story elements. Unlike so many other films, the violence or the sex isn't the reason for the picture. This year, "The Lost World" was simply an excuse to get a dinosaur in downtown L.A., and "The Saint" was an excuse to get Elisabeth Shue and Val Kilmer in bed together, but L.A. Confidential doesn't make any excuses.
The violence in the movie is a method that the characters use to create themselves and the plot. It can be an extension of a character's psyche, in the case of Bud White, or a scar on their face, in the case of Ed Exley. In fact, each violent scene becomes another trait, or memory, that each person carries on their shoulders. As an audience we watch the violence knowing we'll remember it later in the film, not to get a thrill. Not one action or gunshot is gratuitous. Every scene is as methodical as Bud White planting a gun on a dead man he thinks is guilty.
The final scenes of the movie set the rest of the film in stone. The audience comes to the understanding that there can't be any perfect "good guys" in a city like Los Angles.  Its a hard ending to swallow, and getting there is half the fun, but it is immensely satisfying, none the less.
L.A. Confidential is the best film of the year. Hands down.
**** out of Four. "L.A. Confidential" Directed by Curtis Hanson. Starring: Kevin Spacey, Russell Crowe, Guy Pearce (II), James Cromwell, David Strathairn, Kim Basinger and Danny DeVito. Produced by Warner Brothers. 1997
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


Purpose
The purpose of this software design specification is to outline the software architecture and design of Academic Counselling Assistant (ACA). The document will show several views of the system design.
Architectural Design
The software basically has 2 components. The frontend UI for both admins and end users, and the database that only admins will see and interact with.
Architectural Pattern
ACA will be developed in the MVC architectural style. There are three main components to it
- Model component, which manages the data
- View component, which determines how the data is presented
- Controller component, that manages the both model and view components.
The purpose of using MVC is to separate the user interface from the logic so that it is easier to
handle and this makes it more flexible to alter data or its representation. Hence being an easy option
for web applications.
Database Schema
Class Diagram
Class Descriptions
Users
This class responsibility is to handle the users and their registration information. It holds the users name an unique id that will be randomly generated in the backend, an unique username, email and password. The user class has two child class Student and Admin.
Student
Upon registration, user may fill out further details of educational background that would help customize the search result. The student class contains the student’s profile . "Competitive entrance exam" inherits student class and contains test scores of other tests that the student may have taken such as SAT, GREs, etc.
Student has two methods.
-GetInfo takes an integer as a parameter. It calls for student information by the unique student id
-setInfo has three parameters: an integer, a value and a string type. The purpose of this method is to edit student information.
Admin
The admin class has a number of methods that allow it to change info regarding Students and Universities. Additionally, it has the power to delete an user.
Career map
This class controls information regarding various subjects offered around the world and the possible careers or further studies it is related to. Career mapping method takes name of university and program name and the student’s ID that invoked the action as parameters. The class is associated to "competitive entrance exam" ,"student" ,"university" and "programs" class.
University
The job of this class is to hold information about a large collection of the top rated universities. It will hold info on ranking, name, location,fees. University class is associated with "programs" class.
-GetInfo is a method that takes an integer as a parameter. It calls for student information by the unique student id
-setInfo has three parameters: an integer, a value and a string type. The purpose of this method is to edit student information.
Programs
Programs class contains detailed information of the individual programs offered by the university.
Financial Calculator
The responsibility of this class is to calculate an estimate of the total expense for a particular degree from a given university mentioned in the parameter by the user. It is associated with "university" class and "programs" class. -calculate is a method that basically takes the required information from "programs" and "university" class and calculates an estimate of the total expense. It the shows the result to the user. The method takes student id, program name and university name as an integer. It is also associated with country in order to take into account living expenses.


In programming, objects are a conceptual way by which developers organize data and actions taken on that data. Why impose any order at all on a computer program? In practice, computer programs tend to evolve-- a lot. Existing features are tweaked and new features are added, constantly. Moreover, different programs might have some of the same functions; a developer shouldn't continually reinvent the wheel. So ideally code needs to be both highly adaptable to change and compartmentalized. That's where classes and objects come in. Classes are like the blueprints for objects, so let's create a class in Ruby:
In the real world, all objects, alive or inanimate, can be said to have attributes and behavior. Let's focus on attributes first. Attributes are the characteristics or qualities of the object. For example, a rock could have the attributes of color, weight, volume. A cat can have the attributes of color, weight, gender, breed. In a class, instance variables-- signified with the @ to start variable names-- are the attributes of an object. As it stands, our Person class is an empty husk. Let's add some attributes to our Person by adding sensible instance variables. The initialize
method is a method that's called when an object is first created, or instantiated. Naturally, that's a common place to give our instance variables (a Person's attributes in this case) their first values.
This is our basic blue-print for a Person. Let's create an instance of a Person. Or several instances! In fact, we can create as many Person objects as we want. Already, you might see the power of classes and objects: we can create as many objects as we want, but the code to do so resides in a single, tidy, compartmentalized, meaningful area.
In the real world, objects not only have attributes but behaviors. For example, a rock's behaviors could be: sit and roll. A cat's behaviors could be: sit, purr, meow, knock over stuff. In a class, the instance methods are the behaviors of an object. Let's give our Person class a behavior with the instance method introduce_self
:
Let's recreate our Person objects (not shown), and ask each of them to introduce_self
:
All the Person objects introduced themselves appropriately! This showcases an important quality about objects of the same type: each object shares instance methods but acts on its own set of instance variables data.
As demonstrated, any change to the Person class is a powerful ripple throughout all Person objects created thereafter. We don't have six sets of code for six different Person objects; instead, we have a single, generic template of code for all Person objects. It's highly reusable. And you can see how this lends to adaptability as a single, compartmentalized spot of code can command sweeping changes.
There is of course much, much more to Ruby classes (including the particulars of designing good vs poor ones), but hopefully this brief and basic introduction into Ruby classes and objects has been helpful.


I’m a programmer and tech enthusiast.
blog.parriath.com is where I write about general tech stuff.
.
.
.
I work as a Data Engineer at HP Inc. Along with Data Warehousing, and ETL, I also develop the tooling for our data engineers.
My strategy is to adapt, wherever possible, existing tools, and develop from scratch only when necessary.
The open-source tooling around Software Engineering is amazing, and Data Engineers need to catch up. Do we even have CI/CD for Data Engineering? Scaling data solutions is still an extremely difficult proposition. Data Warehouses and Data Lakes are big monoliths that should, and can most probably be split up as per their domains, microservices style.
I believe we have a huge opportunity in Data Engineering to automate away much of the plumbing, and define new paradigms, to get data where it needs to be, faster.
.
I’m still building this site and will add to it over time. You are welcome to follow the progress on GitHub!


Romania’s Commission candidate gets MEPs’ backing
Adina-Ioana Vălean approved after original candidate Rovana Plumb rejected.
by Hanne Cokelaere, Maïa de La BaumeRomania’s candidate for commissioner, Adina-Ioana Vălean, was today given the green light by MEPs in the European Parliament's Transport and Tourism Committee.
A majority of committee coordinators gave their approval to Vălean after a near three-hour session, two officials confirmed to POLITICO.
The far-right Identity and Democracy was the only group to oppose Vălean’s confirmation, while the Greens said they wanted her to provide additional information.
The approval means Vălean can take up a role as commissioner in Ursula von der Leyen's Commission subject to final approval by the European Parliament plenary.
The decision came despite a patchy performance during the hearing, in which Vălean acknowledged several times she did not have details of the policy areas at hand.
She took questions on a range of topics including a future aviation tax, plans to decarbonize the maritime sector and how far she would go to back the bloc's railways as a clean mode of transport.


RT @kevindente: I don't sufficiently appreciate the MacBook Pro retina display because I mostly work on a Thunderbolt display. #extremefirs…
9/24/2013, 11:06:00 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @kevindente: I don't sufficiently appreciate the MacBook Pro retina display because I mostly work on a Thunderbolt display. #extremefirs…
9/24/2013, 11:06:00 AM
Favs: 0
Retweets: 0
link


public class Picture
extends java.lang.Object
Picture
represents a black-and-white picture. It provides methods
for turning pixels on and off as well as to render a picture on terminal console.
Here is an usage example which creates an empty image 200x100 pixels, draws
single horizontal line and renders image on standard output.
// Create picture: Picture pic = new Picture(200, 100); // Draw horizontal line on y=10: for(int i = 0, n = pic.getWidth(); i < n; i++) { pic.turnPixelOn(i, 10); } // Render picture in ASCII-graphics on standard output: pic.renderImageToStream(System.out);
| Constructor and Description |
|---|
Picture(int width,
int height)
Picture constructor which constructs an empty picture.
|
| Modifier and Type | Method and Description |
|---|---|
void |
drawLine(int x0,
int x1,
int y)
Method draws a horizontal line from
x0 to x1 for given y . |
java.awt.image.BufferedImage |
getBim()
Returns live representation of this picture as
BufferedImage
object. |
int |
getHeight()
Returns height of this picture.
|
int |
getWidth()
Returns width of this picture.
|
void |
renderImageToStream(java.io.OutputStream out)
Method renders current picture on given output stream using ASCII-art.
|
void |
turnPixelOff(int x,
int y)
Method turns off pixel on position (x,y).
|
void |
turnPixelOn(int x,
int y)
Method turns on pixel on position (x,y).
|
public Picture(int width, int height)
width
- width of picture; must be greater or equals to 1.height
- height of picture; must be greater or equals to 1.java.lang.IllegalArgumentException
- if width
or height
is smaller than 1public int getWidth()
public int getHeight()
public java.awt.image.BufferedImage getBim()
BufferedImage
object. This object can be then used for picture visualization in
standard GUI Swing components. The term "live" means that any change
performed in this object will be visible in this picture as well.public void turnPixelOn(int x, int y)
x
is
width-1
and maximal legal y
is height-1
.x
- x-coordinate of pixely
- y-coordinate of pixeljava.lang.IllegalArgumentException
- if x
or y
is either negative or bigger than maximal legal valuepublic void turnPixelOff(int x, int y)
x
is
width-1
and maximal legal y
is height-1
.x
- x-coordinate of pixely
- y-coordinate of pixeljava.lang.IllegalArgumentException
- if x
or y
is either negative or bigger than maximal legal valuepublic void drawLine(int x0, int x1, int y)
x0
to x1
for given y
.
x0
and x1
are inclusive. x1
can be less than x0
.x0
- x-coordinate of line startx1
- x-coordinate of line endy
- y-coordinate of linejava.lang.IllegalArgumentException
- if any pixel of line is outside of picture areapublic void renderImageToStream(java.io.OutputStream out)
pic
on programs standard
output use:
pic.renderImageToStream(System.out);
out
- output stream on which picture should be rendered.


These examples are meant to demonstrate various aspects of the dicom-microscopy-viewer library in an interactive way. They are written such that they can be opened directly in your web browser from a local copy of the repository.


Tracking pixel example. If you are using the GET form of the pixel, then the downloaded image is invisible. The JSON structure describes the data and can be used for either the GET or POST forms. Ad hoc attributes are acceptable and will be stored in the "ancillary" field.


MPI_Offset is an integer type of size sufficient to represent the size (in bytes) of the largest file supported by MPI. Displacements and offsets are always specified as values of type MPI_Offset.
In Fortran, the corresponding integer is an integer with kind parameter MPI_OFFSET_KIND, which is defined in the mpi_f08 module, the mpi module and the mpif.h include file.
In Fortran 77 environments that do not support KIND parameters, MPI_Offset arguments should be declared as an INTEGER of suitable size. The language interoperability implications for MPI_Offset are similar to those for addresses (see Section Language Interoperability ).


--- layout: default ---
I'm writing a book on design principles for release on paperback and eBook in 2019.
I'll only send infrequent and significant updates on the progress of the book and things related to its release.
I'm currently interviewing designers about their experiences, challenges and processes when working with design principles.
If you are interested in participating and providing insight about your experience working with design principles please get in touch.


Home
(current)
About Us
Available Flavors
Photo gallery
Order Online
Contact Us
Order Now
Thank you for your business.
Your order will be ready on arrival.
We hope to serve you again soon!
Order Again


Call Isaac on {% include tel.html %} or
book online
{% include nav.html %}
{{ content }} {% include analytics.html %}


{% extends "emails/base.html" %} {% load humanize hc_extras %} {% block content %}
This is a monthly report sent by healthchecks.io.
{% include "emails/summary-html.html" %}Just one more thing to check: Do you have more cron jobs, not yet on this list, that would benefit from monitoring? Get the ball rolling by adding one more!
Thanks,
The
{% if host %}
{{ host }}
{% else %}
Healthchecks.io
{% endif %}
Team


{% extends "base.html" %} {% block styles %} {{super()}} {% endblock %} {% block app_content %}
Erghhh... Seems like this page doesn't exist
Back


VMD trajectory/structure/coordinate format plugin
The plugin reads files written in the
VMD
trajectory/structure/coordinate format. The format was designed
specifically for VMD and is useful for hand-written simulation codes and
coarse-grained simulations. It is currently used by the ESPResSo coarse-grained
simulation package.
Notes:
Read-only
This plugin is used only to read files. VMD does not currently support
writing this file type.


Snookes1516.github.io
The funny thing about being human is our flesh and blood packaging. You can’t exactly take us out of the box. We are subject to the quirks, delusions. There are many, many, many books on the Writing Creative Process. That being said, there are very few that feel, as you are reading and doing the prompts Find details about every creative writing competition—including poetry contests, short story competitions, essay contests, awards for novels, grants for translators. CreativeLive: Free Live Online Classes. Practical Creative Writing Exercises - Kindle edition by Grace Jolliffe, James GoOnWrite. Download it once and read it on your Kindle device, PC, phones or tablets. T f c c Creative Circle 22 Long Acre Covent Garden London WC2E 9LY 020 7636 1223 © Creative Circle. Complete lesson plans for a creative writing course.
English teacher, Alan Gillespie, shares his advice and resources on how to teach creative writing. Pollution essay cause bengali pdf essay on taxation badminton. Sample book report essay about environment essay topics about internet nutrition personal problems.
Year 5 creative writing - No Fs with our trustworthy writing services. Writing a custom term paper means work through lots of steps Why worry about the essay? order. The Muse Writers Center offers a variety of creative and creative writing classes in Poetry, Fiction, Science Fiction, Fantasy, and Horror, Children's Literature. Artists helping artists come online to the Internet and the WWWeb. Sharing art from the source. the artists themselves.
Creative Writing Ideas Teaching Ideas. Review Adobe Creative Cloud membership plans and prices. Get access to all desktop applications, storage space, and file syncing and sharing features. Creative Cloud pricing and membership plans Adobe. Let your 5th-grade students show you how imaginative they can be, with our most popular creative writing printables. Start your Free Trial Today. A creative writing activity: A dark and stormy night.
A number of ideas which can be used as a stimulus for creative writing . Take 4 or 5 unrelated . I am teaching creative writing at a summer
Our home study creative writing course allows you to earn while you learn writing the stories, articles, books and scripts that editors and publishers. Creative writing in the classroom:
Creative Writing Lesson Plans - Teacher2B.com. Put on that Swimsuit - The Mom Creative. Creative Writing Classes and Seminars at The Muse Writers. Justine Musk from the head of justine. Authors and the Truth About Money - Ros Barber. 365 Creative Writing Prompts - ThinkWritten. A collection of documents for the delivery of an awarded outstanding lesson looking at creative writing, following the structure of Talk for Writing. We hope you enjoy these creative writing prompts! If you’d like to be notified when we add more prompts, don’t forget to Subscribe to our Newsletter. Write Better, Get Published, Be Creative WritersDigest.com. Outstanding literacy lesson - Creative writing. Creative Writing Course - Learn with our Online Writing.
Online classes in photography, graphic design, craft DIY, marketing, business and entrepreneurship. Available on-demand. Applicable works. Work licensed under a Creative Commons license is governed by applicable copyright law. This allows Creative Commons licenses to be applied
Have your child pretend they re helping out a new boy or girl who s just arrived at their school by explaining all of the important things
Dotdash's brands help over 100 million users each month find answers, solve problems, and get inspired. Dotdash is among the fastest-growing publishers online.
Poets Writers Contests, MFA Programs, Agents Grants. A list of current UK writing competitions for poetry, short stories and novels. 63 Fun Creative Writing Prompts Creative Writing Worksheets for Grade 5 - TeacherVision. Forum 5; Teacher Educator It s a common cliche in creative writing to Thank you for such a detailed explanation on creative writing. These are really creative. WritingFix: prompts, lessons, and resources for writing. UK creative writing competitions - Prize Magic. Turnitin provides instructors with the tools to prevent plagiarism, engage students in the writing process, and provide personalized feedback.
Year 5 creative writing - Tastefulventure. History of writing - Wikipedia.
Art.Net (also known as "Art on the Net"). What kind of money can a successful author expect to make? What royalties do they earn? The truth about writing books as a way of making money. The history of writing traces the development of expressing language by letters or other marks and also the studies and descriptions of these developments. This bundle comprises all six Creative Writing Year 5-7 Workbooks, and teaches creative writing, grammatical and syntactical technique. Each technique has a clear. This is the home page Be the first to hear about Triennial artists, events and exclusive.
Creative Commons license - Wikipedia. Creative Writing Year 5-7 Bundle - AE Publications. Year 5 Creative writing and fiction worksheets TheSchoolRun. Amazon.com: Practical Creative Writing Exercises eBook. November 1-30. The world needs your novel. WritingFix: Quality Teaching Resources for K-12 strategically de signed lessons to help "fix" teachers who don't enjoy teaching writing. How this website The Portable MFA in Creative Writing - amazon.com. Writer’s Digest is the No. 1 Resource for Writers, Celebrating the Writing Life and What it Means to be a Writer in Today's Publishing Environment.
63 Fun Creative Writing Prompts. 12 Remarkable Comments. Welcome to the creative writing prompts page! This is going to be so much fun, and all while you improve. Creative writing online year 5 tes - victorymgroup.com.


lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lwres_gnbaresponse_parse, lwres_gnbaresponse_free, lwres_gnbarequest_free — lightweight resolver getnamebyaddress message handling
#include <lwres/lwres.h>
lwres_result_t
lwres_gnbarequest_render
( |
ctx, | |
| ctx, | ||
| req, | ||
| pkt, | ||
b) ; |
lwres_result_t
lwres_gnbaresponse_render
( |
, | |
| , | ||
| , | ||
| , | ||
) ; |
lwres_result_t
lwres_gnbarequest_parse( |
, | |
| , | ||
| , | ||
| , | ||
) ; |
lwres_result_t
lwres_gnbaresponse_parse( |
, | |
| , | ||
| , | ||
| , | ||
) ; |
void
lwres_gnbaresponse_free
( |
, | |
| , | ||
) ; |
void
lwres_gnbarequest_free( |
, | |
| , | ||
) ; |
These are low-level routines for creating and parsing lightweight resolver address-to-name lookup request and response messages.
There are four main functions for the getnamebyaddr opcode. One render function converts a getnamebyaddr request structure — lwres_gnbarequest_t — to the lightweight resolver's canonical format. It is complemented by a parse function that converts a packet in this canonical format to a getnamebyaddr request structure. Another render function converts the getnamebyaddr response structure — lwres_gnbaresponse_t to the canonical format. This is complemented by a parse function which converts a packet in canonical format to a getnamebyaddr response structure.
These structures are defined in
lwres/lwres.h
.
They are shown below.
#define LWRES_OPCODE_GETNAMEBYADDR 0x00010002U typedef struct { lwres_uint32_t flags; lwres_addr_t addr; } lwres_gnbarequest_t; typedef struct { lwres_uint32_t flags; lwres_uint16_t naliases; char *realname; char **aliases; lwres_uint16_t realnamelen; lwres_uint16_t *aliaslen; void *base; size_t baselen; } lwres_gnbaresponse_t;
lwres_gnbarequest_render()
uses resolver context
ctx
to convert getnamebyaddr request structure
req
to canonical format.
The packet header structure
pkt
is initialised and transferred to
buffer
b
.
The contents of
*req
are then appended to the buffer in canonical format.
lwres_gnbaresponse_render()
performs the same task, except it converts a getnamebyaddr response structure
lwres_gnbaresponse_t
to the lightweight resolver's canonical format.
lwres_gnbarequest_parse()
uses context
ctx
to convert the contents of packet
pkt
to a
lwres_gnbarequest_t
structure.
Buffer
b
provides space to be used for storing this structure.
When the function succeeds, the resulting
lwres_gnbarequest_t
is made available through
*structp
.
lwres_gnbaresponse_parse()
offers the same semantics as
lwres_gnbarequest_parse()
except it yields a
lwres_gnbaresponse_t
structure.
lwres_gnbaresponse_free()
and
lwres_gnbarequest_free()
release the memory in resolver context
ctx
that was allocated to the
lwres_gnbaresponse_t
or
lwres_gnbarequest_t
structures referenced via
structp
.
Any memory associated with ancillary buffers and strings for those
structures is also discarded.
The getnamebyaddr opcode functions
lwres_gnbarequest_render()
,
lwres_gnbaresponse_render()
lwres_gnbarequest_parse()
and
lwres_gnbaresponse_parse()
all return
LWRES_R_SUCCESS
on success.
They return
LWRES_R_NOMEMORY
if memory allocation fails.
LWRES_R_UNEXPECTEDEND
is returned if the available space in the buffer
b
is too small to accommodate the packet header or the
lwres_gnbarequest_t
and
lwres_gnbaresponse_t
structures.
lwres_gnbarequest_parse()
and
lwres_gnbaresponse_parse()
will return
LWRES_R_UNEXPECTEDEND
if the buffer is not empty after decoding the received packet.
These functions will return
LWRES_R_FAILURE
if
pktflags
in the packet header structure
lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.hoolean.statstomaps.StatsToMaps
public class StatsToMaps
| Field Summary | |
|---|---|
static java.io.File |
path
The path where all File I/O is done |
| Constructor Summary | |
|---|---|
StatsToMaps()
|
| Method Summary | |
|---|---|
void |
dumpImage()
Dumps an image of the map for debug purposes. |
void |
export()
Exports all data so the client can access it to the path specified as an argument to the main class. |
java.lang.String |
loadBinaryMap()
Loads a binary representation of a map of Britain, where 1 represents land and 0 represents sea. |
static void |
main(java.lang.String[] args)
The method that is called when the JAR file is executed. |
void |
populateAndLoadCounties()
Collects weather data and applies to tileMap. |
void |
setTileType()
Populates them map with cities, towns, villages and farms. |
void |
spreadCountyData()
Enlarges counties to ensure every tile that is not part of the sea belongs to a county. |
void |
start()
Starts the process of gathering and exporting data. |
Tile[][] |
toTileMap(java.lang.String binaryMap)
Converts string representation of binary map to a 2D Tile Array. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static java.io.File path
| Constructor Detail |
|---|
public StatsToMaps()
| Method Detail |
|---|
public static void main(java.lang.String[] args) throws java.lang.Exception
args
- that StatsToMaps should know to function correctly. In this
case the path for creating files in is required.
java.lang.Exception
- if something goes wrong - hopefully not :Ppublic void start() throws java.lang.Exception
java.lang.Exception
- when something goes wrong :Ppublic java.lang.String loadBinaryMap() throws java.net.MalformedURLException, java.io.IOException
java.net.MalformedURLException
- if the URL is wrong, which it is not. :P
java.io.IOException
- if the internet cannot be accessed.public Tile[][] toTileMap(java.lang.String binaryMap)
binaryMap
- to convert
public void populateAndLoadCounties() throws java.io.FileNotFoundException, java.io.IOException, java.lang.ClassNotFoundException, org.json.JSONException, java.lang.InterruptedException
java.io.FileNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
org.json.JSONException
java.lang.InterruptedException
public void spreadCountyData()
public void setTileType()
public void dumpImage() throws java.io.IOException
java.io.IOException
- when file IO does not work.public void export() throws org.json.JSONException, java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
org.json.JSONException
- if JSON creation goes wrong
java.io.IOException
- if file I/O messes up
java.lang.IllegalArgumentException
- is the wrong arguments are pushed into a method
java.lang.IllegalAccessException
- if the field of County can't be accessed
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Adrien DE CONTO
13 rue Saint Fort
25660 MORRE
<EMAIL_ADDRESS>06 81 20 75 06
Date of birth 13/08/1994
Driving license
Education
5th year of engineering school at Polytech specialization Instrumentation Automatism and Computing
2014 - BTS Electronic Systel equivalent of HND Electronic Engineering Victor HugoHigh School, Besançon France
2012 - Diploma in Spatial Science S.I (Engineering Science) - Victor Hugo High School, Besançon France
Professional experience
July-August 2016 Summer job - Production technician - Delta microtechnique, machining on digital turning center
May-June 2016 Assistant engineer - Peugeot Scooters, Electrical development department research and development department
Various wiring and electronics missions
Work on the OBD and the CAN network
Design and realization of an Android application
June-July 2015 Summer job - Workshop Worker - SIS Technotime 25
July-August 2014 Summer job - Production technician- FCI 25
August 2013 Summer job - Workshop Worker - SIS Technotime 25
May-June 2013 Technician - Observatory of Beançon, research center
Realization of a teaching model on the Doppler effect
Implementation of a PIC, a FPGA, a Raspberry Pi
Design and production of electronic boards
Skill
Development : C, C++, Python, Java, PHP
IT standard :SQL, HTML, CSS, JavaScript
Design and production of electronic systems
Mounting through-hole components and surface mount technology (SMT)
CAD Software : Solidworks, P-CAD, Proteus, Cura
Windows and Linux system
Analogue and digital signal processing
Community life
2015 - 2016 : Responsible of the makers of the fablab of Polytech
2014 - 2015 : Active member of the fablab and the robotics club of Polytech
Since 2013 - Supervise climbing sessions for Club Alpin Francais
2013 : Creation of a robotics club focused on arduino in the Victor Hugo high School


labeled
by James R. Griffin III at 2020-10-23 16:08:50.labeled
by James R. Griffin III at 2020-10-23 16:08:50.labeled
by James R. Griffin III at 2020-10-23 16:08:50.assigned
by James R. Griffin III at 2020-10-23 16:08:50.@cwulfman I think you need to rebase on main to get the build fix.
Done.
On Oct 23, 2020, at 11:59, hackmastera
@cwulfmanhttps://github.com/cwulfman I think you need to rebase on main to get the build fix.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/pulibrary/figgy/pull/4299#issuecomment-715429992, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAGZRWPR3O7O2OWFG3RNRKTSMGR6VANCNFSM4S3ZIYVQ.
Looks like all sorts of things are failing now. I’ll have to sort this out next week
Sent via mobile; please excuse typos.
On Oct 23, 2020, at 12:16, Clifford E. Wulfman<EMAIL_ADDRESS>wrote:
Done.
On Oct 23, 2020, at 11:59, hackmastera
@cwulfmanhttps://github.com/cwulfman I think you need to rebase on main to get the build fix.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/pulibrary/figgy/pull/4299#issuecomment-715429992, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAGZRWPR3O7O2OWFG3RNRKTSMGR6VANCNFSM4S3ZIYVQ.
Looks like all sorts of things are failing now. I’ll have to sort this out next week.
Sent via mobile; please excuse typos.
On Oct 23, 2020, at 12:16, Clifford E. Wulfman<EMAIL_ADDRESS>wrote:
Done.
On Oct 23, 2020, at 11:59, hackmastera
@cwulfmanhttps://github.com/cwulfman I think you need to rebase on main to get the build fix.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/pulibrary/figgy/pull/4299#issuecomment-715429992, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAGZRWPR3O7O2OWFG3RNRKTSMGR6VANCNFSM4S3ZIYVQ.
review_requested
by Cliff Wulfman at 2020-10-22 22:17:30.mentioned
by Cliff Wulfman at 2020-10-23 15:59:23.subscribed
by Cliff Wulfman at 2020-10-23 15:59:23.mentioned
by Cliff Wulfman at 2020-10-23 16:16:27.subscribed
by Cliff Wulfman at 2020-10-23 16:16:28.mentioned
by Cliff Wulfman at 2020-10-23 16:45:46.subscribed
by Cliff Wulfman at 2020-10-23 16:45:46.mentioned
by Cliff Wulfman at 2020-10-23 16:45:59.subscribed
by Cliff Wulfman at 2020-10-23 16:45:59.head_ref_force_pushed
by Cliff Wulfman at 2020-10-23 17:26:19.referenced
by Kevin Reiss at 2020-10-23 20:45:27.merged
by Kevin Reiss at 2020-10-23 20:45:27.closed
by Kevin Reiss at 2020-10-23 20:45:27.Coverage remained the same at 96.578% when pulling 3e8efe9a416d17437b32066a8647a3d1f847884d on recap_closure into 003751e00a05093d1d695d02e2b696d0165f160e on main.
head_ref_force_pushed
by Kevin Reiss at 2020-10-23 13:54:28.referenced
by None at 2020-10-23 15:43:40.merged
by None at 2020-10-23 15:43:40.closed
by None at 2020-10-23 15:43:40.head_ref_deleted
by None at 2020-10-23 15:43:41.added_to_project
by Christina Chortaria at 2020-10-23 18:29:40.labeled
by Christina Chortaria at 2020-10-23 18:30:55.added_to_project
by Christina Chortaria at 2020-10-23 18:27:16.labeled
by Christina Chortaria at 2020-10-23 18:31:07.added_to_project
by Christina Chortaria at 2020-10-23 18:16:08.labeled
by Christina Chortaria at 2020-10-23 18:31:17.convert_to_draft
by None at 2020-10-23 19:31:43.As tracked on Honeybadger, requests for URLs such as https://dpul.princeton.edu/eastasianzribt%27%22ipl/about/about trigger a 500 response:
As this URL is for a GET request with no invalid parameters, might it be appropriate to issue a 404 instead?
renamed
by James R. Griffin III at 2020-10-23 17:32:23.labeled
by James R. Griffin III at 2020-10-23 17:35:25.labeled
by James R. Griffin III at 2020-10-23 17:35:25.As tracked on Honeybadger, there are cases in which REST clients request an unsupported content type (e. g. application/json
for https://dpul-staging.princeton.edu/). Perhaps the response code should be 406 or 400 instead of a 500?
renamed
by James R. Griffin III at 2020-10-23 17:44:11.labeled
by James R. Griffin III at 2020-10-23 17:47:34.labeled
by James R. Griffin III at 2020-10-23 17:47:34.Currently valid (but unsupported) responses trigger 500 responses. Might it be preferred to default to the en_US locale for these cases instead?
renamed
by James R. Griffin III at 2020-10-23 17:56:43.labeled
by James R. Griffin III at 2020-10-23 17:59:44.labeled
by James R. Griffin III at 2020-10-23 17:59:44.Please see the following stack trace for app/services/iiif_manifest.rb
:
/.*\/(.*)/.match(ark_url)[1]
else
/.*\/(.*)\/manifest/.match(url)[1]
end
end
renamed
by James R. Griffin III at 2020-10-23 18:01:35.labeled
by James R. Griffin III at 2020-10-23 18:03:19.labeled
by James R. Griffin III at 2020-10-23 18:03:19.referenced
by None at 2020-10-23 17:26:46.referenced
by None at 2020-10-23 18:19:42.referenced
by None at 2020-10-23 18:45:30.closed
by Kevin Reiss at 2020-10-23 19:12:27.convert_to_draft
by None at 2020-10-23 18:07:59.head_ref_force_pushed
by None at 2020-10-23 18:19:43.head_ref_force_pushed
by None at 2020-10-23 18:45:31.ready_for_review
by None at 2020-10-23 18:46:24.referenced
by Kevin Reiss at 2020-10-23 19:12:27.merged
by Kevin Reiss at 2020-10-23 19:12:27.closed
by Kevin Reiss at 2020-10-23 19:12:27.head_ref_deleted
by Kevin Reiss at 2020-10-23 19:12:32.


How to read this report
How to read {testdown} reports
Glossary
Scopes of tests
There are three scopes when it comes to tests:
“Test files”, which are the files included inside the
test/testthat/
folder, and which contain a testing infrastructure. Each file contains one ore more test(s).“Tests”, which start with
test_that("",
. Each test contains one or more expectation(s).“Expectations”, which (usually) start with
expect_
(note thatskip_
functions are also considered as expectations). An expectation only contains one statement. If you put a roxygen tag@description
just before your expectation, it will be displayed in the testing results (otherwise the ‘Description’ column will be blank).
To sum up, Test files contains one or more test(s), which contain one or more expectation(s).
Expectations status
✅ Success: Passed (the expectation is met).
❌ Failure: Failed (the expectation is not met).
⚠ Warning: The expectation returned a warning.
❌ Error (test stopped): the expectation has returned an error, and the current test was stopped (i.e further expectations in the current test will not be launched).
🔄 Skip: This expectation has validated a “skip” expectation for the current test.
🔄 Was Skipped: The expectation has been skipped and is reported as a ‘skipped expectation’, due to a
skip_if
or an error previously in the test. Note that when an expectation is skipped, the Description, and Test time are not retrieved.
First page
The index offers a summary of:
When the tests were run
The package (Title, Version, and Description of the package)
The project
- Name of the project
- Environment the tests were run into (aka the directory)
- Details about the test results
Results overview
The testing infrastructure
- R version
- Operating system
- Locale
- Package versions
Glossary of terms
Global results
This page offers a summary of the results, grouped by test.
Details of the table:
File: Name of the file that contains the test. This column is clickable and will open the corresponding page.
Test: Label given to the test.
Expectations: Number of expectations contained in the test.
Result: If the test contains one or more error(s), failed expectation(s), or warning(s) ❌, otherwise ✅.
Time spent: Time spent on this particular test.
Test-files.R
Each test file has its own chapter, detailing the results of the expectations.
The summary at the top gives an overview of the results for the given test file.
Then, details are included about the tested file:
Test: Label of the test (i.e. the text in
test_that("label of the test", ...)
)Description: The description of the test, as detailed in the
#' @description
roxygen tag used just before the expectation. If no description was set, it will be blank.Expectation: Raw name of the expectation, i.e the R code used.
Result: Success / Failure / Warning / Errored / Skip / Was skipped (see “Expectations status” at the top of this page).
Location: Name of the file containing the test, with the line number where the expectation is located (for example,
test-hello-world.R#9
means the expectation started at line 9, in thetest-hello-world.R
file)Test_time: When was the test run.
Aggregated
Aggregation of expectations that returned a failure/error, warning, or were skipped.
Location: Name of the file containing the test, with the line number where the expectation is located (for example,
test-hello-world.R#9
means the expectation started at line 9, in thetest-hello-world.R
file)Test: Label of the test (i.e. the text in
test_that("label of the test", ...)
)Description: The description of the test, as detailed in the
#' @description
roxygen tag used just before the expectation. If no description was set, it will be blank.Expectation: Raw name of the expectation, i.e the R code used.
Message: Message output by R when the expectation failed/warned/skip.
Appendix
This page


SA's Real Madrid Dream Team – You Choose The Right-Winger
by Soccer LadumaIn our ninth instalment of this NIVEA Men campaign, we have selected three of Real Madrid's best right-wingers to have played in the 2000s. Vote for whom you think is the best of this trio, and stand a chance to win a replica shirt and a NIVEA Men hamper!
Click through the mini-gallery above to see the three right-winger options for SA's Real Madrid Dream Team!
You can find all the info about our NIVEA campaign right here!
Option 1: Luis Figo (2000-2005)
After a successful stint with FC Barcelona, Luis Figo became Real Madrid's top transfer target. The former Portugal international moved to the Spanish capital for a then-world record fee of £37 million (R703 million) from the Catalan club. Exceptionally strong, powerful, and a great crosser of the ball, Figo was a winger supreme. In his five years at Los Blancos, he made 245 appearances, scoring 56 goals and assisting a further 93 strikes. The 47-year-old also won the UEFA Champions League, two LaLiga titles, one UEFA Super Cup, and four Spanish Super Cups with Los Blancos.
Option 2: David Beckham (2003-2007)
David Beckham became a Galactico in 2003, after his move from Manchester United. Known for his accurate range of passing, his deadly crosses, and bending free-kicks, he fit into the squad of stars like a glove. At the Santiago Bernabeu, he established himself as one of the leaders in the team and was loved by the Los Blancos faithful. Over his four-year stay at the club, he made 115 appearances, scoring 20 goals and assisting a further 48 strikes. He capped his time at the club by winning one LaLiga title in addition to a Spanish Super Cup.
Option 3: Gareth Bale (2013-present)
Blessed with exceptional pace and a wand of a left foot, Wales captain Gareth Bale joined Real in 2013, costing a mammoth fee of £85.3 million (R1.6 billion). Despite the issues Bale has had with current manager Zinedine Zidane, few can question his place in the club's history books. His sensational goal in the 2017/18 UEFA Champions League final against Liverpool in Ukraine is one of the many highlights of his Los Blancos career. To date, the right-winger has won four UEFA Champions League titles, three UEFA Super Cups, four FIFA Club World Cups, one Spanish Super Cup, and one LaLiga title with the Madrid club.
South Africa, the choice is yours! Which right-winger would you like to vote for as part of your Real Madrid Dream Team?
Vote for your favourite in the poll below to enter the draw!
Remember, by voting, you are automatically entered into the competition to win a NIVEA Men hamper worth R1 000 as well as a replica Real Madrid jersey!


Demand Prediction Visualization
Best viewed using Google Chrome.
Below is prediction of demand of taxi rides in a section of San Francisco over three weeks. I based these predictions on 18,000 time stamps of pickups to reflects weekly variation and recent interweek growth.
I designed the below graphic using d3.js to be readable for cabbies and dispatchers.
Red indicates low and green indicates high demand. Click a date to see predicted demand by hour.
The area of a pie slice is proportional to predicted demand.
© Daniel Vizzini under MIT License. See the GitHub.


Alex Childers
CS 328
Homework 4, Problem 4
The Basics
Name:
Age:
Which college of HSU are you primarily involved in?
College of Arts, Humanities, and Social Sciences
College of Natural Resources and Sciences
College of Professional Studies
General Studies
Preferences
Choose some colors.
What is your favorite color?
What is your second favorite color?
What is your least favorite color?
Which of the following flavors have you tried?
Chocolate
Vanilla
Strawberry
Asphalt
Chalk
Which flavor is your favorite?
Chocolate
Vanilla
Strawberry
Asphalt
Chalk
Express yourself
Do you have a poem you can share about your favorite flavor?
Write an ode to your favorite flavor, if you feel so inclined.
Done?
Validate by pasting .xhtml copy's URL into
https://html5.validator.nu/


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Appendix E. Release Notes | Next |
Release Date: 2012-06-04
This release contains a variety of fixes from 9.0.7. For information about new features in the 9.0 major release, see Section E.11.
A dump/restore is not required for those running 9.0.X.
However, if you are upgrading from a version earlier than 9.0.6, see the release notes for 9.0.6.
Fix incorrect password transformation in
contrib/pgcrypto's DES crypt()
function
(Solar Designer)
If a password string contained the byte value 0x80, the remainder of the password was ignored, causing the password to be much weaker than it appeared. With this fix, the rest of the string is properly included in the DES hash. Any stored password values that are affected by this bug will thus no longer match, so the stored values may need to be updated. (CVE-2012-2143)
Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler (Tom Lane)
Applying such attributes to a call handler could crash the server. (CVE-2012-2655)
Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC (Tom Lane)
Some historical time zones have offsets larger than 15 hours, the previous limit. This could result in dumped data values being rejected during reload.
Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone (Tom Lane)
This oversight has been there a long time, but was not noticed previously because most DST-using zones are presumed to have an indefinite sequence of future DST transitions.
Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings (Karl Schnaitter)
Fix memory copying bug in to_tsquery()
(Heikki Linnakangas)
Ensure txid_current()
reports the correct epoch when
executed in hot standby (Simon Riggs)
Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
This bug concerns sub-SELECTs that reference variables coming from the nullable side of an outer join of the surrounding query. In 9.1, queries affected by this bug would fail with "ERROR: Upper-level PlaceHolderVar found where not expected". But in 9.0 and 8.4, you'd silently get possibly-wrong answers, since the value transmitted into the subquery wouldn't go to null when it should.
Fix slow session startup when pg_attribute is very large (Tom Lane)
If pg_attribute exceeds one-fourth of shared_buffers, cache rebuilding code that is sometimes needed during session start would trigger the synchronized-scan logic, causing it to take many times longer than normal. The problem was particularly acute if many new sessions were starting at once.
Ensure sequential scans check for query cancel reasonably often (Merlin Moncure)
A scan encountering many consecutive pages that contain no live tuples would not respond to interrupts meanwhile.
Ensure the Windows implementation of PGSemaphoreLock()
clears ImmediateInterruptOK before returning (Tom Lane)
This oversight meant that a query-cancel interrupt received later in the same query could be accepted at an unsafe time, with unpredictable but not good consequences.
Show whole-row variables safely when printing views or rules (Abbas Butt, Tom Lane)
Corner cases involving ambiguous names (that is, the name could be either a table or column name of the query) were printed in an ambiguous way, risking that the view or rule would be interpreted differently after dump and reload. Avoid the ambiguous case by attaching a no-op cast.
Fix COPY FROM to properly handle null marker strings that correspond to invalid encoding (Tom Lane)
A null marker string such as E'\\0' should work, and did work in the past, but the case got broken in 8.4.
Ensure autovacuum worker processes perform stack depth checking properly (Heikki Linnakangas)
Previously, infinite recursion in a function invoked by auto-ANALYZE could crash worker processes.
Fix logging collector to not lose log coherency under high load (Andrew Dunstan)
The collector previously could fail to reassemble large messages if it got too busy.
Fix logging collector to ensure it will restart file rotation after receiving SIGHUP (Tom Lane)
Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped (Tom Lane)
Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable (Tom Lane)
Fix potential access off the end of memory in psql's expanded display (\x) mode (Peter Eisentraut)
Fix several performance problems in pg_dump when the database contains many objects (Jeff Janes, Tom Lane)
pg_dump could get very slow if the database contained many schemas, or if many objects are in dependency loops, or if there are many owned sequences.
Fix pg_upgrade for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace (Bruce Momjian)
In ecpg, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure (Peter Eisentraut)
Fix contrib/dblink's dblink_exec()
to not leak
temporary database connections upon error (Tom Lane)
Fix contrib/dblink to report the correct connection name in error messages (Kyotaro Horiguchi)
Fix contrib/vacuumlo to use multiple transactions when dropping many large objects (Tim Lewis, Robert Haas, Tom Lane)
This change avoids exceeding max_locks_per_transaction when many objects need to be dropped. The behavior can be adjusted with the new -l (limit) option.
Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.


404
Error java.lang.NullPointerException
Back to Home Page
Title
July 11,
2012 2:17:16 PM CDT
There seems to be a problem with the page you requested (.)
exception name
There was an unexpected error (type=Bad
, status=500).
trace
Please contact the operator with the above information.


The credentials for Telia IoT is configured in aws-config.js file.
Update of credentials in-app must be supported later.


So, Reddit keeps the video and the audio in seperate files, and for the moment, doesn't keep a copy of the video with the sound still attached.
If you really need to download a file with sound, I suggest trying YouTubeDL, it's a command line tool that will download and merge both the video and the sound.
Hey! Use
Ctrl+S or Meta+S
while on the
comments section
of a video to download it!


High Quality Icons
HTML Pages
UI Elements
Effortless building and managing an eye-catching portfolio.
Build an attractive and stunning journal to tell your stories.
Showcase your products efficiently and beautifully for your visitors.
Various header and footer styles to serve you best for your needs.
Choose from included options or use custom colors or fonts.
Stunning look on all devices with HQ icon sets featuring 2300+ icons.
Featuring pixel perfect code, commented for easy editing.
Amazing features and elements to create rich and attractive pages.
Adapts to different screen sizes so is compatible with any device.
Happy Clients


+------------------------------------------------------------------------ | | VERSATILE INTERFACE ADAPTER (VIA) 6522 | +------------------------------------------------------------------------ | | Register description: | | VIA 1 (Serial Bus): | | $1800/6144/VIA1+0 Data Port B (ATN, CLOCK, DATA, Device #) | $1801/6145/VIA1+1 Data Port A (free for parallel cables) | $1802/6146/VIA1+2 Data Direction Register B | $1803/6147/VIA1+3 Data Direction Register A | $1804/6148/VIA1+4 Timer 1 Low-Byte (Timeout Errors) | $1805/6149/VIA1+5 Timer 1 High-Byte (Timeout Errors) | $1806/6150/VIA1+6 Timer 1-Latch Low-Byte (Timeout Errors) | $1807/6151/VIA1+7 Timer 1-Latch High-Byte (Timeout Errors) | $1808/6152/VIA1+8 Timer 2 Low-Byte (unused) | $1809/6153/VIA1+9 Timer 2 High-Byte (unused) | $180A/6154/VIA1+10 Shift Register | $180B/6155/VIA1+11 Auxiliary Control Register | $180C/6156/VIA1+12 Peripheral Control Register | $180D/6157/VIA1+13 Interrupt Flag Register | $180E/6158/VIA1+14 Interrupt Enable Register | $180F/6159/VIA1+15 Data Port A* (no handshake) | | VIA 2 (Motor and Head Control): | | $1C00/7168/VIA2+0 Data Port B (SYNC, Motors, Bit Rates, LED) | $1C01/7169/VIA2+1 Data Port A (Data to/from head) | $1C02/7170/VIA2+2 Data Direction Register B | $1C03/7171/VIA2+3 Data Direction Register A | $1C04/7172/VIA2+4 Timer 1 Low-Byte (IRQ Timer) | $1C05/7173/VIA2+5 Timer 1 High-Byte (IRQ Timer) | $1C06/7174/VIA2+6 Timer 1-Latch Low-Byte (IRQ Timer) | $1C07/7175/VIA2+7 Timer 1-Latch High-Byte (IRQ Timer) | $1C08/7176/VIA2+8 Timer 2 Low-Byte (unused) | $1C09/7177/VIA2+9 Timer 2 High-Byte (unused) | $1C0A/7178/VIA2+10 Shift Register | $1C0B/7179/VIA2+11 Auxiliary Control Register | $1C0C/7180/VIA2+12 Peripheral Control Register | $1C0D/7181/VIA2+13 Interrupt Flag Register | $1C0E/7182/VIA2+14 Interrupt Enable Register | $1C0F/7183/VIA2+15 Data Port A* (no handshake) | +------------------------------------------------------------------------ Back to Mainpage


Comments
-
Greg Hurrell
Haven't seen this one personally. So for some reason it can't unload the buffer.
I wonder if you have any settings in your
.vimrc
which might be responsible for this; can you post the contents of your.vimrc
?Also, does this happen all the time? Or is there only a limited set of circumstances under which it occurs? (ie. when there are no buffers open, when there are multiple buffers etc)
-
anonymous
Hey I'm the one who's currently dealing with that error. Wincent I believe you have a Mac, so if you would be inclined to download and compile a local version of Vim 7.3 (the one that I'm using) so that it might help you better understand some of the problems (ie - it might have to do with the configure options).
My vimrc hasn't been a problem before and Command-T worked fine on my Ubuntu installation.
Anyways, you can download the code (as I'm sure you'd rather read it before running it) for a script to install Vim 7.3 on your Mac here, let me know if you have any issues.
PS - Using a regular terminal with iTerm 2.
-
anonymous
having the same issue under macvim.
-
anonymous
I am now seeing this same issue as well, but under vim on Ubuntu, compiled with Ruby 1.9.2.
I notice it, though, under one condition: If now buffer is actually open (IE I just started vim), it will throw the same error.
Here is my vimrc (Very short vimrc): https://gist.github.com/861968
-
anonymous
Having a similar issue when I try to open a file:
Error Dected while processing function CommandTAcceptSelection cannot unload last buffer
This only happens however if I try using this command-t when I'm not already in a file. For instance if I do a vim . in my current directory and I'm in my NERDTree by default, this is when I get that error.
-
anonymous
Also having this problem, would love to use Command-T but it's probably not that useful while this persists.
Again, it only happens for me when there are no buffers open (e.g. in a directory listing after first opening MacVim)
-
Greg Hurrell
Just tried again to repro this and can't see it myself.
So if anyone who can repro it would like to submit a patch to work around the issue I'd be happy to look it, but can't do anything about it myself.
-
utkarsh
Created
,
edited
Hi Wincent,
I'm having the same problem on Ubuntu 10 and 11. I can consistently reproduce the error using the following steps:
-
cd into an existing project with a few files (I used
rails new foo && cd foo
). - Start command line vim in foo
vim .
. -
Search for a file (I typed
gf
that brought up Gemfile as the first result) and press return.
Screenshot of the error - http://dl.dropbox.com/u/2164813/tmp/command-t-bug-1778.png
I'm using the following hack as a temporary solution for now - http://dl.dropbox.com/u/2164813/tmp/command-t-bug-1778.diff.txt
I'm using NERDTree, BufExplorer, and a few autocomplete plugins with vim right now. Snapshot of the current settings is available at https://github.com/utkarshkukreti/dotfiles/tree/13a74b6ee55ec58aa5e9ffa122583849d3eaa79b
If you need any more help trying to debug this, feel free to contact me by mail. I'd be happy to help.
-
cd into an existing project with a few files (I used
-
Greg Hurrell
Hmmm, your so-called "hack" doesn't look that hackish to me. I'll give it a try here and see if there are any adverse effects.
-
Greg Hurrell
Ok, I've been able to reproduce using command line Vim and your instructions, but your patch doesn't resolve the issue for me.
At least now I can repro, though, so I think I'll be able to fix it.
-
Greg Hurrell
Status changed:
- From: new
- To: open
-
utkarsh
That's strange. I sent the patch to two of my friends, and it worked for them (Both on Ubuntu 10.10).
-
Steve Losh
I'm seeing the same problem with MacVim 7.3 on OS X.
I tried utkarsh's patch and it did make the errors go away, but the GoToFile window is still open at the bottom of the screen until I either close it manually or go to another file.
-
anonymous
This was fixed for me by updating my copy of macvim. I wasn't good about checking version of my old one, but updating to macvim snapshot 57 seems to have done the trick.
-
anonymous
Utkarsh's patch "fixes" the issue for me.
-
anonymous
The problem only appears on first use for me. The BufLeave autocmd occurs before the selected file is opened, so at the time, the match window is the only open buffer.
-
dmkash
I can confirm that the error is still present in MacVim snapshot 61 running on Mac OS X 10.7. It is only when I open a project directory in MacVim and I don't have an actual file open. Once I have some buffers going, Command-T works as expected.
-
anonymous
I have the exact same issue as dmkash.
-
anonymous
I'm also having this issue, just like dmkash described. Any ETA on this one? It's the only bad part of CommandT, the rest is golden!
-
Greg Hurrell
I haven't had much time to work on Command-T of late so I don't really have a reliable ETA.
There was Utkarsh's patch (see above), but that doesn't fix the issue, at least on my machine, so I can't really merge that in.
-
anonymous
FYI, it appears as though 7.3-61 fixes this on Lion (via homebrew). Was having the problem with *-60 and upgrade to be pleasantly and unexpectedly surprised.
-
anonymous
Amended about fix in 7.3-61 - still have problem when I start with "$ mvim ." but not if I start without the directory, so "$ mvim" works fine. I don't know if this was the case in the previous version of mvim.
-
anonymous
Just to clarify: mvim . with macvim 61 is still broken
-
anonymous
I too can go around this by using
mvim
instead ofmvim .
Finally. -
anonymous
I discovered that netrw was causing this on my setup. You can turn it off by adding
let g:loaded_netrwPlugin = 1
to your vimrc. While I was trying to debug I also found out that for some reason netrw doesn't count as a buffer. When you open macvim with only netrw, thenVIM::Buffer.count
registers as 0. -
anonymous
Still broken.
I think the reason this faults is when you use NERDTree. For example: mvim . and when NERDTree is the active buffer do <leader>t and select a file -- boom! the error.
Can you guys reproduce it this way?
-
Marius Gedminas
A boring /me too: on Ubuntu with latest command-t from git (without NERDTree; with just netrw) I get the unload buffer problem when I do 'vim .' followed by \t followed by ctrl-c. The "fix" makes the error message on ctrl-c disappear, but it also leaves the command-t window open.
-
Marius Gedminas
Incidentally, 'vim .' followed by \t followed by <Ctrl-W> q closes command-t without any errors.
-
Greg Hurrell
Closed bug #1949 as a duplicate of this one.
-
Greg Hurrell
Cross-referencing this forum topic.
-
Greg Hurrell
Attempted fix for this here.
Should arrive on the the GitHub mirror and the Gitorious mirror within about half an hour.
-
anonymous
This still happens for me. When I start vim with a directory (e.g. to drop into NERDTree) I see this error every time I try to use Command-T in that session.
-
Greg Hurrell
Closing due to lack of activity.
-
Greg Hurrell
Status changed:
- From: open
- To: closed
Add a comment
Comments are now closed for this issue.


Clear CSS


Track the feedback you have been asked to provide...
You can track the feedback you have been asked to provide and see you own feedback.Here are some features we are hoping to include:


Public Attributes | |
| GGSBoard | board [1] |
| GGSRequest | request [1] |
| GGSMatchOn | match_on [1] |
| GGSMatchOff | match_off [1] |
| GGSAdmin | admin [1] |
| GGSEvent | event |
| const char * | me |
| bool | is_playing |
| long long | last_refresh |
| struct { | |
| char * cmd | |
| int i | |
| long long delay | |
| } | loop [1] |
| struct { | |
| char * cmd | |
| long long delay | |
| } | once [1] |
| GGSAdmin GGSClient::admin[1] |
ggs admin
| GGSBoard GGSClient::board[1] |
ggs board
| char* GGSClient::cmd |
command
| long long GGSClient::delay |
delay between commands
delay
| GGSEvent GGSClient::event |
ggs event
| int GGSClient::i |
iteration number
| bool GGSClient::is_playing |
is Edax playing ?
| long long GGSClient::last_refresh |
date of last refresh
| struct { ... } GGSClient::loop[1] |
loop instruction
| GGSMatchOff GGSClient::match_off[1] |
ggs match off
| GGSMatchOn GGSClient::match_on[1] |
ggs match on
| const char* GGSClient::me |
Edax's name on GGS
| struct { ... } GGSClient::once[1] |
command issued once after some delay
| GGSRequest GGSClient::request[1] |
ggs request


Heic Extractor 🖤
1. Select or drag and drop your .heic file
Choose a file…
...
2. Name your theme
Convert
Open Theme Folder
Tweak your theme
Error
1. Your file must be a
.heic
image.
2. You can import only 1 file.
Success
Nice, all your files are ready 🌹 !
Open the
./output
folder to see your files !


I have been using pellican to generate and maintain my blog sinces its inception and it has been mainly fine. However after getting a new machine and starting to fiddle with a new post I started noticing things such as installation being far from optimal and it no longer generating a functioning site after updating pellican.
After an update all line-breaks in code-segments just got removed, did I configure something wrong, what to do to fix it? Don’t know and Im not really keen on finding out.
This looked like a perfect time to try out something new and since hugo seems to be the “hottest thing around” I went for that…
And such a treat it was! As the title states, the hardest thing of this migration was to actually select a theme I liked (ended up with harbor by Masaya Watanabe as you might see :))! Everything else was just a smooth. Things such as:
- From having a single binary to “install”
- Really simple setup
- Great get started-doc
- Smooth builtin server with auto-update on content updates.
- Being markdown-based, making it trivial to switch from pellican.
Simply a treat to work with!
Don’t think I have anything else to add and I hope to be able to roll out some more “meaty” posts in the future. I have one in the making that has been sitting, waiting to be completed, since christmas that I hope to publish soon.


An implementation of Bisect, a method for inferring cell type composition of samples based on methylation sequencing data (Whole Genome Bisulfite Sequencing and Reduced Representation Sequencing). The method is specifically tailored for sequencing data, and therefore works better than methods developed for methylation arrays. It contains a supervised mode that requires a reference (the methylation probabilities in the pure cell types), and a semi-supervised mode, that requires cell counts for a subset of the samples, but does not require a reference.
| Version: | 0.9.0 |
| Depends: | R (≥ 3.4.0) |
| Suggests: | dplyr, knitr, rmarkdown, tidyr, sirt, ggplot2 |
| Published: | 2018-04-16 |
| Author: | Eyal Fisher [aut, cre] |
| Maintainer: | Eyal Fisher <ef388 at cam.ac.uk> |
| License: | GPL-3 |
| URL: | https://github.com/EyalFisher/BiSect |
| NeedsCompilation: | no |
| CRAN checks: | bisect results |
| Reference manual: | bisect.pdf |
| Vignettes: |
BiSect: Infering Cell Type Compositon |
| Package source: | bisect_0.9.0.tar.gz |
| Windows binaries: | r-devel: bisect_0.9.0.zip, r-release: bisect_0.9.0.zip, r-oldrel: bisect_0.9.0.zip |
| OS X binaries: | r-release: bisect_0.9.0.tgz, r-oldrel: bisect_0.9.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=bisect to link to this page.


A high performance network packet capture framework. This is a
high level packet capture framework that abstracts all of the complexity
of live network captures, reading captured packets from capture files
(trace files), streaming packet data accross java.io streams or enabling
remote capture sesssion accross the network. The org.jnetstream.capture
package allows easy processing and capture of network packets. Live
packets can be captured on a local network interface or remotely.
The main class you will be dealing with is the Capture
interface. You aquire a reference to a Capture
instance
using factory methods in the Captures
class for local
sessions and RemoteSession
for, you guessed it, remote
sessions on a remote server. (To get a RemoteSession
call
the static method RemoteServer.openSession(URI)
.) The
factory methods return the most specific subclass of LiveCapture
and FileCapture
, all of which are subclasses of the base Capture
interface. So remember that LiveCapture
and FileCapture
both extend Capture
. You will see in the examples below the
use of Capture
and sometimes the more specific subclass
depending if the method involved in the example need something out of
the more specific subclass such as LiveCapture.interfaceSnapshot()
method (see section "CaptureInterface
state changes"
below.)
CapturePacket
is a high level object that holds a
buffer with packet data as captured from a live network interface, a
file or remote sender. It also contains some additional information
needed for proper processing of the buffer. Also contains some meta data
such as capture timestamp, a reference to the CaptureDevice which holds
detailed descriptors about the network interface that the packet was
captured on.
The Captures class provides the following static factory methods which instantiate capture sessions:
Captures.openFile(File)
- opens up a capture file
for readingCaptures.openLive(NetworkInterface)
- opens up a
network interface for live capture from the networkCaptures.openFile(InputStream)
- opens up a
capture from a stream, but exects the stream to be in supported file
format such as when you use a FileInputStream on a capture file.CaptureInputStream
- this is a class that
deserializes CapturePacket
written to a CaptureOutputStream
.
Both these classes are subclasses of InputStream
and OutputStream
.
Passing a CaptureInputStream
to Captures.openFile(InputStream)
method will throw an CaptureFormatException
since the
stream is not formatted to like capture files.Capture
instanceCapture
interaface extends the
IOIterator
interface which uses the familiar
hasNext()
and
next()
method calls. So lets just open a live capture on all network interfaces
a system has and print the packet properties to stdout:
Capture capture = Captures.openLive(); // Opens up all network interfaces, except loopback ints while (capture.hasNext()) { CapturePacket packet = capture.next(); System.out.println("packet properties=" + packet.toString()); }Note: Note that you also need to catch some exceptions that are declared, but not included in the example.
Another common usage is to capture packets and store them in a file.
So we first setup a source of packets which is a live network capture from a specific network interface.
List<CaptureDevice> ints = Captures.listInterfaces(); if (ints.isEmpty()) { return; // No interfaces on this system } CaptureInterface netint = ints.get(0); // Just grab the first network interface Capture capture = Captures.openLive(netint);So now we have a source of packets which is the first network interface returned all the interfaces. Next we want to create a new file and append all the captured packets to that file. We will create the file in PCAP format.
Captures.newFile(new File("mycapture.pcap", SuppliedFileTypes.PCAP, capture);The above line creates a new file called "mycapture.pcap" in PCAP format (2nd parameter). At this point all the needed initialization is done and a new file created with the right file header. The the last argument is the source of packets, our capture instance. The above method iterates through all the way to the end using {@link Capture#hasNext()} and {@link Capture#next()} method calls until hasNext eventually returns false. Those packets are written in the PCAP format into the capture file.
List<CaptureDevice> ints = Captures.listInterfaces(); if (ints.isEmpty()) { return; // No interfaces on this system } CaptureDevice netint = ints.get(0); // Just grab the first network interface Filter filter = new BpfFilter(new PcapExpression("ip")); Capture capture = Captures.openLive(filter, netint);
The filter is a BPF filter (Berkley Packet Filter) that efficiently filters incomming packets being captured and only allows packets that match the filter criteria to be returned. The filter is actually applied to operating system kernel (if OS supports this option) and the packet capture driver efficiently filters packets without any extraneous copies of packet contents. Lastly the filter is simply supplied as the first parameter to the openLive method.
An alternate way to set a filter is to set the filter on the CaptureDevice. Such as in this case:
List<CaptureDevice> ints = Captures.listInterfaces(); if (ints.isEmpty()) { return; // No interfaces on this system } CaptureDevice netint = ints.get(0); // Just grab the first network interface Filter filter = new BpfFilter(new PcapExpression("ip")); netint.setFilter(filter); Capture capture = Captures.openLive(netint);
This sets the filter only on this interface and not any other interfaces if they were specified. You can also change the filter after the capture has begun and even some packets returned. The only way to change a filter after the CaptureInterface has been applied, is to set it on the capture itself and not on the device instance directly.
List<CaptureDevice> ints = Captures.listInterfaces(); if (ints.isEmpty()) { return; // No interfaces on this system } CaptureDevice netint = ints.get(0); // Just grab the first network interface Filter ipFilter = new BpfFilter(new PcapExpression("ip")); netint.setFilter(ipFilter); Capture capture = Captures.openLive(netint); // Get 10 IP packets for (int i = 0; i < 10 && capture.hasNext(); i ++) { System.out.println("CaptureInstance=" + capture.next().getCaptureInterface()); } // After netint has been applied it becomes immutable and we can no longer call // on its CaptureDevice.setFilter method. Use CaptureInterface.isMutable() to check for this. Filter ipxFilter = new BpfFilter(new JpcapExpression("ipx")); CaptureInterface ni = capture.setFilter(filter, netint); // Sets a new filter and creates a new instance of CaptureInterface // Get 10 IPX packets for (int i = 0; i < 10 && capture.hasNext(); i ++) { System.out.println("CaptureInstance=" + capture.next().getCaptureInterface()); } capture.close();The call to
capture.setFilter(filter, netint)
does not modify the netint instance, this instance is immutable after
the call to Captures.openLive(netint). What happens is a new instance of
CaptureInterface is created based on the old one, and the new filter set
in the new instance. The call returns the new CaptureInstance reference,
notice its no longer returned as CaptureDevice as its immediately
applied to captures and becomes immutable. The reason for this strict
mutable/immutable control is that any perviously captured packets will
still reference the same CaptureInterface reference at the time they
were captured. New packets returned after the new filter was applied to
filter on IPX packets, will return references to new CaptureInterface
that has the new filter applied.
To append packets to an existing file you need to first get your
source of packets setup, open up the capture file and use the methods in
MutableFileCapture or simply call a utility method in Captures.append()
to do the copying for you. This time lets use a NAP file and do the
copying ourselves:
Capture capture = Captures.openLive(); // Opens up all network interfaces, except loopback MutableCaptureFile file = CaptureFiles.openFile(new File("mycapture.nap"); file.last(); // advance the iterator to past the last packet in the file while (capture.hasNext()) { CapturePacket packet = capture.next(); file.add(packet); }First we create a new capture which opens up all the network interfaces for live capture. Second we open a NAP file. Third we advance the file position to the end of the file by calling {@link MutableFileCapture#last} which returns the last packet and advances the position past it. We want to append our packets to the end not insert them at the beginning although for an empty file beginning is the last element. Lastly we go into a loop that reads one packet at a time and using the mutable file adds or appends the packets to the file.
We could have done steps 3 and 4 with a utility method. Here is the same example using the utility method:
Capture capture = Captures.openLive(); // Opens up all network interfaces CaptureFile file = CaptureFiles.openFile(new File("mycapture.nap")); CaptureFiles.append(file, capture);Or this compact notation:
CaptureFiles.catFile(new File("mycapture.nap"), Captures.openLive());
It is certainly possible for a network interface on which a capture is taking place to change state such as different set of LiveCapture.Option has been set by a separate instance of LiveCapture, someone had alterned the IP addresses assigned to the interface at runtime, a new filter applied, etc etc... All the while our capture session is still in progress. There is a simple way to record these changes by taking a snapshot of the interface config. After a snapshot is taken any packets returned will reference new CaptureInterface objects that reflect the exact config of the interface, while any previously returned packets will continue to reference the old CaptureInterface objects which contain the state before the snapshot took place. To take a snapshot simply call the LiveCapture.interfaceSnapshot method.
LiveCapture capture = Captures.openLive(); for (int i = 0; i < 10000 && capture.hasNext(); i ++) { LivePacket packet = capture.next(); // Do something with the packet } // Some even caused one of the interface to change state, i.e. new IP address alias added to the interface capture.interfaceSnapshot(); // Now capture 10000 more packets which reference new CaptureInterface objects for (int i = 0; i < 10000 && capture.hasNext(); i ++) { LivePacket packet = capture.next(); // Do something with the packet } capture.close();The call to interfaceSnapshot() creates new CaptureInterface instances on all currently open interfaces. The new CaptureInterfaces are initialized to the latest state of the network interface, reflecting the fact that new IP address alias has been added to one network interfaces. You could more specifically target the exact interface instead of taking a snapshot of all interface by using the variation of the method interfaceSnapshot(CaptureInterface).
Note that using the Capture.setFilter method to set a new filter automatically takes a snapshot to reflect the changed filter. It is not required to take a second snapshot by explicitely calling another interfaceSnapshot.
List<CaptureDevice> ints; LiveCapture live; FileCapture file; Captures.LocalFactory lf = Captures.getLocal(); ints = lf.listInterfaces(); // List of all interfaces on local system live = lf.openLive(); // Open all interfaces on local system for capture file = lf.openFile(new File("myfile.pcap")); // Open file on local system for reading and writting live.close(); file.close(); Captures.RemoteFactory rf = RemoteServer.openSession(new URI("<IP_ADDRESS>")); ints = rf.listInterfaces(); // List of all interfaces on remote system live = rf.openLive(); // Open all interfaces on remote system for capture file = rf.openFile(new File("/tmp/myfile.pcap")); // Open file on remote system for reading and writting live.close(); file.close();Or even more abstracted since all these above methods are actually in the super interface Captures.Factory:
List<CaptureDevice> ints; LiveCapture live; FileCapture file; Captures.Factory factory; factory = Captures.getLocal(); ints = factory.listCaptureDevices(); // List of all interfaces on local system live = factory.openLive(); // Open all interfaces on local system for capture file = factory.openFile(new File("myfile.pcap")); // Open file on local system for reading and writting live.close(); file.close(); RemoteSession session = RemoteServer.openSession(new URI("<IP_ADDRESS>")); factory = session; // RemoteSession extends RemoteFactory ints = factory.listCaptureDevices(); // List of all interfaces on remote system live = factory.openLive(); // Open all interfaces on remote system for capture file = factory.openFile(new File("/tmp/myfile.pcap")); // Open file on remote system for reading and writting live.close(); file.close(); session.close(); // We needed to keep RemoteSession reference only so that we could explicitly close it // because RemoteFactory itself is not Closeable.You get the point. There is not much difference in invoking factory methods for local or remote sessions. There are some restrictions and they are reflected in methods included in the
LocalFactory
and
RemoteFactory
interfaces. Certain methods that can only be invoked
locally are not included in the RemoteFactory and vise versa. The above
example assumes that you have an instance of RemoteServer running on the
remote system at IP address <IP_ADDRESS>. It should be clear at this
point that the static Captures
methods are only defined for all
LocalFactory
abstract methods. RemoteSession
itself adds a few
additional methods related to a remote session besides the methods
extended from RemoteFactory
.
Another thing you may wish to do, is to actually control all the parameters of a capture file. So lets do an example of where we create a Pcap file with a custom block record (file header).
There are actually several ways to create an empty file in jNetStream capture framework.
Captures
static methodsPcapFile pcap = Captures.newFile(FileType.Pcap, new File("capture.pcap"));
Factory
for local sessions and use its
factory methodsLocalFactory lf = Captures.getLocal(); PcapFile pcap = lf.newFile(FileType.Pcap, new File("capture.pcap"));
PcapFile pcap = FileType.Pcap.newFile(File("capture.pcap"));Once we have a Pcap capture file we can proceed to tweak its contents. By default the capture file is created with a
PcapBlockRecord
already in
place with default values, there is no way to create a file without
these defaults. But its easy to clear out the file to its absolute
minimum.
PcapFile pcap = FileType.Pcap.newFile("capture.pcap"): PcapModifier modifier = pcap.getPcapIterator(); modifier.removeAllRecords();At this point the file size is 0 bytes, all records have been completely removed. We can then proceed to add our custom block record with our new values:
PcapFile pcap = FileType.Pcap.newFile("capture.pcap"): PcapModifier modifier = pcap.getPcapIterator(); modifier.removeAllRecords(); PcapBlockRecord block = modifier.addBlockRecord( new byte[] {0x11, 0x22, 0x33, 0x44}, // Magic Number 2, 4, // Major and minor verions PcapDLT.EN10, // DLT 0, // Accuracy 0, // Timezone 1024 // Snaplen );We're convieniently returned a reference to the newly created block record. We can then proceed to add packet records which is the only other type of record a Pcap file can have using
PcapModifier.addPacketRecord()
method. Notice that we added a bogus magic number, which the API allowed
us to do. This creates an invalid pcap file that no program could read
in, but if that's what the user wanted to do, its allowed.
The other file formats, especially NAP file formats are a lot more involved with many different types of records possible and their Modifiers are much more comprehensive.
NapFile nap = FileType.Nap.newFile("capture.nap"); NapModifier modifier = nap.getNapIterator(); /* * Now, using the NapModifier, we can add block, property, capture device, packet records. * NapModifier allows addition of over a dozen different types of NAP records. */You get the point.
Factory
methods may be much more efficient at copying packets
around as more efficient algorithms may be used to accomplish the task
then simply iterating one packet at a time. For example if you were
appending PCAP file as sources to a destination file that was also a
PCAP file, then raw bulk buffers of source file data may be copied at
once, without the need to even do the minimal decoding that is done when
packets are iterated over. Or if the destination file was a PCAP file
and the source LiveCapture
was also based on libpcap implementation (as
it is, part of the first release) the much more efficient offline
capture would be initiated which uses kernel drivers to dump packets
directly into the destination capture file; a much more efficient short
cut indeed. So the capture framework will pick the most efficient
algorithm available for the circumstances at hand.
The capture framework uses java.nio
package extensively to
allocate large direct buffers, map file contents into memory using
native OS shortcuts and then, decodes only the smallest amount of data
needed to accomplish the task. The objects returned such as
CapturePacket and its subclassed variations reference into these buffers
and don't typically allocate a lot of memory themselves. This means
these objects can be created efficiently. Multiple packets are typically
prefetched into a cache in larger chunks and share a single large
buffer. Some buffers map file contents directly into buffer's memory
ensuring that the file contents are only read into memory once; by the
kernel.
Also use the methods that take entire collections instead of accomplishing the same task by using methods that take a single element and you doing the iteration. This is especially true when modifying files or inserting/deleting packets from files. The implementation algorithms are tuned for executing operations as efficiently as possible given all the information supplied. So inserting or deleting a bunch of packets at once in a file is much more efficient then inserting or deleting a single packet at a time. The same is true for all methods that accept collections or arrays.
Future enhancements may provide additional efficiencies as technologies develop and this project matures. The API is designed to hide the implementation details well and allows a lot of leaverage for the implementors to do their magic behind the scenes.


  I thought that there ought to be some stickers or graphics or something to help further this idea.
I don't want to profit from something that I didn't originally say, so I made these stickers available for free, for anyone who wants them. Download them all as a ZIP file. If you don't want to do the legwork, I've put them all up on Redbubble so for a fee you can have some stickers made and delivered to your door.


--- layout: post status: publish published: true title: Here Comes Javy author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 9955 wordpress_url: http://ivyenvy.com/?p=9955 date: '2014-05-23 08:13:46 +0000' date_gmt: '2014-05-23 13:13:46 +0000' categories: - Minor Leagues - Prospects tags: - Iowa Cubs - Javier Baez comments: - id: 11252 author: Bob Zerull author_email: '' author_url: '' date: '2014-05-23 09:06:58 +0000' date_gmt: '2014-05-23 14:06:58 +0000' content: Until tomorrow when we're there :( - id: 11253 author: Ivy Envy author_email: '' author_url: '' date: '2014-05-23 09:29:10 +0000' date_gmt: '2014-05-23 14:29:10 +0000' content: With a LF suite, I expect 4 of us to leave with souvenirs. - id: 11254 author: Bob Zerull author_email: '' author_url: '' date: '2014-05-23 09:32:43 +0000' date_gmt: '2014-05-23 14:32:43 +0000' content: You should make us sign something that says Ivy Envy owns any souvenirs that enter the suite from the game of play. - id: 11255 author: Dawn Strand author_email: '' author_url: '' date: '2014-05-23 11:15:15 +0000' date_gmt: '2014-05-23 16:15:15 +0000' content: If he has truly overcome his early season struggles, then I'm ready to fully believe that he is the REAL DEAL. So awesome! ---
Heading out of Spring Training, it seemed inevitable that Javier Baez would dominate the AAA level and receive the call to Chicago once the Cubs were certain the Super Two deadline had passed. By the way, if you'd like an explanation of why the Cubs wouldn't know the exact date they could call him up, read this post on Javier Baez and Super Two Status.
As it turns out, Baez has not dominated the AAA level. A week ago, Javier Baez's batting average was .142 and if the call was happening in 2014, it looked like it would happen much later in the season.
Struggles for Baez aren't completely unexpected. With his bat speed, pitchers at any level will have a hard time throwing a fastball past him. It's the off-speed stuff that Baez is going to have to figure out.
Baez had few issues with lower-level off-speed stuff because it's really just not that good. Most lower-level minor league pitchers haven't mastered their off-speed pitches and the control isn't great.
It hasn't been time to sound the alarms over Baez's struggles, but it has been disappointing for those of us that were hoping to have the first piece of this huge Cubs rebuild in Wrigley and on our televisions this summer. At the same time, struggles at the AAA level are probably good for Baez. It's best to have those experiences in the minors to use as learning experiences when the same struggles happen in his big league years.
On our podcast recently, we have talked about that when Baez broke out of this slump, his breakout would be remarkable, like everything else he's done in the minor leagues.
So are the AAA struggles over? Maybe. After last night's 4-5 performance with 2 doubles and a home run, Baez has a 7-game hitting streak and in those games, he's hitting .429. He also has 3 home runs in that stretch, which matches his total for the season up to that point. In a week, he raised that .145 batting average to .201.
A breakout couldn't come at a better time for us Ivy Envy guys. Our Iowa Cubs Meet-up is tomorrow and with a Left Field Suite, we'll be ready for a show.