41554 blogs · [ { "id": "01a08724-aba2-7017-abc7-701d91fd7b59", "title": "Quick tip: simple unique jobs on Solid Queue", "url": "https://alexpeattie.com/blog/simple-unique-jobs-solid-queue/", "published_at": "2025-02-23T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d927223b0", "title": "Testing Kamal Locally with Multipass", "url": "https://alexpeattie.com/blog/testing-kamal-locally-with-multipass/", "published_at": "2025-02-15T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9351cf77", "title": "Establishing the minimum number of guesses needed to (always) win Wordle", "url": "https://alexpeattie.com/blog/establishing-minimum-guesses-wordle/", "published_at": "2022-01-25T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d93744a55", "title": "Quickly associate all source code files with your editor in macOS using duti", "url": "https://alexpeattie.com/blog/associate-source-code-files-with-editor-in-macos-using-duti/", "published_at": "2021-04-19T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d93a35bca", "title": "Making HTTP requests with Deno", "url": "https://alexpeattie.com/blog/making-http-requests-deno/", "published_at": "2020-06-11T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d93f92ce1", "title": "PSA: Don't use cssnano from within postcss-loader", "url": "https://alexpeattie.com/blog/psa-dont-use-cssnano-with-postcss/", "published_at": "2020-06-07T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9416f626", "title": "Quick tip: Loading a plain IRB session with no syntax highlighting or multiline editing in Ruby 2.7+", "url": "https://alexpeattie.com/blog/loading-an-irb-session-with-no-syntax-highlighting-or-multiline/", "published_at": "2020-06-04T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d94fcc10b", "title": "How to load local PostCSS plugins with postcss-loader", "url": "https://alexpeattie.com/blog/how-to-load-local-postcss-plugins/", "published_at": "2020-06-02T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d95626e3d", "title": "Stop forgetting your foreign key indexes in Rails with this simple post-migration script", "url": "https://alexpeattie.com/blog/stop-forgetting-foreign-key-indexes-in-rails-post-migration-script/", "published_at": "2017-01-18T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d957f28c3", "title": "Quick tip: Set the default controllerAs to vm for .component() in Angular 1.5+", "url": "https://alexpeattie.com/blog/setting-the-default-controlleras-to-vm-for-component-angular-1-5/", "published_at": "2016-02-15T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d958ff8c5", "title": "Signing a CSR with an ECDSA key in Ruby", "url": "https://alexpeattie.com/blog/signing-a-csr-with-ecdsa-in-ruby/", "published_at": "2016-02-09T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d95d36b7d", "title": "Rails tip – Grouping ActiveRecord objects by day or week using datetrunc", "url": "https://alexpeattie.com/blog/grouping-activerecord-by-day-or-week-with-datetrunc/", "published_at": "2016-02-01T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d96b03cc1", "title": "Retiring two old projects – animate-textshadow.js and CSS floating feedback button", "url": "https://alexpeattie.com/blog/retiring-animate-textshadow-floating-feedback/", "published_at": "2016-01-03T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d976903fb", "title": "Handling strong parameters in Devise 3.1+", "url": "https://alexpeattie.com/blog/strong-parameters-in-devise-3-1/", "published_at": "2014-02-16T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9836905e", "title": "Better GitHub-style syntax highlighting with Rouge", "url": "https://alexpeattie.com/blog/better-syntax-highlighting-with-rouge/", "published_at": "2013-06-04T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d984a3e03", "title": "Cross-domain communication without CORS", "url": "https://alexpeattie.com/blog/cross-domain-communication-without-cors/", "published_at": "2013-02-01T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d993880c1", "title": "Why you might want to silence console.log", "url": "https://alexpeattie.com/blog/why-you-might-want-to-silence-console-log/", "published_at": "2013-01-12T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d99b5bb22", "title": "Two awesome APIs you probably haven't heard of: SharedCount and RESTMailer", "url": "https://alexpeattie.com/blog/two-awesome-apis-sharedcount-restmailer/", "published_at": "2012-12-03T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9a675376", "title": "How a seaweed expert and a screw-up helped win WWII", "url": "https://alexpeattie.com/blog/how-a-seaweed-expert-helped-win-wwii/", "published_at": "2012-11-06T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9abcd9b8", "title": "TwilioCon 2012", "url": "https://alexpeattie.com/blog/twiliocon-2012/", "published_at": "2012-10-24T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9abe0a82", "title": "Two quick tips to speed up Rails 3 on Heroku", "url": "https://alexpeattie.com/blog/two-tips-to-speed-up-rails/", "published_at": "2012-08-13T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9b37e9e4", "title": "Teaching computers to rap", "url": "https://alexpeattie.com/blog/teaching-computers-to-rap/", "published_at": "2012-06-19T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9b5f24bb", "title": "jQuery gotcha: visibility vs. :visible", "url": "https://alexpeattie.com/blog/jquery-gotcha-visiblity-vs-visible/", "published_at": "2012-05-22T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9b9ae33f", "title": "GitHub-style syntax highlighting with Pygments", "url": "https://alexpeattie.com/blog/github-style-syntax-highlighting-with-pygments/", "published_at": "2012-04-08T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9c6366d2", "title": "Site redesign", "url": "https://alexpeattie.com/blog/site-redesign/", "published_at": "2012-03-01T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9c863075", "title": "Defining versions in Ruby gems", "url": "https://alexpeattie.com/blog/defining-versions-in-ruby-gems/", "published_at": "2012-02-04T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9c9d3f54", "title": "Improve JS performance with $.noop", "url": "https://alexpeattie.com/blog/improve-js-performance-with-jquery-noop/", "published_at": "2011-11-03T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9d30e839", "title": "New projects - CSS feedback button & animate-textshadow", "url": "https://alexpeattie.com/blog/new-projects-added/", "published_at": "2011-06-05T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9d664c71", "title": "JustVector Icons update (v1.5)", "url": "https://alexpeattie.com/blog/justvector-icons-update/", "published_at": "2011-04-14T00:00:00+00:00" }, { "id": "01a08724-aba2-7017-abc7-701d9e5b972a", "title": "Working with dates in Git", "url": "https://alexpeattie.com/blog/working-with-dates-in-git/", "published_at": "2011-03-11T00:00:00+00:00" } ] posts Claim your blog
Back to alexpeattie.com
Blog · corpus.blog/blogs/alexpeattie.com/posts

alexpeattie.com

alexpeattie.com

2025

2022

2021

2020

2017

2016

2014

2013

2012

2011