Today I LearnedRSS

Everything from 2023

Lecture Friday: Don't Break the Chain: Maintaining Productivity on Your 19th Game

Some great productivity tools for your own endeavours. More importantly, some real talk about the mental cost that work takes on you. Some real insights into trying to have steady progress. Not huge burst followed by mental breakdowns.

Lecture Friday: Systems Engineering

Technically, it's an excellent talk about systems engineering. That is, looking broadly at systems, how you can significantly simplify and reduce the problem if you're willing to forgo interfaces. With that broad theme in mind, the actual talk ends up being a whirlwind tour through a lot of the VR headset and video/image technologies John was working on at the time. Excellent technical talk as always.

Lecture Friday: The Best Animation Tricks of the Trade

Lightning fast set of tips for animation. Fantastic wealth of knowledge. So many things that just about every animation, let alone game, could learn something from to make a quick pass of and improve with.

Lecture Friday: 50 Game Camera Mistakes

Learn third person dynamic game camera design strategies from one of the best. What's not to love! This is one of those talks where you can feel every single mistake as something they personally made and had to go back and fix. Listening I felt almost like I was right there with them when they realized it wouldn't work. Great talk format. I also love that the very first mistake they talk about is even choosing to do a dynamic third person camera. Basically, here be dragons.

Lecture Friday: Death to the Three Act Structure! Toward a Unique Structure for Game Narratives

If you're unfamiliar with narrative analysis, this talk does a decent job giving you a good intro to the concept of analyzing stories to understand their parts analytically.

They then point out that the story doesn't really matter. Did it ever matter? They even start by pointing out every story structure ever becomes hard to fully map. The one structure that seems to map to every story is that it had a beginning, middle, and end. Duh! You can add a bunch of beats or points, but as you do, you find more and more stories that don't fit that given structure or you find yourself picking more and more obscure elements to stand in for the given beats.

Either way, they then point out that in games, people care about the characters and their growth more than the story. But I'd argue good stories have always focused on characters. It's one of the biggest things between great stories and bad ones. Bad ones end up just being a series of tropes. Things to expect in a narrative because they work, not because they matter. Great stories usually revolve around something deeper. Not like a lesson, more like a truth. Something deep and real to connect to, even in settings and stories that are fantastic or impossible. It's always the characters that ground them. How people interact and relate to the narrative.

Just do that, but for video games. Chasing the structure really doesn't matter. Case in point, The Before Trillogy are excellent movies with very little plot, and yet it's the extremely deep and personal characterization that makes them so compelling. You truely get to know and understand these people, warts and all.

Now just apply that to games. It works extremely well in all sorts of games from linear narratives to open world. You get to understand how the character navigates the world, the situations, the experiences. What makes their point of view unique. What makes their actions matter. We relate to them on this deeply human level. The story is not the focus of a narrative, it's only there as a vehicle to allow the characters to show us who they are and how they grow and change. That growth is what's satisfying. The story is only a tool to help achieve it.

I could go on, but it's a great piece to critique both video game narratives but also the role of structure in stories all together. Sort of an emperor's new cloths talk if you reflect on it beyond the context it's presented in. If structure doesn't matter to video games, why does it matter elsewhere? Could it be the medium is the message and the only reason for a beginning, middle, and end is that books, movies, and TV shows as a medium have to have this structure? That stories in them must therefore also have this structure, and that games don't have to have such a structure has opened a whole world of narrative far beyond what these other more limited mediums can achieve?

Lecture Friday: Oh, The Methods You'll Compose

Just some Dr. Seuss style poetry about programming. Love it! The content's meh, but the form is wonderful.

Lecture Friday: Computers are a Sadness, I am the Cure

https://vimeo.com/video/95066828

First of all, more people need talks like this. James Mickens has a style of beautiful satire blended with insightful critique. A format in significant lack among conference talks and one I can really suggest more people try and emulate. This was actually one of the first talks I saw from him. Well worth the watch.

As for the technical insights, essentially a great introduction to, "Don't do microservices if you can help it." Glad we all learned our lesson in 2014 and didn't… Oh… Oh no…

Lecture Friday: Best Practices for Software Development

Just give the talk a little bit. It's fantastic but the opening is a bit slow.

Lecture Friday: Growing a Language

An excellent talk. In the intervening time I think we've got some more nuance with languages like Python, Go, and JavaScript. How it's not the size of the language but the size of the standard and third party libraries. The ecosystem of code you can call into instead of having to write yourself. Lots of well tested code that just works out of the box. That's the thing that makes languages attractive. Essentially how little engineering you have to do relative to the business venture (or just project scope) you can pursue.

Lecture Friday: You Suck at Excel

Everyone would due well to learn all this. Like, I talk to friends all the time who don't consider themselves programmers. I have a few who really know how to create and use spreadsheets. One lost their job due to office politics and they were out of a job for like a week.

Spreadsheets are, in my opinion, the closest we ever came as an industry to end user computing. We gave up because you make billions more if you sell them subscriptions to tools that do only what you let them while pretending they're better than a general purpose computer. It's one of the real shames of the industry if you ask me. We were so close.

I think LLMs may potentially unlock end user computing again, mostly by accident. I've been hearing about all sorts of non-technical people creating their own software tools again finally. Like a guy's dad who created his own browser plugin for a thing he wanted. It's such an ugly way to get them to really use a computer to compute, but at least we're moving in the right direction again.

Finally, if you're going to create an Excel clone (hence why this was filmed at Google) you're going to want to pay close attention to this. This is what real Excel users expect your application to do. Not things they should have alternatives to if they learn how to use your thing. No, this is all just very basic, expected functionality. Notice how over 99% of everything talked about here works exactly like this on Google Sheets? Yeah.

Lecture Friday: Brian Kernighan Interviews Ken Thompson

At some point, I realized, without knowing it up until that point, that I was 3 weeks from an operating system. Luckily right at that moment, my wife went on a 3 week vacation to take my one year old (roughly) to visit my in-laws, who were in California. Disappeared. All alone. And one week, one week, one week and we had Unix.

Absolute Legend.

Lecture Friday: What Bodies Think About: Bioelectric Computation Outside the Nervous System

Super cool insights into the biological world. A great look into some of what's been happening in biology research and how computation intersects. Where computer scientists can team up with biologists to help improve our understanding and thus our ability to improve medicine.

I also always appreciate when biologists bust the myth that you're some kind of brain in a jar. That your brain is the important thing making decisions and the rest of your body is a skin suit for it to enact it's control of the world. That's not how any of this works. Not even close. I hope the insights he is able to share and the experiments we have from the biological world help you see how complex and interconnected every single part of your body is. You're whole body is thinking, not just your brain, in ways we still really don't understand.

Lecture Friday: A Brief History of the BSD Fast Filesystem

This is less practical, more historical. I always say learning your history is really important. It helps you understand why things are the way they are. To that end, this talk isn't that great at building a picture to understand how we got here, however, there are a number of interesting things to learn about how filesystems have evolved in the BSDs.

I'd say, if you have the time and want to, it's a decent talk. If you're on the fence about what to spend your time listening to, maybe pick a different talk.

Lecture Friday: Papers I Have Loved

A couple great old topics in the history of games and graphics rendering (still relevant in ways today).

Lecture Friday: When Data Contradicts Security Best Practices

Always great to see talks that come with data. Still loaded with opinions, but the data helps create an informed discussion.

Takeaways are use 2FA, use a password manager, more software means more risk, security updates are critical but too many updates aren't about security, instead more often adding attack surface and sometimes supply chain attacks.

Ignore their sales pitch about moving everything to the clown. Turns out the clown vendor thinks you really need a clown.

Lecture Friday: Data-Oriented Design and C++

This is probably one of the most important talks I can share with you. Understanding how to squeeze the software is how the next generation of winners and loosers will be defined in a post-Moore's law environment. Hardware gains are no longer coming to save you. The ability to create software that's faster than your competitor will feel snappier and more responsive to customers and provide significant incentives to switch.

Lecture Friday: Advanced Git for Developers

Great talk about git beyond the basics. Not just a series of pointless disconnected features that almost nobody uses (our should use) like notes, worktree, or instaweb. Instead, it's a sort of normal day in the office with Lorna where you get to see a lot of the nuts and bolts in action through a series of fairly common tasks and events. Then you learn haw you can handle those all better with some better understanding of the internals and smarter tooling available.

Lecture Friday: Elevator Hacking: From the Pit to the Penthouse

Some really great insights into a whole lot of elevator details. Also, a whole lot of fun. This talk is so long, but sooooo good!

Gotta say, sweet shout out to SimTower. I loved that game when I was a kid. Not really in my list of suggested games these days, but still a fun play if you're into something old school to chill through a weekend with.

Lecture Friday: Procedural Programming: It's Back? It Never Went Away

Lecture Friday: Practical Creativity

Lecture Friday: The Power of Abstraction

Lecture Friday: How to Open a Black Box

Lecture Friday: How Complex Systems Fail

Lecture Friday: The Future of Programming

Lecture Friday: PID Loops and the Art of Keeping Systems Stable

Lecture Friday: Real Software Engineering

Lecture Friday: The Top 10 Ways To Scam The Modern American Programmer

Lecture Friday: The Computer Revolution Hasn't Happened Yet

Lecture Friday: Preventing the Collapse of Civilization

Lecture Friday: The Physics of Light and Rendering

Lecture Friday: Agile Methods The Good, The Hype, and The Ugly

Lecture Friday: Dear Developer, the Web Isn't About You

Lecture Friday: Reed - Elegant Accessibility

Lecture Friday: Single Point of Failure: The (Fictional Day Google Forgot To Check Passwords)

Lecture Friday: Breaking the x86 Instruction Set

Lecture Friday: Security and Privacy in a Hyper-connected World

Lecture Friday: Q: Why Do Keynote Speakers Keep Suggesting That Improving Security Is Possible?

Lecture Friday: Network Security in the Medium Term: 2061—2561 AD

Lecture Friday: SQRL - Secure Quick Reliable Login

Lecture Friday: The Five Domains of Play

Lecture Friday: Embedded Ethics

Lecture Friday: The Coming War On General Computation

Lecture Friday: Programming is Terrible: Lessons Learned From A Life Wasted

Lecture Friday: The Future of Programming

Lecture Friday: 17th Century Ship Building and Your Failed Software Project

Lecture Friday: Leadership Without Management: Scaling Organizations by Scaling Engineers

Lecture Friday: Indistinguishable From Magic

Lecture Friday: CPU Caches and Why You Care

Lecture Friday: That Awesome Time I Was Sued For Two Billion Dollars

Lecture Friday: Civilization: Institutions, Knowledge and the Future

Lecture Friday: Human Computation

Lecture Friday: Truth in Game Design