Personal Projects

Here is a list of all my projects in no real order.

Discord Bots

Discord Bots is a collection of Python applications I developed between 2017 and 2018, ranging from web API scraping bots to simple CRON-job-like tasks like reminders or notifications. The bots were hosted on a Raspberry Pi server and ran on a managed supervisor system to pull updates and report crashes.

Homepage: https://github.com/sleibrock/discord-bots
Languages: en

Functional Decorators

A unique way of coding in Python as a library. The idea is to use decorators in Python as a means of encapsulating logic in a functional manner. The decorators return lambda functions which then process the stack of decorators in a stack-based manner. A curious experiment in how decorators can be used in interesting ways.

Homepage: https://github.com/sleibrock/functional-decorators
Languages: en

ez-csv

A library with a goal of creating an easy way of interacting with comma-separated or tab-separated data sheets. Uses a language macro to add functions easily to make programming with sheets much easier. Uses the Racket programming language.

Homepage: https://github.com/sleibrock/ez-csv
Languages: en

The Elder Scolls: Kindle

A Python project dedicated to converting text from The Elder Scrolls series of video games into a Kindle eBook format. Uses beautifulsoup to extract the stories from an online website, and uses kindlegen to create the eBook output format.

Homepage: https://github.com/sleibrock/tes-kindle
Languages: en

Unit.py

A Python library for arrow-pipe style programming. Takes ideas from Haskell and incorporates it into a Python type that encapsulates data (called the Unit). Can chain operations on the Unit type and handle errors and program flow in a fun and interesting way.

Homepage: https://github.com/sleibrock/Unit.py
Languages: en

Randombrot - Tweet Mandelbrot Sets

A Mandelbrot image generator that generates images every hour and posts them to a Twitter account. Can generate 2D and 3D fractals using a bit of Blender scripting. Hosted on a Raspberry Pi as well.

Homepage: https://github.com/sleibrock/Randombrot
Languages: en

Mandelpp - Mandelbrot / Julia sets with C++

A project dedicated to writing all things with Mandelbrot or Julia sets in mind. Uses C++ to create to run the formulas and create the image output. Integrates with GNU Multiprecision numbers if available. Aimed to be portable and use a bit of object-oriented design. Was intended to replace the Randombrot set creator code, actually.

Homepage: https://github.com/sleibrock/mandelpp
Languages: en

Rust Raytracer

A simple Raytracer implemented in Rust. The idea is to follow along with the book series Raytracing in One Weekend and implement the features in Rust. Implements basic 3D vector space and different types of core surface materials using Rust features. Goals are to implement bounding volume hierarchies and photo scattering.

Homepage: https://github.com/sleibrock/rust-raytracer
Languages: en

Boxing Timer

An Arduino design and program for creating a simple workout oriented automatic boxing timer using some basic LED lights. Operates on a 3-minute work / 1-minute rest cycle. Plays sounds out through a Piezo buzzer. Uses C++ classes for creating modular components.

Homepage: https://github.com/sleibrock/BoxingTimer
Languages: en

Form Creator

Form Creator is an old project written for an old company of mine to design interactive web forms over images, to make it easier for people to input their information. It is a drag-and-drop GUI designed with wxWidgets and Python. It exports to an HTML file format and includes computed CSS layouts and designs for the desired forms to easily copy to the web.

Homepage: https://github.com/sleibrock/form-creator
Languages: en