journal

A Practical Linux Setup for Recording Technical Videos

On Sun May 17 21:35:37 CEST 2026, I decided it was time to start a YouTube channel to promote my articles. Here…

software-computational-architecture

The Cartesian Product Disaster Tour: Haskell, C, and 25GB of Allocations

In this article, we’ll explore something that looks innocent: computing the cartesian product of several lists. In Haskell, it is almost boring:…

software-computational-architecture

Why Parsers were invented ?

A lot of text-processing tools can get surprisingly far without a real parser. For simple patterns, tools like sed, awk, or small…

recom

Blogs that worth a bookmark

Gwern.net raphaelouthier.github.io essenceia.github.io/ lukesmith.xyz

latex

Doom in LaTeX (+Bash)

This article is a part of my full LaTeX guide here article Here some captions of the game: How did i create…

latex

Traversing a Tree in pure LaTeX

This article is a part of my full LaTeX guide here article At the end of the article, you'll be able to…

latex

Dissecting LaTeX: Revenge, Four Years Later

When I was a chemist, I wrote my internship report in LaTeX. It was at first a pain in the ass: -->…

software-computational-architecture

SAM, the 'other' SED from the 80s

Prerequisites This article will reference SED syntax that is described here: sed This was also vastly ispired by this comment (user: piekvorst)…

linux

AWK: The Small Language That Quietly Became a Data Engine

There is a moment every engineer hits. You're staring at a text file-logs, CSVs, metrics, something messy-and you think: "I just need…

linux

Sed, a powerfull mini-language from the 70s

There's a moment when using sed stops feeling like typing weird incantations… and starts feeling like you're programming a living stream of…

system-design

🧠 Bash Arrays: From First Steps to Real-World Mastery

Bash arrays aren't just containers, they're a way to control how data flows through the shell. This guide builds from zero to…

recreational-programming

Building a ChatGPT-like CLI in Bash: a journey through pipes, JSON, streaming, and shell weirdness

There is something deeply satisfying about building a serious tool with primitive Unix bricks. The mentioned in this article comes from: repo…

ai-generated-experiment

Statix, llama.cpp, and a Night of Autonomous Blogging

This article is about this repo: autoBlog There is a particular kind of joy in software engineering that does not come from…

default

🧟 The Archaeology of a Dead .OVA

"It should be easy to download." Famous last words. 🧠 The Premise There exists (or existed) a certain .ova file. .ova is…

software-computational-architecture

Understanding R Shiny Reactivity Through the Lens of a Dependency Graph

A deep dive into how Shiny's reactive engine works — using a real-world analytics dashboard as our guide. The code used by…

software-computational-architecture

How Modern Browsers Render the Web: A Deep Technical Journey

From HTML bytes to GPU pixels — the complete architecture of a modern browser rendering engine. Introduction: The Browser as a Game…

system-design

Debugging a “Slow VPS” That Wasn’t Slow

My VPS suddenly felt extremely slow: pages taking 3–5 seconds TLS handshake hanging random spikes in latency First instinct: server issue. Reality:…

software-computational-architecture

From Backtracking to Factorial Coordinates: Understanding Permutations Deeply

Most developers learn permutation generation through recursion and swapping. It works, it's elegant… but it often feels a bit magical. This article…

software-computational-architecture

Binary Operations: AND, OR, XOR, NOR — and Their Deep Relationships

Binary operations are the foundation of computation. At the lowest level, everything reduces to simple operations on bits: true (1) and false…

software-computational-architecture

Java Deep Dive: Architecture, Memory, OOP & Modern Features

A comprehensive technical reference — from JVM internals to streams, lambdas, and the philosophy behind Java's design choices. Table of Contents Introduction…

system-design

Statix: A Static Engine That Behaves Like a Dependency Graph

Most static site generators rebuild everything. Statix doesn’t. It rebuilds exactly what changed — nothing more, nothing less. This article is a…

system-design

Go Joining Errors — Learn with Examples

In Go (since Go 1.20), errors.Join lets you combine multiple errors into a single error while still preserving each individual error inside…

software-computational-architecture

OpenTelemetry in Go, finally explained: traces, metrics, logs, propagation & middleware

I spent the day digging into OpenTelemetry in Go and, honestly, a lot of things that look magical at first finally clicked.…

system-design

Statix - I Built My Own Blog Engine (Because I Refuse to Negotiate with Markdown Toolchains).

Let me clarify something immediately. First the repo is here lol: https://github.com/julienlargetpiet/Statix, and second This is not a “framework”. This is not…

recreational-programming

How I Spy on My Own Blog (Politely): A Shiny/Nginx Log Analyzer That Separates Humans From the Internet’s Roombas

I run a blog. People read it. Bots also “read” it — in the same way a vacuum cleaner “enjoys” a carpet.…

functional-programming

jq as a Stream Calculus and Tree Algebra

A Deep Semantic and Operational Mini-Book This is not documentation. This is not a tutorial. This is a semantic excavation. We will…

linux

Logrotate for Nginx: Understanding missingok, notifempty, sharedscripts, prerotate, postrotate (and switching to size-based rotation)

If you run Nginx in production, your access and error logs can grow fast. On most Linux systems, log rotation is handled…

system-design

Streaming a MariaDB Dump from Go: Pipes, Syscalls, Backpressure and the Runtime

We start from a very simple handler: spawn mysqldump, capture its stdout, and stream it directly to the browser. No intermediate file.…

system-design

🧠 Dispatch Responsibility: C++ Compile-Time Power vs Go Runtime Reflection

When comparing C++ and Go, one of the most interesting differences is not syntax, not performance, and not even generics — it…

default

Designing a Column-Major Matrix Class with Row-Major Multiplication Optimizations (CPU & GPU)

When I designed my C++ Matrix<T> class for Fulgurance, I deliberately chose a column-major memory layout (Fortran/Eigen style). It fits linear algebra…

default

🧮 Rebuilding the LU Decomposition and Benchmarking It Against My Own Determinant Algorithms

When I first started playing with determinant algorithms in C++, I wanted to really understand what happens behind Eigen’s .determinant() call. So…

default

Building a New Determinant Engine — An Iterative Combinatorial Approach

One morning, I decided to compute a determinant from scratch — no recursion, no Gaussian elimination, no library shortcuts. I wanted to…

default

Fixing bslib Tabs That Reset Inputs in Shiny

The problem: When using bslib::navset_tab(), each tab panel is dynamically created and destroyed as you switch between them. This means that any…

default

🧩 Understanding the Architecture of My Shiny Log Analyzer App

1. Overall Structure This app (repo) follows the classic three-file Shiny structure: global.R ui.R server.R Each file plays a distinct role and…

default

🧠 From Source to Shiny: Running Modern R on Debian with NGINX and HTTPS

1. Introduction I recently deployed an R Shiny app on my Debian server, but hit a wall early: Debian 11 ships R…

default

Exploring the Power of Metaprogramming in Rust

🦀 Metaprogramming in Rust: Exploring macro_rules! Power Rust offers one of the most expressive and hygienic metaprogramming systems in modern languages. Through…

default

📊 Building a Flexible Access Log Analyzer in R

In this tutorial, we’ll walk through the design and implementation of a small but powerful R script that analyzes web server access…

functional-programming

🐴 The Knight’s Tour in Haskell — From Brute Force to Warnsdorff’s Heuristic

One of the most fascinating and ancient problems in recreational mathematics is the Knight’s Tour — the challenge of moving a chess…

functional-programming

Checking Graph Bipartiteness in Haskell

One of the most elegant problems in graph theory is determining whether a given graph is bipartite. A bipartite graph is one…

functional-programming

Solving the Eight Queens Problem in Haskell

The Eight Queens Problem is one of the most famous challenges in computer science and mathematics. The goal is simple to state…

functional-programming

Exploring Reachability in Directed Graphs with Haskell

Exploring Reachability in Directed Graphs with Haskell Graphs are a natural way to represent systems of connections — from flight networks to…

functional-programming

How Do They Display Trees — Three Layout Algorithms in Haskell

When you visualize data structures in a GUI — such as decision trees, syntax trees, or even neural networks — one key…

functional-programming

Constructing All Spanning Trees in Haskell (Problem 83)

In graph theory, a spanning tree of a connected graph is a subgraph that includes all the nodes of the original graph,…

functional-programming

Graph Isomorphism in Haskell (Problem 85)

Graph isomorphism is one of the classic challenges in graph theory and computer science. It involves determining whether two graphs have the…

functional-programming

Introduction to Graph Theory in Haskell

Graph theory is one of the most fascinating areas of computer science and mathematics, forming the foundation for countless real-world applications: from…

functional-programming

Implementing Huffman Encoding in Haskell

Huffman encoding is one of the foundational algorithms in data compression — elegant, efficient, and entirely based on simple mathematical principles. It…

default

The Goldbach Conjecture and Its Recursive Implementation in Haskell

The Goldbach Conjecture is one of the oldest unsolved problems in mathematics. It states that every even integer greater than 2 can…

functional-programming

Understanding Recursion Through Combinations, Permutations, and Trees in Haskell

Recursion often feels like a mysterious concept when you first encounter it — until you realize that it’s not about doing something…

functional-programming

Finding the Optimal Path in Haskell: A Recursive Exploration

I will explain from my point of view the solution to the following problem https://learnyouahaskell.com/functionally-solving-problems#heathrow-to-london, we explore a recursive approach to solving…

functional-programming

Understanding the Haskell Type System: From Typeclasses to Data Structures

In this tutorial — inspired by my video “Structure de données et système de types en Haskell” — we dive into the…

functional-programming

Understanding Parenthesis Tokenization in Haskell

Context Before building a full arithmetic calculator in Haskell, there was one key challenge I needed to solve first: understanding and tokenizing…

functional-programming

Building a Tiny Reverse Polish Notation (RPN) Calculator in Haskell

In this project, we’ll build a small expression evaluator using Reverse Polish Notation (RPN) — also called postfix notation. The idea is…

functional-programming

Learning Haskell with Weird Goals

Sometimes, the best way to learn a language is by using a simple, even slightly “weird” goal as an excuse to explore…

functional-programming

Brute-forcing Pythagorean Triples with Haskell List Comprehensions (up to 100)

Introduction We want all integer solutions (a,b,c) to the equation a^2 = b^2 + c^2 with 0 < a < 100. This…

software-computational-architecture

A Structured, Visual Algorithm for Determinants up to 5×5

1. Introduction Determinants are fundamental objects in linear algebra, yet direct computation beyond 3×3 can be tedious. This article presents a structured,…

recreational-programming

Turning Blog HTML into RSS, the Low-Level Way (in C++)

If you publish long-form posts on the web, you’ve probably felt the friction of keeping your RSS feed in sync. I did…

recreational-programming

A New Way to Explore Your System on Linux

Introduction On Linux, productivity often comes from small but powerful tools. dmenu and rofi are great examples: minimalist application launchers that make…

recreational-programming

Automating YouTube Video Imports into My Website with One Magic Bash Line

Introduction Over the past months I’ve been downloading my own YouTube videos with yt-dlp. It’s a fantastic tool for archiving, and I’ve…

recreational-programming

Building My Own Parser in R - A Custom Syntax Experiment

Introduction This was one of my older projects, a little bit eccentric but very educational. I wanted to see if I could…

system-design

Building InFoEnd: An End-to-End Encrypted Chatroom in Go

Introduction InFoEnd is my first experiment with building a secure chatroom application in Go. The goal: create a real-time messaging system where…

default

Reimplementing diff in C++: A Minimalist Approach

Why Rebuild Something That Already Exists? The diff command is one of the cornerstones of the GNU/Linux ecosystem. It’s simple in appearance,…

default

Automatic Documentation for Any Codebase

Introduction When working with R, I loved how Roxygen lets you generate clean documentation directly from comments in your source code. But…

software-computational-architecture

Reimplementing Cross-Validation for KNN in R (from Scratch)

Introduction After reimplementing K-Nearest Neighbors (KNN) from scratch, I wanted to take things a step further: build a cross-validation system entirely in…

software-computational-architecture

Reimplementing K-Nearest Neighbors (KNN) from Scratch in R

As part of my exploration of machine learning fundamentals, I decided to reimplement classic algorithms from scratch instead of relying directly on…

software-computational-architecture

Optimizing the Exponential Function in Cherubin

Cherubin is my C++ library for computing very large numbers represented as strings. One of the hardest functions to implement efficiently in…

software-computational-architecture

Reimplementing the Cauchy Distribution in Fulgurance (C++ Statistics Library)

Introduction Fulgurance is my C++ statistics library where I reimplemented several probability distributions from scratch, including the Cauchy distribution. The goal of…

software-computational-architecture

Cheating a Bit: Approximating atan, arccos, and arcsin in the Cherubin Library

Introduction This project is part of my Cherubin library — a C++ library for computing very large numbers represented as strings. Because…

recreational-programming

SoundCutr: An Early Attempt at Voice Extraction in Audio Files

Introduction Think of this article as a small time capsule of my programming journey — proof that everyone starts somewhere, and that…

default

Implementing DataFrames in C++: A Custom Approach for High-Performance Data Manipulation

Introduction When working with data, Python and Pandas dominate the landscape. They provide an intuitive way to load, transform, and analyze datasets.…

functional-programming

How Haskell (and the Functional Mindset) Rewired the Way I Think About Code

I didn’t set out to “become a functional programmer.” I stumbled into Haskell after years of imperative and OOP work, mostly focused…

system-design

Building an HTTP Server in Rust Without a Framework

All code excerpts below are highlights of the full implementation. See the complete source on GitHub: julienlargetpiet/HTTP_Server. Why write your own server?…

system-design

Building an Encrypted Terminal Chatroom in C — A Personal Engineering Story

I built a tiny chatroom that runs entirely in the terminal, written in C, with all messages encrypted. This article is my…

recreational-programming

Validating JSON Syntax: A Conceptual Approach

In modern systems, JSON has become the de facto standard for exchanging structured data. Its popularity comes from its simplicity and readability.…

software-computational-architecture

Emulating Binary-Level Operations and Number Representations

At the heart of every computer lies a simple truth: everything is binary. Whether you are working with integers, floating-point numbers, or…

default

Editing My YouTube Videos the Weird Way: With Nothing but ffmpeg

Most people edit their YouTube videos with slick GUIs: Premiere, DaVinci Resolve, Final Cut Pro, even OBS + Shotcut for the open-source…

software-computational-architecture

Unsolved problem !!!

FormalismConversion (Haskell) Statement and motivation (inspired from pb.93 of 99 Problems in Haskell) This problem originates from the motivation to find all…

recreational-programming

Custom Encoding For Integers

Ok, so i had to encode a structured data, a positive integer in this case representing the space for the server to…

recreational-programming

Authentication Without Cookies

Context Recently, i've been programming a simple cloud webserver in Go. And of course, it is unavoidable when including accounts, how to…

system-design

Simple Compression Algorithm

Ghost in the Shell, 1995 I've just finished implementing a simple text compression algorithm in C++, i will talk about its implementation…

default

Implement Core Operations

I have just finished developing a library for manipulating numbers so large and/or precise that no conventional datatype can encode them. You…

recreational-programming

Symetric Encryption Protocol

Introduction How i've implemented an original symetric encryption protocol with combinatorial mathematics repo Or download on this website as zip: zip It…

recreational-programming

A ReGex Dialect

Introduction In this article i'm gonna present you a method to implement RegEx. Link: repo Or on this website: zip Before the…

recreational-programming

An Original Transformation Engine

Introduction In this article i will introduce you, in short, how i've implemented transformation engine XSLT like from scratch (with C++). repo…