Hi 👋! I’m Jamie, (or Sciencentistguy)
This website is intended to not only serve as a place for me to write and post some of my thoughts (if I ever have any 😅), but as a portfolio website, detailing some of my projects, the process of developing them, and what I learned from them. Stay tuned!
I have recently graduated with an MEng in Computer Science from the University of York. I’m specifically interested in back-end and systems programming, using Rust and C++, however in general I am ethused by finding performant soltuions to novel problems.
My primary programming languages are Rust and C++, however I am a proficient programmer in many other languages, including (in alphabetical order):
- Flux (the InfluxDB query language)
I am a maintainer of the nixpkgs linux package repository, and use NixOS on all my linux systems (where possible).
I also operate many servers for personal projects, and therefore have experience using many common server-side tools, primarily systemd and docker. I use a combination of systemd units (managed by NixOS) and docker containers to run services on my home server.
I use prometheus, InfluxDB, and Grafana on my home Server to aggregate and monitor telemetry from various services I run.
I have also written scrapers to export data from services and insert them into said databases, for visualisation
All my open-source projects are hosted on my Github. Here are a few I’m particularly proud of.
discord-channel-archiver is a discord bot that can export the contents of a discord channel and save it into multiple formats.
The highlight of this is the HTML output mode, which produces an HTML file that, when viewed in a browser, looks quite similar to discord’s interface.
rust-nix-shell is a nix-based alternative to rustup, for spawning ephemeral nix-shells with a complete rust toolchain, of any specified version (a rust release channel, a named release, or a dated nightly).
videoconverter is a rust program that analyses the contents of media files, and then remuxes (or reencodes, if chosen) them to a standard container format, dropping unneeded audio and subtitle streams. Originally written to assist with archiving DVDs and Blu-Rays.