Armin Ronacher has recently been making some good points about tool composition: https://lucumr.pocoo.org/2025/8/18/code-mcps/
221 karma · joined January 10, 2012
Armin Ronacher has recently been making some good points about tool composition: https://lucumr.pocoo.org/2025/8/18/code-mcps/
I can't say enough nice things about SunVox. When I first saw it I was looking for trackers, and didn't spend much time with it. The second time I was looking for modular synthesizer apps, and that's when I fell in love. SunVox was my "gateway drug" to deeper learning about audio synthesis and processing techniques.
You can create entire compositions and useful effects processors with SunVox using only the modular synthesis parts of it. It's very tracker-oriented, and you can do lots of tracker things with it, but don't be fooled into thinking it's a tracker. It HAS a tracker, and that is a strong part of its history and common usage, but it is much more than that. The modular interface is very approachable and powerful once you get accustomed to some of the fundamentals.
"MetaModules" are one of its secret weapons. They let you package an entire SunVox project into a module, and expose an interface of up to 96 controllers, along with audio and note I/O. They can be arbitrarily nested… MetaModules all the way down. Besides sharing full compositions, MetaModules are one of the primary ways people share their creativity in the SunVox community. One prolific producer just released a collection of 236 modules built over the last four years. [1]
Heck, it's even Turing-complete. Someone implemented a CPU using SunVox! [2]
SunVox has a library version that lets you embed the audio engine into your own app [3] and there's even a WASM version. It's particularly well-suited for games, because you can control up to 16 independent SunVox instances at a time (to separate music and SFX for example) and it will mix them together.
During my own explorations of SunVox I reverse-engineered and documented the file format [4] and wrote a library called "Radiant Voices" [5] for Python and TypeScript that lets you read and write SunVox files. If you read/write to specific filesystem locations, you can effectively hook into the SunVox clipboard, making it possible to write auxiliary apps that smoothly integrate with SunVox.
One of my favorite experiments combining those techniques was to create a "MetaModule Construction Kit", which lets you use Python to create and manipulate MetaModules parametrically, experiment with them using MIDI and an alternative UI, then copy them over to SunVox itself once you are happy with the resulting MetaModule. [6]
(Sadly, I don't find myself having enough time as of late to keep those side projects up-to-date with the latest versions of SunVox. YMMV if you decide to explore them. Contact me if you want to chat about them at all, especially if anyone's interested in collaborating to help bring them back in sync with the latest version of SunVox.)
I could go on and on singing praises about this software (and other apps created by the same author), but I'll spare both the reader and myself… for now. :-)
[1] https://vekonvekon.itch.io/acheney-modules
[2] https://logickin.net/logicprocessing/the-most-ambitious-proj...
[3] https://warmplace.ru/soft/sunvox/sunvox_lib.php
[4] https://radiant-voices.readthedocs.io/en/1.0.0-dev/sunvox-fi...
[5] https://github.com/metrasynth/radiant-voices/tree/sunvox-2.0...
I couldn't tell you were being sarcastic and it seems others couldn't as well. I only found out through this comment.
Text is the worst medium for sarcasm since sarcasm is often signaled by vocal inflection or body language, neither of which are present in your post.
It's a working Game of Life implementation, with output to an oscilloscope view. The video goes into detail about each subsystem and how it's organized.
What does this have to do with Pong? His previous video is a working, interactive game of Pong, also implemented in SunVox using oscilloscope output.
Turing-complete modular synthesis!
[Edit: The Pong video is at https://www.youtube.com/watch?v=iKexf55seQM]
It had been so long since I looked at laser printers, I didn't realize their prices had become so affordable for home/personal use.
Now, when I print something, I know it'll "just work", and that the text will be crisp and legible every time, with no banding and wasted paper.
Plus, it's so much faster.
The cost and reliability of toner vs ink is one thing... but the lack of stress surrounding the occasional small print job at home? As stated by a much-parodied ad campaign, "priceless"!
(Edit: and I still have 60% capacity in the complimentary toner cartridge it came with!)
From what I understand, some of them were more feasible to develop because they implemented their own plumbing (GitUpKit), instead of relying on the official git plumbing.
Among other things, the new release supports macOS 10.15 Catalina.
I've been using Epichrome for years, to separate personal and professional browsing, and to run a few web apps as chromeless apps. Very useful tool.
I'm pleased that it's still actively developed and released as open source.
I know someone who works at a public library and regularly interacts with folks who've found hard times. From the stories I've heard, it's a fairly common situation for someone to want to reset their password, then be told by the site that they will receive a text message on a phone number "ending in ####". This is a challenge for those who had to get a new phone number since they signed up.
Although I'm new to Jupyter Lab, I just tried it and it does feel like it could be a very approachable IDE for educational use.
Several months ago I started working with a commercial code base that has about 3 years of commits and over a dozen contributors, but very few inline comments. Navigating and refactoring it is usually a fairly reasonable process due to well-named symbols, module organization, and test cases.
When that's not enough though, I pull up the "git blame" history in my editor, and a rich story unfolds, telling me things like about how old a block of code is, how recently that one line in the middle was changed, and why that seemingly benign extra bit of code is sitting there. Sometimes the commit messages aren't as detailed as one might prefer, but you can often still get a lot of useful insight just from the date stamps.
That article speculated that it's a "companion tool for the [Go Programming Language] project".
I couldn't find any other references to iOS apps written using Go, so I'm going to speculate that Ivy itself was written in Go. :-)
Glad I already switched to Python 3 for new projects, so I could evade that one!
- Sent from my toy machine
It's entering the eighth year, reaching its 700th show, and has been entirely funded by producers (active listeners) throughout its history.
No ads. No native advertising.
In the morning!
It's a bit rough around some edges, but http://turtleacademy.com/ is a decent site for introducing people of all ages to LOGO.
I love what a few minutes of casually messing around in LOGO can lead to: http://turtleacademy.com/program/update/53767042f4585906683c...
I love using a Wacom tablet for drawing diagrams, and wish there was a good shared whiteboard tool that supported pen pressure.
I didn't know if this is possible at first, but a quick search revealed http://muro.deviantart.com/, which supports pen pressure using a plugin.
Any chance you might add that kind of flair to whiteboardfox?