GopherCon 2018 - Lightning Talks

conference, golang, gophercon2018, notes

These are some notes from my experiences at the GopherCon 2018. I don’t expect these will be laid out in any particularly useful way; I am mostly taking them so I can remember some of the bits I found most useful in the future.


Mage

  • Like makefiles, identified with build tags
  • Namespaces, dependencies

GeoHashing

  • Quantize lat/lng to 32-bit values
  • Interleave into a 64-bit value
  • + 90 / 180 * 2^32 for lat (similar for lng)
  • Spread op (see slides / video later)
  • There is a blog post (guy from Uber)

Observing Go Services

  • (at Stripe)
  • Observabilty – infer internal state from external output
  • Fundamental questions

    • What to monitor
    • How to monitor
    • Future possibilities?

What to Monitor?

  • Define SLA
  • Define SL-Indicators

    • Usually Rate, Errors, and Duration

Athens

  • Server that works w/ go module system
  • GitHub changes on a whim – bit of an issue
  • Use the vendor dir?
  • Go modules has a download protocol (http)
  • Athens is an http server that proxies projects and stores versions forever
  • github.com/gomods/athens

Decentralized CI/CD

  • Jenkins can enable lots of overengineering