corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0e47b-62e6-711a-8777-1d1d1e792b4c", "title": "The Economic Arguments For Code Quality", "url": "https://blog.1-800-rad-dude.com/posts/2026/09-26-The-Economic-Argument-For-Code-Quality.html", "published_at": "2026-09-26T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e4dcbf007", "title": "Writing My Own Time-Based One-Time Password Generator", "url": "https://blog.1-800-rad-dude.com/posts/2026/06-20-Writing-My-Own-Time-Based-One-Time-Password-Generator.html", "published_at": "2026-06-20T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e4dd9b12a", "title": ".claudeignore and the Shared Psychosis of AI Engineering", "url": "https://blog.1-800-rad-dude.com/posts/2026/03-24-claudeignore-and-the-shared-psychosis-of-AI-engineering.html", "published_at": "2026-03-24T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e4e882706", "title": "100 Percent Code Coverage Is Not as Good as You Think", "url": "https://blog.1-800-rad-dude.com/posts/2026/02-15-100-Percent-Code-Coverage.html", "published_at": "2026-02-15T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e4ed9d17f", "title": "Using UUIDv7 with Ecto and PostgreSQL", "url": "https://blog.1-800-rad-dude.com/posts/2026/02-04-Using-Postgres-UUIDv7-with-Ecto.html", "published_at": "2026-02-04T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e4f7370ac", "title": "Fixing My Biggest SPA Pet Peeve In Phoenix", "url": "https://blog.1-800-rad-dude.com/posts/2026/01-31-Fixing-My-Biggest-SPA-Pet-Peeve-In-Phoenix-LiveView.html", "published_at": "2026-01-31T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e4fad631b", "title": "My Position On AI And Software Development", "url": "https://blog.1-800-rad-dude.com/posts/2025/12-29-My-Position-On-AI-And-Software-Development.html", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e501b3e20", "title": "Adding Postgres Full Text Search to an Ash Project", "url": "https://blog.1-800-rad-dude.com/posts/2025/08-13-Adding-Postgres-Full-Text-Search-to-an-Ash-Project.html", "published_at": "2025-08-13T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e504f8fb8", "title": "Migrating my Existing Elixir App to Ash Framework", "url": "https://blog.1-800-rad-dude.com/posts/2025/07-11-Migrating-my-Existing-Elixir-App-to-Ash-Framework.html", "published_at": "2025-07-11T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e50a07bc8", "title": "An LLM that Re-Stacks Your PR is Solving the Wrong Problem", "url": "https://blog.1-800-rad-dude.com/posts/2025/06-20-An-LLM-that-Re-Stacks-Your-PR-is-Solving-the-Wrong-Problem.html", "published_at": "2025-06-20T00:00:00+00:00" }, { "id": "01a08741-95f8-7031-8bcb-d38e511b71d1", "title": "LLMs In Search of A Problem", "url": "https://blog.1-800-rad-dude.com/posts/2025/06-10-AI-Workflows-In-Search-of-A-Problem.html", "published_at": "2025-06-10T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170a7bc2d9", "title": "What an Industry-Changing Programming Language Would Look Like", "url": "https://blog.1-800-rad-dude.com/posts/2025/05-11-What-an-industry-changing-programming-language-would-look-like.html", "published_at": "2025-05-11T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170ae91853", "title": "Interruptions, Async Interactions, and Information Overload", "url": "https://blog.1-800-rad-dude.com/posts/2025/04-19-Interruptions-Async-Interactions-and-Information-Overload.html", "published_at": "2025-04-19T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170bc15f46", "title": "The Way We Handle Dependencies Is a Sick Joke", "url": "https://blog.1-800-rad-dude.com/posts/2025/04-18-The-Way-We-Handle-Dependencies-Is-a-Sick-Joke.html", "published_at": "2025-04-18T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170bfb6485", "title": "Why You Should Remap CapsLock to Ctrl", "url": "https://blog.1-800-rad-dude.com/posts/2025/02-01-Why-You-Should-Remap-CapsLock-to-Ctrl.html", "published_at": "2025-02-01T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170ca44aba", "title": "Things to Learn and Tech to Try in 2025", "url": "https://blog.1-800-rad-dude.com/posts/2024/12-28-Things-to-Learn-and-Tech-to-Try-in-2025.html", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170cb67133", "title": "Can You Do Advent of Code With Only Vim Macros?!", "url": "https://blog.1-800-rad-dude.com/posts/2024/12-16-Can-You-Do-Advent-of-Code-With-Only-Vim-Macros.html", "published_at": "2024-12-16T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170cbf20db", "title": "Why You Should Care About Your Commits (Even If You Squash Merge!)", "url": "https://blog.1-800-rad-dude.com/posts/2024/12-08-Why-You-Should-Care-About-Your-Commits.html", "published_at": "2024-12-08T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170db92a88", "title": "Higher Level Editing with Vim Text Objects", "url": "https://blog.1-800-rad-dude.com/posts/2024/11-24-Vim-Word-Motions-and-Text-Objects.html", "published_at": "2024-11-24T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170dc68c97", "title": "Never Get Lost In Your Buffers Again | Vim Marks", "url": "https://blog.1-800-rad-dude.com/posts/2024/11-17-Never-Get-Lost-In-Your-Buffers-Again.html", "published_at": "2024-11-17T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170e1be2a4", "title": "Solving Battleship Solitaire with Elixir", "url": "https://blog.1-800-rad-dude.com/posts/2024/11-07-Solving-Battleship-Solitaire-with-Elixir.html", "published_at": "2024-11-07T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170e58b098", "title": "Crafting Perfect Commits In An Imperfect World", "url": "https://blog.1-800-rad-dude.com/posts/2024/10-13-Crafting-Perfect-Commits-In-An-Imperfect-World.html", "published_at": "2024-10-13T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170e7c38c5", "title": "What Makes a Commit? | Understanding Atomic Commits", "url": "https://blog.1-800-rad-dude.com/posts/2024/10-06-What-Makes-a-Commit.html", "published_at": "2024-10-06T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170ef655b6", "title": "Grep In Vim | Setup from Scratch", "url": "https://blog.1-800-rad-dude.com/posts/2024/09-26-Grep-In-Vim.html", "published_at": "2024-09-26T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170f8b4229", "title": "Why AI Might Actually Make Your Skills MORE Important", "url": "https://blog.1-800-rad-dude.com/posts/2024/09-23-Why-AI-might-actually-make-your-skills-MORE-important.html", "published_at": "2024-09-23T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43170ff87fcb", "title": "Working With Vim Registers | Copy And Paste Better", "url": "https://blog.1-800-rad-dude.com/posts/2024/09-12-vim-registers.html", "published_at": "2024-09-12T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431710446c60", "title": "Git Bisect | Automatically Find Your Bugs", "url": "https://blog.1-800-rad-dude.com/posts/2024/09-06-Git-Bisect.html", "published_at": "2024-09-06T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-4317105c0f31", "title": "Vim Formatting Essentials", "url": "https://blog.1-800-rad-dude.com/posts/2024/09-01-vim-formatting-essentials.html", "published_at": "2024-09-01T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43171073f397", "title": "Book Review | Designing Elixir Systems with OTP", "url": "https://blog.1-800-rad-dude.com/posts/2024/08-16-Designing-Elixir-Systems-with-OTP.html", "published_at": "2024-08-16T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-4317108a8488", "title": "Vim Buffers, Windows, and Tabs | Multi-file Workflows", "url": "https://blog.1-800-rad-dude.com/posts/2024/08-09-vim-buffers-windows-and-tabs.html", "published_at": "2024-08-09T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-4317110fd303", "title": "More Than Switching Branches | git checkout Does Everything", "url": "https://blog.1-800-rad-dude.com/posts/2024/08-02-More-Than-Switching-Branches.html", "published_at": "2024-08-02T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43171127c68d", "title": "Vim Search Must-Haves | 5 Things Everyone Should Know", "url": "https://blog.1-800-rad-dude.com/posts/2024/07-26-Vim-Search-Must-Haves.html", "published_at": "2024-07-26T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43171149a4ce", "title": "Go Beyond Rebase | git rebase --interactive", "url": "https://blog.1-800-rad-dude.com/posts/2024/07-19-Go-Beyond-Rebase.html", "published_at": "2024-07-19T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431711fb5744", "title": "Commit Message Writer's Block? Here's the Cure", "url": "https://blog.1-800-rad-dude.com/posts/2024/07-14-Commit-Message-Writers-Block.html", "published_at": "2024-07-14T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43171270ac7d", "title": "Vim's Built-in Autocomplete is All You Need", "url": "https://blog.1-800-rad-dude.com/posts/2024/07-14-Vim-Autocomplete-Is-All-You-Need.html", "published_at": "2024-07-14T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43171315554a", "title": "My Theory of Burnout", "url": "https://blog.1-800-rad-dude.com/posts/2024/05-30-My-Theory-of-Burnout.html", "published_at": "2024-05-30T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-43171374ac7c", "title": "Creating LiveSlides", "url": "https://blog.1-800-rad-dude.com/posts/2024/05-19-Creating-LiveSlides.html", "published_at": "2024-05-19T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-4317142fa178", "title": "Hot Take - Async collaboration is Overrated", "url": "https://blog.1-800-rad-dude.com/posts/2024/04-21-async-is-overrated.html", "published_at": "2024-04-21T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431714eeb873", "title": "Reverse TDD Workflow | For When the Tests Weren't Written First", "url": "https://blog.1-800-rad-dude.com/posts/2024/04-09-reverse-tdd-git-workflow.html", "published_at": "2024-04-09T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431715819352", "title": "Why I use Git on the command line", "url": "https://blog.1-800-rad-dude.com/posts/2024/04-08-Why-I-use-git-cli.html", "published_at": "2024-04-08T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-4317164e47f0", "title": "Scales of Feedback in Software Development", "url": "https://blog.1-800-rad-dude.com/posts/2024/02-08-feedback-scales.html", "published_at": "2024-02-08T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431717214c1d", "title": "A Nix Cheatsheet", "url": "https://blog.1-800-rad-dude.com/posts/2024/02-07-nix-cheatsheet.html", "published_at": "2024-02-07T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431717fc63e1", "title": "Mnemonic Data Structures", "url": "https://blog.1-800-rad-dude.com/posts/2023/12-23-mnemonic-data-structures.html", "published_at": "2023-12-23T00:00:00+00:00" }, { "id": "01a08741-95f9-73f9-96fe-431718d9e677", "title": "Building this blog", "url": "https://blog.1-800-rad-dude.com/posts/2023/12-17-blog.html", "published_at": "2023-12-17T00:00:00+00:00" } ] posts
Claim your blog
Back to blog.1-800-rad-dude.com
Blog · corpus.blog/blogs/blog.1-800-rad-dude.com/posts
blog.1-800-rad-dude.com
blog.1-800-rad-dude.com
2026
The Economic Arguments For Code Quality
original ↗
26 Sept 2026
Writing My Own Time-Based One-Time Password Generator
original ↗
20 Jun 2026
.claudeignore and the Shared Psychosis of AI Engineering
original ↗
24 Mar 2026
100 Percent Code Coverage Is Not as Good as You Think
original ↗
15 Feb 2026
Using UUIDv7 with Ecto and PostgreSQL
original ↗
4 Feb 2026
Fixing My Biggest SPA Pet Peeve In Phoenix
original ↗
31 Jan 2026
2025
My Position On AI And Software Development
original ↗
29 Dec 2025
Adding Postgres Full Text Search to an Ash Project
original ↗
13 Aug 2025
Migrating my Existing Elixir App to Ash Framework
original ↗
11 Jul 2025
An LLM that Re-Stacks Your PR is Solving the Wrong Problem
original ↗
20 Jun 2025
LLMs In Search of A Problem
original ↗
10 Jun 2025
What an Industry-Changing Programming Language Would Look Like
original ↗
11 May 2025
Interruptions, Async Interactions, and Information Overload
original ↗
19 Apr 2025
The Way We Handle Dependencies Is a Sick Joke
original ↗
18 Apr 2025
Why You Should Remap CapsLock to Ctrl
original ↗
1 Feb 2025
2024
Things to Learn and Tech to Try in 2025
original ↗
28 Dec 2024
Can You Do Advent of Code With Only Vim Macros?!
original ↗
16 Dec 2024
Why You Should Care About Your Commits (Even If You Squash Merge!)
original ↗
8 Dec 2024
Higher Level Editing with Vim Text Objects
original ↗
24 Nov 2024
Never Get Lost In Your Buffers Again | Vim Marks
original ↗
17 Nov 2024
Solving Battleship Solitaire with Elixir
original ↗
7 Nov 2024
Crafting Perfect Commits In An Imperfect World
original ↗
13 Oct 2024
What Makes a Commit? | Understanding Atomic Commits
original ↗
6 Oct 2024
Grep In Vim | Setup from Scratch
original ↗
26 Sept 2024
Why AI Might Actually Make Your Skills MORE Important
original ↗
23 Sept 2024
Working With Vim Registers | Copy And Paste Better
original ↗
12 Sept 2024
Git Bisect | Automatically Find Your Bugs
original ↗
6 Sept 2024
Vim Formatting Essentials
original ↗
1 Sept 2024
Book Review | Designing Elixir Systems with OTP
original ↗
16 Aug 2024
Vim Buffers, Windows, and Tabs | Multi-file Workflows
original ↗
9 Aug 2024
More Than Switching Branches | git checkout Does Everything
original ↗
2 Aug 2024
Vim Search Must-Haves | 5 Things Everyone Should Know
original ↗
26 Jul 2024
Go Beyond Rebase | git rebase --interactive
original ↗
19 Jul 2024
Commit Message Writer's Block? Here's the Cure
original ↗
14 Jul 2024
Vim's Built-in Autocomplete is All You Need
original ↗
14 Jul 2024
My Theory of Burnout
original ↗
30 May 2024
Creating LiveSlides
original ↗
19 May 2024
Hot Take - Async collaboration is Overrated
original ↗
21 Apr 2024
Reverse TDD Workflow | For When the Tests Weren't Written First
original ↗
9 Apr 2024
Why I use Git on the command line
original ↗
8 Apr 2024
Scales of Feedback in Software Development
original ↗
8 Feb 2024
A Nix Cheatsheet
original ↗
7 Feb 2024
2023
Mnemonic Data Structures
original ↗
23 Dec 2023
Building this blog
original ↗
17 Dec 2023