56,966 blogs · [ { "id": "01a08783-5c4d-7314-8408-3ecf2203ea32", "title": "GitHub does not have to be your only forge", "url": "https://hiphish.github.io/blog/2026/05/01/github-does-not-have-to-be-our-only-forge/", "published_at": "2026-05-01T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2229bf8e", "title": "Separation of content and presentation in Tailwind", "url": "https://hiphish.github.io/blog/2026/04/30/separation-of-content-and-presentation-in-tailwind/", "published_at": "2026-04-30T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf22a33009", "title": "Switching to Astro", "url": "https://hiphish.github.io/blog/2026/04/29/switching-to-astro/", "published_at": "2026-04-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf23197252", "title": "Stop Killing Games needs more support", "url": "https://hiphish.github.io/blog/2025/07/22/stop-killing-games/", "published_at": "2025-07-22T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2380913b", "title": "Beware of 'require' at startup in Neovim plugins", "url": "https://hiphish.github.io/blog/2025/03/24/beware-of-implicit-require-in-neovim-plugins/", "published_at": "2025-03-24T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf23dd3100", "title": "Introducing nvim-busted-shims", "url": "https://hiphish.github.io/blog/2024/09/22/introducing-nvim-busted-shims/", "published_at": "2024-09-22T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf247dccd6", "title": "Let's write FizzBuzz in a functional style for no good reason", "url": "https://hiphish.github.io/blog/2024/08/25/lets-write-fizzbuzz-in-functional-style/", "published_at": "2024-08-25T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2502bbf1", "title": "Testing Fennel in busted with Lua", "url": "https://hiphish.github.io/blog/2024/08/15/testing-fennel-with-busted-in-lua/", "published_at": "2024-08-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf25f86830", "title": "Introducing neotest-busted", "url": "https://hiphish.github.io/blog/2024/02/29/introducing-neotest-busted/", "published_at": "2024-02-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf26825e89", "title": "Debugging Lua scripts running in Neovim", "url": "https://hiphish.github.io/blog/2024/02/20/debugging-lua-scripts-running-in-neovim/", "published_at": "2024-02-20T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf26aabce0", "title": "Writing a ring buffer TDD style", "url": "https://hiphish.github.io/blog/2024/02/15/writing-a-ring-buffer-tdd-style/", "published_at": "2024-02-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf26dd0254", "title": "Introducing Yo-Dawg.nvim", "url": "https://hiphish.github.io/blog/2024/02/01/introducing-yo-dawg-nvim/", "published_at": "2024-02-01T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf271658e5", "title": "Testing Neovim plugins with Busted", "url": "https://hiphish.github.io/blog/2024/01/29/testing-neovim-plugins-with-busted/", "published_at": "2024-01-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2763c03c", "title": "Rainbow-delimiters.nvim version 0.3.0 released", "url": "https://hiphish.github.io/blog/2023/12/24/rainbow-delimiters-030-released/", "published_at": "2023-12-24T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2795c87e", "title": "Big change to rainbow-delimiters.nvim", "url": "https://hiphish.github.io/blog/2023/11/12/big-change-to-rainbow-delimiters-nvim/", "published_at": "2023-11-12T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf27b71fd7", "title": "Grayjay is not Open Source", "url": "https://hiphish.github.io/blog/2023/10/18/grayjay-is-not-open-source/", "published_at": "2023-10-18T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf27d48d1c", "title": "Free Software is necessary but not sufficient", "url": "https://hiphish.github.io/blog/2023/09/29/free-software-is-necessary-but-not-sufficient/", "published_at": "2023-09-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf27fbc9ac", "title": "Introducing rainbow-delimiters.nvim", "url": "https://hiphish.github.io/blog/2023/07/13/introducing-rainbow-delimiters-nvim/", "published_at": "2023-07-13T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf28ea18eb", "title": "Free Software is important for non-programmers as well", "url": "https://hiphish.github.io/blog/2023/06/10/free-software-is-important-for-non-progammers-as-well/", "published_at": "2023-06-10T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf28fbacf0", "title": "The game modding scene has a source code problem", "url": "https://hiphish.github.io/blog/2023/05/21/the-game-modding-scene-has-a-source-code-problem/", "published_at": "2023-05-21T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf29c0e16a", "title": "I have a GitHub sponsor page now", "url": "https://hiphish.github.io/blog/2023/04/28/i-have-a-github-sponsor-page-now/", "published_at": "2023-04-28T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2aa767e7", "title": "Resolution patcher for Anno 1503", "url": "https://hiphish.github.io/blog/2023/04/05/resolution-patcher-for-anno-1503/", "published_at": "2023-04-05T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2b0b40d4", "title": "Introducing nvim-ts-rainbow2", "url": "https://hiphish.github.io/blog/2023/03/02/introducing-nvim-ts-rainbow2/", "published_at": "2023-03-02T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2b3b87ef", "title": "How I switch colours in Alacritty", "url": "https://hiphish.github.io/blog/2023/02/26/how-i-switch-colours-in-alacritty/", "published_at": "2023-02-26T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2c215662", "title": "Using GitHub without workflow lock-in", "url": "https://hiphish.github.io/blog/2022/12/31/using-github-without-workflow-lockin/", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2c7199e0", "title": "A file system abstraction for HSSG", "url": "https://hiphish.github.io/blog/2022/12/30/a-filesystem-abstraction-for-hssg/", "published_at": "2022-12-30T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2d184919", "title": "What even is user-friendly?", "url": "https://hiphish.github.io/blog/2022/11/29/what-even-is-user-friendly/", "published_at": "2022-11-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2e0a90ce", "title": "Introducing nvim-cmp-vlime", "url": "https://hiphish.github.io/blog/2022/11/22/introducing-nvim-cmp-vlime/", "published_at": "2022-11-22T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2ecc3eac", "title": "cl-cmark approaching stable release", "url": "https://hiphish.github.io/blog/2022/10/16/cl-cmark-approaching-stable/", "published_at": "2022-10-16T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2f577377", "title": "A new static site generator", "url": "https://hiphish.github.io/blog/2022/10/02/a-new-static-site-generator/", "published_at": "2022-10-02T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf2fdf53ba", "title": "Playing Sid Meier's Civilization III in Wine in 2022", "url": "https://hiphish.github.io/blog/2022/06/25/playing-civ3-in-wine-in-2022/", "published_at": "2022-06-25T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf305b3520", "title": "Introducing cl-cmark", "url": "https://hiphish.github.io/blog/2022/06/15/introducing-cl-cmark/", "published_at": "2022-06-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3075680b", "title": "Fake web backend with mitmproxy", "url": "https://hiphish.github.io/blog/2022/06/12/fake-web-backend-with-mitmproxy/", "published_at": "2022-06-12T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf31721bb7", "title": "The problem with contributing to Open Source", "url": "https://hiphish.github.io/blog/2022/04/07/the-problem-with-contributing-to-open-source/", "published_at": "2022-04-07T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf321f1402", "title": "Securing Quicklisp through mitmproxy", "url": "https://hiphish.github.io/blog/2022/03/19/securing-quicklisp-through-mitmproxy/", "published_at": "2022-03-19T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf324be05d", "title": "Neovim plugin settings with Lua metatables", "url": "https://hiphish.github.io/blog/2022/03/15/lua-metatables-for-neovim-plugin-settings/", "published_at": "2022-03-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf327ad0ce", "title": "Subservience to the algorithm", "url": "https://hiphish.github.io/blog/2022/01/08/subservience-to-the-algorithm/", "published_at": "2022-01-08T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3304bce7", "title": "Managing Vim plugins without a plugin manager", "url": "https://hiphish.github.io/blog/2021/12/05/managing-vim-plugins-without-plugin-manager/", "published_at": "2021-12-05T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf33b2a8ae", "title": "Getting Unity Hub 3 working on GNU/Linux", "url": "https://hiphish.github.io/blog/2021/10/11/getting-unity-hub-3-working-on-gnu-linux/", "published_at": "2021-10-11T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf340a66d2", "title": "Generating Unity3D project files on GNU/Linux", "url": "https://hiphish.github.io/blog/2021/07/11/generating-unity3d-project-files-on-linux/", "published_at": "2021-07-11T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf34be14fe", "title": "Running MongoDB from Guix", "url": "https://hiphish.github.io/blog/2021/02/28/running-mongodb-from-guix/", "published_at": "2021-02-28T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf35b49381", "title": "A pipe operator for Lua", "url": "https://hiphish.github.io/blog/2021/02/15/pipe-operator-for-lua/", "published_at": "2021-02-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf35f6460f", "title": "Spreading tables in Lua", "url": "https://hiphish.github.io/blog/2020/12/31/spreading-tables-in-lua/", "published_at": "2020-12-31T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf36a86710", "title": "Making LuaRocks (partially) compliant with the XDG Base Directory specification", "url": "https://hiphish.github.io/blog/2020/12/29/making-luarocks-xdg-compliant/", "published_at": "2020-12-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3714e338", "title": "Making SBCL compliant with the XDG Base Directory specification", "url": "https://hiphish.github.io/blog/2020/12/28/making-sbcl-xdg-compliant/", "published_at": "2020-12-28T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3736aa77", "title": "Making Bash compliant with the XDG Base Directory specification", "url": "https://hiphish.github.io/blog/2020/12/27/making-bash-xdg-compliant/", "published_at": "2020-12-27T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf37f0b799", "title": "A Guix daemon for runit", "url": "https://hiphish.github.io/blog/2020/11/20/guix-daemon-for-runit/", "published_at": "2020-11-20T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf38697562", "title": "My computer broke down", "url": "https://hiphish.github.io/blog/2020/11/15/my-computer-broke-down/", "published_at": "2020-11-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf38a7fc6c", "title": "A web page template DSL for my website", "url": "https://hiphish.github.io/blog/2020/10/02/page-template-dsl-for-my-website/", "published_at": "2020-10-02T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3943a88a", "title": "A page DSL for my website", "url": "https://hiphish.github.io/blog/2020/09/28/page-dsl-for-my-website/", "published_at": "2020-09-28T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf39e3f7c3", "title": "Dotfiles were a mistake", "url": "https://hiphish.github.io/blog/2020/08/30/dotfiles-were-a-mistake/", "published_at": "2020-08-30T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3a3e8470", "title": "The best language to learn programming", "url": "https://hiphish.github.io/blog/2020/08/02/the-best-language-to-learn-programming/", "published_at": "2020-08-02T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3a62f4d8", "title": "Macho, the man command on steroids", "url": "https://hiphish.github.io/blog/2020/05/31/macho-man-command-on-steroids/", "published_at": "2020-05-31T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3afa919d", "title": "How I manage SSH connections", "url": "https://hiphish.github.io/blog/2020/05/23/how-i-manage-ssh-connections/", "published_at": "2020-05-23T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3b86b47c", "title": "De-Bootsrapping the workshop, part 2", "url": "https://hiphish.github.io/blog/2020/02/29/de-bootsrapping-the-workshop-part-2/", "published_at": "2020-02-29T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3b8cd77c", "title": "Project-local Vim settings the right way", "url": "https://hiphish.github.io/blog/2020/02/08/project-local-vim-settings-the-right-way/", "published_at": "2020-02-08T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3baa468c", "title": "Learn Vim Script in Y minutes", "url": "https://hiphish.github.io/blog/2020/02/01/learn-vimscript-in-y-minutes/", "published_at": "2020-02-01T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3bb2750a", "title": "Switching themes automatically in lightline.vim", "url": "https://hiphish.github.io/blog/2019/09/21/switching-automatically-themes-in-lightline/", "published_at": "2019-09-21T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3ca91feb", "title": "What is a programmable programming language?", "url": "https://hiphish.github.io/blog/2019/06/22/what-is-a-programmable-programming-language/", "published_at": "2019-06-22T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3d6f026d", "title": "Understanding 2D rotation matrices", "url": "https://hiphish.github.io/blog/2019/06/20/understanding-rotation-matrices/", "published_at": "2019-06-20T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3e58d243", "title": "Introducing Guile.vim", "url": "https://hiphish.github.io/blog/2019/06/17/introducing-guile-vim/", "published_at": "2019-06-17T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3ec9ab40", "title": "Mirroring a GitLab repository", "url": "https://hiphish.github.io/blog/2019/06/11/mirroring-a-gitlab-repository/", "published_at": "2019-06-11T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf3fa15a9f", "title": "Introducing Awk-ward.nvim", "url": "https://hiphish.github.io/blog/2019/06/07/introducing-awk-ward-nvim/", "published_at": "2019-06-07T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf4096eb7d", "title": "Singleton objects in Guile Scheme", "url": "https://hiphish.github.io/blog/2019/05/24/singleton-objects-in-guile-scheme/", "published_at": "2019-05-24T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf41303953", "title": "Writing NCM2 sources", "url": "https://hiphish.github.io/blog/2019/05/10/writing-ncm2-sources/", "published_at": "2019-05-10T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf41d862f7", "title": "Introducing ncm2-vlime", "url": "https://hiphish.github.io/blog/2019/03/24/introducing-ncm2-vlime/", "published_at": "2019-03-24T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf420eb38f", "title": "Implementing MsgPack.rkt, part 3", "url": "https://hiphish.github.io/blog/2019/02/15/implementing-msgpackrkt-pt3/", "published_at": "2019-02-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf4226693f", "title": "Implementing MsgPack.rkt, part 2", "url": "https://hiphish.github.io/blog/2019/02/13/implementing-msgpackrkt-pt2/", "published_at": "2019-02-13T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf42aafdd1", "title": "Implementing MsgPack.rkt, part 1", "url": "https://hiphish.github.io/blog/2019/02/11/implementing-msgpackrkt-pt1/", "published_at": "2019-02-11T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf43872170", "title": "De-Bootsrapping the workshop, part 1", "url": "https://hiphish.github.io/blog/2019/02/04/de-bootstrapping-part-1/", "published_at": "2019-02-04T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf4414a081", "title": "A pure HTML & CSS menubar", "url": "https://hiphish.github.io/blog/2019/01/28/pure-html-css-menubar/", "published_at": "2019-01-28T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf441cbd8f", "title": "Neovim channel for GNU Guix", "url": "https://hiphish.github.io/blog/2019/01/21/neovim-guix-channel/", "published_at": "2019-01-21T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf442a24e2", "title": "Introducing Quicklisp.nvim", "url": "https://hiphish.github.io/blog/2019/01/17/quicklispnvim/", "published_at": "2019-01-17T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf444828ba", "title": "A new static site generator", "url": "https://hiphish.github.io/blog/2019/01/15/a-new-ssg/", "published_at": "2019-01-15T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf44baa8cb", "title": "Goodbye macOS, hello GNU/Linux", "url": "https://hiphish.github.io/blog/2018/12/01/gnu-linux/", "published_at": "2018-12-01T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf44cd78ba", "title": "A purely functional fixed timestep loop", "url": "https://hiphish.github.io/blog/2017/07/16/functional-fixed-timestep-loop/", "published_at": "2017-07-16T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf44e23d4b", "title": "Creating a mock REPL on Unix", "url": "https://hiphish.github.io/blog/2017/05/13/mock-repl-unix/", "published_at": "2017-05-13T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf455828f7", "title": "Introducing REPL.nvim", "url": "https://hiphish.github.io/blog/2017/05/06/introducing-repl-nvim/", "published_at": "2017-05-06T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf4598b16d", "title": "Outlining of HTML pages is fundamentally broken", "url": "https://hiphish.github.io/blog/2017/04/25/html-outline-fundamentally-broken/", "published_at": "2017-04-25T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf45e87b0a", "title": "Introducing info.vim", "url": "https://hiphish.github.io/blog/2016/11/20/introducing-infovim/", "published_at": "2016-11-20T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf466eb52a", "title": "Rewriting the Workshop", "url": "https://hiphish.github.io/blog/2016/09/27/rewriting-the-workshop/", "published_at": "2016-09-27T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf4760169a", "title": "Introducing IPS-Tools", "url": "https://hiphish.github.io/blog/2016/07/06/intro-ips-tools/", "published_at": "2016-07-06T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf4827c4d9", "title": "Highlighting `NSImageView` the right way", "url": "https://hiphish.github.io/blog/2016/06/25/highlighting-nsimageview/", "published_at": "2016-06-25T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf485db9af", "title": "Introducing NTFS-Clone", "url": "https://hiphish.github.io/blog/2016/05/31/intro-ntfs-clone/", "published_at": "2016-05-31T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf48e80cf3", "title": "Neovim has tab-local working directories now", "url": "https://hiphish.github.io/blog/2016/04/22/neovim-tcd/", "published_at": "2016-04-22T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf49750e6e", "title": "Feeds are live now", "url": "https://hiphish.github.io/blog/2015/11/14/feeds-live-now/", "published_at": "2015-11-14T00:00:00+00:00" }, { "id": "01a08783-5c4d-7314-8408-3ecf49f42a9e", "title": "We are live!", "url": "https://hiphish.github.io/blog/2015/11/11/we-are-live/", "published_at": "2015-11-11T00:00:00+00:00" } ] posts Claim your blog
Back to hiphish.github.io
Blog · corpus.blog/blogs/hiphish.github.io/posts

hiphish.github.io

hiphish.github.io

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015