Creating modern C++ API docs using Sphinx on Read-the-Docs

By Nulltek

C++ is a language thats popularity has dwindled over the last decade. With the rise of powerhouse high level languages such as Javascript, Ruby and Python, alongside the advances in modern day compute hardware, it can be difficult to justify using a language like C++. There are a few exceptions such as extremely performant critical…

Rock Pi S 3D CAD and 3D Printed Enclosure

By Nulltek

I’ve had some fun this weekend designing a cheap remote backup server for my parents based on Armbian running on a Rock Pi S (stay tuned). However for such a versatile little SBC, there is a surprising lack of free CAD models in the wild. So, since I needed to design a simple housing for…

Designing Cheap ZoneMinder Network Cameras

By Nulltek

ZoneMinder is an open-source project used for managing and monitoring DIY surveillance systems. While this system is almost 2 decades old, it’s still actively maintained by a fairly large group of contributors. There are plenty IP cameras that can be picked up fairly cheaply, however when it comes to long term network security for these…

Dissecting an Aliexpress Scam

By Nulltek

Its not unusual to be thoroughly underwhelmed by the performance of any electronics acquired via aliexpress. The sellers often take some pretty optimistic liberties when it comes to performance specifications. This “12V 6A” switch mode power supply I purchased was no exception, I was curious, perhaps if I could even get 36W of power out…

Low-cost Hardware System Test using Jenkins in a CI pipeline.

By Nulltek

Continuous integration is a practice common in software development where a server will be used to build and test projects when changes are made. Historically these builds occurred over-night (‘nightly builds’), however with modern infrastructure this is no longer necessary. In current times CI servers build when triggered on VCS push hooks, or pull requests.…

Real-World Performance of Python LRU Caching

By Nulltek

Within the functools standard library, there is a treasure trove of easy-to-implement decorators to improve your functions. One of these decorators is the least-recently-used (LRU) cache. This handy function wrapper will remember the run-state of the latest x number of distinct function calls, this is handy when you have an time-expensive function that is regularly…

Building Specific Python Versions from source on Linux Mint 20

By Nulltek

If you come from a background in windows, and are an avid python developer, you may be used to chopping and changing python base installations. It can be quite jarring transferring to Linux development where python is much more closely integrated with the OS, and you generally don’t want to be using the system python…

Lock-down and adjusting to the ‘home-office’

By Nulltek

There’s no arguing 2020 has been a unusual year. We are living through what may be one of the most pivotal events in the last few generations. While it’s anyone’s guess what the long term impact of this virus will be, many of us will likely be transitioning to work remotely for the foreseeable future.…