Devon Strawn
Design + Computers

The Rodeo, #2

This week (ended July 14 2019), Twitter went going crazy over an overly-reductive 10X engineer thread on Friday / Saturday.

The ‘10X’ buzzword has reached a point where it’s clearly struck a nerve. But I don’t think the 10X fetish is going away anytime soon. If there’s more pushback in the future, it’ll just go underground and morph into some other buzzword that means ‘person who can be pushed to deliver more code for less money’. After all, productivity = revenue / person

The Steam Labs Interactive Recommender is getting much praise around the web.


The popular vs. niche slider in particular is quite cool, and I wish it were integrated into all web products. Google, Twitter, and their ilk would be much more interesting with that filtering option.

The interface is also crazy fast. But apparently it’s because the interface is ‘cheating’: Digging around in DevTools, I didn’t see any network traffic when changing the filtering options. So everything’s occurring client-side.

It looks like the JSON describing all the games is sent in the HTML document. That JSON contains a list of 1,296 games, which seems like far less than the entire Steam catalogue. Either it’s a curated subset just for me, or perhaps Steam responded to the “mountain of porn” controversy by culling the list:

The new ‘dust’ Device Mapper target in Linux 5.2 is a cool feature for simulating a storage device with arbitrary failures. This is great for testing your code on a flaky hard disk / USB drive. (release notes)

The “What is the most C++ thing?” thread was funny and informative.

The thing that makes this a perfect question is the constraint:

Something you do semi-frequently in C++ which no other language would choose.

The answers are a micro-master-class in how to best approach and understand C++:

This next one’s a doozy. I guess I had such “C++ Stockholm syndrome” that I never realized this:

And my own contribution:

Craig & David shared a nice level design tip.

I’ve been studying composition fundamentals, and it’s great to have easy tactics to make boring elements a little more interesting.

A DSL for purely-functional 3D graphics is kind of neat.

Firstly, it combines F#, Domain-Driven Design, and the Elm Architecture. That’s interesting because you don’t even see much about these technologies in isolation – they’re still on the fringe. Combining them is even more interesting.

Secondly, the Elm Architecture solves a recurring problem that game developers fail to solve: how to synchronize game state and render state without introducing bugs?

Jacco Bikker open sourced the Lighthouse 2 rendering engine It’s his latest real-time ray-tracing / path-tracing engine. Here is Jacco’s blog post about it.

@SandwichColonel posted this fun Power Drift-style game demo with sprites from Nintendo’s 3D Hot Rally:

That tweet led me to these detailed articles by fellow Portlander Jake Gordon about how to build an old-school 3rd person racing game:

  1. intro
  2. straight roads (this is where the real meat starts)
  3. curves
  4. hills
  5. conclusion

Interesting discussion on the ‘games as art’ debate between two folks who were both at Brian Moriarty’s 2011 GDC talk.

Zach Gage makes some great points about Duchamp opening the door to question fundamental assumptions:

Continuation of Duchamp’s strategy of ‘breaking out of aesthetics to enter every other realm’:

Video games as the latest step in this process:

A reminder of what separates critics from artists:

Tim Dawson shares this great game / graphics debugging tip:

It’s a smart way to debug: by having a mental model of how variables change over time.

Inigo gives good advice for how to approach the start of a creative technical project:

It also apples if you’re a developer looking to build something: pair up with an artist first.

It’s an insight I’ve heard many times from hobbyists and seasoned professionals. It’s a lesson I learned the hard way years ago, too.

Developers should not make of go of it alone, especially not at the outset of a project. It’s somewhat counter-intuitive (I mean, art naturally comes after code, amiright?), but creatives are even more critical at the inception. You’ll save a lot of time and increase your odds of success.

If you’re a developer there’s a (relatively) quick hack to feel this lesson deep in your bone marrow:

Spend a few months creating assets in your medium of choice.

As an added bonus, you’ll pick up some rudimentary art skills and appreciate the work of your creative colleagues even more.

A a neat trick, but it doesn’t help folks with LAN IP addresses like 192.168.1.*.

Pavel Dobryakov shared how he made a touch-sensitive fluid simulation even cooler by exaggerating swipe feedback via motion blur:

If you’ve seen Martin Jonasson & Petri Purho’s Juice it or lose it talk, the same principles apply here.

Either Amiga nostalgia is experiencing an upswing, or I just became more aware of it:

I once owned a copy of the “Amiga System Programmer’s Guide”. If I remember correctly, there was a note in that book about a way to achieve >64 colors without HAM…

Akiba’s retro electronics stores are just a marvel to behold. I cannot wait to checkout BEEP next time I’m in Tokyo.

Blake has an enviable collection of retro computers and frequently posts his cool hacks:

Demoscene nostalgia: Making of Second Reality, by Future Crew.

A home video from 1993 showing the Future Crew putting the final touches on their soon-to-be-famous demo at Trug’s house.

Thanks to the English subtitles (turn on closed-captions), we can follow some of their discussion:

BoxCutter is a paid ($20 minimum) addon for Blender.

Pretty cool - it provides a good subset of Sketchup’s solid modeling functionality.

A note about writing the roundup

When I started writing the roundup, most of the linked content was tweets.

At first I tried embedding the tweets using Twitter’s embed codes – the obvious solution.

But embedded tweets are kind of a UX mess. Especially when there’s dozens of them on one page. Twitter’s formatting takes up a lot of space, with crufty bits that I don’t feel add to the reading experience.

So I wrote a quick script to pull just the bits I wanted from the Twitter API. That worked great but had a major problem I didn’t foresee…

The Twitter developer agreement won’t let you modify the formatting of tweets!

I wanted to do something nicer and more condensed here, but don’t want to run afoul of Twitter. So I have no choice but to live with the non-optimal Twitter formatting for now.


Anyways, onwards.

Why do the roundup?, revisited

I came across an even better reason to do this roundup: it provides breadcrumbs into the endless haystack that is the Web.

Perhaps my Twitter-fu is bad - but for big threads I often cannot find a Twitter sub-thread from the top-level thread link. Case in point - here’s a top-level thread.

And here’s the sub-thread I wanted to reference.

Notice how the sub-thread doesn’t appear when you scroll through the view from the top-level thread? You have to click into a single comment to get this super insightful sub-thread. But how do you know to click that single comment? You don’t. You either get lucky, or you miss that insight.