Blogmarks
Filters: Sorted by date
New feeds for Project hosting on Google Code. Finally! I’ve been wanting these ever since Google Code launched. Should make it much easier to integrate personal projects hosted on Google Code in to tumblelog style sites.
MySpace To Join OpenID, Bringing Total Enabled Accounts to Over A Half Billion. Another 200 million OpenIDs—but the important difference between this and the Yahoo! and AOL announcements is that MySpace users know what their profile URL is. Whenever people have told me OpenID is flawed because people don’t understand URLs I’ve answered “sure they don’t, but they know their MySpace page”.
newforms-admin branch has been merged into trunk. Congrats to Brian Rosner for the merge. django.newforms has been renamed to django.forms as well—1.0 grows ever closer.
DjangoCon 2008. The official DjangoCon site is up, along with a mostly complete schedule.
A Leopard attacking and killing a Crocodile. Amazing sequence of photos by Hal Brindley.
Jinja2 Final aka Jinjavitus Released. The Jinja template engine now has auto-escaping as an optional feature, disabled by default. Worth considering as an almost drop-in replacement for Django’s template language if features such as macros and compilation to Python code appeal to you.
We’re added some iCal views to BBC Programmes. BBC /programmes is one of the most exciting public facing parts of the BBC’s online offerings.
HeatMapAPI (via) Cool (or should that be hot?) API for adding heat maps to any Google Maps application.
The Truth about Web Navigation. Jeremy Zawodny on regular users understanding the browser address bar: “They don’t. And they never will.” Then they’re going to get phished, and there’s absolutely nothing we can do to help them.
Simple Top-Down Parsing in Python. Eye-opening tutorial on building a recursive descent parser for Python, in Python that uses top-down operator precedence.
php: rfc: closures (via) I never thought I’d see the day, but a patch adding closures to PHP has been both proposed and accepted! Looks like a solid implementation—the syntax is similar to JavaScript but makes explicit which variables are to be captured. As with much of PHP, values are copied in to the closure by default but you can use an ampersand to specify JavaScript-style pass-by-reference instead.
ftputil. Python’s built-in ftplib is ridiculously low level, requiring you to send RETR commands and even assemble downloaded chunks yourself using a callback. ftputil looks like a really solid high-level interface to that module with file-like objects and plenty of convenient methods.
Opera Web Standards Curriculum. Opera commissioned an impressive sequence of articles from a bunch of very talented people to help address the monstrous learning curve for modern client-side development.
Apple just gave out my Apple ID password because someone asked. “am forget my password of mac,did you give me password on new email marko.[redacted] @yahoo.com”. Classy.
Protocol Buffers: Google’s Data Interchange Format. Open sourced today. Highly efficient binary protocol for storing and transmitting structured data between C++, Java and Python. Uses a .proto file describing the data structure which is compiled to classes in those languages for serializing and deserializing. 3-10 times smaller and 20-100 times faster than XML.
Growing the ORG community. The Open Rights Group want a fiver a month from 750 new people to support their excellent work fighting for digital civil liberties in the UK political arena. Going by their past performance this is a very worthwhile investment.
3 and 1/2 minutes to sort a Terabyte, and a look at Hadoop’s code structure. Bill de hÓra uses some clever static analysis tools to explore Hadoop’s 100,000+ lines of code.
Django Unit Tests and Transactions. If you’re using a transactional database engine (MySQL with InnoDB, Postgres or SQLite) you can speed things up by running each of your unit tests inside a transaction and rolling back in tearDown().
OpenTech 2008 “Impossibox” presentation. One of my favourite Open Tech sessions—Tom Loosemore describes the “Impossibox”, a cloud of PVRs collaborating to transcode and share “all decent UK TV for a year” via BitTorrent.
Up Ship!: New Branding. I hadn’t realised the Airpship Ventures Zeppelin (en route to San Francisco) is going to be used for the Stella Artois Star Over London promotion—they’ve just changed the livery.
CKAN—Comprehensive Knowledge Archive Network. Aims to be the “Debian of data”, with apt-get style tools for installing datasets. Presented at Open Tech 2008 by Rufus Pollock.
OSM routing, A*, cycle-filtered, python (via) A python library for finding routes using OpenStreetMap data.
Berlin Zoo on OpenStreetMap. Someone has added all of the animal enclosures in Berlin Zoo (with German animal names) to OpenStreetMap.
Queue everything and delight everyone. Les Orchard explains why I’ve been getting interested in queues recently: “One of the problems it seems most modern web apps face is the tendency to want to do everything all at once, and all in the same code that responds directly to a user.”
A Look at the Presidential Candidates. The Big Picture (the Boston Globe’s fantastic photojournalism blog) presents a fascinating collection of historical photos of Senators Barack Obama and John McCain.
quipt (via) Extremely clever idea: Cache JavaScript in window.name (which persists between page views and can hold several MB of data), but use document.referrer to check that an external domain hasn’t loaded the cache with malicious code for an XSS attack. UPDATE: Jesse Ruderman points out a fatal flaw in the comments.
Table Drag and Drop jQuery plugin. Drag and drop of table rows is a special case (jQuery UI doesn’t seem to support it)—this plugin works pretty well though.
Independence Day: HTML5 WebSocket Liberates Comet From Hacks. The HTML5 spec now includes WebSocket, a TCP-style persistent socket mechanism between client and server using an HTTP handshake to work around firewalls. The Orbited comet implementation provides a WebSocket compatible API to existing browsers today, and can also act as a firewall/proxy between WebSocket and regular TCP sockets, allowing browsers to talk to things like XMPP servers using Orbited to bridge the gap.
Show Us a Better Way. The UK Government’s Power of Information Taskforce are running a mashup competition (a.k.a. “ideas for new products that could improve the way public information is communicated”) with a £20,000 prize fund and gigabytes of brand new data and APIs. This is a great opportunity for the software community to demonstrate how important this kind of open data really is.
Phasing out support for IE 6 across all 37signals products on August 15, 2008. Interesting move considering BaseCamp is used for communicating with (often corporate) clients. It would be nice to see the browser stats behind the decision.