RSSAmplifier

Blog

Kiesse_

Never stray from the way.

nskm.xyzRSS feed ↗41 posts

Latest posts

An agent in my workflow

Hook Last week, I was asked how Claude Code actually improved my productivity, past the pitch of "it writes code for you." I didn't have a sharp answer on the spot. Turns out the honest answer isn't about writing code faster, it's about writing the thing that does the task once, instead of re-explaining the same task every time. ToC What it is How it fits your workflow A practical…

ITIL 4... as fast as possible

Disclaimers Opinions expressed in this post do not reflect the views/positions of no affiliated group. Unto Caesar what is Caesar's: Claude helped beautify all the diagrams used in this article. Hook My hierarchy asked me to take the ITIL v4 Foundation certification. I have had a genuinely hard time seeing how this exam would help me do my job better. It has been due for days, and I kept…

Samplyr

Disclaimer Render unto Caesar what is Caesar's: Claude helped me find up-to-date documentation links. No other disclaimers for this article. The message that found me in Thiès It's Saturday, around 1pm. Usually I'm lying down at that time on a Saturday, but not this one, I was outside, under the Senegalese sun. With a few good friends, I was wandering around Keur Cherif Lo , a small…

Developer Growth Report — 2026-06-22

Developer Growth Report Period : 2026-06-15 to 2026-06-22 Generated : 2026-06-22 Work Summary This week spanned 7 projects and 131 recorded messages — a dense, multi-domain sprint. The dominant thread was the WALIP health surveillance platform : auditing 6 Django microservices (consultation, analyses, patient, notifications, organizations, bio_bank), reasoning about cross-service data ownership,…

Work Report — 2026-06-08 to 2026-06-22

Work Report — 2026-06-08 to 2026-06-22 Period : 8 June 2026 to 22 June 2026 Generated : 22 June 2026 Summary The dominant theme of the period was stabilisation and feature expansion of the WALIP platform — a six-service web application for epidemiological surveillance, currently deployed across multiple countries in West Africa. The most critical delivery was fixing a silent failure in the…

Developer Growth Report — 2026-06-08

Developer Growth Report Period : 2026-06-01 to 2026-06-08 Generated : 2026-06-08 Work Summary This week touched nine separate projects across backend microservices (Django/Python), an Angular frontend, documentation pipelines (Quarto/Pandoc), and infrastructure tooling (Kubernetes, Docker, shell scripting). The dominant technical focus was on the backend microservice platform:…

Work Report — 2026-05-25 to 2026-06-08

Work Report — 2026-05-25 to 2026-06-08 Period : 2026-05-25 to 2026-06-08 Generated : 2026-06-08 Summary The dominant theme of this period was security: a coordinated hardening sprint touched six backend services simultaneously, closing two separate credential-exposure vulnerabilities before they could be exploited. Alongside that, a soft-delete mechanism was delivered for clinical data models in…

ITIL 4 Foundations

.it { border-collapse: collapse; width: 100%; margin: 1.2em 0; font-size: 0.88em; } .it th, .it td { border: 1px solid #30363d; padding: 8px 13px; text-align: left; vertical-align: top; line-height: 1.5; } .it thead th { background: #161b22; color: #388bfd; font-weight: 600; letter-spacing: 0.02em; } .it tbody tr:nth-child(even) td { background: #0d111799; } Disclaimers Opinions expressed in this…

Developer Growth Report — 2026-04-21

Developer Growth Report Period : April 15–21, 2026 Generated : 2026-04-21 Work Summary This week split across three distinct areas. The largest chunk was engineering work: designing and beginning to implement Notification System V2 across the backend, building the ipd-notification-client shared library from scratch, and migrating several services. Alongside that ran a sustained investment in…

Work Report — April 7 to April 21, 2026

Work Report — April 7 to April 21, 2026 Period : April 7–21, 2026 Generated : 2026-04-21 Summary The dominant theme of this period was hardening: hardening how notifications are routed across services, hardening email delivery against a vendor platform change, and hardening the deployment pipeline across all six backend services. The single most important delivery was the shared notification…

From rsync to CI/CD: automating a static site deployment

Disclaimers Opinions : The views expressed here are my own unless otherwise specified. They do not represent any employer, organization, or affiliated group. Scope : This case study documents my personal journey automating a static Zola site. Your infrastructure needs may differ. Audience : This article assumes DevOps familiarity. You should be comfortable with Docker, shell scripts, git…

Vectors

Disclaimers : Opinions : The views expressed here are my own unless otherwise specified. They do not represent any employer, organization, or affiliated group. Code examples : All code examples are educational. Production use requires careful consideration of performance, security, and your specific data characteristics. Model choice : The all-MiniLM-L6-v2 model is a practical default, but…

AWS (Recap)

Disclaimers: Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. I've strived for accuracy throughout this piece. If you catch any errors, please reach out — I'd be grateful for the…

AWS (Day 8)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. This article is educational content . The examples are intentionally simplified for clarity. All tools featured here are free and…

AWS (Day 6)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. This article is educational content . The examples are intentionally simplified for clarity. Before using these patterns in…

AWS (Day 5)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. This article is educational content , not a production hardening guide. Before securing a real EKS cluster, consult the AWS EKS best…

AWS (Day 4)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. My employer says I don't have the right to share the source code I've written in the course of my work. So, I'll try…

AWS (Day 2-3)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. I don't agree with this, but my employer says I don't have the right to share the source code I've written in the…

AWS (Day 1)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. I don't agree with this, but my employer says I don't have the right to share the source code I've written in the…

Syndromic Surveillance! (Part 1)

Disclaimers : Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified , those of the authors, me . Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups. I've strived for accuracy throughout this piece, but if you catch any errors, please reach out—I'd be grateful for the…

Free and Open Source Software.... Again!

Table Of Content: 1 Intro 2. Why contribute 3. Skepticism 4. How to contribute 5. Success stories 6. More on the topic Intro I'm tired of seeing that the majority of Africans still don't get it , and probably never will, that free and open source software represents the optimal path forward for our continent. One of my brightest students asked me to talk about free and open source…

C Pointers

In my last post, I've written about lots of things but not about C pointers. I thought the topic deserves a post in itself because it's one of the most important features of the C language. Let's start with some music please. ToC Introduction Declaration & initialization Operators Use cases Arrays & strings manipulation Pass by reference Memory allocation Data structure…

C

I spent some time adding type annotations to some Python code. Shoutout to all the people at Logilab , a really awesome team doing really awesome things. All those type annotations made me more and more interested in static typing... and in C programming. Target audience : people who already have an experience with programming. People who may have written some C programs in the past and who want…

Decorators

I was watching a really interesting video about buildings architecture in New York, when one of my DIT student asked me to explain to him what was happening in this piece of code . A function I have written few months ago to check for valid authentication tokens. In this post, I will try to show how decorators in Python , a powerful concept, allows us to apply new functionality without modifying…

Test driven interview

Introduction: Test Driven Development TDD is a method of implementing software that rely on software requirements being converted to test cases before software is fully developed. Red, Green and Refactor is the 3 phases of TDD. When followed, this order of steps helps ensure that you have tests for the code you are writing and you are writing only the code that you have to test for. Context:…

Linear regression

For the Dakar Institute of Technology , I give Python introductory classes. During one of my sessions I was asked about simple linear regression with Python. Let the music play TOC: Introduction First solution Reading the data set Plotting the data set Splitting the data set Least squares estimates Mean Variance Covariance Estimates Prediction How good is the model Regression line The complete…

Wall of Fame

Here it is, the Wall of Fame.

Writing

I often receive resumes from people looking for a job and asking me for help. To all of them I always ask: "Do you have a website ?", "Do you write ?". And most of the time, the answer is negative. Writing skills are important because they allow the reader to get their first impression of who is the writer. For example: writing skills displayed in resume, cover letter email communications,…

Function pointers

In Python, we say, functions are first class citizen . This means, functions can be used like any other objects. They can be stored inside variables, they can be passed as argument to a function, they can be returned from a function. The following is a very basic example: square = lambda x: x * x cube = lambda x: x * x * x operations = { 1 : square, 2 : cube} choice = int(input( "Square (1) or…

My journey to type checking 7521 lines of Python

I've spent the last couple of months adding type hints to the RQL package . In the first part, I talked you the reasons I think Mypy may be useful. In this part, I'll talk about the process I've followed for adding type annotations to RQL. Recap of the first part: Type hints are mainly useful for the maintainers , the human readers of large code bases . The people who read and debug…

To type or not to type? That is the question

I've spent the last couple of months adding type hints to the RQL package . In this first part, I'll try to tell you when I think Mypy may be useful. In a second part , I'll talk about the how , the process I've followed for adding type annotations to RQL. In a last part, I'll talk about what I've learned during the process. What? Yes, in case you were living under a…

Elephant in the room (part 1)

I'm living in a Continent where ( it sounds like ) nobody really cares about software freedom, data privacy, surveillance. I guess, people here are simply too busy trying to stay alive , not enough time to think about FOSS. Or maybe they're simply confused, maybe they simply don't know. The topic is wide, it's easy to digress, and I'm not sure about the best way to tackle…

Django single file project. Again

This article is a follow up on the one I've written few years ago. Special shoutout and thanks and hugs and kudos to Javier Buzzi for taking the time to improve the original script. TL;DR: download old version & download new version VERY IMPORTANT DISCLAIMER The content associated with mlvin.xyz may be very offensive to some people. I've lost the ownership of mlvin.xyz a very long time…

Free and Open Source Software

I'm often asked why do I prefer to use free software in places (Dakar, Libreville, Kinshasa, ...), where basically every human being is using closed source and proprietary software? Here are some of the reasons. Not being able to pay for a license Learning informatics was equivalent to installing a bunch of software requiring me to pay for a license. And coming from a very modest family,…

Threads

I've written something about processes Let's write some notes about threads. This is not really an introduction to threads. It's more like a little bit of introspection, so we can have an interesting perspective of what are threads. What's really a thread? Processes each have their own address space. Threads exist as subsets of a process. Threads are just multiple workers in…

Django single file project

Disclaimer? The main purpose of this post is learning. Like any tool we should explore and find ways to bend it until it breaks. You should normally not use those techniques in real life projects right ? For this post, I'm assuming you're using Django 1.10.4, and Python3.6. Single file? Before reading Lightweight Django , I never tought it was possible to build a Django project in a…

Make

if you have some complex and esoteric shell commands that you have to run on a regular basis, it can be convenient to just package them up somewhere , so you don't have to remember them or type them out every time . Why, I don't use Makefiles more often? Even though I know I should. One of the reason may be because, as an Emacs user, automating simple tasks is funny using Emacs Lisp .…

How to create processes

We've seen processes , We've said lots of things about processes, but we did not talk about process creation. Let's see how to create a process in C, in Golang , and in Rustlang Disclaimer: I'm not doing a comparison to find out which one is better than the other. I just want to explore how the same task can be done using different approaches. Fork and Exec: UNIX processes are…

Processes

As a Debian user, I often want to see the active processes, sometimes, I want to kill them. I know how to launch a new process, inside my Python scripts. But what is a process? A process is the execution context of a running program. When an executable program is read into memory by the kernel and executed, it becomes a process. Processes are dynamic entities, they are constantly changing as their…

Network namespaces

I use LXC containers mainly as isolated environments when I'm writing code, but also when I just want to try the last version of a package without being obliged to break something on my current configuration. This is the first part of a serie about LXC containers. In this post, I'll share with you what I've learned about network namespaces. Everything here will be done under Debian…

Introduction

Hello, I'm Patrick Di Kiesse, born and raised in central Africa , currently based in West Africa, Dakar Senegal . I am an experienced software engineer, passionate about free software . I have a strong background in developing backend solutions. With almost 10 years of hands-on experience in the field, I have successfully contributed to free software and I have successfully developed and…