56,966 blogs · [ { "id": "01a087ba-cdb5-72c9-a1be-7f786f07209d", "title": "human.json", "url": "https://www.ottorask.com/blog/human-json", "published_at": "2026-03-27T20:07:55+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c026f7f2003", "title": "Quality by a thousand cuts", "url": "https://www.ottorask.com/blog/quality-by-a-thousand-cuts", "published_at": "2026-03-14T21:10:43+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c02704a5cc4", "title": "Pull requests: quality theater with questionable results", "url": "https://www.ottorask.com/blog/pull-requests-quality-theater-with-questionable-results", "published_at": "2026-03-12T22:47:07+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0270da9d1f", "title": "Slopfree software index", "url": "https://www.ottorask.com/blog/slopfree-software-index", "published_at": "2026-03-07T18:15:48+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c02713a27c5", "title": "Working on multiple things at the same time is efficient?", "url": "https://www.ottorask.com/blog/working-on-multiple-things-at-the-same-time-is-efficient", "published_at": "2025-11-16T16:41:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0271eb868b", "title": "Expanding encrypted LVM volume size in Ubuntu", "url": "https://www.ottorask.com/blog/expanding-encrypted-lvm-volume-size-in-ubuntu", "published_at": "2025-09-07T07:51:59+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0272e063b4", "title": "Webmentions are not dying", "url": "https://www.ottorask.com/blog/webmentions-are-not-dying", "published_at": "2025-07-26T22:13:04+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027307ac9c", "title": "Giving Ampwall a spin", "url": "https://www.ottorask.com/blog/giving-ampwall-a-spin", "published_at": "2025-07-22T22:47:40+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0273bdee40", "title": "Stop Killing Games pushes on", "url": "https://www.ottorask.com/blog/stop-killing-games-pushes-on", "published_at": "2025-07-08T18:37:20+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0274990c63", "title": "Creative Commons has abolished their commons", "url": "https://www.ottorask.com/blog/creative-commons-has-abolished-their-commons", "published_at": "2025-06-27T11:17:10+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c02759618be", "title": "Using Ubuntu SSH agent inside WSL2 and tmux", "url": "https://www.ottorask.com/blog/using-ubuntu-ssh-agent-inside-wsl2-and-tmux", "published_at": "2024-10-04T11:02:20+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027660dd54", "title": "Draft previews for a writing boost", "url": "https://www.ottorask.com/blog/draft-previews-for-a-writing-boost", "published_at": "2024-08-03T18:43:12+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0276d76061", "title": "Getting there with outbound mentions", "url": "https://www.ottorask.com/blog/getting-there-with-outbound-mentions", "published_at": "2024-07-16T00:05:42+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0276ea614e", "title": "Test-driving inbound webmentions", "url": "https://www.ottorask.com/blog/test-driving-inbound-webmentions", "published_at": "2024-07-11T14:14:07+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c02775c9eba", "title": "Webmentions status update", "url": "https://www.ottorask.com/blog/webmentions-status-update", "published_at": "2024-07-10T05:51:04+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0277a289e3", "title": "Generated media blindness", "url": "https://www.ottorask.com/blog/generated-media-blindness", "published_at": "2024-07-05T23:53:10+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c02785de54b", "title": "Corrupted Windows DLLs quickfix", "url": "https://www.ottorask.com/blog/corrupted-windows-dlls-quickfix", "published_at": "2024-06-30T06:37:25+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0278da0f90", "title": "Building and installing RediSearch", "url": "https://www.ottorask.com/blog/building-and-installing-redisearch", "published_at": "2024-06-29T22:05:44+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027978eb1d", "title": "These smaller post things", "url": "https://www.ottorask.com/blog/these-smaller-post-things", "published_at": "2024-06-29T21:59:57+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027a6743f3", "title": "Thoughts, thinks, gardens, blogs, wikis, and more", "url": "https://www.ottorask.com/blog/thoughts-thinks-gardens-blogs-wikis-and-more", "published_at": "2024-06-21T09:16:12+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027ad0b59c", "title": "Website technical sitrep", "url": "https://www.ottorask.com/blog/website-technical-sitrep", "published_at": "2024-06-17T19:03:40+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027b5a0508", "title": "Creating an FFI-compatible C-ABI library in Rust", "url": "https://www.ottorask.com/blog/creating-an-ffi-compatible-c-abi-library-in-rust", "published_at": "2024-06-12T23:05:20+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027b79f373", "title": "Protecting Caddy-powered websites with Fail2Ban", "url": "https://www.ottorask.com/blog/caddy-and-fail2ban", "published_at": "2024-06-12T20:14:11+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027bb7d95a", "title": "Backtracking", "url": "https://www.ottorask.com/blog/backtracking", "published_at": "2024-06-09T21:00:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027bf5763b", "title": "What AI has to say about mobbing and agile software development", "url": "https://www.ottorask.com/blog/what-ai-has-to-say-about-mobbing-and-agile", "published_at": "2022-12-06T01:35:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027c0a7b63", "title": "Introduction to PHP FFI", "url": "https://www.ottorask.com/blog/introduction-to-php-ffi", "published_at": "2020-02-01T00:13:12+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027c76e9e4", "title": "DigitalOcean automation with Terraform and Ansible", "url": "https://www.ottorask.com/blog/digitalocean-automation-with-terraform-and-ansible", "published_at": "2018-02-28T16:30:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027caf9daf", "title": "A week with ErgoDox", "url": "https://www.ottorask.com/blog/a-week-with-ergodox", "published_at": "2017-10-15T15:37:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027cf647d4", "title": "Terminal coloring on Windows using Ansicon", "url": "https://www.ottorask.com/blog/terminal-coloring-on-windows-using-ansicon", "published_at": "2015-08-29T11:15:21+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027d0601b8", "title": "Quick guide: remote Windows access with Bitvise SSH Server", "url": "https://www.ottorask.com/blog/quick-guide-remote-windows-access-with-bitvise-ssh-server", "published_at": "2015-06-24T22:18:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027db24055", "title": "Long paths return: the hell called npm on Windows", "url": "https://www.ottorask.com/blog/long-paths-return-the-hell-called-npm-on-windows", "published_at": "2015-04-21T15:36:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027ea9bedf", "title": "Sass compiling and too long directory paths", "url": "https://www.ottorask.com/blog/sass-compiling-and-too-long-directory-paths", "published_at": "2014-10-15T16:02:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027ef8eb0c", "title": "Sharing responsive design breakpoints between CSS and JavaScript using SassyExport", "url": "https://www.ottorask.com/blog/sharing-responsive-design-breakpoints-between-css-and-javascript-using-sassyexport", "published_at": "2014-07-04T17:46:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027f6daf9d", "title": "Automated Apache virtual hosts on Windows", "url": "https://www.ottorask.com/blog/automated-apache-virtual-hosts-on-windows", "published_at": "2013-07-10T13:16:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027fda0eb7", "title": "Facebook plugins and AJAX loading", "url": "https://www.ottorask.com/blog/facebook-plugins-and-ajax-loading", "published_at": "2013-02-23T17:53:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c027ff9c709", "title": "Beginner PHP: Custom array sorting functions explained", "url": "https://www.ottorask.com/blog/beginner-php-custom-array-sorting", "published_at": "2012-10-01T16:22:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c028036454d", "title": "Using CSS3 gradients to create text leading lines", "url": "https://www.ottorask.com/blog/css3-gradients-and-text-lines", "published_at": "2011-05-08T12:55:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c02808ba922", "title": "Returning multiple values from PHP functions", "url": "https://www.ottorask.com/blog/returning-multiple-values-from-php-functions", "published_at": "2011-02-19T20:15:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c028164bf34", "title": "Age of Empires 2: how to fix the odd colors on Windows 7", "url": "https://www.ottorask.com/blog/age-of-empires-2-how-to-fix-the-odd-colors-on-windows-7", "published_at": "2011-01-20T20:10:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0282027826", "title": "Getting the page count of paginated queries in WordPress", "url": "https://www.ottorask.com/blog/getting-the-page-count-of-paginated-areas-in-wordpress", "published_at": "2010-07-22T06:07:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0282c4e1c0", "title": "CTF-Austere for Unreal Tournament 3 released", "url": "https://www.ottorask.com/blog/ctf-austere-for-ut3-released", "published_at": "2010-03-05T13:38:00+00:00" }, { "id": "01a087ba-cdb6-7384-addc-4c0282efc8c4", "title": "Remember to backgroundify your elements", "url": "https://www.ottorask.com/blog/remember-to-backgroundify-your-body-elements", "published_at": "2009-06-11T07:25:00+00:00" } ] posts Claim your blog
Back to Home — ottorask.com
Blog · corpus.blog/blogs/ottorask.com/posts

Home — ottorask.com

ottorask.com

2026

2025

2024

2022

2020

2018

2017

2015

2014

2013

2012

2011

2010

2009