Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Making bridges talk. Tom Armitage hooked Tower Bridge up to Twitter: “I am closing after the MV Dixie Queen has passed Upstream”.

# 4th March 2008, 11:07 pm / tom-armitage, towerbridge, twitter

Table-Based Layout Is The Next Big Thing. Kevin Yank points out that the inclusion of display:table in IE 8 will finally open up a powerful tool for creating CSS layouts that has so far been mostly ignored.

# 4th March 2008, 11:01 pm / css, displaytable, ie8, kevin-yank, tables

Principles and Legality. Eric Meyer notes that language about legality in Microsoft’s recent IE announcement suggests that Opera’s much criticised EU threat may have helped positively influence the result.

# 4th March 2008, 7:45 pm / eric-meyer, ie8, law, microsoft, opera, standards

ExpanDrive. Looks like this SFTP mounting application for OS X fixes the problems I’ve had with sshfs (which tends to freeze things up if you lose your network connection while using it).

# 4th March 2008, 7:32 pm / expandrive, john-gruber, sftp, ssh, sshfs

Two data streams for a happy website. Useful architectural concept for scaling: keep user-specific and generic data separate from the start, in recognition of their different caching and partitioning constraints.

# 4th March 2008, 4:40 am / caching, scaling

The real reason Google’s clicks are flat. Rich Skrenta explains that Google’s recent reduction of the clicable area in Adsense ads, while reducing click-throughs by 60%, will eventually balance out due to non-accidental click-throughs being worth more to advertisers.

# 4th March 2008, 4:34 am / adsense, clickthroughs, google, rich-skrenta

Jython’s Future Looking Sunny. Sun have (finally) invested in Jython, hiring lead maintainer Frank Wierzbicki. They’ve also hired Ted Leung to “represent the wider world of Python at Sun”. Great news.

# 3rd March 2008, 4:08 pm / frank-wierzbicki, jython, python, sun, ted-leung

queryset-refactor changeset 7126. Malcolm just checked model inheritance in to the queryset-refactor branch, with full documentation and unit tests. People have been requesting this for ages.

# 18th February 2008, 9:46 am / django, inheritance, python, querysetrefactor, testing

Apache proxy auto-re-loader. Neat trick: set your 502 (Bad Gateway) error document to include a meta refresh tag, automating the refresh needed should a server you are proxying to be temporarily unavailable.

# 18th February 2008, 9:44 am / apache, metarefresh, ned-batchelder, proxies

Nginx and Memcached, a 400% boost! Ilya Grigorik wrote up my current favourite nginx trick—you set nginx to check memcached for a cache entry matching the current URL on every hit, then invalidate your cache by pushing a new cache record straight in to memcached from your application server.

# 11th February 2008, 10:05 pm / caching, ilyagrigorik, memcached, nginx, performance

jQuery 1.2 Cheat Sheet. Handy. It helps that most of jQuery’s method names are pretty much self explanatory once you’ve been using the library for a couple of weeks.

# 10th February 2008, 9:12 pm / cheatsheet, gscottolson, javascript, jquery

Event Delegation Made Easy. Dan Webb demonstrates a neat trick for event delegation in jQuery, using CSS selectors and the jQuery .is() method to dispatch to different callbacks from a single event handler based on the target of the event.

# 10th February 2008, 3:13 pm / dan-webb, delegation, eventdelegation, javascript, jquery

Transitioning from Java Classes to JavaScript Prototypes. Peter Michaux shows how JavaScript’s prototypal inheritance can run rings around traditional Java-style classes once you figure out how to take advantage of it.

# 10th February 2008, 3:10 pm / inheritance, java, javascript, object-oriented-programming, pete-michaux, prototypal-inheritance

Cross-Window Messaging. Now in Firefox 3 trunk, the HTML 5 specified ability for JavaScript to send messages between windows (or iframes) hosted on different domains. Fantastically powerful, but must be implemented with care to avoid accidentally processing bad messages from malicious third parties.

# 10th February 2008, 12 pm / crosswindowmessaging, firefox, firefox3, html5, javascript, john-resig

themaneater.com Launch. The Maneater’s online edition is where Adrian cut his web development teeth, so it’s great to see them up and running on Django. Important to note that KeepAlive can completely murder Apache/Django performance.

# 10th February 2008, 8:10 am / adrian-holovaty, apache, django, keepalive, themaneater

PrinceXML is extremely impressive. I had a poke at Prince (a commercial package for generating high quality PDFs from HTML, XML, CSS and SVG) a few weeks ago and was similarly impressed.

# 8th February 2008, 12:02 pm / css, princexml, ryan-tomayko, svg, xml

mydeco. Major new Django-powered start-up has launched, based in London.

# 8th February 2008, 11:43 am / django, london, mydeco, startup

django-openid—browse. Hooray! Google Code finally has a decent Subversion browser.

# 8th February 2008, 11:41 am / google-code, subversion

A proposal: email to URL mapping. Brad’s just too damn smart. A simple solution to mapping an e-mail address to an OpenID that takes advantage of existing technology (YADIS) and doesn’t adversely affect e-mail privacy.

# 8th February 2008, 11:39 am / brad-fitzpatrick, email, openid, urls, yadis

querySelector and querySelectorAll. WebKit now supports the W3C Selectors API. Expect the various JavaScript libraries to add this as an optimisation to achieve massive speedups (Prototype are already working on it).

# 8th February 2008, 11:21 am / javascript, libraries, prototype-js, queryselector, safari, selectors, w3c, webkit

LJWorld.com: Kansas Democratic Presidential Caucuses (via) The most beautiful election results page I’ve ever seen. Love the typography and the Google Charts integration.

# 8th February 2008, 11:17 am / design, elections, google-charts, kansas, ljworld, matt-croydon, typography

Django San Diego. A real-life meeting of Django developers in San Diego, as a direct result of profiles on djangopeople.net. Victory!

# 8th February 2008, 10:20 am / community, django, django-people, sandiego

Social Graph API. This is freaking awesome. Input one or more URLs to your profile pages and it returns a huge dump of crawled relationship data, based on XFN, FOAF and OpenID links. No API key required and it supports JSON callbacks so you can incorporate it in to a site without even needing to write any extra server-side code.

# 3rd February 2008, 10:34 pm / google, json, jsonp, social-graph, social-graph-api

Interview: Simon Willison on OpenID. Christian Heilmann interviewed me for the YDN blog.

# 3rd February 2008, 10:18 pm / christian-heilmann, interview, openid, yahoo, ydn

Yahoo! OpenID Provider service now available as a public beta. This actually happened a few days ago, but I’ve been offline for the past week travelling to New Zealand and attending Kiwi Foo.

# 3rd February 2008, 10:17 pm / beta, kiwifoo, openid, yahoo

Low Pro For jQuery? Dan Webb on why he prefers Prototype over jQuery: “The one big reason was that, while jQuery was super simple and concise when working on smaller projects, it offered no help in structuring larger applications”.

# 3rd February 2008, 10:16 pm / dan-webb, javascript, jquery, libraries, lowpro, prototype-js

Faster JavaScript Trim. Neat optimisation post—it turns out that while regular expressions are great for removing leading whitespace you can do a lot better at trailing whitespace by manually looping backwards from the end of the string.

# 3rd February 2008, 10:12 pm / javascript, optimisation, steven-levithan, trim, whitespace

Mono Beta Launch—Official Linden Blog. The Mono VM is now in public beta testing running LSL scripts in Second Life. The first step on the road to IronPython support?

# 30th January 2008, 2:19 am / ironpython, lindenlab, lsl, mono, python, secondlife, virtualmachines

Python Web Framework on the JVM. An update on both Jython and the Django on Jython project—it looks like Jython 2.5 isn’t that far away.

# 30th January 2008, 2:06 am / django, java, jvm, jython, python

Years

Tags