Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Emgerging languages

Any language that makes it big nowadays is open source. While Java and the like are work horses and will be with us for a long time, there is something that Java is not: a language that was created in our current software development landscape, which is dramatically different than it was 10, 20, or 30 years ago. Hear real-life experiences about transitioning to a new language, and what role these new languages play in our larger community.

Add to your personal schedule
9:00am12:30pm Monday, July 16, 2018
Location: D137/138
Level: Intermediate
Krzysztof Cieslak (Lambda Factory)
Javascript has conquered the world – you can use it in the browser, on the server, to write mobile apps, or on the desktop with Electron. During the workshop you will learn how to bring the power of F# - modern functional-first language – to huge and rich JS world using Fable – F# to JS compiler. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 16, 2018
Location: D139/140
Level: Intermediate
Kenneth Kousen (Kousen IT, Inc.)
Kenneth Kousen offers an overview of Kotlin, with a focus on using it for Android development. You'll learn about Kotlin's essential syntax, data classes, operator overloading, extension functions using the Anko library, generics, working with collections and functional operations, interacting with the Sqlite database, and more. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 16, 2018
Location: C120-122
Level: Beginner
Paris Buttfield-Addison (Secret Lab Pty. Ltd.), Jonathon Manning (Secret Lab Pty. Ltd.), Tim Nugent (lonely.coffee)
Paris Buttfield-Addison, Jonathon Manning, and Tim Nugent walk you through building 2D games using the open source game engine, Godot. You'll get a hands-on, rapid-fire introduction to using Godot's IDE and its programming language, VisualScript—a visual block-base environment—as you learn how to build games that run on almost any platform in a powerful, entirely open source environment. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 16, 2018
Location: D137/138
Level: Intermediate
Nathan Stocks (GitHub)
Join us for a fast-paced, hands-on, entertaining, and yet curiously-informative crash course in the Rust programming language! Hang on to your hat while we create a fully-functional, multi-threaded, graphical, networked game client in Rust. For best results, please be experienced in some other language(s) in advance. Spectators also welcome! Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 16, 2018
Location: D139/140
Level: Intermediate
William Lyon (Neo4j), Kevin Vangundy (Neo Technology, Inc.)
In this workshop, we explore full stack JavaScript application development using the GRAND stack (GraphQL, React, Apollo, and Neo4j Database) for building web applications backed by a graph database. During this workshop we will build a simple movie recommendation web application using React, GraphQL, and Cypher, the query language for graphs. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 17, 2018
Location: Portland 256
Level: Beginner
Luciano Ramalho (ThoughtWorks)
This is tutorial presents Test-Driven Development to beginning Go programmers. Knowing how to test Go code is a key a job requirement. And it can help you master Go faster, by letting you easily test your hypotheses as you practice the language. Only basic Go knowledge is required. By the end of the class, you'll feel comfortable writing tests first. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 17, 2018
Location: E145/146
Level: Intermediate
We'll walk through the tools that make Go a great programming language, from the well known “go” tool to lesser known tools that allow you to profile, debug, and understand the performance of your programs. We’ll also learn how to tune Visual Studio Code as a Go editor, although you are welcome to use any other editor—most provide great integration with Go. Read more.
Add to your personal schedule
11:00am11:40am Wednesday, July 18, 2018
Location: E145
Level: Intermediate
Rabimba Karanjai (Rice University | Mozilla)
Curious on what is all this commotion about AR/VR, MR? Want to evaluate what will be best for your next project which technology stack. How you can build Mixed Reality experiences that run on any platform today? We will discuss the state of Web Mixed Reality, what is happening and what you can do in this talk Read more.
Add to your personal schedule
11:50am12:30pm Wednesday, July 18, 2018
Location: E145
Level: Intermediate
Imagine a language with the syntax of Ruby but an order of magnitude faster. That is the short pitch for Crystal, a statically-typed compiled language with a whole lot more to offer as well. This talk will walk you through the history and the current state of Crystal, how it can be used effectively today and where it needs your help! Read more.
Add to your personal schedule
1:45pm2:25pm Wednesday, July 18, 2018
Location: E145
Level: Beginner
Flutter is a new open-source SDK from Google that allows developers to create performant & customizable mobile UI for Android+iOS from a single codebase. Flutter achieves this with a layered architecture, extensive widget support, AOT compilation for native performance & a fully-extensible DartLang-powered framework In this talk, we'll cover Flutter from concepts, to tools, code & community. Read more.
Add to your personal schedule
2:35pm3:15pm Wednesday, July 18, 2018
Location: E145
Level: Beginner
Ethan Brown (Pop Art)
The Internet's current framework darling is React, but what most people don't know is the language that influenced it: Elm. Elm is a functional language specifically designed for the creation of error-free, high-performance, robust front-end websites. Join me for an introduction to this underrated gem of a language. Read more.
Add to your personal schedule
5:05pm5:45pm Wednesday, July 18, 2018
Location: E145
Level: Intermediate
Daniel Rosenwasser (Microsoft)
Conventional wisdom says building a type system goes hand-in-hand with building a language. What happens when you go against convention? Well, for a language with millions of users like JavaScript, it turns out that your type system has to be pretty expressive! Hear about how we've grown TypeScript to meet your JavaScript code where it is to become one of the fastest growing languages today. Read more.
Add to your personal schedule
11:00am11:40am Thursday, July 19, 2018
Location: E145
Level: Beginner
Sean T Allen (Wallaroo Labs)
Pony is a new high-performance, capabilities-secure, actor-model language. In this talk, I'll discuss how we used Pony to build a high-performance distributed stream processor. Read more.
Add to your personal schedule
1:45pm2:25pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
AMahdy Abdelaziz (Vaadin)
With the new hype of Kotlin, comes a new challenge: Is it plausible to jump right away and start using it? Especially with big enterprise applications? What are the pros and cons? Join us in this presentation and learn about the awesomeness of Kotlin from a different angle, instead of a 101 intro to Kotlin, we will cover the essential steps needed to migrate an enterprise Java application. Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 19, 2018
Location: E145
Level: Beginner
Robert Kluin (Real Kinetic, LLC)
Introducing a new programming language at work can be a challenge, especially if it is a functional language. We will retro a failed attempt and an ongoing success to develop ideas on how to improve your odds of success. Our takeaways will cover how to sell the idea to management and improve the odds of your pilot project being a success. Read more.
Add to your personal schedule
4:15pm4:55pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
Nathan Stocks (GitHub)
Rust is an systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. This session is a fast-paced introduction to Rust concepts, features, community, and language fundamentals: a crash course that will teach you why Rust is awesome, and how to use some of the awesomeness. Thought about getting into low-level systems programming? Start here. Read more.
Add to your personal schedule
5:05pm5:45pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
Timirah James (Platform9 Systems)
Although Apple’s Swift language is quickly becoming more popular than its 33-year-old predecessor, Objective-C, in the mobile (iOS) community, as its range of capabilities expands via the open source community, Swift has recently proven its potency in the serverless realm as well. Timirah James details why Swift is the language to watch in 2018 and beyond. Read more.