Posts by Michal Bultrowicz

Directory of Bultrowiczes

Is your last name Bultrowicz? Do you have your own website or a page on some site? Do you do anything interesting and want to share?

Read more ...


Make and entr for code validation during editing

For a while now, I’ve been wondering how to combine entr (which automatically runs commands on file changes) with the way I setup project validation (both for CI/CD and for local developer usage) with Makefiles. The best thing I got so far is the validate_continously target in my Makefile.

Read more ...


Simple encrypted Linux folders with TAR and GPG

What’s the simplest way of encrypting a folder in Linux? Combining tar with gpg, it seems.

Read more ...


Enforcing Python imports’ order with isort, Makefiles, and Vim

I finally integrated isort into my toolbox. I think that the job of changing code files belongs to the editor (or an IDE), so I made Vim run isort automatically, while the import order enforcement in a project is done via Makefile (which can be run the same way by developers and the CI/CD pipeline).

Read more ...


Setting up and syncing config on two laptops

I’ve created a script that should [1] set up a fresh Manjaro with all the software and configuration that I want in a workstation. It can also update the setup on being rerun. Now I have two laptops that behave and look the same [2], and it’s easy for me to maintain that state. Oh I wanted that for a long time :)

Read more ...


Manjaro tutorial - moving an install and encrypting it

I’ve put a tweaked version of my previous post (Moving a Linux installation to a new drive and encrypting it) up on Manjaro forums as a tutorial. You can check it out here.

Read more ...


Moving a Linux installation to a new drive and encrypting it

I needed to change out the drive in my light laptop for a bigger one. Of course I didn’t want the hassle of OS reinstallation [1], so I decided to move my Manjaro installation from the drive to the other. My install was, regrettably, unencrypted [2] - I wanted to fix that during the move.

Read more ...


Some shell functions for working with Python virtualenvs

Finally doing some scripting today. I noticed that there are some python-virtualenv-related commands I run often (in my tmux-based “IDE”), so I automated them away to shave off some keystrokes.

Read more ...


Say it with style in CLI

So I glued some awesome software together into a shell one-liner and now I can make my announcements with a rainbow tortoise on the CLI :)

Read more ...


Universal app reload with entr

A useful feature many web frameworks have is auto-reload. Your app is running in the background, you change the code, and the app is restarted with those changes, so you can try them out immediately. What if you wanted that behavior for everything that you’re writing? And without any coding to implement it over and over in every little project?

Read more ...


A simple self-modifying function in Python

Replacing its own definition is a fun/horrifying thing that a Python function can do:

Read more ...


My talk about TDD of microservices

This year at EuroPython (and not only there), I gave a talk about Test Driven Development of Python microservices. I guess you can check it out, if you’re into that kind of stuff. It’s also available in Polish.

Read more ...


Continuous delivery of a Python library with AngularJS commit convention

I got tired of having to manually build and upload my library (Mountepy) to PyPI, so I decided to do what any sane programmer would do - set up automation [1]. But how would my scripts know whether they need to just update the README on PyPI and when to assemble and push a new version of the library? Thanks to the AngularJS commit convention! Oh, and Snap CI will run the whole thing. Why Snap, you ask? See my previous article - Choosing a CI service for your open-source project.

Read more ...


Choosing a CI service for your open-source project

I host my code on GitHub, as probably many or you do [1]. The easiest way to have it automatically tested in a clean environment (what everyone should do) is, of course, to use one of the hosted CI services integrated with GitHub.

Read more ...


Hi there!

Yay! It’s yet another blog about Python, software development in general, technology and other related stuff!

Read more ...