Mob programming Adventofcode day 12

For our weekly “show and tell” at the C4DT Factory in the engineers meeting I proposed to do a mob programming for today’s adventofcode. As I want to continue learning rust, I proposed to do it in this language. I gotta say that while the first days of adventofcode were…
News type :

eBPF: fast bytecode for the kernel

Why? Nowadays, Linux is deployed in many component of the network fabric. Your home NAT probably runs it, your datacenter’s router also. As it needs to handle incoming packet on gigabits links, the speed at which the system handles the packets becomes important. If you run your router in user-space,…
News type :

Revisiting Kademlia

For a side-project of mine I’m looking at Kademlia (Wikipedia), which is used in peer-to-peer (P2P) systems. One problem of P2P systems is that nodes come and go randomly. So it’s not easy to retrieve stored data. Where to store data? And then how to find it again? What happens…
News type :

What is DevOps?

DevOps is rather a confusing term. Everyone uses it a lot and not everyone is able to define what it really means. Here are some thoughts of what our team think when we hear DevOps: CI/CD. Source-code, compilation. Kubernetes, Ops responsabilities. Automated tests. These are some good talking point, as…
News type :

Developer skill matrix

Some time ago I read the developer skill matrix and thought it was very interesting. I put it in the infamous “Read later” bookmark folder, and actually came back to it! So last Monday, during our regular group catchup time, I presented this page. In fact every week one of…
News type :

Having fun with stackoverflow stats

For our weekly meeting-presentation I took the stackoverflow-stats from 2022. Then with the team we went through it and discussed the different statistics. First I thought we’ll get bored quickly, but after 1h30 I had to push the meeting to other subjects. So here are some things we found: Developer…
News type :

asdf: a great way to manage all developers CLI tools

Do you ever code in modern Javascript? Then if you have multiple projects you are probably happy that nvm exists. Or maybe you’re more of a Python person? Then you must know about pyenv. Java? jenv or sdkman! Thing is, you often need to have multiple versions of a tool…
News type :

mosh: the mobile shell

Have you ever tried using ssh on a train? Or closed your laptop and found that all of your remote session are now frozen? Or using it via a crowded antenna tower? In all theses cases, ssh fails to work as expected. This is due to the fact that common…
News type :

Tauri for cross-platform apps

One of the most well-known framework to create cross-platform apps is Electron. In it you write your app in Javascript or Typescript. This code runs in a node environment and the GUI is displayed in a browser. Like this, the app can be ported easily to different operating systems. Even…
News type :

Omniledger

A fast and efficient blockchain created by the lab of prof. Bryan Ford.
News type :

test.vim: running tests the easy way

As we all know, writing tests when developing software is very important¹. Indeed, most modern programming environments have frameworks to write and run tests, sometimes even in the standard tooling: pytest for Python, cargo test for Rust, go test for Go, etc. Let’s set aside the actual writing of the…
News type :

The SwissCovid App

In response to the COVID-19 disease that has stormed the world since early 2020, many countries launched initiatives seeking to help contact tracing by leveraging the mobile devices people carry with them. The Federal Office of Public Health (FOPH) commissioned the effort for Switzerland, which resulted in the official SwissCovid…
News type :

Cross-platform network programming in wasm/libc

I’m still working on my fledger project. It’s goal is to create a node for a decentralized system directly in the browser. For this I want the following: Works in the browser or with a CLI: have a common codebase but use different network implementations Direct browser to browser communication:…
News type :

Shoup on Proof of History

For a long time I tried to understand what Proof-of-History brings to the table. What is it useful for? What problem does it solve? At the beginning of may 2022, Victor Shoup, who is a renowned cryptographer and currently working at DFinity, took a deep dive into Proof of History.…
News type :

Lightarti – a lightweight Tor library

Lightarti is a mobile library developed in Rust, in collaboration with the SPRING lab at EPFL, the Tor team, and the original Arti library team.
News type :

Disco

Disco is a framework to implement machine learning algorithms that run in a browser. This allows testing new privacy-preserving decentralized ML algorithms.
News type :

Magic-Wormhole: communicate a secret easily

The problem Here is a common scenario we have all run into: you need to communicate some piece of secret information, say a password, to another person. Perhaps it’s on-boarding a new colleague, or to allow access for a partner. But you don’t want to compromise this secret by transmitting…
News type :

Tandem

The Tandem / Monero project is a collaboration with Kudelski. It secures private keys in a privacy-preserving way.
News type :

`derive_builder`: usage and limitations

Basics The builder pattern is a well known coding pattern. It helps with object construction by having a dedicated structure to help build the other. It is usually used when many arguments are required to build one. The example codes are written in Rust, but the concepts behind these can…
News type :

How to read your bank-account on a public blockchain?

One of the ways public blockchains are touted is that they can replace your bank account. The idea is that you don’t need a central system anymore, but can open any number of accounts, as needed. However, as there is no central place, it is sometimes difficult to know how…
News type :