The curious case of denied repository access in Github Actions workflow

Posted on 01 June 2023 in Articles • Tagged with programming, blog, pelican, git, github, actions, ci/cd, access denied • 4 min read

Intro image for the article

While configuring a continuous delivery pipeline for this blog, I encountered unexpected permission denials from GitHub. Was there something wrong with the setup?


Continue reading

Good practices: Software deployment and feature releases

Posted on 03 April 2023 in Articles • Tagged with good practices, software, deployment, release • 2 min read

"Big Bang" software releases are hard on end users and developers. What can we do about it?


Continue reading

Hexagonal architecture and Python - Part III: Persistence, Transactions, Exceptions and The Final Assembly

Posted on 31 December 2022 in Articles • Tagged with architecture, DDD, dependency injection, Django, hexagonal architecture, programming, python • 10 min read

Python logo in a hexagon with Roman III literal

Welcome to the third part of the article series, which cover principles of Hexagonal architecture, Dependency Injection, Domain-Driven Design and applies these all to Python and Django application design.


Continue reading

Hexagonal architecture and Python - Part II: Domain, Application Services, Ports and Adapters

Posted on 18 September 2022 in Articles • Tagged with architecture, DDD, dependency injection, hexagonal architecture, programming, python • 10 min read

Python logo in a hexagon with Roman II literal

Welcome to the second part of the article series, which cover principles of Hexagonal architecture, Dependency Injection, Domain-Driven Design and applies these all to Python and Django application design.


Continue reading

Good practices: Avoiding the use of test inputs in assertions

Posted on 10 November 2021 in Articles • Tagged with good practices, programming, python, testing, unit tests • 2 min read

Figure of eight know / https://freesvg.org/figure-of-eight-knot-vector-illustration / License: Public Domain

It might be very convenient to use the same fixtures in test setup and assertions. This practice though is not as good as it looks like at first glance.


Continue reading

Hexagonal architecture and Python - Part I: Dependency Injection and componential architecture

Posted on 30 October 2021 in Articles • Tagged with architecture, DDD, dependency injection, hexagonal architecture, programming, python • 8 min read

Python logo in a hexagon

Welcome to articles series which cover the principles of Hexagonal architecture, talks of Dependency Injection, and its usage in these to Python and Django application design.


Continue reading

Alarms and dashboards

Posted on 04 June 2021 in Articles • Tagged with rants, alarm, dashboard, DevOps, errors • 2 min read

Ranting about alarms and dashboards


Continue reading

Concrete Settings: a new way to manage configurations in Python projects

Posted on 11 July 2020 in Articles • Tagged with programming, library, python, concrete settings • 5 min read

After two years of developing a hobby project, I am proud to announce Concrete Settings - a new configuration management library for Python projects.

Concrete Settings was born as an effort to improve configuration handling in a huge decade-old Django application with exceedingly bloated settings.py. Remember that settings.py starts …


Continue reading

Is classical music performed too fast?

Posted on 25 April 2018 in Articles • Tagged with music, classical • 2 min read

Harder, Better, Faster, Stronger... wait - that is Daft Punk. Though classical music seems to follow.


Continue reading

Blogging with Pelican

Posted on 25 April 2017 in Articles • Tagged with blogging, pelican, python • 2 min read

Pelican is a perfect blogging platform for programmers and computer geeks. My blog has been powered by Pelican for three years and it has been a pleasant experience. If you are looking forward to start a blog, or just thinking of changing a platform, why not give it a try?


Continue reading