During one of my latest gigs, I had to perform data recovery and security analysis on machines from an ephemeral environment
such as a live ISO. My first choice was to to rely on ready-to-use solutions such as GParted Live 
or fully-featured security distributions such as Kali Linux. 
 However, every time I booted into one of these systems, I ended up spending more time tuning the…

 
 
 zFetch 
 Lightweight system information fetcher for Linux. 
 [ Source Code ]
 
 

 zFetch is a lightweight system information fetcher for the Linux platform developed in C99 without any additional dependency. Unlike other system fetchers,
this one focuses on providing an easy interface and configuration syntax, extremely fast startup and a reasonable…
In this guide we will see how to install a minimal Arch Linux system on a UEFI x86_64 machine with LUKS encryption. The setup uses an “almost full” 
disk layout, meaning that the root partition will be encrypted while the boot partition will remain unencrypted. We will also configure the bootloader using systemd-boot . 
 Before proceeding, download the relevant ISO files from…

 
 
 backup.py 
 Modular and lightweight backup utility 
 [ Source Code ]
 
 

 backup.py is a small and lightweight backup utility written in Python that lets you save, encrypt and verify your personal data. I designed
it with two main goals in mind: portability and modularity , meaning that it has no external dependencies and you can control its…

 
 
 Datum 
 Collection of dynamic and generic data structures. 
 [ Source Code ]
 
 

 Datum is a small library implemented from scratch in plain C99 to
port common data structures and algorithms to the C programming language. Right now it provides the following features: 
 
 Support for dynamic array, associative maps arbitrary large integers and…

 
 
 VulcanOS 
 Monolithic x86 kernel written in C and Assembly 
 [ Source Code ]
 
 

 VulcanOS is an x86 monolithic kernel written in C from scratch and built around the UNIX philosophy. I originally created it for
a school assignment. Needless to say, it’s not a real operating system and never aimed to be one; it’s just a tiny personal…
In an age when your data is constantly tracked, profiled and sold, having a private and self-hosted alternative
to host your personal repositories has become extremely important, especially if you use Git for
more than just hosting open-source projects and want to be 100% sure than your secret
keys, sensitive documents and personal information are not being harvested by your government…
The Debian installer provides a versatile approach which allows users to cover most installation
scenarios, from simple setups to advanced configurations. While it is perfectly suitable for
the majority of use cases, certain situations require greater flexibility; for example, when
it is required to manage specific phases of the installation process or when system options
must…
In this guide, we will outline the process of installing and configuring a Wireguard VPN
integrated with Pi-Hole for DNS level ad blocking. The resulting network will effectively block
advertisements, which is particularly useful on mobile phones or on any platform where
ad blockers cannot be traditionally installed. 
 Before proceeding, be sure to have an updated installation of…
Buildroot is a set of tools to simplify the process of bootstrapping a Linux distribution
for embedded devices. The project is fully open source and is driven by its community which
keeps it updated and functional.
It is an excellent choice for most embedded applications. It significantly simplifies
the creation of a complete embedded system by providing an easy-to-use…
In this guide we will see how to use FreeBSD Jails using the Z file system. This will allow
us to create a skeleton jail (i.e., a base image) that will be copied every time we need to
deploy a new service. One of the key advantages of this approach is that each Jail is initially
identical to the skeleton, meaning that it consumes virtually no additional space until its
data begins…
About Me 
 Hi, my name’s Marco. I’m 25 years old and I live in Italy. I’ve studied mathematics and computer science and I use
this website to share notes and personal thoughts on these topics. 
 I’ve started this website around 2016 when I was just 15 and was taking my first steps into these these two fascinating fields.
Since then, it has connected me with…
Contact Me 
 If you have any question about one of my guides or if you would like to propose a suggestion, feel free to contact me using the
handle listed below: 
 
 📬: email@marcocetica.com ; 
 🔑: 4506 0A94 9E90 D0FD . 
 
 To import my GPG key into your keychain, issue the following command: 
 $ curl -sL https://marcocetica.com/misc/gpg.txt | gpg --import 
…