Tips & Tricks

Floyd’s loop detection (and correction) - October 03, 2019

This article is about the algorithm by R. W. Floyd for detecting and removing a loop in a linked list data structure. It is a classical question during IT job interview, generating a lot of badly written web pages on the topic.

Loading C code (plugins) at running time - September 15, 2019

Few years ago I stumbled upon this (well-established) technique for loading c-coded plugins at running time. Since I recently had to recall these concepts but I could not easily find back the sources I decided to describe it in few notes.

Web interface for Raspberry-pi GPIO - February 13, 2019

This post is about building a service running on a RPi3 with a web page for interacting with the digital pins, namely turning a led on and off. It is meant to be a showcase of the potential of my CRut framework project, developed alongside to PeerStreamer-ng.

My way for C programming - September 05, 2018

These notes are intended to describe my habits in writing C codes as I sometimes need to pass them to collaborators.

Data modeling - June 21, 2018

Often it happens to have a stochastic process producing Independent Identically Distributed (IID) variables one has to interpret. Let be our (continuous or discrete) random variable and a random sample we got from it.

Project management - November 06, 2017

The following are notes on project management basics. They are mostly well-known best practices but I took inspiration from Successful Project Management, by Trevor L. Young. I divided the contents into two main part, the first is about the context of a project, the enterprise and basic definitions. The second part is focused on the proper project management.

Complexity classes - November 02, 2017

The following notes are meant to act as a reminder for the most popular problem classes.

Cracking 101 - November 01, 2017

This post is about the basis of binary cracking; the input is a toy program asking for a password string and behaving accordingly. The goal is to change the binary so that the password check is always successful.

Referencing publications - June 26, 2017

In my work I often have to cite mine or other works in the form of Bibtex references. I end up having a database made of pdfs to be read and continuously checking Google scholar for the Bibtex entries to be used.

Simple Systemd service for monitor auto-configuration - June 25, 2017

I like to experiment with my laptop testing different combinations of operating systems and desktop managers but it has been a while my systems are quite stable running Xubuntu + i3. Despite I like the minimalistic simplicity of i3, sometimes it requires some kind of hacks to do stuff usually straightforward in other more user-friendly systems. This post is about a background utility auto-configuring monitor devices connected to my Xubuntu platform.

Optimization notes - April 21, 2017

This article is a result of an investigation I conducted over the optimization literature. As a researcher in networking I rely often on optimization techniques and I need to understand them in depth. So far, I have not found any textbook or article which I fully like so I decided to write one myself. This text represents what I wanted to read when I started studying optimization and it is intended to constitute a reminder for the future.

Debian keyboard setup - March 23, 2017

I struggled a bit trying to obtain a keyboard setup for my US keyboards enabling me to use letters with accents. So I report my configuration for future look-ups. (Note: I use the left Window button to activate the accent feature)

Jekyll GIT hooks - February 25, 2017


  • I host my jekyll git repo for this website both on the website server and my github account
  • With only one commit/push I want to:
    1. update bot the git repo on the website server and the git repo on the github account
    2. launch the jekyll serve command an regenerate the jekyll website files

GNU anyware as middlebox - February 19, 2017

Sometimes it happens one needs to set a device as a nat/router middlebox. Here is the (self-explanatory) commands needed on a GNU OS to set up a NAT/router functionalities.

Hello deb! - February 10, 2017

I’m enthusiast xubuntu user and I use deb packages daily. Deb packages are an awesome way to deploy software and manage it for any kind of platform. Nevertheless,

  • not all software in the world comes natively packaged for the deb system
  • there exist several (not straightforward) ways to create deb packages
  • sometimes you just need a quick and dirty solution

Flexible GIT workflow - February 06, 2017

When working with GIT, beyond a certain level, chances are to get the branch tree more an more messy. In this case using a consistent workflow is the only known solution to avoid madness and headaches.

Building a static, liquid website - January 17, 2017

My website born today for work needs. I need a simple-to-maintain and elegant solution to showcase my resume and my research activity. To this end I use Jekyll, a static html file processor and the html5up templates.