Most active commenters

    ←back to thread

    159 points mpweiher | 13 comments | | HN request time: 1.435s | source | bottom
    Show context
    t8sr ◴[] No.43671930[source]
    When I did my 20% on Go at Google, about 10 years ago, we already had a semi-formal rule that channels must not appear in exported function signatures. It turns out that using CSP in any large, complex codebase is asking for trouble, and that this is true even about projects where members of the core Go team did the CSP.

    If you take enough steps back and really think about it, the only synchronization primitive that exists is a futex (and maybe atomics). Everything else is an abstraction of some kind. If you're really determined, you can build anything out of anything. That doesn't mean it's always a good idea.

    Looking back, I'd say channels are far superior to condition variables as a synchronized cross-thread communication mechanism - when I use them these days, it's mostly for that. Locks (mutexes) are really performant and easy to understand and generally better for mutual exclusion. (It's in the name!)

    replies(5): >>43672034 #>>43672125 #>>43672192 #>>43672501 #>>43687905 #
    1. throwaway150 ◴[] No.43672034[source]
    What is "20% on Go"? What is it 20% of?
    replies(3): >>43672063 #>>43672064 #>>43672071 #
    2. NiloCK ◴[] No.43672063[source]
    Google historically allowed employees to self-direct 20% of their working time (onto any google project I think).
    3. darkr ◴[] No.43672064[source]
    At least historically, google engineers had 20% of their time to spend on projects not related to their core role
    replies(1): >>43672293 #
    4. ramon156 ◴[] No.43672071[source]
    I assume this means "20% of my work on go" aka 1 out of 5 work days working on golang
    5. kyrra ◴[] No.43672293[source]
    This still exists today. For example, I am on the payments team but I have a 20% project working on protobuf. I had to get formal approval from my management chain and someone on the protobuf team. And it is tracked as part of my performance reviews. They just want to make sure I'm not building something useless that nobody wants and that I'm not just wasting the company's time.
    replies(3): >>43672411 #>>43672772 #>>43675474 #
    6. vrosas ◴[] No.43672411{3}[source]
    I see why they do this, but man it almost feels like asking your boss for approval on where you go on vacation. Do people get dinged if their 20% time project doesn't pan out, or they lose interest later on?
    replies(2): >>43672760 #>>43672788 #
    7. NBJack ◴[] No.43672760{4}[source]
    Previously it could be anything you wanted. These days, you need formal approval. Google has changed a bit.
    8. rollcat ◴[] No.43672772{3}[source]
    I never worked at Google (or any other large corp for that matter), but this sounds like the exact opposite of an environment that spawned GMail.

    As you think back even to the very early days of computing, you'll find individuals or small teams like Grace Hopper, the Unix gang, PARC, etc that managed to change history by "building something useless". Granted, throughout history that happened less than 1% of the time, but it will never happen if you never try.

    Maybe Google no longer has any space for innovation.

    replies(1): >>43672878 #
    9. kyrra ◴[] No.43672788{4}[source]
    It has nothing to do with success. It's entirely for making sure some one besides the person doing the 20% agrees with the idea behind the project.
    replies(1): >>43674076 #
    10. jasode ◴[] No.43672878{4}[source]
    >I never worked at Google (or any other large corp for that matter), but this sounds like the exact opposite of an environment that spawned GMail.

    Friendly fyi... GMail was not a "20% project" which I mentioned previously: https://news.ycombinator.com/item?id=39052748

    Somebody (not me but maybe a Google employee) also revised the Wikipedia article a few hours after my comment: https://en.wikipedia.org/w/index.php?title=Side_project_time...

    Before LLMs and ChatGPT even existed ... a lot of us somehow hallucinated the idea that GMail came from Google's 20% Rule. E.g. from 2013-08-16 : https://news.ycombinator.com/item?id=6223466

    replies(1): >>43673091 #
    11. rollcat ◴[] No.43673091{5}[source]
    I see, thank you for debunking. But I think my general point still stands. You can progress by addressing a need, but true innovation requires adequate space.
    12. hedora ◴[] No.43674076{5}[source]
    Lol. They’d be better off giving people the option to work 4 days if they also signed over right of first refusal for hobby projects.
    13. codr7 ◴[] No.43675474{3}[source]
    Which misses the point of 20% imo; exploring space that would likely be missed in business as usual, encouraging creativity.