Rootconf is India’s principal conference where systems and operations engineers share real world knowledge about building resilient and scalable systems.
We are now accepting submissions for our next edition which will take place in Bangalore 14-15 April 2016.
The theme for this edition will be learning from failure. We are keen to explore how devops think about failure when designing, building and scaling their systems. We invite presentations related to failure in database systems, servers and network infrastructure.
We encourage presentations that relate to failure not only in terms of avoidance but also in terms of mitigation and education. How do we decide which parts of our systems cannot fail? What measures do we take to mitigate failure when it does inevitably happen? And most importantly: what lessons can be learned from failure?
This year’s edition spans two days of hands-on workshops and conference. We are inviting proposals for:
- Full-length 40 minute talks.
- Crisp 15-minute talks.
- Sponsored sessions, 15 minute duration (limited slots available; subject to editorial scrutiny and approval).
- Hands-on Workshop sessions, 3 and 6 hour duration.
Proposals will be filtered and shortlisted by an Editorial Panel. We urge you to add links to videos / slide decks when submitting proposals. This will help us understand your past speaking experience. Blurbs or blog posts covering the relevance of a particular problem statement and how it is tackled will help the Editorial Panel better judge your proposals.
We expect you to submit an outline of your proposed talk – either in the form of a mind map or a text document or draft slides within two weeks of submitting your proposal.
We will notify you about the status of your proposal within three weeks of submission.
Selected speakers must participate in one-two rounds of rehearsals before the conference. This is mandatory and helps you to prepare well for the conference.
There is only one speaker per session. Entry is free for selected speakers. As our budget is limited, we will prefer speakers from locations closer home, but will do our best to cover for anyone exceptional. HasGeek will provide a grant to cover part of your travel and accommodation in Bangalore. Grants are limited and made available to speakers delivering full sessions (40 minutes or longer).
Commitment to open source
HasGeek believes in open source as the binding force of our community. If you are describing a codebase for developers to work with, we’d like it to be available under a permissive open source licence. If your software is commercially licensed or available under a combination of commercial and restrictive open source licences (such as the various forms of the GPL), please consider picking up a sponsorship. We recognise that there are valid reasons for commercial licensing, but ask that you support us in return for giving you an audience. Your session will be marked on the schedule as a sponsored session.
Key dates and deadlines
- Paper submission deadline: 31 January 2016
- Schedule announcement: 29 February 2016
- Conference dates: 14-15 April 2016
Rootconf will be held at the MLR Convention Centre, J P Nagar.
For more information about speaking proposals, tickets and sponsorships, contact firstname.lastname@example.org or call +91-7676332020.
Miles to Go: Golang Workshop
The primary objective of this workshop is to teach fundamentals of Go programming language. The workshop will include setting up environment for Go development, explanation about syntax & concepts and solving problems. The participants will be able to write idiomatic and effective Go code after the session. All participants will get chance to work on a small project.
This worksshop will teach all the fundamental topics related Go programming. The participants are expected to have good programming skill with any other programming language (Python, Ruby, Java, C# etc.). Participants can ask questions throught the workshop time. If the explanation requires more time and if it affects the the timeline, the discussion will be advanced to the end of session. Here is a brief outline of the session:
Total duration: 6 hours excluding lunch & tea breaks
Introduction (Time: 20 min.)
- Welcome message: “Miles to Go: Golang Workshop”
- About Me - Why presenting this workshop? - My background & experience with Go
- Participant’s introductions
- Software developer skills (5 minute group discussion) - Make participants to speak (Icebreaker)
- Explain the plan for the workshop - briefly go through the agenda for the day
- Few basic facts about Go - motivational speech comparing with other languages (10 min.)
- Hello world program - show and run hello world from browser - explain the program structure
- More reasons to use Go: Simplicity, Consistency, Readability, Safety (Type safety, Memory safety), Speed
Development Enviroment (Time: 10 min.)
- Installation - high level overview of installation - environment variables: GOROOT & GOPATH
- Building and running Go - go run - go build - environment variable: GOOS & GOARCH
- Organizing code - workspace directory structure ($GOPATH) - project folder structure hosted in Github
- Getting third party code - “go get” command
- Formatting Go code - “go fmt” command
Fundamentals (Time: 30 min.)
- Comments - C style - C++ style
- Primitive types
- Command line arguments
Control structures (Time: 30 min.)
- If Conditions
- For Loop
- Switch statement
- Defer statement
Data Structures (Time: 30 min.)
- Slices and Arrays
Functions & Methods (Time: 30 min.)
- Type declarations
- Function declarations
- Method declaration
Interfaces (Time: 30 min)
- Defining interface
Concurrency (Time: 30 min.)
- Channels - send & receive
Project: Webtail (Time: 2 hr.)
- Objective: stream log file content to web (web version of
- Code: https://github.com/baijum/webtail (branch: workshop - with staged commits)
- Reference: http://go-talks.appspot.com/github.com/baijum/presentation/gorilla_websocket/presentation.slide
Q&A (Time: 30 min.)
This time will be used for further clarification about any topic that is discussed during the session.
Knowledge and skills expected about participants:
- Participants should have few years of experience in some other programming language (Python, Ruby, Java, C# etc.)
- Participants should know how to use Git version control system
- Partipants should be comfortable with one shell (Bash, Zsh, PowerShell etc.)
- Partipants should be comfortable with one text editor (Vim, Emacs, VS Code etc.)
- Partipants should bring a laptop with power adaptor, convertors and other peripherals
- Internet connectivity should be ensured
- The laptop should have an operating system with Go support (GNU/Linux or Mac OS or Windows)
- The Go 1.6 compiler should be installed (Refer this blog post: https://muthukadan.net/golang/an-introduction-to-go-programming.html )
- Text editors like Vim, Emacs or VS Code should be installed with all required plugins and it should be ready to use
Text editor configuration:
- Vim users can refer this article for configuration: https://muthukadan.net/article/golang-vim.html
- Emacs users can refer this blog post for configuration: http://tleyden.github.io/blog/2014/05/22/configure-emacs-as-a-go-editor-from-scratch/
- VS Code users can use the Go plugin available in the marketplace: https://marketplace.visualstudio.com/items?itemName=lukehoban.Go
- Other editor users should find and install appropriate plugins to work with Go.
Baiju Muthukadan is a DevOps engineer working at ZeOmega, Bangalore. He has contributed to many Free/Open source softwares including Zope, Koha and Salt. He founded the Swathanthra Malayalam Computing project in 2001 while studying at REC, Calicut. He was also employed by Free Software Foundation of India in 2002-2003. He received the first Kenneth Gonsalves award in recognition of his many contributions to Python language community in India. He had conducted a 4 hour Go workshop at NIT Calicut as part of FOSSMeet‘16 program. He is also writing a book about Go (http://golang.muthukadan.net).
- Slides: http://go-talks.appspot.com/github.com/baijum/presentation/golang_workshop/presentation.slide
- Exercises with answers for this workshop: https://dl.dropboxusercontent.com/u/37164281/exercises.pdf
- Source for slides and exercises and all Go programs used for this workshop: https://github.com/baijum/presentation/tree/gh-pages/golang_workshop
- My website and blog: http://muthukadan.net
- https://www.youtube.com/watch?v=bFSQ8yb7xRo (Flash talk @ Rootconf‘14)
- https://www.youtube.com/watch?v=LeuQ409r1hg (A talk at PyCon India 2015)
- https://www.youtube.com/watch?v=UEMjz5A_M5o (Lightning talk at PyCON 2011, Atlanta)
- https://www.youtube.com/watch?v=rpbQSR-mPT8 (Screencast about interfaces in Go)