Two weekends of Baroque gigs

The setup for last night’s concert: you know the party’s really getting started when they bring out the third harpsichord. I got a break for the triple harpsichord concerto, however, which was appreciated since the remainder of the concert was the Handel coronation anthems and the 3rd Bach orchestral suite, which is enough continuo to satisfy any level of masochist. The legendary soft reed that I played for almost all my Baroque concerts last season finally requested a peaceful retirement, so I had to finish some new ones…

Which I won’t need next week, because next week’s Baroque show is BWV 149, a bassoon part that calls to mind Bach sitting at his desk thinking “gee, I sure hope someone completely reinvents this instrument in a hundred years or so.”

The Conductor Hole

The Burlington Performing Arts Centre is very committed to ensuring things to not fall in the orchestra pit. Which is appreciated, however, has the amusing effect that the conductor needs to stand on the podium located under the net while sticking their head out of this… conductor hole.

Playing La Bohème this week, calling to mind the words of my conducting teacher, Alain Cazes, at music school: “If you ever have the chance to listen to a Puccini opera with the score, you will freak out! I guarantee it! You will freak out!”

Indiana

With the fish that haven’t been stolen They told me to kiss the bricks but they weren’t kissing back Mr. Maxym’s bassoon in the process of being restored, Canadian dime possibly by Stéphane?

The real purpose of a trip to Indiana: a bassoon overhaul by Paul Nordby. My bassoon hasn’t been touched by anyone but me since before I got the Regina job, so I’d developed something of a “if something goes wrong it’s because you suck, learn to make a reed, idiot” approach to diagnosing issues. (A philosophy not scorned in the Nordby studio, it seems: several buttons strung up proclaimed the motto “Schmuck, go home and practice!”) However, now that the pads on the instrument actually seal and the corks/felt aren’t thirty seconds from falling right off, playing the right notes at the right time at the right pitch has never felt so possible!

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: