I’ve written a few small open source projects using Python, Haskell, OCaml,
JavaScript, and POSIX compatible shellscript.
A lot of my programming work is in private repositories belonging to large companies.
I work on public personal projects occasionally and some of my projects
I wrote during my early education in programming are also public.
Scroll down to see a list of notable public projects.
Graphics
Some of my earlier projects have graphics and include
Tetris for Two
and
the animated periodic table.
Try them out in your browser!
Learning new programming languages
I like to open source some of the projects I use to learn new programming languages,
including Rust:
pipemath,
rust_api,
and
rust-ls.
I enjoy learning about parsers.
I wrote a parser and interpreter for part of the Lox learning language in OCaml:
clox.
Earlier Rust projects include
PhotoFest,
and the first commits of rust-ls.
I learned Haskell many years ago by writing several of my earliest GitHub projects:
earlyhaskell,
Utilities and Productivity
Some of my projects are meant to
improve my productivity on Linux/MacOS, such as
confs,
which I can use to quickly setup my development environment on a new Linux/MacOS machine,
and my shellscripts (including gp
, makeanywhere
and parallely
),
which include a script that I use to speed up running tests and code checks.
i3empty
is used to quickly open a new workspace on my keyboard-based window manager: i3.
I also have some scripts I used to write documents for school using Pandoc and LaTex:
pandoc.
- Configuration files for Linux/MacOS
November 21, 2021
My dotfiles and a script to quickly backup and restore them.
- Shellscripts: parallely, gp, and makeanywhere
November 21, 2021
Several useful shellscripts
- pipemath
November 19, 2021
Run math functions on number from stdin
- rust-api
November 7, 2021
A proof of concept for a full featured Rust HTTP API
- the_long_count
January 26, 2020
Some functions for computing using the Long Count, a Mayan numeric system for dates.
- hrpypy
January 26, 2020
Mini Python interpreter in Python by Hugo O. Rivera Calzadillas
- rust-ls
December 27, 2019
List all files in a directory
- i3empty
December 11, 2019
Quickly switch to a new numbered workspace. Utility for the i3 window manager.
- pympw
July 12, 2019
A Python implementation of the Master Password algorithm v3 with a nice Linux CLI
- polybar-themer
November 15, 2018
A theme generator for polybar, a popular status bar for Linux. Uses math and advanced YAML parsing to generate colorful, sensible color schemes.
- Parser and Interpreter in OCaml
July 12, 2018
Lox interpreter written in OCaml by Hugo O. Rivera Calzadillas. See github.com/roguh/hrclox.
Based off https://craftinginterpreters.com.
Boilerplate code for writing parsers in OCaml using Menhir + sedlex See github.com/roguh/ocaml-parsing
(Unfinished, but the parser is fairly complete)
- cuda-fft
March 24, 2018
Yet another FFT implementation in CUDA. Includes benchmarks using simple data for comparing different implementations.
- Pandoc wrappers
March 24, 2018
Shortcuts and templates for writing résumés, math homework, and cheatsheets in Pandoc.
- tetris-for-two
September 13, 2017
Tetris for two. A fun tetris game with many different game modes
- PhotoFest
August 10, 2017
PhotoFest is a secure self-hosted flat-file photo collection webapp written in Rust (unfinished)
- Code for a statistics class
April 17, 2017
Email classifier A machine learning project for classifying emails into spam and ham. Uses C for preprocessing emails, Python for parsing and extracting low-level features of emails, and a few lines of Matlab for running several classic classifiers.
See github.com/roguh/email-classifier
Hopfield testing These Python scripts can be used to test the recall effectiveness of Hopfield Networks. A sample dataset composed of the Walsh vectors, an orthogonal system is included by default.
- Early Haskell Projects
October 3, 2016
SCMinHS A Scheme Implementation in Haskell. Followed “Write Yourself a Scheme in 48 Hours. See github.com/roguh/SCMinHS.
coolnoise Parser and generator for programs written in the Classroom Object-Oriented Language. Eases testing of lexer and parser. See github.com/roguh/coolnoise.
An interpreter for the low-level CORE language Haskell was once compiled to a language called CORE.
See github.com/roguh/CORE
- cv-composer
June 30, 2016
Command-line based computer vision algorithms showcase. Uses the OpenCV C++ library.
- Animated Periodic Table D3
June 22, 2015
A periodic table created in CoffeeScript and D3 with animated transitions.