41554 blogs ยท [ { "id": "01a0d8fa-c5a4-73db-95c6-004c276f0f33", "title": "On \"Invisible\" Software Engineers", "url": "https://jakeworth.com/posts/on-invisible-software-engineers/", "published_at": "2026-09-23T18:24:09+00:00" }, { "id": "01a0d8fa-c5a4-73db-95c6-004c27f98dd0", "title": "JavaScripting on main()", "url": "https://jakeworth.com/tils/javascripting-on-main/", "published_at": "2026-09-23T16:19:45+00:00" }, { "id": "01a0d8fa-c5a4-73db-95c6-004c2882d18a", "title": "Enable Markdown Syntax Highlighting in Fenced Code Blocks", "url": "https://jakeworth.com/tils/enable-markdown-syntax-highlighting-in-fenced-code-blocks/", "published_at": "2026-09-21T18:21:12+00:00" }, { "id": "01a0ba67-3e4c-72d7-99e9-621fba4ca953", "title": "What blog posts influenced your thinking the most?", "url": "https://jakeworth.com/posts/what-blog-posts-influenced-your-thinking/", "published_at": "2026-09-15T14:19:12+00:00" }, { "id": "01a0ba67-3e4c-72d7-99e9-621fbb3d6181", "title": "How To Get an Interview When You Don't Know Anybody", "url": "https://jakeworth.com/posts/how-to-get-an-interview/", "published_at": "2026-09-14T13:24:12+00:00" }, { "id": "01a08caf-27fc-7285-8517-e8463121c2f3", "title": "Simplified Technical English in my Writing", "url": "https://jakeworth.com/tils/simplified-technical-english-in-my-writing/", "published_at": "2026-09-10T17:16:38+00:00" }, { "id": "01a08caf-27fc-7285-8517-e84631b272e4", "title": "toString can be set in JavaScript", "url": "https://jakeworth.com/tils/to-string-can-be-set-in-javascript/", "published_at": "2026-09-09T20:12:24+00:00" }, { "id": "01a08caf-27fc-7285-8517-e846326075dc", "title": "Read Node's Process Versions", "url": "https://jakeworth.com/tils/read-nodes-process-versions/", "published_at": "2026-09-09T20:08:04+00:00" }, { "id": "01a08caf-27fc-7285-8517-e84632a0a573", "title": "JavaScript Reflection Preserves Comments", "url": "https://jakeworth.com/tils/javascript-reflection-preserves-comments/", "published_at": "2026-09-09T20:05:03+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132699da658", "title": "AI Policy", "url": "https://jakeworth.com/ai-policy/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326a76e6f9", "title": "Call a Git Hook on Demand", "url": "https://jakeworth.com/tils/call-a-git-hook-on-demand/", "published_at": "2026-09-04T12:09:23+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326ab51731", "title": "Building a Pitchfork-Style Loading Skeleton", "url": "https://jakeworth.com/posts/pitchfork-style-skeleton/", "published_at": "2026-09-02T14:52:51+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326b0defbd", "title": "Link to Local Package With npm link", "url": "https://jakeworth.com/tils/link-to-local-package-with-npm-link/", "published_at": "2026-09-02T12:38:16+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326b7cb35c", "title": "tsc watch script", "url": "https://jakeworth.com/tils/tsc-watch-script/", "published_at": "2026-09-01T18:51:45+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326c33e4e7", "title": "Read lpr Configuration", "url": "https://jakeworth.com/tils/read-lpr-configuration/", "published_at": "2026-08-31T17:22:19+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326d023c40", "title": "Hugo Markdown-Reading Shortcode", "url": "https://jakeworth.com/tils/hugo-markdown-reading-shortcode/", "published_at": "2026-08-31T16:17:05+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326dfeaa98", "title": "Don't Use npm init on an Existing Project", "url": "https://jakeworth.com/tils/dont-use-npm-init-on-an-existing-project/", "published_at": "2026-08-25T16:19:46+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326ea295fb", "title": "Favorite TypeScript Learnings from TypeNotes", "url": "https://jakeworth.com/posts/favorite-typescript-learnings-from-typenotes/", "published_at": "2026-08-24T13:01:25+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326f645d28", "title": "Open Source Icons via Lucite", "url": "https://jakeworth.com/tils/open-source-icons-via-lucite/", "published_at": "2026-08-23T23:21:08+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326f88eee5", "title": "Open Vim Readonly", "url": "https://jakeworth.com/tils/open-vim-readonly/", "published_at": "2026-08-23T22:35:58+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1326fe99915", "title": "If/Else in CSS", "url": "https://jakeworth.com/tils/if-else-in-css/", "published_at": "2026-08-20T14:15:48+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132702baf93", "title": "Modular CSS Classes and Elements", "url": "https://jakeworth.com/tils/modular-css-classes-and-elements/", "published_at": "2026-08-20T14:01:33+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13270a24136", "title": "The Power of One Test", "url": "https://jakeworth.com/posts/the-power-of-one-test/", "published_at": "2026-08-20T12:10:20+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13270db108c", "title": "Inspecting Symlink with readlink", "url": "https://jakeworth.com/tils/inspecting-symlink-with-readlink/", "published_at": "2026-08-19T20:00:02+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132710873ea", "title": "Remembering the Percent as Wildcard", "url": "https://jakeworth.com/tils/remembering-the-percent-as-wildcard/", "published_at": "2026-08-19T16:41:55+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13271ec7562", "title": "Ripgrep files with matches", "url": "https://jakeworth.com/tils/ripgrep-files-with-matches/", "published_at": "2026-08-11T13:51:53+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132729c21b8", "title": "Vim view all your maps", "url": "https://jakeworth.com/tils/vim-view-all-your-maps/", "published_at": "2026-08-08T17:37:26+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13273645d94", "title": "Saving TSX's Evaluated Commands to File", "url": "https://jakeworth.com/tils/saving-tsx-evaluated-commands-to-file/", "published_at": "2026-07-29T18:02:08+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13273be7e21", "title": "Writing Prose with Vale", "url": "https://jakeworth.com/tils/writing-prose-with-vale/", "published_at": "2026-07-28T15:37:51+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13273f4daf7", "title": "12 Startups in 12 Months", "url": "https://jakeworth.com/posts/12-startups-in-12-months/", "published_at": "2026-07-27T15:17:58+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132741fe7be", "title": "tsx, a REPL for TypeScript", "url": "https://jakeworth.com/tils/tsx-a-repl-for-typescript/", "published_at": "2026-07-24T14:56:14+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132751de0af", "title": "Enumerate on promise resolved", "url": "https://jakeworth.com/tils/enumerate-on-promised-resolved/", "published_at": "2026-07-24T13:45:07+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13275848299", "title": "Opaque IDs, editable titles in TIL URLs", "url": "https://jakeworth.com/posts/til-urls/", "published_at": "2026-07-22T14:46:54+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13275ebff54", "title": "4321 is Astro", "url": "https://jakeworth.com/tils/4321-is-astro/", "published_at": "2026-07-21T16:51:02+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132768001ed", "title": "Node's Timeout _destroyed Private Method", "url": "https://jakeworth.com/tils/nodes-destroyed-private-method/", "published_at": "2026-07-20T20:44:20+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132772ff721", "title": "Uncheck Buttons With JavaScript", "url": "https://jakeworth.com/tils/uncheck-buttons-with-javascript/", "published_at": "2026-07-20T13:21:10+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132782784b0", "title": "JavaScript Reflection with toString", "url": "https://jakeworth.com/tils/js-reflection-with-to-string/", "published_at": "2026-07-10T16:04:19+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132783693bd", "title": "Focus a JS Test", "url": "https://jakeworth.com/tils/focus-a-js-test/", "published_at": "2026-07-10T15:48:47+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13278a2de35", "title": "JSDoc Deprecations in TypeScript", "url": "https://jakeworth.com/tils/js-doc-deprecations-in-typescript/", "published_at": "2026-07-10T14:35:05+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13278dcbc73", "title": "Unknown Value in Brackets", "url": "https://jakeworth.com/tils/unknown-value-in-brackets/", "published_at": "2026-07-07T16:05:47+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13278ede29a", "title": "NPM List Packages", "url": "https://jakeworth.com/tils/npm-list-packages/", "published_at": "2026-07-07T14:00:34+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13279975262", "title": "Rust Erroring Code Visual Aid", "url": "https://jakeworth.com/tils/rust-erroring-code-visual-aid/", "published_at": "2026-07-06T15:16:08+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327a7bd3b3", "title": "Resized Images in Hugo Markdown", "url": "https://jakeworth.com/tils/resized-images-in-hugo-markdown/", "published_at": "2026-07-02T19:22:48+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327aa4aaa5", "title": "Unalias an Alias", "url": "https://jakeworth.com/tils/unalias-an-alias/", "published_at": "2026-07-01T15:45:19+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327b602878", "title": "Vim Scriptout and Scriptin", "url": "https://jakeworth.com/tils/vim-scriptout-and-scriptin/", "published_at": "2026-06-30T19:17:23+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327bac759d", "title": "Concatenate Non-Printing Characters", "url": "https://jakeworth.com/tils/cat-non-printing-characters/", "published_at": "2026-06-30T16:29:45+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327c061214", "title": "Vite Hot Module Replacement", "url": "https://jakeworth.com/tils/vite-hot-module-replacement/", "published_at": "2026-06-30T13:33:35+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327c6e6bd1", "title": "Prettier in Fenced Code Blocks", "url": "https://jakeworth.com/tils/prettier-in-fenced-code-blocks/", "published_at": "2026-06-29T18:06:11+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327d2a0bc6", "title": "TypeScript Type-Only Imports and Exports", "url": "https://jakeworth.com/tils/typescript-type-only-imports-and-exports/", "published_at": "2026-06-29T17:49:24+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327de85ee9", "title": "Non-Null With Root Import", "url": "https://jakeworth.com/tils/non-null-with-root-import/", "published_at": "2026-06-29T15:24:16+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327e6c096b", "title": "Genuinely Care", "url": "https://jakeworth.com/posts/genuinely-care/", "published_at": "2026-06-29T14:24:22+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327ecd7a73", "title": "5173 is Vite", "url": "https://jakeworth.com/tils/5173-is-vite/", "published_at": "2026-06-25T16:51:02+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327f7ce993", "title": "Cursor on Current Directory", "url": "https://jakeworth.com/tils/cursor-on-current-directory/", "published_at": "2026-06-24T17:39:58+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327fa04da2", "title": "The Outbox Pattern", "url": "https://jakeworth.com/tils/the-outbox-pattern/", "published_at": "2026-06-18T22:02:34+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1327fa6243e", "title": "Leave a Trace", "url": "https://jakeworth.com/posts/leave-a-trace/", "published_at": "2026-06-18T14:40:18+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132809190c8", "title": "Node REPL, No Preview", "url": "https://jakeworth.com/tils/node-repl-no-preview/", "published_at": "2026-06-02T19:46:17+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132818b8bac", "title": "NVM Install and Use Latest LTS", "url": "https://jakeworth.com/tils/nvm-install-and-use-latest/", "published_at": "2026-05-29T17:49:11+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13281ecce63", "title": "You Learn a Codebase by Changing It", "url": "https://jakeworth.com/posts/you-learn-a-codebase-by-changing-it/", "published_at": "2026-05-28T18:26:41+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132824b41d5", "title": "Avoid Hasty Caching", "url": "https://jakeworth.com/posts/avoid-hasty-caching/", "published_at": "2026-05-26T19:00:01+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132831544c0", "title": "Law of Demeter Origin Story", "url": "https://jakeworth.com/tils/law-of-demeter-origin-story/", "published_at": "2026-05-11T13:52:13+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132838d1f80", "title": "Filled Emoji With CSS", "url": "https://jakeworth.com/tils/filled-emoji-with-css/", "published_at": "2026-05-08T13:52:29+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13284682b2b", "title": "JavaScript Wraparound Index", "url": "https://jakeworth.com/tils/javascript-wraparound-index/", "published_at": "2026-05-07T13:44:10+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328489c699", "title": "JavaScript String Concatenation", "url": "https://jakeworth.com/tils/javascript-string-concatenation/", "published_at": "2026-05-06T14:39:46+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13284bb3e0e", "title": "JavaScript Spread a String Into An Array", "url": "https://jakeworth.com/tils/javascript-spread-string-into-array/", "published_at": "2026-05-05T14:49:25+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13284c59d66", "title": "JavaScript Array Join Comma Default Separator", "url": "https://jakeworth.com/tils/javascript-array-join-comma-default-separator/", "published_at": "2026-05-05T13:48:19+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13285ad9a13", "title": "JavaScript Bitwise AND", "url": "https://jakeworth.com/tils/javascript-bitwise-and/", "published_at": "2026-05-01T18:53:41+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13286a7a25d", "title": "Become a Product-First Software Engineer", "url": "https://jakeworth.com/posts/become-a-product-first-software-engineer/", "published_at": "2026-05-01T14:00:45+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13286d3272d", "title": "Vim :Tutor Command", "url": "https://jakeworth.com/tils/vim-tutor-command/", "published_at": "2026-04-29T16:25:53+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132876586be", "title": "On commenting and approving pull requests", "url": "https://jakeworth.com/posts/on-commenting-and-approving-pull-requests/", "published_at": "2026-04-22T15:06:20+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13288560515", "title": "Incremental Dependency Upgrades", "url": "https://jakeworth.com/posts/incremental-dependency-upgrades/", "published_at": "2026-04-20T21:20:05+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132894c5452", "title": "Dependencies Go Forward", "url": "https://jakeworth.com/posts/dependencies-go-forward/", "published_at": "2026-04-20T21:12:04+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13289ec10b3", "title": "Catastrophic Mistakes Are a Team Failure", "url": "https://jakeworth.com/posts/catastrophic-mistakes-are-a-team-failure/", "published_at": "2026-04-20T16:11:33+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328a2060f1", "title": "CI/CD and Engineer Morale", "url": "https://jakeworth.com/posts/ci-cd-and-engineer-morale/", "published_at": "2026-04-20T15:41:19+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328a7cc49d", "title": "Validate a Container With Docker Ls", "url": "https://jakeworth.com/tils/validate-a-container-with-docker-pull/", "published_at": "2026-04-09T17:43:05+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328b277ec9", "title": "Tradeoffs of Permanently Forking a Library", "url": "https://jakeworth.com/posts/permanently-forking-a-library-tradeoffs/", "published_at": "2026-04-03T19:54:06+00:00" }, { "id": "01a0ba67-3e4c-72d7-99e9-621fdcc347ac", "title": "How to Get Better at Guitar", "url": "https://jakeworth.com/posts/how-to-get-better-at-guitar/", "published_at": "2026-04-01T13:13:13+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328bc3b149", "title": "A Missing README Isn't a Missing README", "url": "https://jakeworth.com/posts/a-missing-readme-isnt-a-missing-readme/", "published_at": "2026-03-29T13:32:47+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328bf0e9b0", "title": "Ease Into CI Rigor With Globs", "url": "https://jakeworth.com/tils/ease-into-ci-rigor-with-globs/", "published_at": "2026-03-15T15:06:33+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328c9181bc", "title": "Overwrite vs. Append", "url": "https://jakeworth.com/tils/overwrite-vs-append/", "published_at": "2026-03-13T20:01:22+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328cf196e8", "title": "Better Developer Experience With Friday Reboots", "url": "https://jakeworth.com/posts/better-dev-exp-with-friday-reboots/", "published_at": "2026-03-11T13:57:50+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328d4db44f", "title": "How I Run a Fully-Remote Software Engineering Standup", "url": "https://jakeworth.com/posts/how-i-run-a-software-engineering-standup/", "published_at": "2026-03-04T15:31:38+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328d956d88", "title": "Git Apply Diff", "url": "https://jakeworth.com/tils/git-apply-diff/", "published_at": "2026-02-27T21:51:25+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328e8caf14", "title": "How I Read 44 Books Last Year", "url": "https://jakeworth.com/posts/how-i-read-44-books-last-year/", "published_at": "2026-02-24T21:10:54+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328eadb0a9", "title": "Docker Service Healthy", "url": "https://jakeworth.com/tils/docker-service-healthy/", "published_at": "2026-02-20T15:08:34+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328ec48b4f", "title": "Docker Compose Override", "url": "https://jakeworth.com/tils/docker-compose-override/", "published_at": "2026-02-20T15:04:38+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1328f84af7f", "title": "Favorite Ideas from \"It Doesn't Have to Be Crazy at Work\"", "url": "https://jakeworth.com/posts/favorite-ideas-from-idhtbcaw/", "published_at": "2026-02-20T13:40:45+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132901c3d84", "title": "Installing Vim on a Remote Server", "url": "https://jakeworth.com/tils/installing-vim-on-a-remote-server/", "published_at": "2026-02-13T21:46:12+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13290784278", "title": "Initialize With npm init", "url": "https://jakeworth.com/tils/initialize-with-npm-init/", "published_at": "2026-02-12T16:19:46+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1329108191f", "title": "\"What's Wrong With This Idea?\"", "url": "https://jakeworth.com/posts/whats-wrong-with-this-idea/", "published_at": "2026-02-11T14:43:43+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13291cf98e5", "title": "Gibibyte is Not a Gigabyte", "url": "https://jakeworth.com/tils/gibibyte-is-not-a-gigabyte/", "published_at": "2026-02-09T18:47:12+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13292a24e4c", "title": "MySQL Binlogs", "url": "https://jakeworth.com/tils/mysql-binlogs/", "published_at": "2026-02-09T18:32:51+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13292d70f59", "title": "Recognizing ASCII", "url": "https://jakeworth.com/tils/recognizing-ascii/", "published_at": "2026-02-09T18:18:37+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13293c7fd5c", "title": "Who Owns This Program?", "url": "https://jakeworth.com/tils/who-owns-this-program/", "published_at": "2026-02-09T15:36:33+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13293fe8260", "title": "Things I Check Before Opening a PR", "url": "https://jakeworth.com/posts/things-i-check-before-opening-a-pr/", "published_at": "2026-02-07T19:58:34+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13294228100", "title": "Why sleep Is Risky in Production Code", "url": "https://jakeworth.com/posts/why-we-discourage-sleep/", "published_at": "2026-02-05T13:00:51+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132949a7f40", "title": "How to Unabstract an Abstraction", "url": "https://jakeworth.com/posts/how-to-unabstract-an-abstraction/", "published_at": "2026-02-01T17:46:52+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13295437f30", "title": "Writing the DOM with fs", "url": "https://jakeworth.com/tils/writing-the-dom-with-fs/", "published_at": "2026-01-30T16:12:52+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b1329578d9cd", "title": "Git Porcelain and Plumbing ๐Ÿšฝ", "url": "https://jakeworth.com/tils/git-porcelain-and-plumbing/", "published_at": "2026-01-26T21:53:11+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b13295d41e3d", "title": "Building with MCP, for Real", "url": "https://jakeworth.com/posts/building-with-mcp-for-real/", "published_at": "2026-01-23T14:23:29+00:00" }, { "id": "01a0878a-0c7f-720e-9db7-b132966aa21e", "title": "Learning to Program in 2026", "url": "https://jakeworth.com/posts/learning-to-program-in-2026/", "published_at": "2026-01-16T17:00:19+00:00" } ] posts Claim your blog
Back to Jake Worth
Blog ยท corpus.blog/blogs/jakeworth.com/posts

Jake Worth

jakeworth.com

2026