Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Prawn (via) Really nice PDF generation library for Ruby, used to generate Dopplr’s beautiful end of year reports.

# 16th January 2009, 4:04 pm / dopplr, pdf, prawn, ruby

Washington Post Update. Peter Harkins summarises the large number of Django-powered database journalism projects released by the Post since September 2007.

# 16th January 2009, 12:18 pm / data-journalism, django, peter-harkins, python, washington-post

Dopplr presents the Personal Annual Report 2008: freshly generated for you, and Barack Obama... So classy it hurts. I’d love to know what library they used to generate the PDF.

# 16th January 2009, 12:17 pm / barack-obama, dopplr, pdf

Want Proof OpenID Can Succeed? Just Scroll Down. “It’s easier for blogs, which don’t need a lot of demographic information about a user, to let people jump in and start participating socially without filling out a registration form.” Aargh. Repeat after me: supporting OpenID does not mean you can’t require additional registration details through a signup form.

# 16th January 2009, 12:16 pm / openid, registration, wired

Django now has fast tests. Changeset 9756 switched Django’s TestCase class to running tests inside a transaction and rolling back at the end (instead of doing a full dump and reload). “Ellington’s test suite, which was taking around 1.5-2 hours to run on Postgres, has been reduced to 10 minutes.”

# 16th January 2009, 11:40 am / django, ellington, eric-holscher, python, testing, transactions

Localbuilder. Gareth Rushgrove’s neat little Python continuous integration tool—it watches a directory for changes, then runs a command when it spots any.

# 14th January 2009, 10:57 pm / continuous-integration, gareth-rushgrove, localbuilder, python, testing

ficlets memorial. Here’s a great argument for Creative Commons—AOL shut down Ficlets without providing an archive or export tool, but the license meant Ficlets co-creator Kevin Lawver could scrape and preserve all of the content anyway.

# 14th January 2009, 10:02 pm / aol, archive, creativecommons, data, ficlets, kevin-lawver, preservation

jQuery queue method. New in jQuery 1.3, but quite far down the release notes. This finally allows low-level control over the jQuery animation queue without needing an extra plugin.

# 14th January 2009, 6:09 pm / animation, jquery

jQuery 1.3 release notes. Sizzle (new selector engine, available separately), Live Events (a variant of event delegation), Feature Detection (instead of user agent sniffing), faster HTML injection and more.

# 14th January 2009, 6 pm / jquery, liveevents, sizzle

jQuery 1.3 and the jQuery Foundation. The IP for jQuery and jQuery UI now rests with the Software Freedom Conservancy (a smart alternative to setting up a brand new foundation), while Sizzle is a separate project looked after by the Dojo Foundation.

# 14th January 2009, 5:59 pm / dojofoundation, javascript, jquery, jqueryui, sizzle, software-freedom-conservancy

The History of Python (via) “A series of articles on the history of the Python programming language and its community”, being compiled by Guido plus guest authors.

# 14th January 2009, 9:42 am / guido-van-rossum, history, programming, python

Gearman protocol. Notes compiled by Eric Day, principle author of the C server implementation.

# 13th January 2009, 4:44 pm / eric-day, gearman, protocol

New Gearman Server & Library in C, MySQL UDFs. Gearman, the job queue written for LiveJournal and now used by Digg and Yahoo!, has been rewritten in C. Looks like a good candidate for an easily configured lightweight message queue. Also includes hooks for writing MySQL functions that can interact with queues.

# 13th January 2009, 4:41 pm / c, digg, eric-day, gearman, livejournal, message-queues, mysql, queues, scaling, yahoo

Sloppy—the slow proxy. Java Web Start GUI application which runs a proxy to the site of your choice simulating lower connection speeds—great for testing how well your ajax holds up under poor network conditions.

# 13th January 2009, 4:17 pm / ajax, java, javascript, javawebstart, performance, proxies, richard-dallaway, sloppy

Visualising Radio, pushing, not pulling. The BBC’s new radio player uses Comet over a Flash XMLsocket connection transport, with an ActiveMQ message queue behind the scenes. I’d like to know what server they’re using to broadcast out to the XMLsocket connections.

# 13th January 2009, 12:59 am / activemq, bbc, comet, duncan-robertson, flash, javascript, xmlsocket

A Snapshot of The Yahoo! Photos Beta (from 2006). Scott Schiller shares an internal retrospective on the Yahoo! Photos interface from 2006, which was years ahead of its time (they started building it before the term Ajax had even been coined). The material on memory management and event delegation is particularly interesting.

# 12th January 2009, 10:21 pm / ajax, eventdelegation, javascript, scott-schiller, yahoo, yahoo-photos, yui

Leo Hickman on the carbon cost of Googling. Alex Wissner-Gross (who published the 7g/search figures) appears to be including Google’s extra capacity, so total CO2 output divided by number of searches. Google’s 0.2g/search estimate includes just the energy used by the servers processing your query.

# 12th January 2009, 3:31 pm / alex-wissner-gross, co2, google, leohickman

Powering a Google search. I thought the recent estimate of each Google search producing 7g of CO2 was a little high—Google have responded with a claim that the amount is 0.2g instead.

# 12th January 2009, 11:15 am / co2, google, search-engines

instanceof considered harmful (or how to write a robust isArray. JavaScript’s instanceof operator breaks when dealing with objects that may have been created in a different document or frame, since constructors are unique to each frame. Instead, you can check for arrays using the default Object.toString method which the JS spec guarantees will return [object Array].

# 12th January 2009, 10:55 am / arrays, frames, instanceof, javascript, tostring

The Django Book: Version 2.0 (via) Adrian’s working on a new edition of the Django Book updated to cover version 1.0. As with the first edition, it will be available free online in addition to a published Apress paperback. The first three chapters are now available.

# 9th January 2009, 2:54 pm / adrian-holovaty, apress, books, django, python

Manage Amazon EC2 With New Web-Based AWS Management Console. Finally! I’m amazed it took Amazon so long to do this. Managing EC2 instances from a custom Firefox extension was pretty bizarre. It’s a very nice interface, built on top of YUI. Unfortunately you still have to manage your entire virtual server farm using a single shared Amazon account.

# 9th January 2009, 9:34 am / amazon, aws, cloud-computing, ec2, javascript, yui

How we use IRC at Last.fm. With IRCCat, an elegant Java IRC bot that accepts Twitter-like messages to a network port (generally sent using netcat) and directs them to a user or channel.

# 8th January 2009, 7:04 pm / irc, irccat, java, lastfm, nc, netcat, richard-jones

why’s potion. why’s latest project is a small, fast language (JIT to x86/x86-64) which seems to take ideas from Ruby, Lua, Python and who knows where else. Everything is based around objects, closures and mixins, with the delightful inclusion of scoped mixins so you can modify an object only within a certain module (hence avoiding Ruby’s action-at-a-distance problems).

# 8th January 2009, 6:37 pm / closures, jit, languages, lua, mixins, potion, programming, ruby, whytheluckystiff

Wetpaint no longer supports OpenID. I missed this, but they turned off their OpenID support in November due to low usage and high maintenance costs.

# 8th January 2009, 2:53 pm / openid, wetpaint

Gaza OpenStreetMap Update. “We’re looking into purchasing satellite imagery for the north or the entirety of Gaza. There’s actually B/W imagery available from yesterday!”

# 7th January 2009, 11:10 pm / gaza, mapping, mikel-maron, openstreetmap, satellite

Weak Password Brings “Happiness” to Twitter Hacker. The full story on the Twitter admin account hack. I bet there are a LOT of web applications out there that don’t track and rate-limit failed password attempts.

# 7th January 2009, 12:04 pm / hacking, passwords, security, twitter

The Twitter administrator hack was a dictionary attack. I quoted Blaine earlier suggesting that the recent Twitter mass-hack was due to a Twitter admin password being scooped up by a rogue third party application—this was not the case, as Alex Payne explains in a comment.

# 6th January 2009, 11:56 pm / alex-payne, blaine-cook, security, twitter

Update on the “antipatterns for sale” Twply auction (via) The collected username and password database is NOT included in the auction.

# 6th January 2009, 9:41 am / antipatterns, twitter, twply

Years

Tags