Arjan van der Gaag

I am Arjan van der Gaag.

I’m a dad, historian, software developer, agilist, self-organisation evangelist, speaker, and all-round geek. I write about some of that stuff here. You can also find me on Github, Goodreads, LinkedIn or Twitter.

Talks and slides

  1. How to Lead a Team by Doing Nothing
    talk at Agile Manchester 2017 about combining Kanban and Holacracy for agile software development.
  2. Hanami: because sometimes, you need to re-invent the wheel
    talk at Utrecht Ruby user group about a new-ish Ruby web framework.
  3. Web development that hurts even less: taking lessons from Rails
    talk at DomCode 2015 about life in the Ruby community beyond Rails (video)
  4. Ruby Acting up: How Celluloid implements the actor model
  5. Ecto: a database wrapper and language integrated query for Elixir
  6. Using Awk: and old school text processing tool with surprising versatility
  7. Lotus: because sometimes you need to reinvent the wheel
  8. Mikado Method: a structured method for significant changes in complex code
  9. Beat Impostor Syndrome
    talk at the ArrrrCamp 2014 conference on dealing with impostor syndrome as a software developer (video)
  10. Getting started with ruby
    Lightning talk on the ruby program and some of its options.
  11. Say Hello to Elixir
    talk I gave at The Guild about Elixir and learning from functional programming.

Reading list

List of the books I have read.

Thoughts and writings


  1. Using Emacs as a database client
  2. Customising Phoenix generator templates
  3. Using YASnippet in Emacs
  4. Seams, design, and why I test Rails controllers and views
  5. Directory-specific environment variables and program versions
  6. Holacracy and getting work done


  1. The dangers of hero culture
  2. A scrum master’s job
  3. Holacracy and being human
  4. The art and science of Getting Things Done
  5. Scrum: neither sufficient nor required
  6. View-backed ActiveRecord models
  7. Splitting two tables using SQL
  8. Using updatable views in PostgreSQL
  9. My year in books 2018
  10. Using PostgreSQL constraints
  11. Continuous Integration: surprisingly hard and unpopular


  1. My year in books 2017
  2. Beat Impostor Syndrome


  1. Three ways to improve the feedback you give
  2. Dropping the Cowboy server signature in a Phoenix app
  3. Writing a lexer and parser
  4. How to Lead a Team by Doing Nothing
  5. Testing Elm updates


  1. Elm: nudging you toward good design
  2. Use your editor to write simpler code


  1. Using custom inputs with Simple Form
  2. Switching from Vim to Emacs
  3. Ruby protected methods
  4. Up and running with Lotus
  5. Some of my favourite podcasts
  6. Writing custom RSpec matchers
  7. Wrestling JSON with jq


  1. Combining Vim and Ctags
  2. Tips for writing better Cucumber steps
  3. Working with Rails Attributes magic
  4. Using Ruby command line options
  5. Navigating project files with Vim


  1. Fuzzy-find all the things with Selecta
  2. Using and abusing RSpec metadata
  3. Working with Postgresql on the command line
  4. Programming Awk for fun and profit


  1. Modular front-end code in Rails
  2. Vim advanced search and replace
  3. FactoryGirl Tips and Tricks
  4. Rails decorator patterns
  5. Introducing Rpub, a simple ePub generation library
  6. Presentation: Getting started with ruby
  7. A Ruby gem for the developer API
  8. Shell scripting to the rescue
  9. Generating fancy URLs with Rails


  1. Customize your ZSH prompt with vcs_info
  2. Clarify your Git history with merge commits
  3. Compiling Vim with Ruby support
  4. Taking advantage of foreground and background processes
  5. Testing Rails 3 routing constraints objects
  6. Retro-fitting Git branches
  7. The Javascript Class Pattern
  8. The nanoc-cachebuster Gem
  9. Why I don’t need Alfred App
  10. The Productive Macs bundle
  11. The a.block pattern


  1. Tagging links for Google Analytics
  2. Why I like Nanoc
  3. On Using Vim
  4. Internet Explorer 6 and media types
  5. Modifying Subversion commit messages
  6. Using relatedTarget in Javascript event handlers
  7. Quick text manipulation with Ruby
  8. Issues using VCSCommand with MacVim
  9. ZSH arguments-fu
  10. Using Postbox
  11. Test Apache configuration syntax
  12. Introducing μtil
  13. Javascript typeof Nodelist


  1. jQuery custom selectors
  2. Subversion branching
  3. Snow Leopard web development configuration
  4. Internet Explorer and base elements
  5. Removing deleted files from the Git staging area
  6. Awesome Javascript memoization
  7. Using git stash branch
  8. Creating new Jekyll posts
  9. Publishing a Jekyll website to a server
  10. Rake task to ping Google
  11. Using Jekyll to create websites
  12. Hello, world!

Arjan van der Gaag

A thirtysomething software developer, historian and all-round geek. This is his blog about Ruby, Rails, Javascript, Git, CSS, software and the web. Back to all talks and articles?


You cannot leave comments on my site, but you can always tweet questions or comments at me: @avdgaag.