HN user

nathany

273 karma

Software Developer and Author

Posts12
Comments36
View on HN

Get Programming with Go is a beginner's guide to the Go programming language containing 32 quick lessons with plenty of fun exercises and silly gopher illustrations.

It's now available in print, and my publisher has made it the deal of the day today (September 19th, 2018). Get half off the ebook and print versions, with international shipping available.

Deal of the Day: https://yng.mn/dotd

Go 1.7 is released 10 years ago

Yup, and you can always rename vendor/ to _vendor/ if you want to ignore them temporarily.

Go 1.7 is released 10 years ago

The only problem is that you need to maintain and enhance that MVP for the next several years -- unless it's just a hackathon.

I've spent way too much of my life trying to optimize Ruby performance and memory usage, switching from one web server to the next, then fixing threading issues in dependencies, and so on. It's not fun. All that upfront productivity is lost in the end.

Quite happy to spend more time upfront investing in a reliable end-product.

Go 1.7 is released 10 years ago

There was also the matter of figuring out llvm in order to use it. The initial Go compiler was based on the Plan 9 C compiler toolchain, which the designers of Go know well.

One of the other reasons relates to how stacks are handled for goroutines.

This article is an excerpt from Learn Go, a beginner's guide to Go, that I am writing with Manning Publications.

I'm targeting people with some experience with a scripting language but fairly new to programming, while trying to keep it moving at a good pace. If that describes you, I'm very curious if it makes sense or what areas should be better explained.

If you are new to Go and statically compiled languages in general, I've been working on a book to introduce you to Go.

The first two chapters are now available through Manning. Use mlyoungman to receive 50% off through October 17, 2015. This affiliate link earns me a few extra %. Thanks.

I'm really curious to give Gerrit a try. Is it like the existing Rietveld system used for Go?

- I've been using the "apply mail" flow to avoid merge commits and to squash commits when appropriate (based on Nathaniel Talbott's post http://blog.spreedly.com/author/ntalbott/#.VGVhz5PF_Zs). It will be nice to have something automatic.

- At least contributors with the commit bit can just create a feature branch and a pull request from there. Some open source projects give out the commit bit almost immediately, but with GitHub there's still that initial fork and pull request to prove oneself.

Interested to see how Gerrit addresses this. GitHub doesn't have any way to disable pull requests. :-(

- I've completely disabled email notifications for this reason. There still can be a huge number of notifications in app or via third-party mobile apps. Rietveld is a lot more sane, I only saw notifications for things I was actively working on.

- I usually end up reviewing just the new commits individually. But that requires figuring out which ones I had already reviewed. Not so bad with only a few branches, but I can see it getting out of hand.

I really hope people from GitHub are reading this thread as they are working to improve their tools. :-)

The code is identical on GitHub and Google Code right now. The difference is that we may make breaking changes under go.exp while leaving the howeyc/fsnotify API as is.

We're still figuring out what os/fsnotify will look like.

Yah, we didn't want to rush it and end up stuck with a subpar package in the standard library.

If you are at GopherCon, I'll be giving a lightning talk on Saturday 11:40am on things I've learned by contributing to fsnotify and other open source projects. Happy to chat more about fsnotify afterwards.

Off-topic: You'll be disappointed to learn that I also use an 18-pt font in my editor. I happen to like big readable text, maybe something to do with my age and my prescription being -5.5.

P.S. the font-size is actually 1.5rem

Why Go? 13 years ago

The tech link for Asana talks about JavaScript (V8cgi) and Erlang. Trello is primarily Node.js.

Why Go? 13 years ago

I guess you missed the part of my article about auto-scaling and restarts. The Rails app from my day job takes several seconds to come up, causing queuing and slow performance for our users. There are work arounds (idle instances, warmup requests, rolling restarts), but I personally would rather just have it start fast.

Why Go? 13 years ago

I found the ability to define a method on a slice/array to be less verbose than the equivalent inherit/delegation setup in Ruby, though I can't speak for Python. http://nathany.com/good

I can't imagine a more concise syntax for automatic delegation than Go's embedding.

Why Go? 13 years ago

Yes, Ruby/Python have strong ecosystems from their 20+ years of existence. Go's third-party packages are still young by comparison. But sometimes it's good to rethink past assumptions, even if it means writing code from scratch.

The feature linked is Ruby refinements, for which much of the community was against. And note, I did not say refinements weren't wanted, clearly they were wanted by someone. I said they aren't needed.