School is a train wreck, but it's not the district's fault

posted by Jeff | Monday, August 10, 2020, 10:30 PM | comments: 0

Today was the first day of school here in Orange County, remotely, and by most accounts, it sounds like it was largely a train wreck. For Simon, even a virtual first day was going to be stressful, but he takes on the additional burden of being troubled by kids who don't mute and technology that fails. Diana had to distract him with other things several times while they worked out the kinks.

Parents in particular are angry, some are shouting "in person at all costs!" and still others are struggling to make anything work while working. The truth is that there are no good options in a country with no vaccine, no testing and certainly no contact tracing. None of this is the school district's fault, or the teachers. I think it's important that we give everyone at the local level a little grace, because they're doing the best they can, and without any money to do it. There is no playbook for this.

On the other hand, in Florida we can certainly blame the state, which has famously pretended the pandemic was no big deal, and worse, tied the hands of the districts until as recently as a few weeks ago, when they could have been making better plans months ago. And of course, the federal response has been an even bigger shit show. The failure of leadership has been deadly and dramatic at all levels except the local level, where they've done the best they could with nothing extra.

Venting aside, raging against the machines won't improve anything now, so we're probably better off finding ways to help our teachers tomorrow. If there's a societal fault to the pandemic in America, it's one of selfishness, so let's not keep doing that. We all have to give a little, look out for each other, and generally accept that convenience as we know it will mean something different for awhile.

I think it was Kennedy who said, "Ask not what your school can do for you, but what you can do for your school."

Presentations as performance art

posted by Jeff | Friday, August 7, 2020, 10:21 PM | comments: 0

I had a pretty big presentation to make at work to 40 or so people this week. Most of them I had never met, and they included everyone up the chain. It went really well, with great follow ups from a number of people. I haven't had that experience in years, which is an interesting thing to write about another time, but the particularly strange part of it was the positive feedback on style. That got me thinking a little more deeply about how I approach presentation.

I've been getting up in front of people and presenting stuff for basically my entire professional life. I think I'm at a dozen or so conference-like presentations and countless events within my various jobs. I really enjoy doing it, though I'm not sure exactly why. I'll get back to that. Let me unpack first by looking at the experience.

My first week of college, I got to be on the radio. I was both fearless and terrible at it, but within a few weeks, I quickly tried to understand how to emulate what I had been hearing on radio for my whole life, without making it into a caricature. The first thing was to realize that my "natural" tone was a little deadpan, but maybe I could use that. The next thing was the realization that sounding like you were having fun was a lot easier if you were actually having fun. My first program director in a real job emphasized this too. He described a guy who he worked with that was the saddest son-of-a-bitch he ever knew, but when he keyed on that mic, his face looked like a circus clown. So the first rule of performance was basically that acting is the key to good performance. If I go back and listen to those old air checks, I can hear it... I was having fun, even if I might have been faking it.

I never got really deep into visual performance, but I did that too. I remember my freshman year I went out to cover a house fire for our news show. Again, "reporting" was largely a function of emulating what I had seen on TV, so I did that. But it was depressing as hell, and if sadness came through in my stand-up, it's because it was really sad. I knew that day I never wanted that job. But after college, doing government TV, I did a lot of stand-ups, because there was no one else to do it. Again, I enjoyed it, even if I wasn't very good at it.

I was four years out of school when I flipped to this software thing, and while I grasped the promise of the Internet early on, my first big job after that was at a media company where people had no idea what to do with the online world. I found myself pitching things to old school print publishers and editors on a regular basis. Powerpoint was already a thing, but because few people had laptops, not many people used it. You had to rely on your in-person sell. Selling was familiar to me, because that's the only way you could land radio gigs. Again, I really enjoyed it, and started to win hearts and minds. Presenting to business folk was not that different from broadcast media. To my great surprise, these were still valuable skills even with the career pivot.

Many years later I would start presenting at conferences and user groups and such. While I enjoyed the performance aspect of it, what I really started to concentrate on was how to communicate with the greatest clarity things that I had learned, that were hopefully valuable to others. This has formed much of my professional m.o. for a number of years: I've learned a ton from others, and I believe there's a moral obligation to pass knowledge on.

I haven't presented anything since Codemash in January (it's a really great conference, by the way, and easily the best run of any you'll ever attend). This time, at our growing company, I was presenting some things that I had implemented with my team and stakeholders around some light project management, with the hope that others would find value in the solutions to problems that I observed. I don't think I was inventing anything truly novel, but maybe how I applied it was valuable. I've been meaning to do a presentation on presenting for literally years across many jobs, and never did it. So here's what I think I do:

  • First pass: Make a deck that outlines everything you want to get out. Nothing is off the table, just get it out.
  • Nobody wants to read all of that shit, so don't be precious about it. Start cutting all of the stuff that strays too far from the core things you want to address. If there are more than three or four big objectives, it's too many.
  • Each frame has to tell a story... verbally. Your outline as written has to be reduced to bullet points, not what you're going to say. Otherwise, you could just write a blog post.
  • Your first rehearsal pass should try to riff on those points. By the second or third try, you'll know what to cut and start feeling what you'll actually say. Watch the time.
  • Is it boring? Try a little humor. I hesitate to advise this. You might not be very funny. I'm not very funny, but I seem able to get away with one attempt at humor each time I present.
  • Rehearse it again. It's too long, I promise.
  • Riff again, don't read. Watch your time.

I have a method, but I don't know if it works for others. When I really think about it, what I do is rooted in my radio days. Each time I had to talk, I figured out in advance what I had to do next. ID, recap the song, self-identify, do the weather, tease and move on to the break. If I did this twice, or three times when I was only doing it on weekends, I could generally nail it with no mistakes. A presentation to others has more content to cover, but you've got more than a song to figure it out. You can do it!

Why would I enjoy this? I'm not entirely sure. As a person who has always straddled the introvert-extrovert line (this is apparently an ambivert), I wouldn't say that I crave attention. If anything, I'm probably too indifferent about being perceived. Chalk it up to my likely ASD. What it probably gets back to is the joy I feel from coaching. I still think one of my greatest human achievements is wrangling a bunch of teenage girls to embrace a volleyball system that led them to unlikely middling success, and while I enjoyed it, I don't think I can really take credit for it. So the idea that I can enable people by successfully transmitting knowledge to others, that thrills me. That they can even enjoy the presentation of that knowledge is gold validation.

I can't imagine any real connection to people who actually act, but there's a part of me that wonders if I could do that. Until then, I will enjoy the opportunity to present stuff to others, in the hope that I'm giving them something useful.

You can't be a switched-on power advocate at all times

posted by Jeff | Wednesday, August 5, 2020, 8:20 PM | comments: 0

The explosions in Beirut yesterday elicited immediate feelings of sadness and concern, and I'll be honest, the second feeling was, "Now this?"

I am generally an empathetic human being, and I've learned over the years that I am deeply emotional, if not always having the right skills to process the emotions. I guess I'm saying that I'm probably not that different from most people. At some point in my life, as I'm sure others have, I noticed the way that some people were treated differently, had a more difficult life or otherwise needed help, and being an empathetic human being, felt some moral obligation to help others. Again, probably not unusual. Over the years I've tried to advocate for people in the obvious ways, wanting to counter racism or push for equal rights for the LGBTQ community, etc. I am wholly unremarkable in this progression.

Then Covid-19 happened, and then in the middle of that systemic racism came to the front of the conversation, where it should have already been. Meanwhile, rampant unemployment and fiscal carnage is happening everywhere, and we're all trying to find some kind of "normal" and control in the chaos. It's a lot to deal with.

I'm here to say that you don't have to deal with it all, 24/7. You sure as hell don't have to maintain an appearance that you're doing it 24/7 on social media. (I don't understand the desire or source of energy to maintain any persona on social media, but that's a different post.) You don't have to feel bad about not being plugged in at all times. In fact, I would argue that it's kind of arrogant and a little narcissistic to suggest that you've got the answers and you're going to change the world at all costs. You don't likely have the mental bandwidth to do that. It's OK to tap-out now and then and let someone else take it. The shit shows will be there when you're ready to jump back in and engage.

It wasn't just my feelings of exhaustion that got me thinking about this, I noticed the same predictable pattern on social media, especially on the Twitter. A bad thing happens and everyone posts in solidarity for a few days about it. While this generally builds awareness and cultural empathy, it's only a first step. Action is what moves things toward resolution of problems. Yes, it's great that we can all agree that #BlackLivesMatter, but we have to follow that up with action by engaging with government, especially at the local level, advocating for voting rights, thoroughly researching who we vote for, donate to appropriate organizations, etc. And by the way, no one expects that you should be doing those things 24/7 either.

You're a good, empathetic human being. Do what you can.

When low-tech grounds your electric space car

posted by Jeff | Tuesday, August 4, 2020, 8:39 PM | comments: 0

I was super excited to be driving on a short road trip to Naples and back to pick up the kittens. I jumped in the car two days before to fish something out, when I noticed a bunch of warning messages. Specifically, the 12V battery was going to imminently fail. Unfortunately, Tesla didn't have a replacement available, and I didn't feel comfortable going three hours away not knowing if it would make it. We had to get a super-shitty rental to make the trip.

If I'm being honest, the failure probably has nothing to do with the car being an EV or a Tesla. Florida is notorious for killing 12V car batteries in the heat and humidity, and mine has been mostly sitting in the garage for months. The only real issue is that this particular battery is somewhat exotic. It's an AGM battery, common to RV's and boats, but this one has a particularly large capacity. It was covered under warranty and was in stock in less than a day. I'm not that worried about the cost of the rental, I'm just bummed I missed out on the chance to drive the car. I never enjoyed driving until we went all-EV.

So what's the story? Tesla uses 12V batteries to do two important things. They power the computer, which essentially never turns off, and plays an even bigger role now with Sentry Mode, which uses the bazillion cameras to record the surroundings when people get close. (Some calculate the cost of Sentry Mode at 1 mile of range per hour.) The way I understand it, the other thing it does is power the relays that close when the main power train battery is ready to move the car and power the air conditioning. The clicking you hear under the car when you get in is just that. The two places in the car where first responders can cut a wire to prevent high voltage from being in undesirable places actually cuts the wire to the relay. That's kind of neat.

Since EV's don't have an alternator to charge up the 12V battery, they're recharged by the main battery periodically, in some way that algorithmically attempts to preserve the integrity of the 12V. There's some speculation that the thing gets charge cycled a lot, especially since Sentry Mode became a thing, and that's causing these to die at a faster than the normal rate. Indeed, a friend's died outright without warning recently, also a bit over two years. Seems plausible, but the Florida conditions also seem likely. At the very least, there's anecdotal evidence that the software predicting battery death has become more liberal in warning you, maybe because they've had to tow a lot of cars. What's annoying is that all of this amazing technology is beholden to a part that has been around for decades.

It was covered by warranty, but I would've been content to just buy a battery from a local parts store if possible. It would have cost the same as the rental. And if Tesla had one on hand, even better, same day problem solved. It's super easy to replace and very accessible. Tesla's weakest link is service, which has never been able to come up with demand. They've always committed to not making service a profit center. It sounds like they're getting better though, and much of what they do is done by mobile service, where they come to you. Also encouraging, I saw a dude when I picked up the car loading windshields into a Safelite van. I had to get mine replaced after a massive rock induced crack broke mine, and it took five days over a weekend at the service center, which isn't ideal. I need to get it replaced again eventually, as I'm now sporting three significant chips.

All things considered though, it's still the best car I've ever had, and it's fun as ever to drive. I find this especially true since we don't do a ton of traveling these days.

Beating the Covid 19 (pounds)

posted by Jeff | Monday, August 3, 2020, 10:10 PM | comments: 0

Generally avoiding people, it's not the social distance that has been hard, it's the high potential for weight gain. Then we entered swamp-ass season, when I want to be outside even less. I was pretty worried that my general weight trajectory would be up, despite the doctor's orders to lose weight and get my slightly high cholesterol and blood pressure back down. I'm not gonna lie, the "freshman 15" was a certainty, but the "Covid 19" looked even more likely.

Look, I hate exercise for the sake of exercise. That's never going to change for me. So my usual strategy is to keep moving as much as I can, even though I have a job that encourages the opposite. Fortunately, there were some changes that have helped me not only avoid extra weight, but very slowly lose it. First off, I'm not working at a job with a chef that cooks several times a week, and I'm not eating out. A year and a half of that scene, with stress, put me up 11 pounds. Then I transitioned myself off of soda, trying the various flavored carbonated water products, until I was down to about 6 to 8 ounces a day (down from at least 24). I also got back into the rhythm of not eating after 7, mostly. I've tried to not eat before 11, but I'm less consistent about that.

The short story is that I'm definitely consuming fewer calories than I'm burning, which is a small miracle considering I'm not moving enough and I'm not counting calories in any way. It's the most control I've had over eating in a long time, which I attribute to therapy, my variation on meditation, keeping my hands busy on a ton of different things and generally processing stress. The anxiety is still challenging, but it doesn't make me want to eat.

In recent weeks, I've avoided drinking a bunch on Friday nights, which became pretty routine for us. Swamp-ass season will end soon, and we'll start having days again where a brisk walk or bike ride a day is easy. I'm getting better about moving around a bit between meetings, too, and to somewhere not the fridge. I could pretty easily get back to my "volleyball weight" by the end of the year without a ton of hard work, which is good because I'm super lazy. I've come to realize that the challenge isn't so much the activity, but the eating habits. That's where I have to get it to stick.

Mentally, I can roll with this weirdness for another six months, maybe. I sure miss Epcot lunches though.

Introducing Finn and Poe

posted by Jeff | Sunday, August 2, 2020, 8:05 PM | comments: 0

We've added a couple of little critters to our family. I'd like to introduce Finn and Poe, named after the buddies in the last Star Wars trilogy that helped take down the First Order. They'll be three months old tomorrow.

I mentioned that these two guys were on the way about two weeks ago, and then we very quickly lost Emma just a week ago, much sooner than expected. I guess the timing is good, because their arrival is a useful distraction from our loss. Honestly everyone can use something positive, and two kittens sure are that. I haven't had a kitten in about 18 years. Marrying in to three cats that were already a few years old, I knew it would be a long time. In fact, provided these guys live a long and healthy life, realistically, we'll have kittens one more time in our lives.

We have a lot of experience with cats, because between the two of us, we've had more than a dozen. We've observed that brother cats tend to be cuddle buddies, girl cats seem to love their humans but not other cats. We really like big cats, the bigger the better. That's what we loved about Gideon. My brother-in-law Joe has this beautiful cat Louie, a ragdoll, which I absolutely adore. He's huge, and as is typical for the breed, pretty docile and relatively agreeable to being picked up. I think I annoy him, but he takes it anyway. I've wanted a cat like him ever since I met him, about a dozen years ago.

The breed has only been around for about sixty years, an off-shoot of Birmans. The more that I learned about them, the more surprised I was that the usual breeder nonsense about personality seemed to be true. They grow big, and they're tolerant cuddlers. They're not hypoallergenic, but they don't have an undercoat so they don't generate a ton of dander, which is a plus for all three of us. I think it took some time for us to get used to the idea of not adopting a shelter cat (like all of our previous cats), but there's some appeal to knowing a bit more of what you're likely to get. I'm horribly allergic to very specific cats, though I'm not sure which, so not having that crap shoot was also appealing. (I'll never forget encountering such a cat on a house shopping tour some years ago, and I was miserable the rest of the day.)

The breeder was located just outside of Naples, about three hours away. Her pricing seemed pretty fair, and she was taking care of the neutering and the initial round of vaccines. Apparently boys are in lower demand, so we didn't have to wait very long. I was relieved to see she had a very clean environment, and the boys were in perfect health and super playful from the start. They slept almost the entire drive home. We isolated them to our bedroom and bathroom, and they used the litter box immediately (at the same time), but were not anxious to eat.

Poe seems like the more adventurous one, and warmed up to us almost immediately. He's high energy, and immediately made a game out of running behind the curtains. He's also a climber, figuring out how to jump on the trunk next to the bed, then the bed. Then he just jumped on to the side and clawed his way up the blankets. No fear in that one.

Finn is a troublemaker. He's the one who will tackle Poe, carry off toys and try to mess with wires. When he plays, he likes to nibble and sometimes the claws come out when he's excited. He's also surprisingly more cautious, and still a little apprehensive at times with Simon. He's a little clumsy too, in the adorable way that kittens often are.

They do like sleeping together, and by late last night, they were out cold. Until 6:30 this morning, anyway. Fortunately they discovered the cat tree and spent a good portion of the morning there. Today's experiment was to let them look around the house and meet Oliver. Oliver can be weird, because he's always wanted a cuddle buddy, the way Gideon was, but Emma would always reject him. He directed some hissing at the boys, but they were not totally put off by it. In fact, I can see that Finn really wants to be his friend. He approached him low and laid down next to him, in one of those nature documentary moves where the new animal sends signals to say, "I'm not the alpha, I come in peace." I think Oliver will warm up to them eventually. He might be an old man, but he still often has the temperament of a kitten (honestly I think he's cognitively a little underdeveloped). The boys really want to be his friend.

Simon is really impatient, but he's also struggled to have the still body control necessary to not freak out cats, and he doesn't read their response very well. Cosmo and Gideon never wanted anything to do with him, Oliver kind of tolerates him, and Emma was the only one that really paid attention to him. That's why it was so hard for him to see her go. She would "groom" him by licking him on the head, which unfortunately means he thinks that getting right up in a cat's grill is what they want (they don't). He wanted them to be his best friends instantly, but any animal needs time to warm up to humans. He'll get there, he just needs coaching. The whole point of these kittens is to finally have pets that know all of us from the start.

I'm excited to expand the pride. Losing Gideon and Emma was tough, and I didn't even have as much of a connection to them since they weren't "my" cats. I'm glad I married a cat person.

Hating on billionaires is not constructive

posted by Jeff | Sunday, August 2, 2020, 11:41 AM | comments: 0

I'm generally pretty clear about my distaste for sports rivalry politics, the phenomenon where you pick a team and stick with it regardless of policy or moral failings. While I often associate this with the right, and the cult of personality for Trump, it certainly happens on the other side as well. In fact, progressives get really latched on to CEO salaries and tend to demonize the billionaires. While I think their intent isn't the worst thing, I think they're going about it all wrong. There's too much nuance to simply declare the billionaires the bad guys. The rich may enjoy the result of income inequality, but I don't believe that they're at fault for it.

Take for example Jeff Bezos, the guy who runs Amazon. Let's be clear, they're treating warehouse workers poorly and they deserve more, especially in light of the fact that the company's gross margin is absurdly high at 40%. However, it's not Bezos' salary that's the problem. His comp has been about $81k per year for the last two decades, plus the cost of his security detail. He's rich because he owns 16% of the company, so his compensation is a non-factor. The comp shouldn't be the issue. He hasn't even taken a stock grant.

He's also hated for the theoretical amount he pays in income taxes, along with the company itself. These are fair complaints, but it's pretty weird to lay the blame at his feet. He doesn't write the laws, and he and Amazon haven't broken any when it comes to taxes. You can blame that entirely on Congress, not to mention the municipalities that were prepared to suck up to the company with wholly absurd tax incentives to open facilities in their borders. Some incentives to stimulate job growth are one thing, but some cities when too far.

So what are the real problems? Here's what I think, in no particular order:

  • First, the most obvious thing, if the rich should shoulder more responsibility, that means they have to exist. Things like universal healthcare and a balanced budget are not easily obtained without the input of the people who make the most. We just have to adjust how much they contribute.
  • There is a general attitude by boards that executives deserve a big pay day even if they fail. That's screwed up. You shouldn't get fired and walk away with 8- or 9-figure packages. That doesn't mean that those running huge, profitable enterprises should not be well compensated, nor does it mean that it comes at the expense of others down the reporting line. I imagine you could legislate this, but I think the markets have been too casual to view investments as worthy despite the willingness to contractually reward failure.
  • Corporate tax structure basically needs to be rewritten. If you have a small army of people to figure it out, you can avoid paying taxes no matter how profitable you are. To fix this problem, you need to get money out of politics, and stop pretending that corporate lobbying is free speech. Right now, the feds get 6% of the revenue from corporate taxes, and that's absurd.
  • Similarly, individual income tax law has to be revised. As a percentage of income, I pay less now that I did when I made less. It's natural to make more money as you get older and progress through your career, but that you can find more ways to avoid taxes is more than a little strange. I don't think you necessarily have to get the rich paying dramatically more as a percentage, but it definitely shouldn't be less.
  • Labor protection has to actually be enforced. Look, I'll be the first to say that unions yield mixed results, depending on the situation, but anti-union behavior has to prosecuted, and laws have to be strengthened. Some companies (like Amazon) deal with unions the way that politicians fan the flames of racism, with half-truths and implied threats.
  • Consumers have to stop rewarding bullshit. People shop at Walmart to save a few bucks, but it comes at the expense of lower employee pay and a market dynamic that crushes manufacturer competition by forcing the lowest cost goods to market, usually from China. You want an example? The example of Vlasic pickles shows what I'm talking about. There's a cost to your community, and the nation, when you shop at Walmart. Consumers need to understand these trade-offs.
  • Understand that economic prosperity is not a zero-sum game. As much as I'm annoyed by the right's scapegoating of brown people for every problem, the left blaming the wealthy isn't helpful. Yes, trickle-down economics is bullshit, we all know that. But the little guy isn't kept down by the financial success of the rich. A robust economy can have rich people and a solid middle class if some of the above issues can be resolved. My own fiscal condition is not diminished by minorities, and it won't be by the rich either.
  • We have to outlaw the traps that push people into poverty. How pay day loans are not illegal in every state is beyond me. Predatory lending in general has to stop.
  • It's worth noting that the wealthy typically play a big role in philanthropic efforts. Bill Gates plans to give all of his money away. Had we listened to him years ago, we might have been better prepared for the pandemic. His foundation's efforts have saved over 100 million lives.

Is it morally icky that people can make that much money? I don't know, maybe. I just don't buy in to the narrative that they're all evil and believe they must oppress others to stay there. I haven't met all rich people, but those that I've gotten to know are some of the most generous people I know. Income inequality is very real, yes, but it's not the people at the top who are the problem, it's the system. Let's fix the system, not demonize those who legally use it.

John Lewis embodied the American ideal

posted by Jeff | Thursday, July 30, 2020, 5:00 PM | comments: 0

It isn't frequent that a career civil servant is eulogized by one, let alone three, former presidents at his or her funeral. But that's what happened today for John Lewis, a man who embodied the American ideal of equality and persistence.

Lewis' passing reminded me of the patriots who put their lives at risk in the civil rights era, and how few of them are left. But it also reminds me that the civil rights era never really ended, because we're still having a conversation that was never resolved. That's why John Lewis served in Congress to the very end.

The last words of John Lewis are moving and real, and contain a sense of optimism that I hope I can have when my time comes. His parting words encourage us to pursue a better future:

You must also study and learn the lessons of history because humanity has been involved in this soul-wrenching, existential struggle for a very long time. People on every continent have stood in your shoes, through decades and centuries before you. The truth does not change, and that is why the answers worked out long ago can help you find solutions to the challenges of our time. Continue to build union between movements stretching across the globe because we must put away our willingness to profit from the exploitation of others.

Truth seems like an abstract concept in politics, and the mental gymnastics that people practice to avoid an uncomfortable reality obscures the truth. But that's just it... it might be obscured, but you can't keep it hidden. History has shown over and over again that what is right and true will eventually persist. America's stain is its failure to deliver the ideal that "all men are created equal," but our acknowledgment of that is the basis for realizing it in our lifetime.

My non-American friends frequently look at our nation with disbelief at what things have become in recent years, but it's remarkable to see them look at John Lewis and see, with great respect, what our potential is. The best thing we can do to honor the man is to follow in his footsteps, and not be complicit in allowing the status quo to continue. We can't continue to allow there to be two Americas. It is on every one of us to demand an end to the systemic racism that has cursed us for centuries. John Lewis thought it was possible, despite being literally nearly beaten to death. If he can believe in our potential, we all can.

Forum spam

posted by Jeff | Tuesday, July 28, 2020, 10:56 PM | comments: 0

A very, very long time ago, I learned the joy of spam and ways to post in an automated fashion to forms on the World Wide Web. Very early on in my experience with POP Forums, on the site now called PointBuzz, some kid lit up the forum with thousands of the same spammy posts. It was not a sophisticated attack. My one and only way of mitigating spam at the time was that you had to confirm that the email you used to signup was real, but once you did that, the gates for abuse were wide open.

The next thing that I did was institute a waiting period, which is something I hacked together literally as this was going on. Basically it meant that you had to wait a certain number of seconds before you could post again. Having to deal with 60 posts every hour was a lot easier to head off than 60 posts every second! Then I required that you couldn't post the same thing twice in a row, which meant that even your slow attack from a single user account would have to vary in content. Finally, I started blocking IP addresses. Together, this has mostly kept spam to a minimum, where it was annoying but not disruptive.

Earlier this year, when I was working out how to migrate the PointBuzz forums into the managed hosted forum product, I happened to notice literally thousands of accounts created with fake email addresses, created milliseconds apart. They were all useless since none were confirmed by email, but it was a lot of data noise to say the least. This was a little more sophisticated, because they were created from what I assume was a bot net, from many IP's around the world (though mostly from China and Russia). To mitigate this, I added Google's reCaptcha service to the page, which is largely invisible at this point, and that has mostly worked. Unfortunately I had not back-ported that code to CoasterBuzz, so it was in the midst of a similar sign-up-o-rama of ill repute.

It's a bit of a constant struggle, because especially when you have had active domain names for 20+ years, they're more valuable to host outbound links in terms of spam and search optimization. I had a recent email exchange with a guy who has been running another coaster site for even longer, and we marveled at the fact that we've been around longer than social media. I would argue we were social media before it had a name.

We finally have a more or less current TV

posted by Jeff | Tuesday, July 28, 2020, 8:45 PM | comments: 0

Among the many things about me that make absolutely no sense is the fact that I've never had a particularly state-of-the-art TV. The reason that's odd is that I began my professional life making pictures and sound for the box. I studied radio/TV in college (and double majored in journalism with mediocre grades, so suck it, over-achievers!). My first job after a dazzling but brief radio career was running a municipal government cable TV thing, starting with nothing. By 1997, I had digital video tape and cameras (DVCPRO!), and by 1998, non-linear, computer based editing (Media100!). I squeezed my budget to have the latest toys.

At home, this was never the case for televisions. My first TV was a cheap 20" RCA from K-Mart, which seemed big at the time, probably because it was so damn heavy. Shortly after Stephanie and I got married, she bought a Sony, maybe 32", and it was enormous and insanely heavy. Large projection TV's were the rage then, but even if I could afford it, I never wanted to fill a room with one. Many years later, 2006, I think, I bought an HDTV, with an LCD panel, maybe 46", but lighter. I kept that until 2010, when that TV's sound started cutting out. The replacement was a 55" Samsung LED-lit LCD TV, and until last week, it was still my living room TV. It lasted a decade and wasn't done.

But these being Covid times, where we don't get out as much, spend way less money, and watch a lot of TV, I had the itch. I never had plasma or extra thin or extra large or 4K (if you don't count the small inexpensive TV we bought for the playroom). I think I was pretty justified though, because with my critical eye, none of the TV's I have seen in recent years looked that much better than what I already had. Mind you, the average store pipes total crap into them, so it's hard to tell. But OLED TV's, basically giant panels that are like those in your phone, appealed to me because of their incredible dynamic range, and of course more dots. With the streaming services supporting 4K, it felt like a reasonable time to upgrade. The old Samsung has a bright spot in certain scenes that bothers me, and frankly we'd like a bedroom TV for the late night YouTube hits of late shows. That's where we put it.

So I sat on the idea for the last nine months, and finally pulled the trigger. We went a size up to 65", and it's an OLED 4K panel from LG. As is still the case, all of the default settings are shit, but once I got it dialed in and found some suitable action on Disney+, specifically the documentary series Rogue Trip, I was completely in awe of what it's capable of. That you can have something that remarkable, as a moving picture, in your home, is not something I will ever take for granted. It's unreal. Shadows have depth in the same scenes with bright things, and the texture in skin and hair is vivid. It's on par with a movie theater experience. (Sidebar: I'm using the same speakers I've had now for 20 years or more.)

Now, unfortunately, the firmware running the TV is total garbage. Allowing things like your FireTV or Xbox to automatically display the right resolution doesn't work. The audio return (ARC) back to the receiver causes a hijacking of the particular input, because the CEC protocol is tied to the ARC, so you couldn't switch inputs. If you change an input, it loses all of the settings you had for it. It's just end to end crap once you start plugging things into it. The solution is making everything manual, which as a Harmony remote user is fine, but it took two or three days of messing with it for everything to work as expected. All I want is a dumb display that shows 4K video in a pristine way as it was intended to be seen. I don't think the average consumer will get that.

Once I worked through all of those frustrations, I was thrilled with what I could see though. I especially give credit to Disney+ for having so much 4K content, including its signature shows and movies across the Marvel, Star Wars, Pixar, Disney and National Geographic brands. It looks like there's quite a bit on Hulu as well, and unlike Netflix, they don't charge extra for it.

It's already strange to see movies for the first time in regular HD that you used to watch on VHS tape. It's fortunate that so many more recent movies have also been remastered to 4K, showing detail you never got to see. The digital world makes it a great time to be a fan of "film."

You can't be a Republican and a Trump supporter

posted by Jeff | Tuesday, July 28, 2020, 3:00 PM | comments: 0

I've long complained about the general adherence to what I call sports rivalry politics, the thing where you support a party at all costs regardless of its actions, the way you support your local sportsball team. Indeed, you can self-identify with a party, but it doesn't mean that it is led by the correct, moral people. In the case of Donald Trump, if you identify as a classic Republican, you can't support him. It's not even that he's a vile human (and he most certainly is that), it's that he doesn't align with the classic values that you say you identify with.

Republican valuesDonald Trump actions
Champions representative democracy. Suggests without proof that elections are rigged.
Strong Constitutional values, including a strong judiciary. Labels judges as conservative and liberal, wants loyalty from appointees.
Free speech is critical to a functional democracy. Calls the press an enemy of the public.
A free market economy allows the market to decide.  Engages in a tariff war, advocates subsidizing entire industries.
Personal responsibility is the cornerstone of citizenship. Takes no responsibility for anything, finds scapegoats and boogeymen for every problem, encourages followers to look for people to blame.
Deregulate all of the things. Try to regulate (largely failing in the courts) anything he doesn't like, including social media, congressionally budgeted spending, women's health, etc.
Public education is one of the core American advantages for success. Appointed an education secretary with no education experience, who didn't even attend public schools.

Keep in mind, these are only the broad policy ideas that Republicans tend to adhere to, many of which I think over-simplify governing, but Trump doesn't subscribe to any of these things. It doesn't even get into the many moral issues of racism, misogyny, disregard for science and the general disregard for the sanctity of the office. If you're Team Republican, he flies in the face of the core things that Republicans tend to stand for.

Perhaps you need a different leader who checks those boxes.

That is why it is called the present

posted by Jeff | Sunday, July 26, 2020, 3:30 PM | comments: 0

Simon is on a Kung Fu Panda kick suddenly, after years of ignoring those movies. There was a line that stood out to me from Oogway, the old turtle, where he says:

Yesterday is history, tomorrow is a mystery, but today is a gift. That is why it is called the present.

True words, certainly. Infuriatingly true, but difficult to accept when everything that you really want to do you can't, presently.

I'm at the age now where it's reasonable to be thinking about what retirement looks like. Of course, I'm frustrated that I made poor choices in my 20's as far as saving and investment goes, but it seems like I have a shot at making some of that up. I got a late start to parenting, too, so empty nesting won't come for me until I'm in my late 50's. I don't want to wait until official retirement age to have whatever it is that I think retirement lifestyle is though. There's a spot where the future and the present are at odds: You have to plan for your future, but thinking about that makes you realize that you shouldn't wait for the future either. There's no time like the present to live your best life.

Now layer on a global pandemic, where you can't travel to Europe because your fellow citizens are awash in a mess of entitlement and denial, concerts and festivals can't be a thing, and it's definitely not responsible to have a party. The present restricts your choices, and it doesn't take long to get bored with drinking on weekends and scrolling through online nonsense.

This isn't all bad, mind you. All of this time to contemplate life has made me realize several important things. The first is that I am a creative person who doesn't spend enough time creating. I'm working hard on that to whatever extent feels good on a day, and I'm not beating myself up for doing nothing. The second thing is that work is going to be a part of who you are, whether you like it or not. If it's exceptionally difficult, the problem may not be you. I see that with great clarity now, being well supported at all levels. And finally, for better or worse, your child in many ways becomes a product of your actions, so choose them carefully. It's so hard to consistently do the right things.

Today doesn't feel like a gift, because we lost one of our animals to old age, Diana's battling headaches again, Simon is struggling with crashing computer games, and I'm just having a tantrum about all of it. But there's a cuddle pile watching the Panda movie (again), a meal on the horizon that will involve cheese and I'm going to play some tunes for my friends. Sometimes the small things are the gifts.

What if I built my own music cloud?

posted by Jeff | Saturday, July 25, 2020, 5:04 PM | comments: 0

I got to thinking about my music locker problem, because it causes me anxiety. I know that I'm the weird one, and call me old school, but I tend to think of the files that I purchased, along with those that I ripped from my significant CD collection, to be my music collection. I don't want to keep moving stuff around or have to start paying monthly to people to listen to what I already own. So what if I built my own thing?

Here's the way that I look at it. Storage is insanely cheap at this point. My music occupies about 50 gigs, which would cost a dollar per month on Azure. If I wrap an API around accessing the files with a serverless resource, that's essentially free. I could probably manage the catalog and playlists in some flat file format, and that would be free, but I already pay for a database pool for my sites, so I could go full relational database for free as well. (If you're wondering, solving the issues with concurrency with a flat file, or indexing with a doc database, seem like problems I don't need.) Wrapping a web-based front end around it would be pretty easy with Vue.js, though I'd need to build something native if I wanted to persist files to my phone.

Of course, you have to secure all that because it has to be for personal use and not for others, but that's easy enough. The bottom line is that it would let me own my own music service forever. The only outstanding question I have is whether or not there are .NET libraries that will read the metadata on AAC files, which is a third of my collection because that's what iTunes defaulted to back in the day and I didn't know any better. I also don't know if there is a .NET Core library that will play them back, in the event that I built a phone app (because I'm sure not using Java).

That would be an interesting science project. Because I don't have enough of those.

Sometimes I miss the good chaos

posted by Jeff | Friday, July 24, 2020, 5:00 PM | comments: 0

Losing another cat had me thinking about all of the time, and moves, I made with her. And then, looking for a good picture of her required looking through a great many unrelated photos, so the rush of memories and feelings covering the last dozen years or so... there's so much there.

The memory inventory reminded me a lot of the various times that I just felt... icky. There were some low points between relationships, the feeling of regret leaving Seattle, the despair of late 2001. But there were times of great excitement and optimism, too. Dating Diana more seriously, moving to Seattle (and everything that went with it), having a child, moving to Florida, leaving a convenient job to join a startup, building two houses. Lots of that caused plenty of anxiety, but it was good anxiety, mostly. Swirling in the chaos of opportunity and potential is invigorating.

I kind of miss that, to an extent. In November, we will have lived in the same house for three years straight, and by March that will be a record for us staying put. Six moves in eight years was exhausting, I don't recommend that, but there was something kind of cool about it. (Excluding the SEA to CLE move, because of the aforementioned regret.) Even now, we're pretty actively thinking about what life looks like when Simon is sent out into the world, and it doesn't involve living in this McMansion. Not sure how I got this way, because in my previous life I just assumed I'd live and die in Cleveland and that would be OK.

Isn't it funny that a global pandemic causes you to evaluate what normal even is? I used to find comfort in familiarity, but now I find it in depth. The richness of life to me is finding the deeper experiences. For example, a job where everything is changing all of the time leads to more satisfying outcomes because the challenge is rarely the same day to day. Every visit to New York City (talk about chaos!) involves meeting new people, seeing new things. It would seem like seeing a show several times would be an exercise in familiarity, but really it's one of depth, where you observe more things each time you see it. It isn't enough collect things and build a portfolio, I want to be deeply intimate with the things I engage in. Chaos agitates your surroundings, making it easier to find the depth.

The world is chaotic, but the nature of the pandemic chaos is to force your daily life into something that lacks chaos. I associate chaos with mobility, which I associate with depth of experience. It's a strange phenomenon.

Emma (2002-2020)

posted by Jeff | Friday, July 24, 2020, 4:00 PM | comments: 0

(Photo from February 5, 2008)

Today we had to say goodbye to Emma. She left peacefully with Diana at her side (solo, because Covid). I've been making jokes for years about her eventual end, because she was almost 18, but I'm still very sad to see her go. She mostly died of old age, as far as the vet could tell. She's been moving pretty slowly the last two weeks, but still able to jump up into chairs. Yesterday, she moved a total of 20 feet all day, and began to lie down in the shallow litter box that Diana put out for her. She was clearly getting weaker by the minute, really not even able to keep her head up. She very suddenly became a shell of her usual self.

Diana adopted Emma after she spent almost two years with a family on a farm, where they decided she needed to go because she wouldn't play nice with the kittens they had. Of course, Diana acquired more cats, so Emma eventually had to learn to roll with them all, including my older Cosmo when we merged the pride. I called her Princess Bitchy Pants because her meow was completely annoying, and she always looked annoyed. She was tiny under all of that fur, and you could put her on her back and brush her, and she would do "air paws" and purr like crazy. She would sweetly groom Oliver and Gideon, before getting tired of them and whacking them in the face. She was the alpha in the pride after Cosmo died, and not afraid to chase the boys around despite being much smaller. She was still chasing Oliver as recently as a month ago.

Simon was sad to see Gideon go a few years ago, but Emma was much friendlier toward him. He would put his head down in front of her, and she'd start to groom him, which was hilarious and sweet, and strangely contrasting to her unpleasant meow. I don't know how you explain euthanasia to a kid with autism, because I can barely understand it myself, so we told Simon that she would go to the vet and have medicine to keep her comfortable while she dies. That's not untrue, we're just leaving out the decision making process that we're burdened with. I know what that knowledge did to me as a kid, and I resented my parents for weeks when I had to say goodbye to Smokey. Simon took it as well as could be expected, which is to say he was in total meltdown for about 15 minutes, and fortunately has been easily distracted since.

Letting go of cats is always hard, deciding when it's their time. I suspect she wouldn't live more than a few days more, so this one at least was close to a natural old age death. It's still hard though, with four cats in 13 years, starting with Luna (2007), Cosmo (2013) and Gideon (2018). As I said, this one isn't as hard because I feel like I've been expecting it for a long time, but it's still sad. It's hard to see Diana's cats go, but I wasn't as "close" to them because they knew who the mom was, and I think they largely have tolerated me. The ragdoll kittens are coming in another week or so, and I'm excited that they'll know the three of us as their family from the start, and hopefully be with us to retirement. For now though, it's just Oliver, and he definitely knows that he's alone now.

So you've been called a racist

posted by Jeff | Thursday, July 23, 2020, 12:30 PM | comments: 0

I watched an exchange unfold on a friend's Facebook post that was about something divisive, and seemingly from left field, one person complained that she was actively labeled a racist, presumably because she supported Trump. So let's unpack that a bit.

First off, Trump himself is objectively a racist. He says racist things all of the time, and has for as long as he's been engaging in politics. You can cite hundreds of examples. If you're not convinced of that, that's the first problem. I would think that justifying white supremacists as having a valid point of view, or that some are "good people," is a good starting point when defining a racist. It stands to reason that if you support a racist, by extension you support racism. Look, I don't imagine that you have hate in your heart for people of color (unless of course you do), but racism isn't just throwing out the N-word and attending Klan rallies. Racism is also endorsing a known racist.

Racism does not constitute a difference in opinion where can just "agree to disagree." No, advocating for racism is not morally equivalent to being against it. Every human being has a moral obligation to speak up against racism. You can self-identify as a Republican or "conservative" or whatever, but it doesn't mean that you need to be OK with racism and racist policy. Even I agree with certain old school Republican fiscal policies (none of which are actively practiced these days). There are Republican leaders who are critical of the racist president, so if you must join a team, there are people on the team who stand up against the racism. I would align with them. Being labeled isn't a consequence of your political affiliation, it's a consequence of who you support.

We value free speech and a democratic system of government in the United States. These freedoms are not without responsibility and consequence. Despite the empowerment of white supremacists in recent years, the circles where it's acceptable to ignore them, let alone endorse them, are shrinking. If this reawakening to civil rights issues has taught us anything, it has reminded us that stamping out the two-system America that discriminates requires the active participation of the majority (i.e., white people). Supporting a man who is the antithesis of equality carries with it extraordinary risk in how you are perceived by others, personally and professionally. Again, don't misconstrue this to be because of the party you affiliate with. People can disagree along party lines, but again, there is no moral equivalence between disagreement over racism and fiscal policy about farm subsidies. The problem is the man you align with, not the party.

So if you've been called a racist, I can almost assure you, it's not because you lean right. There are right-leaning leaders who are fundamentally capable of acknowledging racism and declaring the moral imperative to end it. Trump is not one of them. Heck, there's a PAC run mostly by old white Republican dudes who align with the right side of history.

About theme parks in the pandemic

posted by Jeff | Monday, July 20, 2020, 3:00 PM | comments: 0

Walt Disney World has been getting a lot of negative attention for opening lately, in part because our infection rate here in Orange County has been pretty bad. Our ICU saturation is at 70%, which is definitely not good. But the thing about the theme parks, and really all amusement parks, is that the infection rates don't necessarily mean that they're unsafe to open. Things are comparatively worse in South Florida, without theme parks. What we know now that wasn't clear in March is that there are mitigation tactics that can help prevent the spread of Covid-19. It doesn't make anything "normal," but the overall guidelines for behavior make it pretty clear what will work.

Anecdotally, it seems like the spread has more to do with individuals in small groups giving up on the mitigation tactics... pool parties, barbecues and other small scale social gatherings. The young people who all started dry humping each other in bars didn't help. The science around social distancing and mask wearing is relatively sound, as well as the reduced risk of people being outside. In that sense, it would imply that the theme parks are actually relatively low risk for infection. With such low attendance and limits to capacity, I think it's reasonable to expect that visiting the parks would be safer than going to a grocery store. Not completely without risk, but definitely low.

That said, even low risk isn't a great idea for us, because of our health histories. Most of what we enjoy is meeting up with friends, many of which are also not going, and the out-of-town friends are obviously not coming. We'll certainly start throwing money back at them again early next year, if things go as optimistically as some health experts hope, but I'm not in a hurry to pay for a dramatically altered experience.

Art takes time

posted by Jeff | Saturday, July 18, 2020, 8:35 PM | comments: 0

With the world in many ways on pause right now, I feel like maybe we have too much time to think. I revel in that time, but lately it's too much of a good thing. I can only imagine how people who need to have something to do at all times, to avoid thinking too much, are surviving. For me, I often come back to the idea that I may have been intended to be more of a creative person. Artistic endeavors tend to have incredible highs, at the expense of having pretty serious lows. There's a part of me that feels it's probably worth it to some degree.

Professionally, there's certainly a creative aspect to what I do, but I wouldn't call it art. All I can really say is that over time I feel like I get further and further away from creating something that resembles art. That's likely why I'm writing more, I want to make "something" with my video camera, I fleetingly want to learn a musical instrument, and wish I could be in a band or a theatrical production, or something. I was watching We Are Freestyle Supreme tonight on Hulu, a doc about the improvised show that a troupe has been doing for 15 years, on and off, including Lin-Manuel Miranda. I was struck by the phenomenon it again became on Broadway late last year, and that it's basically just a bunch of friends who get together and instantly create something entertaining and joyous for people.

FLS is art of the most ephemeral kind. It's never the same twice, and only the memory of it persists. As Miranda points out, things that endure, like Hamilton, do not come easily. It took him six years to write that show. If it takes him, a genius who won a Pulitzer, Tony, Emmy and Grammy before the age of 40, that long to create something great, I feel like most of us have no shot.

Where does that leave me? First, it makes me understand that the only time box there is for creating things is lifespan. That's already a pretty big motivator when you enter midlife. The second thing is that scope is relative when it comes to doing anything. I've learned that you don't necessarily have to invent things that outlive you to have purpose. The simplest kind gesture toward someone else can have immeasurable impact. And the last thing is that if I wish to create things, it takes practice. Most of us non-genius types need to make a lot of shit before we make anything of moderate value.

That last part is something that I keep seeing over and over again. Just this year, I've seen that sentiment from Spike Lee, Judd Apatow and Kevin Smith, all filmmakers that I admire. You can't be too precious about what you make. It's not even clear what the bar for success is, but it might just be finding joy in doing it.

So I've got time. I can't travel, theme parks are off the table for awhile. I can practice making things. Art takes time.

My open source project focus

posted by Jeff | Friday, July 17, 2020, 4:30 PM | comments: 0

I spent a lot of time in the first quarter working on POP Forums, mostly in ways to reinforce it as a commercial SaaS product. The commits for the release I haven't released yet were very scale heavy, and I still haven't done any real optimization around ElasticSearch (using the language analyzers right). I'm really happy with where it is now, having run it across multiple nodes with serverless background stuff and caching and such. It's stupid fast and it hasn't broken a sweat even on mostly cheap virtual hardware. To that end, the run up to making it a hosted product burned me out on it a little, and while I'd like to spend more time improving it, there isn't much incentive to doing so unless I get some customers. I launched it, but between a new job and the uncertainty of Covid, I'm not comfortable spending anything on marketing. I want to modernize the front end of it all, but that's a heavy lift in terms of learning, and I'm not sure how to make time for that.

At some point, I did decide to start porting my blog to an open source project, because why not. It's simple and I want to have a shared code base that I can drop in as package references to this blog, but also two other projects. The first is that I want to enhance it with the podcast enclosure stuff, because I need to replace the aging CoasterBuzz Podcast site, which I built 15 years ago (!). We don't do the show anymore, but that's beside the point. We do a show once every seven years! 😁 The second thing is that I'm planning to resurrect SillyNonsense. That domain has been with me for 20 years, but I haven't used it since the early oughts. All of this quarantine and world chaos has me wanting to produce some video stuff, and you know I'm not content to just put up a YouTube channel without my own means of engagement and brand. I'll write about that part some other time.

Doing open source stuff can be a mixed experience. People often seem ungrateful for what you provide for free, and worse, often want you to support it immediately and for free, but I get just enough interest from people that it's worth it. The forum project only gets like a dozen clones a day, but I've had a few people contribute on and off. I've had the chance to share knowledge around design decisions and such, which is rewarding. I had one guy look at it all as a blueprint for how to do his own work, and I had to explain to him that there was stuff in there that was crusty, with a dozen plus years of ick in there!

The big thing though is that it keeps me grounded, and hopefully gives me a little street cred. I've worked with a lot of really smart people the last six or seven years in particular, and as a manager by day and not maker, I want them to know I get what they do. Fortunately I don't think any of them look at the code, but I can dazzle them with my devops automation that I barely remember myself!

The Puzzoni cat pride

posted by Jeff | Thursday, July 16, 2020, 5:30 PM | comments: 0

When Diana and I moved in together, I went from one cat to four. Fortunately, I'm a cat person, and so marrying the Crazy Cat Lady was not the worst thing. I spent 2,500 miles driving in each direction from Cleveland to Seattle and back with those furry bastards, and it wasn't fun, but you've gotta do what you've gotta do.

Cosmo died in early 2013, and she was my cat, spanning two marriages, a vet student girlfriend, three moves and I don't even know how many jobs. I think 16 years is a pretty good run for a cat. She hated everyone else, but she always seemed to look after me, especially the in-between time when I was living alone. I miss her, because Diana's cats always kind of tolerated me, and only bugged me when they needed things. We lost Gideon about two years ago, but he was barely 12 when he suddenly developed a cancerous tumor on his leg. He was our gentle giant, scared of everything, despite his enormity. He actually warmed up to me in his last year or two.

That leaves Oliver and Emma. Oliver is closing in on 14, but he still acts like a kitten. He's dumb as a box or rocks and ticklish, but I guess that's part of his charm. Emma will be 18 in the fall, and she's showing her age. She's a fairly nice cat despite having the most irritating meow you've ever heard. She's been sick a lot lately, but hasn't lost any weight. She's slowed down a lot in the last few months. I've made jokes for years about her dying, not to be cruel, but she's beating the odds at this point, given the time that she lived outside. I'll be sad when it's her time, but not at all surprised. For some reason I expect that it won't be disease that takes her, we'll just find one day that she died in her sleep.

Oliver definitely needs playmates, but I've resisted more cats because I really wanted to be down to one before augmenting the pride. But then the pandemic hit, and it became obvious that Emma was in decline. We decided a long time ago that we wanted a pair, preferably brothers, because they tend to grow up as cuddle buddies. All of our cats previously came from shelters, and as bad as I feel about not doing that again, we really wanted to get ragdolls. My brother-in-law has two, and they're enormous, friendly cats. They aren't hypoallergenic, but they're potentially less sneezy because they don't have an undercoat, which apparently means less dander. That may be a minor win for Diana (yes, the Crazy Cat Lady is allergic to cats).

So there are two kittens joining the pride in a couple of weeks. They'll be neutered and ready to go. We have some ideas for names, but we really have to meet them first. Knowing we'll have to say goodbye to Emma at some point, hopefully the kittens will make the transition a little easier.