Thunder Plains

Developer Conference

November 3rd 2015Oklahoma City

Developer Conference

Thunder Plainsis a web and mobile developer conference organized by theOklahoma City Javascript User Group. The conference focuses on JavaScript and related technologies in a wide variety of different use cases and platforms that make the web all the more interesting.

  • JavascriptJavascript
  • APIsAPIs
  • MobileMobile


There are 300 total tickets available for Thunder Plains (that's it!)

The first 30 "early bird tickets" (Lightning) are at a greatly discounted rate. Afterward, discounted tickets (Thunder) are available if purchased before August 31, so act quickly! For large groups, (5 or more) we are offering a group discount (Herd). This is a great option for shops who want to bring the whole team!

We ♥ Our Sponsors



Interested in Sponsoring Thunder Plains? Check out theSponsorship Prospectus.

Interested in Volunteering at Thunder Plains? Check out theVolunteer Signup Form.

If you have any questions, please feel free to contact us viaemailor@ThunderPlainson twitter.


Click on any schedule item to see details about the talk.

Room 8Room 9Room 10


Opening Announcements

Opening Keynote

Ashley Williams

If you wish to learn ES6/2015 from scratch, you must first invent the universe

Ashley Williams

Javascript has always been a language with very little syntactic sugar—for better or worse.
With ES6/2015, and future iterations,though, Javascript is gaining a more and more abstract and expressive syntax. To some it might appear that our language—which already seems accessible and approachable for beginners— is becoming even more accessible and approachable. However, both the humanities and CS education research have proven that abstraction, while a powerful tool for knowledgeable practitioners, can be an equally powerful foil for beginners. As we enter the era of language-level abstractions in ES6/2015, we are charged with the task of rethinking how we teach JavaScript. Through an interdisciplinary montage I will identify the problem of teaching abstraction as a ubiquitous demand across nearly every domain, and align the issues of creativity and critical thinking in the humanities with issues in computer science. The talk will conclude with a discussion of how the discipline of computer science and that of the humanities can inform each other to produce more effective and creative solutions to both developing and teaching abstractions.

Formerly a NYC Teaching Fellow, Ashley learned the ropes teaching middle school science in Harlem, NYC. Since then, she has spent the vast majority of the past few years teaching web development to beginners, most notably running the NYC Web Development Fellowship in its flagship year.
When not headlong in a discussion about pedagogy, she is probably getting seriously fired up about philosophy, language, systems, and/or jokes.

Greg Tatum

WebGL Now and Future

Greg Tatum

This summer I will be completing a fellowship with Mozilla helping building out the documentation for WebGL on MDN.
At Thunderplains I would love to speak about this experience, and what the future of WebGL looks like. WebGL is a fairly low-level API that has a lot of power and archane complexity. Most of the knowledge-base for GL-related technologies is written towards developers of non-web technologies. I would like to boil this technology down into a simple conceptual intro of the lower-level API that is specifically targeted towards web developers. I would also like to challenge the attendees on what future applications can be built using WebGL and how it will fundamentally change how we interact with the web.

With a background in contemporary sculpture, aquarium exhibit design, marketing, animation, and web development, Greg is all over the place. The central guiding principle behind his work is to find the middle ground between the technical and creative, and explore it and see what comes up. He is a Senior Web Developer + Digital Designer at Cubic, a Tulsa based creative branding agency.
His latest programming experiments can be found at

Jonathan Yarbor

Using Node.js to Build your Transport Layer

Jonathan Yarbor

Almost every Javascript developer starts with an example of a REST server to create requests and fulfill their network transport. I'm going to talk about building a TCP network layer which will handle requests between different Node.JS applications which can be spread across the globe.
Today I'm the lead developer at NodeCraft, where we process between 50-70 million requests a week via TCP and REST. I'll talk about the alternative services which provide this today, how to design a scale-able transport layer, and even how to bring the data to the browser via Socket.IO
I personally believe that Javascript and Node.JS is so much more than just a REST framework or a web server. I want to show you how!

I'm a frontend developer that's become a Javascript backend developer. In my free time I play games, program, and tinker with electronics.
At work I play games, program, and tinker with electronics.

Jenna Zeigen

Server Farm to Table (Or How the Internet Works)

Jenna Zeigen

Many of us depend on the internet for both work and play, but it's possible to go about our lives without knowing the steps it takes to get those pixels to show up and delight us and our users.
However, a sense of the process of what's going on to serve web apps can help us as developers make better software as well as understand the motivation behind many of the optimizations that we've been taught. This talk will cover the life of a web request in a browser, from entering the URL to the processing the HTML, covering DNS, TLS, TCP, HTTP, and HTML parsing and rendering, explaining how each step in the process affects the performance of web apps.

Hey! I'm currently the User Controls Team Lead at DigitalOcean. I get to play with JavaScript and help people be the best programmers they can be all day, so that's pretty great.
I also spent an awesome three months writing code as part of the fall 2012 batch of The Recurse Center (then known as Hacker School). It was amazing. I love how code is, for me, the perfect combination of logic and creativity.
In May 2012, I received an Sc.B in Cognitive Science at Brown, during which I completed my honors thesis in Professor Laura Kertz's Sentence and Discourse Processing Lab, investigating the nature of lexical access and lexical ambiguity resolution in dual-context sentences. In other words, I did my thesis on puns.
I like thinking about the structure of the mental lexicon, the mental dictionary, and I'd like to learn more about distributed processing models of cognition, computational modeling, human computer interaction, user experience and usability, natural language processing, and data visualization. I also enjoy bouldering, cooking, making mashups, DJing, and drinking coffee.

Jakub Jedryszek

Aurelia – Nex Gen js framework

Jakub Jedryszek

Aurelia is a next generation JavaScript client framework that leverages simple conventions to empower your creativity created by Rob Eisenberg, creator of Durandal, who left Angular 2 team to create cleaner and simpler JavaScript framework of tomorrow written in ECMAScript 7!

I am a Software Engineer at Microsoft. I work on the Azure Portal – one of the biggest Single Page Applications in the World written in TypeScript. I am co-organizer of dotNetConfPL – online conference for .NET Developers. I have a blog at
I started web development over 10 years ago. Before Microsoft, I was working as a Web Developer for SMT Software, Division of Communications and Marketing at Kansas State University, and PGS Software.
In Grad School I was Research Assistant at SAnToS Lab research group, at Kansas State University. I developed a Model-Driven Development and Verification Approach for Medical Devices.

Joshua Ogle

Rapid Prototyping with Product Design Sprints

Joshua Ogle

The Product Design Sprint was started by Google Ventures and quickly adopted and updated by several of the biggest names in the industry, including thoughtbot.
I'll talk about how we do a sprint, things that we have learned, and what you can do to put these ideas into practice. Design Sprints are perfect for startups wanting to realize their ideas, but also work well for that new feature for your existing product or anywhere that needs some critical thinking and validation from real users. We will outline what is done on each day of the typical week, and how it can be scaled up or even scaled down to a few hours. I'll also share thoughtbot's resources to give them everything they need to start doing design sprints of their own.

I am a designer at thoughtbot, a consulting firm that makes web and mobile apps for early-stage startups. Before that, I co-founded Brightbit, where we did the same thing in OKC.

Jordan Garcia

Building Games with React + Immutable + Flux

Jordan Garcia

In this interactive tutorial you will build the popular game Tetris using React, ImmutableJS and Flux architecture.
Learn how one-way data flow and a reactive render framework like React make game development a breeze!

Since founding an instructional gaming website out of his college apartment, Jordan has loved building great experiences on the web.
Currently the Frontend Lead at Optimizely, he enjoys writing javascript, figuring out ways to help developers become more productive and playing ping pong. Jordan is also the creator of the first implementation of Flux Architecture to use Immutable data and Functional Reactive Programming, NuclearJS.

Lunch Break

Brian Blocker

Not Rewriting Your Web App (at once)

Brian Blocker

Let's face it: you have a web application that's got a ton of JavaScript. You probably have jQuery. Everything is unstable. You're being asked to do things that will make it worse. You're thinking "I should XYZ framework," but how do you integrate that with your current app without rewriting the WHOLE THING!?

In this talk we'll look at:
1. Three web applications faced with the need to rewrite their application
2. Architecture, problems, and needs of each application
3. How each app rewrite was approached, what went well, what didn't
4. How you can reach they same success they all eventually reached through incremental improvement

Front-end engineer by trade, coach by passion. I stabilize client-side development efforts. My kids get their good looks from me, obviously, because my wife still has hers. Recently moved back to Tulsa from San Francisco to build a tech company and add to the incredible momentum happening in tech in Oklahoma.

Pawel Szymczykowski

JS in Near Space

Pawel Szymczykowski

Near space is a region of the Earth's atmosphere starting at 20 km, high enough to boil water at body temperature. With a little bit of preparation, you can launch a ballon carrying a payload of sensors and cameras driven by JavaScript into near space at twice the height that commercial airlines can fly. I will guide you through the hardware, software and red tape you should be familiar with to create your own high altitude experiments.
I will guide you through the entire journey starting at ground level from legal restrictions and licensing issues to building custom hardware and writing code for harvesting data from (an actual) cloud, to tracking and safely recovering your payload as it fall back to Earth. Our project began as a 2 day hackathon at work with a GoPro and GPS unit in a cardboard box and grew into it's current level of complexity and fun through many weekends of hacking, robotics, amateur radio and very amateur aeronautics.
Let's take back cloud computing!

Pawel is an engineer at by day, and an insatiably curious tinkerer by night. Interests include electronics, robotics, 3D printing, CNC, virtual reality and outer space. He recently contributed a chapter to JavaScript Robotics along with a whole slew of incredible people

Jonathan David Dalton

Unorthodox Performance

Jonathan-David Dalton

This isn't your run of the mill performance talk.
In this talk I'll explain some of the cooler and more unique performance techniques I've learned while developing Lodash v4.

A JavaScript tinkerer, bug fixer, & benchmark runner. Creator of lodash & Microsoft Edge Web Apps & Frameworks Ecosystem Program Manager.

Jordan Rousseau

Etch A Sketch Development (So Tell Me Again Why We're Not Refactoring)

Jordan Rousseau

The more scope is creeped the more un-readable and un-maintainable a codebase becomes.
I want to go through some of the tough decisions that have been made to abandon current development and shake the big etch a sketch until it's just a blank slate.
This can't be done haphazardly nor should it be done to allow your team to try out the newest framework. But you need not be afraid to learn from your past mistakes and create a better application for your company or client.

Jumping between C++, Java, and ActionScript (to name a few), Jordan had an eclectic early software engineering career.
The past 4 or 5 years, Jordan settled into JavaScript at Weather Decision Technologies. He leads a group of crazy talented developers building out the next generation weather visualization products.
Jordan focuses mainly on open geo and data visualizations and is also a co-organizer of MaptimeOKC. You can check out his latest musings at

Matt Steele

Get to the CHOPVAR: Writing an ArnoldC-to-Javascript compiler in Javascript

Matt Steele

Have you heard of TypeScript? CoffeeScript? Dart? Have you ever wanted to invent your own programming language and run it in the browser? Well, you can! Write your own compiler! Or a transpiler, or whatever the cool kids are calling them these days. No formal knowledge of compilers is required.
In this talk, I'll show you how to use tools like Jison to build a compiler that targets JavaScript as a runtime. You can even generate Source Maps, so you can debug against your original code in the browser.
We'll then put it to use by writing a compiler for the greatest programming language of all time: ArnoldC.

Matt Steele is a front-end developer living in Omaha. He works on all things JavaScript at Union Pacific Railroad. He doesn't use Rails much.
Matt helps run the Omaha Java User Group, NebraskaJS, and NEJS Conf.
Matt can be found online at

Mariko Kosaka

Confusio Linguarum - how to help your large silent minority users

Mariko Kosaka

As non-native English speaker, I am constantly struggling to "read the document" in English. I get frustrated for not being able to "read between lines" of Github comments. I get embarrassed when I don't get sarcasm on slack chat. Typo in variable name is the story of my life.
The Tech industry is undeniably Anglocentric. The de-facto language used to develop, document, and market software is English, and It is often overlooked that software is used largely by non-English speaking communities.
As someone who speaks English as a second language, it's mostly confusing and sometime very frustrating to navigate through this tech scene. I want to make it better by shearing my experience. Let's pause for a moment talking about libraries and syntax, and look at the experience of a silent majority.

Mariko is an engineer living in New York City. When she is not making software at Scripto, she uses Javascript to help her knit and co-organize local meetup BrooklynJS.


Ken Dale

Writing Better jQuery Infused JavaScript

Ken Dale

jQuery is a JavaScript library many web developers utilize for writing concise and powerful browser code, as well as abstracting away browser differences and deficiencies. While jQuery may become less relevant over time as modern browsers are more widely adopted, it is a real and present part of modern web development today. What jQuery does not provide is any built-in programmatic structure. And, applications without consistent structure can quickly become unmaintainable spaghetti code.
We'll look at techniques for writing better jQuery infused code, refactoring existing jQuery code, and writing good tests.

Ken Dale ( is a skilled and passionate software developer with most of his current technology focus centered around the .NET web stack, JavaScript, and cloud technologies. Outside the realms of software, Ken is a multi-instrument musician who enjoys food eaten with chopsticks and travel.

Iheanyi Ekechukwu

Intro to Ember.js and Ember-CLI

Iheanyi Ekechukwu

Having hit 2.0 recently, Ember.js is a front-end web framework for building ambitious web applications. In this talk, I discuss about reasons why I enjoy using Ember.js from the perspective of a designer and as a developer, while also giving an overview of Ember-CLI.

Hello, I'm Iheanyi Ekechukwu. I'm a developer and designer originally from Myrtle Beach, South Carolina. In December of 2014, I graduated from the University of Notre Dame with two degrees, a B.S. in Computer Science and a B.A. in Design. During University, I learned that I had a passion for developing functional, user-friendly digital solutions to various problems. I currently am working at IBM Watson Life in Austin, Texas as a Software Engineer.
While my stack of choice is Ruby on Rails with EmberJS, I pride myself on my ability to quickly learn the languages, tools, and/or frameworks best for solving a problem. When I'm not coding or designing, you can usually find me bboying, grabbing a cup of coffee at Epoch, or recording an episode for my podcast.

Blaine Bublitz

Maybe We Should Slow Down

Blaine Bublitz

The world of JavaScript is moving faster than ever. There's a new framework, compile-to-JS language, or tool every day.
More than 156,000 packages are published on npm. We have conventions, like SemVer, that allow us to avoid some of the pitfalls of this rapid pace, but there are still questions we should ask ourselves. Does this speed produce the best code? What about the best APIs? Having been part of the gulp 4 and lodash 3 development efforts, I've found that taking time to think through your APIs before beginning development leads to better APIs and more concise code. In this talk, I plan to show the payoff to thinking through APIs before writing any code behind them with comparison to libraries that often release API breaking changes, which can cause users to have painful upgrade processes.

Blaine is a Co-Founder of Iced Dev, a Phoenix-based JavaScript consultancy, and an avid contributor to open-source projects like lodash and gulp. He credits much of his knowledge and professional development to participating in the Javascript community and tries to return the favor through speaking engagements, organizing hackathons, open-sourcing experiments and releasing modules back into the community.
He's also Iced Dev's undisputed champion of the Exploding Kittens card game.

Closing Keynote

Kyle Simpson

The Economy of Keystrokes

Kyle Simpson

What are you buying with that keystroke?

Kyle Simpson is Head of Curriculum for MakerSquare and an evangelist of the open web.
He's passionate about all things JavaScript, writes books, teaches JavaScript, speaks, and contributes to the world of OSS.

Closing Remarks & Prize Drawing

After Party (Off-site)

Where it’s at

Located at theCox Convention Center in downtown Oklahoma City
within walking distance of great hotels and restaurants.

Code of Conduct

Before attending the conference,please review the Thunder Plains Code of Conduct. The CoC applies to all attendees, speakers, volunteers, and vendors at official and unofficial events byTechlahomaand any location where attendees may be congregating.Contact usif you have questions.


Check out some videos from last yearThunder Plains 2014