Spencer Williams's repositories
Either.java
A right-biased implementation of "Either a b" for Java, using Java 8 for mapping/folding and type inference.
Comparators.js
Java8-style chainable comparators for Javascript.
Optional.js
Nullable. Optional. The Maybe monad. Whatever you want to call it, it's for Javascript now.
AdventOfCode2018
Advent of code solutions for 2018
caffeine.vim
Caffeine colorscheme for vim
mythtvguide
A command-line tool for printing out a mythtv program guide
Cregularity
A Crystal port of the Regularity gem
AdventOfCode2016
Repo for storing my solutions to the 2016 "Advent of Code" puzzles (in various languages)
AdventOfCode2017
2017 Advent of Code solutions
AdventOfCode2019
My solutions to 2019 Advent of Code, written in Crystal
AdventOfCode2021
My Advent of Code solutions
AdventOfCode2022
My solutions for Advent of Code 2022 puzzles
AdventOfCode2023
Advent of Code solutions for 2023 puzzles
blackjack.hs
A CLI blackjack game, written in Haskell as a personal exercise in purely-functional game programming
crystal.nvim
Crystal-lang support for neovim using Lua + treesitter
generator-ocaml-bucklescript-webpack
A quick-starter Yeoman generator for using OCaml+Bucklescript with Webpack.
junit-displayname-generators
A set of pre-baked @DisplayNameGenerator classes for use with JUnit 5.4 and above.
PHP-LazyList
A lazy-lists (fused-streams/generators) library for PHP >= 7.0
spencerwi.github.io
Personal static "business-card" site, hosted on Github for simplicity.
upload_music
A little Rust webapp that listens, allows you to upload zip files of music albums, then extracts them into a given directory based on music metadata