GitLab: @dot_lexg • GitHub: @win93 • LinkedIn • PGP key for me[at]a.lexg.dev • 🏳️🌈
I am an experienced project maintainer and full stack software engineer. I write code professionally to pay the bills, but my proudest work is done on my own time at Coldwater Systems.
I enjoy digging deep into programming languages, software architectures, and cryptography. I have a large catalog of software projects in various stages of completion, ranging from novel uses of computer networking to exploration in procedural art.
My stable projects
- Aspen diskinfo: A colorful CLI tool that gives a complete overview of disks attached to your system. This is a command that is housed under the Aspen umbrella.
- ‘ruby-xz’ gem: a Ruby binding to liblzma library that provides compression to and decompression from the XZ file format.
- Aspen Editor: A very minimal CLI editor that I use to draft commit messages.
The workshop (as of Dec 2023)
Aspen: the missing computer toolbox
Aspen is my current über-project I am working towards with Keenan Piveral-Brooks. Aspen is an experimental system of tools that are designed to work seamlessly together within in a workspace. The scope is similar to desktop environments such as KDE and Gnome. To give an idea of our progress, we are actively implementing Aspen UI, an in-house GUI framework for Ruby built on top of SDL2. The current goal is to work towards building a note taking tool using Aspen UI that will form the first building block of Aspen.
Keenan and I also plan on using this notes tool to collaborate on Aspen more effectively. For this, we have some prototypes on the shelf for Fabric, a peer-to-peer networking platform designed to exchange audio, video, and/or event streams with minimal configuration and setup.
The second item on the shelf is some work towards alternatives to traditional hierarchical filesystems. This includes research into distributed content-addressable filesystems, tagging instead of directories, and extensible metadata storage.
The Board: self-hosted, invite-only article board
Finally, I’ve worked with Keenan on some prior prototypes of The Board. Keenan alone is undertaking a third iteration of this project, and I merely provide some technical assistance and advice this time around.
Let’s talk about Ruby
Ruby is my favorite language because it checks a lot of boxes.
- It crunches data like nothing with its expressive string manipulation capabilities, and often times I can get what I need done with a 5-10 line script I throw away after use.
- For more complicated or persistent projects, I can start in one file and gradually grow an idea into a multi-file project with little fuss.
- It strikes the perfect balance between functional and imperative style.
- It has a reputation of being fun, and it earns the right to call itself a programmer’s best friend.
- Ruby with is a game changer because of how well Ruby provides introspection. For example,
p foo
is enough to see most of the internal data making upfoo
. This makes “print” debugging very painless. For more complex troubleshooting, interactive ruby withpry
makes me rarely ever reach for a traditional step-debugger. - Most importantly, the Ruby community inspires me to contribute back to the language ecosystem. In general, I care deeply about the public utility of free software, and feel blessed to take part in our world’s largest community project.
Network neighborhood
- Michael Burnes: Programming, cybersecurity enthusiast
- Keenan Piveral-Brooks: UX designer, graphic designer, and software engineer