anardil.net/projects

Haskell Coreutils

Unix core utilities implemented with lazy IO and idiomatic Haskell including: cat, cut, head, rev, shuf, sleep, split, tee, test, tr, uniq, wc, which and more.

#haskell #linux

diving.anardil.net

Code that builds the HTML, tree, and JavaScript artifacts for all four diving websites: Timeline, Gallery, Taxonomy, and Detective. Includes utilities for working with deeply nested dictionaries and pulling + reviewing blurbs from Wikipedia.

#python #html

Devbot

A lightweight, flexible, config driven, and cross platform task scheduler implemented in Haskell. Like cron, but more powerful and inspectable. Actions can be triggered by human readable intervals (every 6 hours, etc) or by file system changes under a path.

#haskell #cron

Apocrypha

Apocrypha is a lightweight, flexible JSON server and client written in Haskell. It includes a client library for easy interaction through other programs including a serverless option. It's atomic, consistent, has strong isolation, and weak durability from lazy writes.

#haskell #database #json

Indexer

File system to HTML indexing for static sites backed by S3 storage. This Haskell program produces the HTML and thumbnails for public.anardil.net, which is served through an Nginx reverse proxy.

#haskell #nginx #html

Pirate Insults

An generic recursive phrase generator that works of of YAML defined vocabularies. This generates the insults for the Pirate site, as well as Skyrim and Fallout boss names.

#python #javascript

Brain Bash

An optimizing ESOAPI compliant Brainf**k interpreter written in Bash. It includes an interactive execution display with optional per-operation stepping.

#bash

dotfiles

My personal dotfiles and a library of scripts for development, automation, and system management.

#bash #linux

D&D Animate Objects

Web app for managing the Animate Objects Dungeons and Dragons 5e spell; choose number of objects, manage attacks, and damage

#javascript

D&D Multiattack

Web app for managing multiple attacks in Dungeons and Dragons; where you define what the attacks are and how many there will be

#javascript

Apocrypha/python

Python bindings and pip module for the Apocrypha JSON database. There's a legacy server implementation available too.

#python #database #json

Apocrypha/go

Go bindings and HTTP proxy REST-like interface for the Apocrypha JSON database.

#go #database #json

sensors.anardil.net

Code that builds the sensor graphs for temperature, humidity, and latency for over all intervals, 1 hour to 1 year. Includes utilities for reading 100 MB+ CSVs back to front, data smoothing, anomaly detection.

#python #images