Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
enneff
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
73 ms
·
841.
▲
by
enneff
12y ago
Values ("off-GC primitives?") are first class-citizens in Go. Stack-allocated structs have much more value than you think.
842.
▲
by
enneff
12y ago
It doesn't matter what the mechanism is; writing code that depends on code that changes is more complex than simply not doing that.
843.
▲
by
enneff
12y ago
> And argue that the vast majority of pull requests on GitHub are simple ones which don't need much discussion, so in general the GitHub UI works just fine. Right. And what you say validates my exact point: "pull request cult
844.
▲
by
enneff
12y ago
One nice thing about Git is it lets you choose your workflow. Our general workflow for the Go project is to review single commits, and sometimes do major new work in feature branches. When we submit a single change we cherry-pick. When we m
845.
▲
by
enneff
12y ago
This probably reveals more about you than anything else.
846.
▲
by
enneff
12y ago
> The bigger one is why do I see about 600 reflect. entries in the resulting ELF instead of a single one for the string type.* There is definitely work that can be done to improve dead code elimination in the Go tool chain. The transit
847.
▲
by
enneff
12y ago
I disagree with "channels are slow". They may be faster than you think. Defers needn't add as much overhead as they do today; this can be fixed. I think it really depends on your definition of "performance-critical"
848.
▲
by
enneff
12y ago
That's exactly what we do, and we need to change the commit hash because we want to include the review information in the commit message. Not sure why this is "insane."
849.
▲
by
enneff
12y ago
> if you are writing such systems (in either language) you are very likely to spend quite a lot of time in 'unsafe' land. I don't think that's necessarily true. Go does a much better job than Java at letting you man
850.
▲
by
enneff
12y ago
Which makes no sense, anyway. The reason a Hello World program in Go is large is because it must include the baseline runtime support that is included in any Go program. A 10 line program won't be 13mb.
851.
▲
by
enneff
12y ago
Actually, the Gerrit workflow is pretty agnostic about whether you use one or many commits. In general, it's poor form to send massive commits anyway. Those poor reviewers!
852.
▲
by
enneff
12y ago
This makes me laugh, considering at Google we regularly deploy statically linked C++ programs that are two orders of magnitude larger. "You call that a big binary? THIS..." etc
853.
▲
by
enneff
12y ago
I don't understand the basis of your question. What does the bootstrapping process for a compiler have to do with "OSS's value proposition?" (By OSS I'm assuming you mean "Open Source Software"?) To build
854.
▲
by
enneff
12y ago
> "Run-time support and type information", why is it linked into a an executable that never allocates memory and does no introspection of any kind? fmt.Print does use reflection. Besides, bickering over the size of hello worl
855.
▲
by
enneff
12y ago
It's a tool for giving presentations, not necessarily for reading them. But I've just sent a change to add some help text to these pages: https://go-review.googlesource.com/4910 edit: The change is now live. No
856.
▲
by
enneff
12y ago
http://golang.org/doc/faq#Why_is_my_trivial_program_such_a_l... The linkers in the gc tool chain (5l, 6l, and 8l) do static linking. All Go binaries therefore include the Go run-time, along with the run-time type info
857.
▲
by
enneff
12y ago
go get golang.org/x/tools/cmd/callgraph Or similar for any of these commands: http://godoc.org/golang.org/x/tools/cmd
858.
▲
by
enneff
12y ago
Rob Pike has nothing to do with the Plan 9 port of Go. It has been entirely driven by the outside community. I don't think Rob has used Plan 9 in years. > Most Googlers I've spoken to despise this guy's reactionary lordshi
859.
▲
by
enneff
12y ago
The right way for a server to do this is to listen on 0.0.0.0 and then examine the socket to see what address(es) it is listening on, and report a real address to the user. It's just laziness (or ignorance) to print 0.0.0.0.
860.
▲
by
enneff
12y ago
Almost the whole first minute or so of the video is in his master bedroom.
861.
▲
by
enneff
12y ago
Yes, it's not true that software magically gets better with age, but we now have a small team of experts working on the Go runtime, so we expect the GC to improve dramatically this year. We didn't have those people before, and one
862.
▲
by
enneff
12y ago
When we built the Go standard library it was valuable for us to think of it as a whole. What would most of our users need? Are there any gaps? I think the gokit project is a good opportunity to focus the energies of likeminded people in the
863.
▲
by
enneff
12y ago
I've talked to the author extensively about these ideas, and let me assure you he is firmly in the "no monolithic frameworks please" camp. (He's also the author of some great Go code, btw.) What he proposes here looks mo
864.
▲
by
enneff
12y ago
He's talking about software.
865.
▲
by
enneff
12y ago
This isn't 4chan.
866.
▲
by
enneff
12y ago
HTTP pipelining doesn't work in practice, so comparing it to SPDY or HTTP/2 is a waste of time.
867.
▲
by
enneff
12y ago
HTTP pipelining is busted for a variety of reasons. Support exists in most browsers but it's disabled by default because it makes things worse, on balance.
868.
▲
by
enneff
12y ago
It's not just web _pages_, either. Many people spend their days working in web applications, which HTTP/2 helps tremendously.
869.
▲
by
enneff
12y ago
Actually, HTTP/2 is already more widely-used than IPv6. :-)
870.
▲
by
enneff
12y ago
HTTP/1.1 is also pretty bloated, it's just half the features nobody bothered to implement correctly (pipelining, for instance). HTTP/2 is much the same.
More ›