* I'm Stephane Fontaine, also known online as esselfe.
* I am a hobbyist programmer, Linux systems hacker, and Linux distribution
maintainer, especially active in the Lunar-Linux ecosystem.
* I contribute extensively to Lunar's moonbase-core and
moonbase-other repositories, maintaining and updating packages ranging
from kernels, binutils, systemd and Perl to Firefox, Go and other major
components.
* My strongest programming languages remain C and Bash. I am increasingly
experimenting with Python, PHP, Perl, and Go, particularly where they
provide useful alternatives to C for system utilities, automation, web
services, and infrastructure tooling.
* I have a persistent tendency to turn technical problems into puzzles. I enjoy
tracking down dependency loops, broken build systems, networking failures,
security weaknesses, performance problems, and obscure interactions between
pieces of infrastructure.
* I am rarely satisfied with merely making something work: I tend to keep
refining it, automating it, hardening it, and trying to understand why it
works in the first place.
* I maintain and rebuild substantial portions of Lunar-Linux, including
large dependency graphs and complicated bootstrap situations.
* I regularly work with Meson, CMake, Autotools, Make, systemd, glibc,
binutils, Perl, Python and other foundational components of a Linux
distribution.
* I deal with difficult packaging problems such as circular dependencies,
bootstrap chains, split /usr versus usr-merged layouts, and packages
whose build requirements themselves depend on packages being built.
* I maintain chroots and build environments and experiment with
Docker-based Lunar systems, including both amd64/x86_64 and
aarch64.
* Kernel development and testing are another recurring part of my work. I
follow upstream kernels closely and regularly test newer releases against
real hardware and virtualization environments.
* I have a particular interest in understanding the boundary between the
traditional Unix/Linux model and newer system infrastructure such as
systemd, usr-merge, modern initramfs systems, containers, and declarative
build configuration.
* C remains my primary systems-programming language. I enjoy writing small,
focused utilities and daemons where understanding memory, file descriptors,
sockets, protocols, and system interfaces actually matters.
* I work with libraries such as libmicrohttpd to build lightweight HTTP
services directly into C applications.
* Recent work has included HTTP health-check endpoints, response headers,
HTML generation, environment-variable handling, buffer safety, and static
analysis findings from SonarQube/SonarCloud.
* I pay increasing attention to defensive programming: bounds checking,
string lengths, safe copying, error paths, resource lifetime, and the
difference between code that merely appears safe and code that can actually
be reasoned about.
* I enjoy the contrast between C's low-level control and higher-level languages
such as Python, PHP, Perl, and Go, and increasingly use each according to
the problem rather than trying to force everything into one language.
* I operate and experiment with several VPS and cloud environments, including
LunaNode, DigitalOcean, Akamai/Linode, Vultr, Oracle Cloud, and Hetzner.
* Networking has become one of my strongest practical areas of experimentation.
I regularly work with IPv4/IPv6 routing, WireGuard, iptables, NAT,
forwarding, DNS, SSH tunnelling, reverse proxies, and firewall policy.
* I prefer understanding and controlling the actual packet path rather than
hiding networking behind simplified firewall frontends. iptables and
WireGuard are frequent tools in my infrastructure.
* I build private networks between machines and servers, including routed
WireGuard networks, central tunnel servers, restricted services, and
traffic kill-switches.
* I experiment with SSH bastion hosts, ProxyJump, DNS-controlled access
policies, dynamic allowlisting, and infrastructure that can be controlled
from the command line.
* Troubleshooting networking is one of the areas where my "everything is a
puzzle" tendency is particularly strong: when a container cannot reach
8.8.4.4, for example, I want to know whether the failure is routing,
forwarding, NAT, filtering, container networking, or something further
down the stack.
* I increasingly use Docker as both an infrastructure tool and a way to
experiment with Linux systems.
* I build and maintain container environments, investigate Docker networking,
bridge interfaces, NAT and firewall interactions, and use containers for
isolated services and development environments.
* I also work with VirtualBox and QEMU, maintaining multi-distribution
virtual machines and using virtualization to test systems without
disturbing the primary installation.
* My interest is not limited to running a VM or container: I want to understand
what is happening underneath it—network namespaces, virtual interfaces,
routing, storage, boot processes, and the interaction with the host kernel.
* Security remains one of my major technical interests, particularly from a
practical systems perspective.
* I developed my own encryption utility, chest, experimenting with
implementations in C, Python, Go, and Rust.
* I have explored cryptographic primitives including SHA-512 and SHAKE-256,
flexible hashing modes, key derivation concepts, and the practical problems
surrounding secure handling of passwords and secrets.
* I actively think about security in ordinary infrastructure rather than
treating it as a separate discipline: TLS configuration, SSH access,
firewalling, authentication, password storage, reverse proxies, service
exposure, and secure handling of environment variables all become part of
the same problem.
* I have also been increasingly interested in static analysis and security
tooling, particularly when tools such as SonarCloud identify weaknesses in
otherwise functional C code.
* I maintain and experiment with several personal services and infrastructure
projects across my domains and VPS instances.
* I have experience deploying and securing services behind Apache HTTP
Server, including reverse proxying, TLS, access restrictions, and
WireGuard-only administration paths.
* I operate Vaultwarden infrastructure and experiment with ways of
separating public web presence from sensitive password-management
endpoints.
* I also run private media/music infrastructure, including an
MPD-based streaming setup.
* I have built lightweight custom services rather than automatically reaching
for large frameworks, including small HTTP endpoints, monitoring and health
checks, IRC bots, DNS utilities, and other infrastructure-oriented tools.
* I remain heavily involved with IRC, particularly the Lunar community
on Libera.Chat.
* I develop and maintain lunabot, an IRC bot written in C, including its
networking, SASL authentication, HTTP health checks, security hardening,
and automation features.
* I enjoy building tools that remove repetitive work from system
administration—especially command-line tools that make complicated
infrastructure operations predictable and scriptable.
* I have also experimented with community-oriented projects such as
LunarSentinel, combining Lunar-Linux with security and
penetration-testing tooling.
* I use Linux as my primary environment and frequently experiment with
Sway, Xorg, Fluxbox, swaylock, Wayland, PulseAudio/PipeWire-era audio
infrastructure, and multi-display configurations.
* I enjoy finding unusual ways to combine old and new Linux technologies—for
example, mixing Wayland and X11 environments, experimenting with display
routing, or building small shell scripts around desktop tools.
* My desktop experimentation is generally driven by curiosity rather than
chasing a particular "ideal" setup. If something can be made to work in an
interesting way, I will probably try it.
* I maintain the esselfe.ca domain and various associated services and
subdomains.
* My projects frequently cross the boundary between infrastructure and
creativity: web radio, personal services, visual assets, experimental web
applications, CLI utilities, and ideas for technical documentation or
future writing projects.
* I also enjoy using generative tools as part of the creative process,
particularly for visual experimentation, presentation assets, and exploring
ideas that would otherwise remain sketches.
* My technical interests have gradually expanded from simply "Linux and
programming" into a much broader combination of systems programming,
distribution engineering, networking, cloud infrastructure, containers,
virtualization, security, and self-hosting.
* I am particularly interested in becoming better at the layers between
applications and the operating system: protocols, daemons, system calls,
networking, service supervision, packaging, containers, and infrastructure.
* I continue to explore Python, PHP, Perl, and Go while retaining C and
Bash as the languages I am most comfortable using for serious systems work.
* I am interested in eventually formalizing this experience into a more
recognizable professional path involving Linux administration, DevOps,
cloud infrastructure, systems engineering, or security.
* Certifications such as LPIC-1/2/3 and related infrastructure credentials
remain possibilities, but practical experimentation and building real
systems are still my preferred way of learning.
* I tend to learn by breaking things, investigating why they broke, fixing
them, and then trying to improve the original design.
* I prefer transparent systems that can be inspected from the command line
over abstractions that conceal what is happening underneath.
* I am attracted to difficult technical problems precisely because they force
me to understand the system more deeply.
* My ideal project sits somewhere between engineering, experimentation,
infrastructure, and hacking: something complicated enough to be
interesting, small enough to understand, and useful enough to justify
building it.
In short: I am a Linux hacker, distribution maintainer, systems programmer,
networking and infrastructure tinkerer, security enthusiast, and self-hosting
experimenter. My work increasingly connects low-level C programming with
modern Linux infrastructure, containers, cloud servers, networking, and
security. I am less interested in following a predefined technology path than
in understanding systems deeply enough to build, repair, automate, and reshape
them myself.