Greetings Traveller!
Welcome to HackTheOxidation's GitHub Pages.
I'm a software engineering master student and free/open-source software enthusiast among other things.
This site is still under construction at the moment (seriously, when are you ever done with a software project?).
In the mean time, check out my projects on GitHub.
Skills/Interests
Most of the skills that I have acquired primarily come from University and (mostly) free-time hobby coding,
but in spring of 2022 I got an internship working on a (quite large) python project, so now I also have real-world
professional developer experience. Yay!
Operating Systems
-
Linux - I have tinkered with most of the main distros: Debian-/Ubuntu-based, Fedora/RHEL, Arch-based, Gentoo-based.
And some niche stuff: Artix, GNU Guix, Void Linux, etc.
I am currently running Fedora as my main distro.
-
BSD - I have also had my hands in some of the BSD-derivatives, mainly FreeBSD and OpenBSD.
Programming Languages and Technologies
-
Python - My first internship (which later became my student job) was all about python (django, specifically),
which means that I have "Professional" python development experience.
The code I wrote for the 'os2datascanner' project during my internship is fully open source!
Check it out here: os2datascanner.
Aside from that, I have used python in non-professional capacity as well,
mostly in the form of small scripts and config files, but now I am writing
bindings for my moonalloy project: python-moonalloy.
-
C++ - I know advanced parts of the language from newer standards (C++17/20).
I wrote a small JSON-parser from scratch: picoJSON.
And a library for parsing .INI-files: libini.
-
Ada - This is the top language that I am currently learning.
-
F# - This is really an awesome language. I have done several courses using this language.
I have some repositories func_prog_dtu
and swafp-exam.
-
Rust - I have put a reasonable effort into learning it and I have become quite fond of it.
I have written a small 'ls'-clone: neols (crates.io).
I am also working on a numpy-like library written in rust with an API in Python and Lua (still in early development):
moonalloy.
-
HTML & CSS - Used it both professionally and for making this website, but I know that I need to improve (psst! I know they are not programming languages).
-
JavaScript - While it is true that I have written some JavaScript for OS2datascanner in a professional capacity, I don't consider myself that proficient.
-
Go - I have tinkered some with this language and I really like its minimalistic
approach.
I have written an experimental tool for extracting text from pdf files:
pdfanalyzer.
This was made as a Proof-of-Concept using Go's channels and goroutines for use in
the afforementioned 'os2datascanner' project.
I also wrote a (very incomplete) http
client: twig.
-
Haskell - Being purely functional, this language challenges the way you think and makes you a better programmer (I think?).
I wrote a few of the challenges from Advent of Code 2021: advent-of-code2021.
-
C - Most of my "experience" come from university and hobby coding.
I wrote a minimalist web-server for a university project: ficus.
-
Emacs Lisp - It's just cool and retro and I can make my editor do anything with it.
I have contributed a few lines to Silex/docker.el
Frameworks/Tools
-
git (of course)
-
django (full-stack, including django templates, forms, etc.)
-
pytest and various other python packages
-
docker and docker-compose
-
GitLab CI/CD
-
Databases - mostly PostgreSQL
-
gunicorn (WSGI) and uvicorn (ASGI)
-
RabbitMQ (through pika.py)
-
Grafana
-
Nginx
-
googletest (C++)
General Programming Concepts
-
Data Structures and Algorithms - I have some implementations in C/C++ from a previous course:
Link to repo
-
Concurrency - Threads, Mutexes, Semaphores, etc.
-
Functional Programming - Typeclasses, Higher-order functions, Recursion, Monads, Functors and Applicatives etc.
-
Object-Oriented Programming - Classes, Objects, Inheritance, Polymorphism, Interfaces, Design Patterns:
Observer, Singleton, Mediator, etc.
-
Linux - Kernel Modules and Operating System concepts
Text Editors, IDE's and Other Tools
I used to be a serious vimmer, but these days I mostly use Emacs.
You can get my dotfiles here.
Currently Learning/Playing with
-
Ada - for reliable embedded, avionics and defence systems.
-
Everything Python! The more I use it, the more I like it (I might be turning into a true Pythonista).
- Learning how to write Compilers, Interpreters, Program Analyzers
- The Foundations of Computer Science.