October 22nd, 2018
October 23rd, 2018

GoLab 2018

500
attendees
35
speakers
5
represented continents
500
attendees
35
speakers
5
represented continents
500
attendees
35
speakers
5
represented continents

October 22nd, 2018

Day 1
Grand Hotel Mediterraneo

Lungarno del Tempio, 44 Firenze

10:15
Coffee break room (GHM)
Networking time

Welcome coffee

10:45
Embedded
45
min
talk

Go on Fuchsia OS

Fuchsia is the new OS from Google based on a new non Linux kernel that could replace Android. Few Programming Languages will be supported and Go is of course one of them. This talk will highlight how to write an application in Go for Fuchsia and will also serve as an introduction to the new OS.

Patterns
45
min
talk

Implementing Software Machines in Go and C

A fast-paced dive into the rudiments of virtual machine and emulator implementation.

Workshops
135
min
Premium Workshop
360
min
workshop

Advanced Ultimate Go

---

11:30
Embedded
45
min
talk

Emulating a Nintendo DS in Go

Emulation is tricky, and making it fast in a high level language like Go is even trickier.

Patterns
45
min
talk

Goroutines: the dark side of the runtime

Have you ever wondered what really lies behind the “go” statement? Did you ever stop and think about differences between goroutines and standard operative system threads? Is there something you should know to avoid bugs or weird, unintended behaviours?

12:15
Embedded
45
min
talk

Go Hardware Go!

What happens if you take reconfigurable hardware (like FPGA) and mix it with a modern language like Go? What if the processor became a modular object?

Patterns
45
min
talk

Decoding invalid base64 with state machines

How many times did you try to decode a string and couldn’t because it was malformed? With state machines, we can dynamically decode malformed or incomplete strings. This talk will discuss how to implement such state machines and the problems you might encounter.

13:00
Lunch room
Networking time

Lunch

14:30
Embedded
45
min
talk

Computer Vision Using Go And OpenCV 3

Introducing GoCV (https://gocv.io) a new package for letting Go programmers create computer vision applications using OpenCV.

Patterns
45
min
talk

Project layout patterns in Go

You completed the tour, learned the language, got your pet project on Github. Time to start a new project, a big one: how do you organize code, tests, docs? During the talk I’ll try to save you some trial and error by sharing the lessons learned during a year spent coding a non trivial Go project.

Workshops
230
min
workshop

First steps with Go

---

15:15
Embedded
45
min
talk

An embedded soft real time system in Go

An embedded system usually involves low level languages like C and highly customized hardware.

Patterns
45
min
talk

Go tricks from the trenches

This intermediary talk shows how we took advantages of powerful features offered by Go. The egoscale library powers two command line tools (urface/cli and cobra), the integration in Terraform, some Kubernetes tools, the de-facto ACMEv2 library lego and more too come.

16:30
Main Hall
45
min
talk

Diversity panel: Are we inclusive yet?

"Are we inclusive yet?" is the Diversity Panel debate featuring Cassandra Salisbury, Anna Bernardi, Carmen Hernandez Andoh and Eleanor McHugh.

17:15
Embedded
45
min
talk

How interfaces saved our ilfe while migrating half a million users with no downtime

What happens when you have half a million users, 11 millions of their files, and you have to change completely the underlying technology with no downtime, no conflicts, over several weeks of a rolling update?

Patterns
45
min
talk

Gomacro: code generation made easy and fun

Go code generation was traditionally still a difficult topic. Armed with Gomacro REPL, we will see how creating and manipulating abstract syntax trees (go/ast.Node) becomes as easy as adding few keystrokes to a statement or declaration. And you can do it interactively: much more fun and productive.

18:00
Main Hall
30
min
talk

Lightning Talks 2018

  1. Turn data into Go structs - Martin Czygan
  2. Small is more (why, how and when make very small Go binaries) - Andrea Masi
  3. Lost in transaction? Manage consistency by leveraging distributed state machines - Bernd Rücker
  4. Athens, a new place for your dependencies - Federico Paolinelli
  5. Introduction to Go Concurrency Patterns - Fabio Falzoi
  6. Golang, Linux kernel and the netlink family in between - Florian Lehner
18:30
Main Hall
Networking time

Networking

20:10
Cucina Torcicoda
Networking time

Gathering & Gopher Dinner

October 23rd, 2018

Day 2
Grand Hotel Mediterraneo

Lungarno del Tempio, 44, 50121 Firenze FI

09:15
Main Hall
45
min
10:00
Coffee break room (GHM)
Networking time

Welcome coffee

10:30
Web
45
min
talk

Fast messaging with Nats and Go

Even if synchronous calls are the most popular way to communicate between distributed services, event based communication is a common alternative due to its advantages in terms of decoupling between producers and consumers.

Developer Experience
45
min
talk

Debug like a pro on Kubernetes

Go fit perfectly inside containers, you can ship apps as tiny images on k8s, distributing them across the globe. Gianluca will show how InfluxData debugs containers running on Kubernetes to allow sysadmins and developers to troubleshoot and replicate issues using core dump, debuggers, and logs.

Workshop 2
180
min
workshop

Performance Evaluation in Go

---

11:15
Web
45
min
talk

Building a packet-based high-performance proxy for a telco

A successful story of reimplementing a safe-browsing proxy for Telefónica, moving from C++ and socket handling, to Go and packet management, and how Go can help you to be productive and efficient, and to achieve a high-quality product.

Developer Experience
45
min
talk

Unit Testing Code with Hard-To-Mock Dependencies

Unit testing using mocks is a common technique in Go and other languages. However, some dependencies are harder to mock than others; standard library packages such os can be particularly tricky. This talk covers strategies for effectively testing code that depends on such hard-to-mock packages.

12:00
Web
45
min
talk

Building great APIs with gRPC

It generally takes lots of time and decisions to create an HTTP API, but when you want to get productive fast, you want to skip as many steps as possible. I’ve been working with gRPC for almost a year and I can guide you from first lines of the code up to request tracking or exposing it via HTTP.

Developer Experience
45
min
talk

Go as a scripting language in Linux

Do you like Go so much and use it in every software project? Do you think Go is a truly universal language? How about taking it to the next level and trying Go as a scripting language for your favourite Linux distribution?

12:45
Web
45
min
talk

Applying serverless architecture pattern to distributed data processing

In this talk we will go through whole “serverless” thing: from decomposing app and its logic to microservices and further to smaller bits, i.e. functions to defining data flow through functions and building their fault-tolerant pipeline.

Developer Experience
45
min
talk

Production Ready Go service in 30 minutes

We always hear how Go is a simple language, how it can enable developers to be productive.

13:30
Lunch room
Networking time

Lunch

15:00
Web
45
min
talk

Orchestration of microservices

Microservices, DDD, distributed systems, serverless. All trends decompose to the max, which moves the complexity to the collaboration of these pieces. I want to tell some war stories around that in this talk and give people some guidance.

Developer Experience
45
min
talk

Go for the Long Game

Come hear why and how Go is engineered for longevity for the practice of Software Engineering; not just in code features and syntax, but also for organizational processes, change management, team rapport, leveling up inexperienced people, and project stewardship. See how your team or organization can use Go to move with emerging trends, from the micro to the macro.

Workshop 1
135
min
workshop

Go Contributor Workshop

---

15:45
Web
45
min
talk

Building a DIY proxy with the net package

The net package is one of the key assets of Go, and it's commonly used through higher level interfaces like net/http.

Developer Experience
45
min
talk

Bad gophers: unexpected hurdles programming in Go

Plot twist: sometimes Go gets in our way. While exploring the container world, we can find surprising limits if the implementation of the Go runtime, and the solutions needed to overcome those limits may be even more surprising. In this talk we will see some of those limits, and their solutions.

16:30
Web
45
min
talk

Go implementation of DNS Load Balancing at CERN

CERN is using an increasing number of DNS based load balanced aliases (currently over 600).

Developer Experience
45
min
talk

Cgo for fun and profit (read pain and suffering)

Famous last words: “CGo will allow me to write code in Go once and invoke it from other languages easily”. I demonstrate that this approach is mostly more trouble than it’s worth; by doing a live end-to-end exercise of invoking go built shared library from other higher level languages.

17:15
Main Hall
Networking time

"Goodbye, Gophers!"

Cocktail & networking

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS