Pre-commit is a great tool written in Python that can be used to manage and maintain pre-commit hooks in Git projects. The traditional way to set it up is to install it globally or locally to the project Python virtual environment with pip. Here I'm going to share how to use pre-commit without installing it at all.
I like to organize my blog around Obsidian which is a Markdown-based note taking application with emphasis on internal linking and note discovery. I want to manage my blog posts as tasks, so I've implemented a custom Kanban-like workflow with Obsidian. In this post I will share my setup, and the alternatives that I've looked at.
Services like Roam Research or Notion have made note taking really trendy recently. The problem with hosted services is that you don't own the platform and the content there, so what do you do if they go out of service or increase their prices?
I've been investigating different methods of personal note management, and I've come to the conclusion that I want to keep my notes as plaintext Markdown files for the best future compatibility. One of the tools that I've been trying out is Obsidian. At some point I will probably write a comparison of the different software I've been trying out, but this post is actually about getting into the flow state of writing.
File backups can be difficult to do properly. I postponed setting up a backup solution for so long but now that I have a local file server all ready and set up I finally took the time and figured it out. After all I don't want to lose all my precious images to a hard drive failure.
Having to use multiple accounts with Git can be cumbersome from time to time. You need to make sure that your name and email match the account you want to use for each repository and you may need to type different credentials depending on the repo. In this post I'll show how to make your multi-account work with Git a pleasant experience.
When you think of GNU Make what is the first thing that pops up to your mind? Perhaps you remember building C or C++ programs from source and automatically associate it with languages where you need to build the code before being able to run anything.
However, Make can be a really powerful tool for your other projects too. In this article I'll show you some examples on how to utilize Make for Python development. I'll be using the Flask web framework for demonstration purposes but these principles can be really adapted to any other project.
If you are slow typist it can take a lot of time to write blog posts. With the advances in voice recognition technologies it is now easier than ever to write content fast.
In this blog post I will show you how you can write blog posts using the integrated voice recognition on Windows 10.
Personally, I'm using the Hugo static site generator to publish this blog which means that I use Visual Studio Code for writing content as Markdown files. However, most of these points should apply to creating any text form content so if your blog runs on WordPress read ahead.
As I am a touch typist and not a native English speaker for me it is actually easier to type than to speak to the computer. However, I think that after some practice I will be able to write faster using speech recognition. The biggest problem seems to be the need to think ahead what I'm going to say next.
Most of this blog post has been written with Windows dictation. Naturally, adding Hugo shortcodes (and fixing my pronounciation errors) still requires the use of a keyboard.
GitHub is an essential part of development for many software projects and it has a pretty good user experience on the website. However, sometimes you just want to do things from the command line. This is where the
hub utility program comes in handy.
GitHub Hub is a small helper tool that lets you manage many of the GitHub features, such as opening pull requests, creating repositories, etc., straight from the command line. In this post I will show you most of the key features, and I've added some command aliases that should make your experience with
hub even better.