An introduction to static type annotations in Ruby
Introduction Hello everyone! I started this year by re-learning the Ruby programming language. Ruby is a lovely and elegant programming language, and It w...
Introduction Hello everyone! I started this year by re-learning the Ruby programming language. Ruby is a lovely and elegant programming language, and It w...
The picture of this article is the output of Claude, using a local MCP server that gives it the output of the ls -l command on a given path. Notice how th...
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 ...
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. ...
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...
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...
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 ...
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...
Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...
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 ...
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 ...
Hello everyone 👋, In this article, we’ll instrument a simple Node.js API with OpenTelemetry traces. OpenTelemetry is the new standard for distributed traci...
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....
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...
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...
Introduction Hello 👋, In this quick tutorial 💻 we’ll explore how to use Volumes and PersistentVolumes with hostpath storage in Microk8s. We will deploy a ...
Hello 👋, I’ve started doing some LeetCode dailies with Paula and I’d like to share our solutions for the last two problems. https://leetcode.com/problems/r...
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...
Hello 👋, In this short article we’ll talk about packing integers into binary data in JavaScript using the Buffer, ArrayBuffer and DataView classes. Sometim...
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...
Hello 👋, In this short article I want to talk about parallel processing in Python. Introduction Sometimes you will need to process certain things in paral...
Hello 👋, A while ago I wrote an article on how to separate audio from video with ffmpeg on Linux using bash. The article can be read here: Separate Audio f...
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...
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...
Hello, Recently someone working at Yahoo emailed me regarding an old thread I’ve started on the Apache Flink user mailing list. I’ve replied to the e-mail b...
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...
Hi 👋, In this article I would like to talk about image hashing. Image hashing algorithms are specialized hashing functions that output the hash of an image...
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...
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...
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...
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...
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...
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...
Hello, 👋 In this article I will show you how to install Python versions on Linux using the following methods: compiling from source, dead snakes ppa and pye...
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...
Hi 👋 Welcome to another video tutorial on how to write parametrized tests in Python using pytest. https://www.youtube.com/watch?v=o2LLi_iiz-k If you want ...
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 ...
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...
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 ...
Hello everyone! 👋 Today’s article will be about tail recursion, a technique that allows you to optimize certain recursive functions. Introduction In short...
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...
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...
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...
Hello, In this short article I would like to talk about context managers. I personally consider that at the core they are just a form of decorators. If you ...
Hello, In this article we’re going to explore the Method Injection and Property Injection design patterns. To demonstrate the patterns I’m going to add a n...
Hi, In this article I will explain my solution for the following LeetCode problem: Reverse Linked List. If you’re interested in solving this problem then p...
The Constructor Injection design pattern is a pattern that helps you declare all the required dependencies of a class in it’s constructor. This is useful be...
The composition root is a design pattern which helps you structure a software application by implementing a class that builds all the other classes. In this...
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...
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 ...
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...
Hello, Here are my solutions for the second part of the card: Arrays 101, from LeetCode. Duplicate Zeroes Given an array of integers, remove duplicate zer...
Hello, LeetCode is a good place to practice programming by solving problems of all levels! After you solve a problem, you’ll get access to all submitted so...
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...
[Problem Link] Hello, Here’s my solution for the add two numbers problem on LeetCode. Example: <strong>Input:</strong> (2 -> 4 -> 3) + ...
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...
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...
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...
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...
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...
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...
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...
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 ...
I’ve been playing recently with ASP.Net Core and I’m developing a small Web API project in order to teach myself the framework. In still article I’ll explai...
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...
It’s been a while since I wrote a post and I’m also going to make this one a short one. Python Fire is a pretty cool Python library from Google that lets yo...
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 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 |
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...
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 ...
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...
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 is an amazing capture the flag competition targeting middle and high school students. It’s a game that consists in solving various computer security ...
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...
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...
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 ...
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 ...
Hello everyone! 👋 I run a small set of containers on my NAS at Home to monitor different weather and run automations. Because of this I wanted to install ...
Hello everyone! 👋 In this article you will learn how to install DaVinci Resolve Free and Studio editions on Fedora 40 and Fedora 41. The first step is to d...
Hello everyone, This is a short guide on how to change Microk8s’ default storage path for the hostpath addon. First, ensure the addon is enabled: microk8s...
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...
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...
Hello everyone 👋, In this article, we’ll instrument a simple Node.js API with OpenTelemetry traces. OpenTelemetry is the new standard for distributed traci...
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....
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...
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...
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...
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...
Introduction Hello 👋, In this quick tutorial 💻 we’ll explore how to use Volumes and PersistentVolumes with hostpath storage in Microk8s. We will deploy a ...
Hello 👋, I’ve started doing some LeetCode dailies with Paula and I’d like to share our solutions for the last two problems. https://leetcode.com/problems/r...
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...
Hello 👋, In this short article we’ll talk about packing integers into binary data in JavaScript using the Buffer, ArrayBuffer and DataView classes. Sometim...
Hello, In this quick tutorial we will explore how to create a ServiceMonitor in microk8s when you have the observability addon enabled. When you enable the...
Hello 👋, In this short article I want to talk about parallel processing in Python. Introduction Sometimes you will need to process certain things in paral...
Hello 👋, To fix audio issues on a fresh install of DaVinci Resolve 18 on my Ubuntu 20.10 PC I did the following things: 1. List all the available sound car...
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 ...
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...
Hi 👋, In this article I would like to talk about image hashing. Image hashing algorithms are specialized hashing functions that output the hash of an image...
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...
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...
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...
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 ...
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...
Hi 👋 This is a short tutorial describing how to monitor your Kubernetes cluster container logs using Loki stack. But why? Because it is easier to view, filt...
Hello, 👋 In this article I will show you how to install Python versions on Linux using the following methods: compiling from source, dead snakes ppa and pye...
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...
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...
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...
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 ...
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...
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...
Hello 😄, In this article, I will demonstrate how to configure Kubernetes (minikube) to use OpenID Connect as an authentication strategy. We will cover the ...
Hello, In this short article I would like to talk about context managers. I personally consider that at the core they are just a form of decorators. If you ...
The Constructor Injection design pattern is a pattern that helps you declare all the required dependencies of a class in it’s constructor. This is useful be...
The composition root is a design pattern which helps you structure a software application by implementing a class that builds all the other classes. In this...
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 ...
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...
Hello everyone! 👋 In this article I will show you how to self-host Navidrome, your personal music streaming service. I will provide you with an Ansible pla...
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. ...
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...
Hello everyone! 👋 Welcome to another self-host article! This month we’re hosting a CalDAV and CardDAV server. Baïkal, the lightweight CalDAV+CardDAV serve...
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...
Hello everyone, This is a short guide on how to change Microk8s’ default storage path for the hostpath addon. First, ensure the addon is enabled: microk8s...
Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...
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...
Introduction Apache Cassandra is a highly scalable and distributed NoSQL database that is designed to handle large volumes of data across multiple commodity ...
Introduction Hello 👋, In this quick tutorial 💻 we’ll explore how to use Volumes and PersistentVolumes with hostpath storage in Microk8s. We will deploy a ...
Hello, In this quick tutorial we will explore how to create a ServiceMonitor in microk8s when you have the observability addon enabled. When you enable the...
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...
Hello, Recently someone working at Yahoo emailed me regarding an old thread I’ve started on the Apache Flink user mailing list. I’ve replied to the e-mail b...
Hi 👋 This is a short tutorial describing how to monitor your Kubernetes cluster container logs using Loki stack. But why? Because it is easier to view, filt...
Hi 👋 The purpose of this article is to get you started quickly with a Home Assistant on a Raspberry Pi. It’s a simple walkthrough on how to install Home Ass...
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...
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 ...
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...
Introduction Hello 🙋♂️ In this article we will discuss a tool called Docker 🐬 Docker is a platform which allows to package individual applications in con...
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...
Hello 😄, In this article, I will demonstrate how to configure Kubernetes (minikube) to use OpenID Connect as an authentication strategy. We will cover the ...
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 ...
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...
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 ...
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...
After spending a good part of my weekend fiddling with VSFTPD, I’m very happy that I managed to get it to work properly. My goal was to create a simple, ano...
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...
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...
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 –...
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 ...
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...
Hello, In this article I will describe how I solved the GB – Basic GameBoy crackme challenge from Root-Me. Before reading this article you should attempt t...
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...
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...
Hello, In this article I’ll present you my solution on the Chapter 5 CTF from the book Practical Binary Analysis. For this binary, the hint is to fix four ...
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...
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...
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...
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 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 |
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...
I’ve recently finished reading a book called Practical Binary Analysis which I consider a state of the art book (review will come soon) and I would like to p...
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...
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...
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...
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...
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...
I’ve just found out about this amazing website which offers a wide variety of challenges. Here’s my solution for the first challenge, this one is extremely ...
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 ...
MalwareTech’s string challenges are so easy that everyone can do them. I’m writing this article in order to help those who struggle with them, but of course ...
I decided that I want to do something new and I started to get into assembly and reverse engineering, hopefully I can build a career with this. I watched so...
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...
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 ...
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...
Hi 👋 The purpose of this article is to get you started quickly with a Home Assistant on a Raspberry Pi. It’s a simple walkthrough on how to install Home Ass...
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....
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...
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...
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...
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...
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...
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...
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...
Real Time Operating Systems Real time operating systems are designed for real time applications that need to accomplish a certain tasks with as little OS ov...
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 ...
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...
My Raspberry, serving as an OpenVPN server Hello everyone! In this short article I will explain how to setup your own VPN (Virtual Private Network) server...
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 ...
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...
The picture of this article is the output of Claude, using a local MCP server that gives it the output of the ls -l command on a given path. Notice how th...
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...
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...
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...
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...
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...
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...
Hello, 👋 In this article I will show you how to install Python versions on Linux using the following methods: compiling from source, dead snakes ppa and pye...
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...
Hello, Here are my solutions for the second part of the card: Arrays 101, from LeetCode. Duplicate Zeroes Given an array of integers, remove duplicate zer...
[Problem Link] Hello, Here’s my solution for the add two numbers problem on LeetCode. Example: <strong>Input:</strong> (2 -> 4 -> 3) + ...
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...
It’s been a while since I wrote a post and I’m also going to make this one a short one. Python Fire is a pretty cool Python library from Google that lets yo...
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 ...
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...
Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...
Hello everyone 👋, In this article, we’ll instrument a simple Node.js API with OpenTelemetry traces. OpenTelemetry is the new standard for distributed traci...
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...
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...
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 ...
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...
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...
I’ve been playing recently with ASP.Net Core and I’m developing a small Web API project in order to teach myself the framework. In still article I’ll explai...
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...
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...
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 ...
Photo by Tyler Milligan on Unsplash Hello, In this short article I will try to explain what is an HTTP interceptor and how to use it. My article is based o...
Hello 👋, This is a short article about setting offsets in Apache Kafka for a consumer group. Normally, to reset offsets in Kafka you need to use the kafk...
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...
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 ...
Hello everyone! 👋 This post is about accessing the host URL from inside a Podman (or Docker) container and how to avoid a mistake I made when setting up c...
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...
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...
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...
Hello, 👋 In this article I will show you how to install Python versions on Linux using the following methods: compiling from source, dead snakes ppa and pye...
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...
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...
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...
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 ...
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...
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...
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...
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...
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 |
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 |
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 is an amazing capture the flag competition targeting middle and high school students. It’s a game that consists in solving various computer security ...
My Raspberry, serving as an OpenVPN server Hello everyone! In this short article I will explain how to setup your own VPN (Virtual Private Network) server...
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...
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...
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 ...
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 ...
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...
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...
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 ...
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. 🙂
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...
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...
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...
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...
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 ...
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...
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...
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...
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 ...
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 ...
Hello 👋, A while ago I wrote an article on how to separate audio from video with ffmpeg on Linux using bash. The article can be read here: Separate Audio f...
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...
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...
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...
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...
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...
Hi, In this article I will show you how to use your Windows 10’s wireless display feature in order to use your Laptop/Xbox as a wireless display. Initial S...
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...
Hello everyone! 👋 In this article I will show you how to self-host Navidrome, your personal music streaming service. I will provide you with an Ansible pla...
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. ...
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...
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 ...
Hello everyone! 👋 Welcome to another self-host article! This month we’re hosting a CalDAV and CardDAV server. Baïkal, the lightweight CalDAV+CardDAV serve...
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...
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...
Hello everyone! Here’s what we did for our 4th devlog: We’ve added a game menu to the game it is interactive and it’s working without any code at all. Th...
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...
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...
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 ...
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...
Hello everyone! 👋 I run a small set of containers on my NAS at Home to monitor different weather and run automations. Because of this I wanted to install ...
Hello everyone! 👋 I’ve made an article a while ago on FZF because I think it’s a great tool and now, I’ve decided to make a video as well. Enjoy 😄 https...
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...
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...
Hi 👋 Welcome to another video tutorial on how to write parametrized tests in Python using pytest. https://www.youtube.com/watch?v=o2LLi_iiz-k If you want ...
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...
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 ...
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...
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....
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...
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...
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...
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...
Hello, In this short article I would like to talk about context managers. I personally consider that at the core they are just a form of decorators. If you ...
Hello, In this article we’re going to explore the Method Injection and Property Injection design patterns. To demonstrate the patterns I’m going to add a n...
The Constructor Injection design pattern is a pattern that helps you declare all the required dependencies of a class in it’s constructor. This is useful be...
The composition root is a design pattern which helps you structure a software application by implementing a class that builds all the other classes. In this...
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 ...
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. ...
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...
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...
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...
Hi 👋, Introduction In this short article I want to showcase a nice and useful Linux command. The comand 🥁 envsubst 🥁. In short it Substitutes the values o...
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 ...
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...
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...
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...
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...
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 ...
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...
The picture of this article is the output of Claude, using a local MCP server that gives it the output of the ls -l command on a given path. Notice how th...
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...
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 ...
Hello, In this short article I would like to talk about context managers. I personally consider that at the core they are just a form of decorators. If you ...
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...
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...
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...
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 –...
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...
Hello, Here are my write-ups for the X-MAS CTF 2019 organized by . Reversing: Santa’s crackme Santa’s crackme is easy to solve when using Ghidra, all you...
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...
Introduction A linked list is a fundamental data structure which consists of Nodes that are connected to each other. Other variations are: Double linke...
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 ...
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...
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...
Introduction A linked list is a fundamental data structure which consists of Nodes that are connected to each other. Other variations are: Double linke...
Introduction Idempotency is a crucial property in the world of APIs, ensuring that operations can be applied multiple times without changing the result. I...
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...
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...
Hello everyone 👋, I recently worked on a small side project written in Java with the Spring Framework and I had difficulties authenticating to an external O...
The picture of this article is the output of Claude, using a local MCP server that gives it the output of the ls -l command on a given path. Notice how th...