Threads for dpritchett

  1. 6

    Basically people love Go except for the fact that it lacks Generics

    1. 10

      People who fill out surveys on the Go blog love Go. Not quite the same :P

      1. 4

        I hope the Go creators remain stalwart and don’t allow public opinion to sway their design decisions.

        1. 2

          I’d like to see the standard library evolve to allow more user-focused applications such as GUI and Android programming but otherwise I agree, the language itself is great.

        2. 4

          What’s interesting is golang has generics; they’re only for special blessed types though.

          The best argument I’ve heard for generics in the language is it allows a more functional style for things like filter and map. Today these boil down to type specific functions or functions that mix interface{}, type assertions and for loops.

          Really generics only add ergonomics, and when done poorly create amazing quagmires. I understand why the designers want to avoid user accessible generics.

          If done simply though, much like how the slice/map or make/copy/delete functions work today, it would be a powerful addition to the language, but like others have noted I would not hold my breathe for it.

          1. 5

            Interesting. When I think about generics in Go, I don’t think about being able to write map or filter. Writing out the for loops to do the equivalent doesn’t irk me that much, and it’s pretty easy to get right.

            The place where I miss generics the most is the ability to build reusable data structures. Some data structures are hard to get right, and those tend to be precisely the same data structures that one builds when you care about performance. This makes interface{} a double bummer, since you lose both type safety and you take a perf hit.

            There are some interesting data structures that use interface{}, but by convention, generally end up retaining type safety. The new context package is one such example. But there are other examples that suffer the problems above.

            With all that said, building these types of data structures feels pretty rare to me at $work, or at least, the data structures we need don’t have to be generic. So it ends up not being a huge problem. But it does happen from time to time.

            I basically agree with your comment but thought I’d just add my two cents as well. :-)

          2. 6

            I suspect that when you ask people what Go is lacking, that’s the first thing that comes to mind whether you think it’s a real issue or not.

            1. 2

              I like Go just fine without ‘em, but then again I don’t use it for everything.

            1. 26

              I interviewed at Google once. The interview process was…grueling in more ways than one. This was at their Manhattan office and five years ago; I don’t know if it’s different elsewhere or now.

              The interview was all day, which I suppose is fine, but tiring. The grueling part was the endless stream of “gotcha” questions. They seem to be big fans of letting you talk for as long as you will, but it got irritating after a while. For example:

              Interviewer: How would you measure the latency between two systems?

              Me: I’m assuming you know that I know what ping is, so I’m guessing you want more accuracy?

              I: Yes.

              Me: Well, you could take lots of pings over an interval and then average the response times, or do other analysis if you’re worried about peaks or something. That would work for the most part, leaving only system-introduced latency.

              I: How would I detect that, the system-introduced latency?

              M: Well, you’d have to instrument your tools, and eventually even the kernel and the network driver and all sorts of stuff that probably isn’t worth it, since the statistical method above would catch essentially everything you’d want to know.

              fifteen more minutes of asking me to explain in further and further detail

              I: The answer, by the way, was “ping”.

              Imagine that for eight hours. Another one was me troubleshooting why Linux wouldn’t let me umount a disk (in conversation, not sitting in front of a machine). The obvious ones (file open, etc) were fine, but eventually it got to “/bin is its own mount on this external drive so it loads but then fails because the umount binary itself is open” which…again is fine, but “cute” riddles get really tiresome after a while.

              Again that would’ve been fine, but for the position in question, they couldn’t even really tell me how it would be interesting. “It’s more than just regular coding!” “How?” “It just…is.” It just was, apparently, because it’s Google. That’s great, but if you can’t actually give me an example, you’re not helping your case.

              There was also the not-so-subtle evidence that they wanted you at Google’s office for the vast majority of your waking life. On-site gym, dry cleaning, etc, etc. That’s all great, but I can get my work done in eight hours. I got the impression there would be immense pressure to be there for more than eight hours a day.

              At the end of the day, the money they offered was great but, given the cost of living difference between NYC and here, it would have ended up being a pay cut. That plus the…arrogance isn’t really the right word, but I can’t think of a better one for “you should want to work here because of who we are, regardless of what the job is”…was enough for me to politely decline.

              1. 18

                There was also the not-so-subtle evidence that they wanted you at Google’s office for the vast majority of your waking life. On-site gym, dry cleaning, etc, etc. That’s all great, but I can get my work done in eight hours. I got the impression there would be immense pressure to be there for more than eight hours a day.

                To quote a friend who worked there: “they serve breakfast, lunch and dinner and look at you weird if you prefer to take one of those at home with your family instead”.

                On the other hand, he really enjoyed the job and wanted to convince me to work there. They were also incredibly good sports when I passed on an offer by them for an internship because I didn’t want to work at their Munich office, but go abroad instead.

                1. 3

                  But Munich is abroad. ;)

                  1. 3

                    You’re right, that’s true for any place outside the city boundary. I wanted do work on my french instead of learning bavarian and SAP offering half a year on the Cote d'Azur was just perfect for that :).

                    1. 1

                      Truth be told, nobody really speaks bavarian in Munich, it’s not a good place to go to learn it.

                  2. 2

                    i think that depends a lot on your particular team’s culture. i’ve been pretty lucky in that i’ve never felt the slightest pressure to work late hours; in fact my boss has occasionally offered to reschedule an evening meeting so that i can catch my regular bus and not have to wait for the next one. it helps that a lot of us are on the older side, and several have kids they want to go home to.

                    1. 2

                      Yeah, in any larger corporation, you will find it like this and like that. As I said, that person was very happy with the company.

                      I can also imagine that the offers the company makes there interact badly with Germanys “presence culture”, where the numbers you clock in the office are the most important performance number.

                      1. 1

                        My team just doesn’t have meetings after 5. How often does yours?

                        1. 2

                          never, but we occasionally have informal (typically 2-5 person) meetings at 4:30

                    2. 2

                      I: The answer, by the way, was “ping”.

                      How did they explain that?

                      1. 1

                        Your memory must be failing you at least somewhat; the Google office in NYC didn’t even have a gym until last year and it still doesn’t have dry-cleaning ;-p

                        1. 1

                          To be fair, I only saw the cafeteria (which was nice), and just added in the gym/dry-cleaning thing because I thought they would have it since they talk about it at the SF offices. I got caught up in the moment of complaining. :)

                      1. 28

                        I’m not sure why this is share-worthy. What is the content here that people are upvoting? Not trying to be snarky - genuinely interested if there was something I missed.

                        1. 20

                          I’m not sure why this is share-worthy.

                          Not sure why it isn’t. It’s an interview about a [good] dev and an open-source maintainer, and the post fits perfectly under the person tag :)

                          1. 17

                            The title needs to be fixed to be more useful (is the link her personal site, a biography, some post about her?).

                            1. 9

                              She has been one of the more consistently public, helpful, and relatable faces of Docker for years. Good presentations and demos.

                              1. 23

                                It’s not really that much about her, though, unfortunately.

                                It reads like “docker kubermetes docker, a couple observations about open source, generic advice, plug for help for docker or kubermetes”. She seems like a perfectly nice person, but she doesn’t seem that much more noteworthy than any of a thousand other open-source developers paid to work on infrastructure projects. The interview doesn’t really cover anything personal about her, it doesn’t have her saying anything we haven’t heard a thousand times before or at least going in-depth on a story to explain her advice. The systemd->butts transform was amusing, to be sure, but otherwise why?

                                I hate to be this, well, mean, but shouldn’t we be using the person tag for people of, well, note?


                                And yes, this is kind of a core problem with the person tag. This person isn’t that interesting–given the information in the submission–to me, for example, but I could probably pick some alternate submissions that might be equally uninteresting (a person I know who is a greybeard at GOOG and has some cool projects.

                                But where to draw the line without being petty? What makes articles under people good articles (instead of PR puff pieces)? Therein lies the rub.

                                1. 10

                                  I get that anger is in your username and stuff but if you describe your own post as mean it’s probably not constructive.

                                  1. 5

                                    She is without question “of note” in the open source community. Especially in the infrastructure / “devops” space.

                                    If you don’t know her, maybe that’s not your thing?

                                    1. 9

                                      I think the problem here is that the interview doesn’t really say enough to convince someone that she’s worth interviewing. If you know her, you get it. If you don’t, then… we’ll, this isn’t helping, unfortunately.

                                      1. 3

                                        You’re right. Unfortunately, I don’t know that anyone who’s already “soaking in it” will take the time to write the “Hey, all you folks not in Devops, this is why Jesse is awesome!”.

                                        Maybe a little bit of open mindedness on people’s parts would help?

                                        1. 2

                                          Maybe a little bit of open mindedness on people’s parts would help?

                                          Yes! This is the key. We should probably trust our community a bit more than suggest an post with a decent number of points is irrelevant.

                                      2. 2

                                        Clearly not “without question”, right? Perhaps in the Docker/Kubermetes realm, but the article itself really doesn’t give much information about her, why she’s a big deal, or what she’s done. And that sucks, because people here are pointing out waaaay more interesting accomplishments she’s had.

                                        But again, the problem with the person tag is that you and I can both draft up a list of at least a half-dozen devs that are “of note” and yet the other one of us will go “huh?”. And in a few decades time, probably none of the people on those lists will be remembered.

                                        1. 2

                                          IMO it comes down to what people want this community to be about.

                                          I can totally see the angle where “person” violates the spirit of the place - what makes Lobsters great is all hardcore tech - all the time.

                                          I can also see the idea that showcasing awesome community contributors could be a good thing.

                                    2. 5

                                      The person tag is for stories about people, not profiles. A link to one of her talks, an in-depth or technical interview, or any one of a number of her blog posts would not have been flagged as off-topic.

                                      edit: I’ll also point out that in general the person tag is used alongside another tag. Cases of “person” alone are generally of some historical significance, an interview, or a death announcement; all of which are more substantive and/or better discussion topics than a simple profile.

                                    3. 5

                                      I’m with you. The title alone means nothing to me. I thought it was going to be some sort of memorial when I first saw it. But there isn’t really much of any content there. There’s nothing technical in it. I don’t understand what we’re meant to get from it.

                                      It fits HN more because that site is full of fluff like this, but I wouldn’t expect it here.

                                      1. 14

                                        I completely agree, this is not the kind of content I want to see here.

                                        1. 2

                                          FWIW this was only posted in here because it’s in the front page of HN. @av consistently posts whatever is popular there here (most of the time it makes sense, though).

                                          1. 4

                                            I like this content, but I don’t think that something reaching the front page of HN is a good litmus test for if it should be cross-posted here

                                        2. 4

                                          Lots of people don’t know where to start, and stories like this can be helpful. has previously made similar pages for some of our users.

                                          1. 1

                                            Well, the community has voted for it so I guess you’ll just have to avoid clicking the link and move on then.

                                            1. 3

                                              By the same argument tabloids are the best because there’s lots of demand for them!

                                          1. 3

                                            Just started writing a tech book proposal! Also ordered a standing desk to help since I’ve been suffering from RSI in the laptop-at-table configuration.

                                            1. 1

                                              One thing I like to do is to smooth out the onboarding process. Nevermind new features or bugfixes you want to contribute, how long does it take you to actually get the system downloaded and running with the test suite wired up? If its more than a few minutes then you can have dramatic compounding effects just by building/documenting a quick-start process for future contributions.

                                              Inertia is the killer when it comes to drive-by OSS contributions.