Serving HTML from a Docker container: Nginx vs pure Alpine

If you were asked to package HTML (and other static assets) in a Docker container, how would you achieve it? Sure, you can spin up a Node.js or Python application and create a web server that serves the required assets, but that would be a roundabout method of solving a simple problem. Of course, Nginx is a viable option, but which will you choose? $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 53a18edff809 7 weeks ago 192MB nginx stable-alpine-slim 95ebc828d689 7 weeks ago 11.8MB ...

March 29, 2025 · 5 min

The Ultimate Guide to Freeswitch

Freeswitch is an amazing piece of technology that allows you to build voice applications that plug into the public switch telephone network (PSTN). You generally want to install Freeswitch from source in a Debian box (Debian 12 as of the time of writing). This is because the Freeswitch team develops primarily for Debian. Once installed, you typically would need extra modules, but this is after you’ve gotten the hang of things. But to install new modules, you first install their dependencies, then you add the module name to the modules.conf file in the /usr/src/freeswitchdirectory. If already there, you can simply edit the comment from your desired module. The next step is to rebuild freeswitch and install. You typically would run./configure, then makeand finallymake install`. This ensures the new modules are configured and built properly. ...

January 22, 2025 · 1 min

2024 Year in Review

I did awesome shit this year! For starters, I wrote this in Vim. Heck, a year ago, I was afraid of using this editor. I only used it when I didn’t have a choice. I was a Nano advocate. But now, Vim all the way. This year like many other years didn’t have skip days. Wouldn’t it be cool if some days were just skipped? Like the whole of the raining season? I hate the rains, fuck! ...

December 31, 2024 · 1 min

Three Things about Robots

A robot needs to know how to: Localize itself Plan its paths Control itself Robots are built to do three kinds of jobs: Dirty Dangerous Dull Robots generally rely on three technologies: Sensors - for perceiving their environment Actuators - for locomotion and movement Algorithms - to guide their decision making Robots may face these three challenges: Efficiently managing energy - energy efficiency Adapting to new environments - environment adaptability Interacting with humans and other living organisms - human interaction Three general types of robots: ...

December 30, 2024 · 1 min

Faster PyTorch Model Inference Using ONNX Runtime

Training machine learning models is one thing, using them is another. When models are trained for real-time inference, you need a runtime that can deliver results with milliseconds accuracy. If you trained your model on a PyTorch pre-trained model, your inference time will not be optimal if you simply use the torch state dictionary during inference. Converting your Pytorch model into a faster runtime like ONNX is a faster alternative. In this blog post, you will learn how to convert a Pytorch state-dictionary model into ONNX format for faster inference. ...

December 28, 2024 · 3 min

How to add an IP address to an Azure VM's interface

When running virtual machines in Azure, you sometimes need to add additional IP addresses to your VM’s network interface. While Azure typically manages IP assignments through its network interface configuration, there are situations where you might need to configure IP addresses directly on the VM level. Introduction Azure VMs come with a primary IP address assigned through DHCP. This IP is managed by Azure and configured automatically when your VM boots up. However, there are scenarios where you might need to add secondary IP addresses: ...

December 20, 2024 · 3 min

Setting Up Elasticsearch and Kibana

Okay so you want a faster and better way to go through your huge user and customer data and thought to use Elasticsearch on your Linux machine. You configured it all right and it works, but you then realize that some things are not quite right and would be happy if you could debug queries, so you thought to install Kibana. Unfortunately, you’ve forgotten the admin credentials you created for elasticsearch and not quite sure how to achieve the whole set up, so you ended up here. Worry not, for this blog post will guide you on the right way to install + configure elasticsearch and kibana on a Linux machine, specifically, Ubuntu (22.04). ...

December 6, 2024 · 1 min

Cool Linux Tools You Cant Do Without

There are several tools on Linux that just feel heavenly. Like God bless the developers that coded them. Some of these tools like top and htop handle monitoring, while others like ncdu and df tell you about your disk usage. Find below a list of these tools and how you can make use of them. ncdu ncdu falls under the disk usage category. It is an external tool so it doesn’t come with the basic linux binaries. It gives a visual output of the files present in your directories with the ability to go deeper into the tree using your arrow keys. The snippet below shows it indexing a basic node.js setup. Node.js is notorious for having large node_modules directories and this example lives up to that name. ...

November 29, 2024 · 3 min

Chess Openings

This is the Alekhine’s Defense Reset Previous Next

November 11, 2024 · 1 min

Setting Up Esp32 Wroom32

The ESP32 is a versatile chip that comes packaged with the standard GPIOs, a WiFi, and a Bluetooth module. It’s like Arduino but with communication superpowers. It intwgrates right into the Arduino ecosystem, allowing you to use your existing Arduino IDE. This post goes over the set up of this board and how you can run a webhook ping program using it’s on-board Wifi. Purchasing the Board You can purchase the board from a maker store like Adafruit or from Amazon. There are typically two forms of the board available in the market: ...

October 28, 2024 · 3 min