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
  • HTMLHTML
  • CSSCSS
  • APIsAPIs
  • MobileMobile

We ♥ Our Sponsors

 





 


Interested in Sponsoring Thunder Plains? Check out theSponsorship Prospectus. If you have any questions, please feel free to contact us via emailor @ThunderPlainson twitter.

Schedule

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

Room 8Room 9Room 10

Registration

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 gregtatum.com.

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 jj09.net.
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 Wedgies.com 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.

Example Speaker

TBA

(Speaker Unconfirmed)

Talk Description

Speaker Bio

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 steele.blue.

Mariko Kosaka

World Wide Web Without …English

Mariko Kosaka

I am constantly struggling to "read the document". From the begging of my coding career, I had this issue and it haven't gone away after 3 years. To give you some idea, just 5 pages of "Javascript basics" attached to my Japanese jQuery book was more helpful than any English tutorials. I learned express and socket.io reading Japanese blogs, not official websites. When I use English material, it takes me twice or three times as much time to read until I 'get it'. I often ask myself "Is this on me for lacking literacy? or is it something else?"
I went on research about this and I concluded the tech world we live in is very Anglocentric. It is not just about race, but also the language.
For me, accessing the Internet in early days meant I often needed to adjust encoding setting in my browser to fix garbled text. Fast forward 20 years, sadly, not much has changed.
GitHub won’t recognize the actual name of Arabic programming language قلب. io.js
The wording of common vernacular, like "isomorphic" (not the idea itself) can be confusing.
People are producing good content, but distribution of translation isnt as simple as a "fork and a PR".
Programmers love to talk about "good practice" and "open standard" of our software practice. I propose we should also acknowledge the issue around i18n, and build some guidance around it too.

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.

Break

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 (http://kendaleiv.com) 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.

Matthew Podwysocki

Async Javascript Netflix, Microsoft and the World!

Matthew Podwysocki

What’s does a mouse drag event have in common with an Array of numbers? The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming in JavaScript. In this talk you will learn how you can use the familiar JavaScript Array methods to create surprisingly expressive asynchronous programs. Using just a few functions, you will learn how to do the following:
Declaratively build complex events out of simple events (ex. drag n’ drop)
Coordinate and sequence multiple Ajax requests
Reactively update UIs in response to data changes
Eliminate memory leaks caused by neglecting to unsubscribe from events
Gracefully propagate and handle asynchronous exception
In this talk we’ll be exploring the Reactive Extensions (RxJS) library (http://github.com/reactive-extensions/RxJS), which allows us to treat events as collections. You’ll learn about how Netflix, Microsoft and others uses Rx on the client and the server, allowing us to build end-to-end reactive systems. We’ll also contrast Rx with Promises, another popular approach to building asynchronous programs in JavaScript.

Matthew Podwysocki is a Principal Software Developer and self-described Open Sourcerer at Microsoft. He currently works on the Reactive Extensions Team focusing on all languages including JavaScript and the Thali Project, focusing on data streams and the Internet of Things.

Blaine Bubblitz

Maybe We Should Slow Down

Blaine Bubblitz

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.

Co-Founder of @IcedDev
Co-founder of hackPHX (http://hackphx.com )
Project lead of @FrozenJS (http://frozenjs.com )

Closing Keynote

Kyle Simpson

Breaking The Broken Web

Kyle Simpson

The web is fundamentally broken in two deeply profound ways, and unfortunately the only way we're going to move forward is to painfully break from our past and present realities.
First, we have to break our notion of backwards compatibility and free ourselves from past technical baggage. Then we have to break how we're building the web currently to revisit the honored principles of progressive enhancement and responsive design, but take them much further. To truly include and empower every single person on the planet in the global audience of the web we're building, from a tribe member in an African village to a poor migrant worker in a border town, we need a web that is vastly more layered and nuanced and adaptive.
And most of all, we need to stop deceiving ourselves that device capabilities are the key factors driving the user's experience. Ultimately, user choice must be paramount.

Kyle Simpson is an Open Web Evangelist from Austin, TX, who's passionate about all things JavaScript.
He's an author, workshop trainer, tech speaker, and OSS contributor/leader.

Closing Remarks & Prize Drawing

After Party (Off-site)

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.

Where it’s at

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

Videos

Check out some videos from last yearThunder Plains 2014

Tickets

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!

Scholarship Opportunity

Everyone should have the opportunity to learn and grow, so we're offering 10 scholarships to attend Thunder Plains.The Thunder Plains Scholarship Application Form