Archive: May, 2024

I have a high schooler

posted by Jeff | Friday, May 24, 2024, 2:01 PM | comments: 0


Grand MA3 learning log 2

posted by Jeff | Thursday, May 23, 2024, 6:44 PM | comments: 0

I've made my way through most of the manual and watched a ton of tutorials, and I'm confident that I could build a theatrical show, provided that it doesn't have any crazy effects. The creation of static looks is straight forward, as is creating sequences for them.

Now I'm starting to get into the phasers, which is to say the effect engine for Grand MA3. The concepts are pretty straight forward, and actually I kind of enjoy the underlying math and algorithms. The user interface, that I'm not crazy about. I think some of it is that I'm just not used to the conventions, but they're weird conventions. Editing cues and presets just feels clumsy, and I often get it wrong. Phaser steps are even more weird because the UI changes contextually, but it's not always clear how to get to the right context. It still makes more sense having physical buttons and rotary encoders though, compared to trying to do stuff with a single screen only (especially when it's not a touch screen).

I made a virtual rig with about 60 fixtures in it, around a box of a stage. That seems good enough to create some basic effects. I'm using a row of LED-based spots and then a bunch of LED zoom washes, so I'm not locked into any specific colors. The washes also have three "zones" that can be controlled independently, with a single "pixel" in the middle, and two rings around that. These things cost thousands of dollars each in real life, so no, I won't be owning any unless I start a production company.

I have my four ChauvetDJ spots, with color wheels and gobos, and they're surprisingly pretty responsive when driven by this software. I think you could make a nice little show with a dozen of them in a small club. They're not bright enough for large venues, but that's why they're about $700 each and not thousands.

I need to keep playing with effects, probably by creating some things that look visibly interesting to me. From there, I'd like to design something for a song. I'm not sure anyone will ever see it, because I can't post it online without licensing it, but it'll at least show some learning progress.

Also, for, uh, let's call it inspiration, you can see what they used for Eurovision this year, which was probably the biggest show ever in terms of lighting.


The ARM for Windows thing makes Windows interesting

posted by Jeff | Wednesday, May 22, 2024, 5:00 PM | comments: 0

Microsoft announced new ARM-based laptops this week, as did some other manufacturers. For the non-nerd, ARM processors use a different instruction set from the Intel CPU's that have been around forever. They're also what you find in phones and tablets, and they use way less power, often to do more work. Apple switched to these a couple of years ago, and it's the thing that drove me back to them for my current laptop (along with the return of good keyboards and multiple ports). I use it mostly for software development, and I charge it every few days, getting around 12 hours of useful battery life out of it. While still expensive, I felt like I was at least getting something substantial for my money.

There have been some "meh" computers running Windows on ARM chips, but the operating system wasn't really optimized for it, and the emulation for software meant to run on Intel CPU's was just OK. (Macs have this as well, since they used to use Intel.) Qualcomm stepped up its game with new Snapdragon CPU's for this new wave of Windows computers, and the initial impression is that they are game changers in terms of power consumption versus computing power. The other thing is that the cost is substantially lower than the various Mac offerings, in terms of RAM and storage. The price points are similar, but as in the old Intel days for both, you pay a ton for more RAM or storage on a Mac.

Mind you, the Intel based Windows laptops were already pretty good if you weren't gaming. The Asus with two screens that I bought two months ago, specifically for my lighting endeavor, is a great machine that's loaded to a ridiculous degree. I don't have any dev software on it, but anecdotally it looks like non-gaming (and non-lighting) activity will get you at least 8 hours of battery life, and maybe more. But when you do game, it gets warm, and the fans audibly blow.

I'm happy with my 16" M2 MacBook Pro, and I suspect it will last a good long time. That might be a problem for Apple though. They just released the M4 processors, starting in the iPad Pro (a weird choice), and the critical response has been, "This is the same as my M2 machine, I can't tell the difference." In other words, yes, the hardware is more powerful, but the power isn't necessary. Their whole business seems predicated on periodic upgrading (I've been salty about iPads being forcibly made obsolete), so what happens when what you have is fine?

Whether or not this phenomenon translates to Windows on ARM is hard to tell. First off, we have to see if games will be recompiled to take advantage of ARM, and from there, what graphics hardware will go with it? Gaming seems to be the driver of performance on the Windows side, especially since Apple stubbornly hasn't done much to push gaming on the Mac.

It should be an interesting time though, and I sure wouldn't invest in Intel right now. Cheap but nice Windows laptops may stimulate some growth there.


Teen performance and brand management

posted by Jeff | Monday, May 20, 2024, 9:41 PM | comments: 0

I've been reading a bit about the perils of teenage life in the smartphone era, because I have a teenager now, and I saw something that concisely encapsulated the way that it's different for them, compared to our experience. It's not simply that in-person interaction has moved online. In fact, one psychologist even suggested that asking someone out via text is far less traumatic than doing it by phone, or worse, face to face. The real change is that being a teenager is far more performative, and many kids believe that they need to maintain a "brand" on social media. Doesn't that sound fucking exhausting?

For a number of years I've heard about how the view of people online is a sanitized, happier version of reality. I didn't get that, but only because from my view, I've tried to make sure that the hard parts are represented too, especially when it comes to parenting and career. But the reason for my experience is probably because the rise of online life sharing happened at a point where I was already not caring about how it might be received. I suppose that could have been the autism, too. I'm still not great at reading a room. Regardless, the younger you go, the more people only know this world, and sharing all of the smiles makes you, apparently, super appealing and interesting to your peers. I remember when you just had to be pretty or an athlete.

In that sense, teens feel a lot of pressure to be performative in their online presentation, which is essentially the work of marketing yourself. There are a hundred reasons that's troubling, like the idea that the opinions of others, strangers, should factor into your sense of self. It makes it seem like the hard parts of life are a result of your "defects." It's not just about being accepted, if not popular, among the few hundred kids in your grade at school. Now it's about being that to the world.

I can't imagine that kind of pressure. The day I graduated from high school, I realized that high school didn't matter. Who I was to others didn't matter. A few short months later, in college, nobody gave a shit, if they ever did in the first place. In other words, I had a lesson in what reality actually was. Today, I'm not sure that comes as easy. I watch these people run around Disney live streaming themselves, and while I understand some of them make a little money, it makes me sad that so much of what's online now is about people trying to be Internet famous. It's all a facade. And you wonder why people of all ages get sucked into rabbit holes of conspiracy theories and other such nonsense? There's a comfortable facade for everyone of every walk of life to associate with.

So as a parent, I'm tasked with two things, I think. The first is to really teach critical thinking. I haven't been good at this so far. Simon will say, "Well so and so said this on YouTube," about something at an amusement park. I typically have responded by dismissing the "so and so," but what I should be doing is teaching him how to ask the basic questions... What evidence does this person have to support their position? Can it be observed or validated by others? Do they have a reputation or credential that demonstrates expertise? You don't have to go far to find all of the people who don't pass a basic sniff test.

The second thing is to teach about the reality around the lack of power that most people have over you. I don't know how to approach this, because even with a lot of therapy, I sometimes forget. But once we leave the safety of school, we have to figure out what to do so we can provide for ourselves, and that basic kind of survival makes the social difficulties of youth seem irrelevant by comparison. No amount of performance online is going to move that needle. You'll just end up the sad trope of a live streamer at Epcot.


I am so bored (with my phone)

posted by Jeff | Monday, May 20, 2024, 8:52 PM | comments: 0

With the exodus of humans that I care about from social media, and its tendency to not show me stuff from them anyway, I find myself completely bored with looking at my phone. Endless algorithm-supplied short videos do not interest me at all, and it feels like that's mostly what's out there. Instagram shows me a little from friends, Facebook even less. When I sit down and unlock my phone, I don't open anything. My brain has reached a point where it knows there's nothing that's going to even short-order entertain me.

Outside of texting Diana, Simon and a few friends and neighbors, I use my phone to do NYT crosswords and NYT news (until it bums me out). I think this is mostly good, because it forces me to do stuff elsewhere, and in the moment. I noticed on my last set of flights, because I wasn't looking at my phone, that virtually everyone else was. My hope is that this also diverts my attention to the other things that I want to (or should) do.

But this comes with a strange and unexpected sense of loneliness. Because of all of the moving that we've done, and the very distributed nature of friends made because of the roller coaster nerd sites, there was a golden age where about 200 or so people that I wanted to stay in touch with were on Facebook. Now there are about 500 "friends," but few are active, many deactivated their accounts, and an unsettling number have passed away.

The optimist in me wonders if there's some way to reverse this decline. There are still a ton of things about the Internet that improve the world, including access to real information, but the social bits really fell apart. I'll continue to post stuff, which I've always primarily done for myself, but it's jarring to know that others aren't really listening anyway.


Renovation project (unfortunately)

posted by Jeff | Sunday, May 19, 2024, 4:20 PM | comments: 0

We're starting to plan a bathroom renovation. We've been stashing away money for almost two years, and it's about time to pull the trigger. After the dust has settled (literally), we'll figure out a plan to replace the carpet in the entire house.

But wait, you say, the house isn't even that old. That is correct. We've been here just about seven and a half years. The carpet situation is obvious enough: Pulte installed the absolute cheapest shit that they could find. In fact, the weird thing is that we didn't even have a choice. Everything else involved options, but there were no choices for carpet. You got shitty light brown with the thinnest padding possible if you wanted carpet. While only three of us live here, it looks horrible in every room. We have it upstairs in all of the bedrooms, and downstairs in my office and the front den/living room/playroom. It's matted flat, dingy, rippling up everywhere... it's a total disaster. And it's not even like carpet I've had in other houses, where at least a pass with the vacuum would wake it up a little, at least for awhile. "Builder basic" doesn't even cover how cheap the stuff is.

First though, we want to re-do the bathroom. I know that on HGTV and Magnolia, they're always making bathrooms out as these "retreats" and "spas" or whatever. Ours is definitely not that. In fact, just traveling has made us hate our bathroom more, as every hotel has something that does feel a little "spa like," to some degree. Heck, even the bathrooms on the Disney Wish, in concierge, are nice (though obviously small). When we chose our options, we had slightly nicer plumbing fixtures, a wall tile upgrade in the shower, and a frameless glass door. The rest is pretty stock, including the particle board cabinets that slam shut and basic granite. And it's all so, SO brown. We've hated it for a long time.

We also have to deal with the fact that it's way harder to keep a shower clean in Florida. I'm sure it's partly the water (though we do filter the whole house), but also whatever is in the air, despite being cooled most of the year. Battling mold is a losing battle, especially on the floor which is a white honeycomb pattern with a butt-ton of grout. We've had to replace the "mold resistant" caulk twice. So whatever the replacement is, it has to involve less grout. That means we're probably gonna get a standard white shower pan instead of tiling it. It's less fancy, but way more practical.

Cabinets not made of particle board aren't that expensive unless you get them made custom. The stuff made in standard sizes is still pretty good, with good soft close hardware and what not. The tops aren't that big either, so that won't be too expensive. We'll get a free-standing soaker tub not enclosed in a tile box. We'll keep the toilet. Not sure on plumbing fixtures yet. Wall tile for the shower, we're going big, 24"x48" for few grout lines, and it's only like $2 per square foot. We're looking at some neat glass tiles for the niche. The biggest variable that we're looking at is the flooring, and the funky, swirly thing in the photo below is about $25 per square foot. With around 100 square feet to cover, honestly that isn't horrible. Watching TV, I've seen them spend $10k on floors for rooms smaller than ours.

Honestly, I wouldn't say that I'm happy about doing this, and I'm outright angry about need to replace the carpet, but at least things will feel a little more premium. Our house is not fancy. I don't need fancy, but I guess I'd like it to be a little nicer. Our living room is Ikea stuff, with a chair shredded by one of the cats, and a leather couch that has been abused by the cats as well. Our rugs have not been durable. The kitchen has the shitty particle board cabinets as well, but at least the quartz counters are nice. The bar was updated with the walnut shelves. We still have a kick-ass dining room table, though the chairs have, you guessed it, been, uh, "aged" by the cats.

Our front room is actually pretty cozy. Our neighbor sold us his mother's furniture after she passed away, and it has made a big difference. My office is actually quite comfortable too, with some leather Ikea pieces that have been super durable. I have video gear piled up in the corner behind the Pac-Man machine, but given that I spend 40+ hours per week in there, it is comfortable. We're gonna do the carpet in these two smaller rooms first, hopefully later this year, with the plushest carpet and thickest padding I can get. Unlike most of Flori-duh, I am not carpet averse.


Fear of different is insecurity

posted by Jeff | Friday, May 17, 2024, 8:30 PM | comments: 0

There's this tech bro who has a beach house and a successful business, and he mostly hasn't had any other job. I've admired his desire to challenge what we consider "normal" in software and the industry in general, and I've bought his books. In recent years though, I've come to mostly be annoyed by him. He's gone from challenging the establishment to wanting to establish one that coincides with his world view. I'm not going to tell you who it is, because I don't want to give him even the slightest bit more oxygen.

His books, written with his co-founder, are mostly about how many of the conventions we adhere to in work, and specifically in the development of software, don't really serve the outcomes that we're after. I get this. I feel like I've spent much of my career doing the same. In recent years though, he seems to have become more and more disconnected from the world, which is to say he no longer appears to have any empathy for, well, anyone not like him.

It started with his general assault on diversity, equity and inclusion (DEI) efforts in business, which is a subset of the environmental and social governance (ESG) principals that corporations are often trying to codify, in part to attract the best people. Full disclosure, I'm on the DEI council of my employer, in part because I believe that neurodiverse people should be represented. But there is a ton of data and evidence that people are not treated equally in business, because of their race, gender or sexuality. That shouldn't be controversial, as decades of bias, unconscious or otherwise, have put people on non-equal footing. It's an objective observation.

More recently, he's decided to take up the cause of calling out the people who generally feel different or weird or otherwise don't feel included, for whatever reason. (It's also telling that he'll blog about it, but doesn't share it on Twitter, which is a funny kind of cowardice.) I'll be the first to say that social media has invented some things that aren't real, or are just in the category of "adulting" ("#highfunctioninganxiety," I'm looking at you, WTF). But as someone who was not on any radar for an autism diagnosis when it would have mattered most, in my childhood, I'm pretty annoyed by anyone who would suggest that my reality is rooted in some desire to be weird or unique. Fuck that guy, I'd love to have easily integrated into typical social constructs. I didn't want this.

But it begs the larger question: Why are people so scared of people that are not like them? People of a different race, gender, sexuality, and dare I say even religion, are not inherently bad. Is my childhood in relatively diverse schools the reason that I just don't feel threatened by those who are different? And by extension, I'm not threatened by their identity, which deeply important to anyone, really. "I don't see color" and other similar themes are the opposite of what you should see. See the person for who they are, because it's important to them. Where does this insecurity come from that you feel threatened by people who are not like you?

It's a fair question to say, "Well why are you so against 'them?'" I'm not "against" anyone, nor do I "hate" anyone. But you can be damn sure that anyone who wishes to oppress, reject, trivialize or denigrate others based on who they are is not on the right side of history or humanity. Adopting that sentiment toward anyone is a choice, it's not who you are. It's not OK.


Just try to be logical

posted by Jeff | Friday, May 17, 2024, 12:00 PM | comments: 0

I've talked before about how many people on the autism spectrum reach a point of meltdown when they can't reconcile two things that shouldn't be true. It was one of the things that I observed in Simon when he was little that made me eventually seek a diagnosis myself. Sometimes what is clearly illogical becomes possible because of the inputs of human emotions. My most epic meltdown came from a situation where my fifth grade teacher accused me of something that I didn't do, punished me for it, and I couldn't deal.

I still encounter this today, and while I certainly have the coping skills that I didn't have when I was 10, I am surprised at how much it affects me. Even in stuff that doesn't matter, like on a roller coaster forum, I find myself going after people who speculate on things for no other reason than they have a feeling. It happens every year when people see survey markers on the ground, and conclude that the only thing possible is a 600-foot roller coaster with a built-in restaurant that can skip through space-time. There is absolutely zero evidence of this, of course, so how do they even get there?

Maybe I need to also point out that challenging people may, on the surface, appear that I have a high opinion of myself, but certainly in the context of autism, that just ain't the case. I can't speak for everyone on the spectrum, but it goes back to the logical reality that my head lives in. To point out that something isn't logical isn't because I think I'm smarter than anyone, because in my wiring, I'm just stating what is factual. I'm not after a dopamine hit for being right, because feeling pleasure for stating that something just "is" doesn't really make sense. I'm not looking for a high-five because I've told you the sky is blue.

So maybe you can see why living in a world where people just make shit up and are willing to believe in an alternate reality (which is kind of an oxymoron, because as far as we know there is only one reality) is difficult. The folks that believe there is a liberal cabal of coastal elites trying to "destroy" the country are a special kind of stupid. Willful ignorance is like a disease in this country. I get that people have different opinions and seek different policy, and while I may not agree with everyone, that's fine. But if your opinions are not rooted in some kind of observed reality, not only have you lost me, but I'm gonna call it out.

I desperately want people to engage in critical thinking. For all of my desire to reconcile facts, even I understand that a great many things in the world are not binary conditions. Mutual exclusivity is often not a thing. Except when it is, and that's why critical thinking is so important. I don't want to live in the movie Idiocracy.


I'm deeply conflicted about the Internet

posted by Jeff | Monday, May 13, 2024, 7:45 PM | comments: 0

Let me just get this out of the way: The Internet has made it possible for me to have a pretty good life, financially at least. When I left the broadcast world (well, local cable, but whatever), I stepped into software development, where it was clear that I could make far more money. I'm not going to get into the pros can cons about how that turned out, or continues to turn out, but there's no questioning that it has given me countless advantages. Even in the recession years, my side hustle on the Internet paid my mortgage. While I've never hit a tech equity unicorn, I have encountered enough mediocre equity opportunities that I've been able to at least partially compensate for my non-saving up through my mid-30's. I have a comfortable home, reliable transportation, and I get to travel. Had I been born even ten years earlier, I'm not sure that any of this would have happened.

Despite all of the pessimism in the world, objectively, by the numbers, the Internet has made the world better in so many different ways. Software as a service, home automation, different ways to get entertainment... I'm thankful for all of it, and I wouldn't want to go back to a time before all of that. But with all of the good, there are some serious negatives, some of which scare the crap out of me as a parent. I can't really make a list of things, but there are definitely some themes.

Maybe the weirdest thing, and I'm not sure if it's negative, but probably, is that we culturally seem incapable of being in a resting in a state of non-stimulation. People seem to have become incapable of existing even for a few moments in a state of boredom. It's not even generational. People of all ages can no longer be still in the world without taking out their phone, probably to doom scroll. They lack the "coping skill" to just be bored. I would argue that it makes it that much harder to have time for reflection, creativity or useful daydreaming. By extension, it's true even when people are interacting. No one can deal with not knowing where they know that actor from, and they must look it up. And look, as someone made deeply uncomfortable by conversation with strangers, even I find it sad that we don't even try to connect with people, even if it's over dumb stuff like the weather.

Community has degraded online because of the platforms, and that bums me out. There used to be a million independently operated niche communities, most of which were carefully moderated and looked after, because someone had to pay for it. Then Facebook did groups, Reddit came along, Discord is whatever it is. There's no incentive to make these communities awesome, because they're all built on a model of pushing engagement. As long as there's room to show ads and push you to look at more stuff, and therefore more ads, the communities don't have to be great, just good enough to keep you plugged in.

By extension, the social media of the aughts is dead. Facebook doesn't show me what my friends are doing, because they've either bailed or can't compete with a hundred group and page suggestions for which I have no fucks to give. That makes me sad. I find myself going to the apps (which should have stayed sites) in a post-only mode. I'm not even doing it for likes, it's just a diary for me to look back at.

Maybe the biggest bummer though is that quality of information, composition and even art is lower than it ever was, which feels like the antithesis for what the Internet promised to be. The reason, not coincidentally, is because of the platforms. The web was supposed to create an even playing field, where good stuff could rise above crap, and there were no gatekeepers or tastemakers. It looked like it was going that way, too, for awhile. Then the platforms started to dominate. Even as a sharing mechanism, you'll notice more and more stuff that people with common interests may share is still on the platforms. Most of it is ephemeral, unimportant time wasting stuff. The algorithms are now the gatekeepers, and they really suck at it.

As I said, it's not all bad. I'd argue that some of the best TV and films ever made have come in recent years, not bound to the old network and studio model that made it impossible to get stuff made. Streaming has been very friendly to "prestige" long-form art. Online commerce is admittedly not great for local businesses and jobs, but it not only got us through a pandemic, but creates efficiency in the distribution of goods. And if you are still deeply curious about the world around you, and understand the difference between nonsense and credible information, you can learn a great deal about science and history in ways that weren't possible pre-Internet.

Still, I don't like that we can't get in the car without my kid looking down at a screen, instead of out the window.


Intermittent Friday routine

posted by Jeff | Friday, May 10, 2024, 6:48 PM | comments: 0

Going back to the pandemic, there have been many Fridays where I roll off of work, we put on some Broadway tunes, make cocktails, and figure out dinner. Having been sitting all week, I'm fine to stand at the end of the island. The setting sun lights up the room. We talk about our week. I like getting out, but this isn't a bad way to go.


I was wrong about "agile" software development

posted by Jeff | Thursday, May 9, 2024, 5:00 PM | comments: 0

Way back in 2004, I did a short contract job with a certain major insurance company. It was starting the process of getting out of the old mainframe world. To help with this, they brought in a certain well-known consulting company to coach Agile software development. I capitalize it because they do, to this day, and when I use it this way, I'm referring to the more formalized process. But it isn't the same thing as being agile, which to me means that you move quickly, with focus on delivering stuff. These folks introduced me to a lot of formalized stuff like use cases, user stories, sprints and stand-ups.

By the time I got to Microsoft in 2009, the ideas, based around the Agile Manifesto, were starting to take root in the industry, through Microsoft was still very much arrogant to think it generally did stuff the "right" way without Agile. They were still handing out fancy "ship it" awards, a relic of shrink-wrapped software, which seemed wholly absurd working on a team that "shipped" every few weeks. My team used these Agile methods, and I had been exposed to so many consultants and experts that I wholly bought into it all.

As time went on, I became less interested in Agile, and really started to question if it was adding value. A turning point was a contract that I did in 2013. There I encountered the whole dictionary of Agile terminology and ceremony, and I found it completely ridiculous, especially for a team of just four developers. They spent an entire day doing planning once every two weeks, and they did all of the things, like planning poker (if you know, you know), anonymous retrospectives, and deep analysis about why any particular thing didn't get finished inside the sprint boundaries. It was awful. I quit after just a couple of months.

An entire industry has grown around Agile, and coaching people on how to use it. This global consultancy shows you how to use tools and do all of the ceremony that is generally associated with Agile. It's just become accepted, and people don't question it. But I do question it, because I think if you really get back to the manifesto, the values have been hijacked to enforce misplaced accountability, and to do a lot of box checking around habits. I've been part of the problem.

So here's my manifesto, and I'll explain how it overlaps and uses some of the values of Agile, to make you agile.

  • Everything is an assumption until proven otherwise. Whether you're deciding on a "user journey" (ugh) or technical design, every choice that you make is predicated on some assumptions about how you get to the outcomes. In practice, these assumptions are often wrong, and teams either commit anyway or they use the iterative feedback and data to go in a better direction. That's why you have to right-size your investment in planning. There are too many things that you don't know. Things will change.
  • Estimation is a crude tool. Software people never get estimation right. I've sat in a million seminars that explain the right way to do it, and it doesn't matter. The entire industry sucks at it, and has for decades. Humans desire to gain approval from others, and believe they can do things, and that bias always bleeds through. At one point, I even had engineers estimating in half-days, which some of them hated, and it turned out that others were using it as an accountability tool, which is not the point. As a rule, my macro estimation for a project is in rough developer-weeks, plus 25%, plus an understanding that there will be a hardening phase after to shore it up. This has never failed me. For stories that developers work on, points are fine, but should only be used for allocating work in a sprint, not accountability metrics.
  • Context matters everywhere. It's easy to generalize about how to do anything, but humans are not cogs. Sometimes less experienced people need more structure, while the opposite just needs you to get out of the way. Hard problems with many unknowns take longer to solve, and don't fit conveniently into boxes. Embrace the need to adapt.
  • The process is a product. We spend so much time iterating on the machine, but never iterate on the machine making the machine. You can and should get into a rhythm of using the process that works for you, but don't let habit hide better ways to do stuff. Be critical of habit, and toss what isn't working, look for ways to improve what is working.
  • Prototypes as early milestones. There is probably some core thing that you want to happen, and it's surrounded by UI or persistence or both. People often want to start at the ends instead of the middle, but doing so takes longer to prove you have anything useful, delivered. If you're inventing a car, you don't build the dashboard or the doors first, you build the motor to prove you can build a car.
  • Delivery over timing. The usual business discussion involves asking when they can have the widget. See the previous bits about assumptions and estimations. Instead, ask what could be delivered in a timeframe. It might be enough to satisfy an outcome. This creates better focus and keeps you on the right side of the 80/20 problem.
  • Perfect is the enemy of good. I obviously didn't make this up, but people need to be reminded of its truth. I've seen teams labor over decisions or be overly critical of design, when good enough allows you to deliver and validate what you've got. Few decisions are one-way doors, and when you need to go back through them, it just means that you're reconciling the assumptions with reality.

What does this mean in practice? It varies from team to team, but you'll notice that, like the Agile Manifesto, I don't get into ceremony or mechanics. That's intentional. A lot of the ceremony and mechanics that folks do out of habit adds little value, or worse, gets in the way of delivery of working software. So in my case, my current team really does what some call "scrumban," a cross between scrum and Kanban, but even that's an imperfect label. We do two-week sprints, starting and ending on Wednesday, but the the cadence serves only to have a consistent time for planning and grooming. I concede that specific routine is necessary because of time off, holidays and such. We don't make "commitments," we just load up each developer with enough work to last the two weeks, and if things carry over, that's fine. We don't have formal iterations or releases, and we continually integrate work into production as we go, mostly everyday (which makes the two week time frame even more arbitrary). The product owner, a product manager, in our case, reviews the backlog and determines what the priorities are with the team. We do a retrospective with people named to discuss the point (context matters). We demo and celebrate completed stuff. And every morning, we spend under 10 minutes in a stand-up meeting.

A project starts out with requirements, which are socialized appropriately. A lead developer looks at the requirements when they're good enough, and sketches out a solution, bucketing the work in chunks and estimating them in developer-weeks. At this point, with the crude estimation in mind, the business can decide if the project is worth doing, or it can negotiate some subset of functionality to satisfy some outcome. Once that's socialized and given a green light, the team breaks up the work into the known stories that map to the buckets of work. After the work starts, unknowns are discovered and are added to the backlog. Over the course of the project, change happens, and some work is cut, other things are added.

I can smell the questions, so let me answer a few.

  • But Jeff, how do you measure developer productivity? I've never understood this question, because it's pretty obvious when someone isn't pulling their weight. "Points" are already arbitrary, and not very contextual, but you know when a developer isn't finishing work. Stories age, software is not delivered.
  • And team productivity? The most abused thing in software engineering is managers weaponizing estimation and velocity. I've had it as an accountability metric myself, and it's nonsense. The purpose of estimation is to help set expectations and and create understanding around the effort versus value, the ROI. It's all assumptions, remember? The only metric that ultimately matters is the delivery of working software. MBA's don't understand this. Nobody cares about the arbitrary numbers when you're delivering software. And when the team isn't delivering, you don't need the numbers to know that. Time tracking is extra terrible, and I regret ever being bullied into imposing it on my teams.
  • So no planning poker, all-day planning meetings? No. In my experience, where these tactics have been used, they do not materially affect the delivery of software.
  • But letting stories rollover to the next sprint is wrong! When you worry about that, here's what happens. A dev finishes their assigned stories a day early. Because of the arbitrary sprint timing, the product owner and the dev find some item that will fit in the time remaining. It is never the most important thing, it's just the size-appropriate thing. I'd rather they start the most important thing, and if that rolls into the next sprint, so be it. Also, sometimes you don't know where the bodies are buried, and stuff takes longer than you expected. That's not failure, it's change, and it shouldn't have to be justified.
  • What about less experienced teams? Context matters, so you need to have the appropriate habits and process to accommodate that. My current team doesn't need to have everyone sit and watch each other write stories, so we try to do as much of that asynchronously as possible. With a less experienced team, I'd rather they spent more time together learning how to do that.
  • What kind of artifacts do you work with? For projects, a decent requirements document is a starting point. It doesn't have to be perfect, but hopefully lays out at least 80% of the intent. Technical leads generally produce some diagrams that have a contextually appropriate amount of detail, not an amount of detail dictated by some process acronym or TLA. There are stories, which must have acceptance criteria, and probably notes for testing. There are always dashboards to measure the right things, both technical and business oriented, because they inform decisions as the product shapes into something useful. The dashboards generally link to runbooks that describe how to support the thing. The most important artifact is working software.
  • This sounds a lot like winging it. Far from it. A project starts with a lot of ambiguity, and a technical leader and product leader work together to continuously reduce that ambiguity. That informs what to do next. The thing that you're always monitoring is delivery, instead of a bunch of metrics that aren't really actionable. Making software is a strange profession that feels like science but requires creativity. You can't "manage" its creation like you do durable goods or artifact creation. As long as you have written down, agreed upon outcomes, the process is about seeing how close you are to those outcomes. Solve the contextual problems blocking that path to outcomes.

It's hard for me to truly codify this approach, because it's not about ceremonial habits, which a lot of people believe is "Agile." Maybe those habits work for some people, but it seems like they have to spend a lot of time practicing them. That's energy that I feel distracts you from delivery. My earlier points are more cultural expectations than they are habits. So for whatever habits your team does develop, ask yourself if they're counter to these cultural expectations.

Whatever you do, don't let developers spend 15 minutes debating the points to put on a story. Don't let them do it for more than 60 seconds. It won't matter, I promise.


Hard on the eyes

posted by Jeff | Tuesday, May 7, 2024, 7:11 PM | comments: 0

Genetics are funny, because you never know which physical attributes will be passed along, but also manifest, from generation to generation. Simon appears to be headed toward being tall, but Diana and I are not, there's no height on my side of the family, and aside from one of Diana's brothers, most of her family is short. In my case, both of my parents needed corrective lenses pretty early in life, but I've been 20/20.

Until the last year or two. My depth of field has been reduced, but only at the shallow end. My minimum focal distance is further away than it used to be. The Internet says that normal, healthy adult eyes should be able to see as close as 25 cm. A quick experiment shows that stuff gets non-readable for me at around 32 cm, and 50 cm is the typical sharpness that I've otherwise enjoyed most of my life.

But there are caveats. Obviously, brightness matters, and I assume it's the same thing that applies to cameras. Your depth of field gets shallow when you "stop down," or open up, the aperture, which is necessary to let more light in. Bright situations close it up, which leads to much larger depth of field. That would be true regardless of eye state. The bigger wildcard is fatigue. I finally get what people mean when they refer to "tired eyes." Earlier in the day, my minimum distance is much closer. It's probably easiest to notice on my phone, where characters are so sharp, closer, but at night, I've gotta move it further away. This is age at work, presbyopia, and I understand it to mean that our focus lenses get more rigid time.

The good news is that when driving or doing really anything not involving a screen, everything is as sharp as ever. From a corrective perspective, I could probably use non-prescription readers. Right now, the only time I feel like it's really an issue is when I encounter really small text, and even then, more often when it involves poor lighting (yeah, phone flashlight on restaurant menus). I'm resistant to glasses of any kind, because my tolerance for having something touching my face like that is not high. I owned sunglasses when I was a kid, but they were never on for very long. (They also seemed to aggravate acne anywhere they were touching.) I sure could have used them, because I've always been "squinty" in bright sun, presumably because of my blue eyes.

It's not the end of the world, but I'm not crazy about the constant reminder that I'm getting older.


Making platforms rich with "content"

posted by Jeff | Thursday, May 2, 2024, 6:38 PM | comments: 0

Last week at the bar, the night before I was at Cedar Point, I met a couple of guys who were really excited about a Facebook page they started, and it had gained a few hundred members. I asked them what their goals with the page were, and they said it was to get as many people as possible on it. I asked how they intended to do it, and they said they would produce as much "content" as possible. "Then what?" I asked. Their answers were all over the place, but it seemed like numbers were the goal. I suppose that I kind of get this, as it's the primary milestone at which Google will bless you with some revenue from the YouTube. I'm not sure how that translates to Facebook.

I don't want this to become a rant about "content creation," where no one is a writer or photographer or filmmaker anymore. But I don't understand the desire to make things in a way that mostly enriches the big platforms. The people who actually make money are a fraction of all the folks trying to make money. Most of it is ephemeral stuff that has a shelf-life of a few days at best. Think about all of the stuff that the algorithm feeds you on Instagram or Facebook. Do you remember anything you saw last week? Probably not. But the long tail of so many people doing this means those companies bank a ton of cash with ads in between it all. The only thing really being "created" is wealth for the platform and its shareholders.

I'm not against capitalism, I'm just not sure how we got to this place where people want to make things for free that might feel good to make, but mostly it just puts money in platform pockets. The value of creative media has just been gutted. The people who do actually make money have to do a lot of work, and often at a certain scale they need to hire people to help. But somehow, "influencer" became an aspiration, in part because the barrier to entry is having a phone, which is to say there is no barrier to entry. It's like America's Funniest Home Videos became the business of the Internet.

Having a web site isn't lucrative the way that it used to be, but at least what you make continues to be yours. Maybe you can make a little money from it, and there is no minimum to do so. I miss the early aughts, when every kid with an Internet connection and an amusement park nearby made a fan site. That was awesome.

This sort of thing sounds very get-off-my-lawn. I don't think apps and platforms and algorithms make the Internet better. Technically, yes, anyone can disrupt the status quo with the right idea. But I have no idea what the right idea is. Facebook seemed like such a great idea early on, but it's telling that so few of the people from my circles still use it. It hasn't been about an online version of my social circles in a decade, at least.

I still think that moderated, niche communities will make some kind of comeback, eventually. The platforms aren't really built for the benefit of regular people, and I think a lot of folks will eventually realize that.


Grand MA3 learning log 1

posted by Jeff | Wednesday, May 1, 2024, 9:40 PM | comments: 0

I've been spending some time on and off since the arrival of my console going page by page in the manual to learn stuff. This is different from what I've done prior, which is watch a bunch of YouTube videos and do the best I can with the software only. To that end, I want to write about that experience periodically, because I don't think the documentation is very good. As a technical writer, I don't think you can just make a list of buttons and say what they do. Unfortunately, that's kind of the approach they've taken.

This won't mean much to anyone who doesn't know the software, but I want to write some things down in the event that I have a better idea about how to teach it.

So far, I've covered everything except the sequences and executors, which I kinda get already, and the masters and phasers, which I don't have any tangible understanding of. That means that everything prior, like presets and groups, make references to the not-yet-covered parts. There's a bunch of stuff before that even that isn't super relevant to programming, including the networking and patching, not to mention the UI conventions, but the thing I take issue with is that they don't really cover concepts early enough.

As a software developer, I think this matters, because what they do is so deeply structured in the way that I would approach it as a developer. Everything is an object, and there's a graph of objects. Parameters make up fixtures, which can make up groups, and presets can set attributes on those groups and fixtures, which in turn can be referenced by cues, which are part of sequences, and several of the above can be assigned to executors/faders, and then phasers and masters (for dimming, timing, etc.) figure into all of those.

How do I know? Because I've tried to write the basics of this software. I did a talk on it. The object models used in the software are very much reflective of how I'd organize things as a developer. I'm not saying that's good or bad (yet), but for my engineering brain, I would almost rather that they described it in these terms up front. To understand the object graph is to understand how to build a lighting sequence for a real show.

Most importantly, they should talk a bit about tracking, which gets vaguely referenced early in the other concepts. Tracking means that from one cue to the next, as you move through a sequence, the state of any fixture only changes if you change it. In other words, one cue could turn on some lights, the next might change their positions and colors, but their dimming level doesn't change. The next may turn on different lights, but the others don't change unless you change them. This isn't really a concept unique to MA either, as the ETC stuff works similarly.

I'm spending time behind the console as time permits, but on my laptop I'm also trying to put together a small virtual demo stage for the purpose of messing around and applying what I'm learning. It involves about $150k of virtual lights! I've got four physical lights in the room, and that's fun, but to do more serious things, I need more to work with.


Thoughts on the serenity prayer

posted by Jeff | Wednesday, May 1, 2024, 5:30 PM | comments: 0

If you've gone to an AA meeting, or seen one in countless movies and TV shows, you're familiar with the serenity prayer:

God, grant me the serenity to accept the things I cannot change,
the courage to change the things I can,
and the wisdom to know the difference.

It varies a bit, but the intent is always the same. There's only so much we can do, in every aspect of life. But there's also a delineation to be made between the truly random things, and the things that we might be able to influence. I can't do anything about a natural disaster, or someone getting cancer. But I feel like I can influence things at work, play a tiny role in politics and hopefully have some positive influence on my kid. All of those are not necessarily in my control, but I feel like I can change them to some degree.

And that's where the wisdom part comes in. My naivety and optimism often convinces me that anything is possible. I ignore limitations, sometimes. Pursuing things that you can't change has an obvious result, and you run into that enough, it starts to feel pretty bad.

I think that might be where my nagging anxiety comes from. I'm typing my finite number of keystrokes on things that I can't realistically influence. In some cases, like work, I try to rationalize that good leadership can overcome limitation, and failure only means I'm not a good leader. Sometimes with parenting, I feel like a shitty dad when I lead my horse, er, kid to water and he won't drink. And I have no idea what I think social media posts will do toward any outcome at all. Yet I labor over those precious, limited keystrokes.

The serenity prayer feels like a license for apathy, and I feel like apathy is the disease that breaks humanity. If everyone was just marginally more empathetic toward others, the world would be measurably better. Perhaps I'm missing the point. Maybe it isn't apathy as much as it is a conscious resistance to empathy. It's like empathy is perceived as a weakness.

If it seems like I write about a tired mind a lot lately, it's because I have a tired mind.