search.cpan.org is a pretty useful website for searching CPAN. Unfortunately sometimes I am not online. Sometimes I am online but have very spotty access. You can't run search.cpan.org locally as it is closed-source. I've been annoyed about this in the past, errr, seven years now, but haven't quite figured out the proper solution. Now I have: let me announce to the world CPAN::Mini::Webserver.
You must create a minicpan with CPAN::Mini. Then install the module and simply run minicpan_webserver. This finds out where your minicpan lies, reads some indexes from it, and starts a web server. Through the web interface you can search for authors, distributions and packages, browse distributions by author, browse files in a distribution, see the documentation of any file and see syntax-highlighted Perl code. All while offline. Try it out now!
It works well enough, but I have some more plans. Let's have a BoF about it at YAPC::Europe in Copenhagen. Tell me what you think, Léon.
SIGGRAPH 2008 happened last week and here are some of the papers that I particularly like:
- Programmable Aperture Photography: Multiplexed Light Field Acquisition - all about capturing light fields on a standard camera
- Motion-Invariant Photography - deblurring photographs by intentionally blurring them
- Face Swapping: Automatically Replacing Faces in Photographs - also useful for group photos
- Simulating Knitted Cloth at the Yarn Level - knitting
- Finding Paths through the World's Photos - user-generated flyarounds?
- Improved Seam Carving for Video Retargeting - more on Seam Carving for Content-Aware Image Resizing
- Structure-Aware Halftoning - sketching
- Surface Depth Hallucination - getting a textured high field from the same shot with and without flash
- Self-Animating Images: Illusory Motion Using Repeated Asymmetric Patterns - by far my favourite
This quarter's Perl Foundation Grant Proposals have been announced. Some of them are quite interesting, but we need to know which ones you like so we know which to approve - please have a read and leave questions and comments.
It used to be that you had to dig around in forums to check if Amazon S3 or EC2 had problems. How things have changed: Amazon Simple Storage Service (US) Event: July 20, 2008. Mental note, once I have thousands of servers I should check out gossip protocols.
My, weddings and honeymoons are fun. Anyway, previously I've mentioned "Protocol Buffers" in the context of Facebook's Thrift, which is a reimplementation. "Protocol buffers are now Google's lingua franca for data". Well, Google finally went ahead and open sourced their Protocol Buffers implementation. It's a neat little way of encoding structured data (think XML or ASN.1) in C++, Java and Python and there is work on implentations for other languages (including Perl). Good writeup. Keep on eye on them.
I've been quite busy recently organising my wedding. One of the geekiest parts was using Lilypond to produce beautiful engraving for the church ceremony (in the garden, not in a church). Our guests speak a mix of English and German, so we selected songs which are popular enough that everyone can sing the same tune, but with different words. It was fairly easy to hack Lilypond - there are lots of examples of its ASCII input online and many things can export to its format. It's a good tool which concentrates on doing one thing well. Check out the final product:
O'Reilly's Velocity conference was earlier on this week and they've very kindly put slides online. Most of the talks seemed to be along the lines of "use gzip compression, minify JavaScript etc".Here are my highlights:
First off is AOL PageTest, which measures page loading in IE a little like Firebug does. It's available as a Windows binary and as a service from webpagetest.org.
EUCALYPTUS - Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems might be a dodgy name but it's an interesting reimplentation of Amazon's EC2 service so that you can run it locally.
In June 2003, clkao and sky created SVL. As clkao explains:
SVL is a very thin layer on top of SVK, along with Bonjour (ZeroConf) and OpenDHT. It allows peer-to-peer repository communication without a centralized server. For instance, in a room full of hackers, when people come up with a cool idea and want to start hacking right away, they shouldn't need to set up a centralized repository somewhere and make everyone use it. With SVL, repositories are advertised, people can just branch from each other, and then pull from each other.
I ended up talking about it at OSCON in August 2005.
In hindsight, it's a fairly obvious step for a peer to peer version control system - which is what all these distributed version control systems really are. I still haven't seen anyone else use OpenDHT for this, but James Henstridge added ZeroConf to Bazaar in March 2007 and in May 2008 some Ruby hackers created gitjour, which adds ZeroConf to Git. It takes a while for ideas to propagate.
Google hosted their yearly developer conference, Google I/O, a few weeks ago. They've put up slides and videos of the sessions. I particularly liked the Dalvik VM Internals session. The Dalvik virtual machine is the basis of the Google's Android mobile platform and as such has memory and power constraints. It takes Java .class files and converts them into register-based .dex files:
When Google trends came out more than two years ago, I compared colour trends. I thought it would be interesting to see what it is like now: compare blue, red, orange, green, dark blue, which just happens to be the colours of the lines they use in the chart. Orange overtook green in late 2006, and red overtook blue in late 2007. What will happen next year? Will orange finally take off?
Whoops, good point. read more
on SIGGRAPH 2008