This is super cool work from Ian here.<p>Go is quickly engendering a renaissance in command line programs and other services that run in hostile environments. I talked about this in my GopherCon 2014 talk: if you want to build quality code and deploy it into hostile environments, you need good crash reporting. The conversion rate from crash -> crash report is abysmal without automation, and it's critical to close your quality feedback loop.<p>Crash-reporting is hard. Cross platform crash-reporting is harder. Cross-platform crash-reporting for unsafe languages is harderer. Terrifyingly so:<p><a href="https://code.google.com/p/google-breakpad/wiki/ClientDesign#Exception_Basics" rel="nofollow">https://code.google.com/p/google-breakpad/wiki/ClientDesign#...</a><p>Making this so easy that it's just an extra step in your build process is a huge step forward. That it can work even on dependency code is hugely important.<p>That's not to say it's without its tradefoffs, but I think this approach has the best ratio of value to effort.<p>I'm looking forward to experimenting with this in deployed code to help me catch bugs in the wild.
"Go as a language is very opinionated... Go engineers are an anti-magic crowd."<p>Great so far. But why does this always end up as....<p>"This tool... auto-generates the code for you"
<a href="http://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule" rel="nofollow">http://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule</a><p>Writing code generators, inventing the wheel over and over again.
Code generation in Go is so fantastic. I made this in one late evening: <a href="https://github.com/bouk/go-faster" rel="nofollow">https://github.com/bouk/go-faster</a>
> Maybe like me you use Fresh<p>> and you have a OCD of hitting save every 2-3 seconds as you are thinking<p>Please stop with this "OCD" bullshit.