CapitalGo 2018 Program

Johnny Boursiquot

Johnny Boursiquot

Johnny is a multi-disciplined Software and Operations Engineer with over 18 years of industry experience spanning various server, client and mobile technologies. His past roles include developer, co-founder, teacher and CTO. He is currently the Principal Software Engineer at Achievement Network where he handles all things DevOps.

His love for technology is matched only by his passion for community service. He is a GoBridge Core Member, the founder and organizer of Baltimore Golang, a previous organizer for the Boston Ruby Group and the Boston Golang Group, regularly serves as a teacher for various organizations that seek to diversify the tech industry and mentors a number of young technology professionals in the Boston and Baltimore metro areas.

Go FaaS

Function as a Service (FaaS) is now a part of modern infrastructure and as such, opens up a new world of possibilities for solving difficult backend problems. We’ll look at a few real-world Go-based scenarios that leverage AWS Lambda and other complimentary services to solve business problems.

Jon Bodner

Jon Bodner

Jon Bodner is part of the Technology Fellows Program at Capital One, currently working on a fork of the LGTM project that will be open sourced soon. Jon's team is helping to transform Capital One through introduction and integration of new technologies, working to shorten release cycles, and generally pushing forward an "open source first" culture.

Jon is a software engineer, lead developer, and architect and enjoys presenting and discussing open source, technology trends, and the future of software engineering. Over the past 20 years, Jon has worked in just about every corner of the software industry including on-line commerce, education, finance, government, healthcare, and internet infrastructure.

Evil Go

Go developers say that working in Go is great, primarily because the code is so easy to follow. The language encourages a simple, straightforward programming style and there are lots of people who are happy to teach you how to follow these best practices in Go. And sure, that's great for your company and co-workers, but how does that help you? Maybe it’s better to make yourself essential by writing bad code instead. This talk covers everything that you can do to make your Go code as hard to follow as possible, so you can enjoy job security via worst practices.

Filippo Valsorda

Filippo Valsorda

Filippo Valsorda is a member of Google's New York Go team. He is a Cryptogopher. He often speaks about cryptography or security protocols defects.

Filippo is formerly from London, where he worked at CloudFlare on their pure-Go DNS server. He built its entire DNSSEC implementation.

He is also the author of the then-popular Go-backed filippo.io/Heartbleed vulnerability test.

Why cgo is slow

cgo is the feature that lets Go programs call C code. It happens to have lower performance than the equivalent features in some other languages.

Looking into the reasons can reveal a lot about what makes Go different from C and other languages. From collaborative scheduling to calling conventions, from goroutine stack sizes to garbage collection semantics.

We'll explore the internals that come into play in the design and implementation of cgo, and the tradeoffs they require.

Baron Schwartz

Baron Schwartz

Baron Schwartz is the founder and CEO of VividCortex, the best way to see what your production database servers are doing. Baron has written a lot of open source software, and several books including High Performance MySQL. He’s focused his career on learning and teaching about performance and observability of systems generally. And he chose Golang for VividCortex in the early days when it wasn't a safe or well-known choice, and it's worked out great!

Static Websites With Hugo

Hugo is a fast, and very powerful, static site generator. I use it for my blog, as well as for fancier things like Markdown-based slideshows. I also use it for practically everything else I can, and every time I have to use a database-backed CMS I cringe and plot to rip it out. In this talk I'll explain the basics of Hugo and how it works.

Janice Gluck

Janice Gluck

Janice Gluck is a lead engineer at Hobsons in Clarendon. She LOVEs programming in Go when she gets the opportunity. She has been an engineer for a long time and two of her passions are learning new technology and mentoring new engineers.

GoCV, Facial Recognition and College Advising

Recently inspired by Ron Evan's GothamGo talk on OpenCV, we decided to improve the user experience of students interacting with our college advisor kiosks. The project uses GoCV to automagically sign students in by just walking to the kiosk. The program recognizes that a student has arrived, identifies who the student is, and then matches them to an advisor for a meeting.

Anit Gandhi

Anit Gandhi

Anit Gandhi is a Senior Software Engineer at Capital One, currently working on Critical Stack. He has previously worked on a high-performance enterprise sensitive data tokenization service, and is an active member of Capital One's Go community of practice.

Anit is an avid/hopeful cryptographic software engineer, and loves to work in the area where Go, cryptography, and performance come together, especially in open source!

In his free time, Anit likes to think of too many side-projects he'll never get around to, and eat too much pasta.

Lessons learned in performance optimization

I'd like to talk about how I learned to optimize code, at an algorithmic and code level, through the iterations on Capital One's format-preserving encryption project, and why I did so.

In particular, I plan on going through my use of pprof and benchmarking, and most importantly, learning not to a) prematurely optimize (correctness is more important!) and b) where to draw the line as you dive into profiling. I'll briefly touch on the toolchain's awesome utilities that are available, and then I'll go into how I actually used them to systematically find hotspots in my code. Further, I'll explain some of the common algorithmic and memory-usage optimizations I added.

And of course, all the lessons along the way!

Rob Perry

Rob Perry

Rob Perry possesses over ten years of software development and architecture experience. He has spent his career working in many disciplines of the SDLC across the music software, telecommunications, information security, business intelligence, and financial industries with over seven years focused on core product development.

Rapid Development with Go

Sure, Go is a great programming language and easy to get up and running. It's also a typed and opinionated language, which requires compilation. Why wait for your code to compile during dev/test iterations if you don't need to? Need to iterate on a relational database schema? No problem. Come to learn about some available tooling options that can help to streamline rapid application development.

Doug Fort

Doug Fort

Doug Fort has been programming computers since 1973, starting out with COBOL on punch cards. Now he writes in Go, mostly for back end services.

Protocol Buffers, gRPC and Go

Microservices are at the heart of modern, flexible system architectures, enabling the exposure of system capabilities to various clients, either inside or outside of your system or organization. In this talk, you'll learn how to build them in Go!

We'll walk though generating code from a protocol buffer description, and how to use it to create simple gRPC microservices in Go. We'll see all the steps, and examine the tooling and resources available to help.

Marcelo Mandolesi

Marcelo Mandolesi

Marcelo Mandolesi is a Site Reliability Engineer at USAToday/Gannett.

Improving the SSL Experience at USAToday/Gannett

As a Site Reliability Engineer at Gannett, we exist to solve problems around deploying our applications/systems and reduce toil. One glaring problem was the difficulty our developers had in getting SSL certificates for those applications. The talk will discuss the pain points that developers at Gannett experienced when getting certificates for their applications running in the cloud. How this was improved by developing a Go API that talks to Digicert and Vault to make getting new certificates easy.

Valerie Woolard Srinivasan

Valerie Woolard Srinivasan

Valerie Woolard Srinivasan is a software engineer at Panoply, where she build tools for podcasters. She is also a lead for Women Who Code DC. She is always happy to exchange podcast recommendations, vegetarian recipes, and running routes. She lives in DC with her husband, who is also her best editor and advocate.

Code and Fear: Talent, art, and software development

Writing code is a creative pursuit in many ways. The book Art & Fear: Observations on the Perils (and Rewards) of Artmaking talks about the day-to-day work of making art, and we'll talk about how to apply its lessons to making software.