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
rob_pike's profile
Rob Pike
Rob Pike
Rob Pike
@rob_pike

Tweets

Rob Pike

@rob_pike

Ed is the standard text editor.

golang.org
Joined October 2010

Tweets

  • © 2018 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • 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.

    Rob Pike‏ @rob_pike Feb 22

    /bin/true used to be an empty file. The shell would open it, do nothing, and exit with a true status code.

    8:42 PM - 22 Feb 2018
    • 1,054 Retweets
    • 2,091 Likes
    • Fotostrasse Robin Franc[e]sco ఙ 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Ramon Pires da Silva Vincent Membré meribold Ian Harvey Señoro 🔻 Ory Band
    33 replies 1,054 retweets 2,091 likes
      1. New conversation
      2. Rob Pike‏ @rob_pike Feb 22

        When the Unix Support Group (development organization at Bell Labs) formalized everything, they gave it a long SCCS header, as they did every other file, and then needed to add "exit 0" at the end. The file was therefore infinitely larger than before.

        3 replies 13 retweets 147 likes
        Show this thread
      3. Rob Pike‏ @rob_pike Feb 22

        At some point, somewhere (not sure where) it was decided this was poor engineering, probably because the shell spends time reading that big SCCS header as a comment one byte at a time.

        1 reply 5 retweets 98 likes
        Show this thread
      4. Rob Pike‏ @rob_pike Feb 22

        (It probably became a shell builtin somewhere along the line too, but that's for someone else to study.)

        3 replies 3 retweets 85 likes
        Show this thread
      5. Rob Pike‏ @rob_pike Feb 22

        The command moved to /usr/bin/true. I don't know when, where and especially why.

        3 replies 7 retweets 92 likes
        Show this thread
      6. Rob Pike‏ @rob_pike Feb 22

        Eventually to avoid the unbearable overhead of executing a comment that shouldn't be there at all, someone rewrote true as a C program. What was once an empty file is now a non-portable executable binary compiled from C.

        4 replies 34 retweets 200 likes
        Show this thread
      7. Rob Pike‏ @rob_pike Feb 22

        This is why we can't have good software. This program could literally have been an empty file, a nothing at all, a name capturing the essence perfectly.

        5 replies 69 retweets 403 likes
        Show this thread
      8. Rob Pike‏ @rob_pike Feb 22

        But the inexorable forces of improvement dictate we can't accept that, so here we are: % file /usr/bin/true /usr/bin/true: Mach-O 64-bit executable x86_64 % Instead of: % file true true: empty % true % echo $? 0 %

        28 replies 79 retweets 434 likes
        Show this thread
      9. End of conversation
      1. New conversation
      2. 𝐟𝐢𝐬𝐡𝐞𝐫‏ @FisherStudio Feb 22
        Replying to @rob_pike

        @threadreaderapp unroll

        1 reply 1 retweet 38 likes
      3. Thread Reader App‏ @threadreaderapp Feb 22
        Replying to @FisherStudio

        Hi this is the unroll you asked for: https://threadreaderapp.com/thread/966896123548872705.html … Thank you to ask me for help. It's a pleasure to help

        0 replies 11 retweets 73 likes
      4. End of conversation
      1. New conversation
      2. Steph-One‏ @Staphene Feb 23
        Replying to @rob_pike @nixcraft

        Wait for the systemd replacement 😜

        1 reply 1 retweet 32 likes
      3. allo‏ @_allo Feb 23
        Replying to @Staphene @rob_pike @nixcraft

        systemd-truthd. Returns true unless your hostname includes a number.

        2 replies 4 retweets 57 likes
      4. End of conversation
      1. New conversation
      2. Victor Stinner  🐍‏ @VictorStinner Feb 23
        Replying to @rob_pike @hobbestigrou

        In Python 2, "while 1:" is optimized by the compiler whereas "while True:" evaluates "True" variable at each iteration. True can technically be modified (ex: True=False). In Python 3, True became a keywork and so is optimized too.

        2 replies 12 retweets 18 likes
      3. Itinerant Engineer‏ @CallMeImperiale Feb 24
        Replying to @VictorStinner @rob_pike @hobbestigrou

        So, #Python 2 recreated a feature that has existed in #FORTRAN for ages? In the latter, every literal appears in the symbol table and is modifiable, thus you could assign the value 13 to the symbol 7! That has always been my "go-to" weird feature of computer languages.

        1 reply 1 retweet 5 likes
      4. 1 more reply
      1. Chris Jepeway‏ @closemindedjerk Feb 22
        Replying to @rob_pike

        Eyes opened to the emptiness of /bin/true via snark at an ancient Usenix during convo re: releasing source code, when one wag quipped s/t like “well, what about the source to /bin/true, will the lawyers clear that?”

        0 replies 4 retweets 40 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Brad Peabody‏ @bradliusgp Feb 23
        Replying to @rob_pike

        On some old systems replacing /usr/bin/perl with an empty file results in a big improvement

        0 replies 4 retweets 29 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. New conversation
      2. x̩̥̩̥̩̥̩e̥̩̥̩r0‏ @fontvirus Feb 23
        Replying to @rob_pike

        looking at the sauce https://git.io/true.c  it seems like ~25% of the code exists simply to support the --help and --version flags

        3 replies 2 retweets 11 likes
      3. count‏ @counteractor Feb 23
        Replying to @fontvirus @rob_pike

        Why the hell does anybody need help and version flags?

        1 reply 0 retweets 4 likes
      4. Mylan Connolly‏ @mrmylanman Feb 23
        Replying to @counteractor @fontvirus @rob_pike

        Need to find out when true is true, of course!

        1 reply 0 retweets 3 likes
      5. 1 more reply

    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

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