Sunday, February 25, 2024

The Return of Stew-beef


I have, to my knowledge, seen nearly every episode of The Daily Show, since the very beginning.  That means I’ve not only seen what I believe to be every single episode hosted by Jon Stewart and every single episode hosted by Trevor Noah, but every episode in between and since, and even the majority of the episodes hosted by Craig Kilborn, who preceded Stewart.  It was a very different show back then, but I watched ’em all.  There’s been a lot of individual bits of various shows that I’ve disliked, but I don’t think there’s been a single show in these past 28 years that hasn’t made me laugh at least once, and most of them far more often than that.

So obviously I was pretty happy to see Stewart come back to the show a couple of weeks ago.  I thought his first show back was pretty awesome: as his Apple+ show (The Problem with Jon Stewart) proved, he really hasn’t lost a step since his “retirement.” He’s still got the rhythm, and the biting commentary that’s perfectly happy to skewer public figures on both sides of the aisle.  I laughed plenty.

Both not everyone appreciated his homecoming as much as I.  There was, in fact, quite a bit of criticism, perhaps most emblematically summed up by Keith Olbermann, who tweeted:

Well after nine years away, there’s nothing else to say to the bothsidesist fraud Jon Stewart bashing Biden, except: Please make it another nine years

Of course, Olbermann has been a critic of Stewart for years, going back to saying that he’d “jumped the shark” back when Stewart (along with co-host Colbert) put on the “Rally to Restore Sanity (and/or Fear)” (which I quite enjoyed, personally).  So it shouldn’t have been news.  But, somehow it was ... perhaps boosted by similar criticism from Mary Trump, the hosts of The View, and a bunch of people described as “liberal media figures” whose names I’ve never heard in my life.  Basically, they accused him of “both-sides-ism.” Well, fair enough: as I noted above, Stewart is fond of not letting anyone off the hook, regardless of “sides.” But what did he actually say, actually?

Well, he said this:*

What’s crazy is thinking that we are the ones as voters who must silence concerns and criticisms.  It is the candidate’s job to assuage concerns, not the voter’s job not to mention them.

and this:

Look, Joe Biden isn’t Donald Trump.  He hasn’t been indicted as many times, hasn’t had as many fraudulent businesses, or been convicted in a civil trial for sexual assault, or been ordered to pay defamation, had his charities disbanded, or stiffed a shit-ton of blue-collar tradesmen he’d hired.  Should we even get to the grab the pussy stuff?  Probably not.

But the stakes of this election don’t make Donald Trump’s opponent less subject to scrutiny.  It actually makes him more subject to scrutiny.

Which ... sounds pretty reasonable to me.  I’m not sure what Olbermann and friends expected Stewart to do—was he supposed to pretend that Biden isn’t old, or that no one realizes he’s old?  I mean, The Nation expresses it better than I ever could, so I’ll just quote them:

Stewart’s segment was fundamentally pro-Biden, a shrewd use of comedy to address unease while also, as Stewart at his best always does, keeping the big political picture in mind. It’s a way to address the age issue on pro-Biden terms but still maintain the trust of independents and nonpartisan Democrats, who are the swing voters in danger of abandoning Biden or staying home.

Yep, that’s what I thought too.



__________

* If you want to follow along at home, you can watch his monologue on YouTube; my first quote starts at 15:53, and the second starts at 17:30.











Sunday, February 18, 2024

Creeping Rageaholic I


"Set Shit on Fire"

[This is one post in a series about my music mixes.  The series list has links to all posts in the series and also definitions of many of the terms I use.  You may wish to read the introduction for more background.

Like all my series, it is not necessarily contiguous—that is, I don’t guarantee that the next post in the series will be next week.  Just that I will eventually finish it, someday.  Unless I get hit by a bus.]


This is one of my longest idea-to-realization mixes.  I originally had the idea for this mix back in 2003, when the guy who had been hanging out with a cartoon dog and entertaining my kids put out an album, and the first song on it sucked me in with a serene opening and then just exploded into existence about a minute in.  It reminded me rather forcefully of driving back and forth from where I went to college in Northern Virginia to my parents’ house in southern Virginia and belting out ”‘cos it already is!” at the top of my lungs, and I knew I had to pair those two somehow.  But I didn’t finalize this first volume (or at least get it as close to “final” as any of my mixes ever get) until just this year.

Part of the problem is that mix has a very specific mood.  Musically, the hook is that these are songs which lure you into a false sense of security, then just burst into being.  It’s a little more than just dropping the beat; many of these transform fully from ballads to full-on rockers, if not heavy metal bangers, somewhere between verse and chorus, or even between one verse to the next.  But, emotionally, that’s a very specific mood to capture.  Some of these songs are about loss, or about violent discovery, or about reflecting on one’s own faults and the inevitable frustration that comes when you know you need to be better but somehow just can’t manage to achieve it.  I’m just not in the mood for that very specific energy all that often.  But, when I am, these are the songs I reach for.

To give you an idea of the vibe you might get from this mix, I’ve assembled you a little cento, cobbled together from lines of the songs in this first volume.  When it comes to naming a mix volume, there’s two camps that most of them fall into: either there’s a perfect line from one of the songs that instantly suggests itself as perfect, or there’s nothing that really jumps out at me and I have to go scouring.  But this volume is a bit of an outlier: there’s an embarrassment of riches here, and I ended up with so many great candidates that I started piecing them together in my head.  Here’s what I ended up with (attributions given at the end of the post):

Day after day after sorry day,
the sun makes me sick.
One, ’cause you left me.
You hate the things that I like—
that fascist faith will kill you.
I think I’m just paranoid;
I’m fucking lazy ...
there’s just too much pressure to take:
I’m just another soul for sale.
It’s not my time to wonder why ...
You monkey, you left me.
Set shit on fire.

So that should give you a rough idea of what you’re in for.

For the most part, these tracks fulfill the original pattern: they start out slow, or mellow, or understated, then burst into a sudden sonic explosion (though we’ll see a few songs which subvert expectations in one way or another).  The mix title ... well, the imagery is a bit unusual, but overall this is one of my most intelligible mix names.  The volume title is the last line of the little cento above, of course.

So, the first two tracks of this mix were pretty much always going to be Steve Burns’ epic opener “Mighty Little Man,” from his Steven-Drozd-of-the-Flaming-Lips-produced debut album, closely followed by “For Nancy,” the midpoint banger from Pete Yorn’s debut.  Both songs play with quiet/loud dynamics in a way that’s quite different from the standard grunge pattern.  In grunge, the contrasting dynamics are just a part of the structure of the songs; bands like Nirvana and the Pixies have refined the pattern to an art form, but you can’t really claim to be surprised when they do it.1  These tunes hit with more emotional impact when they explode: they lull you into a false sense of calm, then burst into emotional being.  There’s really nothing like that feeling.

“Shutterbug” was the next most obvious choice: it’s a magnificent dichotomy of almost-whispered vocals punctuated by raw guitar chords that are almost metal in their ferocity.  It was easily the most standout track from Veruca Salt’s excellent Eight Arms to Hold You.  It was perhaps a bit unimaginative of me to just tack it on as the third track in the mix, but, honestly, these three really combine to form an opening triptych that firmly establishes the mood.  After that, there were a few other obvious choices: Linkin Park’s Hybrid Theory is basically composed of nothing but tracks that fit this pattern (from which I thought “Crawling” was the best exemplar), and the amazing “Bring Me to Life” by Evanescence was still fresh and darkly glittering at the time I was putting together the mix.  It opens with a simple piano melody and Amy Lee’s sweet, understated vocals, then Beny Moody’s grinding guitar licks kick in, and there’s that beautiful single beat of absolute silence before each chorus bursts forth ... it’s quite transportative.  Likewise, PJ Harvey was a no-brainer: I was pretty blown away by Rid of Me when I first heard it, and in particular the way that the title track starts very softly and makes you lean in, only to rock you on your heels with PJ’s aggressive guitar and Rob Ellis’ thundering drums.  There was never a world where this tune didn’t appear on the first volume of this mix.

After that, I looked a bit to the industrial scene.  Stabbing Westward’s “What Do I Have to Do?,” with its sparkly synth-noodling intro, was a pretty obvious choice.  Meanwhile, Machines of Loving Grace’s biggest hit “Butterfly Wings” inverts the pattern by starting out with standard industrial intensity, then dropping down to quiet moments between verses.  “Kiss Off” by Violent Femmes was another obvious choice: it starts with Gordon Gano’s acoustic guitar and quiet vocals, giving it almost a folk song vibe, and this time it’s Brian Ritchie’s bass that provides the burst of feeling; the song quickly turns and becomes a bit of a rant, which makes it fit perfectly here.  In the exact opposite department, it’s the slinky toms and bass of Green Day’s “Longview” that provides the calm before the storm of the guitars and snare.  Obviously Dookie was going to have to feature here, and I thought “Longview” was a great choice (plus it leads into “Kiss Off” quite nicely).

This mix was also started at the height of my fascination with Magnatune,2 so it’s not surprising that several of its artists ended up here.  Perhaps most obviously, spineCar’s “Waste Away” follows a similar pattern to “Longview”: the rhythmic bassline is joined by a studied, pulsing drumbeat, then muddy guitars and quiet vocals join in, building to the crescendo where the lead singer breaks into a scream on the third syllable of the song’s title.  It’s a piece of undeservedly little-known nu-metal from the late 90s.  Then there’s “Dirtbag”: the original version of this tune, by Brad Sucks, is a perfectly lovely piece of alt-pop—the lyrics are a bit edgy, sure, but the melody belies that.  But part of the deal with Magnatune is the artists explicitly give permission for other Magnatune artists to remix their work, and what producer Victor Stone (working under the moniker Four Stones) does with “Dirtbag” is transcendant: he adds a seething undercurrent of anxiety and simmering rage by adding echoes and contrasting drones.  It’s really something to hear.  We’ve heard from Jade Leary before;3 “Meaner than Winter” is a short, not-quite bridge track that never really explodes, but always seems on the verge of doing so.  I felt it was a pretty good transition from the first half of the volume to the slightly harder edge of the second half.  Then we have “Charming Gun,” by trip-hop artist Artemis.  Honestly, I’m not sure this track really fits the theme all that well, and I was on the verge of taking it out several times.  But, in the end, I think it maintains just enough contrast (not only quiet/loud, but also slow/fast) to keep its place.

After that, two later additions were Metric’s “Black Sheep” from the Scott Pilgrim vs. the World soundtrack, and “The Pretender” by the Foo Fighters.  The former is just a solid post-punk offering that actually punctuates its quiet verses with strong guitar/bass/drum licks between the lines in a way that I found irresistible.  The latter ... well, I’m not one to think that Dave Grohl learned his craft from his time in Nirvana, because I think he was always pretty damned talented.  But I can’t help but wonder if his unerring talent for knowing when to crank up the vocals into a a full-on scream and when to back off is at least a little influenced by Kurt Cobain, who was undoubtedly the master of that technique.  When I first heard “The Pretender,” I knew unquestioningly that it had to be on this mix.

I follow that track with another one that manages to simmer without exploding and yet never feels unsatisfying: “Glycerine,” by Bush.  The only proper grunge song on this frist volume, the contrast here is provided by Nigel Pulsford’s crunchy guitars and strings, of all things.  Sixteen Stone is a revelatory album, and I’m kind of surprised it’s taken me this long to feature a track from it.  And I close with Smash Mouth, who, along with Nickelback, it seems to be fashionable to hate on these days.  But Fush Yu Mang is a pretty important album itself, and “Let’s Rock” is a great tune that hits a lazy, almost ska vibe for its verses, then bursts into a beautiful metal-inspired crescendo of emotion.  “Fuck it, let’s rock” indeed.



Creeping Rageaholic I
[ Set Shit on Fire ]


“Mighty Little Man” by Steve Burns, off Songs for Dustmites
“For Nancy” by Pete Yorn, off musicforthemorningafter
“Shutterbug” by Veruca Salt, off Eight Arms to Hold You
“Part 2 [Dirtbag Remix]” by Four Stones, off Ridin' the Faders [Remixes]4
“What Do I Have to Do?” by Stabbing Westward, off Wither Blister Burn + Peel
“Vinegar & Salt” by Hooverphonic, off The Magnificent Tree
“Big Mistake” by Natalie Imbruglia, off Left of the Middle
“Butterfly Wings” by Machines of Loving Grace, off Concentration
“Charming Gun” by Artemis, off Undone
“Meaner than Winter” by Jade Leary, off The Lost Art of Human Kindness
“Waste away” by Spinecar, off Up from the mud
“Black Sheep” by Metric, off Scott Pilgrim vs. the World [Soundtrack]
“Longview” by Green Day, off Dookie
“Kiss Off” by Violent Femmes, off Violent Femmes
“Crawling” by Linkin Park, off Hybrid Theory
“The Pretender” by Foo Fighters, off Echoes, Silence, Patience & Grace
“Glycerine” by Bush, off Sixteen Stone
“Rid of Me” by PJ Harvey, off Rid of Me
“Bring Me to Life” by Evanescence, off Fallen
“Let's Rock” by Smash Mouth, off Fush Yu Mang
Total:  20 tracks,  78:00



Which only leaves us with the two tracks that break up my two industrial picks.  I’ve talked before about my discovery of Natalie Imbruglia’s amazing Left of the Middle, so I won’t belabor the point, but it’s a testament to her versatility that, in addition to all the other places we’ve seen her in these mixes,5 here she is again.  “Big Mistake” starts out sweet and synthy, then right at the one minute mark it turns on you and tells you what a big mistake you’ve made trying to pigeonhole the song based on its opening.  Then there’s the truly stunning “Vinegar & Salt” from trip-hop impresarios Hooverphonic (who we’ve also seen on a pretty wide variety of mixes6).  This track is barely more than three minutes long, but it packs so much emotion into its short span that it fairly makes your head spin.  The verses are an almost matter-of-fact enumeration of the problems in a relationship, then the bridges crank up the tension—“honesty’s your church”—and then the chorus explodes into the stunning revelation that “sometimes, it’s better to lie.” It’s a rollercoaster ride in all the best ways.


Next time, I think we’ll dip our toes into the darker side of synthwave.



[As promised, here’s my pseudo-poem along with which songs they derive from:

Day after day after sorry day, [“Meaner than Winter,” Jade Leary]
the sun makes me sick. [“Shutterbug,” Veruca Salt]
One, ’cause you left me. [“Kiss Off,” Violent Femmes]
You hate the things that I like— [“Vinegar & Salt,” Hooverphonic]
that fascist faith will kill you. [“Butterfly Wings,” Machines of Loving Grace]
I think I’m just paranoid; [“Let’s Rock,” Smash Mouth]
I’m fucking lazy ... [“Longview,” Green Day]
there’s just too much pressure to take: [“Crawling,” Linkin Park]
I’m just another soul for sale. [“The Pretender,” Foo Fighters]
It’s not my time to wonder why ... [“Glycerine,” Bush]
You monkey, you left me. [“Shutterbug,” Veruca Salt (again)]
Set shit on fire. [“Dirtbag,” Brad Sucks, remixed by Four Stones]


Yes, I used “Shutterbug” twice; it really worked for this cento.  Those lines, of course, are back to back in the Veruca Salt rendition, whereas I separated them by almost the length of the entire piece.  I don’t think this is as good as either of my two previous centos, but it has a certain charm.  At least I think so.]




__________

1 I’ve mostly avoided using grunge tunes here, but you can expect to see at least a few in future volumes.

2 I told the story of how I discovered Magnatune in Rose-Coloured Brainpan.

3 On Shadowfall Equinox V and VI, and also on Fulminant Cadenza I and Slithy Toves II.

4 Original version by Brad Sucks, off I Don’t Know What I’m Doing.

5 Besides the aforementioned Smokelit Flashback, there was Distaff Attitude and of course her triumphant tune on Cumulonimbus Eleven.

6 Starting with Smokelit Flashback III, IV, V, and VI, and thence to Bleeding Salvador I and Plutonian Velvet I.











Sunday, February 11, 2024

The vicissitudes of feline dentistry


This week, one of our eldest cat’s teeth broke and/or fell out.  So it’s been a crazy weekend, and I didn’t have time to do even a partial post.  Still, there’s always next week.  Hopefully.









Sunday, February 4, 2024

The Cost of (Technical Debt in) Doing Business


Ten and a half years ago, I wrote an article on technical debt strategies.  It was one of my most commented-on posts, and even got its own discussion on Reddit.  The point wasn’t to explain what technical debt was, but I did so (briefly) anyway, near the top:

In software development, there is always a tension between two opposing forces: the desire to do it fast, and the desire to do it right.  ...  If you do it right, then, later, when you want to extend it, or modify it, or use it as a jumping off point for branching out in a whole new direction ..., you can do so easily, with a solid foundation as a base.  The downside is that it will take longer.  If you do it fast, you get results faster, which means you can serve a customer’s needs before they change, fill a window of opportunity before it closes, or perhaps even beat your competitors to the market with your offering.  But when you have to modify it later (which you will), it will end up taking even more time to clean things up than if you’d just done it right in the first place.

You can see why we often call this “technical debt.” You’re saving time now, but you’ll have to “pay it back” later, and the amount of extra time it takes is like the interest.  Primarily, we software people invented this analogy because it makes good sense to business people.  ...

And I still say it’s a good definition, despite the snarky commenter who said it was “actually a definition of bad coding practices.” If you want a more complete definition—and some interesting history—you can find that on the Internet, though I’ll maintain that it’s not a better defition ... just more detailed.  Other Internet articles can explain even better than I could how the technical debt concept (more of a metaphor, really) neatly parallels the concept of financial debt, but, again: the analogy I used to follow the quote above is perfectly adequate for grasping the concept.  If you have a business, and you need a piece of equipment that costs $1,000, but you don’t have that much in the bank, you have two choices: you either wait until you do have that much in the bank, or you borrow some money and buy the thing now.  In the first case, you end up debt-free, but you’re paying what in business circles is called “opportunity cost”: if you lose money (e.g. to your competitors) because you couldn’t use that equipment while you were saving up the money, that’s the opportunity cost.  Contrariwise, if you borrow the money to save the opportunity cost, you’re paying interest, which is what we call in business circles actual cost—i.e., cash.

In fact, the concept of “opportunity cost” is a perfect companion to that of technical debt.  In both cases, you’re not talking about “real” money, in the sense of dollars you can count, but you are talking about real financial consequences, even if they can be hard to measure exactly.  And the point of them is the same: to turn something that’s a bit abstract and hard to grasp into financial terms, which businesspeople are really good at understanding.  If I had heard someone tell me that some business people were starting to think that opportunity costs were bullshit made up by other people to get them to do things they didn’t want to do, I would think that was crazy talk.

And, yet ... that’s exactly what I just recently heard said about technical debt.  That business folks weren’t taking it seriously any more because they thought it was just this made up thing to get them to take software maintenance seriously.  Which ... well, of course it is.  Just like opportunity cost is a made up thing to get people to take seriously the idea that waiting has consequences.  That doesn’t make the consequences less real, though; the fact that someone made it up at some point is true of everything in our society.  The idea of “running a business” was made up at some point, as was the title of “CEO,” as was the concept of “management” and the practice of “accounting.” But no one questions that these things are real, because, you know, they are.  And technical debt is real as well.  Trust me, I’ve been in software development for over half my life now: it’s very real.  Doing things fast (most often in order to avoid paying “opportunity costs”) is the choice most often made by the business side, and to be fair there are often really good reasons for choosing that.  But the costs are quite real, and quite often painful down the road.  Pointing out that someone had to invent a phrase for it doesn’t make it go away.

The thing that really frustrates me about this apparently growing attitude is that we (technical people, I mean—the term was invented by the same guy who invented agile programming) invented this stupid term so the business people would take the problem seriously.  Ward Cunningham, bless his soul, came up with the perfect metaphor—technical debt is the interest you pay when you borrow time to pay off your opportunity costs—and now the business people are rejecting it as “made up”?  Perhaps this is the real difference between “opportunity cost” and “technical debt”: the former is what business people use to justify expenses to their accounting departments, while the latter is what the tech departmnent uses to justify expenses to the business people.  So when the business folks are the justifiers, the term makes total sense and we should all use it.  When they’re the justifiees, though ... well, then it’s all bullshit.

To be fair, though—which I am very much not inclined to be on this issue—I should point out several of the articles I’ve cited claim that this is all our fault.  The technical people, says one, overused the term and just applied it to all their problems.  Engineers, it says, say “technical debt” when they really just mean “bad code.” And of course code can be bad for a myriad of reasons: technical debt is a big one, but certainly not the only one.  It goes on to lament:

When businesspeople don’t want to grant a “tech debt week” because they saw with their own eyeballs that the last one improved the team’s capacity zero percent, how can we expect them to grant us another one with alacrity?

Well, I’m not buying that.  If a business person says to accounting, “I’m going to borrow money to buy this thing,” and accounting responds, “don’t do that! it will cost us a million dollars in interest!” then I’m pretty sure there’s going to be some fact-checking going on.  What I’m saying is, the business folks have to bear some of the responsibility for not bothering to take the time to understand exactly what technical debt is being paid off in a “tech debt week” and what the benefits will be.  Also, what are the chances that the team will achieve their goals?  Because sometimes ripping out the kitchen cabinets and replacing them with ones where the doors aren’t falling off takes longer than the contractor’s initial estimate.  This is all very standard stuff that any businessperson worth their salt would consider when buying a physical item or hiring for a particular job.  And, if the business side asks, and the tech side has to explain themselves, then they’ll rapidly become disabused of the notion of throwing all their problem code into the “tech debt” bucket.

Another post offers the tech side this advice:

Instead, say: this is how long it will take to do.

Not “if we rush we could probably do it in...”; no, if you say that, then why are you not rushing now? Do you not care what the business wants? Do you not have ‘skin in the game’?

Say: This is how long it will take, we estimate. If you want it faster, we can cut some features.

Again, this is not how things work in the real world.  When the plumber comes by and says, “I’ll need to replace this pipe, because it has a hole in it.  It’ll take about 4 hours to get it done.  Or, I could do a quick patch job on it and get it done in an hour.” you don’t respond, “Why aren’t you rushing now?” You ask what the consequences will be for that rush job.  Is it going to keep leaking, just not as bad? is it going to stop the leak completely but only for a few days, and then you’ll just have to call the plumber back again?  There’s obviously a reason why they’re offering you the option of doing it right vs doing it fast, and you will certainly want to hear that reason.  But under no circumstances is the fast option “cutting some features”: it’s delivering the same features with substandard quality.  That is the entire point of technical debt.

But my favorite one is this, from the very first article I referenced:

In an impassioned post, a long-time software development consultant, Uncle Bob writes “A mess is not a technical debt. A mess is just a mess. Technical debt decisions are made based on real project constraints. They are risky, but they can be beneficial. The decision to make a mess is never rational. It’s always based on laziness and unprofessionalism and has no chance of paying off in the future. A mess is always a loss.”

This is such complete and utter horseshit that I’ve pre-emptively lost all respect for this “Uncle Bob” character, and I don’t even know who he is.  The fact of the matter is, sometimes you make the decision to do the quick patch job, because you really need that pipe to work for just a few more weeks, and the inevitable resulting mess—which, depending on the size and location of the pipe, might be prodigious indeed—is absolutely not the result of being lazy or unprofessional.  The customer (who is in this analogy the business side) understood and accepted the risk; the contractor (here representing the technical side) was neither lazy nor unprofessional: they did exactly what was asked of them, almost certainly over their strong objections, and definitely cannot be held responsible for the resulting water damage.  I have to believe Uncle Bob never had to pull an all-nighter trying to “just make it work” for the customer demo the next day.  A mess is not “always based on laziness and unprofessionalism”; a mess is, sometimes, just the best you could manage at the time.

So I suppose the business people will continue to crack the whip and the technical folks will continue to beg to be able to clean up their messes, and now they’ve even taken away the phrase we used to help them understand the urgency.  I don’t really blame the business people in my own company: they’re just responding to the zeitgeist.  And I’m still not buying this notion that I should blame the wider tech community—it’s 100% true that some engineers have doubtless misunderstood the proper use of the phrase, and that’s contributed to its being misused and consequently watered down.  But I find the parallel of “opportunity cost” very instructive: its challenges are similar, people often misunderstand its use and try to appropriate it for their own purposes.  But it continues to be useful (and to be used) anyway.  And I think that’s because its use benefits the business community, so they resist any abuse of it and hold onto it fiercely.  The concept of “technical debt,” on the other hand ... that, they have have little use for, so it’s fine if it falls into disuse and neglect.

Of course, one might argue that, by not understanding technical debt (and not devoting resources to pay it down), the end result is that the company has to spend more and more time to achieve the same results.  That’s time that businesses could be spending making customers happier by delivering more quickly, responding to competitive threats more nimbly, or breaking into new markets with innovative new features.  What I’m saying is, rejection of the concept of technical debt, in my opinion, has a real opportunity cost.