41554 blogs · [ { "id": "01a0878c-4776-7107-8ceb-70a756c1b3cd", "title": "Dotfiles That Save Themselves", "url": "https://jdx.dev/posts/2026-09-07-dotfiles-that-save-themselves/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a756e7efe5", "title": "Introducing mr-boxington: fix target/", "url": "https://jdx.dev/posts/2026-09-05-introducing-mr-boxington/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7571893a3", "title": "Introducing packslip", "url": "https://jdx.dev/posts/2026-09-05-introducing-packslip/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a757343879", "title": "Going Full Time on Open Source", "url": "https://jdx.dev/posts/2026-04-17-going-full-time-on-open-source/", "published_at": "2026-04-23T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7575efbeb", "title": "Contact", "url": "https://jdx.dev/contact/", "published_at": "2026-04-17T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7583d89c7", "title": "Top 10 Features in Mise You're Not Using", "url": "https://jdx.dev/posts/2026-03-02-10-mise-features/", "published_at": "2026-03-02T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a758cc4430", "title": "Shims: How they work in mise-en-place", "url": "https://jdx.dev/posts/2024-04-13-shims-how-they-work-in-mise-en-place/", "published_at": "2024-04-13T01:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7599f76d4", "title": "Shims: Build a version manager", "url": "https://jdx.dev/posts/2024-04-13-shims-build-a-version-manager/", "published_at": "2024-04-13T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a759be087c", "title": "10 features in rtx you may have missed", "url": "https://jdx.dev/posts/2023-04-08-10-rtx-features/", "published_at": "2023-04-08T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75a59a622", "title": "Beginner's Guide to rtx", "url": "https://jdx.dev/posts/2023-03-04-beginners-guide-to-rtx/", "published_at": "2023-03-04T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75ac46a7c", "title": "Introducing chim", "url": "https://jdx.dev/posts/2022-09-04-introducing-chim/", "published_at": "2022-09-05T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75b56cdb7", "title": "10 Tips for Ramping Up as a Senior Engineer", "url": "https://jdx.dev/posts/2020-09-16-10-tips-ramping-up-as-a-senior-engineer/", "published_at": "2020-09-16T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75c47913a", "title": "Async JavaScript Patterns for 2020", "url": "https://jdx.dev/posts/2020-01-19-async-javascript-patterns-for-2020/", "published_at": "2020-01-19T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75d1214d3", "title": "Practical Guide to Closures", "url": "https://jdx.dev/posts/2020-01-12-closures/", "published_at": "2020-01-12T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75dfb74cc", "title": "Pithy Guide to Kubernetes Part 2: Golang", "url": "https://jdx.dev/posts/2019-12-07-pithy-guide-to-kubernetes-part-2-golang/", "published_at": "2019-12-07T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75ed80227", "title": "Pithy Guide to Kubernetes Part 2: Node.JS", "url": "https://jdx.dev/posts/2019-12-07-pithy-guide-to-kubernetes-part-2-nodejs/", "published_at": "2019-12-07T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75f07ad7c", "title": "Pithy Guide to Kubernetes Part 1", "url": "https://jdx.dev/posts/2019-12-06-pithy-guide-to-kubernetes-part-1/", "published_at": "2019-12-06T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75f388f9c", "title": "[video] oclifconf: The Future of oclif", "url": "https://jdx.dev/posts/2019-08-22-the-future-of-oclif/", "published_at": "2019-08-22T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75f40ceb6", "title": "Golang Function Driven Tests", "url": "https://jdx.dev/posts/2019-05-09-go-function-driven-tests/", "published_at": "2019-05-09T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a75f81f828", "title": "[podcast] codeish: oclif: An Open Source CLI Framework", "url": "https://jdx.dev/posts/2019-05-07-oclif-an-open-source-cli-framework/", "published_at": "2019-05-07T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a760487c78", "title": "[video] NodeConf: Building Great CLI Experiences in Node.js", "url": "https://jdx.dev/posts/2018-10-17-nodeconf-building-great-cli-experiences-in-node/", "published_at": "2018-10-18T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a760c27385", "title": "12 Factor CLI Apps", "url": "https://jdx.dev/posts/2018-10-08-12-factor-cli-apps/", "published_at": "2018-10-08T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a76139ed69", "title": "[video] DevRelCon: Designing a delightful command line interface", "url": "https://jdx.dev/posts/2018-07-16-devrelcon-designing-a-delightful-command-line-interface/", "published_at": "2018-07-16T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a76232e082", "title": "For the love of god, don’t use .npmignore", "url": "https://jdx.dev/posts/2018-05-25-for-the-love-of-god-dont-use-npmignore/", "published_at": "2018-05-25T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7625a0ace", "title": "Salesforce Blog: Open Sourcing oclif, the CLI Framework that Powers Our CLIs", "url": "https://jdx.dev/posts/2018-03-20-open-sourcing-oclif-the-cli-framework-that-powers-our-clis/", "published_at": "2018-03-20T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a76354a3eb", "title": "Heroku Blog: Evolution of the Heroku CLI: 2008-2017", "url": "https://jdx.dev/posts/2017-08-15-evolution-of-the-heroku-cli/", "published_at": "2017-08-15T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a764512897", "title": "How to Pair Program", "url": "https://jdx.dev/posts/2015-02-03-how-to-pair-program/", "published_at": "2015-02-03T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7654760d2", "title": "[book] Write Modern Web Apps with the MEAN Stack", "url": "https://jdx.dev/posts/2014-10-05-write-modern-webapps-with-the-mean-stack/", "published_at": "2014-10-05T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7661ead06", "title": "Best Practices for Building Angular.JS Apps", "url": "https://jdx.dev/posts/2014-07-09-best-practices-for-building-angular-apps/", "published_at": "2014-07-09T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a766ce9f82", "title": "Older Posts", "url": "https://jdx.dev/posts/2014-01-01-older_posts/", "published_at": "2014-01-01T00:00:00+00:00" }, { "id": "01a0878c-4776-7107-8ceb-70a7673f85ea", "title": "Members", "url": "https://jdx.dev/members.html", "published_at": null }, { "id": "01a0878c-4776-7107-8ceb-70a767d4d044", "title": "Sponsors", "url": "https://jdx.dev/sponsors.html", "published_at": null } ] posts Claim your blog
Back to jdx.dev
Blog · corpus.blog/blogs/jdx.dev/posts

jdx.dev

jdx.dev

2026

2024

2023

2022

2020

2019

2018

2017

2015

2014

Undated