Twittering from ICFP / Haskell symposium / CUFP

I’m in Victoria, BC this week, at ICFP. I’ve been writing a few notes about the talks that have been taking place in my Twitter stream. Also Twittering from the conference is Don Stewart. The Haskell symposium has gotten off to a great start, with very good talks that have blended practicality and theory. Since CUFP (Commercial Users of Functional Programming) is the most externally visible part of the conference, I’ll attempt to do some more extensive writeups tomorrow. ...

25 September 2008 · 1 min · Bryan O'Sullivan

Sorely disappointed by the revamped delicious

In April last year, I visited Yahoo HQ to take a look at what was then their in-progress redesign of del.icio.us. It took me no more than a few minutes to decide that I hated it: it fit much less information on each page, it introduced big bars of colour to no apparent purpose, and little meaningless bits of text would flicker in and out of existence as I moved the mouse around. ...

6 August 2008 · 1 min · Bryan O'Sullivan

Disappointed by Thinkpad X60 thermal problems

I’ve had a Lenovo X60 for about 18 months. For almost a year, I was well pleased with its combination of light weight and decent performance, but then it developed a nasty thermal problem. Its idle temperature suddenly went from 45C to 55C, and any time I tried to do anything demanding, it would go into thermal shutdown after a minute or two. Since the machine was still under warranty, Lenovo repaired it, and I was very pleased by their responsiveness at the time. I sent the machine off on a Tuesday, and got it back on a Thursday. ...

21 June 2008 · 2 min · Bryan O'Sullivan

Hoisted from someone else’s comments

Marc Ambinder comments on the peculiar cadence of the jacket blurbs for Douglas Feith’s new book, to which some wag responds with a suggestion for a similar endorsement. Feith’s book is perfectly rectangular. Its page numbers progress in a pleasing upward sequence. Its evident shortcomings in terms of accuracy are offset by its usefulness in balancing wobbly furniture.

11 April 2008 · 1 min · Bryan O'Sullivan

The moral of this story holds in so many contexts

Snipped from a small mailing list. You can use fruit and vegetables’ as a voltaic battery but they could only power something like a small LED bulb, no way would there be enough power to charge an iPod 🙂 Depends on how many you use… you need to have enough in series to give a high enough voltage, and then a heap in parallel for more current. This reminds me my “electric snail fence” when I was a child… I was making batteries using lemons, brass screws, and nails to power a small electric fence using a pair of copper wires wrapped around matchstick “fenceposts” to keep snails in an enclosure (I was studying them). ...

7 April 2008 · 2 min · Bryan O'Sullivan

What to expect from the new binutils linker

I’ve been following Ian Lance Taylor’s updates on the status of gold, the new binutils linker, for a while, so when he announced that he’d added it to the binutils tree, I decided to make a little time to try it out. I have a fairly large C++ application handy, so I tried linking it on my dual core Thinkpad with 2GB of memory, running Fedora 8. When I compile this application with debugging symbols enabled, it’s not exactly fast to link: it takes about a minute. Because the amount of data the linker has to chew through is impressively large, the actual time varies by up to 20% from one run to the next: all of those object files don’t fit into memory at once. This also has the unpleasant effect of paging out parts of apps I’m trying to use, such as Emacs and Firefox. Hmph. ...

25 March 2008 · 3 min · Bryan O'Sullivan

Peruse popular Perl packages

For a little while, I’ve been curious about which of the packages people in the vast wasteland of CPAN actually use and care about. Here’s an attempt to answer that question with fifty popular Perl packages for your entertainment. Before we begin, a brief overview of the column layout. The mean vote from CPAN ratings. The number of votes for that package registered at CPAN ratings. The number of “vote” entries registered at the Debian popularity contest. This is approximately the number of people who currently use a package. My ranking attempts to balance people’s votes against a package’s practical utility using a metric composed of equal parts baffling complexity and utter nonsense. ...

19 February 2008 · 2 min · Bryan O'Sullivan

GHC’s performance with threads is impressive

Here’s a simple program I wrote on a whim tonight, to take a very basic look at GHC’s low-level threading performance. module Main where import Control.Applicative import Control.Concurrent.MVar import Control.Concurrent import Data.Time import System.Environment main = do mv <- newEmptyMVar start <- getCurrentTime loop mv =<< read . head <$> getArgs end <- getCurrentTime putStrLn $ “creation time:” ++ show (diffUTCTime end start) putMVar mv 0 takeMVar mv fin <- getCurrentTime putStrLn $ “message time:” ++ show (diffUTCTime fin end) ...

7 February 2008 · 2 min · Bryan O'Sullivan

The basics of applicative functors, put to practical work

Applicative functors are gorgeous and versatile creatures, but as is common in Haskell, they lack a little in documentation. The paper that Conor and Ross wrote introducing them is good, but dense. What if we were to skip all the scene-setting kerfuffle, and plunge into using them by example? I won’t attempt to describe what applicative functors actually are, because the idea is easy to absorb: we’ll pick it up as an incidental product of figuring out how to use them. Bear with me. ...

7 February 2008 · 6 min · Bryan O'Sullivan

LLVM for Fedora

I’ve just packaged up LLVM 2.1 for Fedora. It hasn’t hit the testing repository yet, but when it does, you’ll be able to install it in straightforward fashion: yum --enablerepo=testing install llvm llvm-devel llvm-docs Until the packages are pushed out (within a few days), you can download them directly.

22 January 2008 · 1 min · Bryan O'Sullivan