1. Depending in Common Lisp

    August 26th, 2022

    Using the CLOS Dependent Maintenance Protocol

  2. Fun with Macros: Do-File

    April 19th, 2022

    Part 3 in a series of short posts about fun Common Lisp Macros.

  3. Writing Small CLI Programs in Common Lisp

    March 17th, 2021

    Somewhere between tiny shell scripts and full projects.

  4. A Road to Common Lisp

    August 27th, 2018

    How and why you can and should learn this old language.

  5. Fun with Macros: If-Let and When-Let

    July 9th, 2018

    Part 2 in a series of short posts about fun Common Lisp Macros.

  6. Fun with Macros: Gathering

    May 21st, 2018

    Part 1 in a series of short posts about fun Common Lisp Macros.

  7. CHIP-8 in Common Lisp: Menus

    January 10th, 2017

    Let's add some polish.

  8. CHIP-8 in Common Lisp: Debugging Infrastructure

    January 5th, 2017

    What's happening inside this computer?

  9. CHIP-8 in Common Lisp: Disassembly

    January 2nd, 2017

    What's in a ROM?

  10. CHIP-8 in Common Lisp: Sound

    December 26th, 2016

    Let's add a buzzer.

  11. CHIP-8 in Common Lisp: Input

    December 23rd, 2016

    Let's add a keypad.

  12. CHIP-8 in Common Lisp: Graphics

    December 21st, 2016

    Let's draw some pixels.

  13. CHIP-8 in Common Lisp: The CPU

    December 19th, 2016

    Let's write an emulator.

  14. Customizing Common Lisp's Iterate: Timing

    October 10th, 2016

    How long is this loop?

  15. Customizing Common Lisp's Iterate: Averaging

    September 20th, 2016

    Don't loop, iterate!

  16. Playing With Syntax

    August 19th, 2016

    Lisp lets you evolve your language.

  17. August 2016 Lisp Game Jam Postmortem

    August 15th, 2016

    Porting a game from Clojure to Common Lisp.

  18. What the Hell is Symbolic Computation?

    June 29th, 2016

    Symbols, REPLs, and Quoting — Oh My!

  19. Terrain Generation with Diamond Square

    June 27th, 2016

    Improving on Midpoint Displacement.

  20. Recursive Midpoint Displacement

    March 7th, 2016

    A cleaner version.

  21. Terrain Generation with Midpoint Displacement

    February 19th, 2016

    A first step toward growing worlds with computers.

  22. Ludum Dare 34 Postmortem

    December 15th, 2015

    I made a "game"!

  23. What the Hell are Permutation Patterns?

    December 10th, 2015

    A short introduction.

  24. Just Beat the Data Out of It

    November 30th, 2015

    Round two of the Bob Ross Twitch chat analysis.

  25. Happy Little Words

    November 20th, 2015

    Analyzing the Bob Ross Twitch chat.

  26. Bag Review: National Geographic MC5350

    July 26th, 2015

    Almost perfect weekend travel and DSLR kit bag.

  27. Bag Review: National Geographic A2540

    July 24th, 2015

    A great little shoulder bag for holding a DSLR kit.

  28. Teach, Don't Tell

    September 3rd, 2013

    Documentation Matters

  29. Git Koans

    April 8th, 2013

    The path to enlightenment is long and arduous.

  30. List Out of Lambda

    March 30th, 2013

    Down the rabbit hole we go!

  31. The Caves of Clojure: Part 7.1

    October 15th, 2012

    Region mapping.

  32. Why I Two-Space

    October 12th, 2012

    You can pry my extra spaces from my cold, dead hands.

  33. A Modern Space Cadet

    October 3rd, 2012

    Emulating a legendary keyboard.

  34. The Homely Mutt

    October 1st, 2012

    Sparrow's dead? Why not try Mutt?

  35. The Caves of Clojure: Part 6

    July 30th, 2012

    Real combat and messages.

  36. The Caves of Clojure: Interlude 1

    July 14th, 2012

    Black magic.

  37. The Caves of Clojure: Part 5

    July 13th, 2012

    Fungus and more.

  38. The Caves of Clojure: Part 4

    July 12th, 2012

    A player!

  39. The Caves of Clojure: Part 3.4

    July 11th, 2012

    Refactoring.

  40. The Caves of Clojure: Part 3.3

    July 11th, 2012

    Scrolling.

  41. The Caves of Clojure: Part 3.2

    July 10th, 2012

    World smoothing.

  42. The Caves of Clojure: Part 3.1

    July 9th, 2012

    World generation.

  43. The Caves of Clojure: Part 2

    July 8th, 2012

    Dealing with state.

  44. The Caves of Clojure: Part 1

    July 7th, 2012

    Getting a Roguelike up and running.

  45. Volatile Software

    April 23rd, 2012

    Our culture is one of pain and suffering.

  46. Writing Vim Plugins

    September 6th, 2011

    It's pretty much black magic.

  47. Django Advice

    June 30th, 2011

    Some useful things I've learned.

  48. Going Paper-Free for $220

    May 26th, 2011

    It feels like the future!

  49. Coming Home to Vim

    September 20th, 2010

    I'm sorry I ever left, baby.

  50. A Git User's Guide to Mercurial Queues

    August 10th, 2010

    MQ is git's index on steroids.

  51. Mercurial Workflows: Translation Branches

    June 11th, 2010

    Uncommon but useful.

  52. Mercurial Workflows: Stable & Default

    May 17th, 2010

    Part 2 of several.

  53. A Faster Feed Apart

    April 30th, 2010

    Rethinking A Feed Apart’s backend.

  54. Mercurial Workflows: Branch As Needed

    February 28th, 2010

    Part 1 of several.

  55. My Extravagant Zsh Prompt

    January 31st, 2010

    It’s big, but my monitor isn’t running out of ink.

  56. The Real Difference Between Mercurial and Git

    January 20th, 2010

    It’s not their features.

  57. Moving from Django to Hyde

    January 15th, 2010

    Another year, another rewrite.

  58. A Guide to Branching in Mercurial

    August 30th, 2009

    With illustrations and comparisons to git.

  59. How to Contribute to Mercurial

    June 1st, 2009

    Ten minutes of setup will make it easier.

  60. What I Hate About Mercurial

    May 29th, 2009

    Hg, I love you, but sometimes you bring me down.

  61. Candy Colored Terminal

    March 18th, 2009

    Better colors for the OS X Terminal.

  62. Mercurial Bash Prompts

    March 17th, 2009

    Always know where you are.

  63. How I Shoot Dances

    February 9th, 2009

    Slow shutter and flash.

  64. How & Why I DJ

    February 6th, 2009

    I like playing music for dancers.

  65. Deploying with Fabric & Mercurial

    January 15th, 2009

    Trimming typing.

  66. Going Open Source

    January 13th, 2009

    Why I’m making the code to this website public.

  67. Site Redesign

    January 11th, 2009

    Yeah, I know. Again.

  68. Negative Space in Dancing

    August 31st, 2008

    It’s not just for artsy kids.

  69. Beauty in Computer Science

    August 29th, 2008

    Why I love what I do.

  70. Shooting Girl Jam

    April 29th, 2008

    I'm finally getting the kind of dancing photos I want.

  71. Entourage + Applescript = Frustration

    February 21st, 2008

    This is ridiculous.