Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Encoded Polyline Algorithm Format. Google Maps does some pretty crazy bit mangling to create compressed versions of lat/long pairs.

# 4th January 2008, 4:12 pm / encoding, google-maps, latlong, polyline

HTTP Cache Channels (via) Interesting extension to the HTTP caching model by Mark Nottingham: caches can be told to subscribe to an Atom feed which alerts them to cached data that has gone stale. Group invalidation is also supported.

# 4th January 2008, 12:48 pm / atom, cachechannels, caching, http, mark-nottingham, squid

The Dark Side Of The Moon (via) Robert O’Callahan believes that Moonlight is a strategic mistake, because it gives credibility to Microsoft’s entry to a new market which they will use to “keep the competition on a treadmill”; Moonlight can also never be entirely free due to the need for a proprietary codec (VC-1) available only as a binary blob.

# 4th January 2008, 12:41 pm / binaryblob, codecs, microsoft, miguel-de-icaza, moonlight, open-source, roberto-callahan, silverlight, video, wc1

Django on Jython (via) Outstanding work from Jim Baker and the Jython team: Django now runs on the modern branch of Jython, with a couple of patches and some failed doctests due to dictionary order (a problem with Django’s test suite).

# 4th January 2008, 12:35 pm / django, doctest, jython, testing

Do not treat Flickr photo IDs as integers (via) “The good news is, Flickr reached photo number 2147483647 yesterday. Go Flickr! The bad news is that number 2147483647 is the limit for signed integer data type.”

# 3rd January 2008, 10:46 pm / flickr, integers, unsigned

DataPortability.org. “Standardized Data Portability is the next great frontier for the web. As users, our identity, photos, videos and other forms of personal data should be discoverable by, and shared between our chosen tools or vendors.”

# 3rd January 2008, 4:49 pm / data-portability, portablesocialnetworks

Undo commit in subversion. svn merge -r 1708:1707—I can never remember how to do this.

# 3rd January 2008, 4:43 pm / merge, subversion, svn, undo

Damien Katz: New Gig. IBM have employed Damien Katz to work full time on CouchDB. The work will be under the Apache license with the ASF owning the copyright.

# 2nd January 2008, 8:35 pm / apache, asf, couchdb, damien-katz, ibm

EditArea. Impressive JavaScript source code editor, with syntax highlighting, brace matching, search and replace and more.

# 1st January 2008, 12:09 pm / bracematching, editarea, editor, javascript, syntaxhighlighting

JavaScript: It’s Just Not Validation! I like the explanation of JavaScript as offering input assistance rather than validation.

# 1st January 2008, 12:07 pm / inputassistance, javascript, sitepoint, validation

Chatting with Adrian Holovaty. Fabio Akita interviews Adrian about Django and related topics.

# 1st January 2008, 11:44 am / adrian-holovaty, django, fabioakita, python

This Week in Django podcast. Michael Trier’s been doing a really fantastic job putting together a Django podcast. The most recent episode (number 4) includes an update on the newforms-admin branch and a couple of handy tips.

# 1st January 2008, 10:44 am / django, django-admin, michael-trier, podcasts, python, thisweekindjango

OpenID and Google’s Blogger. Blogger gets it wrong by displaying a nickname derived from the OpenID URL (in Malcolm’s case, “blog”) instead of the user entered nickname.

# 30th December 2007, 10:35 am / blogger, google, malcolm-tredinnick, openid, usability

Sam Ruby: Ruby 1.9 Strings—Updated. A follow up to yesterday’s post: Sam’s principle complaints about Ruby 1.9’s character encoding support were down to a bug which has now been fixed.

# 29th December 2007, 7:34 pm / ruby19, sam-ruby, unicode

Hacky holidays on OS X. Jeremy Keith documents how to get PHP 5 and Apache 2 virtual hosts running on Leopard.

# 29th December 2007, 11:49 am / apache, apache2, jeremy-keith, leopard, macos, php, php5, virtualhosts

django-mptt (via) Jonathan Buchanan’s simple utility for performing Modified Preorder Tree Traversal (efficient tree operations in SQL) on Django models.

# 29th December 2007, 11:33 am / django, djangoorm, jonathan-buchanan, models, modifiedpreordertreetraversal, mptt, python, sql

Web design 2.0—it’s all about the resource and its URL. The fact that the BBC is now building things against this kind of theoretical basis is immensely exciting.

# 28th December 2007, 11:47 pm / bbc, urls

Fluid. Another site-specific browser toolkit for OS X (Leopard only), from Todd Ditchendorf. Again, it’s not clear if this does the Right Thing and creates separate cookie jars for every application.

# 28th December 2007, 11:42 pm / cookies, fluid, leopard, macos, sitespecificbrowsers, toddditchendorf

The backdooring of SquirrelMail. A SquirrelMail developer’s account was compromised and used to insert a backdoor: the other developers initially missed the hole because it used $_SERVER[’HTTP_BASE_PATH’], which can be set with a Base-Path: HTTP header.

# 28th December 2007, 11:40 pm / backdoor, http, php, security, squirrelmail

Django and Comet. How to build a chat application using Django and the Orbited comet server. Orbited can be set up to proxy most requests through to a Django backend while handling any comet requests itself.

# 26th December 2007, 9:05 pm / comet, django, javascript, orbited, python

David Airey: Google’s Gmail security failure leaves my business sabotaged (via) Gmail had a CSRF hole a while ago that allowed attackers to add forwarding filter rules to your account. David Airey’s domain name was hijacked by an extortionist who forwarded the transfer confirmation e-mail on to themselves.

# 26th December 2007, 12:16 pm / csrf, david-airey, gmail, google, security

Ruby 1.9—Right for You? Dave Thomas on the just-released Ruby 1.9. It’s a development release that breaks backwards compatibility in a few minor ways, but new features include the YARV virtual machine (hence significant speed improvements) and unicode support via associating encodings with bytestrings.

# 26th December 2007, 12:09 pm / bytestrings, dave-thomas, performance, rubi19, ruby, unicode, yarv

Google Reader ruins Christmas (via) New sharing feature automatically reveals shared items to Gmail contacts, causing political rows.

# 25th December 2007, 2:59 pm / google, google-reader, politics, privacy, sharing, social-networking

IPy. Handy Python module for manipulating IP addresses—use IP(ip_addr).iptype() == ’PUBLIC’ to check that an address isn’t in a private address range.

# 24th December 2007, 1:19 pm / ip, ipaddresses, ipy, networking, python, security

Size Is The Enemy. Jeff Atwood: “I’ve started a cottage industry mining Steve [Yegge]’s insanely great but I-hope-you-have-an-hour-to-kill writing and condensing it into its shorter form points.” Lots of verbose static typing apologists in the comments.

# 24th December 2007, 10:50 am / dynamic-languages, java, jeff-atwood, python, static-typing, steve-yegge

WebOb. WebOb is “an extraction and refinement of pieces from Paste”—provides a very nice request and response object, clearly inspired partly by Django. The documentation includes the differences between the WebOb API and that of other frameworks.

# 23rd December 2007, 10:22 am / django, frameworks, ian-bicking, paste, python, webob

Quantcast top 100 US sites (via) The vast majority of the top 100 attract a more female than male audience. Digg is one notable exception.

# 23rd December 2007, 9:43 am / advertising, demographics, digg, quantcast

5 ways to break past the San Francisco echo-chamber. I like the idea of using the square-footage allocated to different things in Walmart to get an idea for what’s popular outside of geekdom.

# 23rd December 2007, 9:37 am / andrew-chen, geeks, nongeeks, walmart

Years

Tags