Category Archives: Gimcrackery

Nonsense. Bunk. Leftovers. However you want to call it. These posts usually cover my nichijou.

Dvorak and your home row

It occurs to me that I learned all the important keybindings in my life on Dvorak.

This means that hjkl in vim are 75% not in my home row. J and K are within reach of the left hand (and conveniently next to each other, thank goodness). While H lies right under my right index finger at rest, L is a slight stretch to the top with my right ring finger (P on standard QWERTY). Life with vim and other vim-like tools is a daily awkward keyboard etude.

It’s occurred to me several times before that I could rebind these keys (and relearn them all) so that I wouldn’t have to think so hard when I drive other people’s machines and have to type like a blundering idiot. The main reason why I don’t do so is that I prize being able to meaningfully echo my own inputs back to myself in my mind. Deleting a line sounds like “deedee.” “Good game” takes me to the top of the file; “GEE” drops me to the bottom. “Control – deedeedeedeedee” takes me on a leisurely stroll down the text. This sense of control allows me to constantly remind myself how to use vim rather than rely solely on muscle memory. Then I invert ordering of mental sounding to keyboard input: I say to myself “jay jay” and use that to override my hands to tap “J” with my right index finger. “Deedee” is done with my left middle finger (when usually it looks like “hh” by my outstretched right index finger).

Re-derivation in the moment is a moderately useful skill that I like to cultivate even for useless things like this.

J39M

Advertisements

Mistake of the day: pyinotify

I’m rewriting an old application. The next-gen evolution here is that instead of a time-based loop, I’m rewiring the flow of execution to take cues via pyinotify. (I was terribly proud of calculating the average song length in my library and using that to decide the loop timing.)

I followed the example code and read the documentation. I found that the key takeaways were

  1. I was to use WatchManager.add_watch to monitor my file. In this case, that’s ~/.quodlibet/current. The documentation clearly states that files and directories both are watchable – though the tutorials only seemed to cover directories.
  2. I watched for the event pyinotify.IN_MODIFY – because I would be waiting for a file modification.

When I tried a dummy run just to see things in action, the event process was triggered as expected. However, processing had fallen through to the “default” event – not IN_MODIFY as I wanted. To make matters worse, no further events were ever seen again (even when they should have happened). I was only getting the one event – and the wrong event, at that.

There’s no head-scratching here. When I added some more verbosity, my gross mistake became very clear. The process of changing ~/.quodlibet/current is to write the new one out to a tempfile and then swap it into the “real” current file. This is two(-ish) events in ~/.quodlibet, and neither of them is a modify to ~/.quodlibet/current.

EDIT: I think the once-off happens because your watch is invalidated. When the tempfile clobbers ~/.quodlibet/current, the underlying file is no more – so you’re watching a ghost whose name was already usurped on the filesystem.

The correct approach is to watch ~/.quodlibet and match on the exact file being reported in the event fire.

J39M

I appreciate blunt friends

I have as of late been moaning and whining incessantly at 2 very blunt friends of mine. The moaning and whining arises from a personal crisis that requires honesty and pragmatism to quell (and possibly address). Some friends I confided in erred on the side of consideration and immediate kindness. I appreciate that – but the wounds within continue festering.

The bluntness is like a sudden splash of cold water, like the shock you get when you drop off the boat thinking that Hawaiian water is warm. In ordinary conversation, it might seem like “well, not really what I was looking for,” but it is a necessary thing that I ultimately look fondly back at.

Bruce rattled the fence as he clambered up. He lithely made his way down, turning right at the corner peach tree, continuing to the grimy bathroom window, and hanging a final left into the homeward stretch.

Bruce stopped. Home was supposed to be here, just off the fence. This was not home.

He paused. He turned in place (an impressive feat even with his feline grace) and retraced his steps – right, past a spotless bathroom window, and left at the apricot tree. Bruce’s nose perked up. He had passed here only moments before, but none of his scent lingered. It was as though he had never been here.

Unnerved, he turned again, one paw slipping audibly on the usually steady fence. Right at the lemon tree, past the blank wall, and left to the home fence. Nothing. A nondescript backyard, not very tidily swept – definitely not Bruce’s home.

Bruce did not turn around again. He continued down the fence. If he was lost, he could always find his way home from the neighborhood streets he knew best. He passed the four-way at the juncture of houses and continued on, eager to hop off the fence.

But the street was not ahead. He came instead to another four-way fence meet-up. Bruce turned left. He must have been accidentally running parallel to the street.

Five fence intersections later, Bruce was still lost and increasingly unsure why all the houses here formed a perfect grid with no egress to the street. Stranger still was the unnatural calm. There were far fewer crickets than August usually provided. Every single house was dark, even though it was scarcely an hour after sundown. Bruce hadn’t run into another living thing – not even a pesky dog to taunt.

Bruce bent and made to drop off the fence.

He froze immediately and couldn’t move. Waves of foreboding crashed over him. The yard, sparsely planted and somewhat unkempt, leered malevolently at him. Bruce knew that he absolutely could not stray from the safety of the fence.

Bruce slowly straightened up.

Meow. A plaintive and confused sound escaped him.

Meow. Bruce just wanted to get home.

Meow. Bruce was scared.

Meow. Bruce was lost.

Meow.

The unending grid of cold houses stretched unimaginably far in all directions.

Google Fantasy Maps

Google stands at the crux of having another exciting content platform. All they would have to do is marry their AR / VR offerings with Google Maps.

Today, you have satellite, traffic, and other overlays on Google Maps. These are all functional features that are dead useful. I propose that Google add useless overlays to make Maps an entertainment platform.

To an extent, this already happened with their promotion for Fantastic Beasts. Take it a step further – imagine a creepypasta overlay. Reported Slender Man sightings (complete with subtly photoshopped portions of StreetView), SCP reports from around the globe, and Mowgli’s Palace in North Carolina. Imagine a sci-fi overlay where you can walk ’round Iowa and see the USS Enterprise being constructed. Augment this whole system further with “contributed” videos to complement StreetView.

I know I would sink a lot of leisure time on Google Maps if I could explore Hogwarts Castle or see some of the city-bending of Doctor Strange play out live.

159 – A word about uncredited orchestras

One of my biggest pet peeves is thumbing the liner notes and flipping the jewel case back to front and failing to find a credit for the orchestra. Oh, great, John produced this album, too. Oh, great, John also conduced these cues. Fantastic. How about you tell me who was actually responsible for making these beautiful sounds?

This is most prominent in my Harry Potter selection. I used to have Sorceror’s tagged as John Williams / LSO purely by (mistaken) assumption. I went back, looked, and realized that this was wrong. To this day, Sorceror’s and Prisoner both live with John Williams as the sole credited artist on all tracks. Goblet and Order, thankfully, have the LSO and the Chamber Orchestra of London unambiguously penciled in.

This imbalance has long bothered me, because the purpose of my sticking as close to possible to the urtext of the liner notes has been to faithfully document who was who in the album. It’s not really fair to me (and to my scrobbles) to treat John Williams like a ubiquitous monolith.

Starting with Star Wars: The Force Awakens, I tried something new. I labeled it as Williams (Dudamel) with a ‘”Highly Regarded” Freelance Orchestra.’ The name is taken from a press release describing work on the TFA score. It’s outlandish and unprofessional enough to not be mistaken for something actually given verbatim in the liner notes but satisfactorily descriptive to scratch my documentation itch.

I continued with my three selections from the Nichijou scores. I have volumes 1, 4, and 8 in my collection. The album title is one of those unnecessarily lengthy ones that blow out my player UI when loaded, and it explicitly gives Hungary as their recording location (wow!). Watching the special features on the Blu-rays (that came with my purchase of 1, 4, and 8) corroborated this, but unfortunately I couldn’t discern the name of the orchestra they worked with. At time of writing, Wikipedia retains records of 9 Hungarian orchestras. I found a larger list of 21. Therefore, the final tags are for Yuji Nomi leading “1 of 21 Possible Hungarian Orchestras.” I would be ecstatic to find out which one exactly.

The trend has most recently spilled to Rogue One, tagged as Michael Giacchino (Tim Simonec) with “Enormously Varied Contract Orchestra.” I forget if they were explicitly described as contracted (but I believe they were). The “enormously varied” label comes from the fact that the liner notes actually included a 169-strong roster of the musicians who took part in the score. I gleefully typed them up and saved them as plaintext, but was happy to summarize them as the EVCO (instead of going for the artist gore that I use for operas and Mahler’s 8th).

J39M

157

DAD: Any new and fun side projects?

ME: Yeah, a script that keeps track of digests for a bunch of files. Mostly my pictures.

DAD: Why?

ME: You know, so I can run it every half-year or so to make sure I’ve not got any bit rot.

DAD: And how likely is that?

ME: Not at all. Probably more likely to die in a car crash tomorrow.

DAD: So again, why?

ME: Just in case.

 

So really, I should be turning my efforts to something more productive. I keep telling myself I’ll sit down and slurp in the code base for some project in need, but I never get to it. The candidates are Quodlibet, sway, and dbus.

It’s a testament to the fundamental (though probably exaggerated) faith I have in my hard disk that I gave that hyperbolic example; I’m not even planning to leave the house tomorrow.

J39M

156

Background

I collect the film scores of the Star Wars cinematic universe. Like other things I enjoy, I am unhappy if I discover them incomplete (it happens). There are 3 categories that I reckon with between which incompleteness can happen:

The true film score

This features in the soundtrack of the film itself. It includes splices like the inclusion of the cello-driven “Force” theme (Burning Homestead) in The Ways of the Force.

The album release

This will be on sale at Target, at Walmart, etc. and may be “edited for content and clarity” – not that the packaging is honest enough to tell you so.

The “for your consideration” copy

I took notice of these starting with TFA – MP3 copies of allegedly the true score appear on the Walt Disney Studios Awards site presumably for the convenience of the Academy. I don’t know why this is, though, because physical copies should exist which are mailed to voters. I’ve seen a purported eBay listing for a TFA FYC physical press going for over 400 USD.

I say “allegedly the true score” because the folks at JWfan are quoted as saying that these should follow the exact presentation of the music in the film, and especially no concert arrangements. This can’t be true, though, because the Burning Homestead bit appears exactly nowhere and for some reason the end credits suite is missing a lot of material. Huge extended portions of Rey’s theme, what sounds like a spliced version of The Bombing Run, and I think slightly longer March of the Resistance all feature in the true film score and not in the FYC. (March of the Resistance is already slightly extended for the FYC, but I think the true film score gives it even more. I should check.)

The matter at hand

I finally got around to rigging PulseAudio for loopback capture (it’s ridiculously easy with pavucontrol). I pulled up my digital copy of TFA on YouTube (came with my Blu-ray purchase and I haven’t even touched the surface of Blu-ray decrypting, let alone extraction) and relived my childhood of hooking a 3.5mm male-to-male cable from line out to line in. I mixed in the album copy of The Jedi Steps and voila! The true film version of The Jedi Steps and Finale can now be added to my collection.

This is hardly ideal – god knows what quality playback I achieve with the YouTube copy and how much a hit it takes when I capture it from my output – but it’s certainly a huge step forward. It’s also a very acceptable stopgap until I can procure the necessary hardware (and learn the software) for Blu-ray extraction.

J39M