Past Meetup

GoSF – InfluxDB, BoltDB, and an Accelerated Intro to GopherJS [Feb 18th]

This Meetup is past

181 people went

Location image of event venue

Details

Agenda

6:30 Networking | Food | Drink

7:00 Sharing of Tips and Tools

7:15 Speakers
• Talk 1: Refactoring InfluxDB: From Go to Go (Paul Dix)
• Talk 2: Go-nuts and Bolts: Introduction to BoltDB (Tommi Virtanen)
• Talk 3: GopherJS (Dmitri Shuralyov)

8:30 End

Talk 1: Refactoring InfluxDB, a Go-based Open Source Time-Series Database

Over the past 4 months, Paul Dix and his team completely rewrote InfluxDB: from Go to Go. In this talk, he'll give a quick overview of InfluxDB and show how it's useful for metrics, analytics, and sensor data.

He'll then dive into the history of the project and why we chose to rewrite our previous Go implementation into the implementation we have now. He'll show pain points with their legacy codebase and give examples of how rewriting the code from scratch gave them the ability to do things they couldn't have done otherwise.

Finally, he'll close out with some comparisons on usability, readability, and performance of the previous version against the new rewritten version.

About the Speaker

Paul Dix is the CEO of InfluxDB (http://influxdb.com/) (YC W13), organizer of NYC Machine Learning, series editor for Addison Wesley's Data & Analytics, and author of Service Oriented Design with Ruby. In the past he has worked for companies big and small programming web applications and infrastructure in Ruby, Java, C#, Scala, Javascript, and many other languages. Paul has a degree in computer science from Columbia University and splits him time between NYC and San Francisco.

Talk 2: Go-nuts and Bolts: Introduction to BoltDB

Bolt (https://github.com/boltdb/bolt) is a pure Go key-value store as a library. This talk will explainits architecture, use cases, and API. After the talk, you should know when Bolt is a good fit for your application and how to use it.

About the Speaker

Tommi Virtanen (Tv) is a software developer who's interested in filesystems, networks and distributed and decentralized software as well as finding neat solutions to difficult problems and shiny bits. He's worked on clustered high-performance firewalls, embedded devices, the Ceph distributed storage and filesystem, and all kinds of NoSQL and MoSQL Turbo-encabulators. You can read his personal writings at eagain.net (http://eagain.net/).

Talk 3: GopherJS

GopherJS is a compiler from Go to JavaScript. By now, it supports "nearly everything," including goroutines. It provides an opportunity to write front-end code in Go which will run in all browsers, enabling you to share data structures, code, and libraries from your back-end Go code, with benefits of having gofmt/goimports, godoc, static type checking, and helpful compilation error messages.

Dmitri Shuralyov will talk about GopherJS, share his experiences, tips, and tricks using GopherJS as well as demonstrate what is possible today, and how it might be used for production-quality apps now or in the future.

Some of the topics he will cover include:

• Getting started and introduction to basics
•Accessing the DOM using JavaScript calls as well as via Go bindings
• Using other web APIs such as XHR, WebSockets, WebGL
• Using popular pure Go libraries for front-end processing
• Advantages and disadvantages, performance, size of generated code, general observations, and status of its use in production apps.

About the Speaker

Dmitri Shuralyov is a software engineer at Triggit (mostly working on various backend components using Go) and an avid Gopher. Coming from a game development and graphics/UI background where C++ was used primarily, he discovered and made a full switch to Go two years ago, which lead to increased happiness. He enjoys contributing to open source, fixing issues in existing tools, and the Go project itself. @shurcooL (https://twitter.com/shurcooL)

About the Sponsor/Host

Chain.com is the block chain developer platform.

About the Organizer

Iron.io is the maker of IronMQ, a highly available message queue, and IronWorker, an elastic task queue/worker service. Iron.io's services are designed for doing things asynchronously and operating at scale. (www.iron.io (http://www.iron.io/))

Additional Sponsors

Go Bootcamp in an exciting and comprehensive course on the Go programming language. Coming to San Francisco soon.

Find our more at: http://www.ardanlabs.com/go-bootcamp-tour