This schedule is subject to change as speaker availability changes.
Gautam Rege - Master of Ceremonies (MC)
Gautam is the co-founder of Josh Software, an avid Rubyist and a budding Gopher. He loves to talk - need we say anymore?
He speaks at various conferences across the world and is core member of the organizing teams for RubyConf India, Deccan Ruby and Gophercon India and a host of other meetups.
In his spare time, when he’s not with his wife and daughter, he plays football and basketball.
He always ready to give you company for a beer and loves to talk about life, universe and everything.
08:00 AM - 06:00 PM | Go workshop |
06:00 PM - 11:00 PM | Pre GopherConIndia Party |
7.00 AM | Registration |
8.15 AM | Opening Keynote - Gopher: From Darkness to Enlightenment by Francesc Campoy Flores
Opening Keynote - Gopher: From Darkness to Enlightenment
Friday 20th February, 2015 8:15 am to 9:00 am (IST)
A discussion on the usual path that gophers follow from their first steps in the language to the understanding of the philosophy behind it and how it shapes the community and the ecosystem of tools and libraries surrounding it. We will discuss what are the common pitfalls and "aha" moments and what are the most useful tactics to evolve as a gopher no matter what the current skill level is.
Francesc Campoy Flores
@francesc
Francesc Campoy Flores joined the Go team in 2012 as Developer Advocate after several years as a Python and C++ developer. His mission is to make Go useful and fun.
|
9.00 AM | Herding Gophers - Aaron Cruz
Herding Gophers
Friday 20th February, 2015 9:00 am to 9:25 am (IST)
At this moment in time, Go is most likely not the first language of the people who write it. You can often see the traces of other languages in code written by people who aren't proficient in your languages of choice. For example it is Ruby but it looks and feels like Java. Like herding gophers, it is easy to force something you don't understand to do what you are comfortable with. The trick is to learn the beauty of the language and let its powers shape your thinking and style.
Aaron Cruz
@mraaroncruz
Aaron lives in the suburbs of Vienna, Austria but is a native of the suburbs of Seattle. In his former life he was a shepherd, a cheesemaker and a sous chef. Now he is freelancing, building native iOS and Android apps and their respective API's. In his spare time, he organizes a range of user groups in Vienna. If you get him started talking about food, he may never stop.
|
9.25 AM | The Gopher from the Future - Gabriel Aszalos
The Gopher from the Future
Friday 20th February, 2015 9:25 am to 9:50 am (IST)
The talk will be about best practices and conventions when writing software in a collaborative environment (in a team, on a large project) with concrete examples from the Go language.
Gabriel Aszalos
@gabrielaszalos
Gabriel has been passionate about programming for over 15 years and has journeyed through several languages, but felt most strongly about C, JavaScript and now Go! Among other companies, he currently works with Thomson Reuters as a JavaScript engineer, but also being a notably active contributor to both open-source and private projects.
|
Tea Break |
|
10.20 AM | A Journey From Ruby to Go - Mike Gehard
A Journey From Ruby to Go
Friday 20th February, 2015 10:20 am to 10:45 am (IST)
Many Rubyist take a look at Go and wonder if they should learn it. Many dabble in Go and then go back to the warm embrace of Ruby while others dive head first into the Go community and never look back. This talk leads you on a journey that starts with an explanation of my personal journey into the Go community and hopefully ends with you taking the plunge yourself. Along the way, we will talk about why Rubyists should consider Go as the next language to learn, give some concrete steps on how to get started learning the language and demonstrate some of the differences between the languages that tend to cause Rubyists to struggle.
Mike Gehard
@mikegehard
Mike Gehard is a software engineer at Pivotal Lab. He was a part of the team that wrote the logging platform for Cloud Foundry and
helped move the Cloud Foundry CLI tool from Ruby to Go. His latest adventure was as an instructor at gSchool, a 24 week developer
training program that teaches complete programming beginners how to effectively translate requirements into code. When he's not
sitting at the computer, he's out exploring the great outdoors around Boulder, CO.
|
10.45 AM | Go In Action - William Kennedy
Go In Action
Friday 20th February, 2015 10:45 am to 11:10 am (IST)
Watch Bill as he walks you through a coding example that will showcase the Go language and teach you idiomatic Go. Learn why many of the coding decisions in the example are considered best practice and how you can use these patterns and techniques to write better code yourself.
William Kennedy
@goinggodotnet
William Kennedy is a managing partner at Ardan Studios in Miami, FL, a mobile and web app development company. He is also a co-author of the book Go In Action, the author of the blog GoingGo.Net and the organizer for the Go and MongoDB meetups in Miami. Bill is focused on Go education and through his new venture GoingoGo Training, Bill continues the cause by working with individuals and groups who want to take their Go knowledge and coding skills to the next level.
|
11.10 AM | Go for Front End Developers - Julia Poladsky
Go for Front End Developers
Friday 20th February, 2015 11.10 am to 11.35 am (IST)
Go is perceived as a systems programming language for developers who develop complex backend software and infrastructure. In her talk, she will show how front end developers don't need to shy away from Go. Go's syntax, standard library, documentation and community make Go accessible to front end developers of all technical levels.
Julia Poladsky
Julia Poladsky is a Frontend Developer for CommericialTribe in Denver, CO. Her expertise is in designing and developing client side applications. She has worked with a number of different web based technologies such as PHP, Node.js and now Go. She is self taught and has been hacking web design and development since the age of twelve.
|
11.35 AM | Joy of single purpose services in Go - Niket Patel
Joy of single purpose services in Go
Friday 20th February, 2015 11:35 am to 12:00 noon (IST)
This talk is based on his experience of integrating Go in his company's tech stack. They were primarily a Ruby shop; they have a large application written in Ruby which had some problems in scaling (only in some areas). Then they started to break the monolithic Ruby app into small single purpose Go services and worked beautifully for operations, support and customers. He will discuss where and when Go worked best, how Go was helpful as a spiritual companion to Ruby.
Niket Patel
@nexneo
Currently he works with a California based education startup. They develop products for schools and he's responsible for product development and key decision of technology stack and has been responsible for setting up local office and development team in India from scratch. Still big part of his day is about programming, and programming is his passion, so he's living his dream! He has been developing web based applications since last 9 years and proud of every singe line of code and when he's not he will refactor it sooner or later.
Technology stack wise they have been using mainly Ruby but since last couple of years they have starting using Go heavily in day to day work and extremely pleased with that choice. |
Lunch Break |
|
1.00 PM | Go Faster: Optimising Go Programs - Jason Moiron
Go Faster: Optimising Go Programs
Friday 20th February, 2015 1:00 pm to 1:25 pm (IST)
This 25-minute english-language talk will be an exploration in various optimisation techniques we have attempted at DataDog in the past year of using Go in production. It will cover things like use of the Go profiler, the go test benchmarks, runtime behavior, cgo, compiler optimisation/inlining, go's asm support, and some implementation details for maps, channels, the runtime and the select statement. It's intended for intermediate to experienced gophers, although beginners who are more or less familiar with the language features will certainly be able to follow along. Though much of the talk is about optimising at a low level, there will be an exploration of how to structure programs to make them easier to profile, reason about, and optimise. There will be benchmarks as well as exploration of the behavior of the underlying code explaining their results. This will not stray too far into the philosophy of composition; it will be mostly technical, with only a few unremarkable but important overarching points. People should hopefully come away with understanding something new about the implementation of the Go language itself, how it impacts the runtime speed of Go programs, and perhaps how these might change in future. Some of the material I plan to present will be similar to that covered in my "Go Performance Tales" and "What's Going On" blog posts, but updated with new insights or details.
Jason Moiron
@jmoiron
Jason is an engineer at Datadog, a saas monitoring service for IT and operations teams based in New York City. There, he uses Go to write data pipeline services that process thousands of companies monitoring and statistics data. He writes frequently about Go at his blog, and contributes to a number of open source projects including sqlx, modl, and jsonq.
|
1.25 PM | Practical Tips for Creating a Go Package Successfully - Keiji Yoshida
Practical Tips for Creating a Go Package Successfully
Friday 20th February, 2015 1:25 pm to 1:50 pm (IST)
I'll talk about practical tips for creating a Go package successfully. I have created and maintained some Go packages such as a CSS preprocessor and an HTML template engine. I have learned and found useful manners to create a Go package by having made a lot of mistakes and fixed them. Especially, I have recreated an HTML template engine from Gold to Ace because the former had a lot of bad things. I have studied a lot of things from this mistake and I want to share them with other Go users by using practical and concrete examples. I'll talk these tips for beginners of Go who will create their own Go package in the future. These are some examples of these tips:
Keiji Yoshida
@_yosssi
Keiji Yoshida is a software engineer at an IT service provider in Japan. He has experience in developing financial systems for Japanese banks for many years. He uses Go for his private work. He tries to arrange an environment for building a web application efficiently in Go and he develops and maintains some kinds of Go libraries such as GCSS which is a pure Go CSS preprocessor and Ace which is an HTML template engine for Go.
|
1.50 PM | Building RESTful Services With Go and MongoDB - Shiju Varghese
Building RESTful Services With Go and MongoDB
Friday 20th February, 2015 1:50 pm to 2:15 pm (IST)
This session will demonstrate, how to build REST based web services in Go with MongoDB as a persistence storage. This session will also leverage Go package mgo for working with MongoDB from Go apps. Audience : Intermediate to Advanced developers with experience in any of the programming languages - Go, Java, C#, Node.js, Ruby and Python. This session lets the web developers to write RESTful services in Go and can learn how to work with a popular NoSQL database MongoDB by using Go package mgo.
Shiju Varghese
@shijucv
Shiju Varghese is a Technical Architect at Accel Frontline. He specializes in Cloud Computing and Enterprise Mobility solutions. He has developed web apps and distributed systems in Go, C# and Node.js. He has been working with web technologies since early 2000. His areas of interest include Cloud Solutions Architecture, Distributed Systems, RESTful Microservices and Mobile Backend as a Service (MBaaS). You can follow him Github.
|
2.15 PM | Web development using Go and Ember.js - Baiju Muthukadan
Web development using Go and Ember.js
Friday 20th February, 2015 2:15 pm to 2:40 pm (IST)
This talk will give an introduction to web application development using Go and Ember.js The talk will cover database connectivity (PostgreSQL), token based authentication and web related libraries like Negroni and Gorilla mux. I have an example application developed here: https://github.com/baijum/pitracker
Baiju Muthukadan
@baijum
Baiju Muthukadan is a Technical Architect at ZeOmega, Bangalore. He was a contributor to Zope project from 2006 to 2010. He founded the Swathanthra Malayalam Computing project in 2001 while studying at REC, Calicut. He was also employed by FSF India in 2002-2003. Baiju has conducted many Python related talks and workshops in various parts of India including FOSS.IN. During PyCON India 2013, he received the first Kenneth Gonsalves Award.
|
2.40 PM | Go metaprogramming - Beyang Liu
Go metaprogramming
Friday 20th February, 2015 2:40 pm to 3:05 pm (IST)
Metaprogramming, the process of writing programs that generate, modify, or analyze other programs (or themselves), is often associated with languages like Ruby and C++. But metaprogramming can be extremely useful in Go, as well, and Go has great libraries to support it. This talk will go over a few examples of how metaprogramming can make your life as a Go programmer easier, and how we've used these techniques to build, test, and ship a large-scale Go web app.
Beyang Liu
@beyang
Beyang is co-creator of Sourcegraph, an intelligent code search engine built with Go. Before Sourcegraph, he worked on data analysis and visualization software at Palantir and conducted research in computer vision and machine learning at Stanford University. He also plays the fiddle and lives in San Francisco.
|
Tea Break |
|
3.35 PM | Concurrency by Data Structures (and nasty examples) - Verónica López
Concurrency by Data Structures (and nasty examples)
Friday 20th February, 2015 3:35 pm to 4:00 pm (IST)
This talk will show the audience the main perks of Go as a concurrent language explained by how slices, maps and channels work together, and how the fundamentals of these data structures really make the difference between Go and other languages. The following topics will be covered:
Preliminary general outline can be found at: https://github.com/Verolop/concurrency-by-data-structures
Verónica López
@maria_fibonacci
Verónica is a mobile developer and computer science researcher at UNAM (Mexico's National Autonomous University)focusing on data structures. She was the lead mobile developer of Mexico's tax collection service (SAT), and led the back-end team of an advertising digital agency, using Python, Android and recently Go as her weapons of choice. Besides, she is an Android instructor, and currently co-organizes a small community called @golangmx.
|
4.00 PM | Principles of designing Go APIs with channels - Alan Shreve
Principles of designing Go APIs with channels
Friday 20th February, 2015 4:00 pm to 4:25 pm (IST)
Channels are the preferred mechanism for safely sharing state between concurrent goroutines. They are a powerful abstraction that makes concurrent code easy to reason about and simple to write. Most Go resources, however, have little to say about how to design APIs that use channels. This talk will discuss the principles both how and when it is appropriate to use channels in Go APIs drawing on examples from the standard library, official Go repositories, and more.
Alan Shreve
@inconshreveable
Alan is a distributed systems engineer working on the platform that powers Keen IO's analytics APIs. He is the creator of ngrok, and the author of a number of popular tools and libraries for Go including equinox.io, go-update, muxado and log15. He has been happily shipping production software in Go for nearly 2 years.
|
4.25 PM | Cgo - Go under the hood - Rajesh Ramachandran
Cgo - Go under the hood
Friday 20th February, 2015 4:25 pm to 4:50 pm (IST)
Let's face it, there is an extremely large body of useful C code. And operating system APIs are fiercely proud of the C language much like the French are. Fortunately, Cgo provides a remarkably simple approach to bridge the chasm between C and Go. Let's take a look into how Cgo accomplishes smooth interop, its rough edges and the interesting insights it provides into the implementation of the Go language.
Rajesh Ramachandran
Rajesh heads the dynamic group of software professionals of the Real Image Software Division, Chennai. Rajesh comes to Real Image from InstallShield, Chicago where he was architecting software installation technologies and tools. He also led the development teams of two of InstallShield's leading products. Prior to that, Rajesh worked at Sapura, Kuala Lumpur where he was involved in creating a rapid application development tool for the Macintosh and Windows platforms. Rajesh is also a member of the faculty at DevelopMentor, a component software think tank based in Los Angeles where he trained software professionals on component software topics. Currently Rajesh and his team are developing innovative products for the mass entertainment industries.
|
4.50 PM | Closing Keynote: The Roots of Go - Baishampayan Ghose
Closing Keynote - The Roots of Go
Friday 20th February, 2015 4:50 pm to 5:35 pm (IST)
Every once in a while, a new programming language comes up that fundamentally changes how we think about computing. But even more so often, the core ideas behind a "new" language are hinged upon ideas that were first propounded by languages or systems which are much older; f.ex. first-class functions originated in the '60s but have become mainstream only recently.
Baishampayan Ghose
@ghoseb
Baishampayan "BG" Ghose is CTO/Co-founder at Helpshift, Inc. BG is a career functional programmer with exposure to a wide variety of programming languages and paradigms. His areas of interests are Semantics of Programming Languages, Distributed Systems, Software Design and the intersection of Software, Culture and Society.
|
5.35 PM | Lightning Talks2015 |
Will be announced later |
8.00 AM | Opening Keynote: Embracing the Standard Library - Bryan Liles
Opening Keynote - Embracing the Standard Library
Saturday 21st February, 2015 8:00 am to 8:45 am (IST)
New Go developers follow a typical pattern: Find Go. Start learning Go. Pull in a bunch of external dependencies into their projects. While this pattern allows good software to be created, it often neglects all the great software the Go standard library contains. In this talk, we'll take a look at the standard library from the eyes of a beginner. We'll evaluate built in solutions versus external dependencies. Next, we'll review when it's appropriate to use external dependencies, Finally we'll leave with the knowledge of how to use the tools we were given rather along with external tools to help us create great software.
Bryan Liles
@bryanl
Bryan Liles is an Engineer at Digital Ocean. Previously, Bryan has worn black and white hats, worked on red teams, simulated the world in multiple programming languages, and used expletives while writing software. He currently is building clouds with Go.
|
8.45 AM | EMBD - Kunal Powar
EMBD
Saturday 21st February, 2015 8:45 am to 9:10 am (IST)
The talk introduces EMBD, an embedded programming framework completely written in Go. It'll showcase various aspects and patterns of Go used in the framework and its applications, thereby justifying the choice of using Go. The talk will also be followed by a demo of EMBD running on embedded hardware.
Kunal Powar
@Kunal1203
Kunal is currently a developer at SoStronk. He has worked at ThoughtWorks India as an application developer for 2 years. He has been an active gopher for about an year now starting off the journey by co-authoring an embedded framework (EMBD).
|
9.10 AM | Concurrent, High-Performance Data-Access With Go - Sunil Sayyaparaju
Concurrent, High-Performance Data-Access With Go
Saturday 21st February, 2015 9:10 am to 9:35 am (IST)
With the advent of real-time data processing systems, the move to high performance databases has effected major design changes to technology stack of Internet enterprises. Not only the languages are simpler and more expressive, but the move to asynchronous micro-services and leaner architectures has necessitated newer design paradigms, in which the application becomes a more involved part of the data storage system. Aerospike has been among the fore-runners of integrating a more involved part of the data access library in its Smart Clients. Go, by providing a non-blocking runtime and native concurrency features in the language, has proved a natural pick. In this presentation, I will discuss how we employ gopher armies to keep data streaming in our Smart Client design.
Sunil Sayyaparaju
Sunil Sayyaparaju, Director of Product and Technology at Aerospike, has over 10 years experience working on different types of SQL RDBMS solutions, such as single machine (monolithic), in-memory, distributed shared-disk, and distributed shared-nothing architectures with emphasis in transaction management, storage, access, performance tuning, and recovery areas. Sunil currently leads Aerospike's Bangalore office, working on their distributed shared-nothing NoSQL solution. Aerospike is a high-performance, self-balancing, immediately consistent, distributed NoSQL database. Aerospike also has an add on product for replication across data-centers over WAN which supports different complex topologies.
|
9.35 AM | An alternate approach to data - Amit Upadhyay
An alternate approach to data
Friday 20th February, 2015 9:35 am to 10:00 am (IST)
We all love our SQL databases, and the the NoSQL ones, but access to golang, with close to native performance, and ease of writing services, provides us with a totally different approach to data, storing data in memory in applicate dependent data structures. This talk will discusses the pros and cons of doing data yourself, vs using other databases, various complications and gotchas that may be encountered, and technical review of a server I wrote, which deals with persistence, testing and migrations.
Amit Upadhyay
@amitu
Amit Upadhyay, "amitu", is the VP-Engineering of BrowserStack. Previously Amit has worked with startups in India, US and Chile. An open source enthusiast and evangelist, he is the creator of [importd](https://github.com/amitu/importd), and a few [other open source projects](http://github.com/amitu).
|
Tea Break |
|
10.30 AM | bleve - modern text indexing for Go - Martin Schoch
bleve - modern text indexing for Go
Saturday 21st February, 2015 10:30 am to 10:55 am (IST)
Nearly every application today has a search component. But delivering high quality search results requires a long list of text analysis and indexing techniques. With the bleve library, we bring advanced text indexing and search to your Go applications. This talk will start with a brief introduction to text search concepts. We’ll discuss the importance of choosing the right analyzer for your text. Then we’ll look at examples that demonstrate how to index your existing data model. Finally, we’ll look at how you can integrate advanced features, like result highlighting and faceting, to complete the user experience.
Martin Schoch
@mschoch
Marty Schoch is a software engineer at Couchbase. As a part of the Couchbase Labs team, Marty has built many experimental projects in Go, contributing to its increased adoption inside Couchbase. The most successful of these projects was N1QL, an SQL-like query language for Couchbase Server. He is also a core contributor to the Go Couchbase SDK. Currently, Marty is leading development of bleve, a modern text indexing library for Go.
|
10.55 AM | Gottp: A micro backend framework in Go - Piyush Verma
Gottp: A micro backend framework in Go
Saturday 21st February, 2015 10:55 am to 11:20 am (IST)
So you want to start building a backed using Go, but think that would be too much work since there is no ready/light framework available? Gottp is not your regular front end server to do customer facing websites, it has been designed using backend servers in mind. It offers a variety of features like Call Aggregation using Asynchronous or Blocking Pipes very much like Batch requests in Graph API - https://developers.facebook.com/docs/graph-api/making-multiple-requests The project is hosted at http://simversity.github.io/gottp/ and currently being used in production to power a lot of our backend services at Siminars.com.
Piyush Verma
@meson10
Piyush Verma is CTO at Siminars, Inc.. He is an ex-KDE developer and codes for Coffee and House music. He likes Multiprocessing, Distributed systems, APIs and automating anything that has to be done more than once. You can also find him running or cycling around the town.
|
11.20 AM | N1QL a query language in Go. It makes "cents" - Sriram Melkote
N1QL a query language in Go. It makes "cents"
Saturday 21st February, 2015 11:20 am to 11:45 am (IST)
N1QL (pronounced as "nickel") - is Couchbase's next generation query language. N1QL presents easy and familiar abstractions to quickly develop scalable applications that work with next generation database systems. N1QL builds on the SQL language and includes many of SQL's features in addition to features associated with document-oriented databases, i.e. it supports schema less JSON documents, nested attributes and domain oriented normalization. N1QL has been built entirely using golang and in this talk we will explore the architecture N1QL.
Sriram Melkote
Sriram Melkote is the director of Couchbase India development center. He is responsible for some of Couchbase’s key future technologies which utilize Go to provide fast development cycles and performant server code. Sriram has built applications for many years and in many languages, and is excited by Go as it is the first language in a decade that has built momentum to enter mission critical codebases.
|
11.45 AM | Go Team Q&A |
Lunch Break |
|
1.30 PM | High performance git infrastructure with Go - David Calavera
High performance git infrastructure with Go
Saturday 21st February, 2015 1:30 pm to 1:55 pm (IST)
At Code Climate, we analyze thousands of git repositories every day. People give us access to their code as we sweep secured copies synchronized with their remotes at all times. We use these copies to extract meaningful information to process. Over time, managing all these repositories turned into a single point of failure in our platform. This talk is about how we used Go to turn this single point of failure into a reliable, distributed and scalable platform. We'll talk about how we use projects like Groupcache, Libgit2 and Vulcan. We'll also talk about why we chose protocol buffers as a communication layer between git and the rest of Code Climate.
David Calavera
@calavera
David is a developer with more than 10 years of experience building large systems. At Code Climate, he works on building the infrastructure that makes Code Climate's analysis tools fast and reliable. In previous lives he built cloud platforms for Engine Yard and Enterprise applications for GitHub.
|
1.55 PM | Building Internet of Things with Go - Lakshan Perera
Building Internet of Things with Go
Saturday 21st February, 2015 1.55 pm to 2:20 pm (IST)
This talk focuses on a framework we're currently building to simplify writing programs for devices such as Raspberry Pi, BeagleBoard, Intel Edison and similar. We're moving to a future where "Internet enabled devices" (or Internet of Things) would start to play a major part in our daily lives. However, writing your own custom programs and controlling them to do what you want is not so simple & straightforward. You either have to deal with a programming toolset of a bygone era or need to depend on a proprietary SDK that would only work on a specific device. This project implements a set of base APIs with Golang which would work across different devices with different architectures. Users would be able to interact with this API using a high-level scripting languages (eg. JavaScript / Lua). Also the framework is designed to be accessible from the cloud, allowing users to write and run scripts from anywhere (yup, we'll be discussing the security model too).
Lakshan Perera
@laktek
He is from Colombo, Sri Lanka and learnt to program by building stuff to scratch his itch. In 2013, he moved to Singapore to join Nitrous.IO - where they focus on creating better / less painful development environments. He also runs the Singapore's Go meetup. He spends his free time working on various ideas (like writing specs for Singaporean Coffee and spreading the good word about 'world of programming'.
|
2.20 PM | Go for Simulations in Wireless Research - Dr. Sendil Devar
Go for Simulations in Wireless Research
Saturday 21st February, 2015 2:20 pm to 2:45 pm (IST)
Go has been attracting a lot of attention mostly for web applications. Research communities dealing with a lot of simulations usually don't use advanced programming techniques for thier work. They usually rely on third party tools like Matlab, octave and R or native languages like C/C++. Especially, in the area of wireless research, to capture a 1 minute snapshot of a 4G communication system of 500+ users and 50 base-stations typically takes about a weeks time. In a system level simulation, there are lot of functionalities that can be executed concurrently. The simplicity of Go's concurrency can help accelerate the coding and simulation times.
Dr. Sendil Devar
@iamssk
He is currently a Senior Research Engineer at CEWIT, India. Prior to this, he was with Samsung Research Institute, Noida as Chief Engineer in Advance Technology Group. His current work involves research in wireless communication in 3G, 4G networks. He attends the cellular standardization meetings (3GPP and 3GPP2). He loves writing his code and generating results to submit to such meetings. He has a PhD in wireless communication from the Indian Institute of Technology, Madras.
|
2.45 PM | How to keep wall street chatting using Go - Matthew Campbell
How to keep wall street chatting using Go
Saturday 21st February, 2015 2.45 pm to 3:10 pm (IST)
How a small team of 6 rebuilt one of the largest financial instant messaging platforms using GO. The service hosted more then 350k users with peaks of 20 megabits of dynamic messaging traffic. The service was switched to go mid day and has been running for months without an outage. We will explore what steps we used to scale to this huge of a user base. How we manage updates while the service is running without disrupting users. How to monitor a GO application that has to have weeks of uptime. Also we will delve into how we used a geographically distributed team to make this all possible.
Matthew Campbell
@kanwisher
Matthew has been a hacker since he was teething. He specializes in GO, Ruby and Scala. His most notable projects were porting Bloomberg.com to ruby of rails from scratch. Building real time ad platforms in scala at Tapad. Most recently building the largest financial instant messaging server on the planet from scratch in GO with a small team for Thomson Reuters. In his free time he likes to hack arduinos and scuba dive. He recently spoke and runs the Go Meetup in Bangkok. Matthew splits his time between New York and Bangkok leading teams in both locations.
|
Tea Break |
|
3.40 PM | Image Processing in Scale with Go - Jyotiska NK
Image Processing in Scale with Go
Saturday 21st February, 2015 3:40 pm to 4:05 pm (IST)
One of Golang's seldom-explored area is the ability to leverage concurrency for image processing in scale. At DataWeave, we process millions of images daily that come to our data pipeline and we have been successfully able to use port our image processing infrastructure from Python to Go. This talk will explore our journey of how using the OpenCV bindings, native image package and few other packages we have open-sourced, we have been able to scale our infrastructure in production. Following is a v0.1 outline of the talk:
Jyotiska NK
@jyotiska_nk
Jyotiska works as Data Engineer in the Products Team at DataWeave. He received his Masters in Data Science from IIIT Bangalore. He is a Python developer and has been exploring Go for the past one year. He has written two Go packages and open sourced them on Github: go-colorweave and go-webcolors.
|
4.05 PM | Raytracing in Go - Guillaume J. Charmes
Raytracing in Go
Saturday 21st February, 2015 4:05 pm to 4:30 pm (IST)
Ray Tracing is a technique for generating 3D images by tracing paths of light through pixels in an image plane to simulate the effects light encounters with virtual objects. The technique is capable of producing high quality images but requires great computational costs. In this talk, I will show how and why Go is a great language for implementing these types of resources demanding algorithms. I will show how the language syntax and features and the built-in concurrency support makes Go a perfect choice.
Guillaume J. Charmes
@charme_g
French first, Software Developer second. He loves to travel and used to live in France, China, Russia, Réunion, San Francisco, Chicago and Miami. He also likes to travel between technologies and languages: He jumped from C and ASM to PHP to fall into Python to then migrate to Go with some sides of Ruby. He is coming from a low-level ASM/C background which he uses to teach as well as for web security.
He started using Go since 2009 and fell in love with the syntax and concurrency model. He joined dotCloud, inc where he was the only Go developer for a while. This is when they started Docker..., in Go. Arrived to Docker 1.0, he moved on to Citrix, Inc under the sun of Florida where he helps the moving process from Ruby to Go.
|
4.30 PM | Closing Keynote: Simplicity and the ideas that Go left behind - Dave Cheney
Closing Keynote - Simplicity and the ideas that Go left behind
Saturday 21st February, 2015 4:30 pm to 5:15 pm (IST)
A discussion on ideas which Go's designers decided to leave _out_ of the language and the effect of those decisions on a language designed for simplicity and scale.
Dave Cheney
@davecheney
Dave is an Australian speaker, blogger, and open source author. He co-organises the Sydney Go Users group and has been an active contributor to the Go project since February 2011.
|