Blog von
Stefan Pietzonke
Mittlere Dorfstr. 72
77948 Friesenheim

spietzonke (at) gmail (dot) com

Jabber messenger:
koder77 (at) jabber (dot) ccc (dot) de

GPG Key - zum versenden von sicheren E-Mails



edX Microsoft DEV210x: Introduction to C++

Coursera C++ programming for C programmers part A
Coursera C++ programming for C programmers part B
Coursera Machine Learning for All


2014 - 2017:
I developed “Nano VM”, a virtual machine with lots of functions. Running on multiple platforms.

2015 - 2016:
I worked for PACKT publishing as a “technical reviewer” for the book: “Raspberry Pi Networking Cookbook - Second Edition” by Rick Golden. In the book you can find lots of examples for networking stuff possible with a Raspberry Pi.

2017 - 2019:
Working for a IT-company: building PCs and installing software. The range did go from mini PCs like Intel NUC up to high end workstations.

Do DGUV V3 electronics check at work. I’m developing a new VM, called “L1VM”.


My projects are hosted on GitHub: koder77


A tiny but very fast and powerful virtual machine. The VM can be expanded by modules (shared libraries). So there is no limit in doing things. The L1VM is an incredible small executable: only about 40 KiB in size. The VM has a JIT-compiler which can run some opcodes at high speed. You can find more information on the GitHub project page. See the links on the top right of my pages.

L1VM data

A data base for data exchange between programs. The data is hold in RAM only and exists as long as the database server is running. The commands are send as plain text. So you can use “nc” to connect to the server and send commands.


Zerobuild is a small build tool for building C and C++ programs. It is very easy to write the build files.


Cells is a library to connect FANNs together to a bigger neural network. The neural networks are placed as nodes into layers. The output of the nodes in one layer can be linked to the inputs in a node on the next layer. If the neural networks run then the library does run the layers automatically.

Tools, I use

Text editors: Atom and Kate. For debugging: Valgrind, memory leaks and error checker. Electronics and PCB layout: KiCad, Ktechlab. Office: Libre Office. Others: Gimp, Inkscape.



C and C++: design of multi platform software, SDL library and SDL_gfx (for the GUI and graphics part of L1VM). Using advanced technique for developing efficient software. Writing compilers and assemblers “by hand”. This includes the parser! For L1VM I started nearly from scratch, developing a new language I call “Brackets”.


Designing PCBs with KiCad. I developed a LED POV with 8 LEDs to draw patterns into “the air”. One of my other projects is a Parallax Propeller microcontroller board.
My current project is a robot controlled by a Raspberry Pi. It has a 3D webcam and a IR-range sensor to detect obstacles. I use OpenCV to detect the obstacles in front. This is not easy to program.