rbandrews: (Default)
[personal profile] rbandrews

I can actually keep up writing in here! See?

I'm going to talk about the projects I'm currently working on, which means I'm going to start by listing the projects I'm currently working on, and a little about them. This is necessarily both non-exhaustive and overly-broad because I'm sure to forget something I'm thinking about but also probably going to list things I haven't touched in forever. Let's go!

  • My big project, going since 2018 (or 17, depending on how you count it) is Vulcan. It's an imaginary computer that I've been designing and writing an entire stack for: started by making an instruction set and an assembler, then an emulator, then designing some peripheral systems, writing a Forth environment in assembly, writing a C-like high level language compiler... All at a fairly slow pace over the course of years. The current phase is to write a web interface for entering high level language code, compiling it, and running it. The emulator, compiler, and assembler all have versions written in Rust that I can build for WebAssembly, so I've got a wasm module that I can call into, passing it strings of source code, and receive binaries I can load into an emulator, and so on. I'm working on a page written in React that holds an editor widget of some sort (probably CodeMirror) and lets me write some software. I'm actually nearing the self-imposed finish line of this project with this: I said that it would be "finished" once I could write, and play, a roguelike game on the system. Not sure yet if I'll actually stop working on it at that point.
  • The other code-related project is also written in Rust, but a much simpler thing: it's a library called "437♥", or "437<3", or "heart437" in descending order of correctness and ascending order of typographical compatibility. It's a graphical library in Rust that is meant to evoke, but not duplicate, code-page-437 "graphics." It allows you to display a grid of characters with foreground and background colors, as well as individual characters not aligned to the grid. It also provides helpful functions for the sorts of games you might make with this style of graphics, like map generation, shadowcasting, and pathfinding. But it's not all a roguelike party because I plan to also write tools like a Pathminder clone using it.
  • Next one is a much longer term one and less a "project" than an "interest:" in 2020 I started getting interested in synthesizers, and have amassed something of a collection of sound-producing electronics. I can use these to make interesting noises but haven't actually made any sort of music with them. There's a lot going on that's blocking me on this; mostly it's self-consciousness about anything that makes noise or is artistic (other than code, I guess). Anyway, there are a few different avenues to attack this from: one is to learn to play the piano, and I have a book about that. Another is to learn to use Logic, the Apple music-making tool (a DAW) that was a contributing factor to my buying a Macbook. I could also learn to play the Plinky, or the Linnstrument, or the Monome, all of which are sitting right here. I've imposed a sort of moratorium on any more gear purchases until I do something with the collection I have, though.
  • Another gear related hobby is photography, which I got into through work: I have a small collection of camera gear as well and have taken some (I think) pretty good pictures. I have a new lens I've barely used, and a couple books I need to finish reading, though. And of course some tools for postprocessing images that I need to learn (nothing anywhere near as expensive as Logic, or Photoshop, or Lightroom, though). Mostly I think I keep expecting there to be some hard technical aspect to this stuff (to music as well) that there's just not. I need to get used to the idea of just doing something by feel, one time. Programming and electronics both are concerned with calculation and repeatability (and portability). If you make one good photograph (or one good track) by ad-hoc tweaking, then that's fine, you did the thing, congratulations.
  • I continue to attempt to do game design and I continue to be unsatisfied with the results. I've been kicking around an idea for a while now about making a print-and-play roll-and-write game. Start small, just have one page (maybe folded into a "PocketMod") that someone can print out and play once. But I've tried a few ideas for mechanics and nothing seems to be fun.
  • I have various back-burnered electronics projects as well: a Penkesu for which I have all the parts and just need to assemble, a portable ZX spectrum (emulated) for which I have the PCBs and not much else, a screen and keyboard connected to a Pi Pico on a breadboard (programmed in Rust, taking up space on my desk), a 3x4 macro pad that is finished but I still need to customize the firmware, and a small selection of dev-boards-with-screens-and-keyboards that I need to learn at least one of (TTGo, M5, some others). I did go on a kit-building spree a couple weeks ago and assembled the Plinky, Drumkid (another synth-y toy), and this macro pad, but there are still others.

So what am I going to work on next? Probably one of the Rust projects. I can work on those while spending time with Megan, on a laptop, so they have the lowest barrier to getting something done. Once I get started, if I'm not bothered, I can usually get a major milestone completed on something, but getting started is a lot of inertia (due to Megan but also other factors). So the most likely order for these to progress is Vulcan and 437♥ first, then hardware stuff, then music.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

rbandrews: (Default)
rbandrews

July 2024

S M T W T F S
 123456
78910111213
14151617181920
212223242526 27
28293031   

Style Credit

Page generated Jun. 16th, 2025 12:00 pm
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags