The maze book for programmers!
PragProg Amazon BN.com

Algorithms, circle mazes, hex grids, masking, weaving, braiding, 3D and 4D grids, spheres, and more!

DRM-Free Ebook

The Buckblog

assorted ramblings by Jamis Buck

Essays and Rants

Jan 2016

Software Proverbs

30 January 2016 — Four Korean proverbs, applied to software development — 4-minute read

Don't Assume It's Difficult until It Is

9 January 2016 — The author shares three experiences which have taught him to reserve judgement on which parts of a task will be the difficult ones — 5-minute read
Dec 2015

Avoiding "Call Super" with Callbacks

19 December 2015 — The author demonstrates the use of ActiveSupport::Callbacks to avoid the Call Super anti-pattern — 5-minute read

Little Things: Introspecting Block Parameters

12 December 2015 — The author uses Ruby's `Proc#parameters` feature to implement a simple way to access data in a Hash — 1-minute read

Integration API vs. Internal API

5 December 2015 — In which the author demonstrates the difference between integration and internal API's, and warns about an anti-pattern — 3-minute read
Nov 2015

Upsilon Mazes

28 November 2015 — 9-minute read

Representing a Toroidal Grid

21 November 2015 — 11-minute read

Little Things: Refactoring with Hashes

14 November 2015 — 2-minute read

Fifteen Minutes at a Time

7 November 2015 — 5-minute read

Oct 2015

Mazes with Blockwise Geometry

31 October 2015 — 5-minute read

Testing What You Should Have Written

24 October 2015 — 3-minute read

Changing the Channel

3 October 2015 — 3-minute read

Sep 2015

Default Scopes are an Anti-Pattern

19 September 2015 — 4-minute read

Little Things: Heredocs

12 September 2015 — 3-minute read

Little Things: Hashes & Procs

5 September 2015 — 3-minute read

Aug 2015

Ideas are Cheap

29 August 2015 — 3-minute read

Writing a Klondike Puzzle Solver

4 August 2015 — 9-minute read

Jul 2015

Writing a Simple Recursive Descent Parser

30 July 2015 — 5-minute read

Jan 2015

Lessons from the Kitchen

30 January 2015 — 5-minute read

Jun 2011

Sharing the Inheritance Hierarchy

7 June 2011 — 2-minute read

Jan 2010

There is no magic, there is only awesome (Part 4)

25 January 2010 — 4-minute read

Oct 2009

There is no magic, there is only awesome (Part 3)

9 October 2009 — 11-minute read

Sep 2009

There is no magic, there is only awesome (Part 2)

25 September 2009 — 6-minute read

There is no magic, there is only awesome (Part 1)

16 September 2009 — 6-minute read

Nov 2008

LEGOs, Play-Doh, and Programming

9 November 2008 — 18-minute read

Oct 2008

Coming home to Vim

10 October 2008 — 4-minute read

Mar 2008

When duplication is not duplication

6 March 2008 — 2-minute read

Jan 2008

Never. Ever. Cargo-cult.

7 January 2008 — 2-minute read

Feb 2007

Method visibility in Ruby

23 February 2007 — 3-minute read

Jan 2007

Scaffolding's place

26 January 2007 — 2-minute read

Nov 2006

Just say "no" to certification

10 November 2006 — 2-minute read

Don't be afraid of harnessing SQL

7 November 2006 — 2-minute read

Oct 2006

Prolog in Ruby

28 October 2006 — 2-minute read

Indexing for DB performance

23 October 2006 — 4-minute read

Skinny Controller, Fat Model

18 October 2006 — 5-minute read

Sep 2006

D&D, Knowledge bases, and Prolog (oh, my!)

29 September 2006 — 4-minute read

1d6 more reasons to love Ruby

27 September 2006 — 5-minute read

Apr 2006

Writing Domain Specific Languages

20 April 2006 — 6-minute read

Jan 2006

Wait Until it Hurts

27 January 2006 — 2-minute read

Nov 2005

Revealing hidden assumptions in estimation

19 November 2005 — 1-minute read

Jul 2005

Application Deployment with Rails

14 July 2005 — 3-minute read

Jun 2005

Singing the Praises of Benchmark

10 June 2005 — 3-minute read

IE is teh 3v1l

3 June 2005 — 2-minute read

Mar 2005

Test-First Development

31 March 2005 — 3-minute read

To sync or not to sync

12 March 2005 — 4-minute read

Feb 2005

Ajax

26 February 2005 — 2-minute read

Jan 2005

34 Reasons Why I Will Never Use Debian

25 January 2005 — 1-minute read

Dec 2004

Disappointments in Ruby Land

30 December 2004 — 2-minute read

Jun 2004

Jelly: Scripting for the Soulless

10 June 2004 — 6-minute read

May 2004

Frameworks as Deliverables

7 May 2004 — 2-minute read

Mar 2004

Bitten by OpenSource

11 March 2004 — 2-minute read

Java Good, Java Bad

4 March 2004 — 2-minute read