I had in storage a nice Launchpad Mini, from Novation, which
was unused. This music tool is usually used with production
software such as Ableton Live, but for me, it was a blank
page with which I could do anything I wanted.
As it is is basically a grid made out of soft LED-backlit pads,
each adressed using the MIDI protocol through a USB port located
on its side, it's a hacker's dream.
The goal here is to show Gitlab CI/CD pipelines on the pads,
using different colors for differents statuses, as well as
controlling them through the Launchpad itself. With a simple
press of a button, you could relaunch a pipeline.
With that, a DevOps engineer could then have a broad view of
their pipelines and quickly identify any issue.
The code can be found here.
DNS TLSA records, although very useful, are rarely used in
practice, and are not very well-known.
This kind of record is notably useful to comply with
RFC 6698.
DANE (DNS-Based Authentication of Named Entities) allows one
to use TLSA records, combined with DNSSEC
(Domain Name System Security Extensions, RFC 4033)
to provide an additional layer of security for their users, by providing
the fingerprint of the security certificate used, doing so through signed DNS records.
This then allows users to verify a site's identity, by checking the fingerprint of
the security certificates they receive.
This project automatically updates the TLSA records stored on OVH's DNS servers
using their API, without using a library to abstract these interactions.
It has been completed in a whole week, using Rust. The goal was
development speed, it is provided without any testing whatsoever.
The code can be found
here.
Every year, a coding challenge named "Advent of Code" takes
place between the 1st and the 25th of December. I took part
in the 2021 edition, which can be found
here, and successfully obtained all the stars.
During this challenge, a two-part puzzle is released every day,
like a real advent calendar. These puzzles follow a global story,
renewed every year.
The goal is to complete both parts of the said puzzles, in a timely
manner if possible.
In order to solve each puzzle, a subject is provided, with a
unique dataset as your input, and a small one with its solution
as an example to help you understand the subject.
This project, entirely made using Rust to improve my skills, can be found here.