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. Robert Walter‏ @RobertWalter83 Jun 15
      • Report Tweet
      Replying to @RobertWalter83 @felixfbecker and

      Infering that this is the main purpose of the LSP and that it is therefore the devil and the worst thing ever is not only polemic, but wrong.

      1 reply 0 retweets 0 likes
    2. Jonathan Blow‏ @Jonathan_Blow Jun 15
      • Report Tweet
      Replying to @RobertWalter83 @felixfbecker and

      What do you claim is the main purpose of the LSP, then? The official page is very plainspeaking about it: https://microsoft.github.io/language-server-protocol/ …

      1 reply 0 retweets 0 likes
    3. Robert Walter‏ @RobertWalter83 Jun 15
      • Report Tweet
      Replying to @Jonathan_Blow @felixfbecker and

      Yes, it is plainspeaking about it's purpose, so why should I go down the rabbit hole and try to explain it again, given the limitations of Twitter, if you obviously already think your depiction in your talk is truthful to what you can read on the site?

      1 reply 0 retweets 0 likes
    4. Jonathan Blow‏ @Jonathan_Blow Jun 15
      • Report Tweet
      Replying to @RobertWalter83 @felixfbecker and

      The most charitable conclusion I can come to here is that what we are really talking about, again, is a failure of generational knowledge transfer.

      1 reply 0 retweets 1 like
    5. Robert Walter‏ @RobertWalter83 Jun 16
      • Report Tweet
      Replying to @Jonathan_Blow @felixfbecker and

      No, I never even addressed your thesis. I just pointed out that you take a very uninformed standpoint on sth and explain it wrongly and with extreme rhetoric ("devil", "the worst") so that it fits your narrative. Reminds me of certain people + makes it hard to take you seriously.

      1 reply 0 retweets 0 likes
    6. Robert Walter‏ @RobertWalter83 Jun 16
      • Report Tweet
      Replying to @RobertWalter83 @Jonathan_Blow

      Also, your dismissive and partly immature tone here reinforces my impression to not take you seriously, even though I think you give some interesting points in your talk. Still, I don't get the feeling that you are interested in a meaningful discussion. That's fine, so long.

      1 reply 0 retweets 0 likes
    7. Andreas Svensson‏ @syranide Jun 16
      • Report Tweet
      Replying to @RobertWalter83 @Jonathan_Blow

      I would say it's even the name, "language *server* protocol". The objection is that there is absolutely no reason for that to be exposed as a server, HTTP-server with JSON-RPC no less. Could you even imagine how complex this would be if you made it into 5 servers communicating

      1 reply 0 retweets 0 likes
    8. Andreas Svensson‏ @syranide Jun 16
      • Report Tweet
      Replying to @syranide @RobertWalter83 @Jonathan_Blow

      amongst themselves? I sincerely hope you can appreciate the danger of an entire generation believing that replacing something so fundamental and simple as synchronous function calls with asynchronous HTTP-requests to a JSON-RPC HTTP-server is somehow desireable and good. It's not

      2 replies 0 retweets 1 like
    9. Jonathan Blow‏ @Jonathan_Blow Jun 16
      • Report Tweet
      Replying to @syranide @RobertWalter83

      The one thing I didn’t mention in the talk, too, is that once you have N servers, the claim “this insulated your program from a crash” is clearly untrue, because have fun trying to recover when some guy in the middle of that web dies and restarts.

      1 reply 0 retweets 2 likes
    10. Rafael Chaves‏ @abstratt Jun 16
      • Report Tweet
      Replying to @Jonathan_Blow @syranide @RobertWalter83

      If they are stateless (caching aside), crashing/restarting can be a way of life. And there is no "web" implied - what is the need for communication between servers?

      1 reply 0 retweets 0 likes
      Jonathan Blow‏ @Jonathan_Blow Jun 16
      • Report Tweet
      Replying to @abstratt @syranide @RobertWalter83

      Because libraries use libraries, all the time. I explain this in the talk. It's easy to say "stateless", but try the actual exercise of looking at every API you use and seeing what would be required to make it stateless, and what would be the corresponding drop in efficiency.

      10:32 AM - 16 Jun 2019
      • 1 Like
      • Ivan Braidi
      1 reply 0 retweets 1 like
        1. New conversation
        2. Jonathan Blow‏ @Jonathan_Blow Jun 16
          • Report Tweet
          Replying to @Jonathan_Blow @abstratt and

          (And also, what would be the corresponding increase in complexity of the control logic.)

          1 reply 0 retweets 1 like
        3. Rafael Chaves‏ @abstratt Jun 16
          • Report Tweet
          Replying to @Jonathan_Blow @syranide @RobertWalter83

          If your API is designed for potentially high latency (which is a good practice in many cases anyways), and you have a language-native client that wraps the IPC, there is no reason writing client code would be more difficult to write.

          1 reply 0 retweets 0 likes
        4. Andreas Svensson‏ @syranide Jun 16
          • Report Tweet
          Replying to @abstratt @Jonathan_Blow @RobertWalter83

          However the server code would be much more complicated to write. It's also much more complicated to debug and reason about from the perspective of the client. Additionally, the OS must task switch to the server process which in itself has a significant latency and cost, and back.

          2 replies 0 retweets 0 likes
        5. Andreas Svensson‏ @syranide Jun 16
          • Report Tweet
          Replying to @syranide @abstratt and

          This also means you'll have to carefully design the API to too many calls, which means the API is both harder to design and use, and less flexible. When the result is meant to be presented to the user it's easy for the overhead/latencies to stack up and you can no longer hit

          1 reply 0 retweets 0 likes
        6. Andreas Svensson‏ @syranide Jun 16
          • Report Tweet
          Replying to @syranide @abstratt and

          60/144FPS. So you'll spend more time refining the API to add more caching (which is really complicated to get right) and bulk-functions or you'll just do as most seem to do nowadays, "meh, 200ms is fast enough for opening a dialog".

          2 replies 0 retweets 0 likes
        7. Andreas Svensson‏ @syranide Jun 16
          • Report Tweet
          Replying to @syranide @abstratt and

          That being said, server/IPC is surely the right tool for some jobs, but it's a really bad tool for solving interop.

          1 reply 0 retweets 1 like
        8. Rafael Chaves‏ @abstratt Jun 16
          • Report Tweet
          Replying to @syranide @Jonathan_Blow @RobertWalter83

          Agree that it is better for some applications more than others. Still curious to hear about an alternative that promotes interoperability and works across OSes.

          1 reply 0 retweets 1 like
        9. Andreas Svensson‏ @syranide Jun 16
          • Report Tweet
          Replying to @abstratt @Jonathan_Blow @RobertWalter83

          Not my area of expertise. I'm mostly concerned with the attitude that any solution to a problem is a good solution. E.g. docker is imho very commonly used only because deploying PHP/Python/etc is a nightmare, whereas compiling to binary would be far more ideal.

          1 reply 0 retweets 0 likes
        10. 20 more replies

      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