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:

Sheikh Zayed Grand Mosque

Visiting the Sheikh Zayed Grand Mosque in Abu Dhabi is not like visiting any other religious building that I am aware of. Certainly it was very different from either of the other two enormous mosques we visited, Sohar and Muscat. In Sohar we just walked in, the only visitors during the non-Muslim visiting hours, and could have walked around basically unnoticed if we hadn’t specifically sought out someone to confirm that it was OK to go in all the places it seemed were basically left open for you to go in. In Muscat there was a main tourist gate, with a lobby area that had clothing available to rent or buy, and then after that you could wander where you wanted everywhere except the prayer hall, which had cordoned off walking areas for tourists around the hall.

In Abu Dhabi, the visit starts by reserving an entrance time. When you drive into the complex, you park in an underground lot that looks like it belongs to a shopping mall, because it does belong to a shopping mall. There’s a shopping mall in the mosque complex. After buying any necessary clothing– the dress code is the same as any other mosque, though signs at the entrance also specify a list of other forbidden things, such as teddy bears, suntanning, kissing, and a list of forbidden gestures that does not include the most common North American obscene hand sign– you proceed through a sort of airport security area with metal detectors, and then an even more airport-like corridor with a moving sidewalk and enormous photos of all of the political and religious leaders who have visited the space. Or you can take a taxi down the hallway!

Probably not the best idea to choose pictograms that can be deprecated…

After passing the fresh squeezed orange juice machine (?) you exit into the courtyard of the mosque proper, which has very specific areas where you can and cannot take photos.

The first “photo stop”

One of the halls of pillars

And finally, what we’ve been waiting for… the largest carpet in the world!

There was a sort of tourist path laid out, with the way through the prayer hall on a raised plastic surface so that you don’t have to take your shoes off. After reaching what seemed to be the final destination of that path, there were still signs that seemed to indicate you could go other places on the enormous grounds; specifically, we decided to try to see the women’s prayer hall– the above hall, of course, is only for men– and also the mausoleum of Zayed bin Sultan Al Nahyan, who ordered the mosque built, died during its construction, and was buried on the grounds.

We were intercepted on our way to the mausoleum by a security guard who said yes, we could go those places, but he would call us a taxi. So we took the buggy to the mausoleum; nobody else was there besides another guard enforcing the no-photos policy of it. Interestingly, the mausoleum was noticeably simple: inside a huge marble enclosure, the founder is buried in a raised box open on the top, so what you see is the pile of dirt on his corpse.

Then we went over to the women’s prayer hall, which a previous security guard had said only women are allowed to enter. (This wasn’t the case in Sohar or Muscat.) So I went up to the security guard outside that room, and asked if I could go in. “For the prayer?” she asked, looking at me like I was insane, since it was 9:45 in the morning. I said no, just to look, and at first she seemed to be saying no, but as I was about to leave she said yes and indicated a separate room to leave my shoes in and again, no photos of the room.

Maybe it was just the contrast with the insane opulence of the rest of the place, but even compared to the two other major mosques we visited, the womens’ room seemed, well, a little neglected? There was a carpet, and an intricate design on the ceiling, but in context it seemed to be making a clear statement that that this was not a place of major importance to, well, anyone of major importance.

Then we took the taxi back through the tourist corridor, and ended our visit at… the mosque mall Tim Hortons.