• 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
  • Introducing Guile.vim

    Published: 2019-06-17

    Vim has good support for Scheme, but the problem with Scheme is that every implementation adds its own features to the language. My guile.vim plugin aims to improve support for GNU Guile by augmenting these settings. It can attempt to detect when a Scheme file is Guile-specific and it adds syntax highlighting for Guile-specific forms.

    Continue reading…

  • Mirroring a GitLab repository

    Published: 2019-06-11

    I use GitLab to host my various projects, but it is always a good idea to be able to have an automatic mirror set up. It adds redundancy in case something goes wrong with GitLab, and having a mirror on a popular site like GitHub allows people to file issues without signing up for a less popular service. I am writing this down for myself so I don’t have to figure out how to set up a mirror every time anew. This was written for GitLab version 12.0.0.

    Continue reading…

  • Introducing Awk-ward.nvim

    Published: 2019-06-07

    In order to make writing Awk scripts easier I have written a new Neovim plugin: Awk-ward.nvim (GitHub mirror). This plugins allows you to edit an Awk script or its input, and see the output live as you are making changes.

    Continue reading…

  • Singleton objects in Guile Scheme

    Published: 2019-05-24

    When I wrote guile-messagepack I needed an object to represent the nil value, which embodies the concept of “nothingness” or “no value” in MessagePack. None of the existing objects like #f or '() were adequate, so I decided to make a new one: nothing. It does not make sense for there to be multiple instance of nothing, so it had to be a singleton. In this blog post I will describe a way of creating such a singleton.

    Continue reading…

  • Writing NCM2 sources

    Published: 2019-05-10

    NCM2 is a plugin for Neovim and Vim which provides users with a unified completion menu. By default it displays nothing, users need to add sources for completion. These plugins instruct NCM2 on how to get completion candidates for a particular use-case, such as words in the current buffer, or function names in a programming language. The NCM2 documentation explains how to write the individual pieces of a source, and in this blog post I am going to dive into how to connect those pieces into a working source.

    Continue reading…

  • Introducing ncm2-vlime

    Published: 2019-03-24

    I have written a Common Lisp completion source for NCM2, built upon Vlime. It provides asynchronous Common Lisp completion and should work in both Vim and Neovim, depending on how well NCM2 and Vlime themselves work.

    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…

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

  • De-Bootsrapping the workshop, part 1

    Published: 2019-02-04

    The first major step in phasing out the bloat that is Bootstrap from my website is done. None of the layout depends on any Bootstrap classes and markup. Instead, the layout is built from scratch using the new Flexbox and Grid features.

    Continue reading…

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