- 5 Dec 2019 Good comments are to the point and flow well
- 21 Nov 2019 Go’s features of last resort
- 9 Nov 2019 Curl to shell isn’t so bad
- 7 Nov 2019 Vim myths
- 31 Oct 2019 Effective VimScript
- 7 Oct 2019 On being the right size
- 5 Sep 2019 It’s fine to be elitist, sometimes
- 22 Aug 2019 Tired of Stack Overflow
- 13 Aug 2019 Launching GoatCounter
- 10 Jun 2019 The other kind of censorship
- 27 May 2019 Why I’m still using jQuery in 2019
- 26 May 2019 Copyright, culture, and democracy
- 1 May 2019 Using flags for configuration in Go
- 30 Apr 2019 Flags are great for configuration
- 29 Apr 2019 The value of negative arguments
- 28 Mar 2019 Anti-vaxers are not evil
- 22 Mar 2019 Easy means easy to debug
- 19 Mar 2019 Why “rape games” are worse than violent games
- 13 Mar 2019 Why isn’t Amazon.com signing their emails?
- 19 Feb 2019 Vested interest in mismanaging government
- 12 Feb 2019 Why Hello CSS doesn’t use CSS variables
- 15 Jan 2019 The Art of Unix Programming, reformatted
- 14 Jan 2019 You (probably) don’t need Kubernetes
- 13 Jan 2019 Source code shame
- 7 Jan 2019 Testing isn’t everything
- 22 Dec 2018 How to detect automatically generated emails
- 9 Dec 2018 Open source DIY ethics
- 15 May 2018 Learning a programming language
- 10 Apr 2018 Go testing style guide
- 5 Apr 2018 Being right
- 27 Dec 2017 Why write?
- 26 Dec 2017 The shell scripting trap
- 14 Jul 2017 Browsers and conflicts of interests
- 24 Jun 2017 Why teach kids to program?
- 22 Apr 2017 PHP’s fopen() is broken
- 17 Dec 2016 Project status badges
- 26 Oct 2016 I don’t like git, but I’m going to migrate my projects to it
- 5 Sep 2016 Some thoughts on CDNs
- 4 Sep 2016 YAML: probably not so great after all
- 7 Feb 2016 The downsides of JSON for config files
- 15 Jan 2015 Making find -exec faster
- 14 Nov 2014 Security of Python’s pickle and marshal modules
- 20 Aug 2014 Intercept outgoing mails in Ruby on Rails
- 24 Jun 2014 Making FlagShihTzu work well with Formtastic
- 10 Feb 2014 A primer on the str and bytes types in Python 3
- 3 Feb 2014 Generate passwords from the commandline
- 5 Dec 2013 Creating temporary files in PHP
See GitHub for a full list.
- find-cursor – Highlight the cursor position.
- hello-css – A CSS template focused on readability.
- info – Texinfo made palatable.
- pkg_clearleaves – Remove packages on which no other packages depend.
- readon.js – Continue reading a web page from where you left last time.
- sanitize_files – Basic cleanup of your code.
- singlepage – Bundle external assets in a HTML file.
- uni – Query the Unicode database from the commandline.
Go libraries and tools
- formam – Scan HTML forms in to a struct.
- goimport – Add, remove, or replace imports in Go files.
- guru – Go errors with a Guru Meditation Number.
- hubhub – Set of utility functions for working with the GitHub API.
- mailaddress – Mail address parsing library for Go.
- sconfig – A simple and functional configuration file parser for Go.
- reload – Lightweight automatic application reloading for Go.
- spamc – Go client for SpamAssassin.
- utils – Collection of often used extensions to Go's standard library.
- validate – Simple validation.
- zhttp – Martin's HTTP package.
- zlog – Go logging library.
~/.vim– All sorts of stuff.
- My first vimrc – A simple vimrc generator for new users; see /my-first-vimrc.
- VimLog – A ChangeLog for vim; see /vimlog.
- auto_mkdir2.vim – Automatically create directories.
- confirm_quit.vim – Ask for confirmation before quitting Vim.
- default2.vim – Vim's default colour scheme with some small enhancements.
- globedit.vim – Use globbing patterns for :edit, :tabedit, etc.
- gopher.vim – Plugin for the Go programming language.
- helplink.vim – Link to Vim help pages with ease.
- jumpy.vim – Filetype-specific mappings for
- packman.vim – A simple Vim plugin/package manager.
- startscreen.vim – Customize Vim's start screen.
- switchy.vim – Switch to related files.
- testing.vim – Small testing framework for Vim.
- undofile_warn.vim – Warn when using the undofile.
- xdg_open.vim – Run xdg-open from Vim; re-implements netrw's gx.
Also see the archives for some outdated and not-especially-interesting-after-all stuff.