Archive
Here is a sequential list in reverse chronological order of all the posts on this blog, separated by year.
- 2025
- My AI appetites
- Cleaning up this blog with AI
- 2019
- Batch convert HEIC files to JPEG on Windows
- HiDPI fix for Spotify on Ubuntu
- Taming power-hungry linux laptops
- Six weeks at Discourse
- CSV header converters in Ruby
- Prevent remote: true links opening in new tabs or windows in Rails
- Per-page background images using prawn and Ruby
- ImageMagick unable to load module error on AWS Lambda
- Rails Forms with Virtus and ActiveModel
- Subset sum problem in Ruby
- Global rescue_from error in Rails application_controller
- Find duplicate rows in SQL
- 2018
- Getting nodejs file permissions from fs.stat or fsPromises.stat mode
- field_with_errors changes page appearance in Rails
- 2017
- Set timezone from terminal OSX
- Invalid byte sequence in US-ASCII
- Expanded output format for PSQL
- Jim Weirich Ruby talks
- Simulating the mouse click event in JavaScript
- Git shortcuts with FZF
- Custom time formats in Rails
- Back to Ruby
- Organising C# using statements in Visual Studio
- Sharing dynamic objects between assemblies in C#
- Why you should not use Medium for your personal blog
- The fundamentals of flow in 10-ish minutes
- 2016
- My writing blog
- JSON schema
- Why xUnit?
- Easy HTTPS with Let's Encrypt
- Google Chrome to start marking HTTP connections insecure
- ng-stats AngularJS profiling tool
- Fast SQL server paging
- Angular ng-options undefined on select
- From Wordpress to Jekyll
- gulp.watch high CPU usage
- Changes to NPM’s unpublish policy
- 2015
- I’m back
- ES7 decorators
- Duration parsing using juration
- Angular directive isolate scope explained
- A review
- This is not allowed before super
- Using $q.all() to resolve multiple promises
- Mocks, stubs, and injections: unit testing in Angular.JS
- ES6 basics
- Learning Angular Q&A
- Highlighting JavaScript this keyword in Sublime Text 2
- AngularJS styleguide by @john_papa
- Using “Controller as” syntax in Angular routes
- Writing and programming, crafts worth honing
- 2014
- Lessons learned from building Rain
- Sensible .NET REST APIs with AttributeRouting.NET
- DocuSign connect XML schema
- Print GitHub markdown bookmarklet
- Could not successfully convert UCS-2 string to UTF-8
- The SMS that started it all
- Failed to build gem native extension on OSX mavericks
- Another year, another redesign
- Add open with Sublime Text 2 to Windows context menu
- ContentResult or ViewResult response based on context
- Custom UTC DateTime model binding for MVC
- Enable gzip compression in IIS
- Service timestamp issue for DocuSign
- 2013
- .NET MVC 4 model binding null on POST
- Moving SVN branches and repos
- Run AWS elastic beanstalk config commands only once
- Box-sizing border-box for CSS grids
- Extension methods in .NET
- EC2 instance metadata
- Auto-generate property in VB.NET
- moment.js
- Getting it done
- Custom VisualSVN post-commit hook using Visual Studio
- Using reserved words as identifiers in VB.NET by Theo Gray
- Blog redesign
- 2012
- Why Rails by Claudio Ortolina
- Change: A two-faced devil by Anthony Ferrara
- Semantic templates with Mustache.js and Handlebars.js
- ASP.NET ASHX video streaming for HTML5 video
- Development habitats
- PHP, mySQL and FTP on an Amazon EC2 instance
- The beginning