Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

July 11 2013

Four short links: 11 July 2013

  1. Sifted — 7 minute animation set in a point cloud world, using photogrammetry in film-making. My brilliant cousin Ben wrote the software behind it. See this newspaper article and tv report for more.
  2. Vehicle Tech Out of Sync with Drivers’ DevicesFord Motor Co. has its own system. Apple Inc. is working with one set of automakers to design an interface that works better with its iPhone line. Some of the same car companies and others have joined the Car Connectivity Consortium, which is working with the major Android phone brands to develop a different interface. FFS. “… you are changing your phone every other year, and the top-of-mind apps are continuously changing.” That’s why Chevrolet, Mini and some other automakers are starting to offer screens that mirror apps from a smartphone.
  3. Incentives in Notice and Takedown (PDF) — findings summarised in Blocking and Removing Illegal Child Sexual Content: Analysis from a Technical and Legal Perspective: financial institutions seemed to be relatively successful at removing phishing websites while it took on average 150 times longer to remove child pornography.
  4. OpenCV for Processing (Github) — OpenCV for Processing is based on the official OpenCV Java bindings. Therefore, in addition to a suite of friendly functions for all the basics, you can also do anything that OpenCV can do. And a book from O’Reilly, and it’ll be CC-licensed. All is win. (via Greg Borenstein)

April 23 2013

Four short links: 23 April 2013

  1. Drawscript — Processing for Illustrator. (via BERG London)
  2. Archive Team Warriora virtual archiving appliance. You can run it to help with the ArchiveTeam archiving efforts. It will download sites and upload them to our archive. (via Ed Vielmetti)
  3. Retro Vectorsroyalty-free and free of charge.
  4. TokutekDB Goes Open Sourcea high-performance, transactional storage engine for MySQL and MariaDB. See the announcement.

July 01 2011

Four short links: 1 July 2011

  1. paper.js -- The Swiss Army Knife of Vector Graphics Scripting. MIT-licensed Javascript library that gives great demo.
  2. TileMill for Processing -- gorgeous custom maps in Processing. (via FlowingData)
  3. Research Assistant Wanted -- working with one of the authors of Mind Hacks on augmenting our existing senses with a form of "remote touch" generated by using artificial distance sensors, such as ultrasound, to stimulate tactile stimulators (vibrating pads) placed against the surface of the head.. (via Vaughn Bell)
  4. GoldenORB -- a cloud-based open source project for massive-scale graph analysis, built upon best-of-breed software from the Apache Hadoop project modeled after Google’s Pregel architecture. (via BigData)

January 14 2011

Four short links: 14 January 2011

  1. What Went Wrong at Borders (The Atlantic) -- a short summary of the decline and fall of Borders. Borders has a special place in our hearts at O'Reilly: it was a buyer for Borders who pointed out that Programming Perl was one of their top-selling books in any category, which got Tim focused on the Open Source story.
  2. Virtues of Monitoring -- great explanation of the different levels of monitoring you could (and should) have in your application. (via Simon Willison)
  3. Getting Started with Processing and Data Visualization -- a quick intro to building data visualizations with Processing. Nice variety in the examples, too. (via Hacker News)
  4. A Localization Horror Story -- how hard it is to localize correctly. A wonderful article that is ruthlessly accurate in its descriptions of the pains of localizing software, which is no easier today despite the article being over a decade old.

December 29 2010

Four short links: 29 December 2010

  1. datastore -- implementation of Google App Engine Datastore in Java, running on hbase and hadoop. (via Hacker News)
  2. Mining of Massive Datasets -- 340 page book from Stanford with the best copyright cautionary coverletter: we expect that you will acknowledge our authorship if you republish parts or all of it. We are sorry to have to mention this point, but we have evidence that other items we have published on the Web have been appropriated and republished under other names. It is easy to detect such misuse, by the way, as you will learn in Chapter 3. (via Delicious)
  3. Wordcram -- generate word clouds in Processing. (via jandot on Twitter)
  4. URL Design -- the why and how of designing your URLs. Must-read. (via kneath on Twitter)

December 03 2010

Strata Gems: Write your own visualizations

We're publishing a new Strata Gem each day all the way through to December 24. Yesterday's Gem: Use Wikipedia as training data.

Strata 2011For many of us, collecting a data set is the easy bit, but turning data into a picture that tells a story is the hard part. We're frustrated at using the tired vocabulary of Excel-generated charts, but aren't sure where to go next. Like computer hardware, creating something graphical is a bit of a mystery - but needlessly so.

Take a little bit of time to get started with Processing, and you'll find creating interactive and interesting graphics to be fun, and not at all as hard as it seems. Processing has been around for almost ten years: originally motivated with the goal of aim promoting software literacy within the visual arts, it serves just as well to promote visual literacy among those who are comfortable with computing.

To get a feel for the capabilities of Processing, take a look at a couple of examples from the Processing Exhibition. Stephan Thiel's Understanding Shakespeare creates high level overviews of the text of Shakespeare plays, giving a feel for the form of the speeches and characters.

Just Landed, created by Strata speaker Jer Thorp, turns "just landed" tweets from airplane travelers into a 3D visualization of air travel. It's a great showcase for the capabilities of Processing, incorporating external data sources, 3D rendering, and exporting to video.

Just Landed - 36 Hours from blprnt on Vimeo.

There's a pretty straightforward way to get started with Processing, by using its JavaScript-based cousin, Processing.js. Whereas Processing is Java-based, Processing.js uses the features of HTML5 to make it possible to use Processing in modern web browsers. Getting up and running takes seconds: download the Processing.js archive and unpack it on a web server (Mac users can use the "Sites" folder on their computer and enable web sharing).

Take a look at the example.html file in the archive, and you'll see it simply sets up a canvas to draw on, and includes the actual Processing.js code from example.pjs. Replace the code in example.pjs with that shown below (taken from the Getting Started With Processing book).

void setup() {
  size(250, 250);

void draw() {
if (mousePressed) {
} else {
ellipse(mouseX, mouseY, 80, 80);

The code needs little explanation - the draw function controls what appears on the screen. It draws a circle underneath the mouse cursor, in either black or white depending on whether the mouse button is pressed or not. Give it a whirl!

In case you don't want to put files on a web server, there's an even easier way to experiment - the Processing.js IDE web page lets you paste code into the page and run it directly.

Processing.js screenshot
A run of the example code

So how do you connect Processing.js up to your data? A simple way is to directly generate the Processing.js "sketch" (.pjs) files from your data. For more interactivity, you can take advantage of the fact that Processing.js lets you mix Processing and JavaScript code, and fetch data dynamically from the web.

If you're using the Processing language proper, you can either read data from files directly, or use the Network library offers features to connect to remote servers.

June 17 2010

Visualizing the Senate social graph, revisited

"Beautiful Visualization" releases in print next week. In putting together the book, Julie Steele and Noah Iliinsky asked a range of visualization experts like Nick Bilton, Fernanda Viega and Martin Wattenberg, as well as enthusiasts (like me), to critique a visualization they'd created.

My chapter, which was inspired by Chris Wilson's article The Senate Social Network, uses graph visualization and data from to show how voting patterns in the U.S. Senate have evolved since 1991. For example, one of the most stark revelations in the visualization is the way that cross-party voting (as Wilson defined it, which was when two Senators voted together across a session over 65% of the time) completely disappears during the 104th session (the period of the so called "Republican Revolution").

While this isn't exactly unexpected, it was fascinating to see how clearly these events are reflected in the visualization. The structure of the graph went from a fairly oblong shape with many cross connections between parties to two completely separate, tight party clusters. This Ignite presentation describes the key findings in more detail:

In revisiting the visualization for the book, I found a number of areas for improvement, such as:

  • Adding interactivity. Graphviz is a great quick tool, but it produces a static output. A better approach would allow the viewer to interact with the data more meaningfully.
  • More effective labeling. I used simple numeric labels to identify each senator. Unless you had a magnifying glass, the small font made it difficult to quickly identify a particular senator.
  • Presenting more meaningful transitions between periods. This area in particular needed more work. Although the diagrams effectively present the overall patterns, people were more often interested in how a particular senator moved over time.

So, this post presents a Processing visualization that addresses many of these deficiencies:

  • Rather than static images, senators are represented by animated figures. As you move through the sessions using the left and right arrow keys, the senators "walk" from their positions in one graph to their new position in the next graph. (Or, if they have just been voted in or out, they come in from the top and bottom.)
  • Mousing over the senator displays his or her name. Clicking on the senator makes the label stay on between transitions so you can track them across sessions.

While this revised visualization shows the same information as the original static version, the addition of interactivity and animated transitions makes this a much more engaging way to explore the senatorial voting patterns.

(Note: You must click your mouse somewhere inside the Applet area in order for this to work. Then use the right and left arrow keys to move between sessions.)

May 05 2010

Four short links: 5 May 2010

  1. Sketch for Processing -- an IDE for Processing based on Mozilla's Bespin.
  2. British Election Results to be Broadcast on Big Ben -- the monument is the message. Lovely integration of real-time data and architecture, an early step for urban infrastructure as display.
  3. API -- an alpha API for face recognition.
  4. Average Number of Books/Kindle -- short spreadsheet figuring out, from cited numbers. (Spoiler: the answer is 27)

January 22 2010

Four short links: 22 January 2010

  1. notmuch -- commandline tagging and fast search for a mailbox, regardless of which mail client you use.
  2. Processing for Android -- pre-release versions of a Processing for Android devices. Mobile visual programming makes for interesting possibilities.
  3. Binary Body Double: Microsoft Reveals the Science Behind Project Natal for Xbox 360 -- machine learning to recognize poses and render in the game at 30fps. It's a basic real-time mocap and render.
  4. The Monetization Paradox -- interesting post by Charlie Stross about the quandry of authors. he proposed $9.99 cap on ebooks replaces the high-end $24 hardcover. Not only does it mean less royalties for the authors, it means less money for the publishers — or, more importantly, their marketing divisions. Here's a hint: if I wanted to spend my time marketing my books I'd have gone into marketing. I'm a writer. Every hour spent on marketing activities is an hour spent not writing. Ditto editing, proofreading, commissioning cover art, and so on. This is what I have publishers for.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!