- Using Go Modules and an Intro to Athens - James Culbertson
Pizza will be provided. Title: Using Go Modules and an Intro to Athens Description: Package management has historically been a problem area for Go but the situation is improving with the initial introduction of Go Modules in the Go 1.11 release. The discussion will explore the importance of package management and demonstrate the techniques and workflows for using Go Modules. We will also explore the use and application of the Athens proxy and module store. Bio: James has worked in the oilfield service and software industry for 38 years with an initial 20-year stint as an engineer for Schlumberger and then as a consultant developing software applications for the major oilfield service companies. He primarily develops software with C# and Go and has recently joined Fugro to help develop a cloud application that leverages microservices.
- Go + WebAssembly - Dabbling with Vugu
Agenda 6:00 - 6:30 Socialize and pizza 6:30 - 7:30 Dabbling with Vugu - Alain Hoang WebAssembly support has recently been added to Go since version 1.11 which enables Go to target compilation for the web. Vugu is a UI library that takes inspiration from other frontend frameworks like Vue.js and React but is written entirely in Go which targets WebAssembly. We'll go over some of the history for Go and WebAssembly support and focus on how one can use target frontend applications that can be completely written in Go using Vugu. Alain has worked in various technology roles with a strong operations focus for over 20 years from small startups to large corporations with a variety of technologies. After discovering and picking up Go along the way after recently working in Ruby and Python, he is enthusiastic exploring the ins and outs of the Go ecosystem and still finding some time for UNIX spelunking.
- gRPC in Go
Let's take a look at gRPC (Google's HTTP/2 Remote Procedure Calls framework) and create some example Protocol Buffers to compile into usable Go structures and functions. We'll start out with some simple examples and then look at some production-level uses in the Hyperledger Fabric package. https://grpc.io/about/ Sean is a former commodities market analyst and founder of the startup Kernle.com, a SaaS platform bringing standardized data transfer for B2B interactions. Pizza will be provided.
- Hack Night - Bring your project (or get help getting first Go project set up!)
Bring your current project or get help getting your first Go project up and running. There are also several open source Go projects between people who are attending and you can get advice on how to best getting started with the project. Pizza will be provided.
- ANTLR for Go and Getting Started with TerraForm
Agenda 6:00 - 6:30 Socialize and food 6:30 - 7:00 ANTLR for Go 7:00 - 7:30 Getting Started with TerraForm 7:30 - 8:00 Open discussion ANTLR is a parser-generator (akin to yacc and bison). Given a description of a grammar, it will output Go code that can process that grammar. Parser-generators are critical for building compilers, but their usefulness isn't limited to just designing new programming languages. ANTLR can also be used to quickly create code to process files, respond to protocol requests, understand interactive DSLs, and more. It takes much of the grunt-work out of writing filetype converters, web servers, and REPLs. TerraForm is a tool that allows you to describe your infrastructure as code. I will review TerraForm, lessons learned, and gotchas. Come learn how you can reliably plan, create, and modify your infrastructure across multiple environments.
- xo - CLI Tool to Generate Idiomatic Go code for SQL databases
Whitaker IT (whitakerIT.com) is sponsoring the food for this month's meeting and Improving is providing the meeting space. Thank you to our sponsors! Agenda 6:00 - 6:30 Pizza/Socialize 6:30 - 7:30 Presentation, James Culbertson 7:30 - 8:00 Q & A, Socialize This presentation will explore the various methods for database access in Go and elaborate on the pros and cons of each technique. Focus will be on tools that utilize a database-first approach to generate efficient and idiomatic Go code for the database access layer. We will discuss a tool called xo that makes effective use of this approach and supports multiple SQL database technologies. James will then demonstrate how to use the tool to automatically generate the code, how the code is adapted into a project, and how it will adapt to schema changes during the life-cycle of the project. Also he will show a recent fork called gendal that adds support for CockroachDB and brings more active support to the project. James has worked in the oilfield service industry for 36 years with an initial 20-year stint as an engineer for Schlumberger. In the last 16 years he has worked as a consultant developing web-enabled data management software and desktop applications for the major oilfield service companies. Having started in college programming with Fortran 66 on punch cards he now primarily develops software with C# and Python. Lately he has become interested in Go and is having fun using it to build open-source software.
- Hyperledger Fabric Chaincode in Go
Agenda: 6:00 - 6:30 Eat/Socialize 6:30 - 7:30 Presentation Sean Hart - Hyperledger Fabric Chaincode in Go 7:30 - 8:00 Questions and Socialize Sean is a former commodities analyst and founder of the startup Viskous Corporation, developing a transaction platform for the crude oil industry. We will take a quick look at The Linux Foundation's Hyperledger Fabric , an open-source blockchain library written in Golang, and how Chaincode (smart contracts) are structured in Go.  https://hyperledger-fabric.readthedocs.io
- Awesome CLI’s with Viper and Cobra
We are getting the Go Meetup started again! Come join us for pizza, community, and a great talk! David Mis will be presenting on Awesome CLI’s with Viper and Cobra. The standard library makes it very easy to make simple apps and microservices that need only minimal configuration, but things get a bit tougher when building larger applications. That’s where Viper (https://github.com/spf13/viper) and Cobra (https://github.com/spf13/cobra) come in. Automatically parse configuration files in dozens of formats, build man pages for command-line parameters, and create fluent command-line APIs. This is a beginner-friendly talk. About David: I am a cloud engineer at UnaliWear where we build technology designed to help people maintain their independence. I'm new to Houston and am loving all the restaurants! When I'm not programming or eating out, I'm usually cooking or gardening, so most of my time is revolves around code and food (or "bits and bytes" as I like to call it).
- Getting Started with Go - James Culbertson and Michael Kacher