Tag:  tools and tricks

All tags

Safer Git Force Push with Lease

When using advanced workflows involving history rewriting features, sometimes a force push becomes necessary. This can become dangerous but git's force-with-lease feature can help.


Setting up a statically-typed Python programming environment with mypy and Poetry

Recent versions of Python allow optional type annotations to be added to the source code. In this short guide I show how the type checker mypy can be integrated into the programming environment using the dependency management utility Poetry to enable gradual static type enforcement of Python programs.


Understanding terminal control keys

Many commands involve the use of the control key which most commonly (in the context of the terminal) is signified using a caret and a capital letter. But if you have used terminal programs for a non-trivial amount of time, then you know that not all control keys are made equal.


Taking Markdown Notes in Vim

Taking notes in a single place can be a very useful tool to organize your ideas and concepts so they don't get forgotten. By writing down your ideas and problem solutions, you'll know where to look when you encounter similar use case. The notes can be best kept up-to-date and organized with a unified digital format. Here I present what a arrangement of tools for Markdown note taking can look like.


How to add Dear Imgui to an SDL2+OpenGL project

During the development of many (visual) applications and tools a simple ad-hoc GUI-library can be very useful to interactively experiment with different settings and inspect values for debugging. The Dear Imgui C++-library fits this niche perfectly.


Manipulating Markdown checkboxes with Regexes in Vim

Regular expressions are a powerful tool for searching (and replacing) text. Here we want to use them to interact with checkboxes when editing Markdown in Vim.


How to setup an SDL2+OpenGL project with CMake

The SDL2 library can be used to create and manage an OpenGL environment, which then can be accessed directly using the OpenGL API. This is a quite comfortable alternative to the "common" ecosystem of add-ons and extension wranglers. But how exactly to setup the build, i.e. what headers to include and what libraries to link to, is quite hard to find out.


Using rsync

The command line tool rsync commonly found in many Linux distributions is a powerful tool for synchronizing files in directories. It is useful for keeping mirrors of directories up-to-date with minimal effort and data-transfer. This includes copies on remote machines and web servers.