HNHacker News
TopNewBestAskShowJobs

dsymonds

1,056 karma · joined March 19, 2012

I'm a software engineer.

Now at Canva. Formerly at Google (2008-2021), Stripe (2021-2022), Atlassian (2022-2024).

submissionscomments
dsymonds··on App Engine for Go Now in General Availability
So it's not "restricted to 100 mails per day". It's limited to 20,000 per day, and that's only until you sign up for support.
dsymonds··on App Engine for Go Now in General Availability
Email is only limited to 100/day for free apps.

https://cloud.google.com/appengine/docs/quotas#Mail

dsymonds··on Go 1.5 Beta
Yep, the link should be https://golang.org/dl/.

Work is ongoing to make golang.org be HTTPS only.

dsymonds··on What happens when you stop relying on resumes
It means there's an oversupply of people who want engineering jobs. Most people applying for software engineering positions aren't able to program even the most basic of things. That doesn't mean there's too many qualified engineers.
dsymonds··on Why Go is doomed to succeed
That wasn't what I was replying to. aaggarwal was asking how easy it was to move to it. I was saying that it's easy. If you find it too primitive, well, that's a fair opinion, but it's still easy to move to. I think it's hyperbole to claim that you can't work in it.
dsymonds··on Why Go is doomed to succeed
Maybe it's just that Python/Ruby programmers are more inclined to publicly discuss their switching?
dsymonds··on Why Go is doomed to succeed
Yeah, C is probably the hardest to learn in that set.
dsymonds··on Why Go is doomed to succeed
Any decent programmer should be able to switch between {C,Java,Go,Python} without too much difficulty. They each have their own differences and learning curve, but as long as a programmer doesn't identify themselves too tightly as a specific language developer (e.g. some people say "I'm a Java programmer", implying they couldn't possibly learn something else) then it's not hard to pick up Go.
dsymonds··on Why Go is doomed to succeed
It's not hard to find people switching from Java to Go (e.g. http://www.infoworld.com/article/2608571/application-develop..., which I found within 10 seconds of searching).

It's true that Go doesn't have a lot of those powerful JVM features that you listed, but as with any engineering trade-off there are lots of people who judge the benefits of Go to be worth the loss of those things.

dsymonds··on Why Go is doomed to succeed
I think it can help with that in the sense that Go packages don't have complex boundaries and the type system is simple and self-contained. You don't have to trace an inheritance hierarchy to understand any given type, so a project of multiple packages is generally easy to understand just by reading each piece independently.
dsymonds··on Announcing Google Cloud Bigtable

    go get google.golang.org/cloud/bigtable
dsymonds··on Who is behind Dart?
That's not true at all.
dsymonds··on The ups of downs of porting 50k lines of C++ to Go
FYI, if you don't need required/optional, non-zero defaults and extensions, try `syntax = "proto3"`. It generates much better Go code.
dsymonds··on GRPC: A high performance, open source, general RPC framework
gRPC is based on the internal Stubby RPC system, and that works over HTTP/1.1 based on CONNECT and switching to raw TCP. That works well enough, but the HTTP/2 goodies are too good to pass up.
dsymonds··on GRPC: A high performance, open source, general RPC framework
Streaming RPCs in both directions (client to server, and server to client) is one big feature. It's not really possible to do client-side streaming with HTTP/1.1, especially if you have proxies in the way. Independently framed messages make it a lot more feasible to implement other important RPC features like flow control too.
dsymonds··on “This change deletes the C implementations of the Go compiler and assembler”
Thanks. That's good data. I haven't seen any measurements for a few years. It's good to see that gccgo has caught up. Which version of gc did you test?

Yes, the release schedule is another important reason for building our own toolchain. Being in control of one's destiny is often underrated.

dsymonds··on “This change deletes the C implementations of the Go compiler and assembler”
Yes, that's why there's both gc and gccgo (llgo came later). Apart from the rigour of having two independent compilers, they are seeking different tradeoffs. gc is very interested in running fast, and gccgo benefits from decades of work that have been put into gcc's various optimisations.

Does that answer your original statement that you didn't understand why we build our own toolchain?

dsymonds··on “This change deletes the C implementations of the Go compiler and assembler”
What's your counter-proposal?

If you're building a new language, you need a new AST. You can't represent Go source code in a C++ AST.

There are alternate compilers for Go, in the form of gccgo and llgo. But those are both very slow to build (compared to the Go tree that takes ~30s to build the compiler, linker, assembler and standard library). And the "gc" Go compiler runs a lot faster than gccgo (though it doesn't produce code that's as good), and compilation speed is a big part of Go's value proposition.

dsymonds··on “This change deletes the C implementations of the Go compiler and assembler”
In source control, yes. There's not yet a stable release where that's the case though; Go 1.5 (due later this year) will be that release.
dsymonds··on “This change deletes the C implementations of the Go compiler and assembler”
Future versions will still be built with any current published compiler. There are binary releases for each major release, and it's not hard to avoid using new language features in the compiler, so building from source only requires the most recent binary release (at worst).
dsymonds··on RE2/J: Linear time regular expression matching in Java
Obligatory comment about how if you can't match it in linear time then it's not a regular expression.
dsymonds··on The State of Go
I don't think it's true that "Googlers generally don't like Go". Some like it, and some don't. From my vantage point, the majority (maybe 80% or so) who have actually tried to do real with in Go seem to like it.
dsymonds··on The State of Go
No-one said "disturbing". It's weird if you've come from an environment where you do your individual work in private, and only show it to people when it's ready to be committed/merged.

No-one said that that point alone is worth discarding the whole approach. You're nitpicking a single bullet point from around a half dozen points that stacked up.

dsymonds··on The State of Go
We expect contributors to sync and run all the tests. The public forking is the weird and unnecessary part.

Gerrit is the alternative used, and contributors have a full local clone of the git repo, with their commit, and that's private on their machine until they push it to Gerrit for review.

dsymonds··on The State of Go
I think you mean s/researching/adopting/, since you are only referring to the outcome, not the study or decision making that arrived at the outcome. The Go team generally knows about modern things; we deliberately choose not to use them when we don't think they suit Go.
dsymonds··on Nest Protect is a terrible buggy product
And Gearman.
dsymonds··on The $3500 Shirt – A History Lesson in Economics
You said "It's a bit juvenile to blame building codes without also admitting why we have them: they save lives."; namely, for safety reasons.

yummyfajitas pointed out that safety has nothing to do with the issue at hand.

Your follow-up post here now raises a bunch of reasonable issues, but none of them are safety-related.

dsymonds··on Why the CDC and FDA Are Telling You Two Different Things About Flu Drugs
The government most likely paid the other two thirds via PBS.
dsymonds··on C to Go translation tool supporting Go toolchain migration
That's been proposed, but it won't happen. There's too many edge cases, and it only works on the Go compiler because it has a particularly constrained style and rsc can make the relevant hacks as a one-off effort.
dsymonds··on Decoding UTF-8 with Parser Combinators
It's a shame the author mixes up UTF-16 and UCS-2 when he says "Because it turns out UTF-16, another very popular encoding scheme, can’t represent codepoints that big." in reference to 0x1FFFFF.
← PreviousPage 3 of 9Next →