English Why public transport costs money? (And "You don't understand why things cost money") The Radical Graffiti social media account posted quite a thought provoking picture today: I challenged this claim with a succint explanation here: BLUE: an interesting observation but surely you can have public facilities,
English A small outlook at genetic algorithms Genetic algorithms are a type of feature optimization algorithms. They are designed to either minimize or maximize the fitness of something of our choice.
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.
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
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
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
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).
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.
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&
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;
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.
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
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
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
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
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.
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
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
English Encryption popularized Encrypting data. You may have read about that dozens of times, but what does it means?
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
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
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
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
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