Live data from Hacker News

Viewing profile — NateDad

NateDad

HN member
Joined
Wed, Sep 12, 2012, 2:04 PM UTC
HN karma
2,023
Public activity
1,061 items

About NateDad

Real name: Nate Finch Software Engineer since 1999 in the Boston area. natefinch on github.

[ my public key: https://keybase.io/natefinch; my proof: https://keybase.io/natefinch/sigs/4vluNroUMrNptUZ0-yf__o_BjbNO7CcrsudVWRG5Xc0 ]

Recent public activity

  1. comment
    Comment #20558540

    ....in Go?

  2. comment
    Comment #20555545

    Man you Go haters LOOOVE to trot out that quote from 2014. But you know what, go is easy to learn, and that's been awesome in my experience. I can (and have) hired people who have …

  3. comment
    Comment #20555378

    Oh, oops, yeah, I misread "some" as "same". Denoting what contract they obey is just the name, isn't it? T1 and T2 are names of contracts. I guess what you can't do by just using t…

  4. comment
    Comment #20555025

    They'd both be T1 in that case. T1 T2 means they're different contracts.

  5. comment
    Comment #20463423

    not if each one can fail. What if call #1 and call #3 can return the same error.. how does the caller know which one failed? This is the same as wrapping a bunch of calls with a ca…

  6. comment
    Comment #20458470

    I really dislike method chaining. I'd much rather have 5 lines than 5 chained methods. If that's too much to read, you can always encapsulate it in a well-named function.

  7. comment
    Comment #20456390

    Try makes it worse because it is so easy to miss when reading the code. Because it encourages nesting function calls, which is harder for a human to parse than separate statements …

  8. comment
    Comment #20455526

    Literally the first non-trivial code I wrote in go (running a bunch of goroutines to download a ton of files from a website in parallel)... I knew exactly where and how things coul…

  9. comment
    Comment #20216086

    Functions are a thing. Interfaces are a thing. I have literally never, in 6 years of full time go development, just copied and pasted code for the purpose of making it work with a …

  10. comment
    Comment #20212794

    A simple text search will find it every time. Since Go code should always be formatted, it's pretty trivial to search for `type HTTPServer` or `func NewServer(` ... even over fairl…

  11. comment
    Comment #20212683

    I've worked on a million line Go code base and a dozen open source projects and many typical backend services, and interface{} is actually quite rare outside of something like json…

  12. comment
    Comment #20212128

    This is just not true. 2.5 years ago when I was looking for a remote-only go job, I had so many positions to look at, I had to put them in a spreadsheet. None of them were in silic…

  13. comment
    Comment #20212059

    I worked on a million line go codebase for 3.5 years. It was readable and consistent and actually quite nice.

  14. comment
    Comment #19985212

    names = append(names, "Bob") .... that's really it. Will it have the same backing array as it did before you did append? Maybe, maybe not. Should you care? Absolutely not, and if y…

  15. comment
    Comment #19588728

    I've been writing Go for over 6 years. Error handling at the source of failure is a feature, not a bug. Rob Pike's example code is bad and I would not allow it through a code revie…

  16. comment
    Comment #19588705

    C# has the feature-bloat of C++, except with a garbage collector. (I wrote C# for 9 years and even when writing it 40 hours a week, I still had trouble keeping up with all the feat…

  17. comment
    Comment #19575528

    I wrote a generic version of cog that can use any language as the generator code. It's called gocog, because it's written in go, but once compiled, it's a static binary, and you do…

  18. comment
    Comment #19494764

    I think the author understands exactly what they're talking about, and they're not talking about being employee #1-3. Most people, when they hear "work at a startup", they're talki…

  19. comment
    Comment #19475787

    C++ versions are never correct

  20. comment
    Comment #18534436

    If you care, you can't realistically forget. There are linters that will find your missed error checks.

  21. comment
    Comment #18534423

    Gah, my eyes! Why is the font so huge? And why doesn't zoom change it? I have to like step 5' back from my screen to read it.... Otherwise... I have been writing Go for about 6 yea…

  22. story
  23. comment
    Comment #17528145

    IF you have a 500k LOC software project... how the heck is an SRE/devops person going to figure out where in that code a specific configuration item is going to be used? They're no…

  24. comment
    Comment #17528066

    Hugely disagree. Config files will modified by non-experts of the application 1000x as often as the actual developer of the application. Those people won't and often can't go look …

  25. comment
    Comment #17513719

    Getting the wrong password in your password manager happens occasionally. Usually from password resets that somehow don't make it into your password manager. The fact that HN allow…