Pinned post

Okay so

Hello. I'm @paul. I'm a musical hacker and sound designer interested in teaching computers how to sing. I spend most of my time working on software projects related to the field of computer music.

Some topics that amuse me:

My website: pbat.ch
My mirror website (hosted on GH): paulbatchelor.github.io

patchlore boosted
@Shufei @nivex @alcinnz nodejs is such a clusterfuck it makes me want to write things on sticks and rocks in Forth.
patchlore boosted

seeking roommate 9/1 in somerville ma

there's 1 large bedroom available on 9/1 in my apartment in somerville ma. rent is \$950/month + utils. the apt has tons of storage, parking, a dishwasher, and free laundry. no pets allowed, not wheelchair accessible. it's a very chill & quiet place

please boost & message me if you're interested. if we don't find someone for the room soon we'll lose the place & have to move out 🙃

https://boston.craigslist.org/gbs/roo/d/somerville-room-parking-walk-in-closet/7174688066.html

You'd be surprised how many things fit perfectly on a cell phone stand.

Cell phone and tablet stands are ridiculously useful things to buy. I'm using three of them right now. None of them are being used to hold a cellphone or tablet.

Knuth, Literate programming

WEB and CWEB print out all the named codeblocks at the end of each literate program. When used the way Knuth uses it, it's actually a helpful map.

In addition to the starting verbs, I also counted how frequently they are used. Some of the more common ones in Metafont include: Declare (41), Print (24), Scan (26), and Compute (17).

Knuth, Literate programming

Some of my favorite verbs in that list include: Complain, Worry, Scold, and Pretend.

Knuth, Literate programming

If you actually study the structure of Knuth's literate programs and writing, you'll see a lot of consistency in structure.

My favorite discovery has been the the naming system Knuth uses for code blocks. With almost no exception, Knuth will always the name of a codeblock be an action, starting with a verb. "Append the expression to arg_list" and "Compute a compromise in pen_edge" are two real examples.

I was so fascinated by this, I actually made a list of all the starting verbs in his MetaFont program: pbat.ch/wiki/verbs_in_metafont

patchlore boosted

The Zero Terminal 3: A Pop-Out Keyboard Linux Computer in Your Pocket

The mobile phone revolution has delivered us attractively packaged and convenient computing in our pockets, but without the easy hackability we like in our community. Meanwhile the ad… https://hackaday.com/2020/08/10/the-zero-terminal-3-a-pop-out-keyboard-linux-computer-in-your-pocket/

patchlore boosted

Be birb 🕊️. Do crimes!!!

patchlore boosted

bunch of waiting to go brrr

patchlore boosted

everyone knows about serifs, but did you know that every other piece of the letter also has a specific name? check out this rad chart!!

Every wanted to know how a table-lookup oscillator works? Here's a classic design of one, written as a literate program. It is a full implementation that outputs to portable ANSI-C code: pbat.ch/wiki/osc/

How to render one TeX equation to an image using plain TeX and dvipng

First, put this in a new TeX file. It has the equation, and does some sneaky things:

\hsize 0pt
\vsize 0pt
\nopagenumbers
\overfullrule 0pt
\noindent
$$X(\omega_k) = \sum_{n=0}^{N-1} x(t_n)e^{-j\omega_k t_n}$$
\bye

Then, run TeX to generate the DVI.

Run dvipng to convert the DVI file to PNG. Using the "-o" flag will set the output file to be name of your choosing.

With any luck, the resulting image should look like the one attached.

patchlore boosted

audio compression & formats

- you mostly can't tell the difference between a good mp3 or a good ogg and a flac. it's designed to lose the less audible sounds first. if you have good headphones and good ears and compare a song you know very well that uses patterns that mp3 doesn't compress well, you may hear that some frequencies are lost or distorted. even on a 320 mp3, and more the lower the bitrate. but still it's Very Good at compressing audio for humans.

- flac is very useful for archival, it divides the source size in half and keeps every bit of data intact. it 'replaces' wav files (compression is specified for wav but never became common). you can compress it and decompress it many times and you will still get the original file at the end ('lossless'). a mp3 gets worse every time depending on the exact encoding, like a jpeg. ('lossy')

- flac is the png, wav is the bmp, mp3 is the jpeg. none of those are perfect but each is good at a few things

Yay we're back :)

Inspired by my reading a line from Caliban's War, I looked up "how fast is 1G", and found this fun question:

space.stackexchange.com/questi

Managed to get a full bike ride in for the first time in 6 weeks since I injured myself. I am fortunate enough to live near some pretty nature junk and stuff. Here's a photo I took. This area always reminded me of a Monet painting.

Just removed my two biggest projects off github. Combined, they had about 1.2k stars.

Back to writing obscure software.

Found some old versions of online. I've uploaded them to github for general consumption:

Csound 4.09 (right before they switched to LGPL license):

github.com/paulbatchelor/csoun

Csound 3.842: github.com/paulbatchelor/csoun

It's been a shit day for me. But this makes up for it.