Polyglot Unconference 2014

May 23rd-25th

Vancouver, Canada

Vision

This is our 3rd annual Polyglot Unconference and we promise it will be the biggest and best yet. This year over 250 software developers will leave language, platform and possibly even editor wars behind and come together for a spontaneously organized day of amazing talks, round-table discussions, panel sessions and coding.

If you've never been to an un-conference (or open-space) event before your owe it to yourself to make it to Polyglot 2014. It's an experience like no other.

Workshops Friday May 23

Half Day Workshops: Morning 4 hours: 8AM to 12PM

Abstract

This tutorial is an Elasticsearch bootcamp. Elasticsearch is a distributed and scalable search server based on Apache Lucene. Companies like foursquare, soundcloud, github and hundreds more use it to power search and analytics in their applications.

At the end of the day, you’ll:

1. know the most important concepts and terminology of search engines
2. have a deep understanding of Elasticsearch
3. apply Elasticsearch to build search applications
4. analyze and resolve common problems with Elasticsearch

No prior experience with search or Elasticsearch is required. This tutorial is specially useful for folks using Elasticsearch for logging and want to learn how to use some of the more advanced features.

Prerequisites

  • Materials: Bring a laptop with Java 6+ (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
  • Knowledge: The basics of web services (HTTP, request/response, JSON)

Syllabus

https://gist.github.com/gane5h/10610797

About Ganesh (@gane5h)

Ganesh Swami

10+ years of professional programming experience.

Relevant background: I founded a hosted Elasticsearch company silota.com, so I'm familiar with most build and operational aspects of Elasticsearch.

My most recent talk on building APIs at Vancouver Python Day was well received.

I like the challenge of taking complex topics and explaining them to a beginner.

Buy Tickets

Abstract

We all know we should test the software we write, and yet many of us still write software that is difficult to test. In this tutorial we'll work through refactoring software to be easier to test and walk through examples of code written with testing in mind. Bring a laptop with either JDK 1.7 or Visual Studio (with C#) installed and expect to write code and tests.

Prerequisites

  • Materials: Bring a laptop with either JDK 1.7 + your favourite editor/IDE or Visual Studio (C#)
  • Knowledge: Basic programming experience in either platform

About Clifford (@tangledbones)

Clifford Hammerschmidt

Clifford Hammerschmidt is a software architect with over twenty years experience architecting and writing software. He currently works for Amazon and organizes the Vancouver Software Developers Meetup (vandev.org). He has worked on business applications, anti-spam systems, games, low level concurrency libraries, and high volume application apis handling thousands of requests a second.

Buy Tickets

Half Day Workshops: Afternoon 4 hours: 1PM to 5PM

Abstract

NBCNews.com, Vine.co, Bustle.com, and companies like Square, Yahoo, Groupon, and zendesk (to name just a few) use EmberJS apps in production. Ember's approach of convention over configuration makes it easy to build complex JavaScript apps with a sensible, maintainable, and extensible architecture.

During this three and half hour introduction to EmberJS we will build an pieces of an Ember application. You will leave the tutorial well on your way to building your own ember application.

During the tutorial we will building ember-weather.herokuapp.com

Prerequisites

  • Materials: a computer with node.js, git and a good text editor installed.
  • Knowledge: Some familiarity with javascript.

Syllabus

http://kiwiupover.roughdraft.io/10342025-intro-to-ember

About Dave (@kiwiupover)

Dave Laird

After years of glueing jQuery spaghetti code together developing with Ember is a delight. Building the ember community in Seattle through training, hack nights and meetups has been a joy.

I'm a front end developer at urbanspoon.com and the co-ordinator of the Seattle Ember Meetup.

Buy Tickets

Abstract

Behaviour Driven Development is an incredibly powerful methodology for delivering software.

In practice, however, many teams spend a disproportionate amount of effort on tooling and implementation details, leaving little time left for the more lucrative non-technical aspects.

This workshop will explore the most effective approaches to implementing BDD. The goal is to arm you with a set of proven patterns that you can apply immediately to your practice, allowing you to focus instead on the more important parts: your business and your users.

Prerequisites

  • Materials: a laptop with your favorite BDD framework installed
  • Knowledge: Familiarity with — or willingness to dive deep into — BDD, gherkin, Selenium WebDriver API, PageObject pattern. Prior experience with test automation.

Syllabus

https://gist.github.com/mrtns/10081393

About Martin (@mrtn_su)

Martin Suchanek

I'm a multi-disciplined software developer, hacking away at technology, organization, and product since the first dot com boom (and bust). For some uncanny reason I've found myself wearing all the possible hats. I've worked in companies from 1 to 300 in size, from positions of sole proprietor, employee, advisor, and external contractor.

I have been practicing BDD in depth for the last five years, at three different organizations.

Buy Tickets

Full Day Workshops 8 hours: 8AM to 5PM (1 hour lunch between 12PM and 1PM)

Abstract

The Go Bootcamp will cover everything you need to get started writing network and web applications in Go. The first half of the day be spent learning language fundamentals and best practices for programming in Go. In the second half participants will use tools available in the Go standard library to build a networked chat application with a web interface.

Prerequisites

  • Materials: Bring a laptop with an OS that meets the prerequisties for Golang development (http://golang.org/doc/install)

Syllabus

https://docs.google.com/document/d/1lvf8TfvRXQR9pomgwtXM-1YBhVjCVjcc4MKhT8MOmXs/edit?usp=sharing

About Kamil (@kisielk)

Kamil Kisiel

I have been programming in Go professionally for two years and am currently working as a freelance developer and consultant. Previously I worked for a biotech startup in ops and software engineering. I've previously given talks at the SGI User Group Conference, Polyglot, and several meetup groups.

Buy Tickets

Abstract

React is a Javascript library for building user interfaces that challenges some fundamental assumptions about how user interfaces should be built. In this workshop, you will learn to "think in React," as you build an interactive, data-driven, client-server web application in the browser.

First, we will learn what's distinctive about the React approach, and how we can benefit from it. Next, we will learn how React components are built, how they operate, how they communicate with each other, and how to test them. Along the way, in pairs or small groups, we will laugh, cry, scream, and cheer, but ultimately build some working software, the React Way.

Prerequisites

  • Materials: Bring a laptop with Chrome and your favorite text editor. For the full experience, have Node/NPM installed.
  • Knowledge: You should be familiar with HTML, and one of either Coffeescript or Javascript.

Syllabus

https://github.com/steveluscher/react-polyglot-conf-2014

About Steven (@steveluscher)

Steven Luscher

Steven Luscher builds web and mobile applications using HTML, CSS, Javascript, Ruby, and Objective-C. En-route to becoming a polyglot coder, he made stops along the way to pursue formal education in graphic design, mathematics, and pedagogy; experiences which have served him well in the area of web application development.

In 2013, he delivered a conference talk about React at Super VanJS. He currently works full-time developing a mammoth React-based application using Coffeescript, JSX, Node, and MongoDB.

He does not work for Facebook.

Buy Tickets

Abstract

Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Docker containers are both hardware-agnostic and platform-agnostic. This means that they can run anywhere, from your laptop to the largest EC2 compute instance and everything in between - and they don't require that you use a particular language, framework or packaging system. That makes them great building blocks for deploying and scaling web apps, databases and backend services without depending on a particular stack or provider. Although it's only a year old, Docker is in the top 5 projects on GitHub (ranked by either Stars or activity)

This full day lab will cover Docker in depth: from the basics to advanced use cases. Students will progress from introductory exercises on individual containers to creating, monitoring and troubleshooting larger systems with clusters of interlinked containers. You will leave with the skills and confidence to use Docker in a wide range of settings.

Students should come with a laptop, a text editor, and at least intermediate Unix system administration knowledge and command line skills. The exercises themselves will be performed on EC2 so no additional software is required. If you're not already familiar with Bash and basic Python, please do some self study first.

Prerequisites

  • Materials: A laptop and your favourite text editor, EC2 will be used as the actual work environment.
  • Knowledge: Unix systems administration, Bash and basic Python.

Syllabus

https://github.com/tavisrudd/polyglot-docker-tutorial

About Tavis (@tavisrudd)

Tavis Rudd

Tavis Rudd (github, linkedin, ohloh) is a well known local developer and sysadmin. Tavis is a dark master of duct tape. He has slowly realized that writing good software is much harder than he once thought and now uses stronger layers of duct tape.

Buy Tickets

Abstract

Web apps and APIs are hugely important parts of modern life, but in many cases, the way they're built hasn't changed in many years. These older tools make scale-out hard, and the resulting systems don't always handle failures gracefully.

Let's take a deep dive into a technology stack that is designed from the ground up for productivity, scalability, correctness and fault tolerance, and see how much can be achieved with surprisingly little code.

Prerequisites

  • Materials: Laptop (4GB of RAM), 1.6+ JDK already installed and working (i.e. type "javac" from the command prompt, it works), SBT 0.13.1 and gotten it working with a "hello world" project (instructions: http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html), Your favourite Scala IDE/Editor, cURL or equivalent for HTTP testing
  • Knowledge: Basics of Scala, specific language features will be covered within the course. For those wanting a leg up see: http://docs.scala-lang.org/tutorials/ and http://danielwestheide.com/scala/neophytes.html

Syllabus

https://docs.google.com/document/d/14WEBW9MZxQ0bjMG4Z4B0lVtMl3CDE4MjujFOkEj2_WM/edit?usp=sharing

About Alex (@alexcruise)

Alex Cruise

I've been building software for a disturbingly long time, and felt like I knew what I was doing until I met Scala and realized how much of the world of computer science I'd been missing.

Over the past four years, I've used Scala for all my serious development work, and have accumulated a tiny bit of wisdom and a lot of humility to go with my battle scars and war stories.

Buy Tickets

Abstract

Participants will tip their toes into the functional programming mindset using Haskell. This is described by many as a mind-bending experience and a challenging one, covering many concepts of the functional paradigm like persistent data structures, tail-recursion, Functors, Monads etc.

We'll explore the lazy behavior of the language, and also how to make functions pure (e.g. enforce avoidance of unintended side effects).

We are going to learn the different tools that Haskell provide for concurrent programming, from Software Transactional Memory, to basic mutable variables.

We are going to learn the basics of Parser Combinators, and we will finish it up with the implementation of a very basic Web app using Scotty, an easy to use Web Framework.

Prerequisites

  • Materials: This course assumes you use a machine with Linux/MacOS X, you will need to install the Haskell Platform.
  • Knowledge: This course assumes familiarity with Linux/Unix command line, familiarity with a programming language that has a REPL (ruby, python, nodejs, scala) will be helpful. Basic knowledge of programming in Java/C/C++/Ruby/Python is desirable.

About Roman (@romanandreg)

Roman Gonzalez

Roman Gonzalez is one of the co-founder of Birdseye Software, he has done many consultancy jobs in the past using Ruby on Rails, and has lead the development team of a local Startup, he has participated in many open source projects using Ruby, Clojure, elisp and Haskell.

He has been using Haskell for the past 6 years, and has given many tutorials on the Vancouver's Haskell Meetup where he is one of the main organizers. He also has given presentations in the Polyglot Meetup and ClojureWest 2013.

Buy Tickets

Abstract

Storyboards and Auto Layout are the two primary tools for laying out user interfaces on iOS. With the new Interface Builder functionality in Xcode 5.1 and the persistent rumours of a larger iPhone on the horizon, now is the time to level up your Storyboard and Auto Layout skills and get rid of your app's old manual layout code.

Our morning will focus on Storyboards, building out a simple Twitter client using Xcode and Interface Builder. Then we'll dive into code, with custom Segues and other advanced issues around Storyboards, paired with a more advanced coding exercise.

The afternoon will go deep into Auto Layout, starting with the theory as a refresher before going into building Auto Layouts in Xcode, highlighting the new Auto Layout tools in Xcode 5.1. After an exercise in Interface Builder, we'll dig into code, building and debugging more advanced Auto Layouts, finishing with an Auto Layout torture test exercise.

Prerequisites

  • Materials: a laptop with Xcode installed.
  • Knowledge: Basic familiarity with iOS development

About Allen (@apike) and Nigel (@nigelbrooke)

Allen Pike Nigel Brooke Steam Clock Software

Steamclock is one of the top iOS development studios in Canada, with a team of mobile developers focused on great UI and UX, and are organizers of the VanCocoa speaker series on iOS and Mac development.

Allen Pike and Nigel Brooke are seasoned iOS developers who have taught at SFU and University of Calgary respectively. Prior to founding Steamclock, Allen was a Software Engineer at Apple. You can see an example of Allen speaking on iOS and JavaScript development at JSConf in Berlin here.

Last year at Polyglot Steamclock put on a less in-depth day-long iOS tutorial, which was well received.

Buy Tickets

Social @ Invoke Labs 5:30PM until late

Following the tutorials we'll all be heading over to Invoke Labs for some food and drinks. The address is #313-1 Alexander St. This will be a great opportunity to discuss the workshops and follow up with the instructors and your colleagues.

Tickets

Early bird pricing is available for the month of April. $275 - full day, $150 - half day. After that the prices are $350/$200. So get your tickets early!

Tickets are available for sale through Picatic:

Conference Saturday May 24

Tickets

Schedule

Open-space conferences are spontaneously scheduled 100% attendee driven. Sessions will be proposed, selected and organized at the opening the conference but we encourage attendees to suggest and discuss ideas in advance.

For now, you can use the #polyglotconf hashtag or tweet your ideas @polyglotconf and we will share them with other attendees.

Venue

This year's conference, we will be taking over SFU's Wosk Center for Dialogue. With more space and more rooms we will be able to increase both the number of attendees and sessions this year. As always, we are right in the heart beautiful downtown Vancouver. We've got the run of the whole building this year with lots of large and small rooms to facilitate sessions in.

View in Google Maps

Sponsors

Sponsor the Polyglot Conference

The Polyglot Conference is made possible by our generous sponsors. If you are interested in sponsorship opportunities please contact us at sponsors@polyglotconf.com.

Volunteer at the Polyglot Conference

If you are interested in helping out and volunteering at the conference, please contact us at volunteers@polyglotconf.com.

Community

Reach Out

Conference Participants

Mark your attendance on Lanyrd

Blog

Check back later for more updates on the conference schedule and related events.

Code of Conduct

tl;dr: Be Excellent To Each Other! And please, don’t be a jerk. Read the full policy.