This is a colleciton of the programming projects that I, Kristoffer Levin Hansen, have perpretrated over the years, presented in something like chronological order.
By tradition, FysikRevyen, the physics students' revue at the University of Copenhagen put song lyrics on the big screen—for engagement—in addition to the exptected video and graphics. After watching the AV–ist switch between PowerPoint and various media players, I decided that there must be a better solution. This here is a browser–based solution, which makes use of html5's media tags (which were new at the time), and uses server-sent events through a node.js server, to synchronize timing between several browser windows.
A tool for printing spellsheets in D&D 5e. Runs in the browser, and written in the holy trinity (html+css+js). Can keep track of known spells or spell slot limits. Uses TaffyDB for database operations on a json formatted list of spells.
A small npm module, that I contributed to. It converts subtitles in ass-format to vtt-format.
Youtube car reviewer Doug deMuro uses a complicated scoring system of ten ten-point scores in two categories, wich he presents on screen with screenshots of spreadsheets. I had the very dangerous idea that there must be a better way.
So this project uses some svg animation in a webpage. Much of the interactivity is not finished, and it needs some serious optimization to be able to handle the full set of reviwed cars. But it's complete enough that you can mostly see what I was going for.
The FysikRevy at the University of Copenhagen has a preculiar habit of writing its scripts in LaTeX format. Overleaf is a website that enables collaborative writing of LaTeX documents, and it's (at least mostly) open source. And especially as our existing storage solution was being discontinued, there seemed to be an obvious fit there, for a fork of the community edition of Overleaf, adapted for our purposes.
Overleaf is also a project under active development, and the Revue, as a student organization, turns out not to be organisatorially capable of keeping its own fork up to date, or to manage a hosting solution. And thus, the project ran aground.
The name is due to it being intended to replace a site named Psi.
A powershell script, which scrapes the panels of a (purposely unnamed) webcomic, and packs them as an epub file.
I figured that my ebook reader would have superior ergonomics when digging through the archive on a long running web comic.
Having abandoned Omega, the problem of storing and managing access to the manuscript files of the FysikRevy (at the University of Copenhagen) remains. Overleaf provides good facilities for writing individual LaTeX files, but poor facilities for managing access to a collection of them.
This project, then, is designed to sit in between the revue writers and Overleaf (hence the name), and keep track of which projects are part of the script file colleciton, and grant access to those that need it, as well as allowing filtering on the associated tags.
It works well enough, but has become nearly useless, since Overleaf have been putting captchas on access to their service.
A set of python scripts, which help compile and collate the manuscripts for the FysikRevy.
I didn't originate this one. I simply contributed and maintained for a few years.
My most notable contributions are the integrations with Google Sheets and Google Forms
A streamlined and expanded version of the LaTeX code that the student's revues at the University of Copenhagens Faculty of Science use for laying out their manuscripts.
It has accumulated over many years. My contributions are primarily the ability to add a thumb index, and the documentation, which is written in a “literate programming” style, or at least an appproximation thereof.
Published on CTAN, the Comprehensive TeX Archive Network.