• HiPhish
  • Grid Framework
    • Overview
    • Features
    • Examples
    • Gallery
    • Showcase
    • FAQ
    • News
    • Support

    • Buy Now 35$
  • Open Source
    • NTFS-Clone
    • IPS-Tools
    • roll
    • Newton's Method in C
    • Xeen Tools
    • Wolf3D Extract
    • Game Source Documentation
  • Vim/Nvim plugins
    • Info.vim
    • REPL.nvim
    • Quicklisp.nvim
    • jinja.vim
    • Guix channel
  • Blog
  • About
  1. blog
  2. tags
  • awk (1)
    • Introducing Awk-ward.nvim
  • cocoa (1)
    • Highlighting `NSImageView` the right way
  • css (1)
    • Separation of content and presentation in Tailwind
  • elixir (1)
    • A pipe operator for Lua
  • functional programming (1)
    • Let's write FizzBuzz in a functional style for no good reason
  • games (4)
    • Stop Killing Games needs more support
    • The game modding scene has a source code problem
    • Resolution patcher for Anno 1503
    • Playing Sid Meier's Civilization III in Wine in 2022
  • git (2)
    • GitHub does not have to be your only forge
    • Using GitHub without workflow lock-in
  • guix (2)
    • Running MongoDB from Guix
    • A Guix daemon for runit
  • html (11)
    • Switching to Astro
    • A file system abstraction for HSSG
    • A new static site generator
    • A web page template DSL for my website
    • A page DSL for my website
    • De-Bootsrapping the workshop, part 2
    • De-Bootsrapping the workshop, part 1
    • A pure HTML & CSS menubar
    • Outlining of HTML pages is fundamentally broken
    • Rewriting the Workshop
    • We are live!
  • info (1)
    • Introducing info.vim
  • javascript (1)
    • Switching to Astro
  • linux (5)
    • How I switch colours in Alacritty
    • Getting Unity Hub 3 working on GNU/Linux
    • Generating Unity3D project files on GNU/Linux
    • Running MongoDB from Guix
    • A Guix daemon for runit
  • lisp (21)
    • Testing Fennel in busted with Lua
    • A file system abstraction for HSSG
    • Introducing nvim-cmp-vlime
    • cl-cmark approaching stable release
    • A new static site generator
    • Introducing cl-cmark
    • Securing Quicklisp through mitmproxy
    • Making SBCL compliant with the XDG Base Directory specification
    • A web page template DSL for my website
    • A page DSL for my website
    • What is a programmable programming language?
    • Introducing Guile.vim
    • Singleton objects in Guile Scheme
    • Introducing ncm2-vlime
    • Implementing MsgPack.rkt, part 3
    • Implementing MsgPack.rkt, part 2
    • Implementing MsgPack.rkt, part 1
    • Neovim channel for GNU Guix
    • Introducing Quicklisp.nvim
    • A new static site generator
    • A purely functional fixed timestep loop
  • lua (9)
    • Beware of 'require' at startup in Neovim plugins
    • Introducing nvim-busted-shims
    • Testing Fennel in busted with Lua
    • Debugging Lua scripts running in Neovim
    • Introducing Yo-Dawg.nvim
    • Testing Neovim plugins with Busted
    • A pipe operator for Lua
    • Spreading tables in Lua
    • Making LuaRocks (partially) compliant with the XDG Base Directory specification
  • markdown (2)
    • cl-cmark approaching stable release
    • Introducing cl-cmark
  • math (1)
    • Understanding 2D rotation matrices
  • msgpack (3)
    • Implementing MsgPack.rkt, part 3
    • Implementing MsgPack.rkt, part 2
    • Implementing MsgPack.rkt, part 1
  • neovim (4)
    • Beware of 'require' at startup in Neovim plugins
    • Introducing Yo-Dawg.nvim
    • Testing Neovim plugins with Busted
    • Neovim plugin settings with Lua metatables
  • network (2)
    • Fake web backend with mitmproxy
    • Securing Quicklisp through mitmproxy
  • python (2)
    • Let's write FizzBuzz in a functional style for no good reason
    • Writing a ring buffer TDD style
  • rant (15)
    • Stop Killing Games needs more support
    • Grayjay is not Open Source
    • Free Software is necessary but not sufficient
    • Free Software is important for non-programmers as well
    • The game modding scene has a source code problem
    • Using GitHub without workflow lock-in
    • What even is user-friendly?
    • The problem with contributing to Open Source
    • Subservience to the algorithm
    • Getting Unity Hub 3 working on GNU/Linux
    • Generating Unity3D project files on GNU/Linux
    • My computer broke down
    • De-Bootsrapping the workshop, part 2
    • Project-local Vim settings the right way
    • Outlining of HTML pages is fundamentally broken
  • terminal (1)
    • How I switch colours in Alacritty
  • testing (3)
    • Introducing nvim-busted-shims
    • Testing Fennel in busted with Lua
    • Introducing neotest-busted
  • unity3d (1)
    • Free Software is necessary but not sufficient
  • unix (8)
    • Making LuaRocks (partially) compliant with the XDG Base Directory specification
    • Making SBCL compliant with the XDG Base Directory specification
    • Making Bash compliant with the XDG Base Directory specification
    • My computer broke down
    • Dotfiles were a mistake
    • The best language to learn programming
    • Macho, the man command on steroids
    • How I manage SSH connections
  • vim (21)
    • Introducing nvim-busted-shims
    • Introducing neotest-busted
    • Debugging Lua scripts running in Neovim
    • Rainbow-delimiters.nvim version 0.3.0 released
    • Big change to rainbow-delimiters.nvim
    • Introducing rainbow-delimiters.nvim
    • Introducing nvim-ts-rainbow2
    • Introducing nvim-cmp-vlime
    • Managing Vim plugins without a plugin manager
    • Project-local Vim settings the right way
    • Learn Vim Script in Y minutes
    • Switching themes automatically in lightline.vim
    • Introducing Guile.vim
    • Introducing Awk-ward.nvim
    • Writing NCM2 sources
    • Introducing ncm2-vlime
    • Neovim channel for GNU Guix
    • Introducing Quicklisp.nvim
    • Introducing REPL.nvim
    • Introducing info.vim
    • Neovim has tab-local working directories now
  • web (6)
    • Separation of content and presentation in Tailwind
    • Switching to Astro
    • A file system abstraction for HSSG
    • A new static site generator
    • Fake web backend with mitmproxy
    • Securing Quicklisp through mitmproxy
  • wine (1)
    • Playing Sid Meier's Civilization III in Wine in 2022
Subscribe: RSS

Archive

  • 2026 (3)
  • 2025 (2)
  • 2024 (8)
  • 2023 (11)
  • 2022 (13)
  • 2021 (5)
  • 2020 (15)
  • 2019 (17)
  • 2018 (1)
  • 2017 (4)
  • 2016 (6)
  • 2015 (2)

Categories

  • organisation (15)
  • vim (24)
  • open-source (25)
  • misc (12)

Tags

  • html (11)
  • vim (21)
  • cocoa (1)
  • info (1)
  • rant (15)
  • lisp (21)
  • msgpack (3)
  • awk (1)
  • math (1)
  • unix (8)
  • guix (2)
  • linux (5)
  • lua (9)
  • elixir (1)
  • neovim (4)
  • web (6)
  • network (2)
  • markdown (2)
  • wine (1)
  • games (4)
  • git (2)
  • terminal (1)
  • unity3d (1)
  • python (2)
  • testing (3)
  • functional programming (1)
  • javascript (1)
  • css (1)

© 2015-2026, licensed under CC BA-SA 4.0

GitHubGitLab