SietseChain

My own Blockchain written in Python, capable of mining blocks and making transactions using the Python Flask framework. I started this project by following a tutorial about how to create your own blockchain. This is obviously not meant to be an amazing functional blockchain (in fact, it is a pretty crappy one), but this project gave me a better understanding of how blockchain networks function in detail, simply for research purposes.

Read More

Corewar

A 42 Project where me and my team of two have to create a working Corewar Virtual Machine, Redcode assembler and our own Corewar champion!

Core War is a 1984 programming game created by D. G. Jones and A. K. Dewdney in which two or more battle programs (called “warriors”) compete for control of a virtual computer. These battle programs are written in an abstract assembly language called Redcode. At the beginning of a game, each battle program is loaded into memory at a random location, after which each program executes one instruction in turn. The goal of the game is to cause the processes of opposing programs to terminate (which happens if they do not execute a live instruction with CYCLES_TO_DIE), leaving the victorious program in possession of the machine’s memory.

Read More

ft_ls

Recreation of UNIX’s ls command. As simple as listing the files in a directory…

Read More

ft_printf

Recode libc’s printf.

At 42, students are not allowed to use library functions. We can only submit wholly self-written functions (no strlen, strdup, bzero etc.). ft_printf must be formatted in the same manner as libc’s printf. For example:

ft_printf("%s is a %d student\n", "Sietse", 42);
printf("%s is a %d student\n", "Sietse", 42);

Should give back:

Sietse is a 42 student
Sietse is a 42 student
Read More

Pipex

Pipex is a 48-hour project at Codam Coding college located in Amsterdam. In this project we needed to recreate the UNIX Pipeline. In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. We recreate this by creating temporary processes inbetween, so that the output of process 1, is directly used as input for process 2.

Read More

Libft

This is the first 42 project. The task is to recreate various standard C library functions, as well as extra things which might be useful, like linked lists for example.

Read More