Simon Willison’s Weblog

Items in 2007

Filters: Year: 2007 ×

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

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

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

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

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

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

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

I definitely like Python 3K’s Unicode support better [...] In fact, I think I prefer Ruby 1.8’s non-support for Unicode over Ruby 1.9’s “support”. The problem is one that is all to familiar to Python programmers. You can have a fully unit tested library and have somebody pass you a bad string, and you will fall over.

Sam Ruby # 28th December 2007, 7:05 pm

EU: Microsoft’s Last Stand Against Google’s Acquisition of DoubleClick. Notable for some truly incomprehensible chartjunk from Microsoft. # 27th December 2007, 12:26 pm

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

Boxing Day toy discovery: Mega Bloks not compatible with Duplo! See, Alex Russell? THIS IS WHAT HAPPENS WHEN YOU INNOVATE AHEAD OF STANDARDS

Yoz Grahame # 26th December 2007, 5:58 pm

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

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

Google Reader ruins Christmas (via) New sharing feature automatically reveals shared items to Gmail contacts, causing political rows. # 25th December 2007, 2:59 pm

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

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

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

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

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

Johnny Chung Lee: Projects Wii. Awe-inspiring hardware hacks built on top of the Wiimote, including a dirt cheap interactive whiteboard and a head tracking system that turns a normal display in to a 3D VR environment. # 23rd December 2007, 9:23 am

Speeding up dateutil: Python’s heapq module turns minutes into seconds. Neat case study in data structure optimisation. # 22nd December 2007, 1:07 pm

Pvote (via) Electronic voting machine software in 460 lines of highly readable Python (using Pygame), implemented by Ka-Ping Yee for his doctoral dissertation. Demonstrates prerendering, where as much of the UI as possible is defined in a separate ballot definition file. # 22nd December 2007, 1:04 pm

Using Unipath to Keep Things Portable. Django tip to avoid hard-coding full paths. I usually set a global called OUR_ROOT in using os.path.dirname(__file__) and use os.path.join with it to construct any other paths that I need. # 21st December 2007, 10:45 am

Maven: Broken By Design. Charles Miller: “If you check out a particular version of your code and build it with particular versions of your tools, you should get a product that is binary-identical each time.” # 20th December 2007, 8:24 pm

Eventually Consistent. Werner Vogels explains the trade-offs involved in building scalable, highly-available data stores such as Amazon’s SimpleDB. # 20th December 2007, 5:59 pm

Design. A very fancy suite of design tools wrapped up in a bookmarklet (that loads an external script). Includes grids, rulers, measurements and a crosshair. # 20th December 2007, 4:53 pm

IE8 Passes Acid2 Test. This is huge. As Kevin Yank points out, this means IE8 includes proper support for the object tag, CSS table layout properties and generated content. # 20th December 2007, 3:11 pm

I don’t even use Firefox and Firebug anymore, the revised Web Inspector in Leopard has been incorporated in Coda and that does everything I need and more.

Jon Hicks # 20th December 2007, 3:09 pm

OGN5: Wednesday February 6, 2008. Great line-up for the next Oxford Geek Night: Rufus Pollock and Denise Wilton. # 19th December 2007, 5:45 pm