Skip to content
By using Twitter’s services you agree to our Cookies Use. We and our partners operate globally and use cookies, including for analytics, personalisation, and ads.
  • Home Home Home, current page.
  • About

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @
  • Language: English
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
Jonathan_Blow's profile
Jonathan Blow
Jonathan Blow
Jonathan Blow
@Jonathan_Blow

Tweets

Jonathan Blow

@Jonathan_Blow

Game designer of Braid and The Witness. Partner in IndieFund.

San Francisco
the-witness.net/news
Joined January 2010

Tweets

  • © 2019 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • Imprint
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @

Promote this Tweet

Block

  • Tweet with a location

    You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.

    Preview

    Why you're seeing this ad

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not working for you?

    Hover over the profile pic and click the Following button to unfollow any account.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.

    Learn the latest

    Get instant insight into what people are talking about now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    1. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      Only a tiny minority of professional programmers have a clear picture in their minds of how fast modern computers are. 99.9% have next to no idea. How does this affect software that is even conceived? (Ignoring, for a moment, what is actually built, which we know is very slow).

      58 replies 98 retweets 550 likes
      Show this thread
    2. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      How big of a problem is it that we have this crucial craft, on which we are knowingly staking the future, and almost none of its practitioners understand the fundamental tool they are using?

      7 replies 6 retweets 99 likes
      Show this thread
    3. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      (For the record, I don’t place myself in the top tier re understanding of speed or anything else. I am somewhere in the middle of that gradient between the 99.9% and the People Who Really Know.)

      4 replies 1 retweet 45 likes
      Show this thread
    4. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      We see all this bad rhetoric claiming “system X is only 2x slower than native code therefore it’s fast”... but one must ignore rationalizations and look at the actual output, which is several orders of magnitude inefficient. Few people are willing to put 2 and 2 together here.

      9 replies 3 retweets 66 likes
      Show this thread
    5. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      The most common objection to these points is "we write slow software because it lets us make things faster and more easily". I agree this is the common belief, but it's wrong. If development is so much easier, why is productivity approaching 0 over time?

      20 replies 11 retweets 118 likes
      Show this thread
    6. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      Replies seem to be rat-holing on the old well-understood concept that software is slow. Yeah, we know, I have said that many times (and said to ignore that this time). What I am highlighting here is a deeper issue: programmers don't really know what computers are any more.

      7 replies 4 retweets 65 likes
      Show this thread
    7. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      Speed is one dimension of understanding that's lacking; the picture of speed in programmers' heads is 2-4 orders of magnitude too slow. It's easy to see and understand this, which is why I brought it up. But it's not the only dimension of missing understanding.

      2 replies 1 retweet 29 likes
      Show this thread
    8. Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      To make the speed point again, for an attempt at clarity: Programmers have a picture of their computer, in their minds, that they use to figure out what to do. For 99.9%+, that picture is inaccurate: the imagined computer is 100x-1000x slower than the real computer.

      9 replies 15 retweets 90 likes
      Show this thread
      Jonathan Blow‏ @Jonathan_Blow Jul 25
      • Report Tweet

      This will result in software that's too slow, obviously. But it also affects what one thinks is possible, what one dares to imagine to do. That is the more important part. Humans are very example-based, and if our examples are wrong, where they lead us will be wrong too.

      3:57 PM - 25 Jul 2019
      • 13 Retweets
      • 154 Likes
      • Wesley Barlow Joao Victor Silveira Wesley Helton John Li Dr. Nicholas Dwork Sam Bruns Givup Laurent Giroud Ivan Hawkes
      14 replies 13 retweets 154 likes
        1. New conversation
        2. Christopher Sisk‏ @chris_sisk Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          By the same logic rockets wouldn’t work because people can’t walk fast enough on their hands. Sounds like TED talk fluffery

          2 replies 0 retweets 3 likes
        3. Jonathan Blow‏ @Jonathan_Blow Jul 25
          • Report Tweet
          Replying to @chris_sisk

          If you try to design rockets, and the imagined rocket in your head is 1000x off the capabilities of a real rocket, you probably ain't getting to orbit. I am not sure where walking-on-hands comes from.

          1 reply 0 retweets 4 likes
        4. Christopher Sisk‏ @chris_sisk Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          You’re using singularity level fluff talk to inflate the basic concept that the better you understand a system the better you can work with it.

          2 replies 0 retweets 2 likes
        5. Jonathan Blow‏ @Jonathan_Blow Jul 25
          • Report Tweet
          Replying to @chris_sisk

          Are you a programmer?

          1 reply 0 retweets 0 likes
        6. Christopher Sisk‏ @chris_sisk Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          Yes.

          1 reply 0 retweets 1 like
        7. Jonathan Blow‏ @Jonathan_Blow Jul 25
          • Report Tweet
          Replying to @chris_sisk

          If you are a programmer and you think that what I am saying is "singularity-level fluff talk", then I am afraid you are exhibiting exactly the problem I am talking about. This isn't singularity-level anything, it is objective reality today.

          2 replies 0 retweets 5 likes
        8. Jonathan Blow‏ @Jonathan_Blow Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow @chris_sisk

          The only reason it would sound like "singularity-level fluff talk" is if indeed your picture of a computer is way slower than what they actually are, such that 1000x greater performance sounds like some far-future singularity thing. It's not. It's what we would get if we

          1 reply 0 retweets 1 like
        9. Jonathan Blow‏ @Jonathan_Blow Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow @chris_sisk

          cleaned up our act on current-day, existing, computers.

          1 reply 0 retweets 5 likes
        10. 4 more replies
        1. New conversation
        2. Joel Micah Donovan‏ @jmdragonwake Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          I suppose underestimating CPU speed relative to, say, network speed or RAM speed also must lead to some design patterns that make software slow and bad, e.g. using a client/server model to communicate between different parts of the same program.

          1 reply 1 retweet 8 likes
        3. Jonathan Blow‏ @Jonathan_Blow Jul 25
          • Report Tweet
          Replying to @jmdragonwake

          Totally.

          0 replies 0 retweets 2 likes
        4. End of conversation
        1. New conversation
        2. Casey Brant‏ @BaseCase Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          I agree that a lot of modern software is too slow, but I don't follow the chain from "mental model of computer is slower than real computer" to "software built for that mental model runs slowly." It feels more obvious to me that it would run faster. Can you explain that step?

          1 reply 0 retweets 3 likes
        3. Charles Palmer‏ @meheleventyone Jul 25
          • Report Tweet
          Replying to @BaseCase @Jonathan_Blow

          To write fast software you need to understand what slows down the computer and cater the software to avoid that. Or take advantage of features that require some opt in. If these things don’t exist in your mental model you can’t do either.

          1 reply 0 retweets 3 likes
        4. Charles Palmer‏ @meheleventyone Jul 25
          • Report Tweet
          Replying to @meheleventyone @BaseCase @Jonathan_Blow

          This is even more true of some languages that try to abstract over some of the more finicky details. For example even if a scripting language like JavaScript is JIT compiled to native code it still necessitates doing some dumb things because of the language design.

          1 reply 1 retweet 0 likes
        5. Charles Palmer‏ @meheleventyone Jul 25
          • Report Tweet
          Replying to @meheleventyone @BaseCase @Jonathan_Blow

          Which is why things like typed arrays leak in and efforts to produce JS the JIT compiler can optimise are created (asm.js) But your average JS programmer isn’t doing these things and their world view is disparate to that required to make things fast.

          1 reply 0 retweets 0 likes
        6. Casey Brant‏ @BaseCase Jul 26
          • Report Tweet
          Replying to @meheleventyone @Jonathan_Blow

          Gotcha, that all makes sense. If that’s what JB had in mind also, I think I was misinterpreting his tweets in an overly reductive way, where the “slow mental models” were *just* slow but otherwise right, rather than “wrong/incomplete and therefore slow”.

          0 replies 0 retweets 1 like
        7. End of conversation
        1. deadalǹ͔͜͡i͎̜͖͗̎͞x̛̳̠̤̥̦̉̊̕̕‏ @deadalnix Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          This is worse than people think. For instance watch this presentation from @incomputable : https://www.youtube.com/watch?v=zxwKAX7p8GE … I've done my fair share of compiler work, so I know how the computer work better than most, and yet I'm not ashamed to say I have no idea what's going on here.

          0 replies 1 retweet 2 likes
          Thanks. Twitter will use this to make your timeline better. Undo
          Undo
        1. New conversation
        2. Daniel Gibson‏ @Doomed_Daniel Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          Shouldn't underestimating the computers speed lead to "overoptimized" software instead of too slow software?

          1 reply 0 retweets 3 likes
        3. SuperJer's ɹǝʇʇᴉʍʇ‏ @superjercom Jul 25
          • Report Tweet
          Replying to @Doomed_Daniel @Jonathan_Blow

          Only if you recognize that it *could* be faster.

          0 replies 0 retweets 1 like
        4. End of conversation
        1. PRPGWorldWizard‏ @PRPGWorldWizard Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          The biggest issue facing software today is the overly complex, poorly documented, or hard to use correctly leaky abstraction layers stacked atop one another. This IS fixable, but nobody WANTS to...

          0 replies 0 retweets 3 likes
          Thanks. Twitter will use this to make your timeline better. Undo
          Undo
        1. Dan Thompson‏ @gunvulture Jul 25
          • Report Tweet
          Replying to @Jonathan_Blow

          I think it's telling that I, as someone who loves responsiveness and fast programs, still finds instantaneous response times to feel -weird-, just because of how rare they are.

          0 replies 0 retweets 4 likes
          Thanks. Twitter will use this to make your timeline better. Undo
          Undo

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2019 Twitter
        • About
        • Help Center
        • Terms
        • Privacy policy
        • Imprint
        • Cookies
        • Ads info