Articles

Python lazy loading and namespace packages

Recently I have bumped into a really weird issue, where in one project whilst trying to use a package pkg (I’ll use this name to avoid using a real project name) and write tests using the foo backend, that lived in a different package called pkg_foo. It was not working as intended when testing using the bazel build system and this post is about the path to root-causing the issue and arriving at the right conclusions.

TLDR: The source code with tests is in the github.com/aignas/anikevicius.lt/.

Debugging sway and i3status-rs

Recently I have been toying around with the sway compositor on Wayland in order to have a more lightweight setup with better support for keyboard-only interaction. However, because I have not used Arch Linux on my desktop for some time, I am re-learning a few things as I go as well.

bazel repo: Starting a monorepo

I love monorepos and it was not the case prevously but I do think that monorepos shine in scenarios where:

  • The code is tightly coupled together.
  • One needs to ensure that resources on dev-tooling are efficiently spent.
  • Migrations can be completed atomically.

Bazel is a really good build system, which allows reproducible and reasonably fast builds and the build system is configured with starlark, which can be used to write custom build rules, which allow to do linting or ensure consistency in packaging, etc.

Unattended updates in Debian

Good places to visit in Vilnius if you like food and culture

Makefile: adding prerequisites to external targets

Consider that you have a situation where you have a build system using make heavily. And you want to hook into one of the targets such that before the target is built, make builds the prerequisite you are interested in.

git-prompt-rs: Type driven development in Rust

This post is from a series of posts about writing a small application in Rust to display information about a particular git repository.

In this part I try to explore the problem by relying on the Rust’s compiler and the sum types.

git-prompt-rs: Generating test data for UI tuning

This post is from a series of posts about writing a small application in Rust to display information about a particular git repository.

I have finished at the MVP stage (part 1) of the prompt after adding the logging (part 2) so in this post I summarize the rest of features:

  • git branch status
  • git local status

git-prompt-rs: diagnostics and logging

This post is from a series of posts about writing a small application in Rust to display information about a particular git repository.

Yesterday I finished with a reasonably good starting point and I thought that I would not talk about diagnostics, but after finding out how good rust tool-chain is at this, I wanted to share some thoughts.

git-prompt-rs: Writing an MWP

As an attempt to learn Rust and type-driven development using it I am going to show you how to write a small Rust CLI, which gives you status about the current repository. I wanted a small CLI to update my prompt for ion and zsh and I wanted it to be as fast as possible with the possibility to extend in case I want to display more information.