Blogmarks
Filters: Sorted by date
Using the jQuery test suite for your own projects. jQuery’s test suite has clever start(), stop() and expect() methods for running assertions within asynchronous code.
Configuring Apache httpd. Ben Laurie shows how to build up an Apache configuration file from first principles.
A Visual Explanation of SQL Joins. It turns out Venn diagrams are an excellent way of illustrating joins.
The password anti-pattern. What I don’t understand is why Google / Yahoo! / other webmail providers haven’t just deployed a simple OAuth-style API for accessing the address book. Sites have been scraping them for years anyway; surely it’s better to offer an official API than continue to see users hand out their passwords?
Apple—Web apps. Interesting (and slightly confusing) to see Apple choose “Web apps” as the term for applications targeted at the iPhone and iPod touch.
/trunk/jl/scraper. journa-list.com is open source, and the screen scrapers are written in Python.
journa-list.com. Fantastic new site that indexes UK news stories by the person who wrote them. Being able to track a journalist’s output like this makes it much easier to figure out their personal biases over time.
nose 0.10.0 final! Nose is my favourite Python testing tool: it can auto-discover and execute tests in a directory hierarchy, which makes it easy to run just a sub-set of your test suite.
BarCampLondon3. 24th-25th of November in Google’s London offices (by Victoria train station). The last BarCamp London was a blast—I’m really looking forward to this.
Stichelton: Raw-Milk Stilton (via) We tried this at the Great British Cheese Festival the other week and really liked it, without knowing any of the interesting background.
Global namespace pollution in IE. Another reason to avoid JavaScript global variables like the plague: IE creates a bunch of them for you which may well intefere with your own code.
Amazon Gets an SLA (But I Still Can’t Use It). “Ontario’s Freedom of Information and Protection of Privacy Acts (FIPPA) don’t allow me to store sensitive information (e.g., students’ work) in jurisdictions that permit secret warrants, like those mandated by the USA PATRIOT Act.”
Two months with Ruby on Rails. Good rant—covers both the good and the bad. The first complaint is the lack of XSS protection by default in the template language. Django has the same problem, but the solution was 90% there when I saw Malcolm at OSCON.
Writing An Hadoop MapReduce Program In Python. Hadoop (the open source map/reduce framework) can interact with any program that reads from stdin and outputs on stdout—so it’s trivial to drop in Python scripts for the map and reduce steps.
RFC 5023: The Atom Publishing Protocol. It’s done!
tranquil. Inspired take on the Django ORM to SQLAlchemy problem: lets you define your models with the Django ORM but use SQLAlchemy to run queries against them.
String types in Python 3. bytes are now immutable (just like the bytestrings they are replacing) and a new mutable buffer type has been introduced.
OpenID.net has been redesigned. Love the new look—much cleaner and easier to understand, and it now gives people looking to get themselves an OpenID somewhere to go.
Tabula Fracta. Mozilla hacker Robert O’Callahan offers advice for anyone aiming to create a new rendering engine from scratch. The WHATWG’s work on specifying real-world browser behaviour and error models gets a well deserved mention.
Amazon S3 Service Level Agreement (via) Went in to effect on the 1st of October. Promises 99.9% uptime over a monthly billing cycle or you get “service credits” towards future S3 payments.
Convenience Wins, Hubris Loses and Content vs. Context. Fantastic presentation from Ian Rogers, the head of Yahoo! Music, who has spent 8 years watching DRM cripple the online music industry.
Native DOMContentLoaded is coming to Safari. I filed this bug over two years ago. They’ve just committed the resulting patch to trunk.
Some Notes on Tim Bray’s Wide Finder Benchmark. Fredrik Lundh demonstrates some Python ninja techniques for parsing log files using multiple cores (and eventually memory mapping).
Oxford Geek Night #4. November 28th in the upstairs room at the Jericho Tavern; the first one run without Natalie at the helm.
The ThinkGeek 8-bit Tie. The April Fool’s Joke that attracted unprecedented customer demand is finally available to purchase for real.
The Storm Worm. Bruce Schneier describes the Storm Worm, a fantastically advanced piece of malware that’s been spreading for nearly a year and is proving almost impossible to combat. Its effects are virtually invisible but infected machines are added to a multi-million machine botnet apparently controlled by anonymous Russian hackers.
Roll out your own JavaScript Interfaces. Dustin shows how to build a tiny jQuery-style (chainable) library that contains your own JavaScript convenience functions.
SlideShare Groups: Future Of Web Apps. Some of the presentations from the Future of Web Apps conference.
Seeking market share, Microsoft removes WGA anti-piracy check from IE7. Hopefully this will accelerate the rise of IE7 over IE6.
Multi-Safari. Lets you run multiple versions of Safari on the same Mac. As with the multi-IE hacks, all versions use the same underlying HTTP libraries (which belong to the OS) so the simulation isn’t entirely accurate.