• 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. categories
  3. misc
  • Highlighting `NSImageView` the right way

    Published: 2016-06-25

    Recently I have been working on a small Cocoa app and one of the things I needed to do was highlight an NSImageView when the user is hovering above it while dragging a file. You would think that it’s a very simple task, and you would be right, but judging by some of the things on the internet it looks like an unsolved problem.

    Continue reading…

  • Creating a mock REPL on Unix

    Published: 2017-05-13

    During the development of REPL.nvim I had to be able to test the plugin without relying on any particular REPL present on the development system. The solution was to create a mock REPL, a shell script which acts like a really dumb REPL. Here is the code:

    Continue reading…

  • What is a programmable programming language?

    Published: 2019-06-22

    When I was still researching this fabled obscure language called Lisp one thing people kept saying about it is that “Lisp is a programmable programming language”, but I could never figure out what they meant by that. It sounds like a smug buzzword or like a gimmick from an academic toy language. Lisp programmers have gotten so used to metaprogramming in Lisp that they seem to forget that it is either an entirely alien concept to people, or something people have been burned by too often (like every C programmer).

    Continue reading…

  • Running MongoDB from Guix

    Published: 2021-02-28

    I have been watching a tutorial on GraphQL recently (YouTube link) where the lecturer uses MongoDB for persistent storage. He instructs viewers to sign up for a service that hosts a database, but I wanted to run a local instance on my machine instead. MongoDB is not available in the Void repos, but fortunately it is available in the Guix repos. However, running the Mongo deamon requires a little tweak first.

    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…

  • 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…

  • 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…

  • What even is user-friendly?

    Published: 2022-11-29

    The term “user-friendly” gets thrown around often, but what does it even mean to be “user-friendly”? Clearly we can say that something is more user-friendly the fewer defects it has. But beyond that? Is a GUI application more user-friendly than a text-based application? Is a lower learning curve more user-friendly than a steep learning curve? Is a product which has many features built-in more user friendly than a barebones product or an extensible product?

    Continue reading…

  • The game modding scene has a source code problem

    Published: 2023-05-21

    Sometimes I like to play video games. Sometimes these games have issues, or they can be improved upon. Sometimes these issues are so severe that the game is virtually (or even literally) unplayable. Fortunately some really smart people have done a fantastic job reverse-engineering parts of these games, their file formats, or found workarounds for engine limitations. Unfortunately too often that knowledge never gets written down and just keeps rotting in someone’s head.

    Continue reading…

  • Writing a ring buffer TDD style

    Published: 2024-02-15

    Let’s write a ring buffer in Python! OK, that’s not particularly exciting. Let’s use test-drivent development, that should make things a bit more interesting. In this blog post I will go over the individual steps and my train of thought, because TDD requires a certain discipline and mindset. Why a ring buffer? A ring buffer is not quite trivial to implement because it has a couple of edge cases, but at the same time it is not hard to implement either. This is a post to follow along at home, so grab your text editor and let’s get going.

    Continue reading…

  • « First
  • ‹ Previous
  • 1 of 2
  • 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