41554 blogs · [ { "id": "01a08766-8386-70f6-bb50-c8e48a4ded1c", "title": "A Shed Base Doesn't Have a Retro", "url": "https://damiannicholson.com/posts/a-shed-base-doesnt-have-a-retro", "published_at": "2026-04-21T21:59:26+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48b22589a", "title": "Building a blog with Fastify, SQLite, and zero frameworks", "url": "https://damiannicholson.com/posts/building-a-blog-with-fastify-sqlite-and-zero-frameworks", "published_at": "2026-04-04T21:27:22+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48bbb8021", "title": "Who's Coming to Your Dream Dinner Party?", "url": "https://damiannicholson.com/posts/whos-coming-to-your-dream-dinner-party", "published_at": "2026-03-23T22:52:27+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48bf99da0", "title": "Using 1Password as Your SSH Agent on macOS", "url": "https://damiannicholson.com/posts/using-1password-as-your-ssh-agent-on-macos", "published_at": "2026-03-01T22:22:52+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48ce9ed8e", "title": "How Making Coffee at Home Ruined Cafes for Me", "url": "https://damiannicholson.com/posts/how-making-coffee-at-home-ruined-cafes-for-me", "published_at": "2026-02-01T23:22:44+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48d6233a1", "title": "Tailwind, layoffs, and a familiar open source tension", "url": "https://damiannicholson.com/posts/tailwind-layoffs-and-a-familiar-open-source-tension", "published_at": "2026-01-12T00:09:52+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48e4c370c", "title": "Flexispot E7 pro standing desk review", "url": "https://damiannicholson.com/posts/flexispot-e7-pro-standing-desk-review", "published_at": "2025-12-29T22:53:33+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48e542802", "title": "Home assistant bin collection schedule", "url": "https://damiannicholson.com/posts/home-assistant-bin-collection", "published_at": "2021-02-21T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48e6cd164", "title": "HTML5 form Attribute Explained (Controls Outside Forms)", "url": "https://damiannicholson.com/posts/html5-submit-form-using-button-outside", "published_at": "2019-02-22T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48f4b0c47", "title": "Building a Pinterest-Style Layout with a Greedy Algorithm", "url": "https://damiannicholson.com/posts/creating-a-pinterest-layout-with-react", "published_at": "2018-07-14T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48f6f91d3", "title": "Getting Started with Hugo: Fast Static Sites Explained", "url": "https://damiannicholson.com/posts/jekyll-to-hugo", "published_at": "2018-04-12T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e48faff754", "title": "React noop anti-pattern", "url": "https://damiannicholson.com/posts/2018-03-6-react-noop-antipattern", "published_at": "2018-03-06T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e49043a212", "title": "A Useful Git Alias: View Recent Branches Quickly", "url": "https://damiannicholson.com/posts/git-recent", "published_at": "2018-02-11T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e4911d8a81", "title": "Designing form validation the right way", "url": "https://damiannicholson.com/posts/desigining-form-validation-the-right-way", "published_at": "2018-01-27T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e491437490", "title": "Setting Long-Term Goals: Running, Learning, and Consistency", "url": "https://damiannicholson.com/posts/2017-in-review", "published_at": "2017-12-22T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e491946a06", "title": "Making sure your forms don't suck", "url": "https://damiannicholson.com/posts/making-sure-your-forms-dont-suck", "published_at": "2017-11-02T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e4919b215d", "title": "Reduce all the things", "url": "https://damiannicholson.com/posts/reduce-all-the-things", "published_at": "2017-10-19T00:00:00+00:00" }, { "id": "01a08766-8386-70f6-bb50-c8e4920aa7c5", "title": "Git stash workflow", "url": "https://damiannicholson.com/posts/git-stash-workflow", "published_at": "2017-08-22T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d790b265", "title": "Chrome DevTools", "url": "https://damiannicholson.com/posts/chrome-devtools", "published_at": "2017-07-07T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d7b4af76", "title": "On programmers and empathy", "url": "https://damiannicholson.com/posts/on-empathy", "published_at": "2017-06-30T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d8b2db78", "title": "Working from home misconceptions", "url": "https://damiannicholson.com/posts/working-from-home-misconceptions", "published_at": "2017-04-22T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d9119316", "title": "Batch file renaming in Bash", "url": "https://damiannicholson.com/posts/batch-file-rename-in-bash", "published_at": "2017-03-26T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d92c4480", "title": "Tips on writing a frontend developer CV", "url": "https://damiannicholson.com/posts/tips-on-writing-a-frontend-developer-cv", "published_at": "2017-03-03T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d92f6fda", "title": "Exposing Rails routes in JavaScript", "url": "https://damiannicholson.com/posts/js-routes-rails", "published_at": "2017-02-02T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d93ec020", "title": "The books I read in 2016", "url": "https://damiannicholson.com/posts/the-books-i-read-in-2016", "published_at": "2017-01-01T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997d9eb4651", "title": "The best books I read in 2015", "url": "https://damiannicholson.com/posts/the-best-books-i-read-in-2015", "published_at": "2015-12-31T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997da80e384", "title": "Stubbing AngularJS $window", "url": "https://damiannicholson.com/posts/stubbing-angulars-window", "published_at": "2015-07-21T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997da8fc30b", "title": "Why am I going to that conference again?", "url": "https://damiannicholson.com/posts/why-am-i-going-to-that-conference-again", "published_at": "2014-11-03T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dab10faf", "title": "CoffeeScript round two", "url": "https://damiannicholson.com/posts/coffeescript-round-two", "published_at": "2014-03-17T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997db234454", "title": "Scotland.js", "url": "https://damiannicholson.com/posts/scotland-js", "published_at": "2013-05-23T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dc0dd513", "title": "Moving to Android", "url": "https://damiannicholson.com/posts/moving-to-android", "published_at": "2013-05-18T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dc20425c", "title": "JavaScript North East", "url": "https://damiannicholson.com/posts/javascript-north-east", "published_at": "2012-04-21T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dc5f7a12", "title": "jQuery UK conference", "url": "https://damiannicholson.com/posts/jquery-uk-conference", "published_at": "2012-02-25T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dd2a7835", "title": "Speed up writing CSS backgrounds in Bash", "url": "https://damiannicholson.com/posts/speed-up-writing-css-backgrounds-in-bash", "published_at": "2011-12-26T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997ddeed6d5", "title": "jQuery inconsistencies", "url": "https://damiannicholson.com/posts/jquery-inconsistencies", "published_at": "2011-12-05T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997de113ee2", "title": "HTML5 Validator Gem", "url": "https://damiannicholson.com/posts/html5-validator-gem", "published_at": "2011-09-10T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997de918060", "title": "iPhone style checkbox using only CSS3", "url": "https://damiannicholson.com/posts/css-experiment-iphone-like-checkbox-using-only-css3", "published_at": "2011-07-25T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dedb1944", "title": "My take on CoffeeScript", "url": "https://damiannicholson.com/posts/my-take-on-coffeescript", "published_at": "2011-07-24T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997df0ee06e", "title": "Creating a Ruby Gem called Cineworld", "url": "https://damiannicholson.com/posts/ruby-gem-cineworld", "published_at": "2011-04-29T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997dfe92a24", "title": "Why I Use Haml", "url": "https://damiannicholson.com/posts/why-i-use-haml", "published_at": "2011-04-19T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e00b01f1", "title": "Nearest Cineworld is now on GitHub", "url": "https://damiannicholson.com/posts/nearest-cineworld-is-now-on-github", "published_at": "2011-04-12T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e03f76d3", "title": "Nearest Cineworld project", "url": "https://damiannicholson.com/posts/project-nearest-cineworld", "published_at": "2011-04-07T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e0f5e2fb", "title": "My top 10 most useful Ruby Gems", "url": "https://damiannicholson.com/posts/my-top-10-most-useful-ruby-gems", "published_at": "2011-03-29T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e1aa5294", "title": "Current git branch in bash prompt", "url": "https://damiannicholson.com/posts/current-git-branch-in-bash-prompt", "published_at": "2011-03-22T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e23818bd", "title": "Ruby Date format gotcha", "url": "https://damiannicholson.com/posts/ruby-date-format-gotcha", "published_at": "2010-12-12T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e27c3b38", "title": "Gowalla - where's my ROI?", "url": "https://damiannicholson.com/posts/gowalla-wheres-my-roi", "published_at": "2010-11-08T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e2892055", "title": "Google map api with ym4r", "url": "https://damiannicholson.com/posts/google-map-api-with-ym4r", "published_at": "2010-11-02T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e2a6e64a", "title": "Nginx rewrite rule", "url": "https://damiannicholson.com/posts/nginx-rewrite-rule", "published_at": "2010-11-01T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e34b5855", "title": "jQuery Ajax Queue", "url": "https://damiannicholson.com/posts/jquery-ajax-queue", "published_at": "2010-07-07T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e39f320f", "title": "New fangled technologies", "url": "https://damiannicholson.com/posts/new-technologies", "published_at": "2010-04-29T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e3c82b03", "title": "Crafting Appropriate URLs with the Token API", "url": "https://damiannicholson.com/posts/crafting-appropriate-urls-with-the-token-api", "published_at": "2010-04-14T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e43f3a44", "title": "Drupal Clear Cache Bookmarklet", "url": "https://damiannicholson.com/posts/drupal-clear-cache-bookmarklet", "published_at": "2010-04-11T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e447748c", "title": "Why listen to audiobooks?", "url": "https://damiannicholson.com/posts/why-listen-to-audiobooks", "published_at": "2010-03-29T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e4f04e71", "title": "Why aren't you Huffduffing yet?", "url": "https://damiannicholson.com/posts/why-arent-you-huffduffing-yet", "published_at": "2010-01-11T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e5526286", "title": "Goals for 2010", "url": "https://damiannicholson.com/posts/goals-for-2010", "published_at": "2009-12-31T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e5bf351a", "title": "Internet Explorer Stylesheet Limit", "url": "https://damiannicholson.com/posts/internet-explorer-stylesheet-limit", "published_at": "2009-12-21T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e5cf0040", "title": "TextMate CSS Colour Picker", "url": "https://damiannicholson.com/posts/textmate-css-colour-picker", "published_at": "2009-12-13T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e655bb05", "title": "Abusing JavaScript Frameworks", "url": "https://damiannicholson.com/posts/abusing-javascript-frameworks", "published_at": "2009-12-03T00:00:00+00:00" }, { "id": "01a08766-8387-73d5-8e0c-b997e66688ca", "title": "Moving to Linode", "url": "https://damiannicholson.com/posts/moving-to-linode", "published_at": "2009-09-25T00:00:00+00:00" } ] posts Claim your blog
Back to damiannicholson.com
Blog · corpus.blog/blogs/damiannicholson.com/posts

damiannicholson.com

damiannicholson.com

2026

2025

2021

2019

2018

2017

2015

2014

2013

2012

2011

2010

2009