Chris X Edwards

If there were a master toggle switch to get rid of all the unlabeled toggle switches in the world, I'd turn it on but mean to turn it off.
2021-09-12 21:46
"I probably take risks that if I were to do the expected-utility calculation could not be justified, like bicycling." S.Pinker NYTinterview.
2021-09-12 09:07
While time traveling to warn album cover artists..."So this Spotytunes will sell tiny 1cm albums over the phone?" "Ya, something like that."
2021-09-02 19:52
I love it when you click "Sign Out" or "Log Off" and the web site then tells you to "Please wait..."
2021-08-30 08:08
My pitch: training GANs to generate pitches that bilk money out of VC investors.
2021-08-19 10:55
Blah Blah

Computer Graphics Contest Tips

2021-09-15 10:18

As yesterday’s post explains, I have just spent way too much time studying the 1900 videos submitted to the Dynamic Machines Computer Animation contest. All of this has given me some ideas about strategic approaches which I will share here.

Specific To The Dynamic Machines Event

I’m going to start with some tips specific to this recent contest. Although this advice is too late to be helpful here, it may translate to other projects and may be worth noting.

  • Do not hide the ball! If the main character goes into hiding it is hard to follow along.

  • Do not teleport the ball. If you absolutely must, give very obvious cues where to look. Seriously, giant glowing arrows would not be overdoing it.

  • Do not have a mismatched environmental HDRI (high dynamic range image) reflection on the ball. There were so many indoor and underground scenes with reflections of a bright sunny desert or something equally absurd.

  • Even worse, the reflection should not roll with the ball. This actually takes extra work, but it happened.

  • Lens flare might be a bad idea. If the camera is being controlled by the organizers, it’s risky to meddle with it too much. Similarly depth of field adjustments are possibly effective, but must be used carefully for a project like this.

  • If you are an organizer, don’t make the video hard to find by calling it, and I quote, "Jaw-Dropping Collaborative 3D Marble Machine!" We were given a chromium ball, not a marble!


Any Computer Graphics Event

Ok, that event is in the past. Moving on. These tips apply to any computer animation project.

  • If you can competently throw in some live action video somewhere, it does usually produce good effects. Green screen work, inset screens, anything. (e.g. 1:50:18=waterfall)

  • Do not use gears! As an engineer and good friend of a gearbox designer, this was painful. I know a lot of people think everyone loves the steampunk look, but consider how the originality will suffer. And unless you know what a contact line and a trochoid are, avoid gears specifically.

  • Anything with the Blender grease pencil will be extremely unique. If you’re good at it it might even be easy and extremely effective.

  • If you’re going to randomly download an asset jumble make sure scales and poly densities match. Ask not what your random collection of assets can do for you; ask what you can do for your random collection of assets.

  • A well thought out water, smoke, particle effect is good. Gratuitous use is not so good. A random collection of your software’s physics effects is like a jumble of random assets; maybe if you had an "effects shop" theme it could work, but you need some very good pretext to do that.

  • Make sure the scales of everything make sense. This includes textures and models. For example, don’t have woodgrain rings that are bigger than another entire wooden artifact.

  • If you make a wooden board, the endgrain must at least be different from the face. If you’ve never used any kind of saw to cut wood in your life, best to stay away from wood textures completely. And don’t just wrap a random scene in "wood" texture and expect that to be sane.

  • In general, be careful texturing implausible shapes implausibly. Think about the necessary thickness of whatever makes that texture. In the last contest I saw things like impossibly thin wood ramps, and curved bricks curving down the exit hole.

  • Try to use Eevee (a Blender rendering engine) if you can. If you must use Cycles (the other Blender rendering engine), make damn sure you don’t have what I call "Cyclesburn". If you can’t tame the noise issues, best to just plan your whole project around an engine that is orders of magnitude faster, and use that speed to iterate to success.

  • Bright scenes render better (e.g. less Cyclesburn) than dark ones all things being equal. They are easier to see in various compromised conditions (scaled down, on a phone in sunlight, skipping frames, poorly adjusted monitors, etc.).

  • Subtle changes to HDRI environment textures are surprisingly important and must not be neglected. Compositing can also do amazing things and should be explored.

  • Avoid obscure references. We referenced classical art which one might assume would be a "classic", but no. Universal themes work best independent of any other zeitgeist, locale, aesthetic, brand, IP, etc.

  • Are you recreating a video game or an animated movie? Make sure your scene is much more interesting than simply playing the original.

  • CGI is vector based and can scale infinitely. This makes it tempting to create a grand scene that realistically doesn’t fit and then try to cram it all in. Make sure your scene fits your ultimate resolution comfortably. You should imagine that people will be viewing the work on much worse resolution screens (phones, small browser windows, thumbnails, etc.) Test this.

  • Make sure your action fits into the frames you have. If your plot is too complicated, it will move so fast people will not be able to follow.

  • Surrealism today takes more than it did in the past. When Dali painted a jumble of assets together on a canvas, it was amazing; when you do it in Blender, it is tedious.

  • Don’t just put one tiny surreal detail into an otherwise prosaic scene. That’s not surrealism, that’s a mistake.

  • "Sign" your work somehow because the organizer may do a shit job of labeling it and letting others find your portfolio if you and they are interested. QR codes can be ok. If you don’t want the internet actively finding you, consider leaving evidence that you specifically created the work and not someone who stole it and claims you stole it. In ours, for example, the two broken wheels at the bottom of the frame make the letters "e e".

  • When you can subtly put a Blender logo or Suzanne head or computer screen with Blender or QR code to or donut (see 10503_stewart_n), it is good PR. Remember we are Blender’s PR department. Help out where you can.

  • If there is a theme or point to your work, don’t hide it in the periphery. Make sure it’s obvious. Make sure it’s obvious to people who aren’t knowledgeable about your theme. "Insider jokes" are probably not worth the effort.

  • If you stumble upon a very cool effect that you want to base your whole scene on, come up with a new concept that makes it work; don’t just show the random thing randomly because you can. For example, you should refrain from including a random cloth wall hanging that you got from the most basic cloth tutorial. That kind of thing just draws attention to the fact that elements in the scene are not well integrated.

  • Avoid animating by hand anything a professional studio would insist on mocap for - it will be very hard and it will probably not look great. If you can get high-quality custom mocap animations, that can be quite powerful and distinctive. Most modern professional computer graphics animations are still done with actors. Because of the Laundry Problem animating a robotic version of anything will be more effective than a natural creature.

  • If you’re nabbing random image texture assets make darn sure they have the resolution to support your scene without dropping into a pixelated mess. And I pray that the person who left the stock-photo watermark on their project, did so ironically.

  • Don’t listen to me! Study the thousands of entries to previous contests and come up with your own set of rules that you yourself discover are important.

Dynamic Machines CGI Contest - Opinions Of Random People

2021-09-14 22:50

As you might recall, back in July EE and I worked very hard to create a unique and high quality submission to the Dynamic Machines computer graphics animation contest. Our web site for that is here.

After several weeks, the "results" were finally released. They were kind of disappointing as we knew they must be. The problem is that instead of being judged by a panel of computer graphics experts, it was judged by one guy whose opinions mostly do not match mine. I’d say that to reliably make a random judge’s top 100 list you really need to be in the top 20 overall as judged by a group of experts. In other words, to ensure getting picked, you must have a project so outstanding that nearly everyone considers it universally brilliant.

There were definitely twenty projects much better than ours! As you might expect, I thought that our project was pretty good, but of course one never knows how some random guy will feel about it. And we still don’t really know; we just know it didn’t make his official "top" 100. Putting our project aside (maybe it was #101 or actually terrible, doesn’t matter really) what I was really disappointed with was how many amazing and deserving projects were overlooked and basically thrown in the trash heap. This did not seem cool to me.

To honor and learn from all the amazing artists who participated, I set out to properly look at all of the entries and make my own decisions about them. With 1900 submissions, this was a much bigger undertaking than I had imagined. And in the end we just have another random guy’s stupid opinions. If you participated but I didn’t highlight your entry, don’t feel bad — these were all of such quality that I’m sure you’re on someone’s list of favorites.

As much as I really enjoyed working on our original submission and seeing all the entries, there was a ton of room for improvement in the contest format. Such collaborative events are really cool and have so much potential but I was very annoyed by many details.

First, there should be better exposure for some of these really great projects. I don’t know exactly what the answer is. Maybe some kind of subcategory awards. Maybe by country or state specifically. Maybe give some attention to the top 200 or top 500. Obviously some kind of community voting mechanism would be ideal — maybe give each person who submits a valid entry 10 votes. And for all 1900, it would be polite if the artist’s contact information (generally a link to their portfolio) was conveyed just as they are for the chosen 100. There are some entries that I’d love to contact the artist and congratulate them on an amazing entry and ask how they did it, maybe see their other work and help out their stats.

The obvious improvement is to have a panel of judges. To have one colorblind (not even kidding) guy with three whole years of experience saying what’s good as the voice of the whole CG community is probably not ideal. And this is a big deal. I noticed that this "top" 100 video was being recommended in all kinds of diverse places. It currently has over a half million views and will probably just keep accumulating hits for years to come.

Speaking of YouTube, that platform is not necessarily ideal. I ended up downloading the entire video (hint: youtube-dl is great). That allowed me to get full exact native resolution and consistent full frame rates — that makes a huge difference! These scenes are packed with underappreciated details that YouTube’s rough handling can obscure, especially if you’re watching it scaled down.

The soundtrack of the compilation videos was a crime. We mourned the life-hours lost by so many artists who lovingly enhanced their projects with a soundscape only to have it obliterated by the abject stupidity of the organizer. This is inexcusable and I’m not happy about it. I suspected when I worked on my sound design that this would happen and it’s not so important for our project, but there’s a whole category of musical scenes and the music has been replaced with something completely wrong and awful. WTF was he thinking? Note that the same organizer who ruined these entries was the same guy who said, (and I am quoting verbatim) "Sound design is highly encouraged." Why do that? Super uncool. I had to mute the whole obnoxious thing it was so terrible (the hot key is "m" in a Youtube player if you need it).

In my opinion, the whole concept of a ball rolling through a Rube Goldberg contraption was set up to be somewhat boring. Ten scenes of that might be cool. Twenty tolerable. But we’re talking about 1900 here, 3.5 hours! Thankfully the massive creativity of the community mostly rescued it. I wasn’t the only one to feel this way. There were about three entries that we very much liked that went through the whole Rube-Goldberg trope very classically staged, but then subverted expectations by having the contraption break and fail comically, illustrating how that was actually much more satisfying. (e.g. tom_d 0:29:06).

Beyond the obvious and somewhat reasonable cliche that the organizer envisioned, I was surprised by how many weird tropes emerged. If your entry included one of these, it could have been brilliant in every way except for one: originality.

The first weird tropes were from video games. In our project planning, I personally thought of Donkey Kong but quickly dismissed it as too obvious — it turns out, correctly. Minecraft will always have a mob of enthusiasts (I’m one) who will craft something in that theme. But the one I found really weird was Portal. Portal is a fine game, but somehow it caught the imagination of many artists who thought this project’s concept reminded them of Portal. I found those entries to be generally confusing to watch. If you’re going to use a video game (including Legos) theme, you need to make sure it is more interesting than just playing the game! It does not seem wise to compete with the likes of Legos and Disney.

Here are some other tropes that emerged that I noticed: bathrooms, showers specifically, kitchens, fridges specifically, pinball, claw machines, ferris wheels, rope bridges, balls fired from canons, lab experiments gone wrong (e.g. 0:45:18 john_w), alimentary tracts, basketball hoops, ball heating to glowing red or melting, ball inspection, desk tableaux (especially a character interrupted at their desk), parking garages, the internal components of desktop computers, and ants.

Some of these were just fine. The ball inspection scenes for example, were almost all extremely well done. Some common themes surprised me, for example ants, because I would have thought that was a safely original theme. However, even we considered it.


I’m sure the people who stuck an eyeball on the wall thought that was very quirky and unusual. I actually liked the effect (as when I first saw it in the early 1990s with unix’s xeyes) and most of those entries were high quality, but, uh, nope, not as unique and creative as you might think. That was done quite a bit including by the entry that won the over all grand prize! (Ahem.) Can you identify it?


Many projects featured random assets downloaded from somewhere and some started to become familiar. One that stood out to me is the nixie tube; I may be the only person involved who has actually used old equipment with this numerical display technology.


Speaking of antiquated people and technology — the gears!


I counted 126 projects using dysfunctional or mostly pointless gear trains. There were some decent ones though, for example: 0:37:25 sajith_a and 2:28:55 jose_a.

There were also rendering style cliches. Neon was the big one - it is simply so damned effective that it is massively overdone. Brass and gold metal were everywhere reminding me of the materials available to rendering engines of the mid 1990s. The same with marble and granite.

Legos were also a very common trope both as a theme and, I think when properly considered, as simply a rendering style. Many of the Legos projects had nothing to do with Legos the toy. They just were random scenes rendered in Legos style.

My least favorite common theme was personally pandering to the judge. I understand that maybe he has a legitimate fanbase who are excited to promote his brand and the contest itself — just as I was happy to see entries that gave a deserved hat tip to Blender. However, I can’t help but feel that by putting his image and branding in their projects it seems like an effort to curry favor, which seems a bit cheaty. (An egregious example at 00:33:33.) Also bewildering and disturbing were the ones featuring outright product placement. What’s the deal with the advert for a telephone brand at 0:37:24? Then there were ones that might have been just favorite brands of the artists so I’ll just try to ignore them (1:44:11, 1:19:10, 3:11:33). Seriously, using youtube-dl and skipping ad interruptions kept me sane.

One trope that I expected turned out to be completely missing: the Loc-nar! It is incomprehensible that a huge cult movie (that inspired the recent Emmy-award-winning brilliant Netflix computer animation showcase, Love, Death & Robots) got not a single reference as far as I could tell. That film from 1981 (the same year as the highly represented Donkey Kong) was Heavy Metal. In that movie, the binding theme was the antagonist, the Loc-nar, who literally is a sphere which passes through disparate animated scenes. I thought it would be done to death! (No pun intended there.) Not even a Heavy Metal pinball machine! Well, one project at least gave the ball the Loc-nar’s character!


Well, that’s about all I have to say/rant about the contest such as it was. Instead of immediately sending you off to the official videos I wanted to do something hopefully helpful and interesting. I went through the full set and highlighted entries I personally found interesting and worthy of attention. I then wrote a program to allow me to extract its middle frame. I then spent way more hassle than I’d planned and created a web site to show them off.

Given the tricky portrait orientation, it’s hard to figure out how to best display these, but my goal was to let you see the full resolution. If you’re using a monitor that is less than 1920 pixels tall, you may want to open this in a new window and resize it to be tall and narrow until it fits on your screen. If you have a big (4k+) monitor, it should be fine. Note that there are previous and next buttons below the image. I put them there to keep them out of the way in case the image was just barely fitting.

These are in order of how they were presented in the main full video. After rewatchting the 100 video, I found some more that I did think were deserving of the attention they’re going to get — they are at the end.

Anyway, I found it very useful to study these still shots from the scenes. If any are intriguing you can open the main video cued to that entry with the linked timestamp in the upper left.

Open a new tab and check out my web page highlighting and annotating my favorite entries.


Note that I really do think all entries were fantastic. The amount of talent on display here is astonishing. I had some heuristics that I judged from (e.g. the somewhat objective property of being unique) but that’s just my opinion. Your opinion might be quite different from the organizer or mine. After looking through my still collection, I encourage you to watch the whole thing. I would strongly advise starting in the middle, not the beginning. This will let you skip over dozens of repetitive video game recreations and get to some more diverse stuff. The 2 hour mark is a good place to start. If you manage to make it to the end, start at the beginning and watch the rest.

Here is the main URL for the official video of all contest entries: All 1900 entries 3.5 hours!

If you finish watching all of that and are really curious which ones the organizer picked, you can find out The 100: here.

I spent a lot of time working on our entry and also studying the other entries. So much time that it is a bit unnerving. However, I must say that I have learned an incredible amount from this experience. Scrutinizing hundreds of very high quality scenes has been very educational. I don’t delude myself about my chances of ever putting this knowledge to professional use, but I enjoy this kind of artwork so much that it has been totally worth it just to improve my skills recreationally.

I remember when I was in high school, I went down to the local university’s art school to see a screening of a short collection of a handful of computer generated animation videos — maybe it was a SIGGRAPH thing. It was definitely mind blowing state of the art. We got to see maybe 15 minutes of computer animation at a time when having any kind of image on your computer meant painting it yourself by hand. I was absolutely blown away and I remember thinking that was the kind of future I wanted to be a part of. Now I am!

Review: Never Pay The First Bill

2021-09-09 15:36

I do not understand horror movies or novels; they make no sense to me. I enjoy fiction because my time spent with it is enjoyable. If the horror genre and being horrified is somehow enjoyable to people, why mess around with fiction? Real life far exceeds the imaginations of fiction (like this example and another). Well, this book by Marshall Allen about the unsexy topic of medical billing is firmly in the "true horror" genre.

Some might wonder why would I read this kind of book? I am not paying any medical bills at the moment and historically never have. (I actually want to get this back to the library ASAP so it can resume helping its real target audience.) For someone not staring down horror genre medical bills this would seem kind of off topic. But just as the safety of nuclear warheads is not off topic for any human, medical billing is a grave topic that all Americans need to be facing squarely and taking very seriously. Sorry, it’s simply not optional. I spent months in college learning how to solve differential equations (without a computer!) and no one would think of calling that use of my time frivolous — taking a few hours to learn what I can about medical billing is by far a much better educational investment.

I’ve traditionally operated under the belief that medical billing is really quite simple. I have traditionally believed all medical bills were essentially identical. They ask you to pay a certain amount of money and my assumption was that the amount never changed. Whether you were getting a simple checkup or a heart transplant, the cost was the same: infinity dollars.

It turns out that simplification may have been a slight exaggeration. I was amazed and delighted to see actual finite numbers emerging from the medical industry’s RNG. I found encouraging stories like the one on page 192 about an incident that the author wrote about on — the title of the article says it all: A Doctor Went to His Own Employer for a COVID-19 Antibody Test. It Cost $10,984. Note that the materials cost $8. Frankly I’m simply relieved to see finite numbers such as 10984 and 8 involved in US medical billing. My mind is much more at ease.

(Actually there is one other kind of bill, for a procedure that my personal billing system codes as "The Washington". For that the patient pays zero dollars.)

Before scoffing at my conception of US health care, ask yourself what is the practical difference between a price of infinity dollars, and a price far in excess of all the money you will ever acquire in your life? None. My simplification is much closer to reality than it might at first seem. For example, one of the topics that is not discussed is a problem I typically find with "health" "insurance": the maximum coverage payout amount. I can’t remember the exact details but I remember it typically being in the $100k range which left me pretty nervous. My health care needs tend to run either $0 per year or $50 million for rebuilding all of my internal organs after getting smashed by a hit and run driver. One of the lessons of the book is that if you’re in the latter situation, you probably will want to be paying bankruptcy lawyers instead of your doctors. Sorry doctors, but you yourselves are ultimately responsible for this whole mess.

US "healthcare" is famously a big mess. Why we suffer this is somewhat mysterious. Yes, the US is backwards compared to otherwise comparable countries, but why? No one really knows. I personally believe that the 55% of the population having employer sponsored "health" "insurance" introduce a subtle well-meaning yet catastrophic bug into the entire system. If employer "health" "insurance" "benefits" were simply prohibited, health care would quickly become much saner.

People think there are two major groups in the US with respect to health care: people with insurance through their employer and those who don’t have that. But there are really at least four groups: people with employer supported "coverage", people paying for their own private plans, people who use the US’s perfectly ordinary socialized medicine (i.e. old people, veterans 34%), and the uninsured (8%). That fact that children do not have a basic human right to medical care is one of the most damning and embarrassing aspects of the USA.

Employers acting in good faith are in fact badly obfuscating any potentially sensible free market mechanism. The book hints at this (p133) as it highlights the counter-intuitive notion that your "health" "insurer" is actually not interested in making the system not terrible.

The Affordable Care Act…included provisions that tried to keep insurance companies' profit margins in check. The "medical loss ratio" said insurers had to spend at least 80 percent of what they took in from premiums on medical care. That sounds like a good idea, because it limits ridiculous administrative costs and profit margins. But it also contributes to rising health care costs. Insurance companies like to say their profit margins are small, and that may be the case. But their duty and obligation are to make the company money, not save yours. So let’s say they just give themselves 3 percent profit. In that case, the company increases its revenue by spending more.

Gosh, that’s hardly ideal. No matter. Fortunately/unfortunately, this is moot in a rich country. If someone tries to sell you a used piece of chewing gum, how much is that worth to you? Before you answer, imagine the someone — they’re chewing the gum, oh, and pointing a gun at your head. Ok, comrade capitalist, how much? I’m pretty sure the latest thinking in academic free market economic theory is still "your entire wallet, promptly".

Well, the medical business is nothing like that, right? No. It’s more like you’re trapped down a mineshaft with some poison gas seeping through a crack that you might be able to plug up with some used chewing gum. If negotiations with the gum chewer at the top of the mineshaft fail, it’s not like they murdered you. But do note that the price is likely the same: your entire wallet. Praying to the gods of free market capitalism will do you no good when one party has no freedom. This is a bigger problem philosophically than any simplistic quick fix or blame game can address.

So that mostly covers my personal misgivings about the medical profession’s serious structural defects when it comes to solving coordination and resource allocation problems. Moving on.

What can be done? What actionable advice can help limit the losses of these daylight robberies?

Right away the title provocatively suggests: never pay the fist bill. I didn’t get a strong sense that this involved some kind of law of nature or immutable code in some billing software. I think the idea is that if you get a shocking medical bill, question it, look into it. Don’t trust the medical profession to be looking out for you at all once you leave their presence. (Makes you kind of wonder about them the rest of the time, doesn’t it?)

So you’ve been hit by that car and are bleeding to death in the ER — one interesting tip is to amend the forms that establish your financial agreements. The book recommends to add the following text:

I consent to appropriate treatment and (including applicable insurance payments) to be responsible for reasonable charges up to two times the Medicare rate.

If you’re still lucid enough to get all that right, having done that can be a very helpful move in the case of disagreements later. And what are the hospital staff going to say? "Oh I’m sorry sir, could you go bleed in the parking lot until you’ve agreed to let us charge infinity dollars for your treatment"? Actually, don’t answer that.

Another good tip is to be super vigilant and diligent about getting all billing codes. You know how some people check their receipt as they walk out of the grocery store? You need to do that live while you’re conscious constantly in medical situations. These "billing codes" refer to CPT codes or Current Procedural Terminology. Some specific resources mentioned were and to get an idea of what health plans are paying for various services. Also, don’t assume an "insurance" plan covers the thing you need!

Another tip is to avoid hospitals. Obviously you’re doing your best to not need any medical care ever, but hospitals in particular are apparently especially expensive. This applies to labs and facilities associated with them.

Oh, and if that car has smashed your collarbone, do not get into an ambulance; get back on your bike and ride to the nearest medical facility that is not a hospital. (Actually with a collarbone fracture that’s still somewhat intact, you might want to follow my example and just ride back home — there was nothing the medical profession could have done for it besides torture me with forms, waiting rooms, nosocomial infections, and bills.) The book affirms the dystopian situation with ambulances that John Oliver covers better here. Not assuring care for sick children is a hallmark of an evil population; not making ambulances a free public service is the sign of a stupid one.

If you must be at a hospital, check to see if they are complying with federal regulations to post their prices. Apparently many flout this legal requirement — which is frightening. What other public safety requirements do they also feel are beneath them?

The next messy topic relates to your "health" "insurance" if you’ve got it. Much of the book is really just making the case that in many situations "it’s actually more expensive to have insurance than it is to not have insurance." (p144) An example case is explored on p145 where a woman cut herself in her kitchen and went for three stitches at the ER. The "insurance" rate was listed as $5805 which is what the woman and her "insurance" company had to pay. The cash price on that exact same thing was listed at $257.

What’s going on with that? Well, that’s related to the insurers making more money when they process bigger bills. This is why dentistry, cosmetic surgery, and veterinary medicine are so reasonable by comparison. Not only that, but there is plenty of billing fraud. The title on p203 sufficiently describes a fact that is later more carefully detailed: "It’s just not worth it for your insurer to ferret out fraud". Again, they don’t want costs and transactions going down, not from a rational profitability perspective.

Always ask what the cash price would be for the service, even if you have "insurance". It is often a much better deal. If you’re not going to come anywhere near your deductible (which are often very high these days) it is often best to pay cash, even if you are "insured".

For drugs, GoodRX and Good Shepherd Pharmacy are specifically mentioned as some kind of drug dealers who are not quite part of The System. It’s confusing, and I avoid magic beans so I’m no expert, but if you think you need some and your "insurance" seems way out of whack, these specifically mentioned resources may be worth a look.

There is a whole section in the book designed to help small employers navigate the funhouse mirror version of distorted capitalism that is "health" "insurance" brokers. Seems these brokers have a big misplaced incentives issue. Shocker! I didn’t pay super close attention, but it’s there if you need it.

What’s crazy is that I read this entire book on the topic of not doubling your medical calamity with the iatrogenic costs, and yet I get the feeling I just scratched the surface. Still, my chance of barely surviving a serious car wreck is far greater than encountering a pressing calculus problem which I have, in theory, spent years preparing for. So reading this book was probably time reasonably well spent. Let’s hope I’m never forced to learn more while down a mineshaft, at gunpoint.

Review: There Is No Antimemetics Division

2021-09-04 12:13

I’ve got an interesting book to discuss today! It is very fresh, very modern. It may be somewhat strange to traditionalists, but it is definitely a 21st century vision of where at least some literature seems to be headed. What I saw of it was very cool and worth looking at.

First let’s get oriented a bit. In some ways, this is a real and proper book. Here is a bona fide link to The One Bookstore and a paper tome you can buy and hold in your hand.


However, the fact that a physical book exists is almost a distraction.

Ok, it is sort of a book but sort of not. What exactly is it? I must confess that I’m probably not quite cool enough to properly understand what this weird medium really is. But I’ll try to explain it. The medium seems to be a big online improv party for very literate people, people who like to read and/or write for fun. It is configured as a giant wiki website with thousands of contributors. This community writes fictional articles about weird and interesting sci-fi things. Imagine if the Twilight Zone and Wikipedia had a baby. The stories are about the work of a secret agency, sort of like the ones in Men In Black or Monsters Inc. The format is generally in the form of "SCP" articles which are styled like internal technical notes about various topics. Ok, I know this is hard to explain and I’m doing it badly. Old fashioned mostly-true Wikipedia comes to the rescue with this helpful description.

Within the website’s fictional setting, the SCP Foundation is a secret organization entrusted by governments around the globe to contain and study anomalous individuals, entities, locations, objects, and phenomena operating outside the bounds of natural law…

If you’ve never heard of this strange nexus of literary talent, you’re not alone. If you have, then you know it’s actually pretty cool. The content I’ll be discussing specifically within this universe is a book length (about 100k words, e.g. size of The Hobbit) contribution of a coherent story by the author qntm. Specifically, what I read are the works by this author which are presented here:

If you’re still not getting it, just imagine some high quality fan fiction written about some obscure corner of the Star Wars universe. It’s kind of like that if all of the Star Wars universe was composed entirely of fan fiction on a wiki and much of it was good.

So, this work has an interesting meta existence. What about this story itself? I liked it! It is really quite good.

In fact, the premise is about as good as I’ve ever seen in science fiction. Ever. Even though it generates inevitable tricky world building problems, the main concept is absolutely genius. Here is the soundbite blurb for it:

An antimeme is an idea with self-censoring properties; an idea which, by its intrinsic nature, discourages or prevents people from spreading it.

The SCP organization’s tasks involve (among other things) the research and protection from "anomalous antimemes". These are creatures (or something) that do the reverse of what normal communication channels do — instead of giving you knowledge, they remove knowledge.

To get you started, here’s a familiar example. Imagine someone goes to a party. The party definitely happened. Many events unfolded. But the next day the person wakes up in their bed knowing only that they had gone to the party and remembering nothing else. In this case one might suspect alcohol would be the antimeme. But if there was some artifact or creature or drug or situation that caused this effect even more acutely and in unexpected situations, how would one know they were even affected?

Here’s a nice introduction from a history of the organization. It starts out as a war time project.

1941 - The "Unthinkables" project begins, … Initially an experiment in advanced propaganda, its objective is to find a way for the Allies to circumvent the physical conflict of World War II and destroy Nazism as an abstract concept.

1945 - The Unthinkables construct and test-detonate their first antimemetic bomb… and accidentally destroy all of their research into antimemetic bombs. The Unthinkables learn their lesson and start over, but very soon the war is ended by other means.

From here they start to develop antimemetic measures and from that, countermeasures. With antimemetic countermeasures, they start to realize that the universe is filled with complicated information stealing ecosystems. Taking for granted our memories as a record of what truly happened is shown to be naive. Talk about your unreliable narrator.

If you’re thinking this sounds a bit like Memento, yes, it does. And that movie is cited specifically. I remember watching that movie (five times, like one does) and thinking, wow, that’s the kind of writing I’m impressed with. Well, this is no less impressive.

Concept - I’m going to add a new item to my fiction reviewing checklist: concept. E.g. the concept behind Robinson Crusoe and the Martian is a dude gets shipwrecked in tricky conditions. The concept in Tolkein is that the protagonists take a grand tour of a mishmash of European folklore. The concept in Skyrim and Star Wars is you are the dovahkiin, the chosen one, born to save a magical world. Etc.

The concept in There Is No Antimemetics Division is that there is a big complex unexpected branch of physics that deals with situations where people’s minds lose information in ways that they generally can not perceive. While it is not without flaws, this concept is a 10 out of 10. Absolutely brilliant.

Style - The writing is very clean and polished. But it’s the composition that really shines. Here’s a random example I liked.

The bunker was empty when he got there. His associates were missing. He was forced to presume them dead. And, in a rare lapse of forethought, he had neglected to bite off one of his human body’s fingers before fleeing the scene of the shooting.

Organization - Obviously this is something quite special. It’s almost like a computer nerd had installed a wiki engine and started playing around with some fun stubs (been there done that) and that spiraled out of control. (If Wikipedia is to be trusted, this whole site was started as some 4chan spinoff, proving that flowers can grow out of shit.) Whatever the origin, this story’s concept is perfectly crafted for the wiki format. Everything is therefore extremely well organized.

Character names - All good. I even felt like the jargon of the organization and their naming conventions were all very convincing and well done. The worst thing, beyond the control of qntm presumably, was the main acronym "SCP". I eventually had to write it down so I could refer to it each of the 1000 times I read it and it still wouldn’t stick. (An antimeme?) It apparently stands for: "Special Containment Procedures". Though elsewhere (e.g. in the title block) on the web pages it says "Secure, Contain, Protect" which does not help. Either of those two definitions are awkward for the purpose they served.

Believable characters - It all seemed fine. Maybe because the concept mostly overshadowed any petty personality issues of any of the people involved.

Natural dialog - Quite good. The author definitely pays attention to detail. The one jarring character quirk was smoking. For me if you want to indicate that a character is a moron, having them smoke cigarettes is a great technique. So when the "smart" people do it, I have to ask: are these people really so clever or was this author error? (I’ve been watching Sergio Leone films recently and the constant smoking is more grating than great. Apparently Leone insisted that Eastwood always be smoking even though Clint didn’t smoke! That is somewhat forgivable for a 1964 audience, but not today. And no, smoking wasn’t super common in the old west — before cigarette rolling machines were invented. If you want your smart-ish characters to be smokers, better set the work between 1917 and 1980.)

Plot complexity - I think it is at the global maximum. Any more complex, and it would be painful to keep up. Any less and it would be less interesting. Nailed it.

Plot resolution - A wee bit confusing, but mostly ok. And bonus points for the fact that you can keep reading other SCP stories indefinitely. Wow. Write your own if you’d like a better ending.

Erudition - Good. While the author is a computer nerd, that didn’t come up as much as it could have.

Gems - It wasn’t packed with them, but there were a few nice gems. Puns, clever references. I especially liked the name they gave to their information-proof room which they called a "Vegas room" (as in: what happens in Vegas, stays in Vegas).

Believable tech - Given the extraordinary premise, obviously physics will be very different from ordinary life. The one flaw I perceived was related to the aforementioned Vegas room. Some gunfire goes on inside, the noise of which alerts some robot on the outside. Perhaps I misunderstood the setup.

Immersion/world building - Beyond the story, there is a massive wiki that’s just bursting with tales about this fictional world. This real life community dedicated to building up this huge fictional world seem quite fastidious about avoiding paradoxes too. So a perfect score here.

Imagination/creativity - It’s not completely novel to have a secret organization that works in the shadows to protect humanity, etc. But this one felt very special. Normally, you find yourself asking, why is this secret? Why not just have a public "space alien investigation bureau" or whatever? Why exactly does it have to be secret? But with this, they would love for people to know more, but it’s not practical because this knowledge easily gets excised from people’s minds. It’s quite a tricky topic, and handled well.

There you have it. You had to suspect that out of nearly 8 billion people, that there would be some pretty good authors and ideas lurking out there beyond the ken of traditional publishing milieux. But with a brutal signal to noise ratio finding them yourself wasn’t going to be easy. Fortunately I found this one and verified that I at least thought it was well worth the price. I can enthusiastically recommend you read it too. Start here.

Or… don’t. Make it all the more clever by completely forgetting you ever read this review.

The Laundry Problem

2021-08-31 14:27

As regular readers may recall, if there’s a subtle technology concept that doesn’t quite have a name, I’m not shy about providing one. In the past I’ve talked about the Toaster Problem, the Tesla Paradox, and the Sign Painter Problem. I may think of new ones, but there is only one more in my longstanding list and today I will discuss the Laundry Problem.

Many years ago I was stumbling around YouTube looking at videos of plucky academic robotics projects. I don’t know exactly what video I saw but I came across a robot arm, maybe two, and the system was trying to fold laundry. I won’t depress you by enumerating the most sad and pathetic things I’ve ever seen in my life, but this laundry folding demonstration easily made the list.

To show you what I mean, have a look at this video of Andreas Doumanoglou’s admirable 2016 Imperial College Ph.D. project.

Note this is shown at three times actual speed! (Did you know that pressing ">" a few times in YouTube speeds up videos, in this case even more — worth doing for these ones!)

Here is a a video of an equally challenging, earlier project, Jeremy Maitin-Shepard’s 2010 laundry folding Ph.D. project.

This one is shown at 50x actual speed. Both of these projects are really extremely impressive if you understand how challenging this problem really is. Despite using hardware that cost as much as my house and taking way longer to fold laundry than any blindfolded human would take, these roboticists deserve a lot of credit. But if they actually wanted a lot of credit, they did a terrible job of choosing which problem to work on!

Here is another video demonstration from a 2018 Dartmouth school project. This one is more clever but also cheats a bit — which is definitely a smart thing to do!

That’s what academic robotic laundry folding is like. What does this look like in the commercial world where the task of folding things may involve a considerable amount of money?

Here is a video of some near fully automatic commercial laundry equipment in Japan. That one of the dudes is wearing a mask in 2015 is noteworthy, but also the fact that the only part that required dudes at all is the folding. This industrial laundry folding machine looks the same and may be from the same company.

Here is a video of a 2019 demonstration of a Japanese robot called Ugo. This one does not even have a brain of any kind! Here is its Oz behind the curtain.

If you search for "laundry folding machine", the main hits today are for a company called Foldimate.

From the Foldimate FAQ.

Isn’t it faster just to fold the clothes myself?

That depends on how quickly you fold. With FoldiMate, your clothes will be neatly folded every time, in under five minutes a load. And all you have to do is clip each item onto a set of clips (using our patented Easy Clipping technology).

Clipping only takes a couple of seconds per item. For comparison, it takes an average person more than a couple of seconds to fold something well.

Did you notice "clipping"? Yup. Just like the commercial machines — this requires human assistance after all.

Here is a marketing demo of a product called Laundroid from 2015. I believe they are out of business now and I’m not a bit surprised.

Related laundry functions are also interesting. Here’s a demonstration from a university in Spain that’s simply trying to iron something already set up on the ironing board. The take away message here is nicely highlighted in the video’s text: "Ironing is a very complicated task to automate."

Ok, that’s the setup. Laundry folding robots — they look rather incompetent. Doesn’t seem like they’ll be happening soon. Ok, fine. What’s so special about this? The Laundry Problem is more subtle and complex than some boring chore being done badly. In a 2019 article about Laundroid’s demise, the opening sentence is this.

The next time you find yourself worried about the robot apocalypse, remember that after years of development this little robot couldn’t even fold laundry.

The part I want you focus your attention on is "couldn’t even fold laundry."

Imagine this from the robot’s point of view. "We tried to hire a human to move engine blocks but he couldn’t even displace one before encountering a failure mode." "Oh, we tried to get one to move parts out of a fusion furnace and they couldn’t even get near them." "Ever seen one throw a baseball? Hilarious! Their most expensive models can’t even break 130mph."

The Laundry Problem isn’t about laundry simply because that is some random problem I stumbled across. There are all kinds of tricky problems for robots (stairs, ladders, opening car doors, etc, etc). What’s special about laundry is that it highlights exactly what is wrong with the problem space. Laundry is what we humans wear on our bodies. We aren’t just somewhat familiar with laundry — we are intimately familiar with it. My comprehension of a shirt I’m folding is probably more complete than my comprehension of my own arms. Both are completely mysteries to a robot.

The Laundry Problem arises when a technology project attempts to solve a problem that is trivial for humans but surprisingly difficult for artificial mechanisms.

And the stress here is on the ease with which humans can understand and complete the task which is taken for granted. There are many hard robotics problems but it can be quite confusing for people not involved in robotics to understand how something that is effortless for humans can be a challenge for a machine. Other examples of things humans have spent billions of years evolving to be good at include recognizing faces, any kind of improvised motion control of our bodies, Arimaa, adapting to unstructured ever changing tasks, localizing oneself in space from surroundings, sensing danger from unusual sources, being better/smarter than NPCs in most video games, etc.

Here’s another interesting perspective on this. The MNIST database, is a low-complexity data collection of handwritten digits used to train and test handwriting recognition algorithms. It turns out that this task of recognizing digits was hard for computers at first, but eventually not hard enough. Researchers were able to start quibbling about accuracies of 99.9%, about what humans would quibble over. So they came up with a similar but different classification task: Fashion MNIST. All the data is the exact same format, but instead of digits, the agent must recognize what kind of article of clothing is being shown. This is actually easier for humans than reading digits (which requires some literacy). But for computers it is strangely very challenging. The scores are much lower for top algorithms on this data set (maybe 92%). That is a clear demonstration of the Laundry Problem, literally using laundry.


Great. How does this help us? Well, if you’re a science fiction author, you can dream up some great stuff like Asimov’s robots, or C-3PO, or the Jetson’s Rosie. By embracing Laundry Problems, you can make your technology seem quite magical — because it is!


However, here in the real world, if you are, for example, funding a startup or choosing a PhD project, it is very important to think very carefully about this issue. You should learn to recognize Laundry Problems and avoid them. Even if a company like Laundroid could conceivably pull off their goals, the effort would be huge and yet few would be able to appreciate what a miracle it was.

Here’s a more subtle example — I thought this article about brick laying robots was interesting. One commenter notes that Concrete Masonary Units (CMUs) are designed to be about what a human can practically handle. The Laundry Problem would suggest making a machine to handle such concrete blocks will probably be challenging and suboptimal for the machine. Best to put your money and energy toward a radically different construction technique where the technology can vastly outperform humans in ways humans can’t even hope to compete with.

I’ve thought about the Laundry Problem for a long time, even before I worked on creating autonomous boats. When I took that job I knew it entailed less laundry problem than autonomous cars, but still more than I would have liked. And sure enough, when people would see my boat driving itself, they would tell me to my face, "But this is easy, right?" They just couldn’t believe that, nope, some parts are as hard as anything anyone has ever done ever. I’m not saying I solved all of those hard cases of course, but just because it’s easy for me to grab the wheel and not crash into something obvious, it can be a very tense situation if a computer is trying to figure it out.

A good strategy to avoid the Laundry Problem is to make sure your project is infused with some robotic tricks that humans just can’t do. For example, make sure it operates at ridiculous speed, or with accuracy a human would find impossible. Lifting heavy loads is not especially challenging for machines but will never fail to impress most humans. At the very least make sure you highlight how your robotic agent has infinite patience and will soberly drive the boat pretty competently until the fuel runs out and boat driving becomes moot.

Computers may be completely incapable of appreciating what exactly computers are best suited for, but in my experience, most humans are no better.


For older posts and RSS feed see the blog archives.
Chris X Edwards © 1999-2021