These are (most of) my programming projects, where I create what I want, how I want. They are roughly arranged in chronological order.
pandoc-tree-sitter-filter
Growing tired of the poorly highlighted code snippets that Pandoc generates by default, I wrote this tiny Pandoc-filter to give Pandoc the power of Tree-sitter grammars. It converts all code snippets into the equivalent html code block, but with Tree-sitter style classes instead of Pandoc’s.
Diosevka is my own distribution of the Iosevka font. The character selection is 100% opinionated (by me), and the italics feature playful serifs to keep things interesting. The project is little more than a configuration and a build script written in nix. This font is also the one you are currently reading (unless you have explicitly overridden your web fonts, of course), as I use it everywhere I can :)
I leave no guarantees on the quality of the code!
raw-browser
- A Radically Awesome
Web Browserraw-browser
is a ultra minimalistic web browser
written in Vala, using the WebKitGtk browser engine. It’s privacy
oriented by default, configured using a JSON file, and competent on
the command line.
swayhide
- A window swallower for swayThis is a small piece I wrote because I couldn’t find an alternative. It’s heavily based on jamesofarrell/i3-swallow but, of course, rewritten in Rust because I’m a masochist or something.
It’s a window swallower, which’s purpose is to “swallow” / hide windows. The main purpose of this program is to hide a terminal window when starting a graphical program in it.
sand
- A
sandbox programming languageI’m writing my own programming language called sand. I think it will be a purely functional and object oriented language, if that isn’t an oxymoron. The syntax kind of looks like a mix of Ruby and Rust. Currently I have only implemented a proof-of-concept parser and interpreter, which is advanced enough to run a simple hello world program.
pioneerctl
- A remote control for some pioneer recieversThis is a CLI remote for older network-enabled Pioneer recievers. It’s actively developed in rust, and the only offically supported reciever is my VSX-923, because it’s the only one I have to test on.
This project started as a school project, written as a graphical and java-based program, and inspired by the android app mkulesh/onpc.
In 2020/2021 I managed the website for a yearly LAN-party held at the campus of my college. I wrote the back-end in node, and the front-end was created using a custom library for making HTML pages with TypeScript code. The styling was done with SCSS compiled to CSS.
This is a website I made as a school project. It is a photo shop for a hobbyist photographer that worked at the farm I lived in at the time. I’m really proud of the CSS :)
I couldn’t find a datepicker that I liked for Ullvischema, so I built my own.
In high school the web-based schedule viewer was trash, so I built my own. This was my first software project ever, and the client-side JavaScript were the first lines of code I’ve ever written.
In practice it wasn’t that difficult though. The schedule was loaded as an image, with parameters in the url. All I had to do was to whip up some relevant parameters, craft a url with them, and ask their servers for that particular image. It worked wonders though :)