Archives
-
Sampling with SQL – August 23, 2024
-
Dice Race (part 1) – June 24, 2023
-
A Great Old-Timey Game-Programming Hack – December 14, 2013
-
Tricks of the trade: Recursion to Iteration, Part 4: The Trampoline – June 12, 2013
-
Tricks of the trade: Recursion to Iteration, Part 3: Recursive Data Structures – June 3, 2013
-
Lazy merging in Python using streams – May 26, 2013
-
Tricks of the trade: Recursion to Iteration, Part 2: Eliminating Recursion with the Time-Traveling Secret Feature Trick – May 14, 2013
-
Tricks of the trade: Recursion to Iteration, Part 1: The Simple Method, secret features, and accumulators – May 11, 2013
-
Odds and the evidence of a single coin toss – March 4, 2013
-
The second-order-diff Git trick – February 18, 2013
-
Mounting a Nexus 7's filesystem under Fedora 17 – November 15, 2012
-
Test like you're betting for your life – April 15, 2012
-
Finally! I have blogged 100 thousand words. – January 29, 2012
-
The inner beauty of tree traversals (in Haskell) – January 26, 2012
-
A flyweight mocking helper for Python – November 7, 2011
-
The most surprisingly helpful thing I have written – November 1, 2011
-
Almost there: 100K words – July 20, 2011
-
Good enough to steal – July 10, 2011
-
Writing a simple plagiarism detector in Haskell – June 16, 2011
-
Presso hand-powered espresso maker: thoughts? – April 5, 2011
-
Dear readers: let me know if my feeds explode – March 26, 2011
-
Errata-sleuthing for fun and knowledge – March 24, 2011
-
A quick summary of the VL2 data-center network scheme – March 17, 2011
-
How to update your server's BIOS across the network – March 3, 2011
-
Some less-uninformed speculation about the Google-Bing squabble – February 3, 2011
-
The Google-Microsoft squabble over Bing results: some completely uninformed speculation – February 2, 2011
-
Are engineers really bad at things they can't measure? – January 23, 2011
-
The Bayesian meets Monty Hall – January 1, 2011
-
The other LectroTest – December 31, 2010
-
Most popular articles on my blog for 2010: the old stuff rules – December 28, 2010
-
Blog updates: faster, mathier, and more cacheable – December 26, 2010
-
More on the evidence of a single coin toss – December 20, 2010
-
On the evidence of a single coin toss – December 7, 2010
-
The easy way to understand web-font licensing: use open-source fonts – November 4, 2010
-
Emacs-magit 0.8.2 pushed to Fedora updates-testing – August 13, 2010
-
Quick tip: converting lines of text to paragraphs (and the reverse) – July 16, 2010
-
An interesting flaw (or feature?) in Amazon's marketplace – June 24, 2010
-
Two handy alternatives to the top command: htop and atop – June 10, 2010
-
A formal language for recipes: brain dump – January 8, 2010
-
Dispel the magic by defining the semantics – July 23, 2009
-
How to fix a broken bootloader configuration after a Fedora Linux upgrade – July 5, 2009
-
Dear Jeff Bezos: Here's an easy, effective way to fix the production problems in Amazon Kindle-edition books and, at the same time, prove that the Kindle is really, truly better than paper – June 29, 2009
-
The best-kept secret in programming conferences, especially in a down economy – May 22, 2009
-
Twitter puns – May 7, 2009
-
Perl saved my vacation! – April 25, 2009
-
Perlfolk! Get your YAPC|10 talk proposals in now! – April 20, 2009
-
10th-Anniversary YAPC coming right up! – February 24, 2009
-
When you buy proprietary software, you get suffering – February 3, 2009
-
Magit is a handy Emacs mode for people who use Git – February 2, 2009
-
Emacs stuff I always seem to forget – January 7, 2009
-
See you at the Pittsburgh Perl Workshop 2008! – October 8, 2008
-
The Insecurity of Security Questions: Why I met my wife in CWmKryWzuxCSAnMDuIg. – September 19, 2008
-
PXSL Tools now on Hackage and GitHub – August 24, 2008
-
Thinking algebraically: a functional-programming dividend that pays during your imperative-programming day job – August 20, 2008
-
Fun stuff: Video of Type B Erie steam shovel in action! – August 10, 2008
-
Fun stuff: Historical Construction Equipment Association's 2008 convention – August 9, 2008
-
Oleg's great way of explaining delimited continuations – May 5, 2008
-
That looks about right – April 11, 2008
-
Property checking with Python's nose testing framework – March 19, 2008
-
PXSL Tools 1.0: Your ticket out of XML Hell – December 17, 2007
-
How I stopped missing Darcs and started loving Git – December 10, 2007
-
TMR 9! – November 19, 2007
-
A couple of tips for writing Puppet manifests – November 15, 2007
-
How to download photos and movies from the Palm Centro to a Linux desktop – November 2, 2007
-
How to hotsync the Palm Centro with a Fedora 7 Linux desktop via USB – October 31, 2007
-
Perl helps prove universality of 2, 3 Turing machine – October 26, 2007
-
Practical differences between Darcs and Git/Mercurial – October 25, 2007
-
PPW 2007 is here! – October 13, 2007
-
PPW 2007: a twenty-ton can of programming whoop-ass – September 25, 2007
-
Bloglines doesn't handle inter-element white space properly – September 11, 2007
-
Updated cabal2rpm helps you make RPM packages from Haskell Cabal packages – September 7, 2007
-
ClusterBy: a handy little function for the toolbox – September 1, 2007
-
R tips and tricks: Producing smooth bitmap plots – August 25, 2007
-
Fun with statistics: estimating blog readership (a do-it-yourself recipe) – August 22, 2007
-
Pittsburgh Perl Workshop 2007: Don't miss your chance to speak! – August 20, 2007
-
Seven signs YOU may have created a Gratuitous Domain Specific Language – August 18, 2007
-
A bright future: security and modern type systems – August 15, 2007
-
My photo of British soldier lichen is now published! – August 14, 2007
-
Hailstorm! – July 15, 2007
-
Greasmonkey script annotates IMDb movies with their decoder-ring percentile ranks – July 11, 2007
-
Talk: Fun with Numbers: R and Perl (and IMDB data) – June 21, 2007
-
My upgrade to Fedora 7: rocky start but great finish – June 7, 2007
-
I'm going to be a published photographer! – May 31, 2007
-
Repairing my Kenwood A/V receiver's remote-control sensor – May 25, 2007
-
Good espresso at Sheetz? – May 18, 2007
-
New Fedora Core RPMS for CRAN packages arm, Matrix, lme4, car, coda, leaps, and mlmRev – April 25, 2007
-
Engauge Digitizer: a handy tool for extracting data from charts – April 17, 2007
-
Netflix vs. Amazon Unbox: Netflix still wins – April 7, 2007
-
I have written a short novel's worth of content for my blog – March 30, 2007
-
Directory-tree printing in Haskell, part three: lazy I/O – March 28, 2007
-
Debate to learn. Learn to debate. – March 26, 2007
-
The IMDB Movie Rating Decoder Ring: updated w/ 2 March 2007 data – March 9, 2007
-
Directory-tree printing in Haskell, part two: refactoring – March 7, 2007
-
A simple directory-tree printer in Haskell – February 22, 2007
-
Don't let password recovery keep you from protecting your users – February 9, 2007
-
Ruby 1.9 gets handy new method Object#tap – February 7, 2007
-
A bad way to start the evening – January 29, 2007
-
Never store passwords in a database! – December 15, 2006
-
I blame the pie – November 14, 2006
-
Minor site churn – November 4, 2006
-
Lowering the bar for over a decade – November 4, 2006
-
Adding Haskell syntax highlighting to the Typo blogging system – November 1, 2006
-
Introductory Haskell: Solving the Sorting-It-Out Kata – October 31, 2006
-
A type-based solution to the “strings problem”: a fitting end to XSS and SQL-injection holes? – October 18, 2006
-
If unit testing can't keep Rails safe from string-escaping problems, what makes you think it will keep your projects safe? – October 12, 2006
-
GHC 6.6 is out! – October 11, 2006
-
Unit testing is a tool, not a goal – October 10, 2006
-
Baker's percentages and how not to explain them – September 16, 2006
-
The 2006 Pittsburgh Perl Workshop is a ten-ton can of programming whoop-ass – September 12, 2006
-
Netflix: don't act like weasels – August 31, 2006
-
Typo-4.0.3 instability and a minor patch for sqlite3-ruby – August 24, 2006
-
Database connection leak in Typo 4.0.3: problem solved – August 24, 2006
-
Solving the Google Code Jam "countPaths" problem in Perl – August 17, 2006
-
Solving the Google Code Jam "countPaths" problem in Ruby – August 16, 2006
-
Solving the Google Code Jam "countPaths" problem in Haskell – August 15, 2006
-
Some recent reviews of distributed source-code-management systems – August 14, 2006
-
How to make sure your servers come back up after an extended power outage – August 9, 2006
-
Adding reddit and del.icio.us buttons to articles in Typo – August 9, 2006
-
Amazon Grocery: an upbeat mini-review – August 3, 2006
-
Upgrading my blog to run Typo 4.0 – July 24, 2006
-
A quick look at my blog's web statistics – July 20, 2006
-
A coder's guide to usage guides (and why you ought to use one) – July 19, 2006
-
Interesting stuff: matchstick moss (British soldier lichen) – July 7, 2006
-
Mini-review of CafePress's direct-printed t-shirts – July 5, 2006
-
Claiming my blog on Bloglines – July 5, 2006
-
LectroTest: new release, new talk, and the new LectroTest Emporium! – June 27, 2006
-
Dell-support follow-up survey – June 27, 2006
-
New server arrives: my adventure in Dell customer-support Hell – June 23, 2006
-
Macro photography: lady-beetle larva – June 18, 2006
-
Unexpected downtime – June 17, 2006
-
My code is “so clever as to be stupid” – June 16, 2006
-
Two good talks on software and freedom – June 7, 2006
-
Unofficial answers to FAQs about Giant Eagle's “fuelperks” gas discount – May 3, 2006
-
The Supermarket Pricing Kata in Haskell – April 28, 2006
-
The honeybee stories are back! – April 20, 2006
-
Perl and Pittsburgh: fun stuff coming your way! – April 12, 2006
-
Composing functions in Ruby – April 7, 2006
-
The Bowling Game Kata in Haskell – April 5, 2006
-
The "perfect shuffles" puzzle (solved in Haskell) – March 23, 2006
-
Talk: Embedded domain-specific languages for Perl – March 14, 2006
-
Good stuff: Tab Mix Plus for Firefox – March 3, 2006
-
Finding duplicate words in writing: a handy Perl script – March 1, 2006
-
My new rig is up and running – February 17, 2006
-
How to flash your BIOS when you don't have a floppy drive – February 17, 2006
-
Plogs: channelized shovel marketing from Amazon – February 13, 2006
-
Ryan Carson: Building web applications on a budget – February 8, 2006
-
A simple Apache recipe for migrating blog articles to a new host – February 6, 2006
-
Good stuff: Aldo Coffee Company – January 30, 2006
-
Night of the long-tailed beast! – January 23, 2006
-
Everything old is new again: moving content over from my old blog. – January 21, 2006
-
Wondrous oddities: R's function-call semantics – January 20, 2006
-
Mining gold from the Internet Movie Database, part 1: decoding user ratings – January 17, 2006
-
Improving Typo's spam protection – January 16, 2006
-
Cost-reducing interfaces should be the focus – December 8, 2005
-
Proofreading with speech synthesis – December 6, 2005
-
Try Ruby from your web browser – November 30, 2005
-
Ten simple ways to protect your privacy – November 28, 2005
-
Good stuff: Google Local for mobile devices – November 28, 2005
-
Wow! A Haskell-based first-person shooter! – November 22, 2005
-
Verizon FiOS fiber-optic Internet service: a first look – November 15, 2005
-
Replacing the fan array in my HP ProCurve 4000M switch – November 11, 2005
-
Things to do with unexpected free time – November 10, 2005
-
Linux just works – November 2, 2005
-
Damian Conway's talk on Sufficiently Advanced Technologies – November 1, 2005
-
Interesting stuff: keeping bees – October 28, 2005
-
Top-ten weblog usability mistakes: My blog's scorecard – October 26, 2005
-
Google Web Accelerator vs. unsafe linking: Round Two! – October 25, 2005
-
The oddities of floating-point arithmetic – September 27, 2005
-
Scope herding with delimited continuations – September 13, 2005
-
New RPM release: Emacs Speaks Statistics 5.2.10 – September 12, 2005
-
Good stuff: Foyle's War – September 1, 2005
-
Closures and the professional programmer – August 30, 2005
-
Power parsing with Haskell and Parsec – August 27, 2005
-
I have moved my blog over to Typo – August 25, 2005
-
How to change symlinks atomically – August 22, 2005
-
Perl Mongers meet at PAPA-8 pinball tournament kickoff! – August 12, 2005
-
Seeing small with digital cameras – July 13, 2005
-
Math makes tea taste better – July 11, 2005
-
The button_to helper is now part of Rails! – June 16, 2005
-
Where have the IEEE t-shirts gone? – June 10, 2005
-
Good stuff: One-Touch high capacity stapler from Staples – May 31, 2005
-
Taking the unsafe GETs out of Rails – May 8, 2005
-
Google Web Accelerator offers web developers an important opportunity – May 6, 2005
-
Cool stuff: Composable memory transactions – April 9, 2005
-
It's official: I like Ruby – April 8, 2005
-
Writing a simple Ruby evaluator in Haskell – March 25, 2005
-
Source code management with darcs: a first look – February 12, 2005
-
When worlds collide and then dance: Test::LectroTest meets Test::Builder – February 8, 2005
-
Google's no-follow proposal is a double win for the web – January 18, 2005
-
Letterpress Christmas cards – December 22, 2004
-
Floss loss: how Amazon screwed up an order for the world's best dental floss – December 7, 2004
-
How do software teams scale?: A snapshot based on switching SCM tools – November 19, 2004
-
2004 Presidential-election state polling data at a glance – November 2, 2004
-
Fun with Modern Election Methods – September 29, 2004
-
LectroTest: An automatic, specification-based testing tool for Perl – September 10, 2004
-
Open-source statistics: R and ESS – August 27, 2004
-
The Mobile Weather Problem and its solution – August 11, 2004
-
Computing the digits of e – July 22, 2004
-
Concurrent port scanner in Haskell – March 13, 2004
-
My new Radio VCR – February 20, 2004
-
Fun with Asterisk – November 15, 2003
-
A Coder’s Guide To Coffee – April 25, 2002
-
Seven Lessons from the ICFP Programming Contest – July 31, 2001