Affordable alternative to the Midjourney V5

A couple of months ago, I started experimenting with Midjourney V5, and was truly amazed by its capabilities. However, the monthly subscription cost of $30 hindered my enthusiasm to fully explore its potential. So I stopped my subscription after a month.

Distributing Rust binaries through NPM

A few months ago, I made the decision to rewrite supdock once again, this time using Rust. However, I needed to find a solution that wouldn't force users to change how they installed the package if they were accustomed to using npm for updates.


Genmoji is a tool that you can use to generate gitmoji commit messages from a code snippet or git diff. Alternatively I also created commit-message which is a simplified version not abiding to the gitmoji standard.

Alternative ChatGPT UI

Ever since ChatGPT released I have been trying to incorporate it in my daily work routine to the best of my capabilities. While gpt-3.5-turbo is a terrific model, it often lacks complex coding insight which the gpt-4 model does have.

Generating PR descriptions with AI

propr is a command-line tool that uses AI to generate GitHub pull request descriptions automatically.


My interpretation of a comfortable to look at theme to use with Hyper. It automatically switches based on the active macOS color scheme.

Combining Supervisor and nginx-proxy (docker) to remotely monitor Glances

I wrote a post a while back about nginx-proxy and how I was using it to resolve local DNS records. Today I decided I wanted to be able to monitor my server remotely using glances running over Supervisor and utilizing glances' internal webserver. Since this wasn't running in a container I needed a somewhat creative way to add it.

Ubuntu and snap installed Docker on reboot

I have been experiencing an odd docker issue lately that I've been tearing hair out trying to troubleshoot. For some odd reason every time I restarted my server the containers would be running, but not running at the same time. Wait this might sound weird, I promise it makes sense.

Bcache - DIY Hybrid Disks

Most Linux users that employ Solid State Drives (SSDs) build their systems with the smaller SSDs holding the operating system and the larger, slower, much cheaper HDD drives holding their data. When you’re trying to create the fastest system possible, though, you want to get that data drive up to the speeds of your far-faster SSD. Problem is, very large SSDs can be cost-prohibitive. So, what can you do? With the help of bcache, you can use a smaller SSD as a caching drive for the larger, slower HDD. With this set up, you have the best of both worlds.


If you're somewhat active on Twitter and following quite a few developers you might have noticed a bunch of people tweeting their code wrapped in a nice terminal window. I thought to myself, why are we displaying code in such a nice presentable way on a format like Twitter but keep using default code blocks on our blogs.

Reverse proxy for local dns resolving

I have a bunch of services running in my home network. The more services I add, the more trouble I have remembering the ports for everything. Running a reverse proxy was something that has been on my planning for a while now but never found the urge to implement it. Thinking it would take way too long to set up. That was until last week when I learned about jwilder/nginx-proxy...

Mimicking Pi-hole's ad blocking

I have been running Pi-hole in my home network for quite a while now but often had issues combining it with other services running in the network. So I decided to run an incredibly basic version of it myself. Under the hood the basics of Pi-hole are a dnsmasq server which caches all of your dns records and a bunch of dnsmasq address= configurations that resolve to nothing.

Hackintosh / Windows dual boot time sync issue

The simple explanation is; Windows uses Greenwhich time, and OSX uses Universal Time. It's as simple as that. Every time the other OS boots up - it changes around your BIOS settings in-order to 'correct' the CPU clock timer - which is essential for any computer to calculate things correctly.

Backblaze B2 and S3 compatible API

Backblaze started as an affordable cloud backup service, but over the last few years, the company has also taken its storage expertise and launched the developer-centric B2 Cloud Storage service, which promises to be significantly cheaper than similar offerings from the large cloud vendors. Pricing for B2 starts at $0.005 per GB/month. AWS S3 starts at $0.023 per GB/month.

Backing up using Backblaze B2 and Restic

Backblaze is a pioneer in robust, scalable low cost cloud backup and storage services. Their B2 service is similar to Amazon's S3 where you have a bucket where you just throw stuff into and pay for the bandwidth and storage used.

Lattepanda Alpha Hackintosh

About 7 to 8 months ago I was researching x86 single board computers and which one to use as a server at home. I eventually settled with the Odroid H2 over the Lattepanda Alpha back then because of the big price difference. Well... that was back then. Meet the new chick on the block.

Converting videos to GIF's

During development I find myself capturing videos of bugs and issues on a regular basis. Sharing .mov files around is okayish when it's within an environment like Slack but obviously this doesn't work when commenting on Github issues or somewhere else. So I figured I needed an easy and reusable way of converting these videos to gifs with ease.

Programming on an iPad

I recently purchased a brand new iPad Pro for more ease of use daily internet browsing and media entertainment. Even though I knew in advance that it wouldn't be able to fully replace my Macbook Pro as a remote working station, I still felt like I had to try to get the max out of it.

Recently I started a couple of new projects which have led me to using zeit/now a lot. It basically takes away hosting and provides you with a serverless deployment system with an incredibly easy setup.

How to fix the Docker and UFW security flaw

If you use Docker on Linux, chances are your system firewall might be relegated to Uncomplicated Firewall (UFW). If that's the case, you may not know this, but the combination of Docker and UFW poses a bit of a security issue. Why? Because Docker actually bypasses UFW and directly alters iptables, such that a container can bind to a port. This means all those UFW rules you have set won't apply to Docker containers.