Skip to main content

Nora Codes

Projects

I write a lot of software. Not all of it is production quality, but I like to make it public so that others can benefit from my work.

Reusable Code Libraries

  • libui-rs - a Rust interface providing cross platform access to native UI frameworks.
  • helicase - read and write strings of DNA bases, and convert them to framed strands or polypeptides.
  • sbrain - a 25-symbol programming language specification and VM implementation, in Rust.
  • MLeM - the Machine Learning Machine, a virtual machine designed as an ML target.
  • update-rate - a low-overhead update counter for high-performance applications.
  • workctl - a set of higher-level abstractions for controlling concurrent/parallel programs.
  • whiteout - provides macros that erase the type of any value into an impl Trait for a given trait.

Web Applications

  • Open Energy Dashboard - a web application that ingests, stores, and allows users to analyze data from smart energy meters.
  • RFortune - a web application written in Rust which displays random quotes to the user. A proof of concept for Rocket web apps.
  • Silvr - a SQLite-based blogging application, written in Python with Flask.

Graphical Applications

  • gDiceRoller - a GTK app that allows users to roll dice in simple or complex combinations. Created to teach how to make and package GTK applications with Rust and Flatpak.
  • RandomUA - a WebExtension that changes your User-Agent string to a sensible-looking UA string which is different for every request.
  • Silver Smuggler - a QT app for the XOR “cipher”.

Security & Administration Tools

  • harf - the HTTP Watchdog. harf barks when your services go down.
  • RLoris - a concurrent and parallel implementation of RSnake’s SlowLoris application level DoS attack on many web servers (like Apache).
  • PyPlotPing - a Python application to plot data from the ping command, for finding network faults.

Command Line Tools

  • counted-rs - a command line interface to fetch CSV-formatted data from The Guardian’s database of police shootings in the US.
  • evolve-sbrain - an evolutionary algorithm for finding computer programs which conform to given specifications.
  • PyParens - a toy Lisp language that executes in a Python context, with full interoperation.
  • GenevaBot - a Python script that builds a statistical replica of a given Tumblr blog.

Embedded Applications

  • esp8266_scan - a wireless scanner code for the ESP8266 chip, which produces either JSON or human-readable output.
  • geiger_counter - a Geiger counter with a dosimeter output for comparing the radioactivity of different samples.

Games

  • RaptorDown - a rogue-like game I built in 24 hours for CodeDay San Diego.