Posts

  1. Avoid Negative Variable Names

    Avoid negative variable names. They make code harder to read.(Related: –noooooooooooooooooo)A negative variable name ...

  2. The Elements of Computing Systems: Drawing Pixels on the Screen

    Like I said in my post about memory management on the Jackplatform, I love this book.The Elements of Computing Syst...

  3. The Elements of Computing Systems: Memory Management in Jack

    I love this book.The Elements of Computing Systems has you build a computer from scratch. By theend you build a pla...

  4. --noooooooooooooooooo

    Ruby’s OptionParser surprised me the other day.Say you want to make a CLI in Ruby. Ruby comes with an OptionParser an...

  5. How to Conference

    I often struggle to choose which talks to go to when I go to multi-tracksoftware conferences. My old method was to pi...

  6. A Tip for Testing the Speed of User Interactions in Your Javascript App

    At least one layout(reflow)should occur for every user interaction. Ensure this by triggering userevents in your test...

  7. A Lispy Calculator with Bison

    Bison is a parser generator that’s backwards compatable withyacc. You give it a lexer anda grammar in a .y file, and ...

  8. A Functional Implementation of an Abstract Development Server

    Let's implement an abstract development server in Haskell.

  9. Designing an Abstract Development Server

    Let's design an abstract development server that works for any compiled language.

  10. An Abstraction For Currying In Ruby

    This post works towards an abstraction for currying in Ruby. It begins with an illustration of currying with pseudoco...