56,966 blogs · [ { "id": "01a0878c-32cb-7281-9ee1-5d6e5029b837", "title": "Shell typo aliases", "url": "https://jdkaplan.dev/blog/thinkin-logs-2026-05-15/", "published_at": "2026-05-15T20:14:27+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e502ec8e5", "title": "Named function expressions in JavaScript", "url": "https://jdkaplan.dev/blog/thinkin-logs-2026-05-05/", "published_at": "2026-05-06T00:46:11+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e509ccbce", "title": "TIL: CSS Windowboxing", "url": "https://jdkaplan.dev/blog/thinkin-logs-2024-03-16/", "published_at": "2024-03-17T00:11:22+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e513c071d", "title": "TIL: Rust documentation redirects", "url": "https://jdkaplan.dev/blog/thinkin-logs-2022-08-01/", "published_at": "2022-08-01T20:39:13+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e52379f3d", "title": "Go `_test` packages", "url": "https://jdkaplan.dev/blog/thinkin-logs-2021-10-07/", "published_at": "2021-10-08T01:37:41+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e52e07778", "title": "What should I `make`?", "url": "https://jdkaplan.dev/blog/thinkin-logs-2021-08-06/", "published_at": "2021-08-07T00:13:23+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e530fc86c", "title": "This Week I Learned: 2021 W17", "url": "https://jdkaplan.dev/blog/thinkin-logs-2021-05-02/", "published_at": "2021-05-03T00:00:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e532bce40", "title": "ImageMagick placeholder images", "url": "https://jdkaplan.dev/blog/thinkin-logs-2021-04-06/", "published_at": "2021-04-06T20:02:02+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e537d76c7", "title": "Using `entr` as a test watcher", "url": "https://jdkaplan.dev/blog/thinkin-logs-2021-02-03/", "published_at": "2021-02-04T05:09:46+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e54139f1e", "title": "QQ: The Queue-Based Programming Language", "url": "https://jdkaplan.dev/blog/qq-the-queue-based-programming-language/", "published_at": "2021-01-30T23:00:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e54c99e20", "title": "Learn Sorbet in Y minutes", "url": "https://jdkaplan.dev/blog/learn-sorbet-in-y-minutes/", "published_at": "2020-12-04T03:45:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5566f8db", "title": "I reminded myself of Piet again", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-29/", "published_at": "2020-11-30T06:19:46+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e559839a3", "title": "Sorbet Cheatsheet Part 9", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-28/", "published_at": "2020-11-28T22:14:14+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e56006256", "title": "Just write it down", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-25/", "published_at": "2020-11-26T07:01:18+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e569b54e0", "title": "Phonemic Name Tags", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-23/", "published_at": "2020-11-24T04:37:41+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e56b5723e", "title": "Sorbet Cheatsheet Part 8", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-21/", "published_at": "2020-11-21T20:56:55+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e572921b4", "title": "Sorbet Cheatsheet Part 7", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-19/", "published_at": "2020-11-20T04:24:24+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e579f7f5b", "title": "Sorbet Cheatsheet Part 6", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-18/", "published_at": "2020-11-19T03:03:19+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e57e371b6", "title": "Sorbet Cheatsheet Part 5", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-17/", "published_at": "2020-11-18T06:54:24+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5835ea56", "title": "Sorbet Cheatsheet Part 4", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-16/", "published_at": "2020-11-17T05:12:50+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e58ecb416", "title": "Sorbet Cheatsheet Part 3", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-15/", "published_at": "2020-11-15T23:24:43+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5998f6e4", "title": "Sorbet Cheatsheet Part 2", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-14/", "published_at": "2020-11-15T04:57:47+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5a4a98c3", "title": "Sorbet Cheatsheet Part 1", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-12/", "published_at": "2020-11-13T04:26:56+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5a5d60e5", "title": "Sorbet sig conflict with ViewComponent collection rendering", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-11/", "published_at": "2020-11-12T07:46:57+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5b40b99e", "title": "Struggling to organize code in Rails", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-10/", "published_at": "2020-11-11T03:05:44+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5b9e3056", "title": "Object-Oriented Programming is an exercise in trust", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-09/", "published_at": "2020-11-10T03:45:31+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5c27a51d", "title": "Relative URLs are hard", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-08/", "published_at": "2020-11-09T05:51:23+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5d000c5f", "title": "Put the knowledge in the code", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-06/", "published_at": "2020-11-07T05:06:37+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5db3f8aa", "title": "\"The Future of Computing and Programming Languages\"", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-05/", "published_at": "2020-11-06T04:54:47+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5e2f4440", "title": "Escape hatches", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-04/", "published_at": "2020-11-05T05:52:04+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5eb09e1d", "title": "Sign language and video calls", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-03/", "published_at": "2020-11-04T02:34:53+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5f61f350", "title": "Raspberry Pi 400", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-02/", "published_at": "2020-11-03T04:22:24+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e5ff5b87f", "title": "NaNoWriMo", "url": "https://jdkaplan.dev/blog/thinkin-logs-2020-11-01/", "published_at": "2020-11-01T20:30:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e60f3637b", "title": "This Week I Learned: 2020 W22", "url": "https://jdkaplan.dev/blog/this-week-i-learned-2020-w22/", "published_at": "2020-06-01T05:15:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e6153aab1", "title": "This Week I Learned: 2020 W21", "url": "https://jdkaplan.dev/blog/this-week-i-learned-2020-w21/", "published_at": "2020-05-25T05:45:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e616ebf47", "title": "This Week I Learned: 2020 W20", "url": "https://jdkaplan.dev/blog/this-week-i-learned-2020-w20/", "published_at": "2020-05-18T00:00:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e617707db", "title": "This Week I Learned: 2020-W19", "url": "https://jdkaplan.dev/blog/this-week-i-learned-2020-w19/", "published_at": "2020-05-10T20:30:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e624fa570", "title": "Six Months on a Mac", "url": "https://jdkaplan.dev/blog/six-months-on-a-mac/", "published_at": "2020-03-11T06:00:00+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e62fb75cd", "title": "Hacktoberfest Retrospective", "url": "https://jdkaplan.dev/blog/hacktoberfest-retrospective/", "published_at": "2019-11-09T17:03:45+00:00" }, { "id": "01a0878c-32cb-7281-9ee1-5d6e634144f8", "title": "Hello, World!", "url": "https://jdkaplan.dev/blog/hello-world/", "published_at": "2019-05-26T21:03:59+00:00" } ] posts Claim your blog
Back to jdkaplan.dev
Blog · corpus.blog/blogs/jdkaplan.dev/posts

jdkaplan.dev

jdkaplan.dev

2026

2024

2022

2021

2020

2019