December 2008
Dec. 13, 2008
YQL—converting the web to JSON with mock SQL. YQL just got a whole lot more interesting to me—I had no idea they were exposing an HTML and RSS scraping tool over a JSONP API in addition to all of the Yahoo! web service methods.
Yahoo! Query Language Console. Neat developer tool for playing around with YQL.
ETags And Modification Times In Django. Part of Malcolm’s series of tutorials on implementing advanced HTTP concepts in Django.
Scaling memcached at Facebook. Fascinating techie details on how Facebook forked memcache to use UDP and increase performance from 50,000 requests a second to 200,000. Now running on 800 servers with 28 TB of memory, and their code is on GitHub. (They may scale like crazy, but they can’t put their blog entry title in the title element?)
ZooBorns. Best blog idea ever: news and photos of baby animals born in zoos around the world. Nicely categorised as well.
There. Is. No. Long-Term. Data. Storage. Solution. There is only a series of short-term solutions punctuated by data migration from one medium to the next.
Dec. 14, 2008
Showers and UI design. UI issues aside, why is it so hard to build a shower where the settings for freezing cold and scaldingly hot are more than a couple of millimeters apart?
On packaging. James Bennett discusses the problems with setuptools (and ruby gems), and recommends Ian Bicking’s pip as a setuptools replacement.
How Tarsnap uses Amazon Web Services (via) Useful case study, including some thoughts on SimpleDB.
A Few Corrections To “On Packaging”. From Ian Bicking.
Dec. 15, 2008
How to install lxml python module on mac os 10.5 (leopard). Instructions that work! Finally, I can find out what all the fuss is about.
Now You Can Sign Into Friend Connect Sites With Your Twitter ID. Great. Now even Google is asking me for my Twitter password. Slow clap. How’s that Twitter OAuth beta coming along?
husk.org. a flickr machine tag browser (via) Flickr recently added API methods for exploring the machine tags used by the community. Paul Mison has built a neat OS X Finder style interface for exploring them, using JSONP and jQuery.
Dec. 16, 2008
Adobe: Akamai Download Manager FAQ. Tip for Adobe: if the bizarre, buggy custom Java applet you force people to use to download your software requires an FAQ this long, maybe you should provide a “just do it the way everyone else does” option.
Yahoo! yesterday launched their new development platform for My Yahoo! and Yahoo! Mail, which uses Caja to protect users from malicious gadgets. This means Caja suddenly got 275,000,000 users. Wow! I guess this makes Caja the most widely used capability language ever.
Microsoft: Big Security Hole in All IE Versions. Looks like a 0-day that’s being actively exploited.
Dec. 17, 2008
Integrating Facebook Connect with Django in 15 minutes. Django authentication middleware that calls the Facebook REST API using a cookie set by Facebook Connect and checks if that person is your Facebook friend. Despite most of the magic happening on the server you still need Facebook’s JavaScript to set that cookie in the first place.
Dec. 18, 2008
Amazon SimpleDB—Now With Select. So now all three of Yahoo!, Amazon and Google have invented their own SQL-like languages (YQL, SimpleDB and GQL)—though it looks like Yahoo!’s is the only one that attempts to provide joins.
Simple Update Protocol: Update. Already implemented by more than five services, each of which now have near-real-time updates in to the FriendFeed syndication engine.
Dec. 19, 2008
Someone asked for onbeforeunload, so I started fixing it. Then I found that there was some rot in the drywall. So I took down the drywall. Then I found a rat infestation. So I killed all the rats. Then I found that the reason for the rot was a slow leak in the plumbing. So I tried fixing the plumbing, but it turned out the whole building used lead pipes. So I had to redo all the plumbing. But then I found that the town's water system wasn't quite compatible with modern plumbing techniques, and I had to dig up the entire town. And that's basically it.
Represent—NYTimes.com. Superb new application from the NYTimes—a sort of cross between TheyWorkForYou and a news archive search. Enter your address in New York and it tells you your local representatives and shows both their votes and their mentions in the newspaper.
Dec. 20, 2008
Represent and GeoDjango. The NYTimes new Represent application is built on GeoDjango.
Dec. 22, 2008
jQuery changeset 5985 (via) jQuery trunk has ditched browser sniffing in favour of feature testing, where a small suite of unit-test-like code blocks is used to detect whether a browser supports specific idioms. If the tests fail jQuery still makes assumptions about what the fix is, but it’s not hard to imagine the library eventually using code tests to ensure the fix will work as well.
Motorway map of England, Scotland and Wales (via) In the style of Harry Beck’s London Tube map.
pygooglechart. I tried a bunch of Python wrappers for Google Charts and liked this one best.
Sam Vilain converted Perl's history from Perforce to Git. [..] He spent more than a year building custom tools to transform 21 years of Perl history into the first ever unified repository of every single change to Perl. In addition to changes from Perforce, Sam patched together a comprehensive view of Perl's history incorporating publicly available snapshot releases, changes from historical mailing list archives and patch sets recovered from the hard drives of previous Perl release engineers.
Dec. 23, 2008
jQuery: Changeset 5990. “Added a new liveQuery/event delegation hybrid method”. Lets you add events that continue to work as new elements are dynamically appended to the DOM, e.g. $(’div p.foo’).live(’click’, fn). Works by adding an event handler to the root document element itself and relying on event bubbling. I have to admit I preferred the earlier proposal of $(’div’).delegate(’p.foo’..), which feels like it should have much better performance—anyone know of a good plugin that supports this?
Quickchoice—a Speed Dial clone
(via)
Lovely demonstration of the CSS transform property, as supported by modern browsers. The magic is all in the iframe { transform: scale(0.25, 0.25) translate(-1200px, -900px) }
Using SVG on the Web. I’ve been having a lot of fun playing with SVG recently. Here are some useful tips for including SVG images in HTML and XHTML documents.
How to launch a new product. Jason Calacanis explains how they launched Mahalo Answers, including tips or running your own PR (Jason used to be a reporter so he’s played both sides of that fence).