Archive: July, 2022

In search of a quiet mind

posted by Jeff | Thursday, July 28, 2022, 6:45 PM | comments: 0

I've been very forthcoming about the positive effect of taking bupropion. A few weeks ago I had the pleasure of telling my doctor that she made the right choice, and that declaring its use as life changing is not hyperbole. I've felt so different this year. I'm making things again. I'm experiencing intense joy. I'm feeling.

One of the off-label uses of bupropion is to treat ADHD, since it manipulates brain chemistry in a way that is similar to amphetamines used to treat it. Having been diagnosed with that last fall, confirming years of suspicion that I've always had it, I was hopeful that the drug would have some impact there. Unfortunately, it has not. I notice my inability to concentrate quite a bit when I can't get into the hyperfocus mode that helps me follow through on things that I'm excited about. As an example of what I'm talking about, it has taken 20 minutes for me to get this far into writing this blog post. Yeah, it's like that.

What's difficult is that this noise and internally induced distraction has settled into places where it didn't exist before. Sleep is the first and most troubling place. I have to be extra tired or my brain is going through a hundred different things. And if I can get to that REM sleep, then it's repeating the same illogical thing over and over again until I finally wake up. I used to be a champion sleeper, rarely getting up for anything. I'm trying to figure out if there's chemistry at play here, because I can generally squeeze out a 20-minute power nap at will, easily falling asleep. I wonder what's different there.

I also find myself frequently landing in a state of inaction over mundane tasks. Diana will ask me a question about some unimportant thing and I tailspin into a state of "I don't want to make a decision right now." My hobby projects have suffered from this as well.

To throw gas on the fire, some things outside of my control have caused aggravation, and I'm trying to get better at not letting that sort of thing get to me. That's a very hard skill to master.

What it all comes down to is that I desperately want my mind to be quiet at times. The constant noise is exhausting, and it makes me irritable. I used to be good at this, able to lie down somewhere and just let things roll off, but now those attempts often result in heightened anxiety and a busier mind.

I wonder if we ever really figure this sort of thing out.

Them triglycerides

posted by Jeff | Tuesday, July 26, 2022, 4:00 PM | comments: 0

Got my blood work back from my annual physical, and it mostly looks awesome, except the triglycerides, still. I mean, I can't say that I'm entirely surprised given my relative inactivity in the last year, and love of tortillas, tortilla chips, rice, noodles and such. My amazing doctor is putting me on something called fenofibrate, which I'm a little apprehensive about given the mixed results I've read. Some people get weird aches and pains, but for others, they see their triglycerides go from 900+ to 150 mg/dL in a few weeks. 150 is the top of normal, mine are at 252. This despite taking a massive amount of omega-3's called Vascepa. In January I was at 192, November at 353, September 228, 350 a year ago. I don't understand why it's so completely erratic. Exercise is probably the biggest mover, but I loathe exercise for the sake of exercise, especially this time of year.

My bad cholesterol is one point high, my good cholesterol one point low, my weight is too high, but otherwise, everything is where it should be. But as I get closer to the end of my second act, I do understand that it gets harder to maintain healthy numbers. Physical health unfortunately carries some of the silly stigma and misplaced blame as mental health, in that a lot of people will basically say that if you can't get your shit together, that's your own fault. I do not care for those people. What I can say though is that my best physical health has generally coincided with my best mental health, and I'm very much in a corrective posture on the latter. As my therapist is quick to point out, self-awareness is only part of the equation. The other part is readiness to act on what you want to improve, and that can be pretty difficult. That's where I am.

But also, I like tatertots and burritos.

"Those" Disney people

posted by Jeff | Saturday, July 23, 2022, 4:15 PM | comments: 0

One of the things you notice about the Internet is that some "fans" of things hate what they're fans of. I wrote about those people last year. I don't imagine that they're very fun people to hang out with.

Our maiden voyage on the Disney Wish was booked in order of Castaway Club rank, or more specifically, number of previous sailings. I think it started with the 20+ group, which we missed by one because of Covid, putting us in the 15+ group. As best we can tell, it sold out at that level, meaning everyone on the cruise was an experienced DCL cruiser. By extension, you can infer that this group included a lot of super fans. You know, "those" Disney people that are a real hoot because they hate everything.

We definitely encountered those folks. There was a woman at the next table one morning, at breakfast, complaining to the table busser (it was the buffet) about how they did not have a juicer, and this failure was making for a really disappointing cruise. Not only did she keep complaining to the guy, but she stopped an officer and complained to him too. People like what they like, cool, but is a juicer really going to make or break your cruise? And by the way, there was a juicer in one restaurant, serving juiced fruit at lunch. We also saw her having a pretty good time in a free throw shooting contest with her family that very same day in the Hero Zone.

There were a lot of entitled, full-grown adults like that. They weren't hard to spot, especially with so few children on the cruise. They complained about a lot of things, mostly small, and it was not a good look. Then after the cruise, they all went to one of the two Facebook groups that were set up for that cruise, and complained some more. I think what makes it more gross is that it stinks of white privilege, as the cruise was mostly well-to-do white people, while the crew is international and rarely coming from wealth. I stress that this was a noisy minority, because many frequent DCL cruisers keep in touch with, and even build relationships, with crew they encounter, and it's a very respectful arrangement.

I imagine things will be back to normal next time around. Less of "those" people, more happy families.

Relationships can be exhausting

posted by Jeff | Friday, July 22, 2022, 5:31 PM | comments: 0

I never quite put it together until recently, but relationships of all kinds can be really exhausting. Naturally I tie this to autism to some degree since my diagnosis, but it was always there in front of me when I would talk to various therapists. The pattern was pretty clear, and it didn't matter if it was romantic, friendship, professional, family, work... there were always times when I needed to "recharge." That term gets used a lot by therapists, and it's hard to embrace it as something other than a character flaw. But it makes total sense.

Adding the ASD dimension to it, I think there's a lot of nuance to pile on there. Relationships of all kinds come with about million different social contracts, and if there's one commonality that's fairly consistent about the autistic, it's varying degrees of non-interest in social contracts. These are often labeled as social impairments, but are they really? Let me give a silly example. My entire life, I've found formal clothes, suits, ties, to not serve any legitimate purpose. Sure, people will talk about it in terms of status, respect and the like, but these are all arbitrary customs that have festered into "normal" without anyone really questioning them. This one is reasonably innocuous, but other arbitrary customs that have been normalized range from the severe like slavery to the truly illogical like the taboo of seeing a woman's milk dispensing anatomy. For the record, I find all of the above pointless (and outright immoral for slavery).

Now think about all of the social contracts that come with any of those relationship types I categorized. The romantic contracts aren't even the hardest ones, and if you land with someone who really gets you, they might even be the most effortless. Friendships can be pretty exhausting, which may explain why so many of the people I value the most as friends are people I generally see once or twice a year, at best. Family, man, I don't even know where to start with those, as those seem to be the root of most needs to see a therapist. I had a partner whose family love was completely predicated on the scope of the gifts you gave at Christmas and birthdays. You can imagine how well I fit in there when I'm not that interested in either of those, let alone any kind of score keeping. As an individual, I see professional relationships as straight-forward, I perform a service and you compensate me for it, but as a manager I have deep understanding of the complexities of intrinsic motivators and interactions between people to get to certain outcomes. Oddly enough, most of that comes naturally to me, but it's definitely exhausting at times. Managing up is even harder, because I've never trusted any boss, ever. I don't know if that's true for other, non-autistic managers, but it's something I should explore. But even then, I've achieved great outcomes and been dismissed because I didn't fit the social contract mold, for reasons I may never understand beyond a non-interest in hanging out socially.

Similarly, we often want to group people into neat little piles of introverts and extraverts, dismissing the possibility that ambiverts are a thing. I can be quite extraverted when the situation requires it of me, but I'm not even kidding when I say that I need a day to recover from it. Again, I can excel in these situations, but I'm quite content also to just be by myself, or with my mate, and leave it at that. I love having people over, making food and drink for them, but I need breaks. When my in-laws or extended family visit, it's great to see them, but I definitely disappear for periods of time to have a quiet moment to myself.

There's an interesting dynamic between the need for human contact and the cost of it. I don't know that this is true for everyone, but it certainly is for me. I spent my teenage and college years desperately wanting to belong and be loved. I never did quite belong, and I made peace with that, but the love did come. Those relationships have been intense, and I'm grateful for them. I don't think I could sustain a high level of engagement with even a half-dozen people though. It would be too much. I am grateful to have a partner that accepts who I am, and probably puts up with more shit than she deserves because I don't recognize the shit.

Keep this all in mind the next time you encounter someone who seems antisocial, whether it be someone you meet, work with, or even a family member. What you perceive as aloof or selfish may be completely wrong.

Simon has a phone now

posted by Jeff | Wednesday, July 20, 2022, 11:36 PM | comments: 0

Another parenting milestone: I bought my kid a phone. We're leaving him at home alone for short periods, and he's going to a big middle school with possible after school activities, so it was time.

Part of it was also timing. Diana's Pixel 4a is over two-years-old, and starting to exhibit battery degradation. Then Google had a sale on the Pixel 6 in advance of the release of the 6a, so $50 more at $500 for the premium phone. I figured we might as well get Simon something nice. It's still way cheaper than an iPhone.

The lockdown parental controls are pretty solid, and powerful since Google is the gateway to most content anyway. It has quirks though, mostly that I can't add a Google Workspace account as a secondary email (primary is a standard Gmail account) as long as it's a Family Link managed device. That's annoying and stupid. I got around it by just connecting it via IMAP after finding the setting to allow "less secure access" or something. Diana and I use these because of the custom domain names, and Simon has one as well.

We're still on Google Fi, now at $50 for the three lines, plus data at $10/gig. Before adding him, we rarely go over 1.5 gigs because WiFi is everywhere. If we needed to go unlimited, it would be $75, though strangely that doesn't include international data, which we definitely use every few months from cruising.

We went through a lot of basic rules, and I think he understands security enough to be skeptical of everything. He had his Roblox password stolen by putting it into some game promising free stuff, but fortunately we had 2FA enabled and Diana got the notification for an attempted login in Vietnam. There was quite a lecture and he felt terrible.

I imagine that driving isn't that far in the future. Yikes.

Disney Wish, maiden voyage, July 14-19, 2022

posted by Jeff | Wednesday, July 20, 2022, 7:00 PM | comments: 0

Way back in May of last year, Disney opened up reservations for the maiden voyage of the Wish, the fifth ship in the fleet. It's the first of three "Triton class" ships. Since this one was going to call Port Canaveral home, it was pretty obvious that we should try to get in on that. The catch was that Platinum Castaway Club members would get dibs, in order of number of cruises. I think the first tier was 20, then 15 the next day, and so forth. Because of Covid, our would-be 20th and 21st were cancelled, so we were at 19. Diana got in early that second day, and we got a pretty good room on deck 10 forward, near the bridge. As best we can tell, the cruise was sold-out later that day.

It was supposed to sail in early June, but due to delays in building the ship, they pushed it into mid-July. They made it half-price for our trouble, which was welcome considering the premium added for this special cruise. There was a press/invite cruise just before ours, and of course the cross-Atlantic, but it was the first regular paying customer voyage. The ship was not entirely "done," but for the most part the things on the punch list were fit-and-finish kinds of things, like signage and the occasional broken thing. One of the movie theaters wasn't ready, and the AR scavenger hunt game around the ship wasn't ready either. As Diana pointed out, having opened two phases of our local performing arts center, if you wait for it to be perfect, you'll never open. There were also some operational challenges here and there, but I wouldn't characterize anything as a big disappointment. The only real negative is that this cruise was overwhelmingly adult, and it was rumored that there were only 200-ish kids. I would buy that, as Simon did not encounter a lot of kids in the youth clubs, and the bars were the busiest I've seen in our 21 cruises. There was also some ugly entitlement from the "I've been on 20 cruises" crowd, which, neat, so has everyone else on the boat.

Since everyone was special (platinum), no one was special other than the concierge folks. That mean we had a designated boarding time, which is something we're definitely not used to. Ours wasn't until 12:30, which isn't ideal because I was going to be hangry. On the plus side, the rooms were available immediately because the ship was "dark" the day before. We could drop our carry-on bags right away and go eat when we boarded at 1.

As usual, the crew announces your arrival, and you enter the Grand Hall. Instead of the atrium with the elevators, and classic cruise ship decor, the hall is meant to be more fantastic, and was designed to be a functional space from the start. It has a stage and a balcony where characters hang out. There's a corner carved out for the show tech guy. There are fiberoptic lights in the ceiling and columns and show lights that can be hidden (the door on one was broken). The bronze statue in this one is Cinderella, with fun details behind her that I'll let you discover. The chandelier is epic. I was worried that the fantasy over classic look would be too much, but for whatever reason, it seems appropriate here. They also converted the guest services desk into the multiple "stands" now typical of the hotels, so the crew is able to engage you more personally.

The standard verandah stateroom isn't that different from what they had before, but there are important changes. It's still a split bathroom, with separate toilet and shower sides. The shower now has a glass door, and it's so much brighter. The mirrors all have the embedded lighting around the edges. There are fewer drawers, but they've been replaced with cubbies in the closet, most of which wouldn't be used by most people anyway. The fridge is a drawer, which is neat. The TV's are full-size, 40-something-inch if I had to guess. There are USB outlets everywhere, some of which are even USB-C. The wood tones are much lighter, and the part above the bed has one of a half-dozen lovely scenes from various animated movies. We found the rooms comfortable as always, though it didn't seem to get as cool at night as it did during the day.

The ship's layout is largely a clean-sheet design. The theater is still forward and accessible from decks 3 and 4, and the main pool deck and primary buffet are on 11, but most other things are different. The common areas mostly lack long, straight halls, and you weave between spaces that are centrally located or outboard. The ship feels smaller even though it's a few meters longer because of this. There are two elevator shafts instead of three, but each one has 8 very speedy elevators, for a total 16 versus 14 on the Dream and Fantasy, 12 on the Magic and Wonder. There are extra stairs in odd places, like between 3 and 4 midship on either side, between 11 and 12 near the Hero Zone and Vibe, or on the exterior promenade between 4 and 5, and an observation deck on the bow. There is not a complete walking loop without stairs or crossing through the ship, which is kind of a bummer. The kids club is on 2, and you can take a slide down to it! There is no central bar district, and I don't think it matters much. There's a two-story cabaret theater called Luna that you can enter from 4 and 5, and we ended up wandering in there quite a bit. I don't think the layout is better or worse, save for the very long hike back to Cove outside on 13 aft, it's just different.

Marceline Market is the variation on Cabanas, the buffet restaurant, and it's a mixed story. It's beautifully decorated, named after Walt's home town, and I found it to be generally comfortable, if a little crowded at the various stations. None of the food is self-serve, only the drinks. In addition to the typical stations that include main stuff, seafood, desserts and deli, there is also a station specifically for kids stuff (mac-n-cheese, chicken tenders), and one for Asian stuff (east and south), and it's tasty. The weirdness is that they had the same lunch food on the second day as the first, so I only went back for breakfast.

And that's OK, because the counter service game has been super plussed. They have the pizza, grill and the ice cream as usual, but they also have a barbecue stand with smoked meats that smells amazing even to my non-red-meat-eating self, and the cantina which has tacos, burritos and bowls. I absolutely loved the cantina, and ate there at least four times, whether I was hungry or not. I wish they kept that one open late along with the pizza.

As much as I love the beach day at Castaway Cay, the food there is still pretty terrible, or at least it is for me as someone who mostly just eats chicken as a protein. They still serve this terrible dried out chicken that's never good. For awhile they had a spicy chicken sandwich (think Wendy's) that was perfectly serviceable, but that's gone. So basically I eat two bites of dry-ass chicken, a chocolate chip cookie and a bag of chips. I don't care for the corn either, which is wet. I don't see how they could objectively look at what they serve there and not see that it sucks.

The bar scene varies, and there's a lot to choose from. The Bayou is like the open hub of the other ships' bar areas, only midship on 3, and it includes live music regularly. This area was super popular most of the time. Hyperspace Lounge is the Star Wars themed bar, and while we walked through when we boarded, we never saw the inside for service because it was reservation only and somehow booked before we boarded. It mostly looks like a less classy Skyline Lounge, with the "window" going to hyperspace on occasion. Keg & Compass has lots of beers and an adventure travel theme with fantastic decor (and some comfortable chairs), and they have a decent upcharge food menu that includes loaded tots and gigantic pretzels. We spent a lot of time there. The Rose is the fancy bar, the Meridian equivalent with the good stuff, and we also ended up there for some very great rum old fashioned rounds. There's a piano bar called Nightingale's right off the Grand Hall that's entirely too small, and we had our mixology session there. There are other, smaller venues spread out, but those are the big ones.

The dining rotation includes Arendelle, a Frozen beautifully themed room. As far as entertainment goes, it's the second best in the fleet, behind only Tiana's Place because the live music goes most of the service. A band of two with a pretty good singer does a bunch of tunes from both movies, including one of the B-sides cut from the sequel (so wish they would do "I Seek The Truth"). Oaken and Kristoff lead a sing-along to "Let It Go," which I imagine the kids would eat up if there were more kids. Olaf is an animatronic on a serving cart, and Oaken interacts with him as they move around the dining room. It's a decent little dinner show.

World of Marvel integrates a series of movie clips with the real actors from various movies, starting with Antman and the Wasp, as well as Ms. Marvel, Captain Marvel, the new Captain America and maybe others I don't remember. There are some interactive gags with a device on the table as well. I mean, Paul Rudd at dinner isn't all bad. I give them credit for doing original stuff with the film actors. Meanwhile, the third restaurant is 1923, named after the year the Walt Disney Company was founded. These are actually two restaurants, the Walt and Roy sides, accessible from the Grand Hall. They're filled with memorabilia and stuff from the various animated films. They had a killer lunch there as well, with a chicken curry I adored. All three restaurants have a signature "flight" of sorts for alcoholic beverages, and I liked the one in World of Marvel as it included a rum, gin and vodka drink. The menus are not the recycled sequence from the other ships, and that change is welcome.

As I said, Luna is the versatile space, kind of a better version of the D-Lounge, in part because of built-in bar service and better seating. We watched some shows there, including a magic show. The Walt Disney Theater might be the best looking of the fleet, though we decided to pass on the live shows as we heard they had some issues. Aladdin was cancelled entirely. Since it's our "home" ship, we'll see those shows eventually. The pool deck is tiered with six pools, all of which can be covered, and it makes for a better setup for the pirate deck party. Said party now features a fantastic live band that plays a lot of early Gen-X non-alt rock, as if to say, "We know who's really paying for these cruises." But the energy of a live band completely changes the show from a cheeseball third-rate practically lip-sync thing to an event with lots of talent, and they play the Pirates of The Caribbean theme live into the fireworks, which somehow makes it 10x better. I had planned to avoid it entirely, but we met up with some folks we had met previously, and fortunately watched it. Live music is everything.

The aquatics were spread out over a bunch of smaller pools, including an infinity pool aft in the Cove area, for adults only, that was always too full. There's a slide that adults and kids can do, though maybe because of the rash guard I was wearing, I could barely move down it (I think it needed more flow). The Aqua Mouse is the big ride, which they're calling their first "attraction at sea." It consists of a long conveyor up in a tunnel with video screens showing a sequence from a Mickey Mouse short, and sprayers hitting you now and then. Simon insists he understood the story, but I did not. Once you get to the top, it moves quickly through the forward funnel, then a series of water coaster launches and curves before returning to the station. It's over pretty fast, but it's more aggressive (in a good way) than the Aqua Duck on the other ships. Best of all, it ends where it starts, so there are no stairs to climb. Definitely has a higher capacity, too.

They brought the basketball court, table tennis and foosball inside, to a room they call the Hero Zone, and this was a very good decision. The space also has a big Incredibles-themed inflatable obstacle course setup on one day. The youth activity clubs are about the same as the other ships, with Vibe (14-18) on 12 and Edge (11-14) on 5. Simon spent a fair amount of time in Edge, where he discovered he really likes orange Fanta. He spent less time in Oceaneer's Club, in his last eligible year. Mostly he spent time with the life guards, because he did the Aqua Mouse literally about 50 times. We did not use the spa, which was heavily booked anyway.

We did get lucky and booked a mixology class, but everything else was booked almost instantly when the window opened. We met a charming family from Nebraska, and had the opportunity to chat with them a few times. Good conversation with random folks in bars, and with bartenders. Our servers were amazing. The desserts were great.

Overall, we had a fantastic time. We even got to see a SpaceX launch on our first night, after sundown, and we could even see the reentry. I heard a lot of complaining about the laminated signs, the operational quirks, the not-ready scavenger hunt game, etc., but there were a lot of entitled people on this cruise, all "experts" because they've been on 20+ voyages. Whatever suboptimal things we encountered, we politely shared the feedback and moved on. I felt generally well taken care of, as usual. They gave us a bunch of free stuff, too. including a commemorative coin, a hard-bound "making of" book (my favorite), maiden voyage totes, a combination bluetooth speaker and mug, fancy chocolates, maiden voyage lanyards and other stuff I'm forgetting. That's in addition to the T-shirts we ordered in advance, the Christmas ornament and the wooden ship for display (we have all five!). In one of the bars, we commented about how cool the stitched faux-leather Wish coasters were, and the bartender just sent us out with a stack of them. If that weren't enough, Diana participated in a fish extender gift exchange, and people gave generously. (A "fish extender" is a series of pouches you make and decorate and hang next to your door. The thing you hung it on, on the original ships, was a fish, so the name has stuck.)

While the Dream moves on to do Europe part of the year and depart from South Florida in the winter, we're certainly happy to have this shiny new, LNG-powered ship call Port Canaveral home. It will take on the Dream's 3 and 4-night Bahamas schedule, so there will certainly be long-weekend trips in our future.

Disney Wish: First pirate deck party

posted by Jeff | Monday, July 18, 2022, 12:42 PM | comments: 0

LEGO Loop Coaster sure is cool

posted by Jeff | Wednesday, July 13, 2022, 9:48 PM | comments: 0

I don't comment about every LEGO set that ends up in my hands, but I was super excited to obtain the Loop Coaster. As a roller coaster nerd, naturally I couldn't not get it, but now that I've built it, it's definitely one of the most satisfying that I've ever built. The lift system is totally brilliant. I can see building this one at least annually. I made a video about it.

Social media reduction

posted by Jeff | Tuesday, July 12, 2022, 12:07 PM | comments: 0

I think I've finally turned the corner where my social media consumption has fallen off dramatically. My engagement with Facebook and Instagram has been mostly to post stuff, since I find them useful as a diary of sorts. I haven't been scrolling much at all, and really haven't had the urge to.

A lot of this is for mental health reasons. I'm perfectly aware of the way that democracy is eroding and civil rights are being limited. I don't need constant reminders to do something about it. I also want to engage in things that are more satisfying. I've been on a maker tear for the last few months, doing videos and writing code. It's deeply satisfying to do that, so I don't even get the urge to engage in doomscrolling. The socials aren't really adding anything valuable to my life.

The biggest reason for this isn't even the steady stream of negativity, it's that the "social" aspect has cratered. The people that I care most about and want to keep in touch with over great distances are using the platforms less and less. This decline has been going on for years, but it's extra true lately. Either that, or the algorithms just prevent me from seeing what they share. For all of the negatives around these platforms, the one thing they started with that was valuable was connecting to others. It wasn't about attention whoring or influencing or whatever kind of bullshit dominates it now. It was to be connected with other humans that I know in real life. Those humans aren't using it much anymore.

It's a real dilemma, because I don't want to lose touch with those folks, but if they aren't there either, then what's the point? Unfortunately, so much of my social circle is not local, so much of my social interaction has been online for much of the last decade. If I'm not traveling or friends are traveling here, then I'm often constrained to things like theater outings and not much else. Fortunately, there are people starting to trickle back into Orlando visits.

This is one thing in technology that I can't just say, "Screw it, I'll build my own thing," the way I have with other stuff. If the people aren't there, it wouldn't matter. I can't believe the market hasn't presented a better solution.

HVAC is a constant struggle

posted by Jeff | Friday, July 8, 2022, 11:07 PM | comments: 0

Living where you have endless summer has the disadvantage that you need air conditioning about 10 months out of the year (the other two you need heat, because 60 is "cold"). Our builder, Pulte, installed cheap shitty equipment from Lennox, which had already settled a lawsuit for defective copper condenser coils that turned to mush, especially in Florida. We've already had to replace an inside evaporator coil inside the first two years, though to be fair, that one took a serious lightning hit. I don't imagine that we'll get out of this house before having to replace one of the two systems entirely.

But then there's inflicted and unnecessary harm. I happened to look at the Nest app, as I often do in the afternoon to cool off my office, as it gets to be three degrees warmer in the afternoon than the rest of the downstairs. I noticed that the upstairs unit was reporting a "no power" error, and then it disappeared. Later I noticed that the running history the last few days had been crazy, with a ton of short bursts on and off, even at 8:30 when it drops three degrees prior to bed. I thought, great, maybe the transformer is going bad, if that's a thing.

Then I remembered that the float switches worked by actually cutting the power of the whole unit, which got me to thinking about why they might trip. The condensation drain to the outside has to cleaned now and then with a little vinegar, but otherwise should do a continuous drip while running. Sure enough, when the power switched off, I went in and looked to see that the float switch at the drain pipe had enough water in it to trigger the shut off. The staccato operating pattern made sense. The switch would cut it off until enough water drained to let it come back on.

It was after midnight, but already I was thinking I probably would have to wet vac suck the crap out of the pipe, since vinegar wasn't clearing it. In the morning, after I showered, I went outside to see if they were at least dripping. But a funny thing happened... I couldn't find them. I couldn't find them because they were buried under mulch. The one from the upstairs unit was not even visible, while the top of the other one hinted with a little protruding white PVC. If that weren't enough, there was a bush growing in the narrow space between them. I'd love to find the guy in 2017 that thought planting it there was a good idea, but I let the landscaper know that the ridiculous amount of mulch burying those pipes could have been a water damage disaster if the float switch wasn't there.

So I wrestled out the bush, and in the process found two irrigation soaker hoses that were also about three inches down. The stuff immediately under the pipes had decomposed and packed into a mess of soil and clay, and while it was wet, it was very thick. It was pretty obvious why it wasn't draining, and I was surprised that the other one was. We had the house painted in November, and the mulch was three inches above the end of the paint, so this happened in the last seven-ish months. I noticed my neighbor's drains were just barely above the mulch. Surprisingly, there wasn't much to suck out of the blocked pipe, but the other one had some amazing sludge. Gross. Then I took another shower.

That's two HVAC problems already this year. I think we've earned some consistent operation. I know one of them, probably the upstairs since it's had the most problems, will need to be entirely replaced eventually, but I'd rather spend that money on a new bathroom or something that actually adds value to the house. They almost replaced the condenser coil in the heat pump after the lightning strike, but at the last moment they found a leak where a wire had rubbed through a pipe.

Home ownership is always interesting, no matter how old your house is.

Denying reality is bad, believing reality is bad is the worst

posted by Jeff | Friday, July 8, 2022, 4:53 PM | comments: 0

Talking with a foreign friend recently, she found it odd that so many Americans have resorted to believing in some kind of alternate reality. I can't explain it, and I didn't try to. But it got me to thinking... so many of the things in the reality that they despise are actually great.

Many of the core things the deniers want to believe, or their beliefs on top of that, involve a great many things that probably don't affect them one way or another, which is some of the reason that they're so frustrating. But think about how great it is that...

  • We have the technology to fend off climate change, and it represents huge economic opportunity. The last decade has been surprising with the massive decline in cost for renewable energy and exponential growth of sustainable transportation. When we bought our first EV in 2014, they accounted for less than a half-percent of sales globally. Now we're around 9%.
  • Science has been doing amazing things. Vaccines for a deadly pandemic were developed in less than a year. Rockets can land upright and be reused. We carry super computers around connected to all of the world's information (should we choose to think critically and use it). We can watch whatever TV we want, when we want, anywhere.
  • We have a long way to go, but diversity is taking hold in polite society. When I was in college, in most places you couldn't be LGBTQ and your authentic self. It still carries risk, but it's not like it was. Same sex marriage is legal. Racial bias still permeates our culture, and pretending slavery didn't happen isn't helping, but we've come a long way since the 70's. Women, in most of the world not the US, are legally equal.
  • Immigrants still fuel economic growth and broader prosperity. This has been researched to death. Some of the greatest American countries are led by immigrants.
  • Access is not equal, and the cost of healthcare is insane, but medicine is helping us be healthier and live longer than ever. We can replace body parts. Some cancers have vaccines. We can sometimes get treatment remotely without leaving the house.
  • The economy is actually pretty great. The stock market decline won't last forever (buy now!), but unemployment is insanely low and wages are up. This causes the side effect of inflation, but the fundamentals are solid.

The news isn't good lately, and there is a segment who wants to go back to some fictional time where things are better. But there's a lot of things now that are pretty great. People are energized to make it better. The reality deniers are worried that immigrants, people of color, trans people, abortion recipients, history, books and countless other things are going to make their lives worse, but none of those people or things are going to materially change their outcomes or lives in any way. They're just fearful people who look for the next bogeyman. But grounded reality is much better than that. If they think they're being left behind, that's by their choice.

I'm more resolved than ever to see to it that equality is the basis of our society. That doesn't mean we have to be communists or throw away capitalism or any of the stupid shit that some believe, it just means that you and I, regardless of our demographic descriptors, should have equal standing in our world. That hardly seems like a big ask.

Forum photo uploads

posted by Jeff | Sunday, July 3, 2022, 11:27 PM | comments: 0

A legitimate complaint about the forums for years is that you can't just upload photos into it. To be sure, that's not exactly a hard thing, since I've been uploading photos for roller coasters and into my blog for well over a decade. But as with everything in that app, I've generally been motivated by what I need or want for my sites, and I didn't really want to be hosting images. I've softened on that stance, but I am going to be annoyed if people just use it to post stupid memes instead of linking to them.

The bigger thing that has changed over the years though is that cloud stuff is easy, which is to say I can put the images in cheap storage and even serve them via a global CDN for relatively little money. It's like 2 cents per gigabyte per month, and another 8 cents for the CDN, plus the bandwidth which is free for the first 100 gigs. It just doesn't cost much.

But because it's open source and I've always wanted it to run self-contained or using the cloud goodies, I had to write code to store the images in the database, and in the storage/CDN, configurable for one or the other. I also had to write a clean-up service, to nuke the images that the user ends up deleting or not posting, and run it in the self-hosted context of the web app or in serverless functions. It has always felt icky, but the self-hosted thing surprisingly works, and I ran it that way for a very long time. It was a performance hog because things like indexing a topic for search is expensive.

The UI meant learning more about TinyMCE, the open source text editor that I reluctantly depend on. It's just not something worth trying to write myself, although the very earliest versions of the forums had this as an Internet Explorer-only function before the standards were established, and I like to think I had the first forum to embrace that. Anyway, I had to figure out how to add a button to Tiny and run my own code to do the upload. It's super seamless, because you click/touch the upload button, choose your image, and it uploads and sits in your post.

What I didn't want to do was try to figure out what the editor was doing if you happened to delete the photo before you posted, because I already resized it and stored it. I thought of a few different cumbersome ways to do that, but ended up making it more simple. When you upload, it sends back an ID that it also temporarily saves with a time stamp to the database. When you post, it sends the ID's with the post, the post processor looks at each ID from the post and deletes the temp record. The clean up processor looks at those records once an hour, and any that it finds that are older than some number of hours, it deletes the corresponding image file in storage and then that record. So I'm not storing a bunch of images that aren't actually found in any post.

The only compromise I made was using the web app to resize and store the image. It's surprisingly not that computationally expensive, but it's certainly more expensive than serving up text. Ideally I'd make this another serverless function as well, but then I have to figure out some kind of auth scheme so random shit on the Internet isn't using my free image resizer. In the web app that's easy, because I can see if the user is logged in or not. I may yet revisit this, but it would be another thing with more setup configuration.

I cranked all this out in less than 48 hours, and I spent a bunch of time just trying to figure out how I could modify Tiny through configuration only. This comes on top of the post quoting that I'm already excited about, the browser UTC time adjustments and text, client-side localization and other stuff people won't notice. Now I'm thinking about all of the UI stuff I previously contemplated. I think the activity feed will go away, and that top nav will have a person icon for the user, a clock for recent topics, then the PM and notification icons, and finally the search. Then there's no menu to responsively compress. The Q&A style forums need help, and I'm surprised at how little people understand how to use them.

The last big swing I might make is to replace the PM stuff with outright chat. That's going to be fairly easy, but I imagine I'll have to eventually follow it up with blocking and reporting tools. I also don't want to emphasize it, in part because it's a forum, but also I'm not going to do pop up windows at the bottom of the screen. I hate that UI, and it doesn't translate well to mobile.

Adopting web components and TypeScript has generally improved my client game, but only to a degree. It's somewhat easier to follow, but it's not well encapsulated since it often involves a bunch of stuff spread around the page (topic state is like this). It feels brittle and it's not unit tested. It is in some cases reactive though, and I'm happy with that considering I used no libraries. Some day I'll have to refactor it so it's less confusing.