Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

node-v0.1.30 (via) A very significant new release of Node.js: the Twisted/Dojo-style Promise abstraction has been removed entirely, causing backwards incompatible changes to a bunch of core APIs. This means the pseudo-blocking Promise.wait() method is gone too, making it even harder to accidentally block your event loop. Instead, user-level libraries are encouraged to add Promise-style abstractions. I’m pleased to see Node sticking to the low-level stuff.

# 22nd February 2010, 7 pm / async, dojo, javascript, nodejs, promise, twisted

Ryan Tomayko on Github’s development process. In the comments—a fascinating insight in to how GitHub’s “developers work on whatever is most interesting to them” process manages to achieve really good results.

# 22nd February 2010, 9:18 am / agile, github, process, ryan-tomayko

jacobian’s django-deployment-workshop. Notes and resources from Jacob’s 3 hour Django deployment workshop at PyCon, including example configuration files for Apache2 + mod_wsgi, nginx, PostgreSQL and pgpool.

# 19th February 2010, 2:28 pm / apache, deployment, django, jacob-kaplan-moss, modwsgi, nginx, pgpool, postgresql, pycon, python, sysadmin

Making Facebook 2x Faster. Facebook have a system called BigPipe which allows them to progressively send their pages to the browser as the server-side processing completes to optimise client loading time. Anyone reverse engineered this yet to figure out how they actually do it?

# 19th February 2010, 9:14 am / bigpage, facebook, optimisation, performance

Search Engine Time Machine. Detailed explanation of how ElasticSearch provides high availability, through clever sharding and replication strategies and configurable gateways for long-term persistent storage.

# 17th February 2010, 10:32 pm / elasticsearch, highavailability, scaling, search

The Case For An Older Woman. OK Cupid’s fascinating statistics blog uses cleverly plotted aggregate data from the dating site to illustrate the difference in age tastes between the genders (men try to date younger women) and show why that might not be the best strategy. An infographics tour-de-force.

# 17th February 2010, 10:20 pm / data, dating, graphs, infographics, okcupid

do. A library for Node that adds a higher level abstraction for dealing with chained and parallel callbacks.

# 17th February 2010, 5:43 pm / do, javascript, nodejs

How To Node. New blog about Node.js, with a superb series of tutorials aimed at both experienced and new JavaScript developers. The stuff on managing callbacks (including running them in both series and parallel) is pretty eye-opening.

# 17th February 2010, 5:42 pm / callbacks, javascript, nodejs

Werewolf: How a parlour game became a tech phenomenon. The legendary “everyone’s a villager” game from Foo Camp ’08 gets a write-up in Wired.

# 17th February 2010, 5:30 pm / foocamp, games, werewolf, wired

A new global visual language for the BBC’s digital services. Detailed explanation of the BBC’s new “visual language” for their digital properties.

# 17th February 2010, 12:34 pm / bbc, design

Django Advent. I can’t believe I haven’t linked to this already—Django Advent is “a series of articles about upcoming releases of the Django web framework”. Seven have been posted so far, covering topics from 1.2 including multi-db, messages, object permissions and natural keys.

# 16th February 2010, 4:06 pm / django, djangoadvent

A Collection Of Redis Use Cases. Lots of interesting case studies here, collated by Mathias Meyer. Redis clearly shines for anything involving statistics or high volumes of small writes.

# 16th February 2010, 3:04 pm / mathiasmeyer, nosql, redis

The magic of sub-editors. A neat illustration of how sub-editors work their magic, using the original article with strikes through the parts that were edited out.

# 16th February 2010, 10:44 am / john-graham-cumming, science, subeditors, writing

The Widening HTML5 Chasm. Simon St. Laurent’s commentary on the HTML5/Adobe situation. The most interesting piece I’ve read on it so far.

# 15th February 2010, 9:51 pm / adobe, html5, simon-st-laurent, w3c, whatwg

Revisiting the click track. Paul Lamere uses the new Echo Nest API to access analysis data for music tracks and plot the beats per minute, making it easy to spot bands or drummers using a click track or drum machine to stay in tempo.

# 15th February 2010, 9:35 am / clicktrack, echonest, music

Redis in Practice: Who’s Online? Using Redis to implement a “which of your friends are online now” feature, by maintaining a set of active user IDs for every minute, then intersecting the past five minutes of user IDs with a set containing the IDs of your friends.

# 14th February 2010, 5:17 pm / friends, luke-melia, online, redis, social

A new Buzz start-up experience based on your feedback. Buzz is switching to the more obvious model: use existing Gmail behaviour to suggest a list of people to follow, rather than auto-following them. It feels pretty clear to me that this is how following recommendations should work.

# 14th February 2010, 10:12 am / buzz, follow, following, google-buzz, privacy

Around the World by Zeppelin. If you’re in the UK, you have four days left to catch this fantastic 90 minute documentary on iPlayer. It covers the first ever flight around the world, in the Graf Zeppelin in 1929, from the point of view of Lady Grace Drummond-Hay, a reporter for the Hearst media empire and the only woman on the voyage. The archive footage is incredible.

# 12th February 2010, 10:37 pm / bbc, documentary, zeppelins

ElasticSearch: Your Data, Your Search. A neat example of how ElasticSearch’s schemaless indexes and native JSON support make it ridiculously easy to index different types of data and run queries across them.

# 12th February 2010, 3:22 pm / elasticsearch, java, json, schemaless, search

Algorithmic recruitment with GitHub. Matt Biddulph crawls GitHub’s social graph using JUNG (the Java Universal Network/Graph Framework), JRuby and Yahoo! BOSS to find good leads on interesting developers in specific geographic locations.

# 12th February 2010, 1:17 pm / github, matt-biddulph, recruiting, social-graph

Google Image Charts: Mathematical (TeX) Formulas (via) I’m not sure when they added this, but you can now use the Google Charts Image API to render mathematical formulas, specified using TeX syntax. Wordpress.com and Wikipedia have both offered this feature for quite a while, but now you can use it anywhere on the Web.

# 12th February 2010, 9:42 am / formula, google, google-charts, mathematics, tex

Why toppcloud will not be agnostic. Ian Bicking’s toppcloud aims to offer deployment with the ease of use of AppEngine against a standard, open source Ubuntu + Python 2.6 + mod_wsgi + Varnish stack. Here he explains why he’s not going to vary the required components: keeping everything completely standardised means everyone gets the same bugs (and the same fixes).

# 12th February 2010, 9:21 am / deployment, django, google-app-engine, ian-bicking, modwsgi, python, toppcloud, ubuntu, varnish, wsgi

Elastic Search (via) Solr has competition! Like Solr, Elastic Search provides a RESTful JSON HTTP interface to Lucene. The focus here is on distribution, auto-sharding and high availability. It’s even easier to get started with than Solr, partly due to the focus on providing a schema-less document store, but it’s currently missing out on a bunch of useful Solr features (a web interface and faceting are the two that stand out). The high availability features look particularly interesting. UPDATE: I was incorrect, basic faceted queries are already supported.

# 11th February 2010, 6:33 pm / elasticsearch, http, java, json, lucene, rest, scaling, search, sharding, solr

Kottke on Chatroulette. Jason Kottke: “In short, Chatroulette is pretty much the best site going on the internet right now.”

# 11th February 2010, 5:52 pm / chatroulette, jason-kottke

HTML5 video markup, compatibility and playback. Everything you need to know about embedding HTML5 video on a page, complete with multiple codecs to cover the various supporting browsers and a fallback to Flash.

# 11th February 2010, 5:49 pm / flash, html5, niall-kennedy, video

WARNING: Google Buzz Has A Huge Privacy Flaw. Interesting one this: by default, Buzz creates a public profile for you that lists the people you follow—but your default set of followers is derived from the people you contact most frequently using Gmail. This means users of Buzz may inadvertently reveal their most frequent contacts, which is an issue for people like journalists with anonymous sources, unhappy employees seeking new work or even people having e-mail based affairs.

# 11th February 2010, 11:30 am / buzz, followers, gmail, google, privacy

An Easy Way to Make a Treemap. The second in Flowing Data’s handy series of R tutorials.

# 11th February 2010, 10:29 am / flowingdata, r, treemap, visualisations

On walking into a disaster zone. Schuyler Erle: “The World Bank was looking for technical GIS professionals, ideally French-speaking, to go and advise the government [...] I can sort of speak French. Sure, why not?”

# 10th February 2010, 3:45 pm / gis, haiti, openstreetmap, schuylererle, worldbank

5 Questions for Simon Willison. I got interviewed about WildlifeNearYou for the Flickr code blog, in particular the way the site uses machine tags.

# 10th February 2010, 2:31 pm / flickr, interviews, wildlifenearyou

Years

Tags