• 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
  • Playing Sid Meier's Civilization III in Wine in 2022

    Published: 2022-06-25

    A few days ago I wanted to re-install Sid Meier’s Civilization III on my machine and play it again. This blog post is a summary of the tricks I had to use to make it work it work well; I am writing it down for posterity, maybe someone else will find it useful. That someone might even be future me.

    Continue reading…

  • Introducing cl-cmark

    Published: 2022-06-15

    For the past few weeks I have been working on a little side project, a library of Common Lisp bindings to cmark, the CommonMark reference implementation: cl-cmark (GitHub mirror). CommonMark is a dialect of Markdown which aims to remove any ambiguity, clean up the language specification and provide a common dialect of Markdown for other projects to use. The cmark library is the reference implementation for parsing CommonMark. It is written in C, so creating bindings for other language is fairly simple.

    Continue reading…

  • Fake web backend with mitmproxy

    Published: 2022-06-12

    A web application typically consists of three layers: the frontend, the backend, and some sort of database system for persistence. While developing the frontend we often need to send messages to the backend, receive some response and process that response. Faking backends in automated tests is a solved problem, but sometime we don’t want to write tests, we want to wildly experiment with various inputs as we are trying out the frontend by hand. We want to intercept messages and look into what is being transmitted. In this post I will demonstrate a simple fake backend using the mitmproxy application.

    Continue reading…

  • The problem with contributing to Open Source

    Published: 2022-04-07

    I love Free (Libre) and Open Source Software (FLOSS); not only does the software respect your personal freedom, you can also contribute back to make it better. It becomes a communal cooperative effort. But just because you can contribute, that doesn’t mean that you necessarily should.

    Continue reading…

  • Securing Quicklisp through mitmproxy

    Published: 2022-03-19

    Quicklisp is a popular systems manager for Common Lisp, it allows users to download, install, update and uninstall Common Lisp systems (what other language call packages, but that term already means something else in Common Lisp). However, Quicklisp has one glaring security issue: it downloads everything through HTTP. This means every time you use Quicklisp to download a system you open yourself up for a man-in-the-middle (MITM) attack. We can use a local proxy server to route all traffic to Quicklisp through HTTPS, and in this blog post I will illustrate how to achieve this using mitmproxy.

    Continue reading…

  • Neovim plugin settings with Lua metatables

    Published: 2022-03-15

    A lot of new Neovim plugins come with a setup function which lets you specify the settings of the plugin. Users are expected to call that function with a table as arguments which contains the user’s personal settings to override the defaults. This works, but Lua is all about tables, so let’s look at an alternative.

    Continue reading…

  • Subservience to the algorithm

    Published: 2022-01-08

    Over the last couple of years I have been noticing two trends among internet videos, especially on YouTube: videos that could easily be three to four minutes long are stretched to over ten minutes in length, and thumbnails where people are making stupid faces. This comes from YouTube’s recommendation algorithm favouring thumbnails with people’s faces, and videos needing to be at least ten minutes long to be eligible for advertising revenue. At least those used to be the rules back then, they might have changed since, but the videos still follow the same pattern.

    Continue reading…

  • Managing Vim plugins without a plugin manager

    Published: 2021-12-05

    Recently I have switched my Neovim setup to using the new native Vim package system directly instead of relying on a plugin manager. I had to use Git submodules for another project anyway, so I figured I could combine them with Vim packages and see how that might work out. It is actually working pretty well, to the point where I don’t think that I will be returning to plugin managers for the foreseeable future.

    Continue reading…

  • Getting Unity Hub 3 working on GNU/Linux

    Published: 2021-10-11

    Recently I had the misfortune of a data loss, so I had to re-instally my OS again. But even worse: I also had to re-install Unity on GNU/Linux, which has been an exercise in frustration and trial & error. In this post I will outline what I had to do, in the hope that it will be of use to other people.

    Continue reading…

  • Generating Unity3D project files on GNU/Linux

    Published: 2021-07-11

    When I develop Grid Framework I need Unity3D to generate project files for Omnisharp to pick up in order to provide me with tooling like auto-completion, linting and refactoring support. Normally doing so requires me to have VSCode installed, but there is a simple way to trick Unity into generating those files anyway.

    Continue reading…

  • « First
  • ‹ Previous
  • 4 of 9
  • Next ›
  • Last »
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