teideal glic deisbhéalach
Bryan O’Sullivan’s website. Recent blog posts below.
- Posts
- 261 from 15 Feb 2003 to 14 Sep 2026
- Posting
- now and then (2 in the last year)
- Kind
- personal blog
- Feed
- https://www.serpentine.com/posts/index.xml
2026 2
2015 1
2014 8
- criterion 1.0
- Win bigger statistical fights with a better jackknife
- A major upgrade to attoparsec: more speed, more power
- Top Haskell packages seen through graph centrality beer goggles
- Once more into the teach, dear friends
- Where credit belongs for Hack
- Book review: Parallel and Concurrent Programming in Haskell
- New year, new library releases, new levels of speed
2013 5
2012 6
2011 13
- aeson 0.4: easier, faster, better
- The future of MailRank’s open source technologies
- A major new release of the Haskell statistics library
- The Strange Loop conference was a blast
- Fitter, happier, more productive UTF-8 decoding
- Here be dragons: advances in problems you didn’t even know you had
- attoparsec 0.9, a major (and abortive) release [updated]
- Exciting teaching news
- A new week, a new JSON performance improvement
- A little care and feeding can go a long way
- CPS is great! CPS is terrible!
- Faster, better, cleaner: new aeson and attoparsec releases
- So I went and started a company
2010 27
- A small matter of illegal characters
- GHC 7 I/O manager status update
- text 0.10.0.0 is here
- How to migrate from darcs to Mercurial or git
- A brief tale of faster equality
- Unicode text performance improvements
- Like a coding challenge? Check out Code Quarterly
- Dual bitbucket/github citizenship
- Why I don’t use darcs any more (much)
- A tiny example of clean Unicode handling in Haskell
- Haskell-related job opening at Stanford University
- Updated ICU bindings for Haskell: 0.4.0.0
- Dealing with fragile C libraries (e.g. MySQL) from Haskell
- Fast base64 encoding and decoding in Haskell
- Major version of the Haskell text library, 0.8.0.0
- Haskell in the Real World discussion at CUFP
- Converting a Mercurial tree repeatedly with files removed
- Budding Aspen, Sierra Palisades
- PADL ’11 call for papers
- GHC I/O manager progress: ready to merge, and paper accepted!
- What’s in a find function?
- Sightings of the GHC event manager in the wild
- What’s in a parser? Attoparsec rewired (2/2)
- What’s in a parsing library? (1/2)
- Minuscule linkscrape of mischief
- New GHC I/O manager, first sets of benchmark numbers
- Progress on GHC’s I/O manager
2009 31
- Making GHC’s I/O manager more scalable
- Data.Text 0.7 gains I/O support
- The performance of Data.Text
- Wouldn’t it be nice…
- Dense? Dense, you say?
- Criterion 0.2, an improved Haskell benchmarking library
- Announcing a major revision of the Haskell text library
- New criterion release works on Macs
- Criterion, a new benchmarking library for Haskell
- Riddle me this
- Video of my CUFP keynote
- A new pseudo-random number generator for Haskell
- A video demo of my Haskell benchmarking framework
- Lazy functional yak shaving in Haskell
- In which I write again about revision control
- Slides from my CUFP 2009 keynote talk
- Haskell Platform support for Fedora: we’re almost there
- First steps with Haskell text API improvement
- What’s in a text API?
- Case conversion and text 0.3
- Dealing with encoding errors in Data.Text
- I put a pidgit in your widget so you can fidget while you calculate pi
- Streaming Unicode support for Haskell: text 0.2
- Mercurial book is now in production, and a little gift
- Slides from my Erlang Factory talk this morning
- DEFUN 2009 call for talks and tutorials
- Mercurial: The Definitive Guide
- Scintillation
- Finally! Fast Unicode support for Haskell
- Speaking at Bay Area Erlang Factory in April
- Fun with Haskell view patterns
2008 22
- The 12 Days of EFF
- Functional programmers on Twitter
- Recovering from hand surgery
- Unix hacking in Haskell: better pseudoterminal support
- Using Bloom filters for large scale gene sequence analysis in Haskell
- Slides from my DEFUN 2008 Haskell tutorial
- Some notes on the future of Haskell and FP
- Twittering from ICFP / Haskell symposium / CUFP
- Sorely disappointed by the revamped delicious
- Disappointed by Thinkpad X60 thermal problems
- Hoisted from someone else’s comments
- The moral of this story holds in so many contexts
- What to expect from the new binutils linker
- Peruse popular Perl packages
- GHC’s performance with threads is impressive
- The basics of applicative functors, put to practical work
- LLVM for Fedora
- The Monad Squad
- A new (well, to me) spam vector: google.com
- Phil Wadler to talk in San Francisco next week
- Why you should not use pyinotify
- LLVM bindings for Haskell
2007 43
- Design your functions for partial application
- BLDGBLOG interviews Kim Stanley Robinson
- GHC 6.8.1, gtk2hs 0.9.12.1 now available for Fedora 8
- GHC 6.8.1 pushed to Fedora 8 testing
- See me speak at Ignite SF tonight
- Using Emacs to insert SCC annotations in Haskell code
- What the heck is a Wide Finder, anyway?
- Pure Haskell MySQL bindings in the works
- Weighted Slope One in Haskell: collaborative filtering in 29 lines of code
- Announcing Data.SuffixTree, a lazy, efficient Haskell suffix tree
- Why is del.icio.us trapped in amber?
- Modern Irish comedy in bite-sized nuggets
- On the value of strong static typing
- But I wore the juice!
- Fedora 7 on a Thinkpad X60: not so hot
- So I’m writing a Haskell book!
- GHC 6.6.1 for Fedora
- Norvig’s spell checker and idiomatic Haskell
- FileManip, an expressive Haskell library for manipulating files
- Efficiently computing a factorial using binary splitting
- Must-see Haskell talks at OSCON ’07
- Haskell.org and Google’s Summer of Code
- How to dual-boot Windows and Fedora, by hand, for the insane
- Who says there’s nothing to numerology?
- A Haskell regular expression tutorial
- A quick programmer’s look at NVIDIA’s CUDA
- Haskell Cabal, now with extra crunchy RPM goodness
- Esh, the fabulous, forgotten Scheme implementation
- Anatol Rapaport on argument
- Parsing a simple config file in Haskell
- Blogging with Emacs and Haskell, part Zero
- Beautiful graphics manipulation (in Haskell, artistic flair required)
- Playing fast and loose with Parsec for parsing in Haskell
- New Haskell packages for Fedora Extras
- Attention, the Soviet herring fleet!
- First impressions of darcs: not so hot
- Two-dimensional spatial hashing with space-filling curves
- Haskell: bootstrapping into a clue about monads
- Getting started with installing third-party Haskell packages
- Dealing with yum hangs on FC6
- Of bureaucracy and second-guessing
- Give a man a fire, he’ll be warm for a day
- The shock of the forgotten
2006 28
- How to build safe, clean Python 2.5 RPMs for Fedora Core 6
- Sony Ericsson Z520a phone review
- Refilling a missed TLB entry, now with special sauce
- The translation lookaside buffer
- Scott Aaronson on computational complexity and the anthropic principle
- A foray into philosophical silliness
- Upon being found by the kids
- Adventures in juvenile linguistics
- Make Linux performance analysis easier with oprofile
- Mathbin, a pastebin that renders mathematics using LaTeX
- The obsessionally perfect news story
- Make Linux happy with a modern laptop’s CD/DVD drive
- Collaborative filtering made easy
- Book review: Doug Macdougall, “Frozen Earth”
- Every parent’s nightmare
- Notes on migrating from Blosxom to WordPress, Fedora edition
- Linux on the Dell XPS M1210
- Climbing in Bishop
- What I did at the weekend
- Restaurant mini-review: Dosa
- The $10,000 laptop … almost
- OSCON 2006: Come see me talk
- Been a busy month
- LaTex vs DocBook
- The joint Mercurial / Bazaar-NG sprint: aftermath
- Baypiggies talk, tomorrow, June 8
- Joint Mercurial / Bazaar-NG sprint
- Why I’ve been quiet for a while
2005 45
- Mercurial: I am just going outside and may be some time
- Announcing a Windows installer for Mercurial
- tumgreyspf considered harmful
- On distributed revision control and project forking
- Mercurial Queues
- Coworking in San Francisco
- Slides from distributed SCM talk at Foo Camp 2005 available
- On distributed and centralised revision control
- More about Subversion
- Automatic merging, or how to spend all of your sanity on one problem
- The legacy of BitKeeper
- On moving, in a hurry
- Where’s that damn backstory when you need it
- First impressions of FC4
- Bye, Charlie
- Four months, and counting
- Mercurial: “proper” ssh support added
- Mercurial: “locate” command added
- Mercurial snapshot builds for Fedora Core
- Mercurial: RSS feeds added
- Mercurial: “revert” command added
- Mercurial hacking
- The lithic principle
- I have seen the future of free distributed revision control systems
- How to stop feeling sorry for oneself
- Missourian sprawl
- Cleaning up the geek bookshelf, part 1: “What was I thinking?”
- Delicious Python
- Ah, classic science fiction
- Why I love Atlas Cafe
- The multithreaded programming FAQ: It’s back (sort of)
- A nasty bug in mDNSResponder
- We await Sharkfin Garbage Can’s empire
- That book meme
- The innacurately named Mail 2.0
- Higher order indifference
- Color and Light in Nature
- A brief note on the universe of free batching systems
- Hitachi redux
- The great Python vs ld.so smackdown
- Configuring Postfix to use TLS and SMTP AUTH
- Searching video
- Probability Theory
- The Scientists
- Better luck with music
2004 28
- Methuselah goes on a cruise
- No X, know Y
- The New Year’s climbing resolution
- Casual profiling
- Ireland 2004: notes from an outsider
- Ignoring jet lag doesn’t make it go away
- From the department of unintentional Tom Swifties
- Arrival in Pittsburgh
- Conversation of the day
- NowHouse, day 2
- Happy child, miserable cat
- Why Python is useless for serious XML processing
- Indian summer
- Another reason not to buy CDs on spec
- Adventures in judging CDs by their covers
- Squarepusher, Ultravisitor
- Khalid Kelly!?
- I can die happy now (or, as it turned out, not )
- I, for one, welcome our new corrected quote
- Letters from Iraq
- Tankers
- Used car sales for physicists
- Bush, Kerry could learn a few things from Cian
- Ghost in the house
- Maybe phone cameras aren’t so bad, after all
- It’s (they’re) ours!
- Never trust a pen-and-ink real estate drawing
- Blowing off the dust