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 of the day participants will use the Go standard library to build a distributed network chat application.

Prerequisites

  • Materials: Bring a laptop with an OS that meets the prerequisties for Go development (http://golang.org/doc/install)
  • Knowledge: No prior Go programming experience is necessary. Familiarity with other C-like languages is helpful but not required.

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

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

Tickets sales are now closed. Thank you everyone for your support!

Conference Saturday May 24

Tickets

Tickets are now sold out! Thank you everyone for your support!

Open Space

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.

Schedule

08:00 AMRegistration Starts
08:45Opening and Introduction (Concourse)
09:00Session Pitching (Concourse)
09:45Session 1
10:45Session 2
11:45Lunch
01:00 PMSession 3
02:00Session 4
03:00Session 5
04:00Session 6
04:40Closing (Concourse)
05:00Afterparty at Steamworks

Rooms

Active State Stackato TheatreRoom 470
ACL Meeting RoomRoom 370
Colligo BoardroomRoom 380
Mozilla BoardroomRoom 480
Plenty of Fish TheatreRoom 420
Twillio ConcourseConcourse
Venture Media Meeting RoomRoom 320

After Party

There will be food and drinks at Steamworks immediately following the Conference. Thank you to our party sponsors Demonware and Hootsuite.

Brunch Sunday May 25

11AM to 4PM. St. Regis Hotel, 602 Dunsmir St (at Seymour St), at the pub downstairs.

Venues

Conference: SFU Morris J Wosk Centre for Dialogue

580 West Hastings St (at Seymour St) Downtown Vancouver Canada

Workshops: SFU Harbour Centre

515 West Hastings Street (at Richards St) Downtown Vancouver Canada

Brunch: St. Regis Hotel

602 Dunsmir Street (at Seymour St) Downtown Vancouver Canada

Sponsors

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

Code of Conduct

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