Mike Lewis is a user on mastodon.gamedev.place. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Mike Lewis @Apoch@mastodon.gamedev.place

Fitts' Law is 64 years old.

If you write *any* kind of mobile/phone based software, and you defy this law, I am severely disappointed in you as a human being.

Also applies to "responsive" web design.

Getting good feedback on the Curvature demo. Very interested to see where this tool goes next.

Stages of attendance:

- Can I attend, boss?
- Don't double book me
- Bring 'em on!
- I am Conference incarnate

Bonus secret level:

- Speaking is like talking to a room full of family

I've been hanging around the AI Summit since its beginning in 2009. I enjoy all the little traditions that have grown from it - the obligatory Death Star drinks, associated parties and dinners, Denny's runs, and the inevitable collapse of exhausted relief when it's all done with.

But my favorite element is Rehearsal. Made some lovely acquaintances and a few fast friends sitting around practicing our talks together. Can't wait for this year's iteration!

Beginning to suspect there is a government mandated quota of at least one screaming child on every airplane.

I am so going to forget to pack something.

Smelletor: a cartoon villain comprised of a stench so bad it has taken corporeal form

If I do enough dry runs, I might actually be ready to deliver this talk...

Trying to come up with less confusing terminology for Perforce branch integration and reverse integration.

Winner so far: "coalescing" and "propagating" respectively.

Multiple branches coalesce into trunk/mainline. Results propagate back out to keep branches up to date.

I have seen recently a number of cases where an improved mastery of problem decomposition would have made for vastly better software.

If you cannot *almost immediately* think of some pseudocode that might solve a given problem, it is either a matter of learning a suitable algorithm, or breaking the problem specification into smaller parts.

A "part" may wind up being a snippet of code, a function, a class, or even a system behind an API. But smaller parts make more robust software on average.

I probably should take the time to write a proper article on this, but here's some seed thoughts.

1. For a software project, being correct is not at odds with being flexible.

2. Flexibility is being able to change the situation and still get a result. The idea for changing and getting a correct result is *robustness*.

3. My hypothesis: robustness is most reliably obtained by composing small, simple elements.

4. Constraints affect shape of elements.

5. Problem decomposition is everything!

I have spent a very long time chipping away at a new programming language called Epoch.

I always half expected the language to ship its first killer app in the form of a game, so maybe this fits here, maybe not.


I really ought to turn off my work brain now that I'm home for the night, but... There's one of "those" bugs.

You know the kind - defies all static analysis of the code, doesn't reproduce for anyone on the team, can't be forced to repro even with twisted hacks... Basically impossible.

But it still affects the live game, at a steady and not-quite-ignorable trickle.

Why? How? Will we ever know?

Preparing for my talk... It's basically the last minute and I'm still questioning things. Resisting making more edits (so I actually know my own material come next Tuesday) but the doubt is real.

And this is my tenth lecture.

I wish I knew if it ever gets easier, but I'm kind of worried I won't like the answer.

I have a serious dislike for papers/talks which advocate for software architecture approaches using "simple" examples.

We already have a description of how to build complex architecture for trivial problems. The name is "over-engineering" and we routinely teach students to avoid it.

Presenting important ideas in software design is hard enough as it is. Don't cripple yourself by generating a thousand-line boilerplate abomination to track an account balance that any freshman would do as an int.

Ten years is a long time to be a part of something. Today I took GameDev.net Forum Moderator off my list of active LinkedIn job roles. Glad for the experience, and more than a little wistful about resigning, but the future is bright.

Going to go listen to Minus The Machine now. Bonus points if you get the double joke.

I alluded to this code a little while ago - here is The Reticulator, a tiny tool for playing with Bezier cubic splines:


Super raw, let me know if you find it useful or want to see any updates to what's there now!

Aand that's way more fun than it has any right to be. Windows rattled.

Finally put together a great bass rig today. Had a Genz-Benz Streamliner 600 sitting around unused for years; paired it with a shiny new 2x10 cab from Gallien Kreuger.

Threw in a chorus pedal just for laughs... Then realized I can't find my 9v power supply and all my batteries are dead.

Now I have a fresh pack of batteries but it's 10PM and I don't feel like dealing with a noise complaint.

Guess there's always tomorrow!