Talks and slides
- How to Lead a Team by Doing Nothing
talk at Agile Manchester 2017 about combining Kanban and Holacracy for agile software development. - Hanami: because sometimes, you need to re-invent the wheel
talk at Utrecht Ruby user group about a new-ish Ruby web framework. - Web development that hurts even less: taking lessons from Rails
talk at DomCode 2015 about life in the Ruby community beyond Rails (video) - Ruby Acting up: How Celluloid implements the actor model
- Ecto: a database wrapper and language integrated query for Elixir
- Using Awk: and old school text processing tool with surprising versatility
- Lotus: because sometimes you need to reinvent the wheel
- Mikado Method: a structured method for significant changes in complex code
- Beat Impostor Syndrome
talk at the ArrrrCamp 2014 conference on dealing with impostor syndrome as a software developer (video) - Getting started with ruby
Lightning talk on the ruby program and some of its options. - 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
2020
- Using Emacs as a database client
- Customising Phoenix generator templates
- Using YASnippet in Emacs
- Seams, design, and why I test Rails controllers and views
- Directory-specific environment variables and program versions
- Holacracy and getting work done
2019
- The dangers of hero culture
- A scrum master’s job
- Holacracy and being human
- The art and science of Getting Things Done
- Scrum: neither sufficient nor required
- View-backed ActiveRecord models
- Splitting two tables using SQL
- Using updatable views in PostgreSQL
- My year in books 2018
- Using PostgreSQL constraints
- Continuous Integration: surprisingly hard and unpopular
2018
2017
- Three ways to improve the feedback you give
- Dropping the Cowboy server signature in a Phoenix app
- Writing a lexer and parser
- How to Lead a Team by Doing Nothing
- Testing Elm updates
2016
2015
- Using custom inputs with Simple Form
- Switching from Vim to Emacs
- Ruby protected methods
- Up and running with Lotus
- Some of my favourite podcasts
- Writing custom RSpec matchers
- Wrestling JSON with jq
2014
- Combining Vim and Ctags
- Tips for writing better Cucumber steps
- Working with Rails Attributes magic
- Using Ruby command line options
- Navigating project files with Vim
2013
- Fuzzy-find all the things with Selecta
- Using and abusing RSpec metadata
- Working with Postgresql on the command line
- Programming Awk for fun and profit
2012
- Modular front-end code in Rails
- Vim advanced search and replace
- FactoryGirl Tips and Tricks
- Rails decorator patterns
- Introducing Rpub, a simple ePub generation library
- Presentation: Getting started with ruby
- A Ruby gem for the bol.com developer API
- Shell scripting to the rescue
- Generating fancy URLs with Rails
2011
- Customize your ZSH prompt with vcs_info
- Clarify your Git history with merge commits
- Compiling Vim with Ruby support
- Taking advantage of foreground and background processes
- Testing Rails 3 routing constraints objects
- Retro-fitting Git branches
- The Javascript Class Pattern
- The nanoc-cachebuster Gem
- Why I don’t need Alfred App
- The Productive Macs bundle
- The a.block pattern
2010
- Tagging links for Google Analytics
- Why I like Nanoc
- On Using Vim
- Internet Explorer 6 and media types
- Modifying Subversion commit messages
- Using relatedTarget in Javascript event handlers
- Quick text manipulation with Ruby
- Issues using VCSCommand with MacVim
- ZSH arguments-fu
- Using Postbox
- Test Apache configuration syntax
- Introducing μtil
- Javascript typeof Nodelist
2009
- jQuery custom selectors
- Subversion branching
- Snow Leopard web development configuration
- Internet Explorer and base elements
- Removing deleted files from the Git staging area
- Awesome Javascript memoization
- Using git stash branch
- Creating new Jekyll posts
- Publishing a Jekyll website to a server
- Rake task to ping Google
- Using Jekyll to create websites
- Hello, world!