41554 blogs · [ { "id": "01a08762-2e08-732c-9b9f-f4d65d211470", "title": "Speeding Up Self-Hosted Forgejo CI", "url": "https://codybrunner.com/articles/2026/speeding-up-self-hosted-forgejo-ci/", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65d58cc61", "title": "Writing A Tree Walking Evaluator", "url": "https://codybrunner.com/articles/2026/writing-a-tree-walking-evaluator/", "published_at": "2026-08-04T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65d6e6027", "title": "Hey Old Man", "url": "https://codybrunner.com/articles/2026/hey-old-man/", "published_at": "2026-08-02T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65da9cbbb", "title": "Writing a Pratt Parser", "url": "https://codybrunner.com/articles/2026/writing-a-pratt-parser/", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65dd03a3f", "title": "Writing a Lexer", "url": "https://codybrunner.com/articles/2026/writing-a-lexer/", "published_at": "2026-07-13T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65de695db", "title": "Five Books to Build One Toy Language", "url": "https://codybrunner.com/articles/2026/five-books-to-build-one-toy-language/", "published_at": "2026-07-06T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65edfb199", "title": "Turns Out Being A Gringo Is A Marketable Skill", "url": "https://codybrunner.com/articles/2026/turns-out-being-a-gringo-is-a-marketable-skill/", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65f12c5d3", "title": "Life with Max", "url": "https://codybrunner.com/articles/2026/life-with-max/", "published_at": "2026-06-15T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65fbfca62", "title": "My Tech Stack in the Age of AI", "url": "https://codybrunner.com/articles/2026/my-tech-stack-in-the-age-of-ai/", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d65fe1f803", "title": "Adding a Forgejo Activity Feed to the Website", "url": "https://codybrunner.com/articles/2026/adding-a-forgejo-activity-feed-to-the-website/", "published_at": "2026-06-01T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d660b4172b", "title": "From GitHub to Forgejo", "url": "https://codybrunner.com/articles/2026/from-github-to-forgejo/", "published_at": "2026-05-26T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d660d2e768", "title": "Starting Over", "url": "https://codybrunner.com/articles/2026/starting-over/", "published_at": "2026-05-18T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d661af7166", "title": "Certificate Issues Between Fly & Turso", "url": "https://codybrunner.com/articles/2024/certificate-issues-between-fly-and-turso/", "published_at": "2024-03-18T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d6626af8b1", "title": "Tommie", "url": "https://codybrunner.com/articles/2024/tommie/", "published_at": "2024-03-11T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d662812032", "title": "Writing a HTTP Server with Go", "url": "https://codybrunner.com/articles/2024/writing-a-http-server-with-go/", "published_at": "2024-03-11T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d66322ea17", "title": "The City of the Seven Color Sea", "url": "https://codybrunner.com/articles/2024/the-city-of-the-seven-color-sea/", "published_at": "2024-03-04T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d663288f6a", "title": "Adding Related Articles with Astro Content Collections", "url": "https://codybrunner.com/articles/2024/adding-related-articles-with-astro-content-collections/", "published_at": "2024-02-19T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d6640e8083", "title": "Deploying Astro to Fly: Part 2", "url": "https://codybrunner.com/articles/2024/deploying-astro-to-fly-ssr-deployments/", "published_at": "2024-02-12T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d66506204e", "title": "Deploying Astro to Fly: Part 1", "url": "https://codybrunner.com/articles/2024/deploying-astro-to-fly-static-deployments/", "published_at": "2024-02-05T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d665595e25", "title": "Working with Makefiles", "url": "https://codybrunner.com/articles/2024/working-with-makefiles/", "published_at": "2024-01-29T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d665ee3475", "title": "Going to the Gopher Side", "url": "https://codybrunner.com/articles/2024/going-to-the-gopher-side/", "published_at": "2024-01-22T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d66687ad78", "title": "From NextJS to Astro", "url": "https://codybrunner.com/articles/2024/from-nextjs-to-astro/", "published_at": "2024-01-15T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d667367fc3", "title": "Climbing the Mountain", "url": "https://codybrunner.com/articles/2024/climbing-the-mountain/", "published_at": "2024-01-08T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d6680e8893", "title": "Deploying a Qwik City application to Cloudflare Pages from GitHub Actions", "url": "https://codybrunner.com/articles/2023/deploying-a-qwik-city-app-to-cloudflare-pages-from-github-actions/", "published_at": "2023-06-26T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d668c8fbb2", "title": "Breaking Up With Bitwarden", "url": "https://codybrunner.com/articles/2023/breaking-up-with-bitwarden/", "published_at": "2023-06-25T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d669be2a31", "title": "Ectogram: Testing Ecto", "url": "https://codybrunner.com/articles/2022/ectogram-testing-ecto/", "published_at": "2022-01-24T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d66a64522a", "title": "Ectogram: Generating The Users Table", "url": "https://codybrunner.com/articles/2022/ectogram-generating-the-users-table/", "published_at": "2022-01-18T00:00:00+00:00" }, { "id": "01a08762-2e08-732c-9b9f-f4d66a87288a", "title": "Ectogram: Setting Up Ecto", "url": "https://codybrunner.com/articles/2022/ectogram-setting-up-ecto/", "published_at": "2022-01-17T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a23bca5eb", "title": "Ectogram: Introduction", "url": "https://codybrunner.com/articles/2022/ectogram-introduction/", "published_at": "2022-01-16T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a241f80bf", "title": "A Far Too In-Depth Guide To SSH For Web Developers", "url": "https://codybrunner.com/articles/2022/a-far-too-in-depth-guide-to-ssh-for-web-developers/", "published_at": "2022-01-13T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a242b6476", "title": "Happy New Years", "url": "https://codybrunner.com/articles/2022/happy-new-years/", "published_at": "2022-01-01T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a246dc268", "title": "Python Scripting In iTerm2", "url": "https://codybrunner.com/articles/2021/python-scripting-in-iterm2/", "published_at": "2021-08-28T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2520910e", "title": "Creating Animated Social Icons With TailwindCSS", "url": "https://codybrunner.com/articles/2021/creating-animated-social-icons-with-tailwindcss/", "published_at": "2021-06-09T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a25adf0f1", "title": "Migrating From Yarn To Pnpm", "url": "https://codybrunner.com/articles/2021/migrating-from-yarn-to-pnpm/", "published_at": "2021-06-08T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a26092cf1", "title": "Renting As An Expat In Colombia", "url": "https://codybrunner.com/articles/2021/renting-as-an-expat-in-colombia/", "published_at": "2021-03-18T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2643c381", "title": "How To Kill Processes On MacOS", "url": "https://codybrunner.com/articles/2021/how-to-kill-processes-on-macos/", "published_at": "2021-01-04T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a270d6e30", "title": "Looking At 2021 With 2020 Vision", "url": "https://codybrunner.com/articles/2021/looking-at-2021-with-2020-vision/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a275cba00", "title": "Building A React Project From Scratch With TypeScript", "url": "https://codybrunner.com/articles/2019/building-a-react-project-from-scratch-with-typescript/", "published_at": "2019-02-19T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2793a705", "title": "Through The Storm", "url": "https://codybrunner.com/articles/2018/through-the-storm/", "published_at": "2018-09-07T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2860fb2e", "title": "Building A Stopwatch With JavaScript", "url": "https://codybrunner.com/articles/2018/building-a-stopwatch-with-javascript/", "published_at": "2018-08-01T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a288b2895", "title": "Recursion & Memoization In Python", "url": "https://codybrunner.com/articles/2018/recursion-memoization-in-python/", "published_at": "2018-07-13T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a28b8817d", "title": "Writing A Connect Four Game Reader In Python", "url": "https://codybrunner.com/articles/2018/writing-a-connect-four-game-reader-in-python/", "published_at": "2018-06-29T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a292aba87", "title": "Building A Black Jack Advice Generator With Python", "url": "https://codybrunner.com/articles/2018/building-a-black-jack-advice-generator-with-python/", "published_at": "2018-06-28T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a294e6d7f", "title": "Getting Started With Python3", "url": "https://codybrunner.com/articles/2018/getting-started-with-python3/", "published_at": "2018-06-20T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a29a3e9d7", "title": "Into The Great Unknown", "url": "https://codybrunner.com/articles/2018/into-the-great-unknown/", "published_at": "2018-05-24T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2a68ec1b", "title": "Turn the page", "url": "https://codybrunner.com/articles/2018/turn-the-page/", "published_at": "2018-02-20T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2a96c8ef", "title": "How to build a Telegram Bot with NodeJS", "url": "https://codybrunner.com/articles/2018/how-to-build-a-telegram-bot-with-nodejs/", "published_at": "2018-02-11T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2b59b415", "title": "Happy New Years!", "url": "https://codybrunner.com/articles/2018/happy-new-years/", "published_at": "2018-02-05T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2b7ee771", "title": "Up & Running With iTerm & Zsh", "url": "https://codybrunner.com/articles/2017/up-and-running-with-iterm-and-zsh/", "published_at": "2017-12-19T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2c07efbc", "title": "Rewriting My Site With Hugo", "url": "https://codybrunner.com/articles/2017/rewriting-my-site-with-hugo/", "published_at": "2017-12-18T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2cbabfac", "title": "Automating With CircleCi", "url": "https://codybrunner.com/articles/2017/automating-with-circleci/", "published_at": "2017-10-05T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2d32797f", "title": "What I Learned Re-learning GraphQL", "url": "https://codybrunner.com/articles/2017/what-i-learned-re-learning-graphql/", "published_at": "2017-07-25T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2dff3912", "title": "One Year Of Web Development", "url": "https://codybrunner.com/articles/2017/one-year/", "published_at": "2017-07-11T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2edfd3ab", "title": "Deploying With Now", "url": "https://codybrunner.com/articles/2017/deploying-with-now/", "published_at": "2017-06-02T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2f9ae80b", "title": "Higher Order Components", "url": "https://codybrunner.com/articles/2017/higher-order-components/", "published_at": "2017-05-24T00:00:00+00:00" }, { "id": "01a08762-2e09-7180-9365-527a2fd800ba", "title": "Hello World", "url": "https://codybrunner.com/articles/2017/hello-world/", "published_at": "2017-05-23T00:00:00+00:00" } ] posts Claim your blog
Back to codybrunner.com
Blog · corpus.blog/blogs/codybrunner.com/posts

codybrunner.com

codybrunner.com

2026

2024

2023

2022

2021

2019

2018

2017