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. )

new knife!

Got a Landwell in an under-the-table-stand knife deal at the halftime of pops with the Hamilton Phil tonight… now I have to learn how to sharpen a knife like an oboist properly

ReverseSign

Between 1999 and 2015, errors in the British Post Office’s accounting software led to hundreds of employees being wrongly prosecuted for fraud. In 2020, the government established an inquiry into the software; that inquiry has now been published.

I’d assumed I probably am not an advanced enough programmer to see what other people were finding so funny about this report. I was… wrong.

Gotta be honest, I kind of love this function. It’s performance art.

some guys I met in Sharjah

Sharjah, as I would not have known if I hadn’t been here, is one of the seven Emirates of the United Arab Emirates; although that means that it is its own absolute monarchy under its own Sheikh, in practice (or at least to someone from the GT"H"A) it seems to be more or less a suburb of Dubai, which is why we are staying here for convenience before flying out of the Dubai airport.

Today we went to the Sharjah Aquarium, in search of fish.

Inshallah they find him finding nemo meme still going strong in 2024?

We did find these guys:

Then we took the water taxi from Sharjah, right outside the aquarium, to Dubai, for dinner:

But more importantly, to meet these guys. Or rather for them to meet me, for they are clearly experts in identifying suckers likely to behave clumsily with small pieces of meat. (Sound on: important meows ahead)

While we’re at it, this guy outside the art gallery we went to in Sharjah, whose dinner was already very well taken care of: