Maxwell Beck

Hi! I'm a hobbyist programmer from Illinois with interests in realtime graphics, music, and retro hardware. I am currently studying Computer Science at University of Wisconsin-Madison.

Email Github YouTube

Latest Articles

Hacking VS Code for On-the-Fly Environment Switching

March 27, 2022 - 6 minute read

In my day-to-day development workflows, I make heavy use of Nix Flakes; particularly, the development shell feature where I can make a special, reproducable development environment for each of my projects. To enter a flake environment, you use the nix develop command, which interacts great with terminal editors like Vim. However, I have recently switched over to using VS Code for my heavy-duty programming, and launching it from a terminal after running nix develop is not the smoothest workflow. In order to comfortably use VS Code every day, I had to find a better solution.

Read more...

BS-1: Breadboard Synthesizer

September 3, 2021 - 9 minute read

While I mainly focus on the software side of computers, I have always had an interest in electrical engineering too. So, after getting burnt out over some programming projects, I decided to try out something a bit different and build some sort of electronic circuit. I took inspiration from all the breadboard computers people have built, mostly inspired by Ben Eater, but I decided to take a different approach and built an analog synthesizer on breadboards instead.

Read more...

Projects

BS-1

DIY breadboard analog synthesizer

As a break from my programming endeavors, I built a simple analog synthesizer entirely on breadboards. It features two René Schmitz VCO 4069s, a Polivoks VCF clone, and a Henry Santana JFET VCA, along with many utilities including a mixer, two LFOs, two ADSRs, and a simple MIDI-to-CV converter. While the synthesizer itself is done, I am now working on building a sleek case for the whole setup. After that, I will do a quick writeup on how I selected all the component designs and share some insight into the building process.

Overvoltage

A Discord bot for playing HVSC tunes

Focusing more on my retro computer interests, I decided to code up a small Discord bot to play back music written for the Commodore 64. It is based on the JDA Discord library and JSIDPlay2 SID playback library. Right now it is very much a minimum viable product, but I plan to eventually expand it to have a few more features, like randomly shuffling tunes from specific artists.

Github

Nix Flake Tools

A VS Code extension providing development tools for projects based on Nix Flakes

Nix Flakes are a powerful tool allowing for fully reproducable software build and development environments. In my own workflows, I restrict most programming language toolchains to specialized per-project environments with them. However, VS Code has lacked any sort of extension to interact and enter environments with them... until now! This extension successfully overwrites the environment of the root VS Code process to provide deep environment integration with Nix Flakes. However, it achieves this through obscene hacks that should never be used in production, so use at your own discretion!

Github Writeup

rawrscope

[Abandoned] Oscilloscope view tool written in Rust

rawrscope was an attempt at making a tool for generating oscilloscope views of audio files, typically from retro computers. My goal was to create something that outperformed the current standard, corrscope, both in video quality and raw performance. It leveraged a unique wave centering strategy based on the phase of the fundamental frequency of the wave. However, this did not work as well as I had hoped, and the program itself became an unmaintainable mess, so I eventually threw the idea out.

Github

Demoscene

As a manifestation of all my interests, I currently participate in the demoscene and am part of the demogroup Onslaught. You can find all of my releases on Pouët and CSDB, but I will put my most notable ones here too:

Icosprites

Commodore 64 One-File Demo - 10th @ CSDB Only Sprites Compo 2022

View on Pouët, CSDB

Eightfold

Commodore 64 8K Demo - 8th @ CSDB Only Sprites Compo 2021

View on Pouët, CSDB

Isometria

Commodore 64 4K Intro - 8th @ Solskogen 2020 combined 64K/4K intro compo

View on Pouët, CSDB

The Night Shift

4K Executable Graphics - 16th @ Revision 2020 executable graphics compo

View on Pouët