56,966 blogs · [ { "id": "01a087d4-0465-7360-a45b-88492a221d63", "title": "Resurrecting Email Notifications on a Legacy NAS", "url": "https://rhardih.io/2026/02/resurrecting-email-notifications-on-a-legacy-nas/", "published_at": "2026-02-02T11:28:57+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492a3547a2", "title": "Listing the contents of a remote ZIP archive, without downloading the entire file", "url": "https://rhardih.io/2021/04/listing-the-contents-of-a-remote-zip-archive-without-downloading-the-entire-file/", "published_at": "2021-04-18T15:28:43+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492a63d23d", "title": "Migrating from LastPass to pass", "url": "https://rhardih.io/2021/03/migrating-from-lastpass-to-pass/", "published_at": "2021-03-20T19:22:29+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492a6cfd90", "title": "Spelunking Advent of Code, Some Assembly Required – part 3 of 4 – The Observer Pattern", "url": "https://rhardih.io/2020/12/spelunking-advent-of-code-some-assembly-required-part-3-of-4-the-observer-pattern/", "published_at": "2020-12-05T18:01:27+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492a91b301", "title": "Spelunking Advent of Code, Some Assembly Required – part 2 of 4 – Sorting", "url": "https://rhardih.io/2020/11/spelunking-advent-of-code-some-assembly-required-part-2-of-4-sorting/", "published_at": "2020-11-30T23:12:00+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492b508b7f", "title": "Spelunking Advent of Code, Some Assembly Required – part 1 of 4 – Using a queue", "url": "https://rhardih.io/2020/11/spelunking-advent-of-code-some-assembly-required-part-1-of-4-using-a-queue/", "published_at": "2020-11-29T21:32:18+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492bac0eab", "title": "Benchmark numbers for Tesseract on Android", "url": "https://rhardih.io/2019/01/benchmark-numbers-for-tesseract-on-android/", "published_at": "2019-01-16T11:06:22+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492c75bbc3", "title": "Behind the scenes of shell IO redirection", "url": "https://rhardih.io/2017/11/behind-the-scenes-of-shell-io-redirection/", "published_at": "2017-11-27T11:00:49+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492d42d37b", "title": "Setting up Raspberry Pi as an OpenVPN client for the NETGEAR R7000 Nighthawk router", "url": "https://rhardih.io/2017/07/setting-up-raspberry-pi-as-an-openvpn-client-for-the-netgear-r7000-nighthawk-router/", "published_at": "2017-07-13T14:46:41+00:00" }, { "id": "01a087d4-0465-7360-a45b-88492d944591", "title": "Interactive visualisation of Pi and friends with D3.js", "url": "https://rhardih.io/2016/06/interactive-visualisation-of-pi-and-friends-with-d3js/", "published_at": "2016-06-09T19:49:44+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-808994cbafd3", "title": "Dead simple concurrency limitation in Go", "url": "https://rhardih.io/2016/05/dead-simple-concurrency-limitation-in-go/", "published_at": "2016-05-18T12:38:04+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-808995266520", "title": "Moving to a new domain – rhardih.io", "url": "https://rhardih.io/2015/10/moving-to-a-new-domain-rhardih-io/", "published_at": "2015-10-30T16:33:12+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-80899537236f", "title": "lazy-images-rails or: How I Learned to Stop Worrying and just wrote a Rails plugin", "url": "https://rhardih.io/2015/08/lazy-images-rails-or-how-i-learned-to-stop-worrying-and-just-wrote-a-rails-plugin/", "published_at": "2015-08-24T18:24:01+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-8089958b5193", "title": "Ruby on Rails Gotcha: Asynchronous loading of Javascript in development mode", "url": "https://rhardih.io/2015/03/rails-4-gotcha-asynchronous-loading-of-javascript-in-development-mode/", "published_at": "2015-03-02T19:09:23+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-8089963b1900", "title": "Rails 4 how to: User sign up with email confirmation in five minutes, using Devise and Mailcatcher", "url": "https://rhardih.io/2014/06/rails-4-how-to-user-sign-up-with-email-confirmation-in-five-minutes-using-devise-and-mailcatcher/", "published_at": "2014-06-03T18:33:39+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-808996b61b66", "title": "Small weekend project – gemoji-chrome", "url": "https://rhardih.io/2013/01/small-weekend-project-gemoji-chrome/", "published_at": "2013-01-20T21:00:23+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-808996bbb46b", "title": "Page specific Javascript in Rails 3", "url": "https://rhardih.io/2012/02/page-specific-javascript-in-rails-3/", "published_at": "2012-02-17T15:27:22+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-80899724efe6", "title": "Retro gaming part 1 – The Elder Scrolls: Arena", "url": "https://rhardih.io/2011/12/retro-gaming-part-1-the-elder-scrolls-arena/", "published_at": "2011-12-16T03:55:39+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-808997bd5097", "title": "Latest tinkerings – simply-json", "url": "https://rhardih.io/2011/11/latest-tinkerings-simply-json/", "published_at": "2011-11-16T15:55:08+00:00" }, { "id": "01a0bdf5-596c-7043-b6ec-8089984895af", "title": "Speeding up with parallel compression – pbzip2", "url": "https://rhardih.io/2011/09/speeding-up-with-parallel-compression-pbzip2/", "published_at": "2011-09-28T17:55:40+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa6b96d29", "title": "Launching éDoist – Todoist client for Symbian", "url": "https://rhardih.io/2011/09/todoist-for-symbian/", "published_at": "2011-09-06T21:48:12+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa7889f8e", "title": "One-liner for downloading music files from a Podcast feed, with grep, sed and wget", "url": "https://rhardih.io/2011/02/one-liner-for-downloading-music-files-from-a-podcast-feed-with-grep-sed-and-wget/", "published_at": "2011-02-01T13:26:13+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa7fcca35", "title": "Web based WIFI analyzer", "url": "https://rhardih.io/2010/12/web-based-wifi-analyzer/", "published_at": "2010-12-14T21:58:02+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa8610e89", "title": "Essential software for a fresh installation of Mac OS X", "url": "https://rhardih.io/2010/11/essential-software-for-a-fresh-installation-of-mac-os-x/", "published_at": "2010-11-25T00:13:26+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa93e7aef", "title": "Installing Mac OS X from a USB Disk", "url": "https://rhardih.io/2010/11/installing-mac-os-x-from-a-usb-disk/", "published_at": "2010-11-23T10:59:28+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa9c49887", "title": "Server crash", "url": "https://rhardih.io/2010/08/server-crash/", "published_at": "2010-08-24T00:00:22+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaa9f797e3", "title": "Using ncurses in C for Text User Interfaces, featuring Xcode", "url": "https://rhardih.io/2010/04/using-ncurses-in-c-for-text-user-interfaces-featuring-xcode/", "published_at": "2010-04-21T23:26:23+00:00" }, { "id": "01a0be04-2a75-7227-ba15-aaaaaae7e634", "title": "Ruby on Rails: Sphinx, thinking-sphinx and PostgreSQL on Mac OS X", "url": "https://rhardih.io/2010/03/ruby-on-rails-sphinx-thinking-sphinx-and-postgresql-on-mac-os-x/", "published_at": "2010-03-23T00:36:52+00:00" } ] posts Claim your blog
Back to rhardih.io
Blog · corpus.blog/blogs/rhardih.io/posts

rhardih.io

rhardih.io

2026

2021

2020

2019

2017

2016

2015

2014

2013

2012

2011

2010