The Wayback Machine - https://web.archive.org/web/20200831045222/https://github.com/sandsmark
Skip to content
Avatar
m̵̧̤̦͖͖̆̍̽ͫ͘a̡͇̖̖̳͓͚̪͉̐̂̅ͦ̚͟͡r̵̘̖̜̀̓̀͗̽ͮ̐͆̓͢͞t͆ͩ̐ͭͥ̎̊͏̙͍i̥̜͗̓͗̀͑ͮ͋ͤͅņ̺̘̞̙̲ͯ̂ͫ̚
m̵̧̤̦͖͖̆̍̽ͫ͘a̡͇̖̖̳͓͚̪͉̐̂̅ͦ̚͟͡r̵̘̖̜̀̓̀͗̽ͮ̐͆̓͢͞t͆ͩ̐ͭͥ̎̊͏̙͍i̥̜͗̓͗̀͑ͮ͋ͤͅņ̺̘̞̙̲ͯ̂ͫ̚

Highlights

  • Arctic Code Vault Contributor

Organizations

@UKA @itkinside @reMarkable
sandsmark/README.md

Organized list of my projects

Most of the repos that might be interesting. Not everything works or is finished.

  1. Games
  2. Graphical utilities
  3. Command line utilities
  4. Machine Learning™-ish
  5. Desktop environment or whatever, stuff that makes my laptop work
  6. Multimedia-related
  7. Save editors
  8. Mobile stuff
  9. Libraries
  10. Demoscene-ish
  11. Internet
  12. Other
  13. Minor stuff

Games

  • freeaoe, age of empires II reimplementation
  • tg18ai, planned to use it for holding the AI competition at TG18, but Windows doesn't work.
  • ghostly, compo case for the AI competition at TG17 ("inverse" Pacman™®).
  • Turn On Me, compo case for the AI competition at TG16
  • The Kartering, compo case for the AI competition at TG15, written with larsivsi while really sober.
  • dropdabass, compo case for the AI competition at TG14
  • droidbattles, programming game.
  • recrossable, crossword game with handwriting recognition and automatic crossword generation. Originally written for my reMarkable™® tablet.
  • progress-quest, c++/qt version of progress quest.
  • Awesome War Game, our first year object oriented programming project.
  • spacetrader, start of a port of the space trader game for palmos. never got far.

Graphical utilities

  • mousr-qt-controller, utility to control the robots my cat play with (mousr and sphero).
  • qt-scp-reader, an offline reader for the SCP wiki. Works with the data in the SCP mirrors below.
  • qbyteview, simple tool to visualize a binary (displays entropy with a fancy method I don't remember the name of).
  • epubreader, simple epub reader using qt.
  • Advanced Genie Editor, editor for the data files in age of empires etc. (uses genieutils, like freeaoe).
  • sandsmark-screenshot, very simple screenshot utility, replacement for import png:- | xclip -selection clipboard -t image/png because xclip broke and it was easier to write this than trying to understand the xclip code.
  • homefilesharing, simple (encrypted, authenticated) sharing of files (because who the fuck wants to set up samba just to copy files with a GUI) and remote mouse control (because wtf why is Synergy so complicated).
  • diffimg, graphical UI to inspect differences between two images.
  • paqerduty, tray application that notifies you when you're on call and an event happens.
  • martin-todo, five minute hack because there's no nice simple todo applications that aren't horribly overcomplicated or sucky.
  • martin-toldyouso, so I can keep track of every time I told people so.
  • slaq, slack sucks.
  • BORG, automated bot launcher used for the AI competition at The Gathering (keeps tracks of scores and stuff, because I didn't want to do that manually on stage).
  • notes, web-based note-taking app written in c++.
  • notifu, someone on IRC wanted a tool that loaded and displayed an URL in a popup for notifications.
  • ini-editor, I think this was to create a more generic config interface for the Xine backend for phonon.

Command line utilities

  • bincalc, simple command line calculator for easily working with bits, convert hex values to float, etc.. Useful when reverse engineering.
  • dmsdos, linux utilities to handle dos/win95 doublespace/drivespace/stacker.
  • yzis, vi implementation.
  • compouploader, automatically downloads results and entries from Unicorn (the competition org system), so they can be uploaded to scene.org.
  • dcd-extractor, a very simple tool to extract the Device Configuration Data from a uboot binary with an IMX header
  • github-mirror, a simple script to automatically mirror all your github repos
  • quasselpwdumper, dumps your quassel password from your config file. forgot my password at some point so I wrote this.
  • quassel-sqlite-merge, script to merge in an old quassel sqlite database into a postgresql database.

Machine Learning™-ish

  • jantu, artifical consciousness framework + Starcraft Broodwar™® = master thesis.
  • master thesis, latex source for my master thesis.
  • replicode, constructivist AI language and runtime
  • repliqode, GUI interface for replicode stuff.
  • replicodekateplugin, simple plugin for Kate to launch the replicode executive directly from it. also syntax highlighting for the replicode language.
  • ghostlybot, simple test bot for testing the AI competition case at TG17. IIRC it uses Q-learning in some form.
  • Kaldi, a fork to train a norwegian speech recognition model.
  • link-grammar-norwegian, started on support for norwegian in link-grammar. too embarrassed of the actual link-grammar stuff to commit it.
  • ann, for some reason I started on implementing a library for neural nets at a hotel to fall asleep. counting sheeps didn't work.
  • decision-tree-learning, Implementation of decision-tree learning algorithms in C++ for the course TDT4171 Artificial Intelligence Methods.
  • forward-backward-inference, implementation of the forward-backward algorithm for the course TDT4171 Artificial Intelligence Methods.
  • poker-ai, a poker ai written for the course IT3105

Desktop environment or whatever, stuff that makes my laptop work

  • status, a thing for i3-bar. All the alternatives sucked.
  • sandsmark-notificationd, all other notification daemons suck.
  • dbus-screensaver-inhibit-dummy, dumb hack to keep steam from keeping my machine unlocked and awake forever.
  • sandsmark-integration, custom QPA for myself, based on frameworks-integration (now gone).
  • pastenotifier, pops up a tiny window when the clipboard changes. So you know what you paste before you paste the wrong thing in the wrong window.
  • qiwd, GUI interface to iwd (because wpa_supplicant is old news).
  • Select Default Application, because I don't want notepad to be my default text editor, or Firefox to be my default image viewer.
  • discotiles, simple screensaver effect using QML.
  • reddit-notifier, a KDE plasmoid that shows reddit notifications from the RSS feed of notifications from your reddit account
  • kfilemon, a simple LD_PRELOADable library to hijack moves to avoid having to use inotify.

Multimedia-related

  • pavucontrol-qt, major cleanup from upstream and a ton of bugfixes, cleanups and refactoring. Upstream didn't want my changes.
  • VapourSynth Editor, editor for vapoursynth scripts. Forked it because upstream seemed dead, and I wanted some features that probably wouldn't get merged in the first place (like full-fletched vim-mode).
  • sigp, simple audio visualizer thing for Samfundets Interne Grand Prix 2010.
  • spokify, unofficial spotify™® client. added support for scrobbling (to last.fm), visualizer, the magic starred playlist, and some other stuff I don't remember.
  • amarok-soundcloud, soundcloud support for amarok. I think it worked at some point.
  • vapoursynth-movit, Vapoursynth plugin exposing Movit. Written blindly (aka. plain vim without plugins, and without testing that it builds). Probably doesn't work.
  • qoniometer, audio visualizer. Because frequency analysis visualization is boring.
  • vlc-kio, vlc plugin to use the KDE file io protocol thing framework. don't think I ever finished it.
  • simpleplayer, simple audio player for testing phonon from when I maintained phonon.
  • lastfmscraper, screen-scraping tool for dumping when you played stuff from last.fm
  • akode, start of a backend for Phonon using ffmpeg etc. directly.
  • vapor, desktop client for rawk the cloud web music server thing.
  • impd, custom MPD server implementation.

Save editors

Mobile stuff

  • bluefish, (old) snapchat client for the jolla. snapchat has drastically altered their API, so hasn't worked for a while (since I stopped using my jolla).

Libraries

  • qhiveplot, an implementation of hive plots in qt, ended up using it in repliqode
  • libqsnap, old implementation of the old snapchat API, used for the jolla snapchat™® client Bluefish. Written while drunk on a plane.
  • winuname, BSD-licensed implementation of uname I wrote to replace something for something sometime. don't really remember much.
  • genieutils, used for freeaoe. Upstream thought I had changed too much, and after that I have done some heavy refactoring and cleanup. Upstream is semi-inactive.
  • qt-rappor-client, modernized and cleaned up the reference C++ implementation of RAPPOR.
  • pcrio, PE file resource editor for genieutils/freeaoe.
  • QSsh, Qt-based library implementing the ssh and sftp protocols.
  • libqdlibface, library for doing face recognition. not really tested, but gave up trying to clean up libkface so started on this.
  • qt1, fixed build properly (upstream has a hacky "fix").
  • zstr, header-only C++ library wrapping zlib with iostreams, used for genieutils/freeaoe.
  • rengine, header(s)-only C++ scenegraph rendering graphical library thing. Used for tg18ai, so I had to add some stuff and fix some stuff.

Demoscene-ish

  • cubescubed, compofiller for the 4k competition at TG12.
  • oyarsa, writing a kernel woo. the solskogen branch contains an entry at solskogen.
  • invitro, 4k on Linux at solskogen at 2015 (2015 bytes).
  • smallhtml, collection of some of the smallhtml compocases I made for TG.
  • fuckdos, start on a demo of sorts with a trick I found out later wasn't as original as I thought.
  • textonacube, entry in the fast demo compo at TG10 (we actually won money for this).
  • legendary, a demo engine that never really got anywhere. but got used for a couple of projects and made some money.

Internet

  • wdotcrawl, wikidot crawler. Rewrote it to mirror the SCP wiki.
  • imagetracker, simple tracking pixel for emails written in like 2005.
  • nugatti, start of a gnutella implementation written in 2011-2012-ish. never really finished anything besides the most basic parts of the protocol. started because I wanted to figure out how the bootstrapping worked.
  • kubotu, the IRC bot in the #kubuntu IRC channel on freenode for a while.
  • rawk, cloud web music server thing. something like subsonic to have a web-based music player with your own music collection.
  • sophia, mg and I started working on a new-school BBS system using ssh while drunk.
  • quassel-proxy, a proxy between the quassel protocol and json from when I wanted a web-based quassel client.
  • quazzer, start of a fuzzer for the quassel protocol.
  • lolcats, displayed a random lolcat from my collection. don't judge me.
  • cloudsync, replacement for dropbox/ubuntu one/owncloud. don't think it ever worked properly.
  • quassel-web, started on a web interface for quassel. wanted to have quassel in the steam overlay, and for some reason this seemed like the easiest solution. never finished.
  • hjemmeside, one of my old homepages from when I started to learn django.
  • cbot, IRC bot for NTNU gangstaz.
  • DESMAN, distributed peer-to-peer decentralized blockchain service monitoring written for the student society in trondheim in 2008, never actually used. codename "lollercoaster".

Other

  • SCP mirror attempt 1, SCP mirror attempt 2. It takes a couple of weeks to run an attempt (because I throttle myself).
  • dotfiles, since everyone like to post these kind of things. And it makes it easy to keep the config in sync across machines.
  • anti-anti-devtools, started out as a chromium extension to defeat the tricks people use to detect devtools. Ended up defeating fingerprinting (and crashing some fingerprint-library-backends).
  • sequrerender-child and sequrerender-host, testing out-of-process rendering with shared memory and seccomp and stuff.
  • libfisk, LD_PRELOAD hack to hide the fact that someone has been fisked. fisking is a long tradition at the Student Society in Trondheim where you do stuff like putting echo sleep 1 >> ~/.bashrc into people's .bashrc when they forget to lock their session.

Minor stuff

Things I have spent less than five minutes on.

Mostly things I didn't write with a couple of commits (e. g. because I wanted to test something and it didn't build or was missing something trivial.)

  • qmarkdowntextedit, proper standalone version. preserved my fork because upstream later reverted my changes that made it a useful standalone application.
  • sddm, started working on wayland support for sddm in 2013. never finished.
  • kgtk, ugly LD_PRELOAD hack to make GTK applications use Qt/KDE dialogs. Works sometimes.
  • MLDemos, visualization tool for random ML algorithms.
  • krename, rename utility. ported to qt5.
  • esp-idf, fork to get the latest version with the necessary patches for ODROID-GO.
  • synkron, ported to Qt5.
  • klatexformula, ported to qt5.
  • kfontview-standalone, displays contents of font files.
  • kuiserver-standalone, standalone fork of kuiserver, so I don't need to pull in the entire plasma workspace just because I use a lot of KDE stuff.
  • kcm-lookandfeel-standalone, to avoid having to install the whole Plasma desktop.
  • kjackal, rootkit scanner. ported to newer kernels.
  • kde-cli-tools-standalone, to avoid having to install the whole Plasma desktop just for kcmshell.
  • qt-polkitagent, couldn't get any polkit crap to work.
  • kwest, interpreter for text adventures, half-way ported to Qt5
  • Age of The Ring, some school project I found. Played around with it and fixed it up a bit.
  • signsrch, just a mirror, but with history.
  • clickteam-unpack, fixed compatibility with some installer (forgot which).
  • narxsim, cleaned up some person's master thesis about NARX
  • inputstream.adaptive, started refactoring so wvdecrypter could work without Kodi, ended up just trying to fix compatibility with newest version of Widevine.
  • vlc-chromecast-subtitles, VLC with the patches for proper subtitle support for Chromecast™®.
  • irstlm, had to fix this to get Kaldi to work Properly™.
  • opensift, upstream is dead. Now with modern opencv support.

lol

Pinned

  1. A free engine capable of running Age of Kings.

    C++ 76 4

  2. Forked from kaldi-asr/kaldi

    fork to add example for training a norwegian model using the data from https://www.nb.no/sprakbanken/ressurskatalog/oai-nb-no-sbr-13/

    Shell

  3. got tired trying to beat the katagawa ball^W^Wempowered scholar, and no accessible in-game console, so here we are

    C++ 15 1

  4. an ugly hack to be able to select default applications in linux in a better way

    C++ 5 1

  5. Forked from lxqt/pavucontrol-qt

    fork of pavucontrol-qt without any dependencies except libpulse and qt

    C++

  6. Qt-based library for SSH and SFTP.

    C++ 4 1

2,120 contributions in the last year

Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Mon Wed Fri

Contribution activity

August 2020

Created a pull request in janbar/noson that received 1 comment

hackish way to get all devices

not sure if you want this in addition to the existing fix, but I had the branch laying around. had the same issue I guess you solved, but solved it…

+31 −9 1 comment

Created an issue in Martchus/tagparser that received 6 comments

matroska cover support

I'm not that familiar with matroska, so I don't know if there's a defined standard for how they are stored, but would it be possible to have a conv…

6 comments
16 contributions in private repositories Aug 3 – Aug 24
You can’t perform that action at this time.