John Carmack Profile picture
May 19, 2021 7 tweets 2 min read Read on X
Before the iPhone existed, I worked on a few games for what were called "feature phones": Doom RPG 1&2, Orcs&Elves 1&2, and Wolfenstein RPG.
Qualcomm's native-code BREW platform had better versions, but I haven't seen any emulators and archives for it, so they may be lost at \
this point. The J2ME (java mobile) versions are still floating around, and can be emulated.
My son wanted to get O&E2 running, so we set out on a little adventure.
Kemulator ran the game, but audio was glitchy and it hung after you died in game. Well, we are programmers, we \
should be able to fix it. Unlike most emulator projects, Kemulator turned out to be closed source abandonware, so we moved over to freej2me, which is a live github project.
The hang didn't happen, but audio was even worse. Missing sound effects was a simple bug fix -- \
MIDI sounds weren't seeking to the start on replays. We will submit a patch. Still, everything was glitchy with audio underruns.
We noticed that the emulator was taking an absurd amount of CPU, despite the game being built for <100 MHz mobile CPUs. \
We spent a frustrating afternoon exploring java profiling tools, but finally, Flight Recorder and JDK Mission Control pointed out the root cause: explicitly invoked garbage collection. A vague memory of having to call system.GC() every frame to avoid problems on some mobile \
phones bubbled up. We couldn't change the source on the game, but the jvm has a handy option -XX:+DisableExplicitGC that fixed everything right up.
This is an interesting case where an operation is >10x slower on a modern computer. \
A GC sweep on a phone with 128k of heap is a very different thing than a desktop with a multi-GB heap.
Some old writing about the early cell phone work:
web.archive.org/web/2006050217…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with John Carmack

John Carmack Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ID_AA_Carmack

May 31
Bullshit Jobs book review

The basic summary of the book is:

Roughly half of the jobs in the world are bullshit, so we could get rid of them and divide the remainder up to have a 20 hour work week and less impact on the planet.

This book grew out of a smaller essay:


37% of the survey participants thought their jobs were meaningless, and it takes a number of people doing the “real work” of building and operating offices to support the meaningless jobs, so he calls it about half of the workforce not contributing meaningfully to the world.

That may be an overstatement, but I don’t think it is off by a factor of two in the western world. He claims to have been accosted by many free market types that say this isn’t possible due to market efficiencies, but I accept the proposition that there may be a billion or more people doing work of negligible value.

I have a somewhat different take on the phenomenon, which makes me even more pessimistic than he is about reducing the amount of bullshit jobs:

Bullshit jobs are a luxury good, and we are only going to see more of them as society continues to become wealthier.

This is his case for the class he calls “flunkies”, but I think it accounts for most of them.

Burdensome regulations are put in place because the regulators feel rich enough to impose the costs of the “box tickers” necessary to comply with them. We have hosts of food regulations because there is no danger of starvation.

For a lot of people, the number of “heads” below them in an org chart is a measure of their self worth. This isn’t the same as flunkies that directly stroke egos; they don’t have to even see the people or know what they do, just that they are a resource at their disposal. Rich and successful companies reward their managers with more people.

On the other hand, his class of “duct tapers” fundamentally misunderstands the nature of most value creation. He talks about how software developers bemoan duct taping systems together, and would rather work on core technologies. He thinks it is some tragic failure, that if only wise system design was employed, you wouldn’t be doing all the duct taping.

Wrong.

Every expansion in capabilities opens up the opportunity to duct tape it to new areas, and this is where a lot of value creation happens. Eventually, when a sufficient amount of duct tape is found in an area, it is an opportunity for systemic redesigns, but you don’t wait for that before grabbing newly visible low hanging fruit!

Most of the book is just bitching about work in the modern world. He talks about how he doesn’t like putting policy suggestions in his books, because he wants his books to be about the problems, but this just comes off as a slyly cynical “Everything sucks, amiright?”

The anecdotes that he weaves through the book are from 250 self-selected people that reached out to him on Twitter to talk about their bullshit jobs, which is far from an unbiased sample, and I am not very sympathetic to most of them. One of his correspondents talked about how they couldn’t quit, because they kept getting offered more money to stay.  That’s not what “couldn’t” means.

He talks about “the spiritual violence of modern work” and how we have been tricked into not having a good life. However, he characterized the good life as “arguing politics and gossiping in cafes”, which is not as universal as he might think.

He styles himself an anarchist, but it is pretty clearly the anarchism that is supposed to happen after communism does its work, and I haven’t seen him say anything actually helpful in his books.

I’m curious if any of the people that suggested this book accepted the challenge to read  @johanknorberg ‘s The Capitalist Manifesto as a counterpoint.web.archive.org/web/2018080702…
There were a couple statements that sounded questionably true when I read them, and didn’t survive a fact check:

“America now has the lowest social mobility in the developed world.”

I think this is a badly biased metric, and it still isn’t true even by this standard.

“Even in those prisons where inmates are provided free food and shelter and are not actually required to work, denying them the right to press shirts in the prison laundry, clean latrines in the prison gym, or package computers for Microsoft in the prison workshop is used as a form of punishment—and this is true even where the work doesn’t pay or where prisoners have access to other income. Here we are dealing with people who can be assumed to be among the least altruistic society has produced, yet they find sitting around all day watching television a far worse fate than even the harshest and least rewarding forms of labor.”


What the actual source says is:
“In many cases, workers volunteer for work, because it is a lot more interesting and financially rewarding than watching TV all day”

Which is not the same as “used as a form of punishment”en.wikipedia.org/wiki/Global_So…
web.archive.org/web/2007012609…
The survey data that fleshed out the original essay speculation:


The actual survey:
yougov.co.uk/society/articl…
…ts-websites-editorial-emea.yougov.net/documents/Opi_…
Read 4 tweets
Feb 17, 2023
Skyfi.com is a startup that lets you order a new satellite picture taken like you are a movie government agency, but on the web for $175. I got one for fun, and a day later I had a 7k x 7k image sent to me. It looked good on opening, but when I zoomed in close,\
the pixels looked terrible, with saturation, gamma, blocking and stretching issues. I was pretty sure I knew what most of the problems were, so I got in touch with the developers, and everything got sorted out in a few days (they were already aware of some issues).
Startups are so great like that — see a problem and just FIX IT THAT WEEK. The time to deliver a fix to VR users at Meta was often over six months, disregarding all the problems that were just ignored. Note that Facebook ran like a startup for an unusually long time. I heard \
Read 4 tweets
Jan 24, 2023
This is an example of an “object culling” bug in VR Shell, but it is an error that you can see in a lot of 3D software outside the battle tested engines. You want to avoid wasting time drawing things that won’t be seen, so you typically first do some calculations to see if a \
rough approximation of the object, usually a bounding box, would be off screen. If so, you don’t draw the object. That is straightforward for static objects, but more complicated for animated ones, where just calculating the bounding box can be a lot of work. In this case, \
I thought the bug was that the culling was only looking at the headset position, without taking the entire avatar bounds into account, but it is weirder than that — it only does it when we are sitting on the floor, and not standing. Not sure what is going on. \
Read 4 tweets
Jan 9, 2023
When I first started getting successful in my 20s, I went through a period where I loaned money to anyone that asked me. Well into six figures went out — “emergency” expenses, start a business, make a down payment, etc. Most of the people just never spoke of it again, and \
I didn’t press them on it. It was a learning experience for me, calibrating some general people behavior. I don’t think anyone intended to not pay me back, but things often just don’t work out the way you plan. To my surprise, nearly 25 years later, one of the larger debts has \
been repaid. @americanmcgee was a close friend and co-worker on Quake, and I often fronted him “advances” for various reasons. He wound up doing game development in China, and I wished him well, but I only had sporadic contact with him. I am very much a “water under the bridge” \
Read 5 tweets
Dec 17, 2022
I resigned from Meta, and my internal post got leaked to the press, resulting in some fragmented quotes. Here is the full thing: facebook.com/permalink.php?…
As anyone who listens to my unscripted Connect talks knows, I have always been pretty frustrated with how things get done at FB/Meta. Everything necessary for spectacular success is right there, but it doesn't get put together effectively.
I thought that the "derivative of delivered value" was positive in 2021, but that it turned negative in 2022. There are good reasons to believe that it just edged back into positive territory again, but there is a notable gap between Mark Zuckerberg and I on various strategic \
Read 4 tweets
Dec 2, 2022
I learned from @fabynou ‘s book amazon.com/Book-CP-System… that the arcade system had rarely used, dedicated hardware to render star fields. I have considered that in VR — there is no way to render “perfect” star fields today, because the compositor will distort anything you render\
In such a way that the point light stars will not be the perfect 4 pixel linear distribution regardless of what you do. “I could fix that” lurks in the back of my mind when I see an occasional space game, but I know it would be ridiculous to define and support an interface.
Stars are perfect point light sources to the eye, they will not cover multiple pixels unless you are doing an intentional bloom effect with a max-value core. You can have dim single pixel stars, or larger max-value stars, but don’t draw large, dim stars!
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(