Posts by Category

Programming

How to zip and unzip a directory in Go

2 minute read

Hello everyone! 👋 I wanted to write a short article about zipping and unzipping a directory in Golang. The answer is quite simple, you can use the AddFS ...

How to use RocksDB with Go

3 minute read

Hello everyone! 👋 I’ve had to work with RocksDB recently and in order to use it from Golang I had to jump a few hops before getting it to work properly. ...

A Rust library for for BME-680

less than 1 minute read

https://mastodon.social/@nuculabs/113811889816569079 I’ve found a BME680 library written in Rust, but I could not compile it because the author added crates...

Cancellation Token Pattern in Python

2 minute read

Hello! 👋 The Cancellation Token Pattern article is a pattern inspired by C#’s CancellationToken struct and Golang’s context package. The main idea of the p...

Implementing cat with Kotlin Native

4 minute read

Introduction Hello! 👋 In this article we’ll implement the cat command utility which is used in many Unix like systems like Linux and macOS. To implement ...

Learning Kotlin

3 minute read

Introduction Hello everyone! 👋 The year of 2023 has come closely to an end, and I want to write a short article about my experience with Kotlin and what...

Idempotency in Your API

3 minute read

Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...

Windows Task Scheduler - Quick Start

2 minute read

Introduction Hello everyone 👋, This is a quick post about the windows task scheduler, if you’re a Software Developer using Windows the task scheduler is a ...

Project Showcase: Image Tagging

less than 1 minute read

Hello there 👋, This is a showcase of a project I’ve been working on for the past weeks. It’s a simple cross-platform desktop application that allows you to ...

Tracing Node.js APIs with OpenTelemetry

7 minute read

Hello everyone 👋, In this article, we’ll instrument a simple Node.js API with OpenTelemetry traces. OpenTelemetry is the new standard for distributed traci...

Using an ONNX Resnet model in Java

6 minute read

Hello everyone! 👋 This is a follow-up post to the previous one, long story short I started taking the course from fast.ai to learn more about Deep Learning....

Overflowing Buckets

2 minute read

Hello everyone 👋, Today I want to share with you a problem I’ve encountered along my journey. The problem is fairly simple: You have a finite number of...

Getting Started with pdoc3 for Python

3 minute read

Hello everyone! 👋 In this article we’ll talk about documentation and how to document a Python project with pdoc. Documentation is an essential part of wr...

Working with Volumes in Microk8s

2 minute read

Introduction Hello 👋, In this quick tutorial 💻 we’ll explore how to use Volumes and PersistentVolumes with hostpath storage in Microk8s. We will deploy a ...

LeetCode: Boats to Save People

1 minute read

Introduction Hello everyone! 👋 I’ve been practicing with some Leetcode daily challenges lately and since I’ve recently moved to Substack I wanted to make m...

Exploring SIMD instructions in Rust

15 minute read

Hello 👋, I started exploring Rust a week ago due to more and more web services being written in Rust at my work place and so far I like the language, it’s s...

Python Development in Windows with WSL2

less than 1 minute read

Hello, I’ve published a new video on my YouTube channel. It’s a short tutorial on how to develop Python project on Windows by setting the remote interpreter...

Python Singleton Pattern implementation with LRU

less than 1 minute read

Hello and happy new year! 🥳🙌 I’ve made a video on how to implement the singleton pattern in Python using the LRU cache. https://www.youtube.com/watch?v=Wzu...

Using confluent-kafka-go on MacOS M1

1 minute read

Hello, TLDR; brew install librdkafka openssl@3 pkg-config export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig" go test -tags dynamic ./... I...

DeMorgan’s Law

less than 1 minute read

DeMorgan’s law is a simple law that I learned at UPT during one of my hardware classes. While it is useful in hardware it, it is also useful when writing pr...

Object Pool Pattern

4 minute read

Hi 👋 In this article we’ll talk about the Object Pool pattern in Golang. The Object Pool pattern is a design pattern used in situations when constructing o...

Testing Tips: Avoid sleep in tests

3 minute read

Hi 👋, In this article I want to show a testing tip that I’ve recently learned myself by reading Software Engineering at Google: Lessons Learned from Program...

HTTPClients are reusable

less than 1 minute read

Hi 👋, I wanted to write this article to tell you that instantiating a HttpClient class is often a costly operation. If you have a method that does somethin...

Go Pattern: Sorting a slice on multiple keys

1 minute read

Hi 👋 In this article I want to highlight a simple pattern for sorting a slice in Go on multiple keys. Given the following structure, let’s say we want to s...

How I got my PR merged into Apache Flink

1 minute read

Hi 👋 This is a short story on how I got my pull request merged into Apache Flink. It started with the need to set CPU and Memory limits to Flink jobs runni...

Pytest Fixtures and Yield

2 minute read

Hi 👋 In this short article I want to explain the use of the yield keyword in pytest fixtures. What is pytest? Pytest is a complex python framework used fo...

Improving the throughput of a Producer ✈

3 minute read

Hello 👋, In this article I will give you some tips on how to improve the throughput of a message producer. I had to write a Golang based application which ...

AutoFixture in ASP.Net Core 🎥

less than 1 minute read

Hello, 👋 This is my first video blog post in which I try to explain AutoFixture. https://www.youtube.com/watch?v=ec52FWmzQxA Here’s the test case referenc...

Testing Python projects with Tox

2 minute read

Hi 👋 In this article I will show you how to test your Python projects with Tox. Introduction Tox is a tool for automating testing in Python, their vision ...

Tail Recursion

3 minute read

Hello everyone! 👋 Today’s article will be about tail recursion, a technique that allows you to optimize certain recursive functions. Introduction In short...

FastAPI Uvicorn logging in Production

2 minute read

Hello 🙋‍♂️, Running a ⏩FastAPI ⏩ application in production is very easy and fast, but along the way some Uvicorn logs are lost. In this article I will disc...

PMS5003 C# Library

less than 1 minute read

Hello everyone, I just want to let you know that I’ve released a C# library for interfacing with the PMS5003 (Particulate Matter Sensor) via UART. The code...

PMS5003 Particulate Matter Sensor Test Run

1 minute read

Hi In this article we’ll test out the PMS5003 sensor in order to see if it works. I’ve forgot to buy a connector board, so we will do a manual connection to...

LeetCode: Flood Fill

1 minute read

Hello, Here’s my solution for the flood fill problem, found on LeetCode. If you want me to write about certain topics please let me know in the comments, t...

Introduction to Pyenv for Linux Users

3 minute read

Hello, In this article I will introduce you to pyenv, a tool for managing python environments. Installing pyenv is pretty straight forward, you’ll need to ...

LeetCode: Find The Town Judge

1 minute read

Hello In this article I will present you my Python3 solution for the following problem which I found on LeetCode: find-the-town-judge. Note: The solution i...

Nucu Car: Devlog 0x02

2 minute read

Hello, I’m still working on my NucuCar project from time to time, I’m currently at my parents home and I left the raspberry pi at my apartment so I’m only t...

Firebase Rest on Raspberry Pi

1 minute read

I’ve tried to use Google’s Firebase with the Firebase Admin SDK in my C# project. The good news is that the Admin SDK is easy to use and all you need to do i...

Nucu Car: Devlog 0x01

1 minute read

Hello everyone, A while ago I started working on a pet project called NucuCar. It’s a platform written in .NET for the Raspberry Pi in which I’m trying to i...

Simple Dark Theme Switch with Vue.JS

1 minute read

Hello, In this post I’m going to show you how quickly you can add a dark theme switch to your Vue.JS application. We’re going to start with a blank applica...

My experience with .NET IoT (so far)

1 minute read

I haven’t done any embedded development in a while and I was thinking to build myself a remote controlled toy car with video streaming. The project is goin...

Ghidra Scripting: Annotating Linux system calls

7 minute read

I had some fun this weekend messing around with Ghidra. Having such a powerful tool for free is truly a game changer. To start scripting in Ghidra, I downlo...

MAD: Game DevLog #5: Game Over

1 minute read

Image by Steve Buissinne from Pixabay Hello, I don’t think I’d like to invest time and resources in this project anymore, I had fun programming it and lear...

MAD: Game DevLog #2

2 minute read

Hello everyone! Time for devlog number #2! In the last week, we’ve implemented transparent walls and the player animation state machine. Max continued desig...

MAD Game DevLog #1

1 minute read

Hello Everyone! In this devlog I’ll try to keep you updated with the latest state of our game. Since we all have full-time jobs, we’ve been working on this ...

Quick Programming Tip: The Silver Searcher

less than 1 minute read

The Silver Searcher is a code searching tool, it searches your entire code base in a very fast and efficient manner and it supports regex. I often use it whe...

Installing MIASM on macOS

2 minute read

I’ve been reading the MIASM.re blog recently and I wanted to give miasm a try. The scope of this article is to provide guidance on how to build miasm on macO...

Keygenme or Not

2 minute read

Keygenme or Not is a cute reversing challenge I found on root-me.org. It requires an username and an activation key. I particularly enjoyed this challenge an...

Practical Binary Analysis No Starch Press

1 minute read

I started reading this book in november and it took me about two weeks to finish it. You should be a bit comfortable Linux and programming if you plan to gi...

Getting started with PL/SQL

less than 1 minute read

I signed up for the Database Design course at my university, the courses are great but the practical laboratories are not, it’s just a bunch of tiresome SQL ...

My Spring Boot notes

1 minute read

Lately I’ve been busy with university, work and learning something new. I’ve started my programming journey when I was in high school with Python, I didn’t h...

Static websites with Angular, lazy mode.

less than 1 minute read

I had to do a project for a friend and because Hugo is a nice tool yet a bit uncomfortable to use, I decided to use Angular. After finishing the website’s ro...

PicoCTF – An Introduction to CTF’s

1 minute read

PicoCTF is an amazing capture the flag competition targeting middle and high school students. It’s a game that consists in solving various computer security ...

Introduction to GCC’s Extended ASM Format

3 minute read

As I’ve been reading Professional Assembly Language, I’ve come across chapter 13 and I liked it so much that I’m going to write a blog post about it. The boo...

How to use MFRC522 with Arduino

2 minute read

I wanted to explore the magic of RFID and I bought a simple card reader from Banggood which allows me to read and write 13.56MHz cards. The reader comes with...

How to sign git commits with Yubikey

2 minute read

Introduction If you know what a Yubikey is, you may skip this section. Yubikey is quite expensive device that acts as a portable GPG key, it is considered ...

How to get started with FreeRTOS and ESP8266

5 minute read

Cover Photo by Matan Segev from PexelsCover Recently, I purchased a NodeMCU from AliExpress for about $4. The reason I did this was to find out what all the ...

Back to top ↑

Tutorial

How to install HP LaserJet 107a Drivers on Linux

1 minute read

Hello everyone! 👋 I’ve recently installed Fedora on my main PC and I wanted to write this post to serve me as a memo on how to install the HP LaserJet 107 p...

Convert a FastAI model to ONNX and CoreML

2 minute read

Hello there 👋, In this post, I will show you how to convert a FastAI model to ONNX and CoreML. Convert a FastAI model to Pytorch Before we can convert t...

Tracing Node.js APIs with OpenTelemetry

7 minute read

Hello everyone 👋, In this article, we’ll instrument a simple Node.js API with OpenTelemetry traces. OpenTelemetry is the new standard for distributed traci...

Using an ONNX Resnet model in Java

6 minute read

Hello everyone! 👋 This is a follow-up post to the previous one, long story short I started taking the course from fast.ai to learn more about Deep Learning....

Image tagging with Deep Learning

2 minute read

Hello everyone 👋, I’ve been playing with FastAI and deep learning for a week or so and I’ve decided to combine my passion for software with my passion for...

Deploy a FastAI model with FastAPI

2 minute read

Hello everyone 👋, In this quick post I’ll show you how to deploy a FastAI model using FastAPI. It’s a follow-up to my previous post from here and it is par...

FastAI GPU Support

2 minute read

Hello everyone 👋, This is my first blog post about AI, it’s a quick post on how to enable GPU support for the FastAI library. I have avoided getting into A...

Getting Started with pdoc3 for Python

3 minute read

Hello everyone! 👋 In this article we’ll talk about documentation and how to document a Python project with pdoc. Documentation is an essential part of wr...

Working with Volumes in Microk8s

2 minute read

Introduction Hello 👋, In this quick tutorial 💻 we’ll explore how to use Volumes and PersistentVolumes with hostpath storage in Microk8s. We will deploy a ...

LeetCode: Boats to Save People

1 minute read

Introduction Hello everyone! 👋 I’ve been practicing with some Leetcode daily challenges lately and since I’ve recently moved to Substack I wanted to make m...

Separate Audio from Video (with ffmpeg)

less than 1 minute read

Hello 👋 In this short article I will show you how to split audio from video using ffmpeg. When I worked on my Udemy course I needed a way to process audio ...

Exec as root user in Kubernetes

1 minute read

Hi 👋, In this short tutorial I will show you a way of getting a root shell in containers running inside a modern Kubernetes cluster. Prerequisites: Roo...

Object Pool Pattern

4 minute read

Hi 👋 In this article we’ll talk about the Object Pool pattern in Golang. The Object Pool pattern is a design pattern used in situations when constructing o...

Testing Tips: Avoid sleep in tests

3 minute read

Hi 👋, In this article I want to show a testing tip that I’ve recently learned myself by reading Software Engineering at Google: Lessons Learned from Program...

Go Pattern: Sorting a slice on multiple keys

1 minute read

Hi 👋 In this article I want to highlight a simple pattern for sorting a slice in Go on multiple keys. Given the following structure, let’s say we want to s...

How to connect Ethernet devices to WiFi via WDS

1 minute read

Hi 👋, In this blog post I will show you how to connect an Ethernet only device to Wi-Fi using an extra router and the WDS functionality. I initially wanted ...

How to make RØDE audio interface work on Linux

1 minute read

Hi 👋, I have recently updated the firmware of my RODE audio interface from 1.12.x to 1.13, and the device was no longer working properly on Linux, it had tr...

BME680 Home Assistant Integration

3 minute read

Hi 👋, In this short article I will highlight how to use the BME680 Home Assistant integration with a BME680 Sensor. Please note that I’m running Home Assis...

How to document a project with MkDocs 📹

1 minute read

Hello, Welcome my third video tutorial, this time, on how to get started with MkDocs. In this video I try to give you a basic overview of MkDocs and a conf...

Running Linux GUI Applications in Windows

less than 1 minute read

Hi 👋, This is a quick tutorial on how to run Linux graphical interface application in Windows using X Server’s forwarding feature. The first step is to dow...

Improving the throughput of a Producer ✈

3 minute read

Hello 👋, In this article I will give you some tips on how to improve the throughput of a message producer. I had to write a Golang based application which ...

Kubernetes service account for pod

3 minute read

Hi 🙋‍♂️, In this article I will talk about how to authenticate your applications to the Kubernetes API via the service accounts feature. Citing the Kuberne...

FastAPI Uvicorn logging in Production

2 minute read

Hello 🙋‍♂️, Running a ⏩FastAPI ⏩ application in production is very easy and fast, but along the way some Uvicorn logs are lost. In this article I will disc...

Introduction to Pyenv for Linux Users

3 minute read

Hello, In this article I will introduce you to pyenv, a tool for managing python environments. Installing pyenv is pretty straight forward, you’ll need to ...

Back to top ↑

Cloud

Kafka Connect Basics

6 minute read

Hi, this article is about Kafka connect! Introduction Kafka connect is a tool for streaming data between Kafka and other systems. It is distributed and sca...

Self Hosting Forgejo

5 minute read

Hello everyone! I’m writing this article to quickly show you how-to self-host Forgejo, the Git software forge, and how to do common maintenance operations. ...

MongoDB in Action 8.0 (Manning) Book Review

1 minute read

Hello everyone, In this article I will review the following book MongoDB 8.0 in Action, Third Edition. I’m using MongoDB daily at my job and by reading t...

Self Hosting PeerTube on Fedora Server

11 minute read

Hello everyone! 👋 This is my first blog post in 2025, and I’d like to talk about my experience in self-hosting PeerTube in Fedora Server and how to do it...

Idempotency in Your API

3 minute read

Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...

CAP Theorem

2 minute read

The CAP theorem, also known as Brewer’s theorem, is a concept in distributed computing that states that it is impossible for a distributed system to simultan...

Apache Cassandra Compaction

5 minute read

Introduction Apache Cassandra is a highly scalable and distributed NoSQL database that is designed to handle large volumes of data across multiple commodity ...

Working with Volumes in Microk8s

2 minute read

Introduction Hello 👋, In this quick tutorial 💻 we’ll explore how to use Volumes and PersistentVolumes with hostpath storage in Microk8s. We will deploy a ...

Exec as root user in Kubernetes

1 minute read

Hi 👋, In this short tutorial I will show you a way of getting a root shell in containers running inside a modern Kubernetes cluster. Prerequisites: Roo...

Kafka Connect MongoDB Sink Connector

7 minute read

Hello 👋, In this article we’re going to build a data pipeline that connects Kafka to MongoDB. In short, we’re going to add a MongoDB Sink connector to a Ka...

Improving the throughput of a Producer ✈

3 minute read

Hello 👋, In this article I will give you some tips on how to improve the throughput of a message producer. I had to write a Golang based application which ...

Sharding MongoDB using Range strategy

6 minute read

Hi 👋👋 In this article I will explore the topic of sharding a Mongo Database that runs on Kubernetes. Before we get started, if you want to follow along, ple...

Docker basics for Developers

3 minute read

Introduction Hello 🙋‍♂️ In this article we will discuss a tool called Docker 🐬 Docker is a platform which allows to package individual applications in con...

Kubernetes service account for pod

3 minute read

Hi 🙋‍♂️, In this article I will talk about how to authenticate your applications to the Kubernetes API via the service accounts feature. Citing the Kuberne...

Kafka Connect GitHub source connector

4 minute read

Hello! In this article we will discuss how to quickly get started with Kafka and Kafka Connect to grab all the commits from a Github repository. This is a ...

Firebase Rest on Raspberry Pi

1 minute read

I’ve tried to use Google’s Firebase with the Firebase Admin SDK in my C# project. The good news is that the Admin SDK is easy to use and all you need to do i...

Ditching Apache2 for Nginx

3 minute read

Hello, I wanted to self host my WordPress blog and for that I’ve chosen a hosting provider which I no longer recommend.. Because I’m lazy and I don’t know ...

Setting up a simple DNS server

1 minute read

Right after I’ve configured the FTP server, I wanted to be able to “name” my server and so I’ve installed a lightweight DNS server. (context: previous articl...

My Homelab Journey: Introduction

3 minute read

Hello everyone! After following the /r/homelab reddit for a while I’ve decided to give it a try and make myself my own homelab environment. I don’t have acc...

Helping the Tor Project

3 minute read

In this short article I will try to introduce you to the Tor Project and what can you do in order to help it. What is the Tor project? The EFF describes th...

Back to top ↑

Reverse Engineering

picoCTF2019 Reverse Engineering Asm

2 minute read

Hello, here’s my take on the picoCTF2019 reverse engineering asm challenges. If you don’t know assembly, please watch a few tutorials on it: asm1 –...

picoCTF 2019 Reverse Engineering Vault Doors

3 minute read

I’m always late to the party but here’s my solutions to the PicoCTF2019 Vault Doors challenges from the reverse engineering section. I did it this mainly to ...

Bypassing ptrace calls with LD_PRELOAD on Linux

1 minute read

Hello, Here’s a quick article on how to bypass calls to ptrace when debugging a Linux executable. By calling ptrace with the PTRACE_TRACEME option, a proce...

Ghidra Scripting: Annotating Linux system calls

7 minute read

I had some fun this weekend messing around with Ghidra. Having such a powerful tool for free is truly a game changer. To start scripting in Ghidra, I downlo...

Root Me – Xor Madness – Walkthrough

4 minute read

Hello, In this article I will describe how I solved the PE x86 – Xor Madness challenge from Root-Me This challenge will ask you for a password and the pass...

Introduction to Angr

3 minute read

I always wanted to play around with a binary analysis framework but most of the time I was turned off by how difficult it was to install and use it. Just rec...

Root-Me Reversing: crackme_wtf hints

less than 1 minute read

It’s been some time since I’ve done some Reverse Engineering and today I’ve completed a simple challenge on . The filename of the challenge is crackme_wtf a...

Root-Me: ExploitMe – Basic Buffer Overflow

2 minute read

Hello, In this article I present you the solution to nice and short cracking challenge from Root-Me. After opening it up in Ghidra, I saw that the challenge...

Installing MIASM on macOS

2 minute read

I’ve been reading the MIASM.re blog recently and I wanted to give miasm a try. The scope of this article is to provide guidance on how to build miasm on macO...

Keygenme or Not

2 minute read

Keygenme or Not is a cute reversing challenge I found on root-me.org. It requires an username and an activation key. I particularly enjoyed this challenge an...

Practical Binary Analysis No Starch Press

1 minute read

I started reading this book in november and it took me about two weeks to finish it. You should be a bit comfortable Linux and programming if you plan to gi...

cbm-hackers’s easy_reverse solution

1 minute read

As I continue my Reverse Engineering journey, I picked up some challenges from root-me and some from crackmes.one. This is a solution for a challenge that ca...

HackTheBox Reversing: Find The Secret Flag

1 minute read

Hello, This challenge is not that hard but it’s quite confusing. To solve this challenge very quickly all you have to do is patch it in 2 places and then ru...

HackTheBox Reversing: Cake Challenge

1 minute read

Hello, If you open this binary in Binary Ninja or any other disassembler, you’ll see a that the flow is quite weird. After looking at the strings tab I foun...

HackTheBox: Reversing: The Art Of Reversing

less than 1 minute read

The Art of Reversing challenge was a fun and quick challenge! I did get the flag but I did not write a keygen for it, I didn’t even need to look under the ho...

Root Me: Cracking: PE – 0 protection

2 minute read

Since this challenge has 0 protection we can easily solve it by searching for the string in the strings window of IDA. Select from the menu: View -> Open...

HackTheBox Reversing: Impossible Password

3 minute read

Hello, this is a write-up regarding the HackTheBox reversing challenge: Impossible Password. Please don’t look at the solution if you haven’t attempted the ...

Back to top ↑

Embedded

A Rust library for for BME-680

less than 1 minute read

https://mastodon.social/@nuculabs/113811889816569079 I’ve found a BME680 library written in Rust, but I could not compile it because the author added crates...

A custom HomeKit accessory with Python

2 minute read

Hi 👋, In this short article I want to showcase how I implemented a custom HomeKit accessory with python. My Home Assistant’s SD card died 🪦 a few days ago ...

BME680 Home Assistant Integration

3 minute read

Hi 👋, In this short article I will highlight how to use the BME680 Home Assistant integration with a BME680 Sensor. Please note that I’m running Home Assis...

Arduino Simple Simon Says

6 minute read

This article is a re-post, the original one is on another website. Introduction I started this project some time ago in order to get familiar with Arduino....

PMS5003 C# Library

less than 1 minute read

Hello everyone, I just want to let you know that I’ve released a C# library for interfacing with the PMS5003 (Particulate Matter Sensor) via UART. The code...

PMS5003 Particulate Matter Sensor Test Run

1 minute read

Hi In this article we’ll test out the PMS5003 sensor in order to see if it works. I’ve forgot to buy a connector board, so we will do a manual connection to...

Nucu Car Devlog: 0x03 – Android

1 minute read

Hello everyone! I’ve been working lately on my little project involving Raspberry Pi and .NET, during my free time. Now, I’ve introduced a new technology, A...

Nucu Car: Devlog 0x02

2 minute read

Hello, I’m still working on my NucuCar project from time to time, I’m currently at my parents home and I left the raspberry pi at my apartment so I’m only t...

Firebase Rest on Raspberry Pi

1 minute read

I’ve tried to use Google’s Firebase with the Firebase Admin SDK in my C# project. The good news is that the Admin SDK is easy to use and all you need to do i...

Nucu Car: Devlog 0x01

1 minute read

Hello everyone, A while ago I started working on a pet project called NucuCar. It’s a platform written in .NET for the Raspberry Pi in which I’m trying to i...

My experience with .NET IoT (so far)

1 minute read

I haven’t done any embedded development in a while and I was thinking to build myself a remote controlled toy car with video streaming. The project is goin...

BLE CTF: How to flash the ESP32

1 minute read

Hello! If you want to do Hackgnar’s BLE CTF but you’ve been struggling with flashing the ESP worry not! I have created a vagrant developer environment just ...

How to use MFRC522 with Arduino

2 minute read

I wanted to explore the magic of RFID and I bought a simple card reader from Banggood which allows me to read and write 13.56MHz cards. The reader comes with...

How to get started with FreeRTOS and ESP8266

5 minute read

Cover Photo by Matan Segev from PexelsCover Recently, I purchased a NodeMCU from AliExpress for about $4. The reason I did this was to find out what all the ...

Back to top ↑

Python

Containerizing a Python Project with UV

2 minute read

Introduction Hello! 👋 I wanted to write this short article about containerizing a Python project that uses uv as a project manager. I will present what UV...

Cancellation Token Pattern in Python

2 minute read

Hello! 👋 The Cancellation Token Pattern article is a pattern inspired by C#’s CancellationToken struct and Golang’s context package. The main idea of the p...

Image tagging with Deep Learning

2 minute read

Hello everyone 👋, I’ve been playing with FastAI and deep learning for a week or so and I’ve decided to combine my passion for software with my passion for...

Deploy a FastAI model with FastAPI

2 minute read

Hello everyone 👋, In this quick post I’ll show you how to deploy a FastAI model using FastAPI. It’s a follow-up to my previous post from here and it is par...

FastAI GPU Support

2 minute read

Hello everyone 👋, This is my first blog post about AI, it’s a quick post on how to enable GPU support for the FastAI library. I have avoided getting into A...

Overflowing Buckets

2 minute read

Hello everyone 👋, Today I want to share with you a problem I’ve encountered along my journey. The problem is fairly simple: You have a finite number of...

Python Development in Windows with WSL2

less than 1 minute read

Hello, I’ve published a new video on my YouTube channel. It’s a short tutorial on how to develop Python project on Windows by setting the remote interpreter...

LeetCode: Flood Fill

1 minute read

Hello, Here’s my solution for the flood fill problem, found on LeetCode. If you want me to write about certain topics please let me know in the comments, t...

Introduction to Angr

3 minute read

I always wanted to play around with a binary analysis framework but most of the time I was turned off by how difficult it was to install and use it. Just rec...

Django Signals

2 minute read

I’ve been working on a website for some time now, at first I’ve made it with Django + templates and now I use Django Rest Framework and Angular. The website ...

Back to top ↑

Web Development

From Hugo to Jekyll

7 minute read

Hello everyone! 👋 A small update for the blog, I’ve moved it from Hugo1 to Jekyll2. Introduction Hugo is a static website generator just like Jekyll, it’s...

Idempotency in Your API

3 minute read

Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...

Tracing Node.js APIs with OpenTelemetry

7 minute read

Hello everyone 👋, In this article, we’ll instrument a simple Node.js API with OpenTelemetry traces. OpenTelemetry is the new standard for distributed traci...

From Wordpress To Hugo

2 minute read

Introduction Hello everyone 👋, This is a quick post on how I migrated my blog from WordPress to Hugo. I will not go into details on how to install Hugo or...

FastAPI Uvicorn logging in Production

2 minute read

Hello 🙋‍♂️, Running a ⏩FastAPI ⏩ application in production is very easy and fast, but along the way some Uvicorn logs are lost. In this article I will disc...

Kafka Connect GitHub source connector

4 minute read

Hello! In this article we will discuss how to quickly get started with Kafka and Kafka Connect to grab all the commits from a Github repository. This is a ...

Firebase REST Authentication

1 minute read

Hello, In this article I will show you how to authenticate to Firebase and secure the databases with some simple security rules. I’m using this setup for my...

Simple Dark Theme Switch with Vue.JS

1 minute read

Hello, In this post I’m going to show you how quickly you can add a dark theme switch to your Vue.JS application. We’re going to start with a blank applica...

My Spring Boot notes

1 minute read

Lately I’ve been busy with university, work and learning something new. I’ve started my programming journey when I was in high school with Python, I didn’t h...

Static websites with Angular, lazy mode.

less than 1 minute read

I had to do a project for a friend and because Hugo is a nice tool yet a bit uncomfortable to use, I decided to use Angular. After finishing the website’s ro...

Django Signals

2 minute read

I’ve been working on a website for some time now, at first I’ve made it with Django + templates and now I use Django Rest Framework and Angular. The website ...

Back to top ↑

Linux

Running a PHP Application inside a Container

1 minute read

Hello 👋, In this month’s blog post I’ll show you how to run a PHP Application inside a container. I’m quite a fan of online forums and the majority of foru...

Anubis: Protection against LLMs and Scrapers

1 minute read

Hello everyone! 👋 In this blog post we’re exploring the option of self hosting Anubis. Anubis is a software that defends and protects your services from ...

How to install HP LaserJet 107a Drivers on Linux

1 minute read

Hello everyone! 👋 I’ve recently installed Fedora on my main PC and I wanted to write this post to serve me as a memo on how to install the HP LaserJet 107 p...

ncdu: NCurses Disk Usage

less than 1 minute read

Hello everyone! 👋 This is a short article about a handy tool called ncdu. The tool helps you delete files and directories from your filesystem. I use it...

How to make RØDE audio interface work on Linux

1 minute read

Hi 👋, I have recently updated the firmware of my RODE audio interface from 1.12.x to 1.13, and the device was no longer working properly on Linux, it had tr...

fzf: A command-line fuzzy finder 🌸

less than 1 minute read

Hi 👋, fzf is a command line tool that can be used to fuzzy search files, history, and command outputs. Check out the Github repository. This is a tool that...

Kubernetes service account for pod

3 minute read

Hi 🙋‍♂️, In this article I will talk about how to authenticate your applications to the Kubernetes API via the service accounts feature. Citing the Kuberne...

FastAPI Uvicorn logging in Production

2 minute read

Hello 🙋‍♂️, Running a ⏩FastAPI ⏩ application in production is very easy and fast, but along the way some Uvicorn logs are lost. In this article I will disc...

Introduction to Pyenv for Linux Users

3 minute read

Hello, In this article I will introduce you to pyenv, a tool for managing python environments. Installing pyenv is pretty straight forward, you’ll need to ...

Back to top ↑

Security

Brute-forcing passwords with Hydra

less than 1 minute read

Hello, In this article you will find the solutions for the Hydra room on Try Hack Me. Link: Almost every bruteforcing or cracking task from HackTheBox/Try...

Ghidra Scripting: Annotating Linux system calls

7 minute read

I had some fun this weekend messing around with Ghidra. Having such a powerful tool for free is truly a game changer. To start scripting in Ghidra, I downlo...

Introduction to Angr

3 minute read

I always wanted to play around with a binary analysis framework but most of the time I was turned off by how difficult it was to install and use it. Just rec...

Installing MIASM on macOS

2 minute read

I’ve been reading the MIASM.re blog recently and I wanted to give miasm a try. The scope of this article is to provide guidance on how to build miasm on macO...

Format String Exploit

6 minute read

Hello and welcome to Nucu Labs agent! We’ve been contracted by some external contractors to help them break…, I mean, assist them in making their life easie...

Practical Binary Analysis No Starch Press

1 minute read

I started reading this book in november and it took me about two weeks to finish it. You should be a bit comfortable Linux and programming if you plan to gi...

Serious Cryptography No Starch Press

1 minute read

This is my first book review that I did my blog, I’m not really good at reviewing books and I’m not a native english speaker either, so bear with me and my c...

PicoCTF – An Introduction to CTF’s

1 minute read

PicoCTF is an amazing capture the flag competition targeting middle and high school students. It’s a game that consists in solving various computer security ...

Back to top ↑

Life

My experience with BambuLab A1 and 3D printing

3 minute read

Introduction Hello everyone, 👋 This is my first post of 2024, and ever since I’ve started the blog in ~2018, I’ve had engineering ` Programming, Cloud an...

Learning Kotlin

3 minute read

Introduction Hello everyone! 👋 The year of 2023 has come closely to an end, and I want to write a short article about my experience with Kotlin and what...

Timisoara Nord – Night Photography

less than 1 minute read

Hello 👋 I’m a software developer by profession but I also enjoy photography, this is my first blog post related to photography, here are some photos I took ...

How to connect Ethernet devices to WiFi via WDS

1 minute read

Hi 👋, In this blog post I will show you how to connect an Ethernet only device to Wi-Fi using an extra router and the WDS functionality. I initially wanted ...

iPhone 6s Battery Replacement

1 minute read

Hi, 👋 I usually write about technical stuff and tutorials, but this article is more about repair and the right to repair. It’s important for companies to o...

Logitech MX Keys keyboard Review

1 minute read

Hi, I’m a software developer and to do my job I have to sit on the computer at least 8 hours daily. Having a decent, comfortable, and robust keyboard to do...

Computer Speakers 🔊

less than 1 minute read

Hello, Yes, this post title is weird, but I want to take a moment to acknowledge that I’m very grateful for dad for buying these computer speakers and much ...

Coding Playlist

less than 1 minute read

Whenever I have to concentrate on some programming task I listen to the following playlist, it gets me going and puts me into a pleasant mood. 🙂

Learning Languages with Memrise

1 minute read

I purchased a lifetime of Memrise Pro today and I’m grateful that I could do that. Memrise is an mobile application that lets you access a variety of course...

Back to top ↑

Hack The Box

Hack The Box – Reversing: Debug Me Hints

less than 1 minute read

Hello, Here are some hints for solving the Debug Me challenge on HackThebox: Use a good debugger like x64dbg Use an anti-anti-debugging plugin like Sc...

Hack The Box – Bitlab

3 minute read

Hello, Here’s how I’ve solved the Bitlab machine on Hack The Box. Gitlab Access As usual we start of with a nmap scan: root@kali:~# nmap -p- -sV 10.10.10...

Hack The Box – Travexec Write-up

less than 1 minute read

Hello, Here’s my write-up for the Traverxec machine. Initial Shell: google User Hint: Read the configuration carefully and ls dem directories, and don’t f...

HackTheBox Reversing DSYM Write-Up

less than 1 minute read

Hello, Here’s my write-up for the Reversing DSYM challenge from HackTheBox. PDF: The password for the Write-Up is the challenge’s flag. To solve it I’ve ...

HackTheBox Reversing: Find The Secret Flag

1 minute read

Hello, This challenge is not that hard but it’s quite confusing. To solve this challenge very quickly all you have to do is patch it in 2 places and then ru...

HackTheBox Reversing: Cake Challenge

1 minute read

Hello, If you open this binary in Binary Ninja or any other disassembler, you’ll see a that the flow is quite weird. After looking at the strings tab I foun...

HackTheBox: Reversing: The Art Of Reversing

less than 1 minute read

The Art of Reversing challenge was a fun and quick challenge! I did get the flag but I did not write a keygen for it, I didn’t even need to look under the ho...

HackTheBox Reversing: Impossible Password

3 minute read

Hello, this is a write-up regarding the HackTheBox reversing challenge: Impossible Password. Please don’t look at the solution if you haven’t attempted the ...

Back to top ↑

Windows

Windows Task Scheduler - Quick Start

2 minute read

Introduction Hello everyone 👋, This is a quick post about the windows task scheduler, if you’re a Software Developer using Windows the task scheduler is a ...

Python Development in Windows with WSL2

less than 1 minute read

Hello, I’ve published a new video on my YouTube channel. It’s a short tutorial on how to develop Python project on Windows by setting the remote interpreter...

Multiple Python versions on Windows

1 minute read

Hi 👋 In this short article I will show you two ways of changing Python versions on Windows. It is useful when you have installed multiple Python versions on...

💻Remote Desktop: logon attempt failed ⛔

less than 1 minute read

Hi 👋 Have you ever tried to setup your Windows’s Remote Desktop functionality and failed with the following error message “logon attempt failed“, knowing th...

Running Linux GUI Applications in Windows

less than 1 minute read

Hi 👋, This is a quick tutorial on how to run Linux graphical interface application in Windows using X Server’s forwarding feature. The first step is to dow...

fzf: A command-line fuzzy finder 🌸

less than 1 minute read

Hi 👋, fzf is a command line tool that can be used to fuzzy search files, history, and command outputs. Check out the Github repository. This is a tool that...

Back to top ↑

Self Hosting

Self Hosting Gitlab

7 minute read

Hello everyone and happy new year! Introduction I’ve been running GitLab as my software forge for the last three weeks and everything was smooth. I replace...

Self Hosting Forgejo

5 minute read

Hello everyone! I’m writing this article to quickly show you how-to self-host Forgejo, the Git software forge, and how to do common maintenance operations. ...

Running a PHP Application inside a Container

1 minute read

Hello 👋, In this month’s blog post I’ll show you how to run a PHP Application inside a container. I’m quite a fan of online forums and the majority of foru...

Anubis: Protection against LLMs and Scrapers

1 minute read

Hello everyone! 👋 In this blog post we’re exploring the option of self hosting Anubis. Anubis is a software that defends and protects your services from ...

Self Hosting PeerTube on Fedora Server

11 minute read

Hello everyone! 👋 This is my first blog post in 2025, and I’d like to talk about my experience in self-hosting PeerTube in Fedora Server and how to do it...

Back to top ↑

Game Development

MAD: Game DevLog #5: Game Over

1 minute read

Image by Steve Buissinne from Pixabay Hello, I don’t think I’d like to invest time and resources in this project anymore, I had fun programming it and lear...

MAD: Game DevLog #3

less than 1 minute read

Hello everyone! I don’t have much to tell so I’m going to make it quick. We’ve added Android build support and we’re working on setting up an internal test...

MAD: Game DevLog #2

2 minute read

Hello everyone! Time for devlog number #2! In the last week, we’ve implemented transparent walls and the player animation state machine. Max continued desig...

MAD Game DevLog #1

1 minute read

Hello Everyone! In this devlog I’ll try to keep you updated with the latest state of our game. Since we all have full-time jobs, we’ve been working on this ...

MAD: GameDevLog #0

1 minute read

It’s been a while since I wrote an article and this one is a bit different. I joked one day with a two other friends to make a game, and somehow the idea was...

Back to top ↑

Video

Python Singleton Pattern implementation with LRU

less than 1 minute read

Hello and happy new year! 🥳🙌 I’ve made a video on how to implement the singleton pattern in Python using the LRU cache. https://www.youtube.com/watch?v=Wzu...

How to document a project with MkDocs 📹

1 minute read

Hello, Welcome my third video tutorial, this time, on how to get started with MkDocs. In this video I try to give you a basic overview of MkDocs and a conf...

AutoFixture in ASP.Net Core 🎥

less than 1 minute read

Hello, 👋 This is my first video blog post in which I try to explain AutoFixture. https://www.youtube.com/watch?v=ec52FWmzQxA Here’s the test case referenc...

Back to top ↑

AI

Project Showcase: Image Tagging

less than 1 minute read

Hello there 👋, This is a showcase of a project I’ve been working on for the past weeks. It’s a simple cross-platform desktop application that allows you to ...

Convert a FastAI model to ONNX and CoreML

2 minute read

Hello there 👋, In this post, I will show you how to convert a FastAI model to ONNX and CoreML. Convert a FastAI model to Pytorch Before we can convert t...

Using an ONNX Resnet model in Java

6 minute read

Hello everyone! 👋 This is a follow-up post to the previous one, long story short I started taking the course from fast.ai to learn more about Deep Learning....

Image tagging with Deep Learning

2 minute read

Hello everyone 👋, I’ve been playing with FastAI and deep learning for a week or so and I’ve decided to combine my passion for software with my passion for...

Deploy a FastAI model with FastAPI

2 minute read

Hello everyone 👋, In this quick post I’ll show you how to deploy a FastAI model using FastAPI. It’s a follow-up to my previous post from here and it is par...

FastAI GPU Support

2 minute read

Hello everyone 👋, This is my first blog post about AI, it’s a quick post on how to enable GPU support for the FastAI library. I have avoided getting into A...

Back to top ↑

Design Pattern

Python Singleton Pattern implementation with LRU

less than 1 minute read

Hello and happy new year! 🥳🙌 I’ve made a video on how to implement the singleton pattern in Python using the LRU cache. https://www.youtube.com/watch?v=Wzu...

Back to top ↑

Golang

How to zip and unzip a directory in Go

2 minute read

Hello everyone! 👋 I wanted to write a short article about zipping and unzipping a directory in Golang. The answer is quite simple, you can use the AddFS ...

How to use RocksDB with Go

3 minute read

Hello everyone! 👋 I’ve had to work with RocksDB recently and in order to use it from Golang I had to jump a few hops before getting it to work properly. ...

The Go *Options pattern

3 minute read

Introduction Hello everyone! 👋 In this article I’ll present you the options pattern in Golang. The pattern is useful when you want to create a function tha...

The Hash Set

2 minute read

Introduction A hash set is a data structure that allows storing elements inside a set using a hash function. The set is a data structure that offers effici...

Using confluent-kafka-go on MacOS M1

1 minute read

Hello, TLDR; brew install librdkafka openssl@3 pkg-config export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig" go test -tags dynamic ./... I...

Back to top ↑

Uncategorized

Multi Touch Gestures on Linux

less than 1 minute read

Hello, I’ve been using Linux full time on my work laptop and one thing that I really miss from the Macbook is the multi touch gestures. I often find myself ...

Root-Me: ELF C++ – 0 protection solution

1 minute read

Hello! My daily work is doing full stack web development, and reversing is a side thing that I do for fun and in my free time. In this article I will show y...

Root Me: ELF-CrackPass with Ghidra

8 minute read

Hello! I’ve been playing recently a bit with Ghidra, which is a reverse engineering tool that was recently open sourced by the NSA. The official website des...

Back to top ↑

Tooling

ncdu: NCurses Disk Usage

less than 1 minute read

Hello everyone! 👋 This is a short article about a handy tool called ncdu. The tool helps you delete files and directories from your filesystem. I use it...

fzf: A command-line fuzzy finder 🌸

less than 1 minute read

Hi 👋, fzf is a command line tool that can be used to fuzzy search files, history, and command outputs. Check out the Github repository. This is a tool that...

Introduction to Pyenv for Linux Users

3 minute read

Hello, In this article I will introduce you to pyenv, a tool for managing python environments. Installing pyenv is pretty straight forward, you’ll need to ...

Brute-forcing passwords with Hydra

less than 1 minute read

Hello, In this article you will find the solutions for the Hydra room on Try Hack Me. Link: Almost every bruteforcing or cracking task from HackTheBox/Try...

Back to top ↑

Books

MongoDB in Action 8.0 (Manning) Book Review

1 minute read

Hello everyone, In this article I will review the following book MongoDB 8.0 in Action, Third Edition. I’m using MongoDB daily at my job and by reading t...

Practical Binary Analysis No Starch Press

1 minute read

I started reading this book in november and it took me about two weeks to finish it. You should be a bit comfortable Linux and programming if you plan to gi...

Serious Cryptography No Starch Press

1 minute read

This is my first book review that I did my blog, I’m not really good at reviewing books and I’m not a native english speaker either, so bear with me and my c...

Back to top ↑

Review

MongoDB in Action 8.0 (Manning) Book Review

1 minute read

Hello everyone, In this article I will review the following book MongoDB 8.0 in Action, Third Edition. I’m using MongoDB daily at my job and by reading t...

My experience with BambuLab A1 and 3D printing

3 minute read

Introduction Hello everyone, 👋 This is my first post of 2024, and ever since I’ve started the blog in ~2018, I’ve had engineering ` Programming, Cloud an...

Serious Cryptography No Starch Press

1 minute read

This is my first book review that I did my blog, I’m not really good at reviewing books and I’m not a native english speaker either, so bear with me and my c...

Back to top ↑

CTF Time

picoCTF2019 Reverse Engineering Asm

2 minute read

Hello, here’s my take on the picoCTF2019 reverse engineering asm challenges. If you don’t know assembly, please watch a few tutorials on it: asm1 –...

PicoCTF 2019: whats-the-difference (Points 200)

less than 1 minute read

Can you spot the difference? kitters cattos. They are also available at /problems/whats-the-difference… on the shell server In order to easily solve thi...

Back to top ↑

Kotlin

Ranking: BM25+

2 minute read

Introduction The BM25+ is a ranking algorithm used to rank text documents based on a relevance score. It is used in search engines to determine which docum...

The Linked List

4 minute read

Introduction A linked list is a fundamental data structure which consists of Nodes that are connected to each other. Other variations are: Double linke...

Implementing cat with Kotlin Native

4 minute read

Introduction Hello! 👋 In this article we’ll implement the cat command utility which is used in many Unix like systems like Linux and macOS. To implement ...

Back to top ↑

Data Structures & Algorithms

The Hash Set

2 minute read

Introduction A hash set is a data structure that allows storing elements inside a set using a hash function. The set is a data structure that offers effici...

Ranking: BM25+

2 minute read

Introduction The BM25+ is a ranking algorithm used to rank text documents based on a relevance score. It is used in search engines to determine which docum...

The Linked List

4 minute read

Introduction A linked list is a fundamental data structure which consists of Nodes that are connected to each other. Other variations are: Double linke...

Back to top ↑

Distributed Systems

Idempotency in Your API

3 minute read

Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...

Back to top ↑

Engineering

My experience with BambuLab A1 and 3D printing

3 minute read

Introduction Hello everyone, 👋 This is my first post of 2024, and ever since I’ve started the blog in ~2018, I’ve had engineering ` Programming, Cloud an...

Back to top ↑

Design Patterns

The Go *Options pattern

3 minute read

Introduction Hello everyone! 👋 In this article I’ll present you the options pattern in Golang. The pattern is useful when you want to create a function tha...

Back to top ↑

Java

Back to top ↑

Ai

Back to top ↑