Live data from Hacker News

Go is my hammer, and everything is a nail

maragu.dev

681–690 of 816 posts

Re: Go is my hammer, and everything is a nail

#681
post #675

Earlier quoted context omitted.

If they're shipping notebooks to production and having so many crashes, I'd question that they even know how to do Python.

When do you ship notebooks to production? Jupiter was never meant for external clients.

Quite a number of AI edtech sites use notebooks in production for assignments, as an example of when it happens.

Re: Go is my hammer, and everything is a nail

#682

I used to work for a Go shop. We dealt with financial data. I found it so annoying that many of my colleagues would use Go for one-off tasks such as aggregating CSV files, updating the database with some data, or fetching data from the database, and then trying to make a plot. I saw my colleagues again and again implementing basic algorithms such as rolling median, or finding a maximum. Instead of loading data into P…

For that kind of processing, I prefer to use the database itself. I mean, it is a "data" base and it's pretty good at it. I get it-- sometimes you have a half cooked spreadsheet someone sends you and you need to run some analysis on it.. in that case I don't see any harm in using Go, using visidata, importing it in sqlite or using pandas or whatever.

Re: Go is my hammer, and everything is a nail

#683

Earlier quoted context omitted.

Eh, imo the go libraries still aren't up to par with out of the box java libraries. Like there's still no Set class, nor the equivalent of Map.keys. yeah they're easy to write but that's still not an included battery. Also, while the cli to add stuff is useful, there's still nothing to the level of maven or gradle for dependency management, and I usually find myself doing some fun stuff with `find -execdir` for modul…

maps.Keys is coming in a few days with 1.23. I generally agree with what you are saying. Although I wouldn’t hold out Maven as a paragon. I used to make my living untangling pom.xml files. I don’t think anybody is feeding their family helping people with go.mod messes — although I wish somebody would do that for kubernetes.

> maps.Keys is coming in a few days with 1.23.

Yup! Lots of good stuff in the go/x libraries, happy map.Keys is graduating.

Also totally agreed on maven not being an ideal, or even lovable dependency management system, but trust me that there are absolutely people spending too much time wrangling go.mod files, especially in open source where go.mod files cross repo boundaries (and thus consolidated test automation).

I typically do a bunch of git reset --hard's as I iterate on my find -exec to run the golang cli commands for module upgrades (for whenever rennovate fails). I like how it's much easier to experiment with over maven (maybe I just didn't know maven well enough), but it's still definitely a headache.

Re: Go is my hammer, and everything is a nail

#684

Earlier quoted context omitted.

What do you mean by no consistency in formatting? go fmt is a solid formatter that does its job

Go fmt is pretty good, but it's not ideal. My biggest gripe is imports. Go fmt will just sort imports alphabetically in lists that aren't separated by a blank line. Goimports will separate out core from 3rd party imports, unless you run it with the local flag then it'll add a third block of "local" imports. But this spread means that it's not consistent across projects which style is preferred. Some examples, based o…

Try gofumpt, it’s my default.

Re: Go is my hammer, and everything is a nail

#685

Earlier quoted context omitted.

> map is also built-in. Where do you find the hash map in the given program? If you told me a type can be optimized because the compiler knows it can only have non-hash-map uses, but I could put that type into a hash map with a single line, I think I would be right to be skeptical. > By your logic some nebulous package in a GitHub repository that happens to satisfy an interface is also another implementation, but you…

> but you called the idea of finding a citation a "waste of time" so that's not very convincing. Not only a waste of time, but straight up illogical. If one wants to have a discussion with someone else, they can go to that someone else. There is no logical reason for me to be a pointless middleman even if time were infinite. Now, as fun as that tangent was, where is the nil implementation and hash map found in the gi…

The implementation is preexisting. Even if it was directly used, there would not be an implementation in the snippet. So it not being implemented in the snippet proves nothing.

And what do you mean "someone else"? You're the one that said the compiler "certainly knows" how to do that.

Re: Go is my hammer, and everything is a nail

#686

Earlier quoted context omitted.

> map is also built-in. Where do you find the hash map in the given program? If you told me a type can be optimized because the compiler knows it can only have non-hash-map uses, but I could put that type into a hash map with a single line, I think I would be right to be skeptical. > By your logic some nebulous package in a GitHub repository that happens to satisfy an interface is also another implementation, but you…

> but you called the idea of finding a citation a "waste of time" so that's not very convincing. Not only a waste of time, but straight up illogical. If one wants to have a discussion with someone else, they can go to that someone else. There is no logical reason for me to be a pointless middleman even if time were infinite. Now, as fun as that tangent was, where is the nil implementation and hash map found in the gi…

You can head over to godbolt.org and see for yourself that changing the value to nil doesn't change the implementation of `bar`, though it does cause `main` to gain a body rather than returning immediately.

Re: Go is my hammer, and everything is a nail

#687
post #675

Earlier quoted context omitted.

When do you ship notebooks to production? Jupiter was never meant for external clients.

While terrifying, it is not uncommon to see python notebooks make it to production.

Oh god why. I thought (and hoped) that GP didn't actually mean this.

I see how a team or an organization can eventually get to this point. It just saddens me that they got there.

Re: Go is my hammer, and everything is a nail

#688

I used to work for a Go shop. We dealt with financial data. I found it so annoying that many of my colleagues would use Go for one-off tasks such as aggregating CSV files, updating the database with some data, or fetching data from the database, and then trying to make a plot. I saw my colleagues again and again implementing basic algorithms such as rolling median, or finding a maximum. Instead of loading data into P…

XTX? I know that they use a lot of Go.

Re: Go is my hammer, and everything is a nail

#689
post #419
post #377

Earlier quoted context omitted.

2012: Python is Awesome! 2014: Python is a great language, but there are a few pitfalls 2016: Python is a good language with the right IDE, tooling, and process. The people are pretty cool though. 2018: I like python, but I wish more people used type annotations. 2020: You know, metaclasses are freaking awesome! They saved me so much work! 2022: Why can't people code the most obvious solution in python? 2024: Celery!…

2012: Python is Awesome! 2014: Python is a pain in the butt to manage packages and dependencies, how the hell am I gonna deploy this? It's still a mess 10 years later unless you live deep in the ecosystem and know what third-party solutions du jour to manage that complexity. At least we have Docker now. Also let's not forget the Python 3 migration fiasco that lasted ~2008-2018 and I still find myself porting librarie…

We use poetry for dependency management in production, and it's fine.

Re: Go is my hammer, and everything is a nail

#690

Earlier quoted context omitted.

> but you called the idea of finding a citation a "waste of time" so that's not very convincing. Not only a waste of time, but straight up illogical. If one wants to have a discussion with someone else, they can go to that someone else. There is no logical reason for me to be a pointless middleman even if time were infinite. Now, as fun as that tangent was, where is the nil implementation and hash map found in the gi…

The implementation is preexisting. Even if it was directly used, there would not be an implementation in the snippet. So it not being implemented in the snippet proves nothing. And what do you mean "someone else"? You're the one that said the compiler "certainly knows" how to do that.

> So it not being implemented in the snippet proves nothing.

It doesn't prove anything, but is what we've been talking about. Indeed, there is nothing to prove. Never was. What is it with this weird obsession you have with being convinced by something? Nobody was ever trying to convince you of anything, nor would there be any reason to ever try to. That would be a pointless endeavour.

> And what do you mean "someone else"?

He who wrote the "citation".

Post reply on HN