Archivist's Mumbling
  • All
  • English
  • Français
  • русский
Ludovic Lagouardette

Ludovic Lagouardette

Founder of NekoIT, Developer and Cloud architect

France •
31 posts •
English

Fast logging

Everyone loves logs, but everyone hates logging. Logging is such a performance hindrance to get right I share here some napkin drawings of how to do it relatively fast.

  • Ludovic Lagouardette
    Ludovic Lagouardette
4 min read
C++

Correct benchmarking

Benchmarks and microbenchmarks have been a staple of computer science for the better part of its history. We spent a lot of time learning about fast code and how to measure it. You

  • Ludovic Lagouardette
    Ludovic Lagouardette
14 min read
English

Readable code: a guide to absolute beginners

I am a teacher, I am in contact with beginners very often and beginner developers often do not feel the necessity to write their code in a nice, cleanly indented fashion. If you

  • Ludovic Lagouardette
    Ludovic Lagouardette
4 min read

Business/Behaviour Architectures

Well divided responsibilities are generally a sign of a healthy codebase. MVC, stacks such as MEAN and LAMP, all the Go4 design pattern shenanigans... Those are just ways to this mean. Another way

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Concurrency with nothing, Part 2

To understand concurrency, it is very useful to have access to a form of concurrency that we can tinker with. Here is one: green thread, also called stackful coroutines (which is not entirely adequate but is a close approximation).

  • Ludovic Lagouardette
    Ludovic Lagouardette
7 min read
English

Concurrency with nothing, Part 1

Concurrency is when several execution threads exist within a program and interract with a shared state. An execution thread is not necessarily an operating system thread. It can be a lightweight thread, a coroutine, or even another process.

  • Ludovic Lagouardette
    Ludovic Lagouardette
7 min read
C++

Syscalls for Linux on Clang++

Here is a snippet of code to perform system calls on x86_64 in C++ (Clang or GCC) without any standard library: #pragma once #include <cstdint> #include <cstddef> template&

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Digression 001

  • Ludovic Lagouardette
    Ludovic Lagouardette
1 min read

IEEE754 doubles and uniform random distribution in C

IEEE754 floating point numbers have 3 parts: a sign (1bit), an exponent (11bits) and a mantissa (52bits). To translate into C: union { struct { unsigned long long m : 52; unsigned long long e : 11;

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Minimal amout of code needed

It is no secret that I don't like dependencies. I don't like dependencies and I hate external dependencies. But there is something I hate even more: small and very small dependencies.

  • Ludovic Lagouardette
    Ludovic Lagouardette
4 min read
English

Replication popularized

Data replication is a corner stone of distributed systems: since the very beginnings of cloud computing, being able to assert that pieces of data would not be lost in an incident always was

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Supervision popularized

Supervision is a way to ensure a computer service does not go out of service should a key component fail. The principle is rather simple: another computer or program continuously tracks whenever the

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

On Linux, FSF, GNU, corpos and more

I don't know much about the turmoil that falls like a storm on the free software and open-source world. The landscape of free software and open-source software is to me, and always has

  • Ludovic Lagouardette
    Ludovic Lagouardette
3 min read
English

What is even a file ?

Sometimes what you think is obvious and simple really is not. If my father in his 50s asked me what is a computer file, how would I answer? A file is a self

  • Ludovic Lagouardette
    Ludovic Lagouardette
3 min read
English

About tools

Computer science may be one of the fields where we spend the most of our time making tools. Whenever there is something to be done, there need to be a tool specifically engineered for that.

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

My motivations: why do I make SStorage the way I do

SStorage is an important project for me, I have spent more than an entire year worth of work into this project. It started on the 4th July 2019 with the first prototype of

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Cloud storage consensus: the early bird technique

Consensus is one of the complex pieces of a distributed system. Consensus is what leads to consistency. SStorage uses a peculiar technique that is partially decentralized which I am going to demonstrate and

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Encryption popularized

Encrypting data. You may have read about that dozens of times, but what does it means?

  • Ludovic Lagouardette
    Ludovic Lagouardette
3 min read
English

Plan9: why it matters to a secure cloud storage developer

It is hard to make correct computer software. It is harder to make correct research computer software. It is even harder to make correct distributed research computer software. So, why does Plan9 matters

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
English

Hacking popularized

Hacking popularized: What does it means? How could my insert online service account be hacked? We are here discussing the key principles of hacking so that it doesn't happen to you.[1] Like

  • Ludovic Lagouardette
    Ludovic Lagouardette
3 min read
English

Bloomfilters and their role in cloud storage

As software craftpersons, it is important to have a variety of tools for fixing poor performance. Bloomfilter are generally used to solve a cardinality problem: is an element probably in the list or

  • Ludovic Lagouardette
    Ludovic Lagouardette
3 min read
English

The C++ Standard Library for cloud software development

C++ is one of the most powerful programming languages in its semantics. The language is so capable that with a little amount of assembly it is nearly capable of any feat in computer

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
C++

Freestanding C++: Why is it useful?

A freestanding implementation is extremelly tuned down in terms of contents. The benefits mostly are: Tiny executables: you can prune down the contents of your software very easily. Code written for a freestanding

  • Ludovic Lagouardette
    Ludovic Lagouardette
1 min read
C++

Freestanding C++: What does it mean?

A freestanding implementation of C++ is an implementation that can potentially have all of the features, but not the library or tools to support development in it. Historically, the following headers are available:

  • Ludovic Lagouardette
    Ludovic Lagouardette
1 min read
English

An overview of how torrents work

Torrents are since years a very convenient way of sharing large files to a wide audience in an inexpensive way. Used and abused, they even made it in Facebook server deployment system for

  • Ludovic Lagouardette
    Ludovic Lagouardette
2 min read
Archivist's Mumbling © 2023
Latest Posts Twitter Ghost