So, as I said, Hi there !! 👋
But let's start with a few formalities first:
# Few elements about me
Name: Camille
Pronouns: they/them # TODO: debug genderd.service
Nationality: 🇫🇷
Age: 16
Languages: # I don't master any of those
- C # I'm trying to focus on low-level compiled languages for now
- Nix # Mainly for env config & dev shells
- PHP # (alongside other front-end languages like JS)
- Bash / Zsh
- Python # I don't use it that much anymoreYeah… on the moment I thought this would look good… Yeah strange profile for a strange person…
Anyway, I'm Camille, I also go by Kcraft⁰⁵⁹ online, I'm a french high-school student who codes in their free time. My english isn't perfect 😅, but I love practicing it as much as I love talking to people.
I’m interested in pretty much every tech domain, though lately I started to specifically dive into low-level programming. I use macOS (because it's UNIX-like - tho let's be honest it's extremely restrictive1) in combination with Nix-Darwin to fully configure my system in a reproducible way.
But let's start at the beginning of my journey, shall we ?
It started relatively simple, an old piece of junk: my Late 2012 MacMini.
This piece of tech gave me the passion I have today for IT. It started with a few teardowns & rebuild, which made me want to experiment more like forcing macOS suppport through OCLP, installation of Ubuntu on dual boot, all those which helped me understand how computers worked more in depth !
Tho it was not without mistakes… I did screw-up my macOS instances a few time 🥲, and made more reinstalls than any sane person should do 🫠
This is where it took a turn when I discovered Nix, a reproducible & declarative package manager (this seemed perfect given how often I reinstalled macos).
I made a config… and soon realised I fell into a rabbit hole as I found myself digging into docs at 2am swearing at a scope bug because I did not pass an input… (true 'me' fashion tbh 🥰)
{pkgs, lib, ...} :
{
service.readme = {
enable = true;
config.welcomeMsg = "Nix has a steep learning curve… "; # And at the time, the hardest thing I ever done was a for loop in bash
};
}After I made this config, I saw the potential I had in my hands, access to unlimited packages, and a growing interest for programming !
At some point after, I got the idea of making a website. At the time I only had a vague idea of what it consisted of... a server, a software to run the server ?
I made a few research, I already had the idea to install a headless NixOS version on my MacMini which I knew I'd soon replace with a new Mac Book Air. And so, I made a config in nix, I chose a LEMP stack and got to coding !
The months that followed were really interesting, I learned how to manage a server, how to use ssh etc… The next step being the website itself, I started to get into html, css, php & sql, at some point I even made a full framework for a user system in OOP !
Tho the frontend to those backend features… is… let's say it's still pending 🙄
<?php
http_response_code(404);
echo "Oh… I might have not implemented this yet - swy";
?>Following this experience, I started to wonder if I could get into low-level programming like C... so I tried !
This helped me understand how things really worked under the hood ^^.
I then did a few libs (implementing dynamic arrays & hasmaps from scratch) where I implemented the concepts I found tricky in C, pointers, type size & mem alloc. (I'm quite proud of those ngl 😅 !)
#include <stdio.h> // Import definitions for different libs
#include <string.h>
#include <stdlib.h>
int main(int argc, char** argv) { // And this time I actually started to comment my code
char* string = malloc(sizeof(char) * 5); // Alloc mem on heap for string
memcpy(string,"Yeah", sizeof(char) * 5); // Copies mem from adress of "Yeah" to string, on 5 bytes
printf("%s, after php, c did taste harder ^^'\n",string); // Print to stdout replacing %s which the string in string
free(string); // Free mem, make it usable again by any other part of the computer
}So yeah, not much in fact 😅, but I'm learning things and having fun doing so and this might be the most important thing to remenber !
As of today I'm really proud of how far I've gone and I realize everyday how much I still have to learn. But looking back at my knowledge from a year ago, I only am more confident that with time I'll improve my skills !
I know this is a bit unusual for a Github Profile, but I mean, my profile, my decisions ¯\_(ツ)_/¯
My 'projects' :
- ⚙️ Low level programing in C
- 🌐 An unfinished website
- 🛠️ A sketchybar config
- 📋 A declarative Nix config
- 🇬🇧 Help in the translation of BetterDisplay
A silly kid trying to learn IT by themselves, coding on feelings & doing things in the most complicated way possible. You might just wanna see ppl more talented than me… ^^'
Note
If you want to contact me you can do it over Discord2, and expect an answer within 24h ^^!
Oses that I use :
- MacOS [Main] - managed through Nix-Darwin
- NixOS - For my server
- Windows - only when i'm forced to…
- Ubuntu - I don't really use it anymore
- Asahi Linux - (I hope a release for M3 macs comes out !)
My hardware :
- Laptop : [Arm64]
Macbook Air M3 (2024) - Server : [x86]
Mac Mini Late 2012x2 - And a lot more junk that doesn't need to be displayed here 😅…
.-'~~~-.
.'o oOOOo`.
:~~~-.oOo o`.
`. \ ~-. oOOo.
`.; / ~. OO:
.' ;-- `.o.'
,' ; ~~--'~
; ;
_ \\;_\\//___\|/_ __ _ _
“As the reality slowly decays… „


