RSSAmplifier

Blog

Jakub Stasiak's Website

stasiak.atRSS feed ↗18 posts

Latest posts

Accessing Scaleway logs with LogCLI

This post was originally published on Lune Engineering Blog . Lune kindly allowed me to republish it here. Scaleway ‘s standard way of viewing logs seems to be via Scaleway-hosted Grafana . For example when you go to a container’s overview and switch to the Logs tab you’ll see a …

Stub-only Python package naming

What are stubs in Python? From Distributing type information : Stub files, also called type stubs, provide type information for untyped Python packages and modules. I found myself considering publishing a couple of stub-only Python packages to PyPI for some Python code that doesn’t currently provide any type information on …

AWS OpenSearch access adventures

This post was originally published on Lune Engineering Blog on 2025-11-18. Lune graciously allowed me to republish it here. I had to set up an OpenSearch (née Elasticsearch) cluster on AWS recently and I was not entertained to find out there were actually two distinct access failure modes. Say as …

Prewarming restored RDS instance

This post was originally published on Lune Engineering Blog . Lune graciously allowed me to republish it here. Say you just restored an RDS instance from a snapshot, the instance is up, your applications use the new DB and you’re ready to call it a day. Not so fast. Isn …

My usual strace options

strace is a useful diagnostic tool that I reach for from time to time when Things Go Wrong. As the Wikipedia page describes it: It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state …

Testing feed readers with feed-reader-testbed

I found myself contemplating the idea of implementing an Atom/ RSS feed reader because I have a pretty specific itch I’d like to scratch and you know how if you want something done right obviously you need to do it yourself . Now, there is a little bit of nuance …

Python Dependency Groups

While modernizing the ifaddr CI setup (it’s funny how many things you forget when you stop touching a piece of software for a year) I dicovered a relatively new feature of the Python packaging ecosystem called Dependency Groups. PEP 735 – Dependency Groups in pyproject.toml introduced this mechanism while …

Unable to mount root fs? Don’t panic

If you’re like me you hate it when a server doesn’t come back up after a reboot. The last time this happened to me, a couple of days ago, I was luckily in the physical vincinity of the machine in question so I was able to just walk …

Perfect is the friend of never

I read this article recently: “VSCode’s SSH Agent Is Bananas” by Thomas Ptacek . The author says in a Hacker News comment : I have been for like a month now noodling on a long-form post about a piece of software we’ve been noodling with for 3-4 years now. Kurt …

Sea is not land or: More TypeScript type safety fun

This text was originally published on Lune Engineering Blog on 2022-06-30. Lune , where I help fighting the climate crisis, kindly allowed me to republish it here. Let there be sea Once upon a time I wrote some code to calculate sea distances between two sets of arbitrary geographic coordinates (Lune …

Optimizing rendering of Ansible templates with Vault secrets the Unix way

This post was originally published on Lune Engineering Blog . Lune , where I help fighting the climate crisis, kindly allowed me to republish it here. On being fast Speed matters. Not in the sufficient condition sort of way (being fast won’t automatically make something good) but in a necessary condition …

I used Rust as a non-obvious data exploration tool and it was great

This post was originally published on Lune Engineering Blog . Lune , where I help fighting the climate crisis, kindly allowed me to republish it here. How it began I was presented with a task recently: ingest a spreadsheet coming from a potential customer and make some carbon emission estimations based on …

Type safety, units and how (not) to crash the Mars Climate Orbiter

This text was originally published on Lune Engineering Blog . Lune , where I help fighting the climate crisis, kindly allowed me to republish it here. Introduction In this post I’ll show how to handle units in a TypeScript codebase in a type-safe manner. About that space probe On September 23 …

A semi-paranoid multi-LAN WireGuard VPN

Introduction I’d had two LAN -s I’d wanted to connect using a VPN and recently a time came to make this happen (partially forced by the fact that I’d also wanted to set up a robust backup solution, more about this in a blog post soon). Now …

Writing screenplays like a programmer or: How I reinvented the wheel again

I hate using WYSIWYG text processors with a passion. So, now that we have that out of the way: I’d become interested in filmmaking some time ago and I wanted to write some screenplays. I wrote one in LibreOffice Writer but I failed to be able to format it …

What’s next for Python dependency injection and Injector?

Some stuff out of the way Disclaimer: I’m a maintainer of Injector , so I’m naturally gonna be biased. Keep that in mind. If you don’t know what dependency injection or Injector are: dependency injection is (to a degree) a fancy way of saying “don’t use global …

The 519 forgotten pixels

You’ve probably never played Polanie ( AKA Osadnici, VICTORY or Slavs), a niche Polish real-time strategy game released in 1996. But even if you have, I bet you haven’t noticed this one tiny little detail. I know I haven’t – and I played the game a lot when I …

Updating SDL2 audio callback data in Rust

Introduction The Rust programming language has a somewhat-deserved reputation for sometimes getting in your face and preventing you from doing whatever you’re doing. This is more often than not related to the fact, that the Rust compiler works really hard to prevent data races from happening, at compile time …