Blogmarks
Filters: Sorted by date
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.
Speeding up dateutil: Python’s heapq module turns minutes into seconds. Neat case study in data structure optimisation.
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.
Using Unipath to Keep Things Portable. Django tip to avoid hard-coding full paths. I usually set a global called OUR_ROOT in settings.py using os.path.dirname(__file__) and use os.path.join with it to construct any other paths that I need.
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.”
Eventually Consistent. Werner Vogels explains the trade-offs involved in building scalable, highly-available data stores such as Amazon’s SimpleDB.
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.
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.
OGN5: Wednesday February 6, 2008. Great line-up for the next Oxford Geek Night: Rufus Pollock and Denise Wilton.
Misapplying book terms, Pylons, and the ’end-user’. Ben Bangert responds to Adam Gomaa’s claim that Pylons lacks “conceptual integrity”.
Frameworks Exist for Conceptual Integrity. Adam Gomaa just taught me a bunch of interesting things about Django’s underlying philosophy. Looks like I need to re-read the Mythical Man-Month.
The future of web standards. Nice analysis from James Bennett, who suggests that successful open source projects (Linux, Python, Perl etc) could be used as the model for a more effective standards process, and points out that Ian Hickson is something of a BDFL for the WHAT-WG.
Chapter 7: Form Processing. The chapter on newforms I contributed to “The Definitive Guide to Django” is now online, along with the rest of the published book.
AppJet: Instant Web Programming. Another attempt at simple server-side JavaScript application hosting. Worth checking out for the impressive syntax highlighting code editor, which even matches braces.
Techniques for safely consuming external HTTP on demand? I asked this question on programming.reddit.com yesterday and got some really insightful answers, including Joe Stump from Digg describing how Digg Images uses Danga’s Gearman worker queue.
DeWitt Clinton: T-Mobile and Twitter. “If you think the rest of Internet needs net neutrality laws, that’s nothing compared with the backward-facing worldview of the established mobile carriers.”
Fire foxes, fire eagles, fire dogs: myth in a new media world (via) Entertaining over-analysis of Fire Eagle, the code name for Yahoo!’s soon-to-be-released geo location broker. It’s actually named after Ze Frank’s Ride The Fire Eagle Danger Day, as any Sports Racer would know.
ExtInfoWindow 1.0: Ajax powered, CSS customization. Finally, a semi-official way of creating customised info windows for the Google Maps API. You lose the default shadow but gain the ability to style the entire info window using CSS.
NginxMemcachedModule. nginx can be set up to directly serve a URL from memcache if the corresponding cache key is set, and fall back to a backend application server otherwise. Application servers can then write directly to memcache when content needs to be cached or goes stale.
stompserver. I think this is the lightweight message queue I’ve been looking for: written in Ruby and EventMachine, easy to set up (thanks to gems), interoperates perfectly with stomp.py.
Two-Faced Django. Excellent Django tutorial by Will Larson that shows how to build a polling application with an interface both on the Web and in Facebook. Also touches on unit testing and Ajax using jQuery.
BBC iPlayer now supports streaming Flash for Mac and Linux. Absolutely fantastic—it Just Works, you hit the homepage and you can be watching video in seconds. No need to even sign up for an account. I imagine IP ranges are used to block access from outside the UK.
Amazon SimpleDB overview. Attribute values are limited to 1,024 bytes; Amazon suggest that you store larger fields in S3 and use SimpleDB to query metadata about those objects.
What You Need To Know About Amazon SimpleDB. Amazon have finally launched the database component of their web service suite. It fits a bunch of current trends: key/value pairs, schemaless, built on top of Erlang. “Eventual consistency” is an interesting characteristic.
Two HTTP Caching Extensions. stale-while-revalidate serves cached content even while a refresh has been triggered and is currently being pulled in to the cache; stale-if-error serves cached content if a service has gone down.
PostgreSQL 8.3 beta 4 release notes. In addition to the huge speed improvements, 8.3 adds support for XML, UUID and ENUM data types and brings full text (tsearch2) in to the core database engine.
PostgreSQL 8.3 vs. 8.2—a simple benchmark. Stefan Kaltenbrunner reports a 2.2x speed increase for PostgreSQL 8.3 compared to 8.2 for a relatively simple benchmark.
Unobtrusively Mapping Microformats with jQuery. My contribution to 24 ways: using Mapstraction to geocode hCards (extracted with jQuery) and plot them on a Google Map.
“The Definitive Guide to Django” is now shipping from Amazon. The book looks absolutely fantastic (bias disclosure: I contributed the newforms chapter)—huge congratulations to Adrian and Jacob.
The Future of Comet: Part 1, Comet Today. Absolutely the best summary I’ve seen of all of the current Comet techniques in one place.