Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Rob Pike

    commandcenter.blogspot.com · Personal blog · on HN since 2009

    Rob Pike, a co-creator of Go and Unix veteran, blogs about language design, programming practice, and Go.

    Visit blogRSSHN submissions
    Languages & CompilersProgramming
    What HN says

    HN cites his posts on Go's design, such as "Less is exponentially more", and his byte order fallacy post for avoiding endianness ifdefs.

    Stats for nerds
    216HN people shared it
    89linked in comments
    3.9Kstory points
    Jan 2026last shared
    2012people per year2026

    Top posts on HN

    1. 1
      Go: What we got right, what we got wrong
      4 people · 642 points · first shared 2024 · 689 comments on HN
    2. 2
      Less is exponentially more
      61 people · 543 points · first shared 2012 · 122 comments on HN
    3. 3
      Color blindness
      6 people · 324 points · first shared 2020 · 161 comments on HN
    4. 4
      Go: Ten years and climbing
      2 people · 320 points · first shared 2017 · 182 comments on HN
    5. 5
      Less is exponentially more (2012)
      8 people · 240 points · first shared 2012 · 273 comments on HN
    6. 6
      The power of role models
      1 person · 190 points · first shared 2017 · 354 comments on HN
    7. 7
      The byte order fallacy
      19 people · 160 points · first shared 2012 · 103 comments on HN
    8. 8
      Rob Pike on regular expressions in lexing and parsing
      6 people · 133 points · first shared 2011 · 39 comments on HN
    9. 9
      My black body story (it's physics)
      1 person · 133 points · first shared 2022 · 31 comments on HN
    10. 10
      Thank you Apple
      2 people · 129 points · first shared 2012 · 129 comments on HN

    What HN people wrote when they linked it

    • dcminterJan 2026

      I roo am trying to curate my RSS feed to be doom-scrolling free. These largely achieve that for me. You'll find a smattering of political posts in them, but that's an inevitable side effect of living in abnormal political times.

      https://scrollprize.org/ - The Vesuvius Challenge: Using high intensity X-ray scans and computation to attempt to retrieve lost scrolls from Pompei; real uplifting Sci-Fi stuff! Possibly the most heartwarming thing I know of on the internet; snatching ancient knowledge from the flames of history! What could be more poetic?

      https://www.science.org/blogs/pipeline - In the Pipeline: The blog of Derek Lowe (pharmaceutical chemist), (in)famous for articles like "Sand Won't Save You This Time" Always interesting, though a lot of the chemistry goes way way over my head. Some political stuff lately, unavoidably given the current secretary of health.

      https://blog.dshr.org/ - David Rostenthal: Digital preservationist.

      https://www.jeffgeerling.com - Jeff Geerling: Raspberry Pi, Arm, digital radio, and other nerdery. I enjoy his videos, but I love that he does a plaintext version (first?) that's not just a transcript.

      https://commandcenter.blogspot.com/ - Rob Pike: Programming luminary (Go, UTF-8, Unix, etc.)

      https://fasterthanli.me - Faster than Lime: Amos's blog leaning heavily towards Rust. I'm a beginner in Rust, but I love this guy's style of writing even when the stuff he's writing about is beyond my current skill level.

      Anyway, those are my go-tos…

    • sargstuffApr 2022

      Higher level languages are based on lower level languages.
      aka Have to manually do more things in lower level language to get the 'built-in' features of the higher level language.

      C is a system/software engineering language, not a data science/"I don't do/use low level OS/HARDWARE stuff"/someone else needs to write the higher level stuff I want to use" language. So, using C as a scripting language, implies implimenting a scripting language in C first.
      (vs. https://hackernoon.com/javascript-compilation-epoch-ebfb7b5bb664 )

      C is basically assembler language macros.

      Thre are many types of binary encodings.
      Binary format consists of sequence of 0's & 1's, any order,
      usualy arranged in groups of 8 0/1's.

      Standards are used to define how a binary format encoding is interpreted/used/defined. UTF-8, UTF-16, UTF-32, ASCII, etc.

      notes on https://hikari.noyu.me/blog/2022-04-01-javascript-is-a-safer-language-for-integer-programming-than-c.html

      "... JavaScript has exactly one integer size supported by its integer operations: 32bits"
      Umm... on a 64bit machine, wouldn't this rehash the x86/dos/windows 80's/90's 8/16/32 etc issues?
      number is 64 bits & bigint goes beyond 64bits.
      JavaScript can no longer safely represent integers.

      Bit operations are implemented as a cast to an integral type followed by a cast back to a double representation. It is therefore not a good idea to use bit-level operations in Javascript.

      C language is not the same a C math library!
      Can check for NaN via…

    • scott_karanaDec 2015

      > My impression of the Go community (both within Google and outside of it) is that there is a very ... moralistic? .... sense of "You don't really need that, we know best" going on.

      That's by design. Rob Pike fostered that "we know best" opinionated style in the community from the very first Go announcements and tutorials. I encourage you to read the design documents if you haven't: they throw light on the majority of decisions behind the language.

      It's not really for me, but I understand and generally respect where they're coming from.

      ----

      > If you want to know how to handle some new layout situation, run gofmt; if the answer doesn't seem right, fix the program (or file a bug), don't work around it.

      http://web.archive.org/web/20091113154825/http://golang.org/doc/effective_go.html

      > If it bothers you that Go is missing feature X, please forgive us and investigate the features that Go does have. You might find that they compensate in interesting ways for the lack of X.

      > More directly, the program gofmt is a pretty-printer whose purpose is to enforce layout rules; it replaces the usual compendium of do's and don'ts that allows interpretation.

      > Go doesn't provide assertions. They are undeniably convenient, but our experience has been that programmers use them as a crutch to avoid thinking about proper error handling and reporting

      http://web.archive.org/web/20091114043443/http://golang.org/doc/go_faq.html

      > Orthogonality makes it easier to understand what happens…

    • kickMar 2020

      Most school Internet domain-blocks Wikipedia, libraries are not in walking distance for substantial amounts of people (and that's leaving out how library fees are prohibitive for low-income families), and entry-level smartphones are locked down to the point of making curiosity irrelevant.

      When you look at who in this industry succeeds, you very rarely see people from low-income populations. There isn't substantial reason to believe that distribution of opportunity isn't the handicap for a significant amount of people.

      YC: founded by the son of a nuclear physicist, and the son of one of the UNIX authors.

      Microsoft: founded by the son of a lawyer whose firm is currently making a billion a year in revenue and was similarly doing great at the time.

      Facebook: founded by the son of a shrink and a dentist operating in one of the richest areas of New York, rich enough to be sent to private school.

      Apple: founded by the son of an engineer at Lockheed.

      Amazon: founded by the son of an engineer at Exxon.

      Netflix: founded by someone whose family was rich enough to extravagantly donate during the Great Depression.

      Google: founded by son of someone with a PhD in Computer Science (one who had multiple thousand-dollar personal computers filling their house since said son was born at that), and the son of someone with a PhD in Computer Science and a researcher at NASA.

      C: written by the son of someone...who worked at Bell Labs.

      Rob Pike gave a great example once of how Computer…

    • throwaway34241Mar 2021

      Most of that could apply to Kotlin also (familiar from Java, etc). Go's relative lack of features seems more to do with their idiosyncratic programming philosophy [1]. The tone is a bit condescending, but they clearly consider it good enough for themselves and it's usually become their primary tool of choice when Go team members work on new projects.

      Personally I can see some appeal of fewer features. When trying to solve some medium-sized problem in Go, I often end up working through in my head 5-10 ways to structure it with Go's existing features (and almost always one of them ends up being satisfactory). If I had a lot more features, I could work through 20+ ways, but what good would that do?

      Of course, I'm looking forward to user-defined generics (although their absence hasn't been critical for me). I used them in C#, but I would run into limitations [2]. Although it's taken a long time to arrive, I'd prefer to work with the system that the Go team has designed (and now accepted). To me this doesn't make them look bad?

      People complain about nullability etc, but I just don't spend a lot of time on those bugs...

      Let's say I just don't understand other languages. What language should I use then? I need memory control (value types), reasonable perf, if GC < 2ms pauses, also cross platform. That seems to mostly leave Rust and C++... are the extra features really worth giving up GC over?

      That isn't a rhetorical question by the way, that's how I ended up with…

    • latchJul 2017

      I definitely agree with you that Go codebases has a high level of consistency. It's certainly one of the many good things Go offers and something I hope other languages look at to see if they can replicate.

      But, that doesn't really have anything to do with it being a chore. We can just agree to disagree on that.

      However, I think you misunderstood my point about errors (or maybe you're just working with very different types of systems). Empirically, looking at Java codebases, the C# team found that most errors weren't "handled" beyond an outer exception handler. Anecdotally, this has been my experience as well. I admit that this is a very 'web' point of view, where requests are isolated and most exceptional situations are best handled with logging + showing the user a friendly error message.

      At this point, they should adopt the Elixir approach and consistently provide a ! alternative across the stdlib (Must* is inconsistently available and verbose). They thought Go would be used by C++ programmers, instead it's being used by Ruby programmers (1). The language paradigm doesn't fit how people are using it as well as it could.

      I'm not sure what other languages you've been exposed to, but your last line is hard for me to believe. If you look at other languages, you'll find a lot of techniques aimed at quality and resilience that are nowhere in Go. Again, that doesn't make Go bad, but "resilient" ? Go has mutable, shared memory, nils, no thread isolation, no generics (so…

    Related

    Dave Cheneydave.cheney.net271 people

    Why Slack is inappropriate for open source communications

    Dave Cheney
    Personal · last shared 2026
    Go Blogblog.golang.org529 people

    Go 2, here we come

    Go Blog
    Company · last shared 2026
    Jason Moironjmoiron.net36 people

    Go Performance Tales

    Jason Moiron
    Personal · last shared 2026
    Jeremy Bowersjerf.org78 people

    Functors and Monads for People Who Have Read Too Many “Tutorials”

    Jeremy Bowers
    Personal · last shared 2026
    Better Programmingbetterprogramming.pub319 people

    Three programmers got fired, including me, due to a single app crash

    Better Programming
    Publication · last shared 2025
    Hillel Waynehillelwayne.com294 people

    1/0 = 0

    Hillel Wayne
    Personal · last shared 2026
    Bryan O'Sullivanserpentine.com49 people

    Github is making me feel stupid(er)

    Bryan O'Sullivan
    Personal · last shared 2021
    One Big Flukeonebigfluke.com36 people

    Go's power is in emergent behavior

    One Big Fluke
    Personal · last shared 2024