• 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. open-source
  • Introducing NTFS-Clone

    Published: 2016-05-31

    This is a very useful project I had written quite a while ago at work and recently found collecting dust on my hard drive. It lets you create perfect 1:1 copies of NTFS hard drives on Unix. The problem with every software I had come across was that it would copy the data, but that wasn’t enough, so we had to run Windows repair on every single drive.

    Continue reading…

  • Introducing IPS-Tools

    Published: 2016-07-06

    I found myself needing a program to apply binary patches in the IPS file format and I was really disappointed that there are no proper Unix programs for that purpose available. So I set out to make my own, but instead of just applying patches it would be a complete suite of tools to handle all IPS-related tasks.

    Continue reading…

  • Implementing MsgPack.rkt, part 1

    Published: 2019-02-11

    When I originally set out to write MsgPack.rkt, a Racket implementation of the MessagePack protocol, I had a hard time wrapping my mind around where to begin. I had no experience in writing a serialisation library, and reading the source code of existing implementations only revealed the what, but not the why. This is why I’m starting this short mini-series of blog posts to provide a commentary on my implementation. I hope that it will serve other people who are looking for a starting point to their own implementations.

    Continue reading…

  • Implementing MsgPack.rkt, part 2

    Published: 2019-02-13

    In this part of the series I want to go into how to pack data to bytes in MessagePack. We will see how to dynamically dispatch on type and how to pack a selection of particular types.

    Continue reading…

  • Implementing MsgPack.rkt, part 3

    Published: 2019-02-15

    In the previous article we have seen how to pack an object, this time we will see how to unpack it again on the receiving end.

    Continue reading…

  • How I manage SSH connections

    Published: 2020-05-23

    I have a number of machines I need to connect to via the secure shell (SSH), and typing in the IP address or host name by hand every time get tedious very quickly. I could use an application for that, but that’s bloat. Let’s instead see how we can leverage small universal tools to build an elegant solution of our own instead.

    Continue reading…

  • Macho, the man command on steroids

    Published: 2020-05-31

    The Unix man command can open a manual page if you know its name, and the apropos command can search through the manuals if you are looking for a specific word. Let’s put the two to work together into a command I like to call macho: the man command on steroids.

    Continue reading…

  • A Guix daemon for runit

    Published: 2020-11-20

    I use GNU Guix as a secondary package manager on my system. Previously I have been running Kubuntu, which uses systemd as its init system, but I have since switched to Void, which uses runit. Guix comes with services for systemd and Upstart included, but not for runit. Let’s find out how to create a runit service from scratch.

    Continue reading…

  • Making Bash compliant with the XDG Base Directory specification

    Published: 2020-12-27

    GNU Bash does not comply with the XDG Base Directory specification, it uses the classical dotfiles approach where it just dumps all its files into the home directory. It does not even have the courtesy of putting all its files in one common ~/.bash directory. Fortunately we can coerce Bash into compliance with a bit of effort.

    Continue reading…

  • Making SBCL compliant with the XDG Base Directory specification

    Published: 2020-12-28

    The war on dotfiles continues, this time with SBCL. Let’s see how we can make it comply with the XDG Base Directory specification.

    Continue reading…

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