January 2010
Jan. 24, 2010
The Seven Deadly Sins of Solr. Useful advice on managing and deploying Solr.
Don’t Hash Secrets. A well written explanation from 2008 of why you must use hmac instead of raw SHA-1 when hashing against a secret.
Amazon S3: Versioning Proposal. The us-west-1 S3 bucket region now optionally supports versioning—once enabled on a bucket, all previous versions of keys will be preserved.
A suggestion for a business. Sooner or later, some hosting company is going to figure out that it can provide a service and make a killing (as it were) by offering ten-, twenty-, and hundred-year packets of posthumous hosting. A hundred years is not eternity, but you are not Shakespeare, and it’s a start.
Linux performance basics. This kind of Linux knowledge is rapidly becoming a key skill for server-side web development.
Jan. 25, 2010
Help pick the best photos, but watch out, it’s addictive! My favourite WildlifeNearYou feature yet—our new tool asks you to pick the best from two photos, then uses the results to rank all of the photos for each species. It’s surprisingly addictive—we had over 5,000 votes in the first two hours, peaking at 4 or 5 votes a second. The feature seems to be staying nice and speedy thanks to Redis under the hood. Photos in the top three for any given species display a medal on their photo page.
If you’re ever debugging a problem and you see the number 42-mumble-mumble-mumble-7295 you’ve run out of 32-bit storage. If you see 2-mumble-mumble-mumble-647 (2147483647) you’ve run out of signed 32-bit storage. 167-mumble-mumble-15 (16777215) you’ve run out of 24-bits and 65-mumble-mumble-35 (65535) you’ve run out of 16-bits of integers.
Fixing the Google Account problem. 3,000+ words explaining how to open a Google Doc invitation sent to an e-mail address that isn’t associated with your Google account. Worth reading just to get an idea for the enormous complexity involved in running a large scale identity system and designing an interface for managing aliases and multiple profiles. Google haven’t got it right yet—has anyone else?
The making of the NYT’s Netflix graphic. A database dump from Netflix, some clever hackery in ArcView GIS, hpricot to scrape Metacritic and a lot of careful thought about the UI for navigating the data.
OSM the default map in Haiti. A search and rescue team member in Haiti sends word that digital maps constructed by the OpenStreetMap community are spreading by word of mouth and being loaded on to GPS units on the ground.
Jan. 27, 2010
After Three Months, Only 35 Subscriptions for Newsday’s Web Site. Not an entirely representative figure, since it doesn’t include the print and cable subscribers who get access to the website as part of their existing package.
Applications: the real stars of the data.gov.uk launch. A write-up of the data.gov.uk launch event at the Guardian. I demonstrated the Guardian’s World Government Data search engine and a small data.gov.uk inspired feature on WildlifeNearYou.
World Government Data. Launched last week, this is the Guardian’s meta-search engine for searching and browsing through data from four different government data sites (with more sites planned). Under the hood it’s Django, Solr, Haystack and the Scrapy crawling library. The application was built by Ben Firshman during an internship over Christmas.
Jan. 28, 2010
If Apple is really successful, it’s likely that other companies will be more emboldened to forsake openness as well. The catch is that customers won’t accept the sudden closing of a previously open platform, that’s one of the reasons Palladium failed. But Apple has shown that users will accept most anything in an entirely new platform as long as it offers users the experience they want.
Reexamining Python 3 Text I/O. Python 3.1’s IO performance is a huge improvement over 3.0, but still considerably slower than 2.6. It turns out it’s all to do with Python 3’s unicode support: When you read a file in to a string, you’re asking Python to decode the bytes in to UTF-8 (the new default encoding) at the same time. If you open the file in binary mode Python 3 will read raw bytes in to a bytestring instead, avoiding the conversion overhead and performing only 4% slower than the equivalent code in Python 2.6.4.
Why I Believe Printers Were Sent From Hell To Make Us Miserable (via) I just don’t get it. How has no one managed to produce a printer that doesn’t suck yet?
Introducing docent. Paul Mison’s clever little Flickr app for viewing galleries that have been added by your contacts. It runs in Python on App Engine and makes extensive use of the Task Queue API.
Why the iPad may be just what we need for Digital Inclusion. Chris Thorpe: “It may not be a Jesus phone, a Moses tablet or something that lives up to hype and hyperbole, but if it does something for the digital inclusion agenda it might live up to Steve Jobs saying it’s the most important thing he’s ever done.”
Dojo: Still Twice As Fast When It Matters Most. Alex Russell shows how Dojo out-performs jQuery on the TaskSpeed benchmark, which attempts to represent common tasks in real-world applications and has had code that have been optimised by the development teams behind each of the libraries.
Jan. 29, 2010
Dojo 1.4.1 vs jQuery 1.4.2pre on Taskspeed. John Resig’s reponse. When JavaScript libraries compete on performance, everybody wins.
Jan. 31, 2010
Who Can Do Something About Those Blue Boxes? John Gruber makes the case for the fading significance of Flash, brought about by Apple’s point-blank refusal to support it on the iPhone or iPad. “Flash is no longer ubiquitous. There’s a big difference between “everywhere” and “almost everywhere”.”
32.38 percent of visitors to DF last week did not have Flash.
Hot Code Loading in Node.js. Blaine Cook’s patch for Node.js that enables Erlang-style hot code loading, so you can switch out your application logic without restarting the server or affecting existing requests. This could make deploying new versions of Node applications trivial. I’d love to see a Node hosting service that allows you to simply upload a script file and have it execute on the Web.