Our Lives are Run by Bad Software: Verizon Edition

My son broke his phone, front and back. Instead of fixing it, I went to a local Digital Replay store, and bought a second hand phone. We logged into the phone with his Apple account, which wanted to send a text message to confirm the login. I swapped the SIM card, and it showed up on the new phone, and we were done.

Verizon correctly detected that I replaced his phone, and “helpfully” wanted me to “confirm” it on their service. I get a text on my phone. I log in. It wants to verify me, by sending me another text to the same number that they sent the first one to. If this was supposed to be some sort of security measure, they “dun goofed” already. But this is the experience of all of our lives, at this point, and I play along.

On the web site, I now try to confirm the swap, and it asks me to “confirm” my identity again, with another text message, not 10 seconds after the last time. This time, the web site prompt includes a second code. What’s this code, you ask? I have no freaking clue. I fumble around trying to give it PIN’s and codes that I think it might be looking for, and wind up here:

Verizon Wireless’ Web Site “Experience”

Remember, Verizon, you asked for this. My son’s phone was working just fine, yet you inserted yourself into my texts, and interrupted my work to hassle me to keep your database correct, and then the process was unnavigable, even for someone with 30 years experience as a “full stack” engineer. Well done. You have to work pretty hard to make this process this frustrating.

Corporate IT “Automated Systems”

Today, I was contacted by #CorporateIT as to whether I was still using <expensive software>. I said no, and that I had tried to uninstall it, but it didn’t work. And, by the way, I’ve tried to “surrender” several other applications, so that my department is no longer billed for them, and NONE of them have worked.

So #CorporateIT guy forwards my email to <IT Director>. I’ve worked at Cummins for 10 years, and still can’t figure out the organizational structure. Anyway, he explains that their systems are great, and process 12,000 requests per month without any problems. I thank him for the considerate response, but this doesn’t change the fact that this has never worked for me, not even once.

Then I get dressed, go into the office, and try to “surrender” one VERY expensive piece of software from a machine that needs to be retired, and I get this error message. Now, I understand that these are (probably) not the same systems under the skin, but it’s the same aggravation, and I just wish that the people running these systems lived in the same IT world that the rest of us do.

Corporate IT “Support”

Suppose you have a problem on your company laptop, for which you contact #CorporateIT, using Microsoft Teams. Now, you’re already logged in as yourself, in Teams, but the first thing they always ask is to confirm that it’s… you, who is contacting them. Then they always ask whether you’re at a company site or home, and what your phone number is. Now, about 90% of everyone is working from home, and with the VPN, it wouldn’t matter anyway. Also, they have no need to call you on the phone. In the rare event they want to use voice, they’ll just use Teams!

So, given the lag of getting a person from the queue, and the normal flow of question and response, you’re about 5-10-15 minutes into the process, and you have wasted the entire time by answering three stupid questions. But if you don’t respond in about 10 seconds, you’ll be badgered with, “Are we still connected?”

After your chat, you’ll get prompted to rate support’s “help” in Teams, and then you’ll get about a dozen emails — whether or not they helped you in any way — including ANOTHER prompt to rate their helpfulness. And they are judged on this. I once rated a support tech poorly, because he was completely unhelpful, and didn’t even try to escalate the problem. He contacted me back to argue about it, and couldn’t disagree with my rating, but pleaded with me to change it, because that’s how they stay employed. I did, but I just don’t bother with the ratings any more.

Our Lives are Run by Bad Software: Discord Edition

A friend invites me to a watch a stream of him playing a game on Discord. I’m not at my computer, so I install the app on my iPad. It asks for credentials, but the login process doesn’t seem to work with 1Password. So I open 1Pass, remember the email I need to type, and copy the password.

I log in on the Discord app, and it puts me through some CAPTCHA thing, and then tells me this is a new device, that needs to be “registered” or something, and sends me an email. I click the link, and a Safari window opens… and goes nowhere. It’s gotten blocked by 1Blocker.

So I copy-paste the URL into Firefox — where I do NOT have an ad blocker, for precisely these scenarios — and it asks me to log in again. Again, 1Password is unhelpful. Again, it sends me through a CAPTCHA…

And I say to myself, you know what? I don’t care any more. I don’t want to see it now. And I close all the browser tabs and I remove Discord from my device, and I complain about it on Twitter.

I go through this ridiculous, digital dance with various services, every single day. EVERY. DAY. I’m sick of it. And I’m just going to stop using every service under the sun, just because they’re free. There’s NOTHING in Discord worth this level of “security” to me.

So, alright, Discord, keep your secrets.

Ebony and Ivory

This is actually what McCartney and Jackson were singing about. Sony and Microsoft, living in harmony.

Ebony and Ivory

I bought the Xbox because Microsoft bought Bethesda, and will be making Starfield an exclusive. According to leaks, it’s releasing in the summer. (The Elder Scrolls VI will also be exclusive, but that’s so far off, it’s not fair to talk about.) In the meantime, though, I had been wanting to play through Fallout 4 again. And I did, on my PS5. Except that I started the game with the unofficial patch, because of this, I got stuck and couldn’t finish the Nuka World DLC, which is best part. So not only was I capped at 30 FPS, I got stopped by a bug. On the X, they’ve bumped it up to 60 FPS, so I bought the GOTY edition, did NOT install the unofficial patch, and started playing.

But in looking through the Xbox store, I’ve noticed that you can install Fallout 3 and New Vegas natively on the X. I had been wanting to re-play these two for a long time, but they are basically dead on modern versions of Windows. There are lots of long write-ups for how to get them working, but I’ve tried some, and I can’t seem to do it. They’re “available” on Playstation, but only through their cloud gaming service, and that just doesn’t work well at all. It’s grainy and slow and laggy. So basically, I thought these games were lost forever. I would have thought that they would only be available on Xbox through Microsoft’s version of cloud gaming.

I just installed NV on the X, and it plays GREAT! Fully 60 FPS, and it even looks decent at 4K, which I wouldn’t have thought possible for a 13 year old game. I will probably wind up paying for both 3 and NV and all their DLC. I love Fallout so much, that these games being native on the X, alone, almost make the price worth it to me. And while I’ve waffled between buying an X versus buying a new gaming PC, this clinches it, because this just isn’t (practically) possible any more on PC.

Fallout 76

So close, and yet…

I screwed up. I’ve been wanting to play Fallout 4 again, but I’m waiting for the next-gen refresh, which is supposedly due “this year.” Fallout 76 is an MMO by Bethesda, which are the same people that do Elder Scrolls Online, which I’ve played a lot of. Even though I’ve loved the Fallout series, I had avoided it when it came out because of terrible reviews, but it was free on the PlayStation Plus collection, so I finally gave it a try.

I was up till 3 am.

Fallout 76 has a difficult time feeling like an MMO. If you run across the map in ESO, you’ll always run into a lot of people. In 76, you can go hours without running into anyone. If you look at the “social” menu on the map, there are usually less than a dozen people listed in the entire instance. That’s just not enough people playing to make it interesting as a multi-player game.

There are in-map “events” which are kind of like ESO dungeons. There are out-of-map “expeditions,” which are kind of like trials. In ESO, you have to queue and wait your turn to run a dungeon, because it’s a very popular thing to do. Half of the events on 76 expire because no one is doing them. The screenshot above shows the most people I’ve ever seen at one time on the server, still, 35 levels later.

If you look on the Steam charts, ESO has like 16K people playing all the time. FO76 has about half that. And that’s for PC. Player counts on consoles are usually about half of those numbers, for both platforms. Combined with this is how they do world/instance provisioning. However, it works out, there are usually only a dozen or so people in any particular instance of 76, compared to hundreds in ESO. (Apparently, the Xbox version has cross play with PC, so that would work better, but that — especially after Bethesda’s acquisition by Microsoft — will never come to Playstation.)

As with ESO (and probably all MMO’s) inventory management is a pain. Like ESO, the monthly subscription includes a bottomless container to hold all your resources, and that alone makes it worth the price.

It’s much simpler than ESO, as there are no classes. Fallout has seven stats, to allocate 56 skill points, and you pick perk card “skills” to go along with the stats you choose to boost. You can easily swap out different allotments of skill points and stacks of perk cards. This part seems really, really nice compared to leveling a main and managing alts for each class in ESO. (Of course, that is a critical part of ESO’s in-game economy, but I digress.)

Unfortunately, I’ve reached level 50, and I seem to have chosen an unwieldy approach. Thinking and feeling like this game was very similar to Fallout 4, I thought I was safe working up an explosive shotgun build. I even managed to “roll” an explosive legendary perk for my combat shotgun on the first try! However, it’s often painful having to close distance to make the shotgun useful. I find that I need more range. Maybe I could make another shotgun for “long” range use, but the whole thing feels really underpowered, even at point-blank range. What I’m noticing, in my admittedly-limited interactions with other people, is that almost no one at higher levels is using shotguns, and it seems that I should be taking the hint.

So now that I’ve leveled up through 50, and chosen all the shotgun-related perks, I find myself needing to spend the next 20 levels or so unlocking perk cards to switch to a different build setup, like commando, for automatic rifle perks. Or maybe rifleman, for single-shot? Or maybe heavy guns? I don’t know.

I see a lot of people in the servers running around at levels ~200-500. I watched a few minutes of a guy on Twitch at level 5025. Yes, I typed that correctly, and you read it correctly. Like, I literally can’t even. Every MMO has “bucket people,” I guess. These people have builds that kill anything in one or two shots, and it’s maddening to me.

To make any build viable for the hardest group content, you have to get really specific about stacking your perks, your legendary effects on armor and weapons, your mutations, your food, and then your chem buffs. Of course, getting the plans and legendaries and recipes and serums is where all the grind is.

I would guess that all MMO’s wind up breaking down like this. Ergo, to do the “best” content takes 1000 hours of grinding to get your build setup to be able to pull your weight doing group activities. I jumped into one event where there were 3 other people who had god-tier builds, and we lost out on the rewards within a minute because we were so overwhelmed. So it’s a bit different than ESO in how you group and do things, but it’s really… the same.

I couldn’t get into ESO’s “single player” experience because the base-game exploration quests were so boring. At least Fallout 76 is kind of Fallout 5, if you don’t get into the “end-game” content. But I think I’ve seen enough. My build is so whack, it’s taking 2-3 clips of ammo to kill random bugs in the world. The ammo situation is a joke, and this is certainly part of the reason why. But, hey, at least there’s no “light weaving” type of real-world-agility-check in the game.

Update

So it turns out that, really, there is a “light weaving” physical dexterity skill involved in the game, if you use a VATS-based build. I’m level 80 now, and I’ve maxed out all the perk cards for VATS-related skills. There’s trick to watching the critical meter fill up, and listening for the sound when it procs, and then hitting a different button to make your next attack a critical. Because the perks can make the meter randomly fill up at any time, there’s no set pattern to the timing. The best way to manage this is to… wait for it… slow down, just like in… ESO.

Sigh.

AI and the Big Five – Stratechery by Ben Thompson

Mobile ended up being dominated by two incumbents: Apple and Google. That doesn’t mean it wasn’t disruptive, though: Apple’s new UI paradigm entailed not viewing the phone as a small PC, a la Microsoft; Google’s new business model paradigm entailed not viewing phones as a direct profit center for operating system sales, but rather as a moat for their advertising business.

Source: AI and the Big Five – Stratechery by Ben Thompson

I think it’s worth noting something here. Just before this paragraph is this:

The PC was disruptive to nearly all of the existing incumbents; these relatively inexpensive and low-powered devices didn’t have nearly the capability or the profit margin of mini-computers, much less mainframes. That’s why IBM was happy to outsource both the original PC’s chip and OS to Intel and Microsoft, respectively, so that they could get a product out the door and satisfy their corporate customers; PCs got faster, though, and it was Intel and Microsoft that dominated as the market dwarfed everything that came before.

It seems to me that Microsoft was guilty of the same sin as IBM when it came to mobile. IBM viewed PC’s as tiny little mainframes. Microsoft viewed “smart” phones as tiny little PC’s.

Whenever people write like this, it nags at me, that a massive, multinational corporation’s motivations could be represented by a single viewpoint, held by a single person. But then I force myself to relax, realize that the organization’s actions really do boil down to being explained like this, and commit to the simplification for narrative purposes. So, acknowledging this… What “IBM” couldn’t “see” was that, while “limited” in relation to a mainframe, the PC was capable enough to do things that mainframes couldn’t do. I’ll never forget the Aha! moment I had in my first engineering job. “I was there, Gandalf;  3000 years ago.”

I was working for a small (80-ish people) company that made air compressors. They had just gotten bought by a huge, multinational air tool conglomerate, and the former owner had spun off a tiny portion of the tiny business to a new, separate company. As part of the new owner’s investment, the company was buying new PC’s for “the office.” Five of us got new, genuine IBM, i486DX2 66 PC’s with all the goodies, including real IBM Model M buckling-spring mechanical keyboards. They were glorious.

In an old garage, next to the main building, was a pile of “stuff” leftover from the rearrangement. In that pile, I found an internal, 4800 bps modem, and a full-length “mainframe” card, for attaching to a token ring network, and emulating a terminal. I installed both into my PC, and got my boss to let me get a Prodigy account. (And discovered Doom.) The “mainframe” card allowed me to connect to the mainframe, but I don’t (and still don’t) know anything about mainframes, so I just left it there.

Then my boss asked me to do a BOM comparison between 2 similar compressor models, and pointed me at two giant, mainframe printouts on green-barred, spoked paper, in those terrible binders with the variable-length metal straps to hold them together. They were about 2 inches thick. I started to compare the paper reports for about a minute before I had a thought…

I got the lady who ran the mainframe (an IBM System/36) to make me BOM reports for both compressor models. This apparently took an entire program to be written, and it was no wonder that mainframes were already dying by 1993, but I digress. I was able to download the reports to my PC over the “mainframe” card. Of course, these reports, being simple lines of text, were only a megabyte or so, but I had eight megabytes in my fancy new PC! So I was able to import both BOM’s into Quattro Pro, and do some spreadsheet manipulation to show the differences.

This sort of simple, quick, ad-hoc query and reporting capability, enabled by spreadsheets, has been the backbone upon which all corporate business has been run for almost 30 years. A lot of company data now lives in cloud services, which have their own query and reporting tools, but my perception is that Excel is still a core tool that the majority of people in the Fortune 1000 are using to manage their workflows. Like, you could take away literally everything else but Excel and email, and you’d be fine. It would take some adjustment, of course, but the business would carry on. That’s how critical it is.

IT managers in large corporations like to think that their multi-million dollar IT systems are special, and there’s an attitude that the company couldn’t exist without them now that they’ve been implemented. Entire kingdoms are built around them in the modern, corporate, fuedal-like system present in every Fortune 1000. However, the people running these systems don’t seem to understand that there is invariably enormous activity in the company devoted to shoring up these systems with ad-hoc tools in Excel, simply because the team responsible for the system will never have the time to implement the customizations the users need to make the system truly useful for their work. At least, if they do know it, they ignore it, and they can, because they are not held accountable for the vast quantities of technical debt and wasted work because of their compromised implementation, which stopped short of all the promises upon which the system was sold to the monarchy. The true costs were never actually presented, and now that “shortage” not only gets spent, but gets duplicated all over the company, because spreadsheets do not “scale.”

I didn’t start out to make that point, but this is why I write: to “work out my thinking,” as I state in the sub-title of this blog.

Why do I know? Because if I could sum up my 27-year career, the central theme of it would be creating applications to replace terrible, shared Excel spreadsheets with — hopefully, less terrible — web and native applications, tailor-made for the workflow the spreadsheets were supporting. I can count 13, right off the top of my head, and I’m sure I’m forgetting some of the smaller ones. I’ve spent about 21 of my years in Fortune 250’s, so maybe I have a jaded view, but my feeling is that this extrapolates through all big companies, world-wide.

This is what IBM missed. People know what they need, and will use “manual” effort to get around corporate IT lethargy. At first, it was  routing around mainframes, and their impossibly slow development times. Now it’s every large, “corporate” system, like CRM or ERP or PDM, and their impossibly slow development times. The limitation of “the mainframe” wasn’t in its hardware or its development language, it was in the system of fiefdom that is the corporate budget allocation system, and the unintended consequences it produces, specifically the unaccountability inherent in the fact that the monarchs can’t understand the technical and logistical limitations in customizing a large system, and the true costs are therefore elided in the endless budget cycle. And when an aging system is deemed fit to retire and replace, the whole cycle starts all over, with corporate IT creating a system just shy of what’s really needed, and end-users creating spreadsheets to backfill the gap.

A lot of these kinds of systems — particularly HR — have been moving to the cloud. Why? In my estimation, it’s not because they’re cheaper, even on paper. It’s because those systems are fully-formed, and include all the end-user-facing querying and reporting needed to make the system useful for every requirement. Fortune 500 companies could have made a streamlined version of, say, Workday, for their specific, internal use, but corporate IT — as a standalone, ivory tower, ultimately beholden only the the CEO, who couldn’t care less — could never figure out how to work closely enough with the user community to address all of their needs. So now, users have to put up with yet-another-end-all-be-all system, designed to address the needs of every company on earth. But! At least, once they figure out the workflow to get what they need, it’s all downhill from there. Here’s the key: at least it’s possible without Excel.

More and more workflow operations will continue to expand into cloud-based services, but it’s only possible to do this with services every company needs. This is why we’re seeing a deluge of advertising for HR apps, even on TV, each designed to hit a different company size and price point. It’s not possible to do this with, say, PDM applications, so companies like mine are going to continue to be hamstrung with a systems like Integrity/Windchill. On the one hand, it’s become an important tool which must be used to get products out the door. On the other hand, it doesn’t do a whole bunch of stuff people really need it to do with the data it already has — and it never will — so there are a whole bunch of Excel spreadsheets running loose in the company that duplicate the data, waste the manual effort, and do the things that need to be done, which IT has no knowledge of, and does not care about, because it doesn’t show up as a liability against their budget. And the situation will continue, for the foreseeable future.

Mastodon

Dark Mode

mastodon (this link opens in a new window) by mastodon (this link opens in a new window)

Your self-hosted, globally interconnected microblogging community

So I’m just now realizing that Mastodon is a Rails 6.1 application. I just looked over the Gemfile, and it includes a lot of the usual gems, notably cocoon, right at the end. I have a love/hate relationship with this particular gem.

I love how it solves the problem it addresses. It’s an ingenious solution, and a clever implementation. Also, its author is also very supportive, and has done a lot of work to document it well and answer questions, on GitHub and StackOverflow. I dislike the fact that the form markup sort-of-has-to-be so fiddly for non-trivial cases, but I accept that tradeoff for preventing round trips to the server for interactions with subforms.

What I hate is that Rails has never introduced a feature to do what this gem does. I get it, but I hate it. Really, I guess the only way to prevent a round trip is to make this sort of self-HTML-form-markup-generating code in Javascript, and Rails isn’t about Javascript. In that respect, I actually appreciate that the team has NOT tried to include this approach out of the box. I just wish there were a way to have my cake and eat it too.

Hopefully, my next app will be Rails 7, and free of jQuery, not just by default, but also on principle. Unfortunately, this means I won’t be able to use cocoon, but maybe someone will remove the jQuery requirement by then. Maybe I should do it.

Also, maybe this is finally the impetus that will get me to try Mastodon.

Why Not Mars (Idle Words)

Somehow we’ve embarked on the biggest project in history even though it has no articulable purpose, offers no benefits, and will cost taxpayers more than a good-sized war. Even the builders of the Great Pyramid at Giza could at least explain what it was for. And yet this project has sailed through an otherwise gridlocked system with the effortlessness of a Pentagon budget. Presidents of both parties now make landing on Mars an official goal of US space policy. Even billionaires who made their fortune automating labor on Earth agree that Mars must be artisanally explored by hand.

The whole thing is getting weird.

Source: Why Not Mars (Idle Words)

It is my contention that the first space program was cover for developing rockets and guidance systems to neatly deposit nuclear warheads on Russian leaders with pinpoint accuracy. Might a manned mission to Mars offer a similar Trojan Horse vehicle to develop actual “Star Wars” weaponry, in space, and on the moon? It would explain the ease of getting that funding through Congress. The deep state always gets what the deep state wants.

Regardless, this is an incredibly well-written article, and worth linking for its own sake. I mean:

Like George Lucas preparing to release another awful prequel, NASA is hoping that cool spaceships and nostalgia will be enough to keep everyone from noticing that their story makes no sense.

Don’t Get Involved with Things you Can’t Fix, and You Can’t Fix Stupid

Twenty-odd years ago, I was involved in a Product Data Management system implementation. This is just part of a much larger story, but the salient point from the epic saga is that I worked for a psychopath, and he tried hard at making my life difficult. I never figured out why. I think it was because he blamed me for something my previous boss did to his project. Anyway, we’ll get back to him later.

I was operating as a sysadmin, tasked with ingratiating the main admin from France to install an application on our servers, here in the US. At the time, corporate IT had just made it policy that no one but them could have root on machines hosted in their data center. On Unix (as opposed to Windows), I didn’t mind. That works just fine. However, the other admin had made getting root his #1 requirement. I told him of the policy. He didn’t relent. So I tried to elevate the coming train wreck with my management and everyone in corporate IT, hoping that something could be worked out before he arrived.

The guy shows up, shakes my hand, and asks me for the root password. I get on the phone with the main Unix admin. They finally relent, and allow me (because I’ve known them for 6 years by that point) to sudo to root to setup all the prerequisites.

The other admin is furious, tells us he can’t do anything until he gets root, and goes back to his hotel. Next day. Big meeting. Everyone on the phone. Group in one office, corporate IT in theirs, admin from the hotel, boss in the UK. I ask: “Michael, what specific commands do you need to run as root?” He says — get this — “You get in your car, and you turn the key, and it starts up. You don’t know how; it just works.”

In our room, we all just looked at each other in disbelief. First of all, he was talking to a bunch of mechanical engineers who happened to fall into implementing a PDM project. We all understood exactly how cars work. Second of all, everyone on the call would expect “the expert” at installing the application stack to be able to answer the question.

It was clear there was no arguing about it further, and the project had to get done so that he could shuffle off back to France, so they gave him root, and he did his thing from the hotel, and never spoke to me again.

After all the nonsense, you know what the problem was? The application server was configured to run on port 80, out of the box. That’s it! It assumed it would be running on the standard, privileged port. We could just as easily have configured it to run on port 8000, or port XYZPDQ. It didn’t matter! We had a load balancer running on port 80 in front of it. It could have been any port we wanted! Our “expert” admin couldn’t understand that, and my fearless management wouldn’t hold him accountable for such an elementary understanding of what he was doing.

In the weeks after, I realized that my boss had made me the scapegoat with upper management for the situation, because I was the one that tried to head this disaster off at the pass. Since I had sent emails, and talked about it, apparently I was the one who was causing the problem. This was just one of the many conflicts with my psychopathic boss. I had to learn a lot of hard lessons about politics over the 3 years on that project, but this one backfired in the most unexpected way.

Unfortunately, I had basically the same sort of thing happen again a few years ago. I tried to warn my management that IT was telling me something really, really stupid, and that it was going to come to a head in a spectacular way. But they couldn’t understand anything I was telling them, and trusted that IT knew better than I did. The problem is that IT didn’t want me to be working on the project. They felt they should have been the ones to “get the business” to develop it, and were actively trying to slow me down. Unfortunately, I didn’t learn what else to do in this situation except continue to try to educate the people who are looking at me like I’m crazy. Anyway, maybe I’ll blog that one 20 years from now.