heeeey

Metronome

Pst of basic (but somehow also, seemingly, top-secret) info from Bret Pimentel, Use your metronome most of the time, with some excellent quotes:

I know very few musicians who have the problem that their tempos are too steady. It’s important to practice the tempo nuances too, but if you can’t play the line in perfect time then you probably can’t do a convincing accelerando/ritardando.

In my experience, there are two kinds of musicians who think they don’t need a metronome. One is the top 1%, who have spent a lifetime developing world-class musical abilities. The other is beginning and intermediate musicians, who haven’t learned the value of metronome work because they haven’t done it enough. Don’t mistake a top-level musician’s musings for good beginner advice.

The gorge

This weekend I went to visit some relatives in Ithaca, NY. Ithaca was raked into deep gorges by the receding ice sheets twenty or thirty thousand years ago, leaving behind impressive valleys and waterfalls.

As we were eating lunch after a hike, there was a knock on the door. It was a colleague of my great-uncle Dick’s from Cornell, where he taught statistics before his retirement. The colleague was returning a package of documents that he had asked for to research a book on the history of the area, including my great-aunt Betsy’s contribution to the preservation of the natural areas owned by Cornell.

In the late Eighties, when walking through the gorge was her regular commute to work, Betsy noticed some stakes in the ground. She assumed they were going to be building a new walkway, and called Cornell, who owns the land, to learn more. What she learned was that it wasn’t a walkway or enhancement to the natural area: it was an eight-story supercomputer research centre that was going to plunge right into the gorge.

“I told her, Betsy, the stakes are already in the ground. There’s no way you can stop this building,” said Dick. But there was a way: the federal funding for the building required public consultation. The building was a rush job, and the public hearing hadn’t happened yet. All summer Betsy set up a table on the footbridge in the gorge with information about the land and the planned building. She gathered thousands of signatures on a petition and finally, after a public hearing which went long into the night with residents voicing their opposition, Cornell scrapped the plans for the building to extend into the gorge and redesigned it to stand back from the edge of the valley.

“What’s funny,” said Betsy, “Is that a lot of the people who were in favour of the building at first actually thanked me after. The people who worked in the building hadn’t gotten to be part of the planning of the original design, and they said later that the redesign was much better for them.”

“Before that,” said Dick, “She was Dick Darlington’s wife. After, I was Betsy Darlington’s husband.”

resist!

The resistor pride flag (I believe originally created by @byjp@hachyderm.io on mastodon, though image search isn’t linking to the actual post) would be a perfect design for an embroidered patch… and there’s an embroidery machine at the library… the only issue being finding gold and silver thread for it…

Loaded onto the kobo this month

Magnetic circuits, ancient Greek, Britten’s The Turn of the Screw.

The most useless computer program ever made

Ah yes… I remember now why I gave up on compiling the assembly files from class on Linux. It wasn’t because it was too hard (though, yeah, CCS doesn’t do assembly, so you need to go the makefile/manual compilation/linking/etc route.) It was because the files I want to test are in Keil ARM assembly, and the GCC toolchain needs GNU ARM assembly. Which is very similar! Just a few syntax changes! If only there were some tool, maybe the most hyped piece of software of the modern era, that was supposed to be good at… switching words around?

So I paste a file into chatgpt and asked it to translate this keil arm assembly file into gnu arm assembly. Sure, it says, and begins spitting out… the exact same file. I’m staring at a reference document for gnu assembly. “You’re just giving me the exact same file back,” I tell it. “Apologies for the oversight!” it says, as if not doing anything and pretending you did is just some minor technical error. It tries again, and does seem to be producing something maybe correct, after the first few lines which for some reason it decides to leave unchanged. It stops a quarter of the way through with a button that says “continue?” which I press. (Did I fucking stutter?) It does another quarter, then stops. “That’s not the end,” I inform it. It does another few lines, then stops. I give up and go do something more useful with my time.

If it can’t do this– the kind of simple, rote task that computers are supposed to be good at

Using TI Code Composer Studio to program the MSP-EXP4432E401Y on Linux

Although I have a Windows partition installed on my laptop, using it means rebooting the computer and, inevitably, running into some rage-inducing reminder of why I do not use Windows.

For my microcontroller class this semester, we were given instructions on creating and flashing programs to the Texas Instruments MSP432E4 micro using the Windows-only Keil IDE. Since I didn’t want to be left behind in the class demonstrations, I didn’t get too far in investigating Linux alternatives besides the vague impression that I might need to write my own makefiles in order to use example code with the GNU ARM toolchain. Wrong!!! As it turns out, Texas Instruments provides a free IDE for its boards that is available for Mac, Windows and Linux… and now that the class is over, I’ve finally figured out I could have been using it all along.

So, here’s a walkthrough of setting up to program the MSP432E4 on Linux. (I’m on Mint, though I doubt there’s much here that’s terribly distro-dependent.)

First, install the Software Development Kit. This isn’t the IDE, it’s a collection of files that the IDE (or you, if you’re a makefile wizard) will use. As of May 2024, the link to get the SDK for the MSP432E4 is here.

When the SDK installer finishes downloading, you will probably need to allow it permission to execute. Right click on it and choose properties > permissions > allow executing file as program, then run it. The setup wizard will ask where you want to install it; probably just keep the default location, which is a folder called “ti” in the home folder of your local user.

Next, download CCS from here. I chose the offline install for Linux. It comes in a compressed folder, so extract it. Inside that folder is a file which begs you to read it first, which will tell you to run the executable.

That installation wizard will check the dependencies on your system. I had a missing dependency, libpython2.7.so.1.0, which was fixed by running

sudo apt-get install libpython2.7
sudo apt-get install libatlas3-base

if your distro doesn’t use the Debian apt utility, or you have different stuff missing, you’ll need to look up how to correct it before continuing.

After all the dependencies are OK, it will suggest installing itself inside of the ti folder that the SDK already made, so do that. Choose “Custom installtion” and select “SimpleLink MSP432 low power + performance MCU”. Keep the default debug probe selected, I guess, idk what the others are.

When the installer is finished, it tells you to run the driver install script before anything else, so go to the file path it provides and run sudo ./install_drivers.sh. Mine worked fine without rebooting but it will warn you some distros need you to reboot for it to take effect.

You can now launch the IDE from the icon in the ti/ccs12.x.x folder! The first time you launch it, it will ask you what you want to use as a workspace directory. I already have a folder I’m planning on keeping all my microcontroller stuff in, so I chose that one and selected “Use as default and do not ask again.”

Time to try it out with some example code from 2DX3! I downloaded a fresh copy of the provided Studio 4A example code from Avenue. Because it was created using the Keil IDE, it has some extra files and directories generated by Keil that aren’t needed.

From the Getting Started window of CCS, choose New Project. In the wizard that opens, make sure you set the correct board, and since we already have a project with a main function, choose to create an empty project with no main.c file.

The new project should now be visible in the Project Explorer window at the left side of the screen. Right-click on the project name and choose “add files”. Add all of the .c and .h files to the project, and then confirm that you would like to copy them instead of just linking to them.

Press the hammer icon to build the project, and the arrow going into a folder to flash it to the board.

That’s it! Since this code is flashing an external LED from PN2, I attached the circuit to test it:

Site Redesign

This website looks different! This is because I have ditched wordpress and migrated to a static site built with hugo. There are things about the site that work better and things that work worse, but at least the things that work worse work worse because I don’t yet know how to make them work the way I want them to, not because I’m using the software equivalent of an ox to push around a baseball for fun and can’t be bothered to control it.

I have to say, beyond the setup overhead (WHICH IS PRETTY LARGE WITH WORDPRESS TOO), the workflow for updating a hugo-generated site is… awesome. When I want to make a new post, or add something to one of the other categories of content, I just put a new markdown file in the correct folder on my computer. When I’m ready to update the site on the actual internet, I type “hugo” one time, then ./push.sh which is a single line rsync which puts the folder containting the HTML website that hugo generates on the computer, into the folder on the server which displays it to you.

Compared to logging into wordpress, dealing with all of the Super Critical Security Updates You Better Do Or Else You Die, making a new post with “blocks”(??????), etc, this is SUCH a great way to run a website. And the whole this is automatically backed up, of course, since the definitive copy of it lives on your local computer anyway.

I started with the internet-weblog theme, though I’ve altered it to fit the content here (for instance, having post types where date posted isn’t a relevent sorting parameter, and using the “microblog” content type, where the entire post is shown by default, as the regular post type.)

spring

New flowers for spring.

The listening crowd admire the lofty sound

The day before yesterday, while integrating line charges, I put Handel’s Alexander’s Feast on to keep me company; an oratorio on the text of a very silly Dryden poem, which I like because it has sick tunes and also because I love Alexander and particularly Alexander portrayed as a complete wacko clown.

Please, Mr. Stone, I don’t want a thinly veiled Iraq War allegory, I want whatever the hell this is! (Talbot Shrewsbury Book, 1444)

“What a goofy oratorio,” thinks I, integrating, “too bad I’ll probably never get to play it.” Though, only playing the bassoon here would not quite be sufficient. Much as we all know that playing percussion is just as difficult, subtle, and lifelong an enterprise as playing any other instrument (not even counting all the loading and unloading while everyone packs up and goes home!), Now strike the golden lyre again is the kind of timpani part that makes you think, “hey, I could play that. In fact, I want to play that. I ought to play that! I GOTTA play that! Someone get me two big drums to bang RIGHT NOW!”

…and then, the very next day, what should appear in my very own inbox but a gig full of Handel, including three numbers from Alexander’s Feast. (But only on bassoon. Womp womp. )