The blog home of Jeff Putz

1,400 commits to POP Forums

posted by Jeff | Monday, November 18, 2024, 8:40 PM | comments: 0

I'm not sure if it's a particularly remarkable milestone, but I made my 1,400th commit to POP Forums since I switched to using Git over Mercurial or Subversion or whatever it was that I was using back then. That was on March 10, 2013, but my first line of code in the post-Active Server Pages days would have been in 2001. I'm not sure when exactly I moved from CodePlex to Github, but probably in 2014. This commit today was to refactor a bunch of poorly named things, and was preceded by a bug that was performing authentication on things it didn't have to. I found it totally by accident, when I noticed that photo grids on CoasterBuzz were slow to load, followed by a ton of Redis cache errors asking for the same data, about the same user. It shouldn't have been looking for those for photos. I'm still curious about why it couldn't accommodate 20 simultaneous calls for the same data, but if I understand that library right, it may make sense. I dunno, the problem is solved, so maybe I don't care about the cache thing.

This serves as a good example of how software is never really "done." At the very least, you have to update the platforms, frameworks and libraries that your stuff runs on. Some of them go away entirely, and the forums have been on three different platforms (technically runtimes, I guess). Heck, it used to be that it could only run on a Windows server, and now it runs in containers on Linux cloud resources. You have to do that updating because eventually whatever it's running on won't be supported, or even available. The frameworks tend to change, sometimes in big ways, which is why that authentication bug crept into the code base.

If you've made it this far, you probably nerd hard, but on the off chance that you're more of a business person who doesn't work in my biz, I hope this makes sense and you take it to heart. You can't just build something once and use it for the rest of time. The longer you wait to update or replace it, the harder it will be. Everyone became acutely aware of this for Y2K, but I think it's time to remind people.

My other motivations include being a performance junkie (pages rendering now in under 30ms), and trying to keep some kind of street cred among coworkers (manager credibility). It also allows me to better understand how hyperfocus works, though unfortunately it seems like it still only switches on if I really, really care about it. It's not that I didn't care about writing code at work back in the day, but the motivation and reason for engagement was different. As a manager I'm context switching constantly, which plays to ADHD strength, I think, but every once in awhile I get in front of something where my architectural advice has been requested, and that switches on the hyperfocus.

I'm gonna try and get v21 out by the end of the year, which is a little later than usual. It won't be a feature-rich release, but there's quite a bit of tuning and organization under the hood that's deeply satisfying.


Finding optimism in disappointment

posted by Jeff | Monday, November 18, 2024, 5:32 PM | comments: 0

There are a lot of times in life where we encounter extreme disappointment in people. Like, sometimes I wonder where the heroes are. There are so few people in the world that I look up to, and that's a drag. Those are the folks the I find inspiring. I'm not talking necessarily about famous people, but also folks in your community and profession. I've recently had an overwhelming bout of that disappointment, and that's not even getting into the election where we elected a racist.

To be clear, I'm not suggesting that I'm a hero to anyone, or that I haven't disappointed others. I'm sure that I have. Mind you, I don't want to. I want to enrich the lives of others, not disappoint them. There are a few people who have been very kind in telling me that I have been the opposite of disappointment to them, and for that I'm grateful. It's what makes me want to be good for the world and good for others.

Disappointment comes as a result of missed expectations. Who is setting the expectations is, I suppose, tricky, but many are typical parts of our social fabric. You expect teachers to be kind to children, you expect parents to be interested, doctors to care, bosses to be fair. Sometimes you're just enamored with how well a person does something, only to find in the long run that they're not what you expected.

I've encountered a lot of disappointment lately. It's not a good feeling. But it has also caused me to see others who are more exceptional than perhaps I realized. Obviously the spectrum of non-disappointment is huge, and it relates back to my suggestion that what gives you meaning and purpose doesn't necessarily have to be grand. A lot of small things add up. For that, I find optimism.


Your identity, at risk

posted by Jeff | Sunday, November 17, 2024, 10:15 AM | comments: 0

I think it's a reasonable generalization that people spend a lot of time trying to figure out their identity and purpose. Identity can come from a great many things, including your race, gender or ethnicity, work, relationships, hobbies, art... it's probably a long list. Intertwined with identity is purpose, and that's something that can vary in scope from remarkable to everyday typical. Together these may offer a reason to get up in the morning.

Identity can have a lot to do with pride, which is one of trickier human emotions. There are often a lot of reasons that we should be proud of who we are, but it's usually an accepted social contract that one's pride should not come at the expense of others, or be used to make others feel like they're less valuable. Perhaps an unintentional side effect of pride is that others who do not share in your pride may feel excluded. I'm not a psychologist, but my assumption is that not being comfortable in your own identity may contribute to the feeling of exclusion. Not being a part of things doesn't feel good.

On the topic of feeling excluded, I feel like I have more expertise than I'd like. I genuinely feel like I've been a fish out of water most of my life. It's not that I haven't felt safe or secure in any specific place, I just don't feel like I've been a part of any real community. My social circles have always been small, I think maybe four years of my professional career total had me feeling like a part of something, and I'm not really a part of any group. I'd be lying if I said that this never made me sad, but for the most part I understand better than ever what my capacity is for inclusion in any particular group, and I'm good with it. No one is really intentionally excluding me these days.

Being a white, heterosexual male raised Christian in a mostly middle-class family does not really put me in any deep identity category. Sometimes I envy the communities of some of my friends, though some of those communities are necessary because they're marginalized by, well, people like me. Certainly I don't seek to marginalize anyone. My coach and cheerleader tendencies are an important part of my identity, especially in a professional sense. I'm an ally to marginalized groups not because I want to be some kind of white savior, it's just morally the right thing to do. I remember reading in grade school a passage from Martin Luther King Jr.'s "Letter from a Birmingham Jail," and it has had a lasting impression on me.

I must make two honest confessions to you, my Christian and Jewish brothers. First, I must confess that over the past few years I have been gravely disappointed with the white moderate. I have almost reached the regrettable conclusion that the Negro's great stumbling block in his stride toward freedom is not the White Citizen's Counciler or the Ku Klux Klanner, but the white moderate, who is more devoted to "order" than to justice; who prefers a negative peace which is the absence of tension to a positive peace which is the presence of justice; who constantly says: "I agree with you in the goal you seek, but I cannot agree with your methods of direct action"; who paternalistically believes he can set the timetable for another man's freedom; who lives by a mythical concept of time and who constantly advises the Negro to wait for a "more convenient season." Shallow understanding from people of good will is more frustrating than absolute misunderstanding from people of ill will. Lukewarm acceptance is much more bewildering than outright rejection.

On the surface, it may seem like he's naming scapegoats here, but when you are part of a marginalized group, it's not by accident, someone is doing it. King's assertion is that the folks on the fence are the ones who can really make change possible. Their apathy only preserves the status quo, or worse, allows us to slip backward.

I don't know if people self-identify as "white moderates" these days. But there are an increasing number of Americans who appears to believe that their identity is at risk of being marginalized. Some portion of white folks are in that pool, and often it includes men of varying races. I think there are several things fueling this. The first is that we seemed to be having a reckoning of civil rights in 2020 during the pandemic. Racially motivated violence, some of it perpetrated by law enforcement, on the heels of the #metoo movement, made it loud and clear that we could not continue to allow inequality to reign. Art forms, especially Hollywood, started to recognize the value of representation in front of and behind the camera. (Mind you, this inclusion just makes more business sense.) Algorithms started to reinforce the idea that all of this desire for equality and representation would come at the expense of white people and men. Whatever identity is carried in being white and/or male was said to be threatened.

Now, it's reasonable to observe that backing anyone into a corner will activate a defensive response. And if there are people who keep telling you that you're being backed into a corner, eventually you start to believe it. It's probably obvious where I'm going with this. The election made it pretty clear that a lot of people felt backed into a corner.

The problem is that it just ain't true, but how do you convince them of that? I'm demographically part of that group, and I can assure you, whatever identity I may have rooted in being a white hetero dude is not at risk. I still have all of the advantages. But being equal with women and people of color does not reduce my standing in the world. The great irony is that there's a backlash against equity and inclusion efforts, because of this belief in a meritocracy. But those equity and inclusion efforts are specifically intended to get us to a meritocracy and ensure that it's real, not reverse the inequity.

I don't know how you fix it. So much of it is rooted in fear and mistrust of people who are different, and when you try to label it for what it is, racism, misogyny, etc., people understandably get defensive. They're backed in a corner. But this is still hate, and it only serves to further marginalize people. People are actually hurt by this. I believe that the morally correct thing to do is to put my own identity aside, understand that it is not at risk, and strive to make others my equal. If you think you're backed into a corner, I invite you to talk to people who are worried about not surviving a traffic stop, or harassed at work for being a woman, or viewed with disgust for who they love. I can empathize with anyone for feeling marginalized, but only if they can engage in the critical thinking to understand whether or not their identity and wellbeing is actually at risk. Unfortunately, that critical thinking has largely given way to beliefs that are not rooted in a shared reality.


Video games have come so far

posted by Jeff | Friday, November 15, 2024, 6:21 PM | comments: 0

I didn't realize this, but Amazon has a whole gaming thing that comes with your Prime subscription. They have games to play directly like the PC version of Game Pass, and also games via Epic and GOG. The GOG part is super cool, because it comes as redemption codes to own the games forever, and GOG doesn't even enforce DRM. So the other day, the algorithm pointed me at some article that was like, "Tomb Raider Anniversary is free!" What it really meant is that if you were a Prime member, you could get it free via GOG, which obviously I did.

Tomb Raider Anniversary is a remake of the original Tomb Raider game, from 1996, that ran on the first Sony PlayStation. I owned it, and probably everyone did at the time. It was an exciting time for gaming that included the Nintendo N64, and a year or three later, the Sega Dreamcast. But Tomb Raider set a new standard for what consoles could do. Closer to the turn of the century, when dedicated 3D hardware became a thing for PC's, the port of Tomb Raider showed what a PC might be able to do. If you were an enthusiast, you kind of got into the arms race around video cards, to the extend that you could afford it. A company called 3DFX had the best cards, but I couldn't justify the cost. I was on team Rendition, an underdog that actually had solid performance relative to the cost. Tomb Raider was one of the games you used to see how well your rig could run, along with the Quake variants and other shooters. A company called Nvidia also surfaced around that time, and I think you know how that ended.

By the mid-aughts, I mostly got away from PC gaming, since Xbox, PS2/3 and Nintendo Wii came to be. Then with development being better on Macs, I got away from PC's in the general sense. In 2019, I built my first computer in well over a decade, with a high-mid-range video card, and was amazed to play Planet Coaster in 4K at 60 frames per second. Late 2023 I bought the handheld Legion Go, and just last month I bought a PC tower with a ridiculous video card (probably the last time it'll be necessary to buy a huge, water-cooled PC). The distraction and joy to play PC games has been excellent, and well-timed.

Tonight I started up that original, remastered Tomb Raider, and despite the silly modeling of Lara Croft, mostly fixed in the more recent Crystal Dynamix reboot, that quality of the play is actually solid. Sure, there's still weird camera movement at times, and the combat isn't super interesting, but I really appreciate how much this game elevated video games as an art form. In a world with Fallout and Starfield, my expectations for this old game were low, but it's pretty good, even with the (relatively) lower quality of graphics. What's changed the most is scope, certainly. The worlds are now much bigger, and it's possible to mix main line story arcs with countless side quests and potential for explanation. That's why many of these games command budgets larger than a Marvel movie.


Code rot is setting in

posted by Jeff | Thursday, November 14, 2024, 9:58 PM | comments: 0

I finally got around to getting package updates and some refactoring I've been meaning to do, and it was harder than it had to be. The refactor was messing with code I wrote possibly as long as 20 years ago. I had it in my head, long before I would actually run stuff in the cloud, that I would need to figure out how to cache bust settings when they changed across nodes. This is a solved problem in a general sense, but the settings were different because I store them as a bunch of rows of key-value pairs, all text. So to load them, after they're fetched from the database (or cache), the code has to cycle through them all and convert them to integers or booleans or whatever as necessary. I obviously don't want to do that on every settings call, which happens a lot. I was also doing singletons wrong, from before dependency injection was ever really on my radar. Yeah, this stuff was ancient.

The other thing is that .Net v9 was just released, so I'm trying to update the many packages and such for that. It's not going super well. As usual, the Azure Functions project, which does background stuff like reindex topics for search, is broken as hell. For some reason it won't map all of the dependencies. There's no obvious reason. All of the tooling around functions has been substandard for years, and it's frustrating. But when it's running, it's great because it runs tens of thousands of times a month for a few pennies, not bogging down the web app.

It's just a lot to change at once, and I should know better letting it rot for so long. On the positive side, all of my build and deploy pipelines are working like a champ. That saves so much time.


Everything you've learned is wrong

posted by Jeff | Thursday, November 14, 2024, 9:55 AM | comments: 0

Life teaches us a great many things.

I would imagine that one of the earliest things I had to learn was that we shouldn't lie. There's no context really when you're not even in school yet, but we grow up to understand that lying creates mistrust and reflects poorly on us. Related, we learn to be faithful to our partners, or at the very least, honest with them. We learn that we should honor those who serve our country. We learn that we should respect experts, like doctors, scientists, lawyers, because they spend more time in school than most of us, and they have to commit to a lifetime of learning. We learn that racism is particularly heinous, though many of us have to arrive there ourselves when it isn't taught by our elders. Hopefully we learn to be charitable and kind to others. We learn to offer grace and dignity to people who are less able-bodied than us. We learn that there are consequences for violating the law.

These are just some of the basic social contracts that we adhere to as moral Americans.

And if you voted for Trump, you're saying that none of those things actually matter. In fact, being the opposite of all of those things qualifies you to be president. How do you explain that to a child?


You are hurting people that I care about

posted by Jeff | Friday, November 8, 2024, 12:30 PM | comments: 0

I recall a lot of feelings eight years ago about the cognitive disconnect between character, morals and reflective honesty among people who voted for Trump. We had the racism, misogyny, xenophobia and such then, but now we also have the felonies, enlisted people who are "suckers and losers," being held liable for sexual assault and libel, leading an insurrection, desire to be a dictator, wanting to "suspend" the Constitution, being pals with our enemies, etc. As much as I'd love people to look me in the eye and explain how they justify it (I think you already know that they can't), there's a more fundamental problem that's even more personal.

I can be honest, as a hetero white guy who can afford things, I am not in significant cultural or economic danger. The thing that keeps me up at night is the people that I care about. Half of them are women, but they're also immigrants, people of color, non-Christians, LGBTQ, children. They're coworkers, friends, friends of my son, neighbors, people in communities that I'm a part of. They've all been victims of increasing levels of targeted hate speech that has been getting worse all year. This week it has spiked to astronomical levels, as Black people via text and on Twitter are getting "@s" telling them to report to plantations. Jews, Asians and Latinos are being threatened and told to leave the country, and I saw an actual tweet from a guy who said, "I can fuck whoever I want and get away with it."

Had the election gone the other way, the MAGA folks would exist in the next four years as they did the last four years, which is to say better off on average. Every real statistic validates this. Instead, regardless of what policy may actually occur, the people that I care about will face real danger, discrimination and quality of life issues. It's already happening.

So look me in the eye, without hate, and explain to me why you don't care if people that are important to me will be hurt. Explain to my kid why that queer friend at school shouldn't be scared.


I can't explain America to my child

posted by Jeff | Wednesday, November 6, 2024, 10:54 AM | comments: 0

It's hardly a secret that Simon is a little different. We have that in common. We have both had to deal with bullies, had difficulty finding "our" people, and we've watched people in our social circles become casualties of a world that fears different. Before he left for school this morning, I woke to hear him saying, "How can Trump win?" He's seen enough of the guy on TV to understand how hateful he is. Kids can see it pretty obviously.

But I can't answer his question. I can't explain it. For me at least, it's the classic unreconcilable autism moment. I can't explain a world that rejects critical thinking, science, expertise, civil discourse, equality and the law. American sentiment toward its government, at a time when almost every objective measurement shows things moving in the right direction, overwhelmingly rejects that measurement. And while Harris could certainly be faulted for a great many things, it doesn't change the fact that right and wrong exist. It is the difference between a felon and a prosecutor, literally.

As I've contemplated some kind of explainer, more and more, I'm having to accept a reality that I've been rejecting myself for more than a decade. The United States is a racist and misogynistic country. Trump is, objectively, and by definition, a racist and misogynist. The problem is that half of America doesn't care. Over and over again, it has marginalized its own people. It started with Black people and women. Then it was immigrants from Ireland, Italy and Greece. Then it doubled down on classic racism. Then it was Asians, east and south, the Middle Eastern folks, Jews, Muslims, and more than ever Latinos, despite being a significant portion of the population. And of course, LGBTQ folks have been bearing the brunt of hate for all of American history.

I still, probably naively, hang on to some kind of hope. Like a lot of people, I'm sure that art is where I root that. In the TV show The Newsroom, Sorkin writes a monologue for the lead where he explains how not awesome we actually are:

Just in case you accidentally wander into a voting booth one day, there are some things you should know, and one of them is there is absolutely no evidence to support the statement that we’re the greatest country in the world. We’re seventh in literacy, 27th in math, 22nd in science, 49th in life expectancy, 178th in infant mortality, third in median household income, number four in labor force, and number four in exports. We lead the world in only three categories: Number of incarcerated citizens per capita, number of adults who believe angels are real, and defense spending where we spend more than the next 26 countries combined, 25 of whom are allies. Now, none of this is the fault of a 20-year- old college student, but you nonetheless are without a doubt a member of the worst period generation period ever period. So when you ask what makes us the greatest country in the world, I don’t know what the fuck you’re talking about. Yosemite?

But with that, he pivots:

We sure used to be. We stood up for what was right. We fought for moral reasons. We passed laws, struck down laws for moral reasons. We waged wars on poverty, not poor people. We sacrificed. We cared about our neighbors. We put our money where our mouths were and we never beat our chest. We built great big things, made ungodly technological advances, explored the universe, cured diseases, and we cultivated the world’s greatest artists and the world’s greatest economy. We reached for the stars, acted like men. We aspired to intelligence. We didn’t belittle it. It didn’t make us feel inferior. We didn’t identify ourselves by who we voted for in the last election and we didn’t–we didn’t scare so easy. Huh. Ahem, we were able to be all these things and do all these things because we were informed. By great men, men who were revered. The first step in solving any problem is recognizing there is one. America is not the greatest country in the world anymore.

I'm willing to admit there's a problem. It's all I've got. It makes me incredibly sad, because it doesn't have to be this way. We're being tested, and at a point in my life where I'm so tired of the test. People that I care about are going to get hurt. The people who want to hurt them have been empowered. It's not a good time to be different.


Remote people in person

posted by Jeff | Tuesday, October 29, 2024, 11:09 AM | comments: 0

I haven't written anything in awhile, in part because I spent last week in Denver for work. Then I was/am sick, so I've mostly been on my back watching TV. Oh, and some asshole scraped up my car in the MCO parking garage.

This is the second time that I've met work folks in real life. The first time was August of last year, and it was just my peer leaders in engineering and product. This time it was all of those folks plus the developers, so about 60 people. After almost three years, I finally shared a room with my team. That's hard to believe. Our new CEO would like us to gather at least twice a year, which I think is pretty great.

I love remote work, and I would prefer to avoid ever going back to a physical office several days a week. Commuting is such a time suck, and frankly a little dangerous when you consider other drivers. My productivity is undeniably higher when I work from home, because without the commute and better boundary setting, I work more. I'm much better at the latter than I used to be.

Still, I do enjoy human connection. Yes, it can be exhausting (because ASD), but it does feel good to make those connections. All of the Amazon nonsense about having to colocate to collaborate is, uh, nonsense, but it is true that it's harder to develop personal connections with people remotely. As it turns out, this is easy to solve by gathering a few times a year. No need to pack people into offices. This time, I had my team together for three meals outside of the larger group, which was really good for us. We all really like Indian food, we learned.

There were a lot of great side conversations about a great many things, especially late one night when we ended up in some bar. There was the expected complaining about usual things, an autism connection, parenting stories and even some talk about music. I watched a coworker do their best to speak Spanish to our Uber driver. I learned my boss is a hyper competitive go-kart driver.

It was a long week, but a good thing. Leaders are going back again in January, and we'll get face time with the execs, which will also be a first.


"An undercurrent of injustice"

posted by Jeff | Saturday, October 19, 2024, 2:17 PM | comments: 0

We as Americans tend to believe that our nation is the center of the world in terms of opportunity. In many ways, that may be the case, but it's a little silly to believe that other places on the globe don't also have opportunities. The algorithm landed me on an article today about Americans living and working in Europe, because a lot of skills that are in demand here are in demand there as well. As some of these folks described their experiences, there was one quote that really stood out to me. A guy who moved to Norway to work as a software engineer said that one of the biggest differences there was that he rarely sensed "an undercurrent of injustice" the way that he did in the US.

That sure did hit for me. I'm pretty sure that I've felt that "undercurrent" my whole life. I also understand, in plain terms, that the only reason it's an undercurrent and not at the forefront of my existence is because I'm a white, hetero, male raised in Christian circles. For those not in my demographic, I'm sure the injustice is something that you deal with on a daily basis. I believe that this is a contradiction that Americans have been living in since the nation was founded, as the idea that slavery would be a thing in the face of declaring independence and freedom is, to put it mildly, mental gymnastics of the worst kind. Our nation may have been founded as a great experiment in democracy, but others have long since taken the concept and done a better job than us.

The undercurrent feels particularly vivid for me in the last decade and change. We seem too scared to admit that institutional bias is still racism and misogyny. Statistics, facts, describe how we have two different systems of justice and representation. There have been all of these laws in recent years that limit freedom, whether it be women's health, the right to vote or the right to learn. We've certainly come a long way, but it feels like we're regressing, and not even at the hands of a majority.

But this dude in Norway says that he doesn't sense any of that in his new home, and it puts his mind at ease. He's not always in a fight for what is right. I imagine that it also doesn't hurt that he doesn't have to worry about healthcare.

I have a difficult time reconciling the American climate. A very loud minority insists they need to "take back" "their" country, from what or whom I don't really know. They don't have exclusive rights to the nation. I think "they" are people of color, gay and trans folks, non-Christians, or literally anyone who advocates for people not getting a fair shake. The hard part is that it's a group of people who blame the "they" for all of their problems and grievances, that it's the people in my demographic who are disadvantaged. People have challenges, I get that, and I don't discount that feeling. But to suggest it's the people not like them that are the cause? No, the data doesn't bare that out, and if the facts don't work, what you're left with is hateful people.

People in my demographic have for years have often made moral equivalence arguments, that there are just two "sides" that are equally bad. This fundamentally mischaracterizes the problem. The recent backlash to diversity, equity and inclusion doesn't get the point of DEI in the first place. While the noisy right-leaning faction insists that fairness is levied only in equality, those advocating for everyone (and DEI itself) is an effort to make sure that fairness is actually achieved. It does not seek to create an advantage for the non-white, non-straight, non-Christian, non-male people. It seeks to make sure that the equality actually happens. The right-leaning faction doesn't want that, they want to be in charge and suppress folks not like them. These are not two sides of the same coin.

What do we do about it? I admit that I though when we elected a Black president and made same-sex marriage legal, we were on the right path. Somehow, these events only empowered and emboldened the hate and fear mongers, and we some how gave them power in government. I don't get it. There was a time when saying racist things in public was social, professional and political suicide. Now it isn't. The undercurrent is turning into 20-foot surface waves.


What if I went further down the lighting software rabbit hole?

posted by Jeff | Monday, October 14, 2024, 3:00 PM | comments: 0

My Code Camp talk about writing software for lighting is something that I've never really stopped thinking about. I'm starting to get more confident programming the MA3 console by coming up with various scenarios and trying to make what's in my head happen in real life. But "programming" lights is different from "coding" software that tells lights what to do. So when I'm setting up an effect or a series of cues, I'm thinking a lot about how that must be coded under all of that UI. The funny thing is that it routinely feels like the UI concepts were conceived by an object-oriented programmer, which makes me feel like there's a better UI approach that just hasn't been thought of.

I did some digging on the standards used for fixture definitions and such, and they're pretty straight forward, and easy to model in code because they have XSD's describing the schema. The thing that I keep coming back to is that this isn't nearly as hard as it looks, in terms of the engine and data structure to make things go. So it does come back to UI. There have been some attempts at this outside of the big names (MA, ETC, ChamSys, etc.), and they're all pretty bad. I am also not much of a designer, so I don't know that I could do better. The biggest thing is that the good stuff includes visualizers, taking into account how a show would actually look, as well as different approaches to adjusting curves and such to make effects go. The latter is really clumsy, in all of the things.

Still, if I were serious about this, I could get to a solid prototype to only do straight up theatrical style cue lists. In other words, an all-digital version of what boards did 20 years ago if they had internal memory. Well, except that it could control way more than dimmers. Also, I can't get off the idea of it being browser-based, so you could operate it from anything on the network with a browser.

If I could get that far along, then I could go further and think about effects and such. Is it a product? I dunno. It would have to be awfully compelling for anyone to buy it. The thing is, the MA consoles are literally made by hand in Germany (likely why the big ones cost $80k). I assume ETC makes theirs in the US, probably close to by hand. ChamSys is UK-based. There are lots of terrible knock-offs and even illegal clones made in China, which is unfortunate. But what about something well crafted that you can access from your iPad or laptop? (Technically, you can do this with the other products, but then you've spent all of that money on those products.) I dunno, thinking out loud. I need a project that I'm genuinely interested in.


Where are my advocates?

posted by Jeff | Monday, October 14, 2024, 1:30 PM | comments: 0

If there's one thing that being a parent has taught me, it's the importance of being an advocate for your kid. I don't mean that in the helicopter bubble-wrap sense of advocacy, but more in the realm of enabling your child and making sure that they understand (even when they "hate" you) that you've got their back. Certainly this isn't new information, because I saw it all of the time as a coach. That, and I got very "Papa Bear" when it came to looking out for "my" kids. This was probably multiplied by the unevenness with which girls athletics were given attention at the time. I have always been an advocate for groups of people who are not treated fairly or kindly.

Looking at this role of advocacy as an adult, I've understood for some time that my life has been largely absent of advocates. Years of therapy have put me mostly at peace with this, but sometimes I get reminders about it, and it makes me sad. The feelings are not along the lines of, "Why am I not valuable enough?" probably because I'm not transactional in my human interaction, and maybe because of autism. What I do feel is a sometimes overwhelming sense of disappointment. It's not usually healthy to compare your life to others, but when I see the typical kinds of advocacy that others have received, the disappointment runs high.

When I was in high school, our athletic director got me involved in a bunch of support roles for athletics, even though I could barely pick up a ball at the time. That saved my entire high school experience from being awful. I wish I could find a way to contact her and thank her. A guy who worked for the city cable TV office saw my interest in TV production and I credit him with wanting to go to college and start a career in the field. I didn't live with my dad, but he showed up to some of my school activities, and helped me sort out college.

Professionally, my first radio boss coached me into being a better "air personality," which, with the self-awareness I have now about myself at the time, had to be challenging. When I flipped to local government TV, I had no one looking out for me. Somehow folks were surprised when I moved on from that after three years. I had one boss in my transition to software that advocated for me, and I'm not even sure if the transition could have happened were it not for him. In the 20 years that followed, I haven't had any professional advocates that I've worked directly with.

In fact, I've had mostly the opposite. I had one boss that desperately wanted me to conform to his idea of technical leadership, which I found ineffective and slow, relative to my ability to deliver. Instead of leveraging my experience, he leaned on his own, which involved only one job ever. In another job, I had several leaders that insisted we take on a project that I insisted was unnecessary and high risk. They committed support for this, but turned on me when it didn't go well, much as I predicted. It wasn't until the last few years where I had a leader that genuinely advocated for me, but then he went to another job.

My greatest advocate ever is Diana. We disagree on things sometimes, but at the end of the day, she's my biggest cheerleader. (And to be fair, my closest romantic relationships have largely functioned this way as well.) Seeing her advocacy for me and everything and everyone that she cares about defines a model for how it should be. That probably makes the disappointment of not finding it elsewhere worse.

There is a positive outcome to this. It's made me realize how important it is that I look out for Simon and be his advocate. I feel like I often fall short of this, and have to do the "tough love" thing, but he's said things recently that imply he does in fact look up to me and, in the long run, we'll have a good relationship. I also feel like I'm more committed to the people who report to me, and it's vitally important that they feel respected, valued and appreciated. I probably don't remind them enough that I am thrilled with their outcomes.

Sometimes experiencing anti-patterns leads you to learn the right things.


Midlife... "noncontentness"

posted by Jeff | Friday, October 11, 2024, 5:36 PM | comments: 0

For as long as I can remember, people have made jokes about the classic midlife crisis. In psychology, it seems to be controversial about whether or not it actually exists, because sometimes people just do wacky stuff because of some other reason. It's not because they are a certain age and aware of their mortality, which is the definition most settle on. But real or not, there's no debating that some of us go through a period of time where we feel like we just can't be... content. I decided some years ago that being "happy" was not the same as being "content." The former implies some kind of constant euphoria, which is not a sustainable human condition. The latter, however, describes a state where you can stop and look around, and things are more OK than not. It's the contentment that I'm after.

A friend of mine texted me today about this very subject. Much of his "noncontentness" is rooted in some professional chaos, and he's moved to a different state and tried to find some way to decouple his career from his identity. I can deeply relate to this, but it's a hard thing to do. And while we both understand that our feelings are not at all rational, they're very hard to change. We keep looking for the thing that we pass that allows us to be content, and we don't know what it is.

We don't think the stereotypical behaviors are a risk, you know, the hookers and blow and Porsches. Actually, we're both very satisfied in our marriages. (We both may have punched above our weight class, we concede.) The actual behaviors are more about a general malaise and difficulty engaging with stuff. I don't want to confuse that with depression, because I know what that is. When I was depressed, I didn't feel joy, or really any deep emotion. Bupropion has largely fixed that. I just can't be at ease. It always feels like there's something that I'm trying to outrun or fix, which makes it awfully hard to be in the moment.

It isn't death itself, because I understand how relatively unimportant I am in the grand scheme of the universe. It has been around for billions of years, and will be around for billions more. But what I do between now and my end does matter, which is illogical if I understand my place in history. We humans are so desperate to find meaning. And even if we conclude that there ultimately is no meaning, my naive self believes that our time is best spent trying to make things a little better anyway, even if it's just for our offspring (or anyone who outlasts us).

But wisdom suggests that while individuals can make good decisions, groups of people do not. We still have war and famine, when we don't have to. So this brings you back around to what it is that each of us needs to feel content, and the impact that time has on that pursuit. Almost counterintuitively, I think that routine is the enemy of feeling content, and I say that as someone who routinely feels like retracting into my own little bubble. But I know that my most content times were moving to Seattle and Orlando, when I was in Europe, when I'm on a cruise, when I was making things... anything that feels different, even if it's uncomfortable. (Sounds like getting a tattoo.)

What definitely feels better is to hear from someone saying they're going through something similar. I wish people were more open about this sort of thing.


Hurricane Milton

posted by Jeff | Friday, October 11, 2024, 4:00 PM | comments: 0

Another storm in the books, and it went a lot like the other two that we've had to deal with here in the Orlando area. There was some variability in the predictions as far as wind speed goes, but it was in the slot that is typical for a so-called "direct hit." Measured wind speed at the airport peaked at 46 mph, gusting to 74. If you look back through the various storms that have swept through here in the last several decades, it's about what is expected relative to our position in the middle of the state. Hurricanes don't do well over land. Comparing to the previous storms, many of the same areas saw flooding, and older structures were damaged. Things could in theory be worse, but the most probable outcome is what we got each time. Ian was about the same, while Irma had slightly higher sustained winds.

Don't get me wrong, that constant sound is terrifying, and it feels like it keeps getting louder. But we didn't have any damage, just a tree in our back yard leaning a bit. We had zero water intrusion, not that we were doing anything specific to help it. The door seals, including those on the garage, are pretty effective. We did lose power for about a half-day, which is a first in our 11 years living down here. The Internet died an hour or two later when the cable company's battery backup died. We were able to keep lights on and food cold with our battery, which feeds all of the non-high-voltage stuff. That means no AC, water heater or stove, but we have propane backups to cook with. In our immediate area, it was the usual debris and standing water all over the place, and some larger, older trees down. New neighborhoods with new construction show just how important the revised 2002 building code is, and frankly the water management is much better as well. Our "dry" retention pond was not dry this time, for example.

Obviously other parts of the state didn't do as well. Tornadoes were spawned, almost two dozen, on the front-right side of the storm, which happened to be South Florida this time. Storm surge was expected to be much bigger than it was, especially in Tampa, but that came down to a "wobble" in the storm's eye replacement cycle 12 hours out of landfall, and weakening from a front coming from the north. The surge was still pretty bad further south, including down in Punta Gorda, where my in-laws live. They narrowly avoided surge, and lost some shingles, but otherwise things look OK. They evacuated to our house for a few days.

Even though logically I know and understand what the outcomes are likely to be, it's still a lot for your brain to deal with. What doesn't help is the way that the entire TV weather apparatus handles it. I'm not sure if it's that they don't understand the prediction science, or don't care, as long as people are watching them. The Internet, like everything stupid, amplifies the noise. Much was made about the fact that it was a category 5 storm at one point over the gulf, but that's virtually meaningless in terms of outcomes for where we live. It would have to be the worst 1 in 1,000 scenario for wind to get much higher than it was here. The legitimate concerns are about flooding, tornadoes in that front-right quadrant and stuff flying around or down power lines. That's never the focus inland, when it should be. It annoys me.

So that's three storms for us in our Orange County tenure. The center of each passed around what I would guess was 20 to 30 miles from us, though that matters less since it has less of the concentrated energy over land compared to water. Hopefully we're done for the season, but that's even harder to predict.


Getting my redundancy right in Azure

posted by Jeff | Tuesday, October 8, 2024, 2:30 PM | comments: 0

Last year I outlined the costs to keep the sites on the air. Things have changed a little for various reasons, and I've learned some things.

First off, the hosted forums are still running, remarkably, on a pair of B1 app service instances, for $24 a month total. That's nuts. Even though the ad revenue tends to be less, the PointBuzz forums run on that platform and tend to have more views. It's surprising because there are only 1.75 gigs of memory. Granted, this is the only thing running on that service. But it's deeply satisfying to see it. The lesser virtual CPU time does mean somewhat slower response times though, averaging around 100ms. That's certainly not bad, but I really like to see sub-50.

The other service has 14 sites running on it, including this blog, some placeholders, my music locker, the non-forum part of PointBuzz and all of CoasterBuzz. It was running on a pair of B2 instances, which includes 3.5 gigs of memory, and it was pretty regularly maxing those out. While not instant, the platform mostly replaced the broken instances, but users would still see some temporary slowness. Sometimes I'd get text alerts too, which is annoying. I did my best to optimize all of the code that streams images from the database, worried that was part of the issue, and did the same on the music locker. It didn't make much of a difference.

What I did notice is that in moments of instability, I'd scale it up to P0V3 instances, and the total memory would just sit completely level and predictable. Odd. I realize that the basic tiers, as described by Microsoft, aren't meant for "production loads," but relatively speaking, the sites aren't particularly heavy loads. P0V3 does have a full 4 gigs of memory, but I don't think half-gig would make that big of a difference. But still, the data was indisputable in terms of stability. See the graph below. Each line is memory usage by an instance. So erratic! Then, mid-Monday, you can see it levels off, and the two instances sit right in the 83% zone and don't move.

I don't know the reason for this. I would assume that something is configured differently in the basic instances compared to the newer v3 "premium" tier. Sure, they turn some features off, but I would think the basic container running infrastructure would be more or less the same. Again, the hosted forums have a similarly smooth usage pattern.

I sucked it up and subscribed for a year on the premium, which will cost about $16 more a month. It's not like I'm making money anyway, so might as well just be happy with the performance.


A hurricane guide for our distant friends

posted by Jeff | Sunday, October 6, 2024, 4:15 PM | comments: 0

Every time there's a hurricane in the neighborhood of Florida, friends check-in and express concern, which is appreciated. But aside from the fact that Florida is a huge state, it is not affected by weather in the same way from one end to the other. Specifically, living on the western edge of Orange County, we are about 60 miles from the Atlantic coast, and about 65 miles from the Gulf of Mexico. As you probably know, hurricanes don't persist very well over land.

The big storms are serious, so I don't want to trivialize them. But for reasons I'll explain, they are often more of an inconvenience than anything else where we live. This doesn't mean that they aren't stressful or have potential for damage, it's just that it's more in a zone of acceptable risk. The Saffir-Simpson scale, the categories, are in some ways kind of useless for us, because it only describes wind speed. Sure, strong winds can rip the roof off of a building that isn't built to more modern standards, but water is often the bigger problem. Storm surge, which is the process of sucking water off shore, and then pushing it back on shore at high levels, is the thing doing the most coastal damage. Also, inland areas prone to flooding are at risk when the storms dump a lot of rain quickly. The front right quadrant of the storm is also prone to spawning tornados, which as any Midwesterner knows can flatten an entire town. And anywhere, flying debris can pose a danger.

When Walt decided to build the theme parks, one of the reasons that he did it here, cheap land aside, is that the inland position is less of a concern compared to the coasts. And no, they don't disassemble Cinderella Castle in a storm. Hurricanes weaken over land, because they can't suck up energy from the warm water found in the ocean and gulf. Here in the OC, while there are anecdotal measurements of one-minute wind speed in excess of 150 mph, sustained wind at worst usually tops out in the 50's, maybe low 60's. Gusts can go higher. Charlie, in 2004, sustained winds in excess of 80 mph in Orlando, which as best I can tell is the worst that is has been.

The building code, revised in 2002, has a map that indicates what you have to build for to guard against flying debris, relative to 3-second sustained gusts, which are expected to be the maximums reached once in 700 years. We're in the area that requires building for 130 mph winds. Our house was built in 2017, and it was interesting to see all of the things they do differently here. The lower floor is concrete block for the outer walls, and the upper framing and roof is tied down through those walls to the foundation. There are different kinds of brackets and things securing the roof, and in our case, you could see where it was connected closer to the center of the house, through the interior walls. I don't know all of the engineering specifics, but it's fascinating.

We're not in a flood rated area. The nearest pond is about six feet below our foundation, and the lake three blocks away is probably 10 feet below us. Water has a lot of places to go before it could get into our house. There are building tweaks for blown water, too, in that the foundation has a lip that's two inches lower than the floor, where the blocks sit. That's because the blocks are porous, and as we learned at our previous house, water can blow in under them, at the end of the stucco layer.

All this to say, we don't evacuate from the middle of the state, but people from the coasts do come here. The noise gets intense around the house for a few hours, and then it's over. We bring in the patio furniture and wait it out. We've never lost power, probably because we have a battery that never gets used. If we did lose it, the solar and battery could power the house indefinitely, except for the 240V stuff like the AC, water heater and stove. We have propane as a backup for the grill and a camp burner. But we should have refrigeration, lights and Internet. People hoard gas and stuff, which I find odd because supply chain disruptions to the area are brief, if at all. That, and where are you going to drive to?

Irma's center passed about 20 miles west of us in 2017, coming from the south, and Ian passed about 20 miles south of us in 2022, coming from the west. People get hung up on the eye of the storm, but remember that it generally doesn't stay well formed over land. Yes, the eye wall has the fastest wind over water, but it's not even well defined over land. So when you see those "cone of uncertainty" maps and the line goes right over our house, it doesn't matter for us the way that it would for someone on the coast.

I wouldn't describe any of it as fun, but you just avoid the TV hyperbole and watch the NHC's forecast updates every six hours. We don't have the same risk profile, and history of damage, that the coasts do. The variability of the forecasts can be wild, too, up until the last 24 hours. For example, last night, Milton was expected to bring us wind up in the 50+ mph range. As of now, the models all say mid-30's, which is frankly no worse than a really long thunderstorm. But tomorrow the forecast could call for something worse. Or less.

We appreciate your concern, but it's better directed toward the coastal areas, for sure. If you want to make donations, local organizations in affected areas can probably help the most, and I imagine the American Red Cross is also a safe bet.


Review: Lenovo Legion Tower 7i Gen 8 (Windows PC)

posted by Jeff | Sunday, October 6, 2024, 3:02 PM | comments: 0

About five years ago, I built my own PC, for the first time in at least 15 years, having used Macs in the interim. Last year I went back to a Mac Mini on the desk, and then recently decided to go back to Windows for reasons I wrote about yesterday. Building a computer is definitely satisfying, though the idea that these machines still require big bulky rectangles is a little weird. This time around, I didn't really want to build, provided there were solid options using fairly conventional parts. Lenovo seemed to get solid reviews for their gaming computers in that sense, though the wisdom of the Internet said don't buy anything that isn't well discounted. And so the algorithm pointed me at this monster.

The Mac Mini was $1,600 early last year, which is pretty steep, though the exact same model is now $1,300. When I priced stuff out last year, I probably would have had to spend well over $2,000 for a PC that met my needs. I misjudged the Mac situation, but you can read that prior post for that. What I landed on from Lenovo was a configuration that included an Intel i9-14900KF CPU, the current top of the line in the Core series, and an RTX 4080 Super GPU, the second-best from Nvidia's consumer line. The GPU right now is generally going for around $1,100 by itself. Then pile in 32 gigs of RAM, a terabyte of storage, a water cooler for the CPU, an 850W power supply, and all kinds of rainbow lighting packed into a pretty nice case. The regular price was about $3,200, but it was on sale for $2,000, or $1,900 after a credit card rebate. That's for almost-top-of-the-line everything. And I didn't have to build it! There was some price parity between Macs and PC's for awhile, but the extra RAM and storage costs don't make sense. This was a no-brainer.

The port selection is just OK. There are two USB-A 2.0 slots on the front, as well as two USB-A 3.2 Gen 2 that can do the 10 Gbps. The back has a pair of 2.0, four 3.2 Gen 1, one 3.2 Gen 2 and a single USB-C 3.2 Gen 2. It's not Lenovo's fault that there are so many standards, but why the hell did they include all of the flavors? Not having any Thunderbolt 4 ports (40 Gbps), or any Type-C on the front, is pretty weird for a machine of this caliber. They're less necessary when everything is so baked in, but it's still weird. On the inside, there's only one slot available, in part because the gigantic video card takes up three, and there were two open M2 slots for SSD's, where I dropped in the 4 TB I already had, and a 2 TB to put games in. There were also some SATA cables inside, so I put in a "slow" old 4 TB SSD that I can use for backups. So yeah, I guess there are 11 TB of storage in that thing now. As a side note, cable management inside is well done, and there are no "razor blade" edges to the metal parts in the case.

The system drive that it came with benchmarks around 6,200 MB/s, which is pretty great, while the two others I put in exceed 7,000 MB/s. I can't even wrap my head around that when the fastest thing in the computer I built in 2019 was 1,800 MB/s. The RAM is rated for some speed, but reviewers say that some motherboard decisions limit it from its full potential. I doubt it matters much.

I have a pair of 27" 4K monitors from LG that are five years old. Sadly, one has a dark corner, and even ghosts a little from time to time, which is disappointing. I don't want to replace it until the cost of OLED panels come down. In any case, every game I've tried to run from Game Pass or my Steam library will run at a full 60 fps, the refresh rate of the monitor, with all settings turned to their highest and at the full native 4K resolution. I would expect nothing less for a video card that is ordinarily that expensive. Still, it's something to behold. There are scenes in The Last Of Us that look insanely real, like they're from a live-action movie. The Xbox Series X does an OK job at 3D rendering relative to its cost, but the 4080 Super is 2x-4x at everything. Of course, the video card also consumes more than twice the energy, too.

Setup was pretty easy. The included keyboard and mouse were junk, which is fine because I have my own. The software preloaded is minimal, though first to come off was some McAfee crap. Lenovo has a tool to tweak overclocking the CPU and GPU, which is kind of neat, as well as a utility to find stuff to update that doesn't always come through the Windows Update channel, like BIOS updates. This was recently important because of a fix from Intel for the newer CPU's that were ordering excessive voltage and in some cases damaging themselves. Beyond that, no junk, just a clean build of Windows.

The system runs pretty quietly when you're not gaming, but obviously the fans have to work harder when the GPU is putting off all of that heat. I think the GPU has three fans, plus three on the front of the system, two on top over the water cooler radiator, and one fan on the back, plus whatever is in the power supply. I'm surprised that it isn't louder when idling. Even when you are gaming, it's not distracting loud. It does put a lot of heat into my office, which already runs warm in the summer. Oh, and those fans all have LED's in them that you can set to be whatever color or rainbow sequence that you want. The video card and the water cooler also have the LED's. It's kind of obnoxious, but typical gamer stuff, I guess. On my last self-built machine in the mid-aughts, I had to add some LED strips to the inside, and blue was the only color.

Overall, I'm really impressed with Lenovo general design of the machine, lack of Thunderbolt not withstanding. It's well thought out. I'm very happy with the performance so far. I did some testing in Davinci Resolve, and editing is super smooth, even with multiple streams. Rider, which I use for coding, gets around a large solution easily enough. The whole package is an extraordinary value for the price, and I will enjoy again having access to games.


I went back to Windows on my desktop

posted by Jeff | Saturday, October 5, 2024, 8:50 PM | comments: 2

Last March, I did the math and research, and after being insanely satisfied with my then shiny new MacBook Pro with an M2 Pro, I decided to put a Mac Mini on my desk with the same processor. Initially I was pretty happy with this arrangement, but I started to get frustrated with video editing and the inability to really get into gaming. Let me explain what I got wrong.

Those M2 processors are crazy fast and energy efficient. The developer experience on the laptop has been excellent, despite having only 16 gigs of RAM and a half-terabyte of storage. Video editing was also relatively smooth, because the drive inside could read at about 3,000 MB/s, which is good enough for 4K. Sort of. Actually, it was more complicated than that. The Mini and the laptop have the same specs, it's just that one happens to have a screen and a keyboard wrapped around it. It is not practical to edit anything long-form when you have so little internal storage. But with Thunderbolt 4, you can reach a theoretical speed on external drives that matches what's inside. In practice, this ended up topping out around 2,700 MB/s, which is still OK. Where it gets slower is when you're editing across multiple angles and adding color adjustments or effects. While the experience wasn't bad, I wouldn't quite describe it as good. As soon as you started layering things, scrubbing around a timeline got janky. Exporting and rendering was still fast, but the disk bandwidth appeared to be a serious bottleneck. That's what I get for trivial testing before getting the Mini.

There's also the issue of gaming, of which I've done a lot this year. It's a great escape for me, in a year where I've really struggled with anxiety. It felt like there was starting to be some momentum toward Mac gaming, but it fizzled out. That, and so much of my experience revolves around Xbox Game Pass, which is not a thing on Macs, obviously. When I got the dual-screen laptop for the lighting rig, I was able to do some lighter gaming, and I started to think more that I should have stuck to Windows. The cost then would have been close to equal. The small box just felt a lot more elegant.

As it turns out, costs came down even more in the last year and a half. The algorithm pointed me at a deal that I just couldn't pass up. Lenovo sells a computer that's normally $3,200, with the current second-best video card available and the fastest current i9 Intel CPU. It's topped off with 32 gigs of RAM and a terabyte of storage, and mostly standard parts. It has room for two more SSD's as well. It was on sale, and after card rebates, only $1,900. The video card alone retails for $1,100. Heck, my laptop that's closing in on two years was $2,600. I just couldn't pass it up. I'll do a review after I've had it for awhile.

Two things immediately stand out. The same SSD that I had plugged into the Mini via Thunderbolt went from 2,700 MB/s to 7,000. Yeah, the same hardware is 2.5x faster when you connect it to the inside of the computer. It's more than 2x the speed of the internal drives on both of my M2 Pro machines. That's nuts. It's worth noting that the SSD I originally had for my previous desktop (which I swapped out for a faster one when I passed it to Simon), only did 1,800 MB/s. So the sheer speed on modern PC hardware is crazy. 

The other thing is that, as you would expect, the 3D performance is ridiculous. Set whatever game you have, you set it at the maximum quality settings and the native 4K resolution of the monitor, and it still exceeds 60 frames per second. And I can run all of the things from Xbox Game Pass, Steam and GOG. Just the other day I finished The Last Of Us, and I can't even believe some of those environments aren't real. It's just spectacular.

Should I have stayed with Windows last year? Probably. The cost of Macs get ridiculous when you require more storage inside, and that's on top of costs that are already high. The Mini was $1,600, which in retrospect was high given the lack of storage and RAM, but I figured the sheer processing power was worth it. It would be, if the storage wasn't an issue. The only problem is that building my own last year would have meant steeper prices, especially for the GPU. I've never bought a pre-built PC, ever, but this one is an exceptional value.


I really like coding for C# and .Net

posted by Jeff | Saturday, October 5, 2024, 3:06 PM | comments: 0

I recently did some refactoring on the forums to have background jobs, which do things like update the search index, send email, etc., take advantage of .Net's background job infrastructure. It didn't exist when I hacked together a solution way back in the aughts. The amount of code was cut in half (but offset by unit tests, which I couldn't easily do before). It's really a great example of how far that framework and library has come over the last two decades.

That app is fairly mature at this point, but when I do work on it, I really enjoy working with C#, the language, and .Net, the library and runtime. I think Microsoft made the right decision to open source it all some years ago, and commit to a regular release cadence. It keeps getting faster and more optimized. The language gets more clear and concise. Maybe it's just my long-term familiarity, but I feel like it's faster than ever to get what's in my head into working code.

I don't write code in my day job anymore, which is fine, because I think most people are better at it. But when I'm working with it as a hobby, maybe to maintain some street cred, it's really enjoyable.


Starfield and Fallout

posted by Jeff | Saturday, October 5, 2024, 12:55 AM | comments: 0

I have played a lot of video games this year, which is worthy of its own post. However, I recently finished Starfield, the huge RPG/shooter from Bethesda on Xbox and Windows. It was a huge release from the studio known for the Fallout and The Elder Scrolls. It was the first new "world" that they had put into a game since Fallout. The idea was that it included a massive universe with a zillion planets to explore. Early reviews were critical to say that most of the planets had a lot of nothing in them. I started to play it but didn't go very far. The Fallout TV series started to stream on Prime, and I was so enamored with it that I immediately started playing that.

Fallout 4 is a few years old, but like Starfield, it was available on Xbox Game Pass. That's what's so cool about the subscription, is that you can try a huge number of games without having to buy them, for basically the cost of one game per year. Even for someone like me that I would describe as a recreational player, that's a huge value. Fallout has been a franchise forever, the basic story being that people were sold space in underground vaults to wait out nuclear war, and naturally this involves a post-apocalyptic world to run around in and shoot bad guys and mutants and stuff. I love the end-of-humanity genre, and the TV show just made me more interested.

With this game, I finally figured out what Bethesda's process was. Basically, there's a larger story arc to follow, with various paths, and then there are "factions" to work with that involve additional stories. On top of that, there are a ton of side quests to follow. It's the only variation on the massive game world design that I "got" enough to see it through. I understand though why some reviews of both games were critical, because if you don't understand the primary/faction/side quest structure, it seems like the game is just constant roaming. Fallout 4 managed to reveal the many missions with its, uh, mission menu. Once you get that, it feels like there's forward progress with the option to go about different ways. And there are different ways to go about reaching the end, which I thought was really entertaining. Also, the IP was so beautifully used in the TV show.

Starfield took this structure and made it even better. The slam dunk from a discovery standpoint is that the mission menu straight up separates the main line and faction missions, making it more obvious about how to "win" the game. The only negative is that it wasn't immediately obvious to me that I missed one of the faction stories when I finished the main story. So when I went back to this after Fallout, it felt familiar and improved. The level-ups were similar, the weapons and crafting to improve them were also similar. The added dimension was the use of space ships and crew members, and the crew was a more integral part of your movement through the stories. In fact, one of the achievements even was to reach the "highest level" of relationship. I tend to create female characters in these games (I guess as a reaction against old school shooters with dudes), and when I tried to flirt with one of my companions, it turns out he was gay and lost his partner prior to the story. Then I started traveling with a woman, and it turns out she was open to my advances despite concern for her home planet's view on same-sex relationships. So we got "married" and I got that achievement. Other NPC's came and went, and there were way more of them compared to Fallout 4.

I really liked both games. The depth of the story development, and the detail in the environment design was extraordinary. Fallout was great because it made bits of Boston a wasteland, with nature reclaiming everything, while Starfield created solid sci-fi motifs and truly weird stuff. It's obvious why these games take years to make with insane budgets, because there's a whole lot to create. And it's worth calling out that the technology on which you can play these things has come a long way, too. I played on a combination of the Xbox Series X and a Windows computer (more on that soon), and games are looking more and more like real life.

What's next for Bethesda? Indian Freakin' Jones, in December. It'll be on Game Pass as well. I can't wait.