Live data from Hacker News

Viewing profile — joelgwebber

joelgwebber

HN member
Joined
Thu, Oct 08, 2009, 12:02 PM UTC
HN karma
47
Public activity
44 items

About joelgwebber

Reformed game developer. Ex-Googler. Co-founder at Fullstory.com.

Recent public activity

  1. comment
  2. comment
    Comment #8950492

    To be precise, Blink is moving to a GC for stability (including avoiding leaks), but I don't believe it's for security -- the renderer remains sandboxed because it's effectively im…

  3. comment
    Comment #8950323

    C++ management can of course be workable with enough care. I worked on Chrome for a bit while at Google, and saw that it more or less holds together with enough reference counting …

  4. comment
    Comment #8949629

    Thanks for taking the time to comment, Jonathan. This is why the approach I'm experimenting with is build something very much like a custom allocator in Go, for all values that are…

  5. comment
    Comment #8948916

    This was a fairly obscure bug lurking in the DOM/API bindings. They have to do a bunch of wacky stuff to deal with the interactions between the V8 GC and the ref-counted native API…

  6. comment
    Comment #8948848

    Indeed. I'm hopeful that the concurrent GC will get it to the point where it can do a lot better than that "10ms out of every 50" promise in 1.4. If not, then well, I guess we will…

  7. comment
    Comment #8948290

    Nice work. Assuming my experiments convince me that writing games in Go is worthwhile, I'd love for the ecosystem to evolve to a point that it's trivially easy to get up and runnin…

  8. comment
    Comment #8948267

    Yes, sort of. Not generating a large amount of garbage can still give the runtime an opportunity to reduce the amount of work done per collection pass. A naïve heuristic for determ…

  9. comment
    Comment #8947922

    See my comment elsewhere on this thread, about techniques for limiting garbage in Go. I'm far from proving that this is sufficient for avoiding significant GC pauses, but I'm tenta…

  10. comment
    Comment #8947774

    See my earlier comment (and some bits of the original post). Go does indeed support arrays-of-structs, as well as taking pointers to the middle of arrays, and directly to struct fi…

  11. comment
    Comment #8947756

    Here's my take on GC in games, FWIW. I'd be very leery of using a VM with a garbage collector for the entirety of a game. They can be fine (and are extremely common) in embedded sc…

  12. comment
    Comment #8947698

    Yes, this. I've often advocated for the importance of having a good debugger when developing any kind of UI, game, or simulation code. It can be really damned hard to make sense ou…

  13. comment
    Comment #8947654

    I'll be honest -- I hate working without a debugger. Go's gdb support was never great, and the team appears to have decided it's a fool's errand. On the other hand, the Delve proje…

  14. comment
    Comment #8947206

    Damn, that was fast. Thought billing was enabled for that site, but I guess not. Fixed! Edit: Or at least it should be. Might take a couple of minutes to clear up.

  15. comment
    Comment #8632162

    > I think that the original poster (the one you responded to originally) was talking about errors in the first two senses; things that you should/want to handle yourself. I guess t…

  16. comment
    Comment #8631769

    I don't want to pick nits too much here, but "[...] leading to the whole non-nil value being nil idiocy; it's mindblowing that they got this so wrong." So I paraphrased a bit :) I …

  17. comment
    Comment #8630564

    Sorry, I wasn't entirely clear -- I was referring to the original basis for the complaint about verbose error handling. I'm intentionally separating the handling of runtime errors …

  18. comment
    Comment #8630317

    See my comment above for why I don't find this to be that great for server code. If each of those getOrElse() is an actual potential runtime failure (as opposed to just something t…

  19. comment
    Comment #8630296

    My personal experience at a startup with a large amount of Go code running its frontend and backend servers. YMMV. First off, I also find the interface-nil thing to be a frustratin…

  20. story
  21. comment
    Comment #5612623

    I might be able to do that more effectively if you'd point out what browser you're running.

  22. comment
    Comment #5610965

    Good point. Apple helpfully reports the rather confusing version string "Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn)" :P

  23. comment
    Comment #5610815

    Ditto for gcc-4.8. Roughly the same (ever so slightly worse) performance.

  24. comment
    Comment #5610749

    FWIW, I just ran it through Clang 4.1 (the standard on XCode these days), and got roughly identical performance. I'm still compiling gcc 4.8 just to be sure, but it seems unlikely …

  25. comment
    Comment #5610661

    What phone browser are you using? It seems ok on my Nexus 4 and mobile Safari, but I may need to fix the viewport or some such thing.