Posts
by n splendorr
September 30, 2020

"while you make up hypotheses out of thin air"

ooooh this is a great-sounding song. I like all the singles from this album that comes out on oct 16!!

September 30, 2020

“out, in”

I don’t know how to embed an instagram video, but The New Trust just posted a great cover of a Kate Bush song! Here it is!

September 28, 2020

I made a playlist for my Top Gamer Moments :]

I am not always good at games, but sometimes I am! And I had saved a few short clips, so here's a playlist. Oh well!

September 28, 2020

Eager Developers Versus Stable Software

(I’m on a little bit of a software kick this week; I’ve realized I work with software every goddamn day but hardly ever talk about it with anyone.)

Developers update too quickly

Here’s a thought: I hear a lot of software developers say they assume “power users” update their OS and other software quickly. I just don’t think that’s a safe assumption! I, and several other working developers I know, HATE to update their tools, because it’s probably going to break! I was advised that if you want to work with Unity, you should really be using the version from 2 years ago, before they started breaking a bunch of stuff and adding incomplete features. I run macOS 10.14, but wish I was still running 10.11 (or even 10.9 in terms of performance). But I just literally can’t and the ONLY reason is because the software tools I use don’t maintain backward compatibility for more than a year or two. And I think that’s a mistake!

Developers are trapped by this cycle of assumption:

  1. All Mac devs know that macOS is getting buggier every year.
  2. They still want to use “the new features,” even though they aren’t that significant year over year.
  3. Those same devs then inadvertently pressure the people who use their software to update to the newer and worse OS version by dropping backward compatibility.
  4. Apple has no outside pressure to improve compatibility because the numbers allegedly show “most” people are upgrading.

This sucks! I think there’s another negative cycle here: developers of software for a platform follow that platform closely, talk to other people who develop for it as well, and get a general sense that “most people” update whether they like it or not. But talk to any working professional — artist, accountant, and anyone in between — and unless they are sorely missing some feature, they are not eager to update. They just want their workflow to continue to work! They don’t want a UI overhaul (unless they work in Unity or Unreal, lol). And they don’t want to have to update their operating system. Because when it inevitably breaks in a dozen other ways due to platform mismanagement by Apple, Microsoft, Google or whoever, they resent it.

Or, they just don’t use your software. This post was born because I installed NetNewsWire for iOS, really liked it, and wanted to install the Mac version, too. Oops! No dice. Requires at least macOS 10.15. But why? It’s an RSS reader. It fetches feeds and displays them, something that’s been technically feasible and fast for decades, including in the previous incarnation of NetNewsWire that I used smoothly on my 2005 PowerBook!!! What possible reason is there to build software that literally doesn’t run on anything but the newest hardware/OS combo?

(Related: I think it's bad that developers use new hardware! It gives you the wrong idea about the platform, and hides performance problems that most of your users — who can't afford a new computer every year or two — are forced to deal with.)

In the case of NetNewsWire, I’m pretty sure it’s because they wanted to use SwiftUI. Okay! Why doesn’t SwiftUI work on older versions of macOS? Because fuck you, it would be too much work for the most valuable company in the world.

The numbers back this up

But what’s the harm? How many people are you excluding? Well, according to statcounter.com:

(By the way, my 2-year-old iPhone updated to iOS 14 last week, and now it often fails to load CSS and images on sites in Safari!!!! Fucking WHAT???????????)

According to Apple a year ago (via Apple Insider):

There may be as many as 42 MILLION Macs running versions of macOS more than a year old. One of them is me. And I don’t plan to update until I have to buy a new Mac, which I do not look forward to, because the stories about accumulating bugs (on top of the myriad I encounter all day every day already) are a major deterrent.

So I guess I won’t use NetNewsWire on my Mac! Oh well, no big loss for them, I guess, since it’s free anyway, and software isn’t meant to be used, especially not by almost half of the Mac user base.

I guess the question for developers is: how many possible customers do you want to have? 58 million, or 100 million?

¯\_(ツ)_/¯

September 27, 2020

"Well, everything can happen for a reason, if you’re willing to make one up."

Hussalonia is so good. I'm listening to Nondum in Auge on repeat right now, and then breaking off to listen to other Hussalonia songs for a while. Here are a few good ones:

There’s always something to look forward to.
Sometimes you just don’t know what it is.

September 27, 2020

"It is fast or it is wrong"

I'm thinking a lot about this lately. I've spent most of the last month figuring out why game code I wrote in Lua for specific hardware, which was running along just fine for months, suddenly got much slower in certain situations. The answers mostly came down to "higher-resolution stereo audio files in the wrong format take WAY more cpu time than comparable-sounding files at a lower resolution in the system-appropriate format," (though the docs said the other format was fine, they were wrong!); and, in my naivete, I hadn't been properly removing unused processes in the background. So, even though I thought things weren't running in some cases, they were, and this was a problem when several scenes wound up layering on top of each other.

These were pretty big, "oh!!!" fixes, that mostly arose out of working in an unfamiliar environment. These can be understood, and are a major relief to solve.

But there's a bunch of little optimizations you can do in Lua that are... well, honestly, ridiculous. How should you insert a new entry in a table? Well, probably

table.insert(table_name, value)

...right? That's the language's provided method. Nope! Turns out it is often way faster to call

table_name[#table_name + 1] = value

which is like saying, "For the position that comes 1 after the length of the table (aka the last position, plus one) make it this new value!" Holy shit!

This happens all over the Lua built-in methods. Do not use table.unpack(table_name) to get values out of a vector2! It's always better to manually assign values, like local x, y = table_name.x, table_name.y. You should never use ipairs() if you can help it; it's always better to get the length of the table and then do a simple for loop over the length. Like, WAY faster. I could go on, at great length! But despite having read most of the Lua Manual and its Programming in Lua companion book, I had learned a lot of bad code practices and used them all over my codebase, losing milliseconds of time per frame, and fighting some pretty bad performance hiccups.

... speaking of which! I just paused and spent over two hours configuring syntax highlighting so I could illustrate this! LOL the web is so fucked

Anyway, I read these posts by Nikita, It is fast or it is wrong and Performance first, and find myself nodding. There's definitely a phase in coding where you just literally have to make it work at all. That's fine, if you have no idea how to do it, of course you can't worry too much about whether you're also doing it "the best way". But then... in my limited experience, you aren't done with the feature unless it also runs as well as you can reasonably make it. And that's hard! It takes extra work. But... so much software is so bad. It's really driving me nuts lately. Particularly when massive-scale operations like Apple, Slack, Dropbox, et al, are just dropping the ball straight through the floor.

Particularly:

Browsers? Same story. HTML is a pretty inefficient way to put pixels on a screen. A computer that might render millions of polygons a frame could easily struggle to scroll a web page. Same as with Advent of code solutions, it doesn’t really depend on how powerful your computer is. And even a highly optimized web code based on Canvas and WebAssembly (Figma) makes my Macbook fans spin while running native Sketch in complete silence.

There’re just limits on how far this wrong solution can go. Electron text editors can’t resize their own window in real-time and drop frames while you just move your cursor around. Slack would be as slow and memory-hungry on iMac Pro as it would be on a 12” Macbook.

The whole solution, the “web stack”, is wrong. The same thing could be done faster and more efficient easily—there is just so much wasted potential. Time to admit that and start over. There are fast text editors and chat programs around, very well within capabilities of even the least powerful netbooks.

I reckon all I can do is try my best to have the things I ship be as fast as I can manage! And then somebody else can complain about me in their posts.

September 26, 2020

Software sucks

Every single day, my computers do terrible things, for no apparent reason, that waste my time. It’s a fact of life whether working or playing on a modern electronic device. Every time we connect for a work call, my friend Jada’s wireless headphones may or may not connect, maybe with or without microphone or sound, maybe requiring a full reboot of her expensive Surface laptop. The thing doesn’t have a headphone jack, so basically, fuck you.

I’m running macOS 10.14 (which, let me remind you, is only 2 years old, and most OS updates used to happen on a 2- to 4-year interval, shipped on disks, and were expected to work with constant patching). I do light web and software development, run 5 different chat apps because we live in all kinds of hell, listen to music, and browse the web. I have to restart my laptop at least once a day, because no matter which combination of these things I do, it starts getting slow. Every Apple engineer should scream when they read that, because they are exactly where Microsoft was two decades ago. Except MS had these problems while admirably maintaining compatibility with old software; most Mac software from more than a couple years ago just straight-up won’t run on modern macOS, either because 32-bit was deprecated (presumably just to make Apple’s job easier), or because APIs change and break often enough that software just can’t keep up.

There are dozens of smaller and larger examples every single day, that I complain about briefly (or don’t, because it’s not worth it), and then move on from, because there’s nothing to do about any of it. The people who make fortunes on hot software don’t seem to listen. Apple is an impenetrable shell, bent on making their platforms “new!” and worse annually. It’s all fucked.

AND, none of this is important, in the big picture, compared with, like, anything. Except in the daily stress and loss of productive time for billions of people every day. Which, who cares? Apple’s got two trillion dollars. The new watch is brighter. Go fuck yourself.

This post by Nikita (via Michael Tsai) is a great illustration and summary of the problem.

The point is, this happens all the time, every day, multiple times a day, and one person can dedicate only so much time to dealing with it. The stream of minor annoyances is so large people just got tired of dealing with it! And no, there’re no better alternatives.

To prove my point, I decided to record every broken interaction I had during one day. Here’s the full list I wrote yesterday, September 24, 2020.

It’s cathartic — and dispiriting — to read this litany of tiny assholes, some of which I encounter (Slack, get fucked), many of which I don’t. Which shows it isn’t just me. Anything you try to do on a computer is a quiet nightmare. Just now, trying to select and copy text on my iPhone that updated itself to iOS 14, I… couldn’t. The cursor was going ABOVE my thumb, presumably because they removed the useful loupe, presumably because it didn’t “look clean,” and anyway I couldn’t get the text to select even when I moved my thumb down, because it just kept hovering around. Eventually it worked. Why? I dunno. It worked fine 2 years ago.

To end on a lighter note, I’d love for you to go to Nikita’s site and click the day/night toggle in the upper right. It does something small that surprised and delighted me. That’s all we want! Work well, surprise nicely.

September 25, 2020

"When the animals get lonely" - New album from Hussalonia!!!

New album from Hussalonia!!! One of my favorite songwriters, who thankfully records and releases more music than is humanly plausible. He's had a huge impact on me, both musically and in the ways I'm able to think, especially about mental health and depression. I'm deeply grateful for his work, and it's fun as hell to sing along with. This album is packed with hits, even on a first listen.

NONDUM IN AUGE, Hussalonia’s 48th release on Bandcamp, offers a rather straight-forward album of Americana-tinged, melancholic, alternative rock about loss and hope. Unlike previous Hussalonia albums which rely heavily on the multi-tracking process necessary for a solo recording artist, the basic tracks of NONDUM IN AUGE were recorded live in The Hussalonia Founder’s basement in the summer of 2018 with Drummer-composer-visual artist Rob Lynch and bassist-composer-designer Jonathan Hughes who have played on a number of previous Hussalonia releases (see: 2010’s DEEP IN A DONUT DREAM, 2016’s MY DEAD TOOTH, and 2019’s PHIL). While overdubs were later added, there was a concentrated effort to preserve the live sound of three people making music in a low-ceilinged, hole in the ground. It’s an album that is several years in the making, interrupted by crippling bouts of depression and anxiety surrounding the state of the nation. How does one function normally in a tailspin of chaos? One doesn’t.

Nondum In Auge is a Latin phrase which can be translated to mean: not yet at its zenith. It’s a sentiment that, if one were feeling hopeful, could apply to the United States. That it’s being offered in a dead language adds a gut punch of pathos — all things, no matter how orchestrated and engineered, must pass. Loss and hope! Loss and hope! Too, I suppose, it’s a phrase that could apply to Hussalonia itself. Still toiling in willful obscurity after 23 years, Hussalonia has not yet reached the height of its popularity or, let’s hope, potential.

"Isn't living strange? We're drawn to other people's pain. So tell me wherefore does it hurt; in some vague place beneath your shirt?"

September 25, 2020

Jim Steinman Facts

After re-listening to Celine Dion's incredible full-length "It's All Coming Back to Me Now" (written by Jim Steinman), and revisiting a few tracks off of Meat Loaf's explosive Bat out of Hell (written by Jim Steinman), I had to do a little more research about Jim Steinman! Here are two great quotes!!!

From a fun essay by DB Fishman:

He may not have been of the rock & roll world, but he was definitely of its attitude. Inspired by his heroes – Wagner, Hitchcock, Spector – Steinman’s music uses elaborate and convoluted, multi-part arrangements, channelling in bombast and excess the emotional storm of teenagedom. He regarded the songs on Bat (average length: 7 minutes) as single edits, as he’d already whittled them down from 20 minutes each.

Then, from his Wikipedia entry, after describing the wild-sounding play he wrote in college that started his musical theater career:

Several motifs, lyrics, and monologues from this show appear in songs Steinman later released. For example, the lyrics "turn around bright eyes" from "Total Eclipse of the Heart" can be heard in the song called "The Formation of the Tribe". This was originally a reference to the blast flash of nuclear explosions, and the full riff of the original Dream Engine composition can be heard in the musical break of the Bonnie Tyler recording, (including symbolic musical "blasts" to punctuate each phrase.)

Not only did I not know he wrote absolute legend and karaoke showstopper "Total Eclipse of the Heart," the fact that "turn around bright eyes" is about a nuclear explosion is one of the most ridiculous and hilarious music facts I've ever heard! 😅😲🤣

Anyway, I once described Jim Steinman as "rock music for dads who would never admit to enjoying a musical," and I stand by it. I truly love his songwriting!

September 22, 2020

"We can wish that everything was easy"

the juliana theory — we make the road by walking

"there's beauty everywhere!!!"