Publications

Observer 9 Securing the software supply chain

Finance & Technology Conference on Decentralized Finance

C4DT Conference on Software Supply Chain Security

`cargo-tarpaulin`: code coverage for Rust

Coverage? Testing is one of the most important step of code validation. One would argue that an untested code is akin to a rogue program destroying what it can in its way. But what tests the testing? How do you know that your testing infrastructure is indeed simulating most behaviors…

Discovering Nix

What is Nix? I recently had the opportunity to play with Nix, which is a package manager and an OS based on this package manager. Nix is special in the sense that it claims to only make reproducible builds that can’t break the system. But how? The package manager is…

Rust vs. Haskell

  vs. Today we looked at the following article, which compares Rust and Haskell: https://serokell.io/blog/rust-vs-haskell Even though I did some dabbling in Haskell, I never understood how close the two are. Currently I think I’m quite proficient in Rust, so I can follow the article quite well on that side.…

Observer 8 The rise of ethical AI

C4DT FOCUS 5 How is China regulating big tech algorithms

Mob programming – Adventofcode Day 12

During the month of December, Advent of Code passes out a new puzzle every day. The daily challenges are a fun way to learn new algorithms and getting to know new ways of programming. In our software engineering team we followed along at least the first half of the programming challenges…

2022 Annual Report – C4DT

Observer 6 Obligation of Cyberattack Reporting; Why, How, and for Whom?

Observer 7 Der Service Public im digitalen Zeitalter

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,…

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…

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…

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…

C4DT FOCUS 4 Happy fourth birthday, GDPR!

Cyberattack Reporting Obligation

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…

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…

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…

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…

C4DT FOCUS 3 Hacking in times of crises

Omniledger

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