About me
My name is Alessio Chiapperini, on the Internet you can find me under the alias spidernet or alch.
I have a master degree in Computer Science from Università degli studi di Udine which focused on automatic and formal verification of software, programming languages and distributed systems; my master thesis was on bigraphical reactive systems and its purpose was to define the embedding problem for directed bigraphs, then I translated the problem into a constraint satisfaction problem, whose solutions agree with the solutions of the embedding problem. I then gave an implementation of the proposed algorithm as well as an implementation of directed bigraphical reactive systems and finally conducted some experimental tests to evaluate the performance of the implementation in different scenarios. An article regarding the work done on my thesis is available here.
In my day job I am testing engineer for a wireless semiconductors and modules vendor, which involves testing various aspects of cellular networks, MNO (Mobile Network Operator) and testing communications protocols (FTP, MQTT, etc.) both in a real and simulated scenarios. I also help maintaining the automated test suite written in Perl.
My interests ranges from low-level programming and embedded systems to formal verification, (mathematical) logic, distributed systems, compilers and information theory.
This blog is mainly about what I do outside my studies or job. Here I mainly write about topics that I find interesting, things I’ve recently learned or cool ideas.
The source code of this blog is open source and can be found on Github. If you have any suggestions or if you find any bugs you can report them at https://github.com/spodernet/spodernet.github.io/issues. Also keep in mind that english is not my native language.
License
The content of this site and the source code used in it are public domain and follow the Unlicense.
Software preferences
As far as operating systems goes, I have been a GNU/Linux user since 2009. Recently, I switched to FreeBSD but from time to time I like to use various BSDs or other linux distros. I like small and very simple tools without frills and distractions.
Most of my work is done in Vim and tmux. I have been using tiling window managers for years but since I usually use one or at most two monitor with the same "basic" tiling layouts, I've switched to the simpler cwm(1).
I use pass for managing my passwords. It’s simple, it follows the Unix philosophy and it even lets me track changes using git so I can access them from any device; yes even my phone.
For content consumption I use mpv with youtube-dl and smplayer; my music player of choice is cmus.
For emails I use aerc, an email client written in go that aims to be efficient and extensible. Note that it is still a work in progress, so if you do decide to try it, expect some bugs.
My dotfiles can be found here, they’re mostly stable except my vimrc, I’m addicted to tweaking it.
My favourite programming language is C, it’s very fast, it has a very simple syntax and it’s not a big language, hence you can actually master it, albeit
with some effort and not without turning up your nose in a couple of places (ok more than a couple). However, if you get around its quirks, it’s a really good
language and it will teach you a lot. I fell in love with its simplicity and power, it’s so poweful that it can even format your harddrive if you’re not careful.
Gotta love undefined behavior. C is usually my goto
language unless a particular language is better suited for that domain.
Another language that I like is Haskell. Functional programming has a place in my heart (the first programming course in university was about Racket, a language based on the Scheme dialect of Lisp). Learning and using functional languages really opened my mind and in the meantime probably messed it up too :D. If with C it was love at first sight, with Haskell it’s more of a love-hate relationship.