January 20th, 2017
via del Romito, Prato
Keynote: Lessons from the context package
The context package is Francesc's current favorite package in the standard library. This talk will cover why the context package is, while simple, full of subtle lines of code. There's many lessons to be taken from the design of the package, and some of them might be applicable to your next Go project.
Fighting GO FUD
A look at how you can sell Go to your boss, clients, and fellow co-workers. I’ll give you the ammunition you need to make a convincing argument for this powerful language, and how to respond to the usual FUD arguments you get. I’ll also let you in on some “sneaky” ways to get Go into your business.
Race detection in Go
Introdution to the race detector: what it can be useful for, and how to use it.
An Introduction to programming in Go
In this workshop we’ll go from your first Go program to concurrent programming strategies, presenting examples and use real world cases, including testing, benchmarking and debugging.
Hello world
The simplest task in programming reimagined for the internet era.
Snickers: Open Source HTTP API for Media Encoding
During the last 10 years, the video publishing at The New York Times relied on vendors and in-house hardware. This decision created a few bottlenecks to scaling its video production and it became a blocker for journalists to produce videos. Now, the company is focused on integrating the encoding pipeline with some cloud services.
Coffee break
Patterns to avoid cascading failure in highly distributed systems
The one thing that we can be certain of is that at some point things are going to go just a little bit wrong, gracefully degrading functionality is far better than a complete outage and in this talk you will learn the software patterns that allow you to break softly.
Writing multiplayer game servers in Go
Game servers are quite different beasts compared to their web counterparts: they have a highly dynamic state, strict latency requirements and they contain a lot of event-based logic. All this makes game server development a challenge, and we’ll see how to win using Go. Let’s play!
Ho to write your own Go tool?
Go tools are very powerful and yet simple to use. But how are Go tools created? In this talk I’m going to answer this question by showing the various Go parser family packages (go/token, go/scanner, go/parser, etc…) and how to use them to create your own Go tool from scratch.
Dependency management in Go
Dependency management is one of the most debated argument of discussion in the Go community. Many different tools has been proposed without never electing the definitive one. The goal of this talk is to present the status of d.m. in Go and engage the attendee to elect the definitive (or not) tool.
Lunch
How to port your Python software to Go without people noticing
Success stories about rewriting Python applications in Go are not big news anymore. The pros and cons are well known, best practices are in place, the standard library is there to help. But what if there’s some Python code you would like to keep or worse, some you can’t get rid of?
Go & IoT: implementing an IoT client platform
In this talk will be presented an implementation of the client side of the Nubila IoT platform, completely written in Go. Thanks to its portability, the attitude for system programming, the rich ecosystem of libraries and, of course, the speed, Go is perfectly suited for this task.
Write your next Android app in Go
Use Go for your next Android app. This is the hand-on experience for everyone ready to complement or in some cases even replace Java with Go in their next mobile application. Learn everything from setup of Go Mobile to a complete Android application written in Go.
Collaborative content systems in Go
Making content management system for a OSS risk security assessment app.
We will present content contribution system Octo, written in Go, which emphasises three principles:
- transparency of the contributions
- traceability of changes
- authentication included
- multiple modes of collaboration
- extensible (share data with other platforms)
- i18n (export/import to and from translation services)
- automatic propagation via post hooks
- performance
How to build a massive scalable architecture with Golang. From web to desktop.
We wrote a web application for millions users. We needed a way to have scalable and fast api and a small desktop application. How did we create a set of modular applications from microservices to desktop apps and released some of the open source? With Go.
Coffee break
http://
HTTP has been around since start of internet. Infact there is 2.0 of it. The talk is a deep dive of HTTP 1.1 and 2.0 spec, all that we don't know of it and code samples in Go to demonstrate it.
Ultimate Go Web
Ultimate Web is class (can be several hours to several days) for any Go developer who wishes to learn how to build robust and well tested HTTP based applications in Go. This class provides an intensive, comprehensive and idiomatic view build Web, SOA, and API applications using Go. We believe this class is perfect for anyone wishing to build scalable, fast, and highly concurrent HTTP based applications.
Composition in Go
Composition in Go is much more than the mechanics of type embedding and reuse. Composition is about decoupling code from change.
Keynote: Why the world is falling in love with Go
---
January 21st, 2017
Via del Romito, 71, 59100 Prato PO
Inception, Go programs that generate Go code
Go is amazing, but sometimes we need to code lots of boiler plate. Fortunately, there are different ways you can reduce boilerplate by having programs generate all the boring code you would traditionally write by hand. In this talk we will look into different ways you can build programs that generate source code for other programs.
Game development for beginners
Golang being a featureful language, it’s support for C bindings & simple concurrency, its a right languge for game development. But not yet. The golang libraries are not matured as of now. However I think writing a game is an interesting way to learn golang. This is intended for beginners with some golang knowledge.
Mechanical Sympathy and Data Oriented Design
This is a 1 day class for any experienced Go developer who want to learn more about debugging and profiling applications in Go. We will learn details about Mechanical Sympathy and Data Oriented Design as it relates to Go. Then we debug and profile small applications and eventually a larger web application attempting to understand where we need to focus attention and fixing issues.
Architecturing and Securing Internet of Things Platform in Go
IoT platforms are most ofen used as a middleware, that means as a SW server (set of servers in fact) that provides several functionalities and services that are usually needed in designing IoT applications.
Coffee break
Writing a microservices-based webapp with Go
Monolithic servers are the past. The future is in the hands of microservices-based structures! It’s time to dive into the microservices approach to learn its principles and its strengths (and maybe its weaknesses too!).
The Gopher's guide to mobile apps
Perhaps you’ve never heard of Go Mobile before, or perhaps you have but never got around to trying it out. In this talk, I’ll demonstrate every step from installation to using Go in your mobile apps, from low level business logic to your UI code.
Lunch
Go for real (time)
The talk explores the feasibility of Go for soft realtime applications. We will briefly define soft realtime and explore some domains that need it.
Training: Exploring Readers and Writers
Interfaces are crucial for decomposing and combining functionality in Go programs. Among the interfaces in the standard library two are a bit more prominent, as they provide simple, yet powerful facilities to work with data streams: io.Reader and io.Writer.
Interoperability with Go
I’ve been involved in two open source projects that make a heavy use of interoperability, one of them is an open source API gateway (Tyk, https://tyk.io/) and the other is a module for integrating .NET with Go projects. I would like to share my experience implementing them.
Coffee break
Buiilding Data applications with Go
Many people use Go for different projects: WebDev, DevOps or other general-purpose tasks. On another hand, with all the beauty and performance of the language it could be a good challenger for Data applications.
RESTful API in Go
Go’s popularity in increasing and one of the main usage is building RESTful API. There are plenty of resources online about which framework to use, which ORM is better (do we really need both of them?) and other idiomatic ways to build your code.
High performance Go Code
Moore’s Law has started to become obsolete in almost every realm of hardware development.
Training: Go, conquering the web
Golang sure has won the medal of honor when it comes to API, backend infrastructure, orchestration, background jobs, concurrency and micro services. But talk about a full-fledged web app and everyone goes running back to Django and Ruby on Rails. So let’s make Golang win this war. #MakeGoGreatAgain