Perette's Journal: 2020

Contents

1. Good-bye, 2020

2020-12-31 09:48 (Thursday) journal

This has been a hell of year, but it’s also been a heck of a year.

The whole year is, of course, colored by COVID-19 and the resulting isolation and hassles. Some of the response, like masks, seems to be practical. Lots of other response is probably nonsense, COVID-19 response theatre: Making aisles one-way at the grocery—was there any evidence for this? Did anyone do a study? 'Cause it just seemed to make it take longer, which means I was in there among others who might be infected longer than I would have otherwise been. 2020 was plagued with bullshit like this.

It was a year plagued by self-fulfilling prophecies, like toilet-paper shortages, caused by panic buying.

It was a year that kept us from our friends, and although many of us learned to use Zoom and Google Meeting, it’s just not the same as getting together with friends.

But for all that lockdowns sucked, it let me focus on projects. I hacked in a way I haven’t hacked in several years: I wrote a new JSON parser, replaced pianod’s XML datastores, rewrote and modernized the Pandora integration, split off and finished up a proximity detector, rewrote and modernized the command line parser, and added support for JSON requests. Had it not been for the long spring lockdown, I doubt I’d have done half as much.

Similarly, not much would have been done on racism this year if it wasn’t for COVID-19. With sports on hiatus and most of us stuck inside, restless from too much coding for me and too much Netflix for the masses, the news of George Floyd affected us in a way it rarely does. White people didn’t like what they saw, and without sports or shopping or barhopping to distract ourselves with, we actually took action for once and stood up alongside Black folks against this country’s abusive police.

Needing an escape from it all, and New York still in lockdown, I moved my annual long-distance bicycle trip to Pennsylvania. Being out on the road was good for me, but I still couldn’t get away: campgrounds were closed or denied tenting because of COVID-19, restrooms along trails were closed, and water fountains turned off. I was pushed to the onset of heat stroke, and trip ended after being in a wreck.

Still, the route was challenging and beautiful; I got to see my friends Foxy and An, and spend several days exploring central Pennsylvania and playing cribbage with mom. I got to visit the historic Doyle Hotel in Duncannon, Pennsylvania. I didn’t die, twice, running the Gauntlet on Route 22 near Dauphin, nor doing 42MPH drafting a tractor-trailer into Huntingdon.

But all through it, I couldn’t get away from the politics. The signs were everywhere, along with Trump’s constant stupidity, insanity and lies in pursuit of feeling and looking in-charge, all while downplaying the importance of COVID-19, telling us racists are good people too and treating BLM like it’s the problem.

Meanwhile, his base can’t get enough of him, and buys into the lunacy of the QAnon conspiracy, from which there seems to be no return. Yet despite seeing that nuttiness, the Nashville AT&T bombing has some liberals offering conspiracy theories that it’s somehow an attempt by Trumpers to overthrow the election results.

More than ever, I’m convinced it’s not the Democrats or the Republicans… it’s the Democrats and the Republicans that are the problem, at least the nutjobs on both sides, the ones that refuse to hear criticism, buy into and promote conspiracies, and argue for their agenda by pointing out a few flaws in the opposing side and saying, “See, that means you’re wrong, and therefore I’m right.”

Back from my trip, I once again went to work at David’s office filling in for his real estate paralegal. When I started I considered myself a secretary, but the two-month stint brought my understanding to new levels; I’m confident that I’ve earned credentials as a real-estate paralegal. There would still be more to learn if I did it as a career, but I’m no longer just a secretary.

It was during this time that videos of Daniel Prude’s murder by Rochester cops were released. George Floyd’s murder had been horrible, disturbing on the videos, but Prude’s death brought it home in a way Minneapolis events hadn’t. This happened here, in my city. It happened to someone black, but who was clearly suffering from mental illness—something I have struggled with too. Now, police abuse feels a little more real, no longer something that only happens to other people.

In September, despite my expectations, Brighton Central Schools re-opened and, with fortuitous timing, Dave’s paralegal Eleanor returned to work. I had expected that sooner or later I’d be laid off and end up with a seasonal gig at UPS, but other than remote learning Wednesdays for (off for me) and a 2-day shutdown after Thanksgiving, Brighton remained open.

Pay-wise, I did okay; I was paid for Wednesdays off so First Student wouldn’t lose drivers, but moonlighted at Henehan Law many Wednesdays too. And I fit in work on my garage, too, jacking up the walls and replacing the rotted-out wooden foundation with pressure-treated 4*4s atop paving stones.

Meanwhile, thankfully, and barely, the moron in chief was voted out. But in his wake he’s leaving distrust in fair elections, distrust in politics, and a base that’s convinced he was robbed. And tainted by conspiracies, they can’t be reasoned with: try, and it’s evidence you’re either blind to or part of the conspiracy. Biden should have won by a landslide, but he didn’t.

The ever-so-important distraction known as sports has resumed, so white folks can occupy themselves with games instead of having to be politically engaged and participating in BLM. They can put a sign out. That’ll do the job, right?

People say things will never be the same again after this year, that COVID-19 changed too much, gave us a different view of the world that we can’t unsee. And sure, a lot of retail businesses and restaurants will be gone. Still, I am unconvinced.

I would love it if we could rethink the world after this. Spread work around. Work fewer hours, so we can all spend time with each other, cook for ourselves and friends we have over, ride our bikes to work and have a chance to play or relax in the park.

But as soon as the powers-that-be put a little pressure on, most will conform, and that’ll obligate the rest of us to go along too. We may do more shopping online, and people may work at the Amazon warehouse instead of a local shop, but that won’t prevent a life of forsaking the bicycle and driving to work, driving home, driving to the grocery because time’s tight. Rotting our brains on Netflix because we’re tired at the end of the day. Being too drained and too distracted to get involved in changing society for the better.

I hope I’m wrong. Changing society requires we all contribute. There are no superheroes, there’s no cape-wearer who’s going to come fix it for us. There was a lot wrong with this year, but it’s also given us lots of ideas for things to change. It’s on all of us, on each of us, to follow through.

2. Election eve

2020-11-02 20:44 (Monday) journal

So it’s election eve as I write this, tomorrow is the big day, although who knows when the results will be in.

This is unlike anything I’ve ever seen before. I’ve lived through 13 election cycles, been aware for 11 of them. The first 9 went sanely; the candidates did their things with various degrees of policy proposals, baby kissing, handshaking and a fair amount of muckraking. Florida’s paper polling went wrong, and there was concern during that about accuracy of recounts and dangling versus pregnant chads. But outside of that, mostly, everyone trusted the elections folks to do their job.

It wasn’t until 2016 that I saw a candidate undermine the elections; that election, Trump started in with his bullshit that it’s rigged. Well, if it was rigged, how did he win? The answer, quite simply, is that it wasn’t rigged, and it isn’t rigged. There’s a lot of hard-working elections officials who do their best to administrate the election fairly and properly. In some jurisdictions there’s gerrymandering, and there’s vote suppression based on race and shit, but people sneaking in ballots and voting twice, the tallies being manipulated, no: there’s checks-and-balances in place, 2-up monitoring of anything critical with one member of each party present so the neither party can get away with it.

But Trump so crooked he can’t imagine that the election wouldn’t be rigged (he knew what he’d do, given the chance), and/or he wanted an pre-made excuse in case he lost (saying it was rigged after the fact, we’d all see it’s just a case of sour grapes; making the claim ahead of time, he could just claim, “See, I was right.”).

This year, he’s used his power to undermine the election’s credibility. He’s riled his base up, and goaded some portion of them into thinking they need to be ready to go to arms if the liberals steal the election, which is defined by him losing.

Meanwhile, liberals and moderates have been watching this and some portion have armed out of fear of the civil unrest Trump’s created, and/or a feeling of need to be ready if the trumpists do try to steal the election or start a civil war. Not that the liberals have any leadership, plan, or much competence with guns.

It feels like we’re about to walk into a self-fulfilling prophecy, a civil war that should be avoidable, and yet we’re about to blunder eyes-wide-open into it.

In case this does come to pass, thanks to everyone who has been a part of my life. I’m glad to have had the friends and family that I did. I’ve had some awesome adventures and made some cool software. Had some shitty jobs, some fucked up bosses, but some that were alright.

I hope our democracy has more time. I’m not sure what I’ll do if the shit hits the fan. I don’t know, yet, whether the best option is to run, fight, or if I’m just being paranoid and can stay put. The next few days will be interesting.

3. Black Lives Matter hitting home in Rochester, NY

2020-09-03 22:58 (Thursday) journal

I checked the headlines on the New York Times tonight, and Rochester, New York is in the headlines. Apparently back in late March, the cops strangled a black guy to death. Video finally got released, so it’s finally making the news cycle.

I’ve been to a couple of protests in the last few months, but on the whole, it’s felt like something far away, like racism always has for me. When I was young enough, I didn’t know it existed. When I was perhaps 8, I saw an after school special about white people moving away because black folks moved into their neighborhood, and it didn’t make any sense to me. Eventually I wrote racism off as a stupid old people thing, a way of framing the world that my grandparents used but a lens nobody my age was dumb enough to use. Except a couple of idiots in high school, but I wrote them off as fools and aberrations.

It’s only been in recent years, with camera phones everywhere and easy video sharing on the Internet, that I’ve started to comprehend the scale of it all. Still, I’ve expected it’s something that happens elsewhere, in other states where people are more racist.

And then it happens right here in my back yard. A black guy with a mental health crisis. Obviously not in his right mind, given he’s buck naked in the dark at 3AM with snow flurries falling around him, so it’s fucking cold out.

The cops standing around him, watching him—I’ve seen this before, growing up, kids (usually boys) standing around some creature they’re toying with, abusing, hurting, killing. They stand back but when it moves, they step in and prod it, taunt it. They’re bigger, in control; the creature doesn’t have a chance. They disregard its pain, fear confusion, lost in the joy of dominance over another being, and the fun experimentation of torture.

Except the victim isn’t a frog or an injured cat, he’s a human being.

Curiosity raises a question: I have had mental health struggles. What if I ever had a massive breakdown, a relapse that led to outrageous behaviors? The unfairness is disturbing if I’m protected by the color of the skin, and yet it’s a scary idea if I’m not. I could be one relapse, one episode from being choked to death by a Rochester cop holding a bag over my head, ostensibly to keep me from spitting, but actually keeping a tight twist on the open end and gradually choking me to death because he sees no value in my life.

I knew our cops weren’t angels. I knew there were problems and abuses. But I was in denial it was this bad.

I will also say, we reap what we sow. In the crime panic of the 1980s, we wanted a solution to crime seeming to escalate unbounded. Turns out crime dropped dramatically 20 years after abortion was legalized; see the book Freakonomics for a discussion on this. But before this happened, we passed a lot of law-and-order shit, and laws to free up cops to impose it more easily. Thirty-five years on, this is what we get. The scale of the problem might be novel, but for the last 10 or 15 years it’s been evident there’s a problem.

Whatever solution we come up with, we need to learn from this mistake: expecting changes we make to do precisely what we expect. Changes can take years or even decades as society adjusts and reshapes itself. We need to watch for problems, and address them as they develop, rather than ignoring them until they grow larger.

Another thing that might have reshaped policing? Cops, the TV show. Gotta wonder how many cops have joined the force in the last 20 years, thinking they wanted a job like on that show, where they got to raid places and wrestle bad guys to the ground just like on TV. Before the “reality” show, what we saw on TV was level-headed cops trying to do the right thing. Sure, sometimes they had to chase someone down, but as soon as they were caught the criminals accepted they’d been nicked; TV cops never beat the living shit out of their catches. But strife between police and the public got good ratings, so that’s what Cops gave us. How has TV shaped us individually, and as groups as it redefines standards for roles and causes us to self-select ourselves into different groups.

But establishing blame is less important than fixing racism, once and for good. We need to stop making excuses and justifications, to stop denying the problem exists or trivializing its size, and finally goddamn fix it. This is wrong. It must not continue.

4. Update from Doctor

2020-08-06 17:45 (Thursday) journal

Secondary X-rays came back normal.

Secondary ultrasound was consistent with a liquifying hematoma, which may be addressed with ultrasound-guided drainage. Ultrasound showed no apparent soft tissue or muscle damage.

I will be contacting my provider in the morning to set up an appointment for draining the hematoma.

5. Walkabout journal and photos are up

2020-08-01 15:24 (Saturday) journal

I have finished assembling and editing this year’s walkabout journal and photos.

6. Cancellations, questions

2020-05-03 14:18 (Sunday) journal

Friday, our governor declared New York public schools have closed for the remainder of the academic year. I get it.

We also got news that Camp Crucible is cancelled for this year, and they are going to aim for next year. Damn. But I understand.

State campgrounds are closed. Private campgrounds are unclear; the state says they are essential (a lot of older folks winter in Florida but live in RVs up here in summer). But some counties are pushing back; it sounds like they may allow RVs but no tent camping. Depending on how it works out, it may screw over this year’s walkabout plans.

So I’m wondering what to do, if I need to punt. Paul has suggested North Carolina, where his parents live, but that state also seems to be in a holding pattern for the moment.

Some backpacking trips would get me out with nature, but it’s not the same. Biking around, I’ve been able to stop at diners, and there are people around at the campgrounds I visit. Backpacking offers much more isolation, and more than a few days, for me, is too much; nutrition is more restrictive. It’s not equivalent.

7. Hackin'

2020-04-24 23:13 (Friday) journal

Another week of hacking out code during the coronavirus shutdown. Finished reworking Pandora last week, including new replay support and improved caching. It’s performing well on Frank.

Meanwhile, I’ve turned attention to the proximity system. I banged on the code that was written in 2017 and 2018, added enough support to make it work and got it going last week. This week has been adding IPv4 and Bluetooth support, which has driven a crapload of refactoring. Out of it, though, the code is feeling better to me.

Today, took a risk and ran a MacPorts upgrade on Frank. It worked, mostly—except ffmpeg, which won’t upgrade because it wants libsdl2, which won’t install on Snow Leopard because it wants the new A/V libraries that are in OS X 10.7. So I uninstalled ffmpeg from MacPorts, recompiled from scratch (./configure --cc=gcc-mp-6 --cxx=g++-mp-6 --disable-audiotoolbox), then spent about 4 hours resolving configure script issues for pianod. I suppose it’s a good thing; it may work more reliably for others now too.

AutoConf is an ugly, brain-twisting abomination. If Automake wasn’t so tightly coupled, I’d ditch Autoconf and write my own configurator. But Automake is too good at what it does to forsake it.

8. Getting by during the Coronavirus

2020-04-04 23:25 (Saturday) journal

It’s been 3 weeks since schools closed because of Coronavirus. About a week after that, all “non-essential” businesses closed, so gyms, movie theatres, restaurants. It’s a weird time. Still, things aren’t as bad as the New York City; I am able to get out for walks and bike rides.

I’ve done some repairs on my bike, and dealt with some major trouble. I started by overhauling the recumbent’s rear wheel last week, and started looking into some issues with the rear deraileur making trouble. Ordered a new one of those. But the deraileur was probably more symptom than problem.

The chain’s been a problem since replacement last year. A few sticky links, I had a link come loose mid-March. So one morning, I tried to bike to Wegmans, hoping to get some bacon before the prepper nutters cleared 'em out. The fucking chain broke again, snagged in the derailleur (thankfully still the old one). Since I was pedaling, the chain tensioner got yanked back and twisted offside and caught in the spokes. That absorbed all my momentum, mangling the derailleur and yanking it out of its mount and taking the frame threads with it. Son of a bitch.

So I ordered more parts—a glorified, expensive bolt called a “dropout saver” that fits in the hole after drilling out the threads on the deraileur hanger. And I replaced the chain—again—which is an expensive proposal on a recumbent, and got the wheels trued by a professional while waiting for parts to come in. It’s not perfect; I lost my high gear because the bolt is in the way. The new deraileur lacks a barrel adjuster. But it’s working much better than it was, so I’ll take it.

So, after the bike initially broke, I got in my car and drove over to Wegmans. And the prepper nutters? Wegmans had opened at 7, it was 7:15. I’ve never seen people buying so much goddamn toilet paper. Worse than the day before a blizzard. You need that much toilet paper, then you gotta be so full of shit you got shit for brains. Bacon’s still cleared out, as are the croutons and the olive oil. Even though there’s no real shortages of anything, just the nuts are clearing off the shelves as fast as they can stock it, creating a self-fulfilling prophecy.

The grocery store is getting a little more normal these days. Wegmans is still low on TP—the other day they were pretty well stocked, but it was all some brand I’d never heard of; this afternoon they were getting low but still had some store brand.

Anyway, with the bike done, I’ve been pouring time into pianod. I wrote a JSON library, then I swapped out the XML datastores with JSON ones. Cleaned some stuff up.

The current project is rewriting the Pandora source. It turns out there’s a new API, so I’m transitioning to the new API as well, which may enable some new capabilities if I can figure out how to access them. It’s definitely cleaning up some uglyness that came with adapting someone else’s library to work compatibly with pianod.

CodeLite is making this all viable. The keybindings are strange at times, but the debugger interface works. And once I installed a debug version of libstdc++ and adjusted the gdb startup script to set LL_LIBRARY_FLAGS to use that one, it can display values in library types such as strings and vectors. It’s still not Xcode, but it’s adequate. Even good. I’m happy with it.

As far as the virus, I’m not too worried. It’ll be a nothing, or it’ll be a nasty flu, or it’ll kill me. Not much I can do about it. When it’s my turn, I go. But the politicians wielding the power to tell us to stay in our houses? That scares me. Every time they get a hint of the power they could have, they never want to let go.

9. Coronavirus

2020-03-17 10:27 (Tuesday) journal

As things have shut down around us, it seems like everyone thinks it’s only going to be a few weeks, maybe a couple months and we’ll be back to normal.

I grok the idea of “flattening the curve”. Keeping infections below the rate where hospitals can’t keep up makes sense. But when I do the math that assumes we achieve this goal, it won’t be a few weeks. See this spreadsheet.

Assuming optimistic herd immunity levels and targeting the flattening to fill hospitals with no safety margin, we’re at over a year before herd immunity is achieve. Even figuring half the victims needing hospitalization will be in the hospital at once (i.e., the first week they won’t be symptomatic yet, and they’ll recover in 1 week in the hospital), we’re at 8 months. Perhaps we can resume some normality once there’s enough recovered people/as we near herd immunity to slow the spread, but we’re still looking at about a half-year. And that’s being optimistic on all counts.

10. On taxes and the Boomers

2020-02-18 08:50 (Tuesday) journal

What’s really needed, Mr. Rinka said, is a “culture change” in residents and business owners who want good roads but don’t want to pay for them.

Someone will beg to have a road repaired, Mr. Rinka said. “I’ll say, ‘O.K., I’ll fix your road, and you’re going to see an increase in your property tax.’

“‘Oh, no, no,’ they say, ‘I don’t want that.’”

So reports Patricia Cohen in her New York Times article The Struggle to Mend America’s Rural Roads. This interaction so neatly captures something that I’ve really woken up to in recent years: the Boomers want everything, but they will pay for nothing. Especially if it’s not something for them.

And since they’re all aging, there’s no sense investing in anything in their eyes. They’re not going to need it once they die, so why should they contribute to the cost? Which is such hypocrisy, because prior generations always strove to provide a better future for their kids, building social safety nets, libraries, schools, infrastructure and more. The Boomers were the beneficiaries of that benevolence. (Although I’m Gen X, I was too; my parents were Silent Generation.) But typical Boomers? Taxes are bad, let me keep my money so I can buy something and show off to my neighbors. They advocate we sell off everything public, privatizing it all; if there’s no buyers, defund it and let it fall down.

In the 80s there was realization that social security trust fund was troubled in the long term, but once Boomers had voting power, did they pay in any more to ensure its stability? Nope: since 1990 there’s never been an increase to social security or medicare taxes. But threaten to cut those benefits, and boy do the Boomers get wound up. My generation? Yeah, it rubs us the wrong way—because we’ve known for decades it won’t be there for us.

Makes me not feel so bad that a Coronavirus epidemic may cull those fuckers, their generation’s costs, their energy-rich habits, the housing shortages and consequent housing bubbles they produce, their powerful lobbies and their political power. At 49, I’m probably at higher mortality risk, too, but if I’ve got to go to give this country a chance at progress again, so be it.