Custom Nunjucks tag
Custom Nunjucks tag to highlight code with Highlight.js
Pi 4 on/off button
Turning the Pi on and off is a bit of a hassle. So let's add a push button to turn it off and on.
Marker detection pipeline
Using the IR light source and IR filters we now have a clear separation of signal and noise from our camera. Now we can get to the task of detecting marker positions.
IR pass filters
To get a good signal it is easiest to get rid of most if not all visible light. We'll look at IR pass filters that make our IR LED ring light stand out more from the background.
Modifying security camera IR LED ring
Identifying a marker in an image is done by having it reflect infrared light back to the camera. For this to work, a IR light source should be close to the camera. The most common solution is to put…
Picamera realtime high fps processing
A key element to good motion capture is a high capture rate. We'll look at how we can capture high frame rates while having CPU power remaining for further processing.
Raspberry Pi NoIR camera marker tracking
There is a variant of the Raspberry Pi camera without an infrared (IR) filter. This allows imagery in low light situation and can capture images outside of the human vision. We'll take a detailed…
Python asyncio pipeline setup
Python asyncio can be quite tricky to work with. We'll look at constructing a very basic pipeline to help with those IO heavy jobs.
pg_restore version mismatch "PROCESSING TOC" error
Recently I ran into an error when restoring a Postgres database dump which was hard to pin down. The cause was a version mismatch between the pg_dump command and pg_restore command.
Nunjucks async filter optional arguments
If you want a thumbnail generating filter in Nunjucks you'll probably run into some problems. We'll run through an async filter example. The filter will handle optional arguments and we'll look at…
Custom component highlight bookmarklet
A good way to get a feel for a web application is to first figure out the component hierarchy. To aid in understanding the component structure we will create a simple bookmarklet that highlights…
Convert old site to static site
Having to maintain old servers serving old sites is horrible. You don’t want to take down the old site that is still drawing a few visitors but you also don’t want to cough up the server costs and…
MicroPython for your cat (WiPy food dispenser)
To my knowledge there are two ways to feed a cat:
WiPy getting started
Recently I created a cat food dispenser using the Python programmable board, the WiPy. While working on that I noticed that the device requires quite some initial setup to get started. We will go…
For your users to have a degree over styling and semantic power you need some form of rich text. In certain parts of our project site we allow user Markdown input. Up till now that input was parsed…
URL fragments Django
If you are a Django web developer you surely have found the need to use the sites domain name or absolute URL in a template. Django has a lot of functions and META keywords to do just that, but the…
Static social share buttons
Sick of the bloated social media buttons? Well, you should. They are a real performance hit! Simple share links add iframes, perform additional request, trigger redraws and more.