An article about reverse-engineering an IoT cloud service. This is part one of a two-part series, covering intercepting network traffic between a cloud service, and a client app running in a virtual machine.
Introducing hrefs, a handy Python library that makes it easy to manage hyperlinks in Starlette/FastAPI applications, or with other web API frameworks using pydantic models.
An article about some micro-optimization tricks that can be used to squeeze some more juice from a simulation program written in C++.
I’m now a full-stack developer by job description, but how deep is a stack a single developer can be expected to handle?
Context managers are the preferred way to write readable and robust Python code that doesn’t leak resources. contextlib makes writing and using context managers a breeze. Check out some examples for productive use.
Revisiting an earlier example, this post shows how to implement a simple non-blocking echo server using the low level Linux APIs. It also introduces how to use techniques like object oriented design and coroutines in the C language.
The title says it all. A guide to building C++ applications with CMake and containerizing them.
Signal handling is notoriously hard to do correctly. Handling asynchronous events is a subtle business, and the POSIX signal API is complex. In this post, I’ll implement a simple server application that handles signals as correctly as possible. With Linux flavor.
A general wisdom is that overloading logical operators in C++ should be done with extreme caution, if at all. This blog post introduces boost::tribool: A rare example where logical operator overloading makes sense. Which is exactly why one must be cautious when using it.
The C++20 standard is finished and brings lots of long awaited features to a C++ programmer's toolbox. In this post I introduce some of my favorite features, including concepts, ranges, coroutines and the new additions to compile time computation.