Registration

Registration begins at 7:30am Thursday. East Atrium, 3rd Floor.

Pre-Registration is available in the Westin Hotel Lobby on Wednesday at 12pm until 9pm

Schedule

We're so excited to bring you a schedule packed with incredible sessions from our invited speakers and open call submitters.

Check out all of the topics that you can see at Abstractions below and make sure you are registered.

Be sure to take a look at our Distractions area. In the Distractions area, you will be able to take a break from the sessions and refresh your spirit with some non-lecture content and thoughtful activities.

A downloadable schedule is included in our downloadable program.

Viewing Options

Thursday

Abstractions Stage

9:00 AM  - 10:00 AM

Joe Armstrong

OK We Had Our Fun so Now Let's Get Serious

We've been playing with computers since 1948. Software and computers have changed the world. But we still don't know how to program them reliably, and we haven't quite figured out what to do with th...

×

9:00 AM  - 10:00 AM, Abstractions Stage

OK We Had Our Fun so Now Let's Get Serious

Joe Armstrong

We've been playing with computers since 1948. Software and computers have changed the world. But we still don't know how to program them reliably, and we haven't quite figured out what to do with them. In this lecture I'll talk about the history of computing, complexity and why programming is difficult. I'll outline the dangers that we are facing, which problems we ought to be solving and how we should approach programming as a mental discipline.

Inventor of Erlang, developed the Open Telephony Platform, prolific speaker on language design.

6:15 PM  - 7:15 PM

Scott Hanselman

JavaScript and the Rise of the New Virtual Machine

Description TBA...

×

6:15 PM  - 7:15 PM, Abstractions Stage

JavaScript and the Rise of the New Virtual Machine

Scott Hanselman

Description TBA

Host of This Developer's Life and Hanselminutes podcast, Microsoft Web Platform team.

Distractions

10:00 AM  - 11:00 AM

Marylou Lenhart

Yoga for Engineers

Sitting at a desk all day contributes to the already typically sedentary lifestyle of the modern world. There are many studies that show that our bodies do not deal well with this lack of activity. Yo...

×

10:00 AM  - 11:00 AM, Distractions

Yoga for Engineers

Marylou Lenhart

Sitting at a desk all day contributes to the already typically sedentary lifestyle of the modern world. There are many studies that show that our bodies do not deal well with this lack of activity. Yoga for Engineers will help us to stand up and do something about it. ## But I'm pretty healthy, why do I need this? That's great! Maybe you don't, but you will probably have fun anyway! You might even learn something new. ## But I'm not flexible at all, yoga isn't for me. That's why you try yoga! There are plenty of alternate postures if you can't do a thing. Plus, it's not about doing everything (or really, anything) perfectly, it's about the journey of getting better with continuous practice. ## So what will I get out of it? My goal is to teach a few easy exercises and yoga postures that you can do at home (and some, even at the office) that will help to strengthen the muscles that are weakened by sitting in a chair. You can learn about them more in depth at my _Posture for Engineers_ talk, and give them a try in the _Yoga for Engineers_ workshop. At the end of this workshop you will: * Feel more confident about moving your body during your work day. * Learn some yoga poses if you did not know them already. * Know at least a few exercises to do regularly that will help improve posture. * Have experienced what each position will do for you. * Have tried something fun ^_^ * Be smiling!

Marylou is a software engineer. What she finds most intriguing about computer programming is the the challenge of creating practical, clean, quality software amongst the complex and chaotic nature of designing and engineering web applications. She’s excited to solve important problems by following the guiding principles of maintaining trust and transparency among project teams, and with clients. Outside of work, she’s passionate about solving problems in the community, including those related to diversity and inclusivity. Since 2014, she's been the Chapter Leader for the Pittsburgh chapter of Girl Develop It, an organization that exists to create affordable and judgement-free opportunities for women interested in learning web and software development. She received her 200-hour training as a yoga instructor from Yoga Flow here in the heart of Pittsburgh, and taught for a year at Urban Prana in the South Hills. She is registered with Yoga Alliance at the RYT200 level, and she is insured to teach. She gave this talk at YAPC::Asia in Tokyo, which was her first time out of the country, and it was a beautiful experience. Hobbies that she has not turned into a job yet include playing video games and board games, coloring, reading, and dancing.

11:00 AM  - 3:00 PM

You

Hack Session

Open room for working on projects and meeting new people based on what they're working on. ...

×

11:00 AM  - 3:00 PM, Distractions

Hack Session

You

Open room for working on projects and meeting new people based on what they're working on.

You and your computer

4:00 PM  - 7:00 PM

You

Hack Session (open data slant)

Open room for working on projects and meeting new people based on what they're working on. ...

×

4:00 PM  - 7:00 PM, Distractions

Hack Session (open data slant)

You

Open room for working on projects and meeting new people based on what they're working on.

You and your computer

12:00 PM  - 1:00 PM

Caleb Thompson

The Joy of Miniature Painting

As developers, we often stare at a computer screen all day only to go home and stare at more glowing boxes all night. Having a nontechnical hobby can really help to keep us sharp for our day jobs. As...

×

12:00 PM  - 1:00 PM, Distractions

The Joy of Miniature Painting

Caleb Thompson

As developers, we often stare at a computer screen all day only to go home and stare at more glowing boxes all night. Having a nontechnical hobby can really help to keep us sharp for our day jobs. As I live-paint a small model for a tabletop wargame, I will describe some of the techniques I use. You'll hear me discuss how having a hobby has helped me stave off burnout. I'll also impress the importance of open and frank discussion around mental illness.

Speaker, developer, painter, gamer: an eccentric eclectic. Caleb is currently coding mostly in Ruby and Go. He's not a fan of the SPA. He has braved the wintry tundra of Alaska and the harsh deserts of Arizona. He has fired a [Mosin-Nagant] without blinking, fought the Red Menace, built [Battleship Couch], and killed a bear and wore its pelt. He enjoys fine wines, craft beers, and punching comets. [Mosin-Nagant]: http://en.wikipedia.org/wiki/Mosin–Nagant [Battleship Couch]: http://caleb.click/drH7

1:00 PM  - 2:00 PM

Caleb Thompson

The Joy of Miniature Painting (Repeat Session)

As developers, we often stare at a computer screen all day only to go home and stare at more glowing boxes all night. Having a nontechnical hobby can really help to keep us sharp for our day jobs. As...

×

1:00 PM  - 2:00 PM, Distractions

The Joy of Miniature Painting (Repeat Session)

Caleb Thompson

As developers, we often stare at a computer screen all day only to go home and stare at more glowing boxes all night. Having a nontechnical hobby can really help to keep us sharp for our day jobs. As I live-paint a small model for a tabletop wargame, I will describe some of the techniques I use. You'll hear me discuss how having a hobby has helped me stave off burnout. I'll also impress the importance of open and frank discussion around mental illness.

Speaker, developer, painter, gamer: an eccentric eclectic. Caleb is currently coding mostly in Ruby and Go. He's not a fan of the SPA. He has braved the wintry tundra of Alaska and the harsh deserts of Arizona. He has fired a [Mosin-Nagant] without blinking, fought the Red Menace, built [Battleship Couch], and killed a bear and wore its pelt. He enjoys fine wines, craft beers, and punching comets. [Mosin-Nagant]: http://en.wikipedia.org/wiki/Mosin–Nagant [Battleship Couch]: http://caleb.click/drH7

3:00 PM  - 4:00 PM

Sandi Metz, Jeffrey Zeldman, Saron Yitbarek, Larry Wall

Speaker Meet and Greet

Some of our headlining speakers will be joining us for a meet and greet. Come hang out with Sandi Metz, Jeffrey Zeldman, Saron Yitbarek, Larry Wall, and other speakers. For an hour, these speakers wil...

×

3:00 PM  - 4:00 PM, Distractions

Speaker Meet and Greet

Sandi Metz, Jeffrey Zeldman, Saron Yitbarek, Larry Wall

Some of our headlining speakers will be joining us for a meet and greet. Come hang out with Sandi Metz, Jeffrey Zeldman, Saron Yitbarek, Larry Wall, and other speakers. For an hour, these speakers will be hanging out, hoping to talk to any and all of the conference attendees who are intersted in their work.

Some of our headlining speakers.

7:30 PM  - 8:00 PM

Andrew Faraday

Just a Minute - Semifinals (Eastern Division)

"Just a Minute is a game show that's a part of the British national consciousness, delighting audiences across the country for almost half a century. In it, speakers are challenged to speak for one mi...

×

7:30 PM  - 8:00 PM, Distractions

Just a Minute - Semifinals (Eastern Division)

Andrew Faraday

"Just a Minute is a game show that's a part of the British national consciousness, delighting audiences across the country for almost half a century. In it, speakers are challenged to speak for one minute without hesitation, repetition or deviation, it's much harder than it sounds. It's fast paced, funny, insightful and you might even learn something. Panelists: Nadia Odunayo; Ruth John; Sean Grifin; Scott Hanselman"

A Ruby developer, presenter, musician and kidney donor working in Surrey, England. Background includes a music degree, 5 years of radio presenting/production and panel game hosting. A long history of combining code and music to explore the artistic capabilities of programming. Professional experience includes a lot of integration with large legacy databases.

7:00 PM  - 9:00 PM

Girl Develop It

Girl Develop It Code & Coffee - Abstractions Edition

(**( Sign up at http://www.meetup.com/Girl-Develop-It-Pittsburgh/events/232825645/ )**) Do you like coffee? Or tea? How about programming? Working on something and need some guidance? If you can answe...

×

7:00 PM  - 9:00 PM, Distractions

Girl Develop It Code & Coffee - Abstractions Edition

Girl Develop It

(**( Sign up at http://www.meetup.com/Girl-Develop-It-Pittsburgh/events/232825645/ )**) Do you like coffee? Or tea? How about programming? Working on something and need some guidance? If you can answer “yes” to any of the above, drop by Girl Develop It Pittsburgh’s Abstract Code & Coffee! Non-members are welcome, too! We will meet at 18:50 at the Distractions area and walk to 21st Street Coffee in the Strip District. The walk is about ten blocks, so be prepared for that. You're also welcome to get a ride and meet us there. Please note that the venue is not open before 19:00! Code & Coffee is a great place to come get work done and maybe get to know some new people. We will keep it low key, a place to unwind, and we ask that before attending, you read both the Girl Develop It Code of Conduct (https://www.girldevelopit.com/code-of-conduct) and the Abstractions Code of Conduct(http://abstractions.io/policies/#code-of-conduct). Hope to see you there!

Girl Develop It is a nonprofit organization that exists to provide affordable and judgment-free opportunities for women interested in learning web and software development. Through in-person classes and community support, Girl Develop It helps women of diverse backgrounds achieve their technology goals and build confidence in their careers and their every day lives.

8:00 PM  - 10:00 PM

Bearded Studio

"What Comes Next is the Future" movie premiere

Come see the world premiere of the new movie by Bearded, "What Comes Next is the Future". "What Comes Next Is the Future" is the definitive documentary about the web, as told by the people who build i...

×

8:00 PM  - 10:00 PM, Distractions

"What Comes Next is the Future" movie premiere

Bearded Studio

Come see the world premiere of the new movie by Bearded, "What Comes Next is the Future". "What Comes Next Is the Future" is the definitive documentary about the web, as told by the people who build it each day. Their challenges and successes will help us better understand this thing called the web, and what lies ahead. A project by Matt Griffin – founder of Bearded, What Comes Next Is the Future is an effort to capture the titanic shift in the web landscape that mobile devices have initiated. Special panel featuring Jeffrey Zeldman, Matt Griffin, Christopher Schmitt, and more TBD

Builder Stage

11:00 AM  - 11:45 AM

José Valim

Exploring Elixir for building concurrent and robust applications

Description TBA...

×

11:00 AM  - 11:45 AM, Builder Stage

Exploring Elixir for building concurrent and robust applications

José Valim

Description TBA

Inventor of Elixir language, Rails core team, Phoenix core team.

12:40 PM  - 1:20 PM

Petro Salema

Creative: Courage

I have come to find that the greatest limitation that keeps teams and individuals operating below their true creative capacity is not a lack of imagination or talent, but rather a lack in the ability ...

×

12:40 PM  - 1:20 PM, Builder Stage

Creative: Courage

Petro Salema

I have come to find that the greatest limitation that keeps teams and individuals operating below their true creative capacity is not a lack of imagination or talent, but rather a lack in the ability to underwrite the risk that is unavoidable in the creative process. In other words: courage. It feels safer to copy and fail, and be congratulated for having at least done it canonically "right," than it is to test unchartered ideas and fail, and be considered a fool. Hence: "innovation" bandwagons. Yet every true act of creation is risk. And the cost of allowing our impulse towards comfort to keep us operating below our creative capacity is colossal loss --for us personally, for our users, and the innovation that is the future viability of any organization. Courage -- not imagination or skill -- is the essence of our creative capacity. Courage is not an emotion, it is a principle of execution: executing on the basis of achieving gain rather than averting loss. Courage is not confidence of success, it is the willingness to underwrite the risk of failure. Courage is about thinking hard about first principles: asking "why" instead of just the "what" or the "how." My desire in this talk is to translate these principles into how we go about the process of designing software, building teams, and developing plans. My aim is to give us a framework that can help us all escape the temptation to imprison ourselves into coloring within the lines of other peoples success, and instead develop the courage to exercise our true creative potential.

Tech lead at AlohaEditor, developer at Genetics, human computer interaction visionary.

1:45 PM  - 2:30 PM

Larry Wall

Perl 6

Description TBA...

×

1:45 PM  - 2:30 PM, Builder Stage

Perl 6

Larry Wall

Description TBA

Inventor of Perl

2:40 PM  - 3:10 PM

Mat Marquis

Performance under pressure

TBA...

×

2:40 PM  - 3:10 PM, Builder Stage

Performance under pressure

Mat Marquis

TBA

I make websites at Bocoup. Melee DPS.

3:20 PM  - 4:05 PM

Mitchell Hashimoto

Abstracting Security: Secrets, Certificates, and More

“Security” is a part of everything around us. For many organizations, security has historically ended at the firewall; a concept of “us” vs. “them”. With the rise of cloud, microservices, IoT, and mor...

×

3:20 PM  - 4:05 PM, Builder Stage

Abstracting Security: Secrets, Certificates, and More

Mitchell Hashimoto

“Security” is a part of everything around us. For many organizations, security has historically ended at the firewall; a concept of “us” vs. “them”. With the rise of cloud, microservices, IoT, and more, the need for easy best practices security is higher than ever. Secure storage and distribution of secrets is only a small part of the challenge, as operators and security teams must reason about key rolling, auditing, and incident management during a compromise. Beyond the basic storage of passwords, secrets also include certificates, keys, and sensitive user data (PII). In order for good, strong security to be pervasive, it must be abstracted. It must be easy for developers and operators to implement secure systems. At HashiCorp, we’ve been working on this problem with Vault. Today, Vault is used by some of the world’s most security sensitive organizations and is growing quickly. In this talk I’ll discuss the need for security, various approaches to it, and our experience working with hobbyists to the world’s most secure companies.

Inventor of Vagrant and CEO of Hashicorp.

5:10 PM  - 5:55 PM

Mike Monteiro

Let Us Now Praise Ordinary People

Everywhere you turn, companies are promising to change the world. But when the people already on top promise to change the world, you have to wonder how and for whom. The how isn't usually in your ben...

×

5:10 PM  - 5:55 PM, Builder Stage

Let Us Now Praise Ordinary People

Mike Monteiro

Everywhere you turn, companies are promising to change the world. But when the people already on top promise to change the world, you have to wonder how and for whom. The how isn't usually in your benefit, and the for whom isn't usually for you. The world is working exactly as they've designed it to work. So if we really want to change it, we need to change not just how we design it, but who is designing it.

Co-founder Mule Design, author "You're My Favorite Client" and "Design is a Job".

Compiler Stage

10:10 AM  - 10:55 AM

Matt Griffin

I, Web Designer

Matt Griffin (founder, Bearded) has been thinking about what it means to be a "web designer," grappling with the many (and sometimes misunderstood) disciplines that come into play. In undertaking a...

×

10:10 AM  - 10:55 AM, Compiler Stage

I, Web Designer

Matt Griffin

Matt Griffin (founder, Bearded) has been thinking about what it means to be a "web designer," grappling with the many (and sometimes misunderstood) disciplines that come into play. In undertaking a task no less than defining an industry, he does not dare to go it alone. Instead this talk draws heavily on video interviews shot for his documentary film What Comes Next Is the Future, capturing the thoughts and experiences of industry leaders Trent Walton (founder, Paravel), Irene Au (operating partner, Khosla Ventures), Ethan Marcotte (author, Responsive Web Design), Indi Young (founder, Adaptive Path), Denise Jacobs (author, InterACT with Web Standards), Brad Frost (author, Atomic Design), Yesenia Perez-Cruz, Kelly Goto (founder, gotoresearch), and many more. Much like Carl Sagan in his television series Cosmos, Matt Griffin acts as the guide, helping viewers transition between edited film interview segments where a diverse range of web experts examine the topics at hand: * The legacy of graphic design * Mobile broke our process * Ceding control * Welcoming iteration * You're part of a team * Specialization and overlap * Should designers code? * What do you mean by UX?

Founder Bearded Studio and Wood Type Revival, A List Apart columnist.

11:50 AM  - 12:30 PM

Andrew Clay Shafer

The buzzwords are not the territory

Everyone needs to continuously devops containerized cloud native microservices or die trying. Or maybe not. Tech hypecycles bridge the past to the future. What can we learn from the hypecycles of yest...

×

11:50 AM  - 12:30 PM, Compiler Stage

The buzzwords are not the territory

Andrew Clay Shafer

Everyone needs to continuously devops containerized cloud native microservices or die trying. Or maybe not. Tech hypecycles bridge the past to the future. What can we learn from the hypecycles of yesteryear? What's actually happening right now? One man's tragicomic journey from dev to ops and back again loaded with all you can eat buzzwords and Pittsburgh references.

Founder Puppet Labs, Senior Director of Technology at Pivotal.

12:40 PM  - 1:20 PM

Adam Simpson

Build your own tools with Electron and React.

Electron and React are breakthrough frameworks that finally start to realize the dream of writing "native apps" with web technologies. These two technologies allow internal teams and individual develo...

×

12:40 PM  - 1:20 PM, Compiler Stage

Build your own tools with Electron and React.

Adam Simpson

Electron and React are breakthrough frameworks that finally start to realize the dream of writing "native apps" with web technologies. These two technologies allow internal teams and individual developers to quickly create their own tools and apps. In this talk, I'll cover how we did just that at Sparkbox, including: - how to get started with Electron - why React is a great partner for Electron - and what to do with those pesky common pitfalls

About the speaker:

I'm a lit-major-turned-developer at Sparkbox in Dayton, OH. I love web-scrapers, frontend tooling, books, writing, and vim. I accept cookies as currency.

1:30 PM  - 2:20 PM

Ruth John

Let's talk about MIDI.

What do you think of when I say MIDI, bad computer music? Websites playing annoying background noise when you land on them? Then let me let you into a little secret, let me introduce and educate you ...

×

1:30 PM  - 2:20 PM, Compiler Stage

Let's talk about MIDI.

Ruth John

What do you think of when I say MIDI, bad computer music? Websites playing annoying background noise when you land on them? Then let me let you into a little secret, let me introduce and educate you into a new world of MIDI. MIDI is at it's simplest a data protocol and doesn't have to be associated with audio at all. With the incredible amount of compatible hardware available to us, alongside the new Web MIDI API, we can start to have a *lot* of fun with a new world of hardware-powered web tech. In this enticing and interactive presentation we'll journey through the different MIDI specifications and look at other web APIs. From sound with General MIDI and the Web Audio API, to the MIDI Show Control, timing firework and fountain displays with the Web Animation API and on to the latest MIDI BLE standard, what a better way to demo the Web Bluetooth API. The web is getting hardware-ready and this talk is a great beginning to those APIs at our fingertips. Think you know MIDI - think again there's so much more to it.

About the speaker:

Ruth has been wireframing, designing and coding for over a decade. She also [tweets](https://twitter.com/rumyra) and [blogs](http://rumyrashead.com/) a bit too. You can often find her chatting about new mobile & web development techniques. She tends to get excited about making things, whether that’s sewing jackets connected to her mobile or projecting visuals at gigs with her hand coded VJ software.

2:30 PM  - 3:15 PM

Lyza Danger Gardner

Everyone Else is So Clever

Look at the Web! It grows, it flexes, it is a chimera, never the same one day to the next. Other people make it look so obvious and easy. Other people build beautiful things, develop elegant standards...

×

2:30 PM  - 3:15 PM, Compiler Stage

Everyone Else is So Clever

Lyza Danger Gardner

Look at the Web! It grows, it flexes, it is a chimera, never the same one day to the next. Other people make it look so obvious and easy. Other people build beautiful things, develop elegant standards, launch profound projects. Is it that the rest of us are inefficient and frenetic? Or is the web’s awesome, impetuous progress making dilettantes of us all? Join me for a uniting tale of uncertainty and triumph on the curious path to the newest browser technologies.

Cloud Four co-founder, developer, author "Head First Mobile Web", and advocate for the Web.

4:15 PM  - 5:00 PM

Bryan Liles

Embracing your impending obsolescence.

As Facebook asserted, 2016 is the year of the bot. Of course this isn’t true because bots have been around for at least a couple of decades. Assuming bots will inevitably take over every aspect of our...

×

4:15 PM  - 5:00 PM, Compiler Stage

Embracing your impending obsolescence.

Bryan Liles

As Facebook asserted, 2016 is the year of the bot. Of course this isn’t true because bots have been around for at least a couple of decades. Assuming bots will inevitably take over every aspect of our lives, how can we embrace this technology and use it to our advantage? In this talk, we’ll take a look at the usefulness of bots when we filter out the hype. From deploying software, to managing our open source projects, and beyond, bots create a fun new world.

Engineer at Digital Ocean. Hacker of crazy things and distributed systems.

Domain Stage

10:10 AM  - 10:50 AM

Stephen Ball

Power up your prompt!

Do you only use your command line prompt to run some commands and launch your text editor? It can do more! In this talk we'll dive through a series of incredibly awesome plugins, scripts, and tools th...

×

10:10 AM  - 10:50 AM, Domain Stage

Power up your prompt!

Stephen Ball

Do you only use your command line prompt to run some commands and launch your text editor? It can do more! In this talk we'll dive through a series of incredibly awesome plugins, scripts, and tools that transform the boring command line into a powerhouse of awesomeness! Syntax highlighting in the prompt? You got it! How about gentle autocompletion of recent commands? Sure! Even tools for data analysis? Of course! We will analyze all the data, right in text! If there's time, we'll even extend git with a few nice commands just because we can.

About the speaker:

My name is Stephen Ball. I started programming computers back in the 80s by copying BASIC programs from 3-2-1 Contact into our Atari 800XL. Now I program web applications using Ruby on Rails and still love every minute of it! I'm passionate about Git history and writing code that is as simple as possible but no simpler.

11:00 AM  - 11:40 AM

Rachel Krantz

Why we need to bring back the apprenticeship, and how to make it happen

Our culture’s workforce defaults to internships, which have a reputation for being short-term, involving lots of coffee runs, and are usually limited to college students. With the changes in both the ...

×

11:00 AM  - 11:40 AM, Domain Stage

Why we need to bring back the apprenticeship, and how to make it happen

Rachel Krantz

Our culture’s workforce defaults to internships, which have a reputation for being short-term, involving lots of coffee runs, and are usually limited to college students. With the changes in both the tech and college industries -- more people without CS degrees pursuing careers in tech -- what if we brought back the apprenticeship model? In this talk, we will examine what apprenticeships have historically been, why we shifted to the internship model, and what we can gain by adding apprenticeships back into our normal work environments -- especially in our industry. I will share both historical research and present-day case studies. You will leave equipped with the base knowledge you need to implement apprenticeships at your own company, and you will know how to get the most value out of an apprenticeship as either a company or an apprentice.

About the speaker:

The day Rachel first heard about Coursera was the day she signed up for the Python-based Learning to Program class. She has always loved building things, and the class let her realize she could do that with code. Since then, she has moved cities, helped form the board of directors for Akron Women in Tech, and started her career as a software developer -- in that order. She likes road trips, climbing mountains, long walks in the woods, and helping people see their potential.

11:50 AM  - 12:30 PM

Luke Westby

Friendly Functional Programming For The Web

Elm is a pleasant compile-to-JS language that combines the global reach of JavaScript in a browser with the sensibility and guarantees of a statically typed, functional language. In Elm, every value i...

×

11:50 AM  - 12:30 PM, Domain Stage

Friendly Functional Programming For The Web

Luke Westby

Elm is a pleasant compile-to-JS language that combines the global reach of JavaScript in a browser with the sensibility and guarantees of a statically typed, functional language. In Elm, every value is immutable, every function is stateless and concise, every DOM update is virtual, and every app is guaranteed free from runtime exceptions. Additionally, it provides this power in a way that is accessible and easy for people who are new to functional programming or UI development to get started and quickly become productive. In this talk, Luke will demonstrate all of the beauties of Elm, its syntax, tools, community, and hopefully convince you that the Elm is exactly what front-end developers have been looking for. He will demonstrate some syntax and show some examples and cover all of the ways that Elm can make programming for the browser a nicer experience for anyone.

About the speaker:

I'm a cofounder and partner at HumbleSpark in Chicago, IL. I'm an active member of the Elm community, maintaining builtwithelm.co and several open source packages including elm-http-builder and elm-verbal-expressions. I love contributing to the Elm community by speaking about the language, answering questions in the Elm Slack, writing blog posts, and organizing the Chicago Elm Meetup. When I'm not thinking about code I like to play the guitar, speed-run Metroid Fusion, and watch far too much TV with my girlfriend.

12:40 PM  - 1:20 PM

Heidi Waterhouse

The Kids Are Going To Be 200 OK

Talking to adults about security culture is only a small part of the problem. We really need to be thinking about how raising and mentoring the next generation is our way to change culture. We are at ...

×

12:40 PM  - 1:20 PM, Domain Stage

The Kids Are Going To Be 200 OK

Heidi Waterhouse

Talking to adults about security culture is only a small part of the problem. We really need to be thinking about how raising and mentoring the next generation is our way to change culture. We are at a crossroads where we can either teach children that their only safety lies in compliance and censorship, or we can give them tools and mental models for how to stay (reasonably) safe in an unreasonable world. If we could get even a small percentage of children to spread ideas about psuedonymity and data protection to their peers, we would be changing the future of educational, corporate, and government responses. Infosec is like sex ed. If you wait until kids need it, you have waited too long. Schools don't, peers can't, we have to. As security professionals, we spend a lot of time educating adults on how to be safer, how to protect themselves, how to be security aware. But if we really want to change the culture, we have to start earlier. We have to teach kids what information they should never give out. We have to give them methods to evaluate the truth of what they are reading. And we have to prevent them from becoming the next generation of jerks. This talk is not about net nannies, monitoring your router traffic, or behaving like a security organization in your home. It's about genuinely teaching new humans how to behave in an environment we had to figure out the hard way. It'll be about - troll-proofing your kids (I/O) - privacy and autonomy - identity and sharding - optimism - information jubilee - and how kids are like automation scripts. Information security as a life practice is not something we're taught, it's something we have absorbed in our time in the industry. How can we distill all that life-experience into something that we can teach and pass on? This talk is for everyone with a n00b in their lives, or anyone who isn't sure how to keep themselves safe(ish).

About the speaker:

Heidi is a widely experienced technical writer with an interest in writing herself out of work. She specializes in creating entire documentation suites for new companies and products in less time than you would believe possible. She speaks on topics like search-led writing, starting new documentation for products, common mistakes in software development, and whistleblowing as a technical writer.

1:25 PM  - 2:05 PM

Allison McMillan

BDD: Baby Driven Development

When I became a parent, I was amazed at how similar raising a baby was to becoming a developer and the ways in which both experiences affect one another. I was also completely unprepared for the chall...

×

1:25 PM  - 2:05 PM, Domain Stage

BDD: Baby Driven Development

Allison McMillan

When I became a parent, I was amazed at how similar raising a baby was to becoming a developer and the ways in which both experiences affect one another. I was also completely unprepared for the challenges of being so new to both journeys. After reaching out to fellow parent-developers, I learned that there are common challenges and opportunities that aren’t regularly spoken about in our community. We’ll explore the similarities between these two journeys through common approaches we use when coding and raising a child, and how we as a community can be more responsive and understanding of the large percentage of developers who are current or future parents. Whether you’re a parent or not, come discover these interesting and sometimes hilarious parallels and opportunities.

About the speaker:

Allison McMillan is a software engineer. She started developing at a Rails Girls workshop and is now a chapter organizer. Allison was previously a startup founder, a community builder at the University of Michigan, and Managing Director at the Israel on Campus Coalition. She is also a new(ish) mom. Allison lives in the Washington, DC area.

2:10 PM  - 2:50 PM

Erika Carlson

Sunlight & Air: 10 Lessons for Growing Junior Developers

How do we become software developers with the knowledge and skill to do our work well? Training junior developers is an essential piece of building a successful team, but it's a complex and challengin...

×

2:10 PM  - 2:50 PM, Domain Stage

Sunlight & Air: 10 Lessons for Growing Junior Developers

Erika Carlson

How do we become software developers with the knowledge and skill to do our work well? Training junior developers is an essential piece of building a successful team, but it's a complex and challenging task. The lessons shared in this talk are drawn from experiences training, coaching, and mentoring over 40 junior developers in the past 2 years, and successes, failures, challenges, and rewards will be discussed. Attendees will learn strategies for identifying potential, assessing team fit, guiding technical growth, and coaching new developers in soft skills and interpersonal development.

About the speaker:

Erika Carlson was studying psychology in 2011 when she wrote her first line of Python code. She fell in love with programming, decided to change paths, and became a software developer. Since then she has built Java enterprise software, created websites for non-profits, and worked on iOS applications with millions of users. She is currently the Director of Apprenticeship at Detroit Labs. Erika founded the Detroit chapter of Girl Develop It, and teaches programming and web development to students of all ages. She is passionate about the potential of technology to make a difference in people's lives and create positive change in the world.

3:20 PM  - 4:00 PM

Kirsten Hunter

Irresistible APIs

When creating a new REST platform, the planning process frequently gets skipped (or is misunderstood) resulting in an ill-conceived API. I’ll walk you through the steps needed to create an API that de...

×

3:20 PM  - 4:00 PM, Domain Stage

Irresistible APIs

Kirsten Hunter

When creating a new REST platform, the planning process frequently gets skipped (or is misunderstood) resulting in an ill-conceived API. I’ll walk you through the steps needed to create an API that developers love, and point out the common traps to avoid. The presentation will cover creating user stories, deciding on metrics, planning the API, design decisions, documentation and developer support. I will focus on creating a developer experience that will delight and amaze your developer partners and increase engagement with your platform. This talk will focus on higher level choices rather than HTTP architecture, and is appropriate for developers, product managers, or anyone else with an interest in achieving success for their API program. The Open API Ecosystem is an amazing opportunity for companies to partner with developers, but you really only get one chance to impress, so come learn how to make your company’s API an “A List” destination.

About the speaker:

Kirsten Hunter is an unapologetic hacker and passionate advocate for the development community. Her technical interests range from graph databases to cloud services, and her experience supporting and evangelizing REST APIs has given her a unique perspective on developer success. In her copious free time she’s a gamer, fantasy reader, and all around rabble-rouser. Code samples, recipes, and philosophical musings can be found at http://www.princesspolymath.com.

4:15 PM  - 4:55 PM

Brad Fults

Interfaces: Building Worlds & Feeling Great

Come explore the worlds we create in our minds when trying to write good code, as part of a visual thinking tour of abstractions and interfaces. We write code for humans, which means it runs on brains...

×

4:15 PM  - 4:55 PM, Domain Stage

Interfaces: Building Worlds & Feeling Great

Brad Fults

Come explore the worlds we create in our minds when trying to write good code, as part of a visual thinking tour of abstractions and interfaces. We write code for humans, which means it runs on brains and has the power to affect those people. We should care about how the worlds we create make people feel, how we can either help or hinder their efforts to change those worlds, and how thinking carefully about interfaces—the edges and coupling points; the maps of our worlds—can give us ways to create better software. We can change how we think about code on a daily basis, so let’s try. We’ll look at and think about memory management, bit shifting, data structures, and OOP, functional, event-driven & procedural programming. We’ll look at web application frameworks, APIs and microservices. There will be some boxes, many arrows and more than a few pieces of real production code; and great documentation. Mostly we’ll be looking at and thinking about ways to be empathic, explicit and kind to other developers. Accompany me on a journey about trying to find a place for everything, and ensuring that everything is in its place. If you write code, I hope to change the way you think about your craft before your fingers fall onto the keyboard, and if you work or live with someone who codes, I hope to give you a system of thinking that will inspire deeper empathy and an enduring curiosity.

About the speaker:

Brad started creating software professionally when “Y2K” was still in the future. He has been a part of several small teams, working with code, products, design and most of all people to deliver great software. He cares deeply about quality, diversity, choice, and helping to create spaces for caring people to build great things.

5:10 PM  - 5:50 PM

Safia Abdalla

Flunking the Turing Test

In popular culture, the Turing Test is often depicted as the absolute test for determining machine intelligence. However, there are numerous alternatives that capture the nuances of intelligence more ...

×

5:10 PM  - 5:50 PM, Domain Stage

Flunking the Turing Test

Safia Abdalla

In popular culture, the Turing Test is often depicted as the absolute test for determining machine intelligence. However, there are numerous alternatives that capture the nuances of intelligence more effectively, such as the Winograd Schema Challenge. In this talk, we'll begin by discussing the Turing Test and its shortcomings, including the extremely undefined nature of the test and its simple focus on langauge as a measure of intelligence. After discussing these shortcomings, we'll discuss how they can be remedied in the form of other tests including the Winograd Schema Challenge, the Lovelace Test, and the Visual Turing Test. This talk will be an introspective journey into human perceptions of intelligence, how these perceptions are applied to the machines that we interact with, and why it's perfectly OK for you to yell in the theatre next time the Turing Test is mentioned in a film.

About the speaker:

I'm an energetic software engineer with an interest in data science for social good, intelligent interfaces, and great coffee. I'm the founder of [dsfa](http://dsfa.io), a startup aimed at providing data science services to small businesses and community non-profits. I'm also the organizer of [PyData Chicago](http://chicago.pydata.org), where I bring an awesome community of developers and data scientists to build amazing open source software. In my free time, I enjoy working out, contributing to open-source software, and teaching people how to be awesome with code.

Element Stage

10:10 AM  - 10:50 AM

Tiago Garcia

Lazy-loading ES2015 modules in the browser

ES2015 is already production-ready through transpilers such as Babel. Now you no longer need to fight the AMD vs CommonJS war, since you can simply write ES2015 modules, have them transpiled to ES5 an...

×

10:10 AM  - 10:50 AM, Element Stage

Lazy-loading ES2015 modules in the browser

Tiago Garcia

ES2015 is already production-ready through transpilers such as Babel. Now you no longer need to fight the AMD vs CommonJS war, since you can simply write ES2015 modules, have them transpiled to ES5 and delivered to the browser, which can either happen synchronously (just like CommonJS modules) or asynchronously (just like AMD modules). This talk explains about page performance concerns on the moment you load your code, then it demonstrates how to load ES2015 modules both synchronously (during page load) and asynchronously (lazy-load) using System.js over Babel, as well as how to use JSPM to organize this process and directly resolve dependencies from NPM and GitHub. What will the audience learn: - The fundamentals on when to load your modules (page load time vs lazy loading) for a most optimized page performance - The 3 main module systems in JavaScript: AMD, CommonJS and ES2015 modules - The ES2015 Module Loader spec and System.js - Importing modules synchronously and asynchronously - JSPM as a dependency management system - Optimization strategies

About the speaker:

Tiago Garcia is a Technical Manager at Avenue Code and Technical Leader at Macys.com, heavily interested in cutting-edge front-end technologies. He is a conference speaker, article writer and organizes the Backbone.js Hackers meetup in San Francisco.

11:00 AM  - 11:40 AM

Mark Sherman

Risks in the Software Supply Chain

Today's software is largely assembled rather than written, and most of the assembly comes from open source components. The creation of components and their inclusion into applications creates a "suppl...

×

11:00 AM  - 11:40 AM, Element Stage

Risks in the Software Supply Chain

Mark Sherman

Today's software is largely assembled rather than written, and most of the assembly comes from open source components. The creation of components and their inclusion into applications creates a "supply chain" just like in conventional manufacturing. While physical supply chains have well established chains-of-custody to establish properties like refrigeration maintenance, authenticity or spoilage avoidance, the software supply chain is very much a wild, wild west, filled with vulnerabilities that can be (and are) inadvertently inserted into applications. This presentation describes the parts of the software supply chain, how vulnerabilities have been introduced and the actions that developers can employ to avoid or mitigate the risks inherent in an assembly-based software development strategy.

About the speaker:

Dr. Mark Sherman is the Director for Cyber Security Foundations at the CMU CERT Division of the Software Engineering Institute, where he leads teams of researchers in developing methods for building secure software, from threat models and requirements, to architecture and design, coding, to testing and operational maintenance. His experience spans the academic, startups and F100.

11:50 AM  - 12:30 PM

Azy Groth

More than a formality: How to get the most out of stakeholder interviews

This talk is for anyone in a project leadership role or who finds themselves dealing directly with stakeholders. Expect to see stakeholder interviews from a new perspective--as a golden opportunity...

×

11:50 AM  - 12:30 PM, Element Stage

More than a formality: How to get the most out of stakeholder interviews

Azy Groth

This talk is for anyone in a project leadership role or who finds themselves dealing directly with stakeholders. Expect to see stakeholder interviews from a new perspective--as a golden opportunity rather than a chore. You’ll learn both principles and practical strategies. For example: 1. **Ask stakeholders about their hopes and fears.** Really. Ask them what gives them anxiety when they think about this project/release/prototype. “What keeps you up at night?” is a good way to phrase this question. Once people get the anxieties out of their heads they’ll feel better, and you’ll know where potential conflict lies. 2. **Talk with stakeholders individually.** Part of the value of these interviews is the signal you send a person by scheduling 30 minutes for the sole purpose of understanding their point of view. Group interviews are a tempting time-saver, but they aren’t worth it.

About the speaker:

Azy Groth is the Director of Communications at Planetary. She was previously a strategist at Undercurrent, helping large companies grapple with the changing norms of what constitutes healthy company culture. Before that she was the lead writer at the nonprofit Invisible Children where she worked on multimedia campaigns and communication strategy, including the viral KONY 2012 video and campaign. Feel free to ask her what that was like.

1:25 PM  - 2:05 PM

Colin Jones

Diving into the details with DTrace

"Argh, why is this so slow?!" We've all asked questions like this, but we don't always get satisfying answers. And so we slog along, finding workarounds and architecting around the slow bits. But wha...

×

1:25 PM  - 2:05 PM, Element Stage

Diving into the details with DTrace

Colin Jones

"Argh, why is this so slow?!" We've all asked questions like this, but we don't always get satisfying answers. And so we slog along, finding workarounds and architecting around the slow bits. But what if we had a friend who could help us find the answers? Someone who could see things we can't. Someone who could tell us whether our guesses were right, and what we might want to check out next. DTrace *is* that friend, and it's here to help! In this talk, I'll show you how DTrace can instrument your operating system to answer incredibly specific questions to test our hypotheses about systems performance, and help us to generate new questions and hypotheses. And along the way, it'll become clear that it's not as scary of a tool as it might first appear!

About the speaker:

Colin Jones is CTO at 8th Light, where he works with teams to craft reliable, maintainable software. He's into Clojure, security, distributed systems, and performance.

2:10 PM  - 2:50 PM

Heather Migliorisi

Accessible SVGs

The Scalable Vector Graphic (SVG) is emerging as the preferred graphic format to use on the web today. Are you ditching icon fonts & old image formats for the well-supported SVG? Let’s see how the shi...

×

2:10 PM  - 2:50 PM, Element Stage

Accessible SVGs

Heather Migliorisi

The Scalable Vector Graphic (SVG) is emerging as the preferred graphic format to use on the web today. Are you ditching icon fonts & old image formats for the well-supported SVG? Let’s see how the shift toward using SVG images will impact users of assistive technology (AT) & what you need to do to ensure a great experience for everyone! Attend this talk to learn how to implement accessibility in any type of SVG. The SVG examples that will be covered are: * Basic Images * Icons (icon font replacement) * Complex Images (graphs & charts) * Interactive Images * Animations

About the speaker:

As a Software Engineer, Heather is responsible for implementing innovative ideas such as a custom pattern library, code-based style guide, responsive image techniques and accessibility solutions. In her free time, Heather contributes to the Make WordPress Accessible project, [Accessible SVG Community Group](https://www.w3.org/community/svga11y/) and [The A11y Project](http://a11yproject.com/).

3:20 PM  - 4:00 PM

Karen Tang

Designing the Details: How Micro-Interactions Can Elevate Your UX

Design and tech are happily co-evolving, as we are seeing more and more companies understanding the important of UX in their products. But how can you elevate a good UX to a great UX? It's all in the ...

×

3:20 PM  - 4:00 PM, Element Stage

Designing the Details: How Micro-Interactions Can Elevate Your UX

Karen Tang

Design and tech are happily co-evolving, as we are seeing more and more companies understanding the important of UX in their products. But how can you elevate a good UX to a great UX? It's all in the details - specifically, it's all about the *micro-interactions*: the moments of interactions that happen nearly invisibly, and often across miniuscle moments, but can make the user experience so much more enjoyable. In this talk, you'll learn through a plethora of examples how much a little bit of attention to micro-interactions can elevate a good UI. Often times, micro-interactions do not serve functional purposes, but are meant to deepen the user engagement with your app by delighting the user through small moments of triggers and feedback. Examples of micro-interactions focus around motion, color, copy, and simplicity. You'll learn how to dissect these types of interactions, so that you too can start adding micro-interactions in your own app. Walk away inspired by the examples and ready to delight your users!

About the speaker:

Karen Tang is passionate about building great user experiences. She works at the intersection of design, research, and software development. She is currently a senior developer who focuses on front-end development. She's also the co-founder of a startup called Tagalong Tour, where she wears multiple hats including that of a UX designer and software developer. Karen holds a PhD in Human-Computer Interaction from Carnegie Mellon University's School of Computer Science. Her experience in both academia and industry has given her both breadth and depth in the UX world. Outside of work, Karen helps out with the Pittsburgh chapter of Girl Develop It and is a frequent attendee/volunteer of local startup weekend hackathons.

4:15 PM  - 4:55 PM

Michelle Noorali; Adam Reese

Back Up Your Life

One of the most tedious things to do when you’re getting started with a new project or a new language, is getting your environment set up. What is even worse is the feeling of losing all of your hard-...

×

4:15 PM  - 4:55 PM, Element Stage

Back Up Your Life

Michelle Noorali; Adam Reese

One of the most tedious things to do when you’re getting started with a new project or a new language, is getting your environment set up. What is even worse is the feeling of losing all of your hard-earned configuration settings in an instant. Many of us have been burned by this one too many times, so come learn how to set up, track and use dotfiles. You’ll never have to start from scratch again, and it's great for highly collaborative team too!

About the speaker:

Software Engineer at Deis, the leading Docker PaaS. Currently working on Helm, a Kubernetes package manager. Highly passionate about developer productivity and workflows.

5:10 PM  - 5:50 PM

John Downey

Cryptography Pitfalls

As developers we often do a poor job of implementing cryptography and other security measures in our systems. Often the primitives used are out of date and overlook very subtle flaws. These mistakes l...

×

5:10 PM  - 5:50 PM, Element Stage

Cryptography Pitfalls

John Downey

As developers we often do a poor job of implementing cryptography and other security measures in our systems. Often the primitives used are out of date and overlook very subtle flaws. These mistakes lead to systems that are hopelessly insecure despite our perception that we’ve build an impenetrable fortress. Fortunately there are a few tools and techniques at our disposal that can ease some of the pain. In this talk we’ll explore some of the most common pitfalls developers encounter with cryptography and restore some of our sanity. * Specific topics: * Misusing cryptographic primitives * Poor random number generation * Secure password storage * Other subtle flaws that can leave you insecure * Why you should use TLS/SSL and GPG instead * Learn what a group of researches has called "The Most Dangerous Code in the World"

About the speaker:

John Downey is the Security Lead at Braintree (which is owned by PayPal). Braintree helps businesses accept credit card payments online with great development tools and first class support. There he has worked on their highly available infrastructure and integrations into the banking system. In his free time he contributes to open source projects and mentors high school students in the FIRST Robotics Competition.

Framework Stage

10:10 AM  - 10:50 AM

Riccardo Terrell

Actor Clustering with Docker Containers and Akka.Net in F#

In this session, you will learn to build and deploy distributed systems combining the power of Akka.Net, the flexibility of F# Remoting, and the simplicity of Docker containers. The combination of th...

×

10:10 AM  - 10:50 AM, Framework Stage

Actor Clustering with Docker Containers and Akka.Net in F#

Riccardo Terrell

In this session, you will learn to build and deploy distributed systems combining the power of Akka.Net, the flexibility of F# Remoting, and the simplicity of Docker containers. The combination of these technologies enhances the effects of F# “code-quotation”, which allows the deployment of arbitrary Actors into remote Actor-Systems. You will learn the basic concepts behind Microservices implemented using the Actor Pattern and Actor Clustering, and how to leverage Docker containers for easy deployment. Docker is the new shining star in the dev-ops world. It allows you to easily deploy images to any OS running Docker, while providing an isolated environment for the applications running inside the container image. Akka.Net is a framework to build concurrent, resilient, distributed and scalable software systems. The cluster feature lets you distribute your Actors across multiple machines to achieve load balancing, fail-over and the ability to scale up and out. F# is a strongly typed, multi-paradigm programming language that encompasses functional, imperative, and object-oriented programming techniques. During this session we will build and deploy an Actor Cluster to distribute an image recognition system using multiple Machine Learning concepts.

About the speaker:

Riccardo Terrell is a well-seasoned software engineer and Microsoft MVP who is passionate about functional programming. He is active in the F# community and started the DC F# user’s group. He is currently working at Statmuse on NPL in F#, and is authoring a book on developing highly-scalable systems applying the functional paradigm in F# & C#. Riccardo believes in polyglot programming as a mechanism for finding the right tool for the job, and likes to describe himself as a functional guy living in an imperative world.

11:00 AM  - 11:40 AM

Barak Chamo

The Sound of JavaScript - Music and Synthesis in the Browser

WebAudio is a powerful high-level API for playing, processing and generating audio, making it possible to make sounds and music right in the browser, in plain JS and with no plugins. When used with W...

×

11:00 AM  - 11:40 AM, Framework Stage

The Sound of JavaScript - Music and Synthesis in the Browser

Barak Chamo

WebAudio is a powerful high-level API for playing, processing and generating audio, making it possible to make sounds and music right in the browser, in plain JS and with no plugins. When used with WebMIDI and Canvas, it is possible to create dynamic interactive experiences, visualizing sound and controlling it from any MIDI capable instrument or controller. ### Basics of Digital Sound Synthesis WebAudio provides an interface similar to "traditional" audio processing and synthesis so we'll cover the basics of sounds from wave frequencies and amplitudes, to oscillators, audio effects and signal routing. The WebAudio building blocks are highly modular and once you understand the flow of audio signals you can make almost anything come out of the speakers. ### Play, Process, Synthesize Stream audio from SoundCloud, add effects, equalize and manipulate the stream, synthesize sound and create music from scratch. It's all possible with different components of the WebAudio API. Making them all work together, you can build intricate devices that don't fall short of other "real" synthesizers and audio players. ### Control and Visualize Finally, by hooking up audio to the MIDI API we can control parameters and playback from a MIDI controller and visualize the sonic creation in a canvas-driven audio visualizer.

About the speaker:

Hi, I'm Barak I'm a London-based software developer, creative coder, entrepreneur, musician and a bunch of other things :) Formerly an engineer for Staance, Ometria, CoolaData and others, I've worked with startups around the world focusing on developing meaningful user experiences, insightful data visualizations and innovative products. I'm mostly self taught and such, I constantly seek to learn and experience new things. As a creative maker I enjoy messing around in the space between art and technology. I recently returned from the Recurse Center in NY where I explored Audiovisual software, IoT, game development and other creative coding pursuits. I'm excited by new technology, love exploring it and talking about it :)

11:50 AM  - 12:30 PM

Mohinder Dick

Machine Learning (ML) in Healthcare - For the Rest of Us

People will walk from my talk with a better picture of what machine learning is and how, even "basic" knowledge of it can be used to in healthcare. Machine learning can evoke images of self-aware auto...

×

11:50 AM  - 12:30 PM, Framework Stage

Machine Learning (ML) in Healthcare - For the Rest of Us

Mohinder Dick

People will walk from my talk with a better picture of what machine learning is and how, even "basic" knowledge of it can be used to in healthcare. Machine learning can evoke images of self-aware automatons and self-guided spaceships. In my talk, I will provide a soft landing for those new to machine learning, show how you can get started in the field and how basic concepts of ML are already being used to impact healthcare. I will do so by: 1. Explaining ML (in 5 slides) 2. Showing how you can get started with OSS, like Spark, Python and R 3. Talk about a couple projects in healthcare that make use of these basic tools.

About the speaker:

I am a software architect with over twelve years experience in project leadership and managing software technology and processes. I specialize in integration technologies including cloud services in Amazon Web Services and Windows Azure. Over the past two years I have implemented several machine learning solutions for non-production systems including clinical research. I am familiar with the Hadoop stack and proficient in the use of the R statistical package and Apache Spark.

1:25 PM  - 2:05 PM

Justin Schneck

Functional embedded systems with Elixir and Nerves

Nerves defines an entirely new way to build embedded systems using Elixir. It is specifically designed for embedded systems, not desktop or server systems. Rather than depending on the traditional ple...

×

1:25 PM  - 2:05 PM, Framework Stage

Functional embedded systems with Elixir and Nerves

Justin Schneck

Nerves defines an entirely new way to build embedded systems using Elixir. It is specifically designed for embedded systems, not desktop or server systems. Rather than depending on the traditional plethora of Linux init scripts or systemd configuration files, the Nerves philosophy is that you already have a powerful, concurrent language to define what the system should do at startup time: Elixir. Nerves boots directly to the BEAM VM, giving your Elixir app control of the entire system, just a few seconds after boot. This talk demonstrates several principals of programming embedded devices like Raspberry Pi using Elixir and how Nerves can revolutionize the industry by leveraging the battle tested Erlang VM. Creating devices and systems which enhance our environment is fundamental to our nature. The exploration into creating hardware that runs Elixir is geared toward the maker in all of us. Join us for an exciting demonstration into the creation of enhanced embedded systems with Elixir and Nerves.

About the speaker:

Justin started his career as a recording engineer spanning several years in the early 2000’s. He transitioned to programming C++ apps in the public sector of local government in 2005 and eventually came to master iOS development while working for an interactive marketing company. During this time, he gained a passion for embedded systems, sparked from his love of riding motorcycles. Over the years, Justin has worked on a plethora of embedded projects from iPhone motorcycle starters to advanced brewing and distilling equipment. Recently, Justin founded Metasphere, an embedded software company primarily focused on building Bakeware and Nerves.

2:10 PM  - 2:50 PM

Walé Ogundipé

From Evergreen to Evergreat: Leveling up Seattle's Parks with Microcontrollers!

Seattle's Parks and Recreation Department tasked my team with coming up with a way to get users' feedback on their experiences in the parks and recreation facilities in a scalable and we produced a so...

×

2:10 PM  - 2:50 PM, Framework Stage

From Evergreen to Evergreat: Leveling up Seattle's Parks with Microcontrollers!

Walé Ogundipé

Seattle's Parks and Recreation Department tasked my team with coming up with a way to get users' feedback on their experiences in the parks and recreation facilities in a scalable and we produced a solution using technology that's orders of magnitude cheaper than similar solutions that they have in place. All of this happened by virtue of a rockin' team, a streamlined design process, and a great microcontroller device. Sit in on this session to hear about our design, prototyping, and polyglot development processes, to see our latest iteration with its new hardware and software stack choices, and ALL OF THE LIGHTS. FLASHING LIGHTS. And yup, you guessed it: there will "Parks and Rec" gifs.

About the speaker:

Wale is a software developer based in the Pacific Northwest. He likes making things with code, hope, and dreams. He likes to think about tech culture and how it can become even better! He lovingly co-organizes the Seattle JS Hackers meetup.

3:20 PM  - 4:00 PM

Barrett Clark

Making Data Dance

Rails and the ActiveRecord gem are really handy tools to get work done, and do it quickly. They aren't a silver bullet, though. Sometimes the database is the best place to run a complicated query. Esp...

×

3:20 PM  - 4:00 PM, Framework Stage

Making Data Dance

Barrett Clark

Rails and the ActiveRecord gem are really handy tools to get work done, and do it quickly. They aren't a silver bullet, though. Sometimes the database is the best place to run a complicated query. Especially when you have big transactional or time-series data. Postgres has some powerful functionality that can help transform data from a giant pile of stuff into something actionable and useful. I will show how to take advantage of the JSON datatype, Common Table Expression, and materialized views to build impressive data visualizations.

About the speaker:

I am a Rubyist turned polyglot. I currently work at Sabre Labs, where we experiment with the intersection of emerging and current technologies. I don't always write code in Ruby, but when I do I prefer to write backend servers and services.

4:15 PM  - 4:55 PM

David Blank-Edelman

The Art of The Laptop Cluster

When Docker burst on the scene in 2013, one promise that excited both developers and operations people alike was the idea that a dev would create a container on her laptop that could then be shipped r...

×

4:15 PM  - 4:55 PM, Framework Stage

The Art of The Laptop Cluster

David Blank-Edelman

When Docker burst on the scene in 2013, one promise that excited both developers and operations people alike was the idea that a dev would create a container on her laptop that could then be shipped right up to production. Three years later, most people have realized that it may not be that simple. In a world where we are building microservices and distributed systems, how can you ensure that the laptop you are typing at now is a step towards production-ready software and not a distraction from it? Let’s get deep down and dirty into the art of constructing useful clusters on our primary development/operations control machines and the challenges we face in the process.

About the speaker:

David is the Technical Evangelist at Apcera. He has spent close to thirty years in the systems administration/DevOps/SRE field in large multiplatform environments including Brandeis University, Cambridge Technology Group, MIT Media Laboratory and Northeastern University. He is the author of the O’Reilly Otter book (Automating System Administration with Perl) and is a frequent invited speaker at conferences in the field. David is honored to serve on the USENIX Board of Directors. He prefers to pronounce Evangelist with a hard ‘g’.

5:10 PM  - 5:50 PM

André Henry

Threads, Processes and the Death of Moore's Law

Gone are the days when a single thread or process will max out out CPU capacity. Moore's Law is at its end and CPUs will only get more powerful with the addition of more cores. To take full advantage...

×

5:10 PM  - 5:50 PM, Framework Stage

Threads, Processes and the Death of Moore's Law

André Henry

Gone are the days when a single thread or process will max out out CPU capacity. Moore's Law is at its end and CPUs will only get more powerful with the addition of more cores. To take full advantage of these new processors computer programmers must understand multithreaded programming and the different models presented to us by our languages, frameworks and processors. We must understand processes, threads, cores, hyper-threads, native threads and green threads. The differences can be subtle and confusing but they are not difficult to understand. Understanding this technology is key to our high performance future. This talk will walk through the various threading models provided by common runtimes, we will also discuss the hardware that makes this possible. Leave with an understanding of cores and hyper threads, and learn differences between processes, threads and the various types of threads presented to us by the runtimes we use and how to take advantage of them.

About the speaker:

André has over 15 years experience in the Technology Industry. He has spent time as a Software Engineer, Network Engineer and a Systems Engineer. He lives at the intersection of robots, electronics and computer programming. He currently works for Think Through Learning as a Systems Engineer.

Friday

Abstractions Stage

9:00 AM  - 10:00 AM

Allison Randal

Free Software, Free Society

And if it comes back to being all alone at the starting gate, so be it. We hadn't wanted this fuss, these extras. We were calm under an appearance of turmoil, and so we remain even today, an unwanted ...

×

9:00 AM  - 10:00 AM, Abstractions Stage

Free Software, Free Society

Allison Randal

And if it comes back to being all alone at the starting gate, so be it. We hadn't wanted this fuss, these extras. We were calm under an appearance of turmoil, and so we remain even today, an unwanted inspiration to those who come immediately after as well as those who came before, lots of them, stretching back into times of discussion. I told you so, we can handle it, hand on the stick shift headed into the billboard labeled Tomorrow, the adventures of new music, melismas shrouding the past and the passing days. -- John Ashbery, “Episode” from Planisphere

Open Source Initiative president, OpenStack Foundation board, Hewlett Packard open source development manager, and former Tech Architect of Ubuntu and Python board of directors member.

6:15 PM  - 7:15 PM

Jeffrey Zeldman

Has the Fun Gone out of Web Design?

Lately, among web and interaction designers, our designerly griping has taken on a grim flavor. Digital design is not what it used to be, we say. The fun has gone out of it. An endless deluge of frame...

×

6:15 PM  - 7:15 PM, Abstractions Stage

Has the Fun Gone out of Web Design?

Jeffrey Zeldman

Lately, among web and interaction designers, our designerly griping has taken on a grim flavor. Digital design is not what it used to be, we say. The fun has gone out of it. An endless deluge of frameworks and technologies has leached the creativity out of what we make and do, replacing the joy of craft with a hellish treadmill of overly complicated tools to master. Many of us feel this way, but is it true? And are the challenges facing web designers today really so radically different from those we overcame in the past? Longtime web and interaction designer Jeffrey Zeldman (A List Apart, Designing With Web Standards) compares design then and now, and shows how our oldest and most basic design tools can still stand us in good stead for the challenges of our multi-device, rapidly evolving medium.

Founder of A List Apart, Happy Cog Design.

Distractions

10:30 AM  - 10:50 AM

Ryan Boland

Building and Programming a Quadcopter Flight Controller from Scratch

As drones became more popular, I knew that I wanted to try building one. What really got me interested, however, was learning how flight controller software works. So, in addition to building the qu...

×

10:30 AM  - 10:50 AM, Distractions

Building and Programming a Quadcopter Flight Controller from Scratch

Ryan Boland

As drones became more popular, I knew that I wanted to try building one. What really got me interested, however, was learning how flight controller software works. So, in addition to building the quadcopter itself, I decided to see if I could build and program a flight controller from scratch. In this presentation, I'll be covering the following topics (including live demos!): - some theory behind quadcopter flight - the hardware components that the quadcopter uses to fly (motors, electronic speed controllers, remote control, intertial measurement unit, etc.) - the responsibilities of the flight controller, and how the code works - the iterations of the quadcopters and flight controllers that I built, and what I learned from each one - how to be safe when working on a project like this Whether you're interested in embedded programming, or would just like to learn how quadcopters fly, come watch my journey of learning how to build and program a quadcopter from scratch.

About the speaker:

Ryan Boland is a passionate software developer from Pittsburgh, Pennsylvania. He is working as a Rails developer at a consultancy where he helps entrepreneurs realize their ideas through code. When he isn't working, you can find him hacking on his embedded programming projects, watching The Wire, or going for a bike ride. You can check out his blog at https://ryanboland.com.

10:55 AM  - 11:00 AM

Will Dages

Building an internet-connected Christmas Tree

What do you get when you hook up a phone number to a web service to a microcontroller to a strand of LED lights? A Christmas Tree that you can text a color to and watch it immediately light up. A few ...

×

10:55 AM  - 11:00 AM, Distractions

Building an internet-connected Christmas Tree

Will Dages

What do you get when you hook up a phone number to a web service to a microcontroller to a strand of LED lights? A Christmas Tree that you can text a color to and watch it immediately light up. A few years ago I threw together a prototype of this idea over a weekend, and had fun watching reactions when I brought it into the office. The following year I refactored and improved it, adding voice commands, a Slack integration, and a few other easter eggs… using it as a playground to try new things and experiment. Come see the little trees in action, and learn about all the technologies and services that makes the magic work, including Twilio, Keen, AWS Lambda, AWS API Gateway, Slack’s API, the Web Speech API in Chrome, a Particle Photon, and LEDs from Adafruit. Dig in and you’ll have enough time to build your own for the holidays! For more advanced attendees, API endpoints for the tree will also be provided, so you can swing by and hack together your own custom integration idea on the spot.

About the speaker:

Will is a self-taught developer with a love for both learning and teaching. He followed his passions from filmmaking into the development world by way of iOS development and web development, and currently leads a team of developers at Findaway. He’s a voracious reader, podcast-listener, and meetup-goer, never passing up an opportunity to learn something new. His wife would tell you that he buys too many gadgets and domain names, and that he loves to tinker with silly projects that make people smile. Will loves to write tutorials, record screencasts, and present whenever he can because the only thing more rewarding than learning something new is sharing what you’ve learned.

11:00 AM  - 11:05 AM

jackie kircher

Video Game Hacking: Memory Introspection For Fun

In this live demo, I will help you learn about pointers, assembly, and Lua scripting to find new ways to enjoy your favorite games. I intend to do so by showing you how variables in memory are laid ou...

×

11:00 AM  - 11:05 AM, Distractions

Video Game Hacking: Memory Introspection For Fun

jackie kircher

In this live demo, I will help you learn about pointers, assembly, and Lua scripting to find new ways to enjoy your favorite games. I intend to do so by showing you how variables in memory are laid out in one of my favorite games, Spelunky. Spelunky is a procedurally-generated platformer game which, behind the scenes, tracks the player’s progress as they play through the game. Using a memory scanner and re-assembler tool called Cheat Engine, we can both view these values and modify these values to make the game easier, make it more difficult, or add new ways to play. I invite you to come play my modded version of Spelunky and peek under the hood at the values it’s using in memory to construct the world you’re playing in. Once you have a feel for that you can even change those memory values while you’re playing to try out all new styles of play. I originally became interested in this for the purpose of broadcasting my gameplay, with the intention of automatically generating a display for viewers to see statistics that weren’t normally kept by the game. While I could have just tracked this value by hand, I wanted to see if I could harvest information from the game itself and present it directly to anyone watching. After writing some scripts to track and display those numbers, I found a slew of other values that directly affected the state of the game. I’ll be sharing the techniques that I used to explore the game’s memory. My goal is to give you a fundamental knowledge of memory introspection tools which you can use to dig into and augment your favorite game or program. I hope you are inspired to go explore, modify, and break!

About the speaker:

11:05 AM  - 11:10 AM

Steve Sloka

Micro-datacenter chaos monkeys!

Kubernetes is a powerful, open source, container orchestration / cluster management tool created by Google. It draws upon all the lessons learned from a near-decade of using containers at Google. The...

×

11:05 AM  - 11:10 AM, Distractions

Micro-datacenter chaos monkeys!

Steve Sloka

Kubernetes is a powerful, open source, container orchestration / cluster management tool created by Google. It draws upon all the lessons learned from a near-decade of using containers at Google. There are a number of tools available to spin up containerized environments with Docker on a single host and tear down just as fast. The difficulty is when trying to deploy across two or more servers. Kubernetes is solves just that problem by allowing you to manage a cluster of Linux containers as a single system. See how to create your own Raspberry Pi cluster to deploy at scale all while demonstrating real chaos monkey failure handling by pulling plugs from random nodes! We’ll also demonstrate different tools to visualize what’s happening in the system through various web interfaces as well as using Minecraft!

About the speaker:

11:10 AM  - 12:00 PM

Sloka, Kircher, Dages, Boland

Distractions Demos

The presenters from the Distractions segment will set up demo stations to display their work and answer questions ...

×

11:10 AM  - 12:00 PM, Distractions

Distractions Demos

Sloka, Kircher, Dages, Boland

The presenters from the Distractions segment will set up demo stations to display their work and answer questions

About the speaker:

11:00 AM  - 6:00 PM

You & Friends!

Board Games with LFG

Bring some board or tabletop games you want to play, or enjoy some of the LFG provided ones! Bond over werewolf, speed race at set, or whatever you want to dive into! You can bring some new conference...

×

11:00 AM  - 6:00 PM, Distractions

Board Games with LFG

You & Friends!

Bring some board or tabletop games you want to play, or enjoy some of the LFG provided ones! Bond over werewolf, speed race at set, or whatever you want to dive into! You can bring some new conference friends with you or meet some there!

Looking for Group is a combined gaming center and coworking space. Come play games, start your own gaming stream, meet friends, run user groups, work during the day and more at LFG.

2:00 PM  - 4:00 PM

You!

Sticker Swap

Bring your sticker cache to Abstractions and swap with other attendees. Use the sticker swap session to exchange stories about what the stickers on your laptop lid mean and meet someone new. Build you...

×

2:00 PM  - 4:00 PM, Distractions

Sticker Swap

You!

Bring your sticker cache to Abstractions and swap with other attendees. Use the sticker swap session to exchange stories about what the stickers on your laptop lid mean and meet someone new. Build your collection of stickers with stickers from far away lands. Try to create a 1-inch thick layer of stickers on your laptop lid.

Abstractions attendees

7:30 PM  - 8:00 PM

Andrew Faraday

Just a Minute - Semifinals (Western Division)

"Just a Minute is a game show that's a part of the British national consciousness, delighting audiences across the country for almost half a century. In it, speakers are challenged to speak for one mi...

×

7:30 PM  - 8:00 PM, Distractions

Just a Minute - Semifinals (Western Division)

Andrew Faraday

"Just a Minute is a game show that's a part of the British national consciousness, delighting audiences across the country for almost half a century. In it, speakers are challenged to speak for one minute without hesitation, repetition or deviation, it's much harder than it sounds. It's fast paced, funny, insightful and you might even learn something. Panelists: Eileen Uchitelle; Aaron Patterson; Seth Vargo; Kirsten Hunter"

A Ruby developer, presenter, musician and kidney donor working in Surrey, England. Background includes a music degree, 5 years of radio presenting/production and panel game hosting. A long history of combining code and music to explore the artistic capabilities of programming. Professional experience includes a lot of integration with large legacy databases.

7:00 PM  - 9:00 PM

PJ Hagerty & You!

PJ Hagerty Karaoke Hour

It isn't a conference unless PJ Hagerty is around leading a group to a nearby Karoake bar. We're going to officially endorse it as a scheduled event! ...

×

7:00 PM  - 9:00 PM, Distractions

PJ Hagerty Karaoke Hour

PJ Hagerty & You!

It isn't a conference unless PJ Hagerty is around leading a group to a nearby Karoake bar. We're going to officially endorse it as a scheduled event!

Developer, writer, speaker, musician, and Technical Advocate at IBM Bluemix, PJ is known to travel the world speaking about programming and the way people think and interact. He is also known for wearing hats and singing karaoke.

Builder Stage

11:00 AM  - 11:45 AM

Sandi Metz

Get A Whiff Of This

Most code is a mess. Most new requirements change existing code. Ergo, much our work involves altering imperfect code. That's the bad news. The good news is that every big mess consists of many smal...

×

11:00 AM  - 11:45 AM, Builder Stage

Get A Whiff Of This

Sandi Metz

Most code is a mess. Most new requirements change existing code. Ergo, much our work involves altering imperfect code. That's the bad news. The good news is that every big mess consists of many small ones. Certain small problems occur so frequently that they've been given names, and are collectively known as "Code Smells". This talk shows how to take a pile of perplexing code, identify the "smells", and surgically apply the curative refactorings. It breaks a messy problem into clear-cut pieces, and proves that you can fix anything without being forced to understand everything.

Sandi Metz, author of Practical Object-Oriented Design in Ruby and 99 Bottles of OOP, believes in simple code and straightforward explanations. She prefers working software, practical solutions and lengthy bicycle trips (not necessarily in that order) and consults and teaches about object-oriented design.

12:40 PM  - 1:25 PM

Casey West

The Twelve-Factor Container

This talk will use the seminal twelve-factor app essay as a guide to discuss the _do’s_ and _dont’s_ of building and running containers. Each factor gives us an opportunity to consider avoidable anti-...

×

12:40 PM  - 1:25 PM, Builder Stage

The Twelve-Factor Container

Casey West

This talk will use the seminal twelve-factor app essay as a guide to discuss the _do’s_ and _dont’s_ of building and running containers. Each factor gives us an opportunity to consider avoidable anti-patterns if you’re using containers to deploy and manage repeatable, reliable, and portable services. Containers rose in popularity on an oft used metaphor: lightweight virtual machines. We have a robust understanding of the benefits of virtualized hardware as a method of efficient resource utilization. The idea of _even more efficient_ resource utilization makes sense. Unfortunately it’s a problematic metaphor. Containers represent a constrained set of capabilities compared to virtual machines in order to make fine-grained guarantees about resource constraints and process isolation. This is a good thing. There is overlap in ideal capabilities between VMs and containers but it isn’t complete. Newcomers to the container ecosystem begin with a “lightweight VM” understanding and fall victim to specific anti-patterns. After this talk you’ll understand common pitfalls in containerization and how you can avoid them. This discussion is useful for developers who wish to gain greater understanding of the environment their applications are deployed to, as well as operators interested in the benefits of containers for their architecture.

Principal Technologist for Cloud Foundry at Pivotal.

3:25 PM  - 4:10 PM

Kelsey Hightower

Kubernetes Abstractions: Building Next Generation Automation Tools

Kubernetes provides a new set of abstractions and patterns for building automation tools that are highly available and scale to 1000s of nodes. During this session attendees will learn how to move bey...

×

3:25 PM  - 4:10 PM, Builder Stage

Kubernetes Abstractions: Building Next Generation Automation Tools

Kelsey Hightower

Kubernetes provides a new set of abstractions and patterns for building automation tools that are highly available and scale to 1000s of nodes. During this session attendees will learn how to move beyond shell scripting and leverage cluster level APIs and distributed systems design patterns for building next generation automation tools. Through a collection of live demos and code walk throughs attendees will learn how to build automation tools such as controllers that automate the management of Let's Encrypt TLS certificates, and schedulers that allow you to place workloads based on your rules.

Staff Developer Advocate, Google Cloud Platform. Formerly CoreOS, NewRelic.

5:10 PM  - 5:55 PM

Raffi Krikorian

Scaling Engineering Culture

The engineering team's culture is one of the most important things - it sets the pace and the tone of how work gets done. If you don't give thought to how the culture is set up and evolves, then it wi...

×

5:10 PM  - 5:55 PM, Builder Stage

Scaling Engineering Culture

Raffi Krikorian

The engineering team's culture is one of the most important things - it sets the pace and the tone of how work gets done. If you don't give thought to how the culture is set up and evolves, then it will set itself up organically and probably with unexpected consequences. We have to co-evolve our software along with our engineering organization to get to the more resilient culture we have today.This talk focuses around the few things that you should do if you are setting this up from scratch, or trying to retrofit and fix a culture yourself.

Director of Uber Advanced Technologies Center, former VP Platform Engineering at Twitter.

Compiler Stage

10:10 AM  - 10:55 AM

Lara Schenck

The Five-figure WordPress Website

WordPress powers 25% of the web, yet in many developer circles it gets a bad rap. That's not entirely unfounded; too many plugins and themes are perfectly terrible, and the database structure is...wei...

×

10:10 AM  - 10:55 AM, Compiler Stage

The Five-figure WordPress Website

Lara Schenck

WordPress powers 25% of the web, yet in many developer circles it gets a bad rap. That's not entirely unfounded; too many plugins and themes are perfectly terrible, and the database structure is...weird. However, WordPress is indisputably the best choice for a certain type of client: the small business with a decent budget. This talk will review a theme-less, CMS first approach and toolset for building highly customized, performant, and content-centric WordPress websites. Finally, we'll talk about the business aspects. Pricing, contracts, and proper management of the client relationship are no small task, and are equally as important as the technical side.

Founder Tackle Box, web design consultant and trainer.

11:50 AM  - 12:35 PM

Aaron Patterson

Optimizations you shouldn't know about

There are some optimizations that you should know about, and some that you should. As a programmer, virtual machine optimizations remain largely hidden. However, we still need to be mindful that we w...

×

11:50 AM  - 12:35 PM, Compiler Stage

Optimizations you shouldn't know about

Aaron Patterson

There are some optimizations that you should know about, and some that you should. As a programmer, virtual machine optimizations remain largely hidden. However, we still need to be mindful that we write fast code. In this talk we'll be tackling both types of optimizations: VM optimizations that remain hidden from the programmer, as well as optimizations that we should do to our own code. We'll go from VM internals to caching tricks in Ruby, and at the same time learn how to decide which optimizations are worth while and which aren't.

Community leader behind Ruby programming language and Ruby on Rails framework.

1:30 PM  - 2:10 PM

Jono Bacon

Building a Community Exoskeleton

Community is at the core of all successful open source projects. The challenge is that building empowered, productive, and inclusive communities is complex work that lives in the connective tissue bet...

×

1:30 PM  - 2:10 PM, Compiler Stage

Building a Community Exoskeleton

Jono Bacon

Community is at the core of all successful open source projects. The challenge is that building empowered, productive, and inclusive communities is complex work that lives in the connective tissue between technology and people. In this new presentation from Jono Bacon, he will share some insight into how you can build an exoskeleton that wraps around community members to help them to do great work, form meaningful relationships, and help each other to be successful. The presentation will delve into success stories in open source and elsewhere, the underlying behavioral principles we can tap into, infrastructure and workflow decisions, and how we get people through the door and involved in our projects. Bacon will also cover the risks and potholes you will want to delicately swerve around. If you are running an existing project or company, or starting something new, be sure to get along to this presentation, all delivered in Bacon's trademark loose and amusing style.

Former director of Community of GitHub and Canonical; author, The Art of Community; founder, Community Leadership Summit.

2:20 PM  - 3:05 PM

Joshua Suereth

The Nature of Functional Programming: Code Reuse without Nouns

If you've ever wanted to take a simple Hello, World program and turn it into a fully featured photo blog for cat pictures, this talk is for you! This talk covers the basics of programming using funct...

×

2:20 PM  - 3:05 PM, Compiler Stage

The Nature of Functional Programming: Code Reuse without Nouns

Joshua Suereth

If you've ever wanted to take a simple Hello, World program and turn it into a fully featured photo blog for cat pictures, this talk is for you! This talk covers the basics of programming using functions instead of objects, starting form first principles: * How do we model the system? * What are common patterns we should know and use? * How can do we create re-usable libraries that can be shared throughout our code and company for others? * How do we evolve our system with new requirements?

Scalawags podcast host, author "Scala in Depth" Google Engineer.

3:25 PM  - 4:05 PM

Amanda Laucher; Jonathan Graham

Reviving a Community with Code

What makes a good software developer, and how do we bring new people with the talents that we need into our industry? In this presentation, Amanda Laucher and Jonathan Graham will share insights from...

×

3:25 PM  - 4:05 PM, Compiler Stage

Reviving a Community with Code

Amanda Laucher; Jonathan Graham

What makes a good software developer, and how do we bring new people with the talents that we need into our industry? In this presentation, Amanda Laucher and Jonathan Graham will share insights from the free programming training that they have been providing in a rural area of SouthWest Pennsylvania, where traditional industries are in decline. They will discuss the approaches they have taken to develop a diverse group of programmers from local residents with no previous coding experience, and the steps they are taking to seed a new tech industry in the area. With constant change within software development a certainty, functional programming concepts have been a core component of the fundamentals that they have taught. Amanda and Jonathan will discuss the skills they have been teaching, techniques that they have used, the people involved, and the many lessons they have learnt along the way. If you think it’s important to give something back to the community, see the value of inspiring people from diverse backgrounds to code, and are interested in the merits of teaching FP first rather than OO, then this talk will be of interest to you.

About the speaker:

Amanda Laucher has been working with technology her entire life. Some of her favorite childhood memories include working with punch cards alongside her grandmother and learning Morse code from her dad. Solving complex business problems with code is her passion. She is currently working as a consultant on big data, IoT, and FP projects. You are likely to find her discussing intricacies of languages and type systems, software development processes or American football. Dr. Jonathan Graham has a passion for code, music, art and science. He has developed drugs for GlaxoSmithKline; live-coded Clojure during music gigs around the world; and has contributed to massive art installations. Mostly, though, he develops quality software and trains others in the craft, using his varied background to find creative approaches to teaching and problem solving. Jonathan is a craftsperson at 8th Light, and is a co-founder of Mined Minds.

4:20 PM  - 5:05 PM

Seth Vargo

The Ecological Impact of Compute

As compute becomes cheaper and more readily available, the costs to our environment cannot go unnoticed. We are increasing energy use at exponential rates by over-provisioning requirements, under-ut...

×

4:20 PM  - 5:05 PM, Compiler Stage

The Ecological Impact of Compute

Seth Vargo

As compute becomes cheaper and more readily available, the costs to our environment cannot go unnoticed. We are increasing energy use at exponential rates by over-provisioning requirements, under-utliizing resources, and clicking buttons in UIs. As a business owner, you want to save costs, but what are the environmental impacts services like AWS and GCE are having on our planet? Tools like Nomad, Kubernetes, and Mesos allow organizations to maximize resource utilization, but can schedulers also be used to help save our planet?

Seth Vargo is the Director of Evangelism at HashiCorp. Previously, Seth worked at Chef (Opscode), CustomInk, and a few Pittsburgh-based startups. He the author of Learning Chef and is passionate about reducing inequality in technology. When he is not writing, working on open source, or speaking at conferences, Seth enjoys spending time with his friends and advising non-profits. He loves all things bacon.

Domain Stage

10:10 AM  - 10:50 AM

John Sawers

Your Emotional API: How to be a Better Developer by Being a Better Human

We’re all human, and so we all have feelings, but we tend not to be very good at understanding them. Very few of us know where they come from, or what to do when they arrive. Let’s model our feelings ...

×

10:10 AM  - 10:50 AM, Domain Stage

Your Emotional API: How to be a Better Developer by Being a Better Human

John Sawers

We’re all human, and so we all have feelings, but we tend not to be very good at understanding them. Very few of us know where they come from, or what to do when they arrive. Let’s model our feelings like an API and see if it tells us anything. Hint: it does. Imagine you have a public API endpoint which, when called, makes you feel angry. Imagine also that there are thousands of aliases that redirect there. People and situations call any one of those endpoints at any time. It’s up to us to decide what response to send. Why would we want to delve into the messy and uncomfortable world of feelings? Because doing so makes us better developers. Even small increases in emotional mastery can have huge impacts on our careers and productivity: - Difficult family situations - Problematic team mates - Impostor syndrome - Hiring, firing and job interviews The emotions and stresses associated with these situations and others actually destroy our ability to do our jobs. In addition to distracting us and making it harder to maintain our confidence, they actually effect cognition negatively. We literally cannot think as well. With a better grasp of your emotions, and tools to appropriately process them, we can think better, handle stress better and communicate our ideas better. And it’s not just in the context of work: if we know our own feelings, we can understand the feelings of others. By doing that, we make our relationships, our families and our communities better.

About the speaker:

I’m the co-founder and CTO of [Data Simply](http://datasimply.com]) and the Solutions Architect at [Privia Health](https://priviahealth.com) and (formerly) [TradeKing](http://www.tradeking.com). In addition, I spent several years supervising experiential emotional release workshops ([Purpose, Passion, Peace](https://www.facebook.com/p3purposepassionpeace)) based on the work of Alfred Adler. You could call it the ‘front-lines’ of emotional expression; I helped people get deeply in touch with their true selves and liberated from past traumas. Doing that work was transformational for me, and I want to bring the insights from those experiences to a wide audience.

11:50 AM  - 12:30 PM

Bradley Holt

From Mobile First to Offline First

It's all too easy assume that your web or mobile app will run on a fast and reliable network with great coverage. The reality for your app's users, though, is often a slow and unreliable network with ...

×

11:50 AM  - 12:30 PM, Domain Stage

From Mobile First to Offline First

Bradley Holt

It's all too easy assume that your web or mobile app will run on a fast and reliable network with great coverage. The reality for your app's users, though, is often a slow and unreliable network with spotty coverage. What happens when the network doesn't work, or when the device is in airplane mode? You get unhappy, frustrated users. An offline-first app is an app that works, without error, when there is no network connection. An offline-first app can provide a better, faster user experience — both offline and online — by storing content and data locally and then applying progressive enhancement to synchronize with the cloud when a reliable network connection is available. An offline-first approach can be taken with Progressive Web Apps, mobile apps (native and hybrid), desktop apps (e.g. Electron), and Internet of Things (IoT) apps.

About the speaker:

Bradley Holt is a Developer Advocate with [IBM Cloud Data Services](http://www.ibm.com/analytics/us/en/technology/cloud-data-services/open-for-data/). He is the author of several publications including [Scaling CouchDB](http://shop.oreilly.com/product/0636920018407.do) and [Writing and Querying MapReduce Views in CouchDB](http://shop.oreilly.com/product/0636920018247.do) (both published by O'Reilly Media). He has spoken at numerous conferences including CodeMash, Node.js Interactive, That Conference, NoSQL Now!, php[tek], ZendCon, OSCON, the jQuery Conference, and SXSW Interactive. Bradley writes and speaks about topics such as CouchDB, PouchDB, offline-first applications, PHP, Node.js, and Domain-Driven Design.

12:40 PM  - 1:20 PM

wilkie

Interactive Archival of Art and Science

Over the years, computation has substantially increased our creativity and opportunity. Computers constantly improve along with our ability to create and collaborate toward new art, science, and furth...

×

12:40 PM  - 1:20 PM, Domain Stage

Interactive Archival of Art and Science

wilkie

Over the years, computation has substantially increased our creativity and opportunity. Computers constantly improve along with our ability to create and collaborate toward new art, science, and furthering existing technology. However, there's also a danger in that software becomes difficult to run over time. This fragility leaves us with a tech field that is somehow simultaneously growing and yet narrowing: Word documents become difficult to open, video games on specialized hardware become difficult to play, a researcher's simulator of protein synthesis becomes difficult to find-- these represent a loss of perspective and culture, an inability to revisit the past, and a lack of scientific accountability. In response, librarians have created a collection of digital libraries that archive images, video, and even the most vibrant of GeoCities websites. In the end this is not enough. We have media that is interactive and real-time. We have tools that can create new content at any point. Scientists have a dire need for accountability in research as experiments become harder to replicate. How do we make archives and libraries that can handle the preservation of code while allowing us to -- 100 years from now -- build, run, and archive anything new we create with that code? Where are our museums of interactive art? To answer that, we will take a look at the libraries and archives of the hypothetical, ones that exist now, and those in development. Focusing on the motivations and technology behind them, we will look at what they could do better and how. You will leave with an appreciation for the concept of provenance and how librarians can teach us the importance of systems that can trace an object back to the code that generated it. Finally, a look at the state-of-the-art and how Pittsburgh is leading the effort with two such interactive archives in development centered around using various levels of virtualization to preserve interactive art, games, and scientific experimentation. Our discussion will culminate with a demonstration of these new interactive archive systems, how they work, and what the future looks like.

About the speaker:

wilkie is a digital archivist, distributed systems implementer, wannabe librarian, but not in any way a proper noun.

2:20 PM  - 3:00 PM

Adrian Roselli

Fringe Accessibility

If you are aware of accessibility practices, you may know some of the basics for supporting users (labels, contrast, alt text). I'll touch on some newer or more obscure techniques that can help prime ...

×

2:20 PM  - 3:00 PM, Domain Stage

Fringe Accessibility

Adrian Roselli

If you are aware of accessibility practices, you may know some of the basics for supporting users (labels, contrast, alt text). I'll touch on some newer or more obscure techniques that can help prime you to look at the new hotness features with a more critical eye. Instead of pushing stricly code techniques, I’ll review the logic behind these approaches (which you can refute, checking off that elusive audience participation selling point!). We'll discuss the search role, language attribute, <main> element, infinite scroll, page zoom, source order, and as much as I can squeeze in before I am chased from the room.

About the speaker:

Adrian is a member of the W3C HTML Working Group (or whatever it's called now) as well as the W3C Accessibility Task Force. He has written articles for trade journals and web sites (NET Magazine, Web Standards Sherpa, and others), and participated as an author and editor on five web-related books. In 1998 he founded and successfully ran a software development company until he decided to leave and go solo at the start of 2016. Some may recognize Adrian from his days helping to run evolt.org, one of the first communities for web developers. Adrian has been developing for the Web since 1993.

3:25 PM  - 4:05 PM

Chris Geihsler

Make The Big Change ... One Small Change at a Time

Software is crufty. Most applications have dark corners that are overly complex, hard to change, or generate lots of bugs. We want to make these areas better, but when the application is large, it can...

×

3:25 PM  - 4:05 PM, Domain Stage

Make The Big Change ... One Small Change at a Time

Chris Geihsler

Software is crufty. Most applications have dark corners that are overly complex, hard to change, or generate lots of bugs. We want to make these areas better, but when the application is large, it can be hard to break down a seemingly insurmountable problem into a series of small, incremental improvements that can be deployed safely. In this talk, Chris will recount how Think Through Math incrementally overhauled a critical component of its Rails app by making small, testable changes. You'll learn why the changes were necessary in the first place, how immutable data structures saved the day, why it's (sometimes) OK to delete tests, and the true cost of waiting too long to clean up the crufty areas of our systems. Come and listen to TTM's story and leave inspired to conquer your system's crufty bits!

About the speaker:

Chris has been writing code professionally for 13 years in the healthcare and education industries using Ruby, JavaScript, and C#. He currently works at Think Through Math where he builds a product that helps more than 3,000,000 kids get better at math. At home, he tries to fend off his four cats while he dabbles in Elixir and Elm. His cats usually win.

5:10 PM  - 5:50 PM

Andrew Dunkman

Beyond The Tab: Executing JavaScript Across Browser Contexts

Keeping JavaScript from interfering across tabs is great and all, but what about when a web application wants to share state without involving a server? This talk will cover both older as well as emer...

×

5:10 PM  - 5:50 PM, Domain Stage

Beyond The Tab: Executing JavaScript Across Browser Contexts

Andrew Dunkman

Keeping JavaScript from interfering across tabs is great and all, but what about when a web application wants to share state without involving a server? This talk will cover both older as well as emerging web standards to share JavaScript context — between tabs directly and through background threads that are natively supported by browsers (SharedWorker and ServiceWorker). You’ll leave with enough knowledge to get started and enough wisdom to know when to use these tools.

About the speaker:

Andrew, a front-end developer at Harvest, is in his eleventh year of being amazed that his JavaScript functions. He’s a former resident of Chicago and Kansas City, but now works from his home in Washington, DC. In his free time, he likes to help out with his local tech communities as an organizer of his local node.js meetup (formerly in Kansas City, currently in Washington, DC).

Element Stage

10:10 AM  - 10:50 AM

Jeff Nickoloff

Retiring Service Interfaces: A Retrospective on Two 10+ Year Old Services

"The greater your adoption success, the greater your retirement pain." The number of APIs has exploded and will continue growing as more teams adopt microservices. In my time at Amazon my team of ei...

×

10:10 AM  - 10:50 AM, Element Stage

Retiring Service Interfaces: A Retrospective on Two 10+ Year Old Services

Jeff Nickoloff

"The greater your adoption success, the greater your retirement pain." The number of APIs has exploded and will continue growing as more teams adopt microservices. In my time at Amazon my team of eight owned around 300 microservices, covering every possible life cycle phase. Two of our services were more than a decade old. These lingered despite several interface iterations launched to cover alternative use-cases, multiple ownership changes, and funded retirement initiatives. The reason was simple: hundreds of internal and external clients had a dependency on these services. A coordinated migration effort was nearly impossible to prioritize across the whole of Amazon and integrated third-party merchant software. To make matters worse, many of our clients were as old as the services themselves. Several were owned by teams that had long since forgotten about them. We were all victims of these successful services. As I took over as manager of the team I knew that failure to retire these services in the next year would be a critical blow to our system scalability in Q4. Failure was not an option. I was hellbent on hitting the power switch. Every service owner will eventually encounter this problem. Few want to talk about it. In this session I'll elaborate on the challenges facing service owners, my approach to solving them, the impact of our success, and the lessons learned. I'll share the highs and lows - smooth migrations, and the pain of scream test victims. It is my hope that an attendee will be able to learn from these experiences and succeed in their own retirement efforts.

About the speaker:

Jeff Nickoloff is an independent software engineering leader who builds service platforms, large-scale microservices, writes about technology, and revels in distributed systems challenges. Formerly with Amazon.com, Limelight Networks, and Arizona State University, Jeff currently runs All in Geek Consulting Services and consults for fortune 100 companies and startups alike. In March 2016 he published "Docker in Action," and released a sponsored research article, "Evaluating Container Platforms at Scale."

11:00 AM  - 11:40 AM

Garret Wassermann

What Every Developer Needs to Know About Coordinated Vulnerability Disclosure

Every software project has bugs; today's software systems, many of whom rely on extensive lists of free and open source software dependencies, are incredibly complicated. With so many interacting part...

×

11:00 AM  - 11:40 AM, Element Stage

What Every Developer Needs to Know About Coordinated Vulnerability Disclosure

Garret Wassermann

Every software project has bugs; today's software systems, many of whom rely on extensive lists of free and open source software dependencies, are incredibly complicated. With so many interacting parts, bugs will slip in despite good software design and automated testing. In this environment, the number of bugs a given piece of software contains is not as important as how prepared and responsive the developer is to handling those bugs, especially when security and privacy are on the line. This talk is about what happens when code reviews and automated testing fail to find a security bug, but the Internet discovers it in production environments. Using examples from real stories, I will discuss why all software projects -- free and open source, as well as proprietary -- should prepare for security vulnerability disclosure, the consequences of ignoring such bug reports, and how to establish and maintain relationships with the security researcher community. I will also talk about the challenges of notifying users and downstream projects through coordinated vulnerability disclosure, and provide recommendations and best practices for software development teams and vendors to handle reports of security bugs.

About the speaker:

Garret Wassermann is a Vulnerability Analyst at CERT Coordination Center, part of the Software Engineering Institute at Carnegie Mellon University. He has studied software vulnerabilities and coordinated responsible disclosure policy since joining CERT in 2014. His research interests include security and privacy concerns in the Internet of Things (IoT), and development of programming languages and tools that may result in verifiably secure systems. He contributed to the development of the Common Vulnerability Scoring System (CVSS) v3.0, and contributes to other software vulnerability reporting and disclosure working groups. Previously, he taught mathematics and computer science courses as an Adjunct at several universities and tech schools in the Pittsburgh area. Garret received MS and BS degrees in both Applied Mathematics and Physics from the University of New Orleans.

12:40 PM  - 1:20 PM

Laura K.

Practical Accommodations for Mental Health

In the tech industry, we’ve learned a lot about making workplaces better for many physical differences/disabilities. We have nursing rooms for mothers, ramps/elevators for leg disabilities, ergonomic ...

×

12:40 PM  - 1:20 PM, Element Stage

Practical Accommodations for Mental Health

Laura K.

In the tech industry, we’ve learned a lot about making workplaces better for many physical differences/disabilities. We have nursing rooms for mothers, ramps/elevators for leg disabilities, ergonomic fitting for chairs/desks/keyboards, but making workplaces better for mental health issues lags far behind. We can and should do better! By the end of this talk, we will have learned ways to create a more accommodating workplace including actual workplace changes as well as strategies for communicating and understanding each other more effectively.

About the speaker:

She is a former psychology major and current software developer at CarbonFive, who sometimes suffers from depression and wishes it were as easy to solve as coding issues. Also, she really really likes cookies (the om nom nom kind, not the ones in your browser).

1:30 PM  - 2:10 PM

Chad Whitacre

Take-What-You-Want Compensation at an Open Software Company: A Case Study in the Future of Work

At Gratipay, we've discovered a solution to the problem of distributing revenue to members of an open organization without killing intrinsic motivation: take-what-you-want compensation. This provocati...

×

1:30 PM  - 2:10 PM, Element Stage

Take-What-You-Want Compensation at an Open Software Company: A Case Study in the Future of Work

Chad Whitacre

At Gratipay, we've discovered a solution to the problem of distributing revenue to members of an open organization without killing intrinsic motivation: take-what-you-want compensation. This provocative new idea—to give everyone on the team direct control over their own compensation—is not just an idea. We have almost two years of real-world experience with it, and, at a small scale, it works! In this talk I'll briefly state the problem, explain the model we implemented to solve it, and give an overview of how our solution was used by 300+ people across 100+ teams to distribute almost $50,000 over the course of about two years. Then we'll dive deeper into the story of the Gratipay team itself, which saw over 100 people use this method to distribute over $20,000 in revenue amongst themselves. I'll describe when things worked smoothly—and how we handled the inevitable conflicts. I'll end with some thoughts on how the model might scale up. This talk will be fascinating to anyone interested in the question of money and open-source, with implications that go much deeper. Come find out what the future of work could look like!

About the speaker:

I'm the founder of Gratipay, which provides payments and payroll for open organizations. We've moved $1M+ in four years, and currently process $5,000/mo for 150+ customers. We are bootstrapped and are pioneering an open organization in a heavily regulated industry.

2:20 PM  - 3:00 PM

Brian Ketelsen

Generate All The Things

We're all faced with the pressure to do *more* with less. Software development has become a commodity in some managers' eyes, and few companies realize all the things that are required to take a prod...

×

2:20 PM  - 3:00 PM, Element Stage

Generate All The Things

Brian Ketelsen

We're all faced with the pressure to do *more* with less. Software development has become a commodity in some managers' eyes, and few companies realize all the things that are required to take a product or service from idea to production and beyond. Whether you're in a small startup or a big corporation, you've got to get more done in less time to stay ahead of the game. ## Enter Code Generation Code generation isn't a new concept, and projects like `yeoman` and `rails` have been using it successfully for years to scaffold a project into a good starting point for you to hone and put into production. Scaffolding is really only part of the story though. In this talk I'll show you how to take your code generation skills up to an entirely new level by generating not just a scaffold, but an entire application along with the deployment descriptors (Dockerfile, Kubernetes manifests), and documentation (Swagger, apidocs), and any other pieces you need. ## goa - code generation with an easy to use DSL This talk will show you how to use `goa` -- a project that originated as a nice way to generate a JSON API in Go -- to do so much more than generate your API. You'll see how to create custom generators to create anything you need using a simple to understand and declarative Domain Specific Language. You'll see how to make your project's `design` DSL idempotent, so that you can make changes to the design and regenerate your project at any time without losing any customizations you've made to the project. You'll learn how to create a custom DSL for any output that you can dream up. Perhaps your load balancer requires custom configuration -- using a custom `goa` generator we can build an HAProxy configuration that always stays in sync with your intentions -- because your intentions are stored in your DSL. ## Single Source of Truth By using these concepts you'll be able to make almost your whole infrastructure declarative and versioned in your source code repository. That concept is called a `Single Source of Truth` and it's the most liberating thing I've ever found in software development. Using your code as a Single Source of Truth, you'll know that your API Documentation is in sync with what is released in production, because it was generated that way. You'll never have to worry about your servers being mis-configured during a deployment because that configuration is part of the source code being deployed and _generated by the code being deployed_. ## Now You are 10X Using a DSL to describe your project and all of its outputs means that you can make small changes to your project's design DSL and see a ripple of code generated throughout all the layers of your project. Much like testing gives you the freedom to refactor with impunity, code generation gives you the freedom to change anything in your stack. You'll iterate on your projects far faster than you could have previously, with only a small investment up front to create your generators. You're now 10X.

About the speaker:

Brian Ketelsen is one of the organizers of GopherCon, an annual conference for Go developers and coauthor of the book Go In Action for Manning Press. Brian is the CIO of XOR Data Exchange, Inc.

4:15 PM  - 4:55 PM

Adam Glassman

Abstract Away Your Resume: Learning and Self-Reinvention Through Accelerating Technological Change

What will you do when all of the languages, projects, and frameworks on your resume become obsolete? I left software development in 2005, when no one had heard of "cloud computing," "NoSQL," "DevOps,"...

×

4:15 PM  - 4:55 PM, Element Stage

Abstract Away Your Resume: Learning and Self-Reinvention Through Accelerating Technological Change

Adam Glassman

What will you do when all of the languages, projects, and frameworks on your resume become obsolete? I left software development in 2005, when no one had heard of "cloud computing," "NoSQL," "DevOps," "big data" and so many other technologies, processes, and paradigms we take for granted today. When I came back to software in 2014 as a refugee from one of many industries being "eaten" by software, I already had a lot to catch up on and I've been stunned by how rapidly things continue to evolve and change. In this talk, I'd like to share the skills, habits, and mindset that helped me to get caught up after a long absence, and that figure into my plans for career longevity after already having one career path rewired by technological change. As developers, we enjoy some of the greatest creative opportunities and career prospects for the foreseeable future, but the future can be notoriously difficult to foresee and the need to reinvent our careers is a possibility we would do well to prepare for.

About the speaker:

Adam Glassman is a dev turned oil trader turned dev again. He is old enough to remember when functional programming wasn't something the cool kids were into, it was something they complained about having to suffer through in college. He loves learning new things; he has to. He lives in New York with his awesome wife.

5:10 PM  - 5:50 PM

Luke Kanies

The Impact of DevOps and Lean Principles

DevOps is saving the world. DevOps is a myth. DevOps is only for unicorns. Whatever your point of view, DevOps is more than a buzzword-y trend. It is based on principles that have been proven over dec...

×

5:10 PM  - 5:50 PM, Element Stage

The Impact of DevOps and Lean Principles

Luke Kanies

DevOps is saving the world. DevOps is a myth. DevOps is only for unicorns. Whatever your point of view, DevOps is more than a buzzword-y trend. It is based on principles that have been proven over decades in other industries like manufacturing, and we’ve proven DevOps delivers results. This talk shares the results from the most thorough analysis of DevOps to date, helps explain how Lean Principles translate to DevOps and the world of software delivery, and demonstrates how it all impacts quality, agility, security, and the bottom line. In this talk, Luke Kanies, the founder and CEO of Puppet, will share the latest research from the renowned Puppet State of DevOps Report and the huge impact these practices have. Since its inception, the DevOps Report has surveyed more than 25,000 people and is the most comprehensive study of DevOps practices, tools, and results to date. The 2016 report revealed the critical role that lean principles play in a company’s DevOps success. It affirmed that through the power of DevOps tools and practices high-performing organizations ship more often, recover faster, and spend less time on rework providing a powerful competitive advantage.

Driven by the opportunity for automation to dramatically accelerate organizations' rate of change, while increasing the productivity and happiness of the people doing the work, Luke Kanies began developing Puppet in 2005. Today, Puppet and the company Luke built around it are the leading choice for building and managing infrastructure and applications, and Puppet is recognized as a key driver of the DevOps movement. Luke is frequently invited to speak at tech events such as GigaOm Structure, LISA, OSCON and Velocity. As an entrepreneur who built from scratch a company that generates tens of millions in revenue (and raised $87 million in venture capital), Luke has been recognized by Ernst & Young and Oregon Entrepreneurs Network, and serves on the boards of MobilePaks and Technology Association of Oregon. Busy as he is, Luke strives for a complete life, making sure he gets the chance to travel, ride bikes and hike with his scientist wife and their twin daughters.

Framework Stage

10:10 AM  - 10:50 AM

Rizwan Javaid

You Too Can Be A Sketching Machine!

Sketching is a crucial skill that spans all job titles. It helps with brainstorming ideas, iterating through concepts, and communicating our ideas to others. Whether working individually or in a group...

×

10:10 AM  - 10:50 AM, Framework Stage

You Too Can Be A Sketching Machine!

Rizwan Javaid

Sketching is a crucial skill that spans all job titles. It helps with brainstorming ideas, iterating through concepts, and communicating our ideas to others. Whether working individually or in a group, our ability to sketch helps take the abstract ideas out of heads and into the real world. If you’re not comfortable sketching then there is little chance that your ideas will stick with you, your team members, and even your clients. Don’t worry—the confidence you need to put your pencil to paper and start to sketch is close at hand! With the addition of a few simple approaches to your daily routine, you too can harness the power of sketching and become a sketching machine. Come prepared to do some fun sketching activities so you can experience the power of sketching firsthand.

About the speaker:

Rizwan is a UX Designer at Closed Loop in Roseville, CA. He creates intuitive, persuasive, and profitable user experiences for the Fortune 500. His passion lies in solving design problems while keeping the goals of the business and the user in the forefront. He loves sharing his knowledge with others to help them be the best they can. He is the creator of the UX Alphabet app, a handy reference app of UX concepts. When he isn't designing, he is usually at home drawing dinosaurs and cars, dinosaurs in cars, and other combinations of dinosaurs and cars with his twin boys.

11:00 AM  - 11:40 AM

James Pozenel

A11Y 411

You keep on saying to yourself, I want to prioritize making my website accessible, but: A). I don't know where to start. B). I don't have the time. C). Do I really need to do it? D). All of t...

×

11:00 AM  - 11:40 AM, Framework Stage

A11Y 411

James Pozenel

You keep on saying to yourself, I want to prioritize making my website accessible, but: A). I don't know where to start. B). I don't have the time. C). Do I really need to do it? D). All of the above. With the Department of Justice inching towards announcing that The Americans with Disabilities Act will apply to software created by the private sector, now is the time to get ahead of the curve and learn how you can prepare yourself and your team for the journey into accessible software.

About the speaker:

Brewer, Patriot -- wait no. Brewer, Family Man, Player of Games, Traveler, Software Developer and Architect. I work for Quicken Loans, where I author REST API's, architect systems and advocate for usable and accessible software.

11:50 AM  - 12:30 PM

Kevin Berridge

PowerShell: Bringing DevOps to Windows!

PowerShell is the most useful, productive, and powerful Windows scripting tool around and is an absolutely essential tool for any Windows developer. And it also happens to be loads of fun! In this t...

×

11:50 AM  - 12:30 PM, Framework Stage

PowerShell: Bringing DevOps to Windows!

Kevin Berridge

PowerShell is the most useful, productive, and powerful Windows scripting tool around and is an absolutely essential tool for any Windows developer. And it also happens to be loads of fun! In this talk you'll learn everything you need to know to be productive with PowerShell. We will dive into real world examples of some of the ways that we use PowerShell on my team to automate our builds and deployments and support daily development activities, but we'll focus most on PowerShell itself so you'll be able to put it into practice on your own projects.

About the speaker:

Kevin Berridge is passionate about the fundamentals that motivate how we build software, especially as applied to OO.  For the past 10 years, he has been building products that make a difference at Matrix Pointe Software in Cleveland where he is in charge of Software Engineering.  He ran the Burning River Developers meetup and has presented at a number of conferences and user groups.  When not hacking, he's probably playing jazz trombone or running.

12:40 PM  - 1:20 PM

Kevin Zurawel

Games as Conversational Interfaces

Conversational interfaces are becoming more and more important; there are now A List Apart articles about how to design them, and people are getting more comfortable with them through tools like Siri,...

×

12:40 PM  - 1:20 PM, Framework Stage

Games as Conversational Interfaces

Kevin Zurawel

Conversational interfaces are becoming more and more important; there are now A List Apart articles about how to design them, and people are getting more comfortable with them through tools like Siri, Google Now, and Amazon Echo. But these tools have their roots in interactive fiction, which stretches back to "Colossal Cave Adventure" in 1976. I'd like to give attendees a glimpse into that history, and show them how they can contribute to this art/game form that is still popular even now. Because interactive fiction doesn't rely on graphics or dexterity, it's a fantastic place for people to express their creativity - if you can describe it, it can be part of your game. Inform v7 ties right into that, because its syntax basically is English - you write `The Kitchen is a room inside The House.` and you've just created a new place the player can go to. Parchment is a great JavaScript library that lets you take Inform interactive fiction and embed it into any website. It also gives you hooks (through the Vorple project) that let your Inform application use JavaScript on the page it is running in, meaning you could make interactive agents that do anything the web can do. (Exciting!)

About the speaker:

Kevin is a front-end developer at Braintree, where he works on tools that power merchants large and small. He is interested in programming music, making and analyzing games, and the intersections between code and the physical world.

1:30 PM  - 2:10 PM

Jack Moffett

I'll gladly pay you Tuesday for a hamburger today.

We take on financial debt to enable the purchase of a house, a car, or an education long before we can afford it. We do so assuming that we will be able to make good on the loan, paying it back over t...

×

1:30 PM  - 2:10 PM, Framework Stage

I'll gladly pay you Tuesday for a hamburger today.

Jack Moffett

We take on financial debt to enable the purchase of a house, a car, or an education long before we can afford it. We do so assuming that we will be able to make good on the loan, paying it back over time. User Experience Debt is a very similar concept. Our products may acquire debt in the form of technical, functional, behavioral, and visual deficiencies through both responsible and irresponsible actions, and we must address that debt over time. If we don’t deal with UX debt successfully, we will eventually reach a state in which our products are so painful to use that even our existing customers will seek out better tools from our competitors. Stop writing I.O.U.’s to your users. Explore the 15 primary sources of UX debt, both intentional and unintentional, and learn how to identify debt in your products. Then put in place a process by which your team can classify existing debt, prioritize it, and address it. Finally, establish practices for avoiding UX debt in the future.

About the speaker:

With a BFA in Graphic Design from West Virginia University and a Masters in Interaction Design from Carnegie Mellon, Jack has been designing web, desktop, and mobile applications for over 15 years. He has worked in both research and industry environments and has been teaching design part-time for a decade at WVU. As the design manager at Inmedius, Jack directs a small team of interaction designers performing everything from initial user research and product conceptualization to front-end implementation and testing. Jack has designed software tools for Boeing, Lockheed Martin, Shell, DaimlerChrysler, Eaton, and many organizations within the U.S. military, including Joint Service Explosive Ordnance Disposal, Naval Reactors, and NCIS. He is the author of Bridging UX and Web Development, co-founded and leads IxDA Pittsburgh, chaired Midwest UX 2015, and writes about design on designaday.tumblr.com.

2:20 PM  - 3:00 PM

Emily Gorcenski

A Walled Garden in the Desert: Quality and Security Issues in the IoT

IoT devices, by design, are meant to infiltrate our daily lives. These devices track our health, they monitor our movements, they ration our energy, they manage our finances. Security in this space is...

×

2:20 PM  - 3:00 PM, Framework Stage

A Walled Garden in the Desert: Quality and Security Issues in the IoT

Emily Gorcenski

IoT devices, by design, are meant to infiltrate our daily lives. These devices track our health, they monitor our movements, they ration our energy, they manage our finances. Security in this space is an obvious concern, and the pace of adoption has exceeded the pace of responsible development. Security issues are part of a larger picture. Whereas security analysis typically focuses on protecting against the deliberate actions of a bad actor, the IoT introduces security concerns that don't require a bad actor behaving deliberately. Indeed, even _normal operation_ may cause users harm. Security analysis for IoT therefore must expand beyond the typical "ethical hacker" toolset. In this talk, we'll explore how technical, social, and design factors can introduce harm on the scale of, or greater than, a breach in device security. We'll cover some case studies of software failures that have caused death, how certain industries address security and quality factors, and what concerns should be on the minds of IoT developers. Of particular interest is the role of open source development in the IoT space. The recent `leftpad` incident exposed a systematic issue in how OSS is designed and consumed with respect to the IoT. There will be some technical talk of design failures, current and past, but the talk will be accessible to non-developers as well.

About the speaker:

Emily is a research engineer, trans woman, technologist, hockey player, and mathematician working in the intersection of science, technology, computing, and regulation. She is passionate about better technological citizenship, and her interests include cultural, regulatory, and social factors in engineering design. She often finds herself occupying intersections of unrelated fields, and tries to use the cumulative expertise from multiple parties to develop products and technologies to promote positive outcomes.

4:15 PM  - 4:55 PM

Chris Roberts

The Why, How, and What of Human-Centered Design

Creating high-value, high-quality technology products is a tough challenge—especially in an age when expectations of users are high, technology is rapidly changing, and competition is fierce. We no lo...

×

4:15 PM  - 4:55 PM, Framework Stage

The Why, How, and What of Human-Centered Design

Chris Roberts

Creating high-value, high-quality technology products is a tough challenge—especially in an age when expectations of users are high, technology is rapidly changing, and competition is fierce. We no longer can rely on how we assume things should work, rather we must understand the unique needs of users and craft ideas to meet their specific needs. That’s where Human-Centered Design (HCD) has the power to significantly transform the way we work and the things we make. Anyone can practice it and everyone should. Learn how you can be a pro and evangelize others. Attendees will get a brief overview of HCD, understand its value, and gain actionable insights into both failures and successes of experiments in implementing and evangelizing HCD within various contexts and environments.

About the speaker:

Chris Roberts, a multi-disciplinary designer, is skilled at observing and understanding how people think and interact in a blended digital and physical world. By leveraging the power of Human-Centered Design (HCD), he solves complex issues, crafts actionable strategies, and creates exceptional, holistic experiences for people. Chris has helped clients innovate in various industries from healthcare to oil and gas, and even chocolatiers, from both the start-up to Fortune 500 level. He often gets separation anxiety when not near a whiteboard or post-its. Chris started his career in graphic design with a focus on print and exhibition materials. His desire to create meaningful products and experiences for people led to an interest in HCD and eventually employment with a local innovation lab, MAYA Design. Chris has also led design teams and driven innovation through HCD for companies like Highmark and UPMC Enterprises. Currently, he is developing a UX practice for Rivers Agile Solutions, a software innovation consultancy.

5:10 PM  - 5:50 PM

Deb Nicholson

Handle Conflict like a Boss

Conflict sucks! The FOSS community is full of passionate people with many, many differing ideas on how to achieve our shared goals. Disagreements seem inevitable, but what if they could be handled rat...

×

5:10 PM  - 5:50 PM, Framework Stage

Handle Conflict like a Boss

Deb Nicholson

Conflict sucks! The FOSS community is full of passionate people with many, many differing ideas on how to achieve our shared goals. Disagreements seem inevitable, but what if they could be handled rationally, in a way that left everyone feeling at least OK about the outcome? It’s possible. You can learn to cut to the heart of the disagreement, mediate and move forward. Many of us avoid dealing with tricky situations or let conflict avoidance keep us from accomplishing amazing things together. Conflict can be handled – without flamethrowers – and the process will often make your community stronger. It just takes time, a slightly relaxed ego and a willingness to see the best outcome for the most people. This talk covers when to handle conflict, strategies for both one-on-one situations and group situations and tips on how to scale your conflict resolution skills, like a boss.

Saturday

Abstractions Stage

9:00 AM  - 10:00 AM

Laurie Voss

npm Past, Present and Future

A history of how package management in JavaScript got to where it is, and where it's going....

×

9:00 AM  - 10:00 AM, Abstractions Stage

npm Past, Present and Future

Laurie Voss

A history of how package management in JavaScript got to where it is, and where it's going.

Co-founder and CTO of npm, Inc. 20 years of building the web.

6:15 PM  - 8:15 PM

Richard Stallman

Free Software and Your Freedom

Richard Stallman will speak about the goals and philosophy of the Free Software Movement, and the status and history of the GNU operating system, which in combination with the kernel Linux is now used...

×

6:15 PM  - 8:15 PM, Abstractions Stage

Free Software and Your Freedom

Richard Stallman

Richard Stallman will speak about the goals and philosophy of the Free Software Movement, and the status and history of the GNU operating system, which in combination with the kernel Linux is now used by tens of millions of users world-wide.

"Dr. Richard Stallman launched the free software movement in 1983 and started the development of the GNU operating system (see www.gnu.org) in 1984. GNU is free software: everyone has the freedom to copy it and redistribute it, with or without changes. The GNU/Linux system, basically the GNU operating system with Linux added, is used on tens of millions of computers today. Stallman has received the ACM Grace Hopper Award, a MacArthur Foundation fellowship, the Electronic Frontier Foundation's Pioneer Award, and the the Takeda Award for Social/Economic Betterment, as well as several doctorates honoris causa, and has been inducted into the Internet Hall of Fame."

Distractions

10:00 AM  - 11:00 AM

Marylou Lenhart

Yoga for Engineers (Repeat Session)

Sitting at a desk all day contributes to the already typically sedentary lifestyle of the modern world. There are many studies that show that our bodies do not deal well with this lack of activity. _Y...

×

10:00 AM  - 11:00 AM, Distractions

Yoga for Engineers (Repeat Session)

Marylou Lenhart

Sitting at a desk all day contributes to the already typically sedentary lifestyle of the modern world. There are many studies that show that our bodies do not deal well with this lack of activity. _Yoga for Engineers_ will help us to stand up and do something about it. ## But I'm pretty healthy, why do I need this? That's great! Maybe you don't, but you will probably have fun anyway! You might even learn something new. ## But I'm not flexible at all, yoga isn't for me. That's why you try yoga! There are plenty of alternate postures if you can't do a thing. Plus, it's not about doing everything (or really, anything) perfectly, it's about the journey of getting better with continuous practice. ## So what will I get out of it? My goal is to teach a few easy exercises and yoga postures that you can do at home (and some, even at the office) that will help to strengthen the muscles that are weakened by sitting in a chair. You can learn about them more in depth at my _Posture for Engineers_ talk, and give them a try in the _Yoga for Engineers_ workshop. At the end of this workshop you will: * Feel more confident about moving your body during your work day. * Learn some yoga poses if you did not know them already. * Know at least a few exercises to do regularly that will help improve posture. * Have experienced what each position will do for you. * Have tried something fun ^_^ * Be smiling!

Marylou is a software engineer. What she finds most intriguing about computer programming is the the challenge of creating practical, clean, quality software amongst the complex and chaotic nature of designing and engineering web applications. She’s excited to solve important problems by following the guiding principles of maintaining trust and transparency among project teams, and with clients. Outside of work, she’s passionate about solving problems in the community, including those related to diversity and inclusivity. Since 2014, she's been the Chapter Leader for the Pittsburgh chapter of Girl Develop It, an organization that exists to create affordable and judgement-free opportunities for women interested in learning web and software development. She received her 200-hour training as a yoga instructor from Yoga Flow here in the heart of Pittsburgh, and taught for a year at Urban Prana in the South Hills. She is registered with Yoga Alliance at the RYT200 level, and she is insured to teach. She gave this talk at YAPC::Asia in Tokyo, which was her first time out of the country, and it was a beautiful experience. Hobbies that she has not turned into a job yet include playing video games and board games, coloring, reading, and dancing.

11:00 AM  - 12:00 PM

Girl Develop It

Girl Develop It Abstract Social

Come learn more about Girl Develop It from the members and chapter leaders of several chapters across the country, and get to know more people! We will have a quick introductory presentation to talk a...

×

11:00 AM  - 12:00 PM, Distractions

Girl Develop It Abstract Social

Girl Develop It

Come learn more about Girl Develop It from the members and chapter leaders of several chapters across the country, and get to know more people! We will have a quick introductory presentation to talk about Girl Develop It and our mission, and then about an hour of socializing. We ask that before attending, you read both the Girl Develop It Code of Conduct (https://www.girldevelopit.com/code-of-conduct) and the Abstractions Code of Conduct (http://abstractions.io/policies/#code-of-conduct). Hope to see you there!

Girl Develop It is a nonprofit organization that exists to provide affordable and judgment-free opportunities for women interested in learning web and software development. Through in-person classes and community support, Girl Develop It helps women of diverse backgrounds achieve their technology goals and build confidence in their careers and their every day lives.

10:30 AM  - 10:50 AM

Sean Marcia & Elizabeth Freeman

Let's Save the World Together

Ruby, red pandas, machine learning and saving the world together. Working with software we have the amazing capability to make a difference in the world. Come and see how you can get involved with gre...

×

10:30 AM  - 10:50 AM, Distractions

Let's Save the World Together

Sean Marcia & Elizabeth Freeman

Ruby, red pandas, machine learning and saving the world together. Working with software we have the amazing capability to make a difference in the world. Come and see how you can get involved with great projects that enable us to affect change in a meaningful way. You will also see how doing so has the unintended consequence of building a better and more tightly knit community. There will also be red pandas, lots and lots of adorable red pandas and an introduction to machine learning.

Sean is a tireless do-gooder. He created and organizes Ruby for Good and spends his day job working to make higher education more sane. He loves the programming community and can't believe he is paid to have this much fun. When not programming he loves being outdoors (especially national parks), drinking coffee from Portland, eating dried seaweed and playing with dogs. ###### Elizabeth Freeman Ph.D. is an Associate Professor at George Mason University and a conservation biologist. She studies the hormones and behavior of endangered mammals such as red pandas, elephants and rhinoceros. Elizabeth loves what she does and feels fortunate to have a career where she can share her passion for wildlife with diverse audiences.

10:50 AM  - 10:55 AM

♥ Jeremy!

Things You Forgot Were Hard

Do you remember what it was like to learn to program? Are you sure? The Dreyfus model of skill acquisition suggests that as expertise increases toward mastery, people lose sense of what was truly diff...

×

10:50 AM  - 10:55 AM, Distractions

Things You Forgot Were Hard

♥ Jeremy!

Do you remember what it was like to learn to program? Are you sure? The Dreyfus model of skill acquisition suggests that as expertise increases toward mastery, people lose sense of what was truly difficult in their salad days. Let’s reclaim our past and learn how to engage with and lift up the novice programmer. We’ll look at the original research that defined the Dreyfus model and some reactions and criticisms of it. We’ll examine how the model applies in other industries–like nursing–that embrace both the technical and intuitive. Then, when applied to programming, we’ll explore strategies for experienced and senior developers to reach through the five stages to better enable, support, and influence new programmers. Whether those programmers are in a classroom, or are junior developers on your team, it requires significant empathy–and no small amount of emotional honesty–to recall and re-experience what it was like when it was all new.

About the speaker:

Jeremy is a programmer and teacher at Ada Developers Academy in Seattle, WA. He’s shipped code in a dozen stacks for everything from a multi-million dollar e-commerce portal, to a motocross lap timing and scoring solution, to a point-of-sale system for hair salons. He’s also been a conference organizer, zoo keeper, technical director at a digital agency, congressional campaign staffer, and county parks employee. He collects records and is hoping someone will go crate digging with him while he’s in town.

10:55 AM  - 11:00 AM

Bob Gradeck

Open Data Distractions

Through the Western Pennsylvania Regional Data Center, a growing number of datasets have been released as open data from Allegheny County, the City of Pittsburgh, and other nonprofit and governmental ...

×

10:55 AM  - 11:00 AM, Distractions

Open Data Distractions

Bob Gradeck

Through the Western Pennsylvania Regional Data Center, a growing number of datasets have been released as open data from Allegheny County, the City of Pittsburgh, and other nonprofit and governmental organizations. In this distractions session, you can accept one or a series of fun bite-size challenges that will test your open data skills, and have fun working with other participants. Challenges will be available for people of all skills and abilities.

About the speaker:

Bob Gradeck manages the Western Pennsylvania Regional Data Center at the University of Pittsburgh’s University Center for Urban and Social Research. Bob provides overall project management to the Data Center. He also takes the lead role in building relationships with data publishers and users, and also is responsible for Data Center community engagement efforts. Bob has worked at the University Center since 2009, where he managed the Pittsburgh Neighborhood and Community Information System, contributed to a number of Center research efforts and outreach projects, and helped to launch the Southwestern Pennsylvania Community Profiles. Prior to joining the University of Pittsburgh, Bob worked at the Carnegie Mellon University Center for Economic Development for ten years, where he helped to found the Pittsburgh Neighborhood and Community Information System, and worked on a number of projects and initiatives related to technology-based economic development in the Pittsburgh region. Bob also worked at City Source Associates in Pittsburgh, where he compiled information for people moving to the City of Pittsburgh. Bob started his career at the Atlanta Project, where he helped lay the foundation of one of the nation's first neighborhood information systems. Bob received a Bachelor's degree in Urban Studies from the University of Pittsburgh in 1993, and a Masters of City Planning from the Georgia Institute of Technology in 1995. Bob serves on the Executive Committee for the National Neighborhood Indicators Partnership, and also plays a leadership role in Open Pittsburgh, the region's Code for America Brigade. Bob is married, has two children and a dog, grew up in Pittsburgh's Overbrook neighborhood, and now lives in Regent Square. In his spare time, he can often be found walking the dog, running errands, playing ice hockey, fixing the house, or in the river on his kayak. Likes: Dogs, sarcasm, practical jokes, ice cream, enemies lists, taking the bus to work, old video arcade games, snow, and potato chips. Dislikes: When people take things too seriously (including themselves), drivers that run the red light at the intersection of South Braddock and Hutchinson, cats, liver, walnuts, and chain restaurants. Useless trivia: In college, Bob used to drive the Zamboni at a local skating rink.

11:00 AM  - 12:00 PM

<3Jeremy!, Gradeck, Marcia

Distractions Demos

The presenters from the Distractions segment will set up demo stations to display their work and answer questions ...

×

11:00 AM  - 12:00 PM, Distractions

Distractions Demos

<3Jeremy!, Gradeck, Marcia

The presenters from the Distractions segment will set up demo stations to display their work and answer questions

About the speaker:

12:30 PM  - 1:30 PM

Andrew Faraday

Just a Minute - Finals

Just a Minute is a game show that's a part of the British national consciousness, delighting audiences across the country for almost half a century. In it, speakers are challenged to speak for one min...

×

12:30 PM  - 1:30 PM, Distractions

Just a Minute - Finals

Andrew Faraday

Just a Minute is a game show that's a part of the British national consciousness, delighting audiences across the country for almost half a century. In it, speakers are challenged to speak for one minute without hesitation, repetition or deviation, it's much harder than it sounds. It's fast paced, funny, insightful and you might even learn something.

A Ruby developer, presenter, musician and kidney donor working in Surrey, England. Background includes a music degree, 5 years of radio presenting/production and panel game hosting. A long history of combining code and music to explore the artistic capabilities of programming. Professional experience includes a lot of integration with large legacy databases.

11:30 AM  - 5:30 PM

You & Friends!

GameOn Video Game Lounge

Take a break from the lectures and play some games with some new friends! ...

×

11:30 AM  - 5:30 PM, Distractions

GameOn Video Game Lounge

You & Friends!

Take a break from the lectures and play some games with some new friends!

GameOn provides a unique entertainment video game service to customers who desire quality social entertainment for their family or friends but may not possess the knowledge of video games or video game equipment. The target audience of GameOn Party Planners consists of several specific sets of audience traditional gamers who love participating in video game tournaments, traditional gamers who desire quality entertainment for a special event, and non-traditional gamers who desire quality entertainment for a special event for their son, daughter, or any other loved one as well as him or herself. GameOn Party Planners service packages provide several gaming consoles, LCD televisions, an entertainment center and chair for each video game system, copies of the requested video game, a tournament bracket, and any required accessories. The employees clean, sanitize, and repair the provided equipment after each use to provide the customers with the best equipment available. organization: GameOn Party Planners, LLC

12:30 PM  - 2:00 PM

You & Friends

Cornhole Tournament

Pick teams and play a tournament against the friends you've made at the conference ...

×

12:30 PM  - 2:00 PM, Distractions

Cornhole Tournament

You & Friends

Pick teams and play a tournament against the friends you've made at the conference

Just a cool person

2:00 PM  - 4:00 PM

Therapy Dogs

Therapy Dogs

They're dogs that make you feel better...

×

2:00 PM  - 4:00 PM, Distractions

Therapy Dogs

Therapy Dogs

They're dogs that make you feel better

About the speaker:

Woof

Builder Stage

10:10 AM  - 10:55 AM

Brad Frost

Style Guide Best Practices

We're tasked with creating experiences that look and function beautifully across a dizzying array of devices and environments. That's a tall order in and of itself, but once you factor in other team m...

×

10:10 AM  - 10:55 AM, Builder Stage

Style Guide Best Practices

Brad Frost

We're tasked with creating experiences that look and function beautifully across a dizzying array of devices and environments. That's a tall order in and of itself, but once you factor in other team members, clients, stakeholders, and organizational quirks, things start looking downright intimidating. With so many variables to consider, we need solid ground to stand on. Style guides are quickly proving to be foundational tools for tackling this increasingly-diverse web landscape while still maintaining your sanity. Styleguides promote consistency, establish a shared vocabulary, make testing easier, and lay a future-friendly foundation. This session will detail best practices and considerations for creating and maintaining style guides, so you can set up your organization for success.

Pattern Lab creator, Atomic design pioneer and advocate.

11:50 AM  - 12:35 PM

Sean Griffin

Anatomy of a Great Pull Request

Getting a pull request merged into open source is hard. In this talk, we’ll look at what it takes to get a pull request merged into a project like Ruby on Rails. We’ll look at common mistakes that beg...

×

11:50 AM  - 12:35 PM, Builder Stage

Anatomy of a Great Pull Request

Sean Griffin

Getting a pull request merged into open source is hard. In this talk, we’ll look at what it takes to get a pull request merged into a project like Ruby on Rails. We’ll look at common mistakes that beginners make, and how you can avoid them. Rails has over 400 open pull requests today. Learn how keep yours from getting lost in the noise, and better contribute to any open source project.

Sean is a committer on Ruby on Rails, the maintainer of Active Record, cohost of The Bike Shed podcast, and the creator of Diesel, an ORM and query builder for Rust. Having spent over a decade in the industry, he now works for Shopify doing open source full time.

3:25 PM  - 4:10 PM

Nadia Odunayo

The Guest: A Guide to Code Hospitality

You were living alone in your hometown until you decided to open up your spare room to guests. Now your first visitor has booked in. Her arrival is imminent. How do you prepare? How can you make sure ...

×

3:25 PM  - 4:10 PM, Builder Stage

The Guest: A Guide to Code Hospitality

Nadia Odunayo

You were living alone in your hometown until you decided to open up your spare room to guests. Now your first visitor has booked in. Her arrival is imminent. How do you prepare? How can you make sure she has a great visit? Let's explore the art of code hospitality—working on codebases in a way that respects your teammates and provides for their needs. By working hospitably, we can facilitate team productivity and help new members quickly feel at home.

Co-founder Ignition Works. Sustainable and worthwhile software products champion.

5:10 PM  - 5:55 PM

Saron Yitbarek

Lucky: Examining the Barriers of Contributing to Open Source

The open source community is known for being homogenous. The sexism and racism that plague our industry only reinforce this monoculture, but creating a more diverse open source community requires us t...

×

5:10 PM  - 5:55 PM, Builder Stage

Lucky: Examining the Barriers of Contributing to Open Source

Saron Yitbarek

The open source community is known for being homogenous. The sexism and racism that plague our industry only reinforce this monoculture, but creating a more diverse open source community requires us to do more than reexamine our culture. Creating a more representative and inclusive open source space requires a better understanding of the assumed context of an open source contributor. Being an open source contributor requires many resources we often take for granted: technical knowledge, confidence in that knowledge, access to technical tools, and a socioeconomic status that allows us to code without financial compensation. These resources are inaccessible to many, if not most. Shifting the face of our community to better represent our increasingly global user base requires us to examine what groups are least likely to have access to these resources and how different organizations and initiatives are working to remove these barriers and create entry points for groups of people who face the biggest obstacles in their journey to becoming creators in our community. Saron Yitbarek discusses specific issues around socioeconomic status, location, access to education, and access to high-speed Internet and explains how these factors affect the likelihood of being able to contribute to the open source community. Saron unpacks the privilege most of us have as developers in the developed world. By understanding the diverse barriers many face to becoming creators in our community and discussing actionable steps we can take to help, we will be better equipped to create on-ramps for more people, leading to a more inclusive space and a stronger coding community.

Founder CodeNewbie, PM at Microsoft and Ruby Rogues podcast host

Compiler Stage

11:00 AM  - 11:45 AM

Eileen Uchitelle

Security: Back to Basics

The Internet is built on technology that was never meant to work together. Basic features in seemingly simple and innocuous technologies, such as XML, resulted in hidden security flaws. In this sessio...

×

11:00 AM  - 11:45 AM, Compiler Stage

Security: Back to Basics

Eileen Uchitelle

The Internet is built on technology that was never meant to work together. Basic features in seemingly simple and innocuous technologies, such as XML, resulted in hidden security flaws. In this session we'll talk about how attackers exploit common vulnerabilities like CSRF, XSS, and XXE. We'll explore how easy it is to implement these vulnerabilities into your application and how to build software with security in mind.

Programmer at Basecamp, Rails Committers team and the Rails Security team

2:20 PM  - 3:05 PM

Ingy döt Net

10 Things You Don't Know About YAML

YAML gets used just about everywhere but hardly ever gets talked about. It's just simple and obvious, right? Indeed, but it's also deep and mysterious. Come learn (at least) 10 things you never expect...

×

2:20 PM  - 3:05 PM, Compiler Stage

10 Things You Don't Know About YAML

Ingy döt Net

YAML gets used just about everywhere but hardly ever gets talked about. It's just simple and obvious, right? Indeed, but it's also deep and mysterious. Come learn (at least) 10 things you never expected about the data language you see almost every day. Ingy, one of YAML's 3 creators will take you on a brief tour of all things YAML, highlighting the interesting, tricky, weird and JustPlainWrong™. He'll also give you a peek into where the YAML language is headed next, with a bonus surprise for Abstractions.io, never seen or heard of before!

Ingy döt Net is an Acmeist Hacker from the Pacific Northwest. He helped invent the YAML data language, and continues to push it forward. He's given many talks about many things in many cities, but none more than his favorite destination of Pittsburgh.

4:20 PM  - 5:05 PM

Phil Dougherty

Marrying a cloud provider: the hidden costs of simplicity vs. available functionality

In 2006, AWS invented, and has since been leading the market when it comes to Infrastructure as a Service. In recent years other providers like DigitalOcean have taken the industry by storm by offerin...

×

4:20 PM  - 5:05 PM, Compiler Stage

Marrying a cloud provider: the hidden costs of simplicity vs. available functionality

Phil Dougherty

In 2006, AWS invented, and has since been leading the market when it comes to Infrastructure as a Service. In recent years other providers like DigitalOcean have taken the industry by storm by offering a simplified approach to IaaS that caters to individual developers. In this talk we will review the benefits and drawbacks of choosing a provider based on how easy it is to use now, and investigate the hidden costs that could come with continuing to utilize it later as your infrastructure grows. This is an important topic for early stage startups and developers to consider when choosing a hosting vendor, and will provide insight into switching costs and potential areas of lock-in that should be avoided.

About the speaker:

Phil is the co-founder and CEO of ContainerShip, a multi-cloud management and container orchestration system. With over 10 years of experience in web hosting and systems architecture, Phil has led teams tasked with building worldwide data center footprints, hosting sites handling 200 million page views a day, and e-commerce platforms doing $3 billion in transactions a year.

Domain Stage

10:10 AM  - 10:50 AM

Jason Frank

Breaching a Web Application - Common Issues and Mitigating Steps

It seems like every day that another company's logo is plastered across the media and they have lost thousands, if not millions of customer records. This kind of data loss is damaging to a company's ...

×

10:10 AM  - 10:50 AM, Domain Stage

Breaching a Web Application - Common Issues and Mitigating Steps

Jason Frank

It seems like every day that another company's logo is plastered across the media and they have lost thousands, if not millions of customer records. This kind of data loss is damaging to a company's reputation and their customers have little control of their private information. Attackers often want this data for financial gain or to embarrass that company. There are several methods a malicious attacker will use to gain access to this data. Injection-based attacks leverage an application's lack of input validation to extract information and allow for unauthorized data access. In addition, the platform on which the application resides can be leveraged to gain unauthorized admin access and ultimately, data access. Both scenarios will be discussed and demonstrated in this talk. Finally, mitigating steps will be discussed at every level of the attack. The approach will be a defense in depth model that will proactively protect a web application. While there is no silver bullet against a determined attacker, these mitigations will make their lives more difficult.

About the speaker:

Jason Frank is the manager of Veris Group's Adaptive Threat Division, where he leads penetration testing, red teaming, and application security efforts for various Government agencies and Fortune 500 companies. Jason brings his industry experiences assessing government, healthcare, and financial sectors to convey effective testing methodologies and procedures for security assessment execution. He specializes in leading penetration testing programs while developing and maturing client's internal assessment efforts. In addition, Jason has several years of experience training participants in testing methodologies, including at major industry conferences such as the Black Hat.

11:00 AM  - 11:40 AM

Joseph Mastey

Building a (Self-Sustaining) Culture of Learning

In an industry that changes technologies so often, learning is a matter of survival. Not only that, but research shows that it increases retention and engagement in employees. Yet, most companies leav...

×

11:00 AM  - 11:40 AM, Domain Stage

Building a (Self-Sustaining) Culture of Learning

Joseph Mastey

In an industry that changes technologies so often, learning is a matter of survival. Not only that, but research shows that it increases retention and engagement in employees. Yet, most companies leave employees to train and learn after work and in the margins. Let’s take a look at how you -- as a regular employee -- can help build a culture that encourages and rewards learning, even when time and money are tight. You’ll walk away equipped to start building momentum at any level in your organization towards constant learning and improvement.

About the speaker:

Joe Mastey consults as a software engineer and technical advisor. Recently he’s been focusing on helping companies build fantastic internal education programs. As an avid extreme weather enthusiast, Chicago has been quite kind to him, despite a distinct lack of climbable rocks.

11:50 AM  - 12:30 PM

Frederik Deweerdt

HTTP/2: Everything You Wanted to Know but Were Afraid to Ask

HTTP/2 (or “H2” as the cool kids call it) has been ratified for months and browsers already support or have committed to supporting the protocol. Everything we hear tells us that the new version of HT...

×

11:50 AM  - 12:30 PM, Domain Stage

HTTP/2: Everything You Wanted to Know but Were Afraid to Ask

Frederik Deweerdt

HTTP/2 (or “H2” as the cool kids call it) has been ratified for months and browsers already support or have committed to supporting the protocol. Everything we hear tells us that the new version of HTTP will provide significant performance benefits while requiring little to no change to our applications – all the problems with HTTP/1.x have seemingly been addressed, we no longer need the “hacks” that enabled us to circumvent them, and the Internet is about to be a happy place, at last! But maybe we should put the pom poms down for a minute! Deploying HTTP/2 may not be as easy as it seems, since the protocol brings with it new complications and issues. Likewise, the new features the spec introduces may not work as seamlessly as we’d hope. In this session, we’ll take a practical look at HTTP/2 and examine some of its core features and how they relate to real-world conditions. We’ll discuss positives, negatives, and new caveats and practical considerations for deploying HTTP/2. Specifically, we’ll cover: The single-connection model, and the impact of degraded network conditions on HTTP/2 vs HTTP/1 How server push interacts (or doesn’t) with modern browser caches What HTTP/2’s flow control mechanism means for server-to-client communication New considerations for deploying HPACK compression Difficulties in troubleshooting HTTP/2 communications, new tools, and new ways to use old tools

12:40 PM  - 1:20 PM

Becky Torbochkin

Designing for Virtual Reality

We’re at the dawn of consumer virtual reality. How do we go about designing for it? We’re still struggling to master responsive design and the chaos of different sized screens and cross-channel experi...

×

12:40 PM  - 1:20 PM, Domain Stage

Designing for Virtual Reality

Becky Torbochkin

We’re at the dawn of consumer virtual reality. How do we go about designing for it? We’re still struggling to master responsive design and the chaos of different sized screens and cross-channel experiences, and VR comes along and blows the lid off everything by wrapping the screen around your face. Thanks, VR. As if we didn't have enough to deal with already! With a new type of experience comes new problems and opportunities. Learn about common problems for developing products for VR, including simulation sickness as well as the fragmentation of platforms and input devices. Discover some best practices for designing and collaborating on great VR experiences. Explore a few big exciting problems waiting to be solved. Participants will leave with an understanding of: - What current VR technology exists - How to design for the most common problems that come up - Some best practices for designing experiences and collaborating with dev teams

About the speaker:

Hi, I’m Rebecca. I make games for VR. I write fiction. I've spent a decade designing everything from mobile apps to websites to enterprise. I’m into building businesses and software that solve relevant problems that matter to people, and I specialize in emerging technologies and multi-screen experiences. I'm kind of a VR nerd. I try to support others in becoming their best, truest selves. I earned my design stripes at Carnegie Mellon University and can often be found snuggled up with a cappuccino and an RPG.

1:30 PM  - 2:10 PM

Bobby Calderwood

Decoupled, Immutable REST APIs with Kafka Streams

Have you ever hit a wall with REST? Does modeling your problem domain into CRUD-able entities feel like fitting a square peg into a round hole? Perhaps instead of modeling our services like little da...

×

1:30 PM  - 2:10 PM, Domain Stage

Decoupled, Immutable REST APIs with Kafka Streams

Bobby Calderwood

Have you ever hit a wall with REST? Does modeling your problem domain into CRUD-able entities feel like fitting a square peg into a round hole? Perhaps instead of modeling our services like little databases, we should instead model them like reactors to event streams. REST APIs are great, but their typical implementation tightly couples various concerns that would be better separated: * Reads (perception) from writes (action) * Current state from historical narrative * Business logic from HTTP design from operational concerns like metrics and monitoring Commander is a pattern for writing REST APIs that de-couples these concerns, thereby alleviating common frustrations with CRUD-flavored REST. This pattern imposes a clear separation of action from perception, and uses immutable values conveyed by Kafka and the Kafka Streams library to separate business logic from HTTP concerns, all while preserving the historical narrative of the entire event stream. In this talk, I'll discuss the benefits and tradeoffs of this approach, and demonstrate my implementation using Clojure in the HTTP layer, and using Java with the new Kafka Streams library in the event stream processing layer.

About the speaker:

Bobby is a member of the Technology Fellows team at Capital One, where he designs and develops solutions to difficult problems, influences the technical direction of Capital One while helping development teams implement that technical direction, and engages the broader technical community via speaking and open-source contribution. Prior to joining Capital One, Bobby was Director of Product Engineering at B23 LLC, a startup working on enabling big data solutions in cloud environments. Before B23, Bobby worked on the Product Team at Cognitect building, testing, and helping customers win with Datomic. Bobby's been writing web applications and distributed systems with Clojure and ClojureScript since 2010. Before that, Bobby worked in Java, Scheme, and Ruby on Rails plus the full web stack starting in 2005. Bobby first got interested in computers and open source when he converted his desktop computer into a Linux server running Bugzilla in support of the software development team for which he was interning; once he finally got `rpm install` to work, he never looked back.

2:20 PM  - 3:00 PM

Adam Jonas

Moneyball on the Keyboard: Scouting Talented Developers

As a former baseball scout, I worked in a prejudiced world where players were paid based on how closely they conformed to industry norms. While I appreciate the trend in tech to be more inclusive, I v...

×

2:20 PM  - 3:00 PM, Domain Stage

Moneyball on the Keyboard: Scouting Talented Developers

Adam Jonas

As a former baseball scout, I worked in a prejudiced world where players were paid based on how closely they conformed to industry norms. While I appreciate the trend in tech to be more inclusive, I view this talk as an opportunity to explore ways to make our community more objective and equitable. The central premise of Moneyball is that the collected wisdom of baseball insiders is subjective and flawed. Like baseball, the tech industry has a poor history of evaluating talent by favoring biased perspectives over objective analysis. As a baseball scout turned web developer and team lead, I will explore how the lessons I learned in my former career can enable us all to make better decisions on how to grow our teams and surface undervalued skills.

About the speaker:

Adam Jonas is the Managing Director of engineering at The Flatiron School in NYC. In a former life he worked in scouting in player development in professional baseball.

3:25 PM  - 4:05 PM

Heidi Waterhouse

The Seven Righteous Fights

Usually we think of compound interest as what adds magically to our retirement or makes our student loans last forever. But there is also a compound interest of technical debt, where a project is made...

×

3:25 PM  - 4:05 PM, Domain Stage

The Seven Righteous Fights

Heidi Waterhouse

Usually we think of compound interest as what adds magically to our retirement or makes our student loans last forever. But there is also a compound interest of technical debt, where a project is made harder and more expensive because of early "cost-saving" choices. I think it's empowering for developers and other people involved in the inception of a project to have tools for making the project better long-term. The seven things I think should be considered very early in development are: 1. Localization. Are you ever planning on selling this to someone in another country? 2. Security. Don't be the organization that has to pay someone for disaster PR. Building in security early saves you a bunch of time and user churn later. 3. Extensibility. What makes you so sure this API will always be internal? 4. Documentation. People do not buy software solely based on Powerpoints. You need public docs. The docs have to be more useful than Stack Overflow. 5. Affordance. UI is not a word. The microtext matters. 6. Acceptance. Have you shown this to any actual humans who are like the users? 7. Accessibility. We all use computers different ways. Does your software allow that? I expect this talk will be relevant to both senior people working on leading project teams, and empowering for juniors who don't have a structure for critiquing usability problems. I want people to leave with an understand of how small changes in the initial trajectory of a project can lead to greatly improved outcomes.

About the speaker:

Heidi is a widely experienced technical writer with an interest in writing herself out of work. She specializes in creating entire documentation suites for new companies and products in less time than you would believe possible. She speaks on topics like search-led writing, starting new documentation for products, common mistakes in software development, and whistleblowing as a technical writer.

4:20 PM  - 5:00 PM

Karen Tang

Baking Privacy Into Your UX Process

In the last decade, it's become increasing common to find stories about how privacy is slowing slipping away from the user. In the tech world, we've now in the era of personal devices, cloud computing...

×

4:20 PM  - 5:00 PM, Domain Stage

Baking Privacy Into Your UX Process

Karen Tang

In the last decade, it's become increasing common to find stories about how privacy is slowing slipping away from the user. In the tech world, we've now in the era of personal devices, cloud computing, big data, and internet-of-things - all things that help create incredibly personal user experiences, but also leave the user susceptible to potential privacy concerns. How can we better advocate for privacy as part of the product design process? What questions should you be asking, as you balance the user's privacy and the business cost of privacy? What are dark UX patterns and why should you avoid them? In this talk, you'll learn why great UX requires respecting users' privacy, how to introduce privacy thinking into the UX process, and concrete examples where privacy and UX play well together. You'll walk away with design criteria and exercises that you can immediately apply to your projects. Regardless of what role you may play on a product team, everyone can contribute to thinking critically about privacy early and often through the design process. Come learn how much tech needs privacy and how you can help ensure tech never overlooks about privacy.

About the speaker:

Karen Tang is passionate about building great user experiences. She works at the intersection of design, research, and software development. She is currently a senior developer who focuses on front-end development. She's also the co-founder of a startup called Tagalong Tour, where she wears multiple hats including that of a UX designer and software developer. While Karen holds a PhD in Human-Computer Interaction from Carnegie Mellon University's School of Computer Science. Her experience in both academia and industry has given her both breadth and depth in the UX world. Outside of work, Karen also helps out with the Pittsburgh chapter of Girl Develop It and is a frequent attendee/volunteer of local startup weekend hackathons.

5:10 PM  - 5:50 PM

Justin Pihony

Towards 9 9's with Reactive Systems

There are so many paths of possible failure in a system that you cannot predict them all. You must embrace failure in order to gain resilience against it. This talk will discuss the tools and means of...

×

5:10 PM  - 5:50 PM, Domain Stage

Towards 9 9's with Reactive Systems

Justin Pihony

There are so many paths of possible failure in a system that you cannot predict them all. You must embrace failure in order to gain resilience against it. This talk will discuss the tools and means of building a reactive system, as defined in the Reactive Manifesto. It will show how frameworks like Akka, Play, Spark, and Lagom can be used to create the components needed to reach the elusive 9 9's. You'll have a happy codebase, and a happy devops team!

About the speaker:

Justin is a software journeyman, continuously learning and honing his skills. Most of his early professional career was spent in C# and MSSQL, but he loves learning about many different languages, especially Scala. This passion for Scala led him to join the Lightbend (formerly Typesafe) team, diving even deeper into the Scala ecosphere. And, as much as he loves to learn, he also loves to spread his knowledge through teaching and helping others. He is a very active answerer on StackOverflow and organizes both the Pittsburgh Scala meetups and the Pittsburgh nerd lunch (a semi-regular lunch meeting focused on talking shop).

Element Stage

10:10 AM  - 10:50 AM

Tracy Osborn

Writing So Your Words Are Read

You’re smart, educated, and you’ve been working in this industry for years. You’ve created amazing open-source packages and great documentation. But all that flies out the window if what you write abo...

×

10:10 AM  - 10:50 AM, Element Stage

Writing So Your Words Are Read

Tracy Osborn

You’re smart, educated, and you’ve been working in this industry for years. You’ve created amazing open-source packages and great documentation. But all that flies out the window if what you write about your project isn’t being read. “But it’s comprehensive! It has all the info that I would need!” you may reply. The problem is not writing for people like you; it’s writing and creating documentation that anyone can read, understand, and get excited about. This is true for projects aimed at beginners, but it goes double for projects and writing aimed at intermediate/expert programmers. Your projects will benefit when you write something that everyone can understand and would want to read. More readers = more users = perhaps more contributors! Outline: * Introduction (5m) * About me and my experience. * With Hello Web App, my book series. * Running workshops and working with beginners. * Being a relative newcomer myself. * The basics of friendly and welcoming writing (10m) * Why make the effort to be friendly and welcoming? * Better installation and usage instructions. * “Dumbing things down” without making them dumb. * Formality vs. informality. * The basics of writing clearly (10m) * Cutting down your content. * Better headlines. * Making your content readable. * Conclusion (5m) * Questions (10m)

About the speaker:

Tracy Osborn is a designer, developer, and entreprenerd living in the Bay Area of California. She's the author of Hello Web App, teaching beginner web app development. Building websites since she was twelve, she always felt an affinity to computers, the internet, and what it brings us. Tracy graduated with a BFA in Art & Design with a concentration in Graphic Design from California Polytechnic State University, San Luis Obispo, and worked as a web designer for five years before teaching herself programming and launching her first startup, WeddingLovely. She's also an avid outdoorswoman and would love to go on a hike with you.

11:00 AM  - 11:40 AM

Jack Skinner

Making the Web Go Fast with Jelly Snakes and Raspberry Twizzlers

HTTP/2 is not coming - its here! In this fun and playful session I’ll take you on a journey from HTTP/1.1 to HTTP/2 enjoying the sights and delights of its new features along the way. With features li...

×

11:00 AM  - 11:40 AM, Element Stage

Making the Web Go Fast with Jelly Snakes and Raspberry Twizzlers

Jack Skinner

HTTP/2 is not coming - its here! In this fun and playful session I’ll take you on a journey from HTTP/1.1 to HTTP/2 enjoying the sights and delights of its new features along the way. With features like multiplexing, yesterdays best practices are now tomorrow’s anti-patterns - so what does this mean your app or API? This talk explores the best and worst practices of the way the web worked and how HTTP/2 is changing the game for performance. And it’s all explained of course, using jelly snakes and raspberry twizzlers.

11:50 AM  - 12:30 PM

Fred Hatfull

Invisible Infrastructure

It seems like a funny joke the first time you hear it. How could someone forget about a server that cost thousands of dollars? How is it possible that nobody knows what it does? If it's important? Whe...

×

11:50 AM  - 12:30 PM, Element Stage

Invisible Infrastructure

Fred Hatfull

It seems like a funny joke the first time you hear it. How could someone forget about a server that cost thousands of dollars? How is it possible that nobody knows what it does? If it's important? Where it even *is?* Yet, it's not a joke. Many companies young and old, fast and slow, large and small, face this problem. Antiquated, under-documented, or poorly understood code, infrastructure, and process can quickly and surprisingly become completely invisible to an entire organization and the people within it. This phenomenon is hard to eliminate, and many organizations simply try to encourage humans to be smarter and not fall into the traps that lead to these surprising situations. Humans are dumb at remembering stuff, but pretty smart at telling computers what to do. This talk covers some of the technical and social hacks you can use to prevent, discover, and destroy invisible infrastructure.

About the speaker:

Hi! I'm Fred, and I've been at Yelp for the last five years working on infrastructure and site reliability. I've learned a lot from growing our infrastructure by ~10x and our development org by 5x, and I'd love to trade notes with you to see what we're still doing wrong! I'm a Pittsburgh native living in California, and in my spare time I play in a San Francisco rock band.

12:40 PM  - 1:20 PM

Aaron Suggs

Teaching GitHub for Poets

At Kickstarter, we’ve created a GitHub for Poets training class to introduce all employees to our engineering process and the codebase that runs kickstarter.com, regardless of their role or department...

×

12:40 PM  - 1:20 PM, Element Stage

Teaching GitHub for Poets

Aaron Suggs

At Kickstarter, we’ve created a GitHub for Poets training class to introduce all employees to our engineering process and the codebase that runs kickstarter.com, regardless of their role or department. The one-hour class introduces attendees to making branches, commits, and pull requests using the GitHub Flow in a web browser. It’s a simple workflow, but the effects are profound. GitHub for Poets training has resulted in streamlined communication with our product team, and has demystified software development. Other teams are increasingly able to make copy changes in our code. People love seeing their handiwork live on the site. Since introducing GitHub for Poets: * The Customer Support team can seamlessly improve messaging on the site in response to tickets * The Editorial team can quickly fix typos * The HR Director can directly update job listings Kickstarter’s culture has strengthened as teams seek the transparency, inclusivity, and contextual history afforded by Git for all their work. Internal documentation moved to Git repos. Policy discussions moved from email to pull requests. In this talk, I’ll discuss tips for teaching a successful GitHub for Poets class, and the processes you should have in place to allow your staff to learn your codebase without compromising site reliability or security.

About the speaker:

Aaron Suggs is the operations engineering manager at Kickstarter, where he backs more video games than he has time to play. He enjoys building tools that makes developers happier.

1:30 PM  - 2:10 PM

Sean Kelly

Don't Fear Failure

Failure It's not a pretty word. Even hearing it probably brings back a memory, recent or otherwise, of a time in your career where you simply felt lost. A project ships late, if even at all. An idea ...

×

1:30 PM  - 2:10 PM, Element Stage

Don't Fear Failure

Sean Kelly

Failure It's not a pretty word. Even hearing it probably brings back a memory, recent or otherwise, of a time in your career where you simply felt lost. A project ships late, if even at all. An idea you publicly championed doesn't pan out. A coworker earns a deserved promotion that you were also working towards. An MVP crashes and burns. Someones design is chosen by the team over your own as the one to go with. The ways in which failure can manifest are limitless. It's not comfortable to talk about, either. We live in an industry where you're seemingly inundated with success stories everywhere you go. Some new startup that has a ludicrous idea, just got more money in VC funding than you'll ever see in your life. Or they were bought by any of the prestigious "acquisitors" in the world, elevating not only their bank accounts, but also their status among their peers, and really the world. Talking about your failures only seems to bring more light to the fact that you aren't them - and the feeling that the more people know of your failures, the further you are from success begins to sink in. But failure is important to talk about - it's important to embrace and to celebrate in many ways. No one is telling you to feel great about failing, but there is a lot of value in missing your mark that is easy to miss, and invaluable for teaching you how to keep refining your own personal process to learn how to succeed - even if it means redefining what you consider "success" to be. In this talk, I'll use anecdotes and stories from my own career to highlight the myriad ways in which I've encountered failure, what I was able to take away from those experiences, and how I've come to view failure and success as driving factors for my future work. I would hope that anyone listening to this talk would take away from it a greater sense of confidence in themselves, and also a larger sense of community - There are a lot of people out there with stories like these, with stories like mine and like yours, and we as a community should be embracing that.

About the speaker:

Sean (lovingly referred to as 'Stabby by his associates) has been doing a mediocre job at writing software for over 12 years, moving between .NET, Javascript, Python, Ruby, and Go. He's worked on data processing pipelines, asynchronous job systems, and applications doing in excess of 100 million requests per day. He's also worked on boring REST APIs, hacky one-offs, and a host of pointless open source projects that no one uses. He and his wife recently added a puppy and a kitten to their family, which has reduced his sleep-able hours down to a rounding error.

2:20 PM  - 3:00 PM

Jon McCartie

The Nomadic Coder

In 2014, my family had had enough of the typical 9 to 5. I tried the startup thing, I tried the corporate thing, I tried the non-profit thing. None of it was fulfilling. And the repetition of it all w...

×

2:20 PM  - 3:00 PM, Element Stage

The Nomadic Coder

Jon McCartie

In 2014, my family had had enough of the typical 9 to 5. I tried the startup thing, I tried the corporate thing, I tried the non-profit thing. None of it was fulfilling. And the repetition of it all was driving me crazy. So we sold everything we had, bought an RV, and hit the road. I'll talk through what led us to do this, how it's been going, and provide a few different ways for people to dip their toes into this lifestyle: from weekend warriors, short-term trips, international travel, and full-time travel. If you're a programmer, you have a TON of options to work from the road. I'd love to let people know they're not stuck and give them ideas on how to see the world -- not just a dark cubicle.

Jon sold all his stuff, bought an RV, and lives full-time on the road with his wife and 3 kids. Jon works at Heroku.

3:25 PM  - 4:05 PM

Steve Sloka

Ship it! Containerized Cloud-Native Deployments

How to take an app from laptop to production utilizing the future of container technologies. Learn best practices on how to develop and deploy containers across multiple servers using Kubernetes, and ...

×

3:25 PM  - 4:05 PM, Element Stage

Ship it! Containerized Cloud-Native Deployments

Steve Sloka

How to take an app from laptop to production utilizing the future of container technologies. Learn best practices on how to develop and deploy containers across multiple servers using Kubernetes, and open-source framework for automating deployment, operations, and scaling of containerized applications. Before merging to “develop”, build containers specific to a feature branch to test integrations, real workloads and validate for quality. Don’t stop at one environment, run as many parallel feature branches as compute is available. We’ll see how to deploy and update secrets and application configuration without rebuilding your image and without exposing secrets in your stack configuration. Then we’ll understand how to progressively roll out changes to your application or its configuration, while monitoring application health to ensure it doesn’t kill all your instances at the same time. Find out how containers and its orchestration can promote a clearer separation between “Ops” and “Dev” while enhancing code quality and achieve highly available apps on premise or in the cloud.

About the speaker:

Steve Sloka is a Software Architect from Pittsburgh, PA currently working at UPMC Enterprises dealing with all things Cloud and Containers.

4:20 PM  - 5:00 PM

Annie Ruygt

Open source and art: why it works and how to have fun with it.

The marriage between the creative arts and open source technology is slightly unexplored but has exciting and endless possibilities. For centuries, artists had patrons, giving them months (if not yea...

×

4:20 PM  - 5:00 PM, Element Stage

Open source and art: why it works and how to have fun with it.

Annie Ruygt

The marriage between the creative arts and open source technology is slightly unexplored but has exciting and endless possibilities. For centuries, artists had patrons, giving them months (if not years) of work and steady incomes. What's unique about having a patron, is the artist must collaborate and form a relationship with this person or affiliation. Direction will be given, feedback, or ideas exchanged. There's something really magical that happens when artists are called to explore and create. In retrospect, I did not come from a very commercialized background; my focus in college was children's book illustration and figure painting. Joining RethinkDB two years ago forced me to work for a brand new audience- one I did not know well at all. Yet unique methods of storytelling translated well toward branding. People responded well to characters/mascots, images with strong storytelling like comics, and illustrative t-shirt designs. When your product is open source, the art can be used to celebrate and document the community. It can be broad. It can express itself. Think Github's Octocat. #Tools of the trade: - Keys to creating a compelling character. - The value of engaging emotion. - Telling a simple, authentic story with the resources you have. - Examples of successful mascots, storylines, and why they work.

About the speaker:

Annie Ruygt was born and raised in California. She studied illustration and animation at Cal State Fullerton, where she learned about the importance of creating characters we can empathize with. When she's not singing cover songs, she's working at RethinkDB- and open source database company. She's been building their brand and creating their visual assets for the last 2 years, roping in what she's learned from animation, illustration, and storytelling. She currently lives and creates in the South San Francisco Bay Area where it never snows.

5:10 PM  - 5:50 PM

Micah Godbolt

Road Runner Rules: More what you’d call Guidelines for Design Systems

Wouldn’t it be great if we could spend less time trying to style the markup we’ve been handed, and more time creating a system of smart, reusable design components? Well, we’re in luck. With the incr...

×

5:10 PM  - 5:50 PM, Element Stage

Road Runner Rules: More what you’d call Guidelines for Design Systems

Micah Godbolt

Wouldn’t it be great if we could spend less time trying to style the markup we’ve been handed, and more time creating a system of smart, reusable design components? Well, we’re in luck. With the increased popularity of pattern libraries and the proliferation of templating languages, we finally have the tools to create and deploy our own design systems. But what is a design system, and how do we create them? What rules should it follow? How do I get my team on board? In this talk I will be pulling wisdom and insight from my past two years of creating a design system for Redhat.com. I will explain what we call our “Road Runner Rules”, which influence every piece of code that we write. I’ll be covering topics such as: - Atomic Modular Design - Element Queries - Single-selector CSS with BEM/BEDAM - Data Attributes Driven Modifiers - Style Guides - Pattern Libraries - Design System Team Exercises - Tips for Creating User Stories It doesn’t matter if you are a designer who wants to learn how to turn your visual language into a design system, or a developer who wants to create more modular components, you’ll want to sit in on this session and learn from the successes and failures of creating a large scale design system.

About the speaker:

Micah Godbolt is a Frontend Architect, author of [Frontend Architecture for Design Systems](http://www.amazon.com/Frontend-Architecture-Design-Systems-Sustainable-ebook/dp/B01B6WS868/ref=mt_kindle?_encoding=UTF8&me=), conference speaker, tweeting at [@micahgodbolt](https://twitter.com/micahgodbolt), writing at [Micah.Codes](https://micah.codes/), podcasting at [SassBites](https://twitter.com/sassbites)

Framework Stage

10:10 AM  - 10:50 AM

Marko Anastasov

How to scale up, one microservice at a time

These days the blossoming DevOps landscape has given everyone the tools to adopt microservices. And it’s not about replacing a monolith with a set of REST APIs: the pressure of one such service going ...

×

10:10 AM  - 10:50 AM, Framework Stage

How to scale up, one microservice at a time

Marko Anastasov

These days the blossoming DevOps landscape has given everyone the tools to adopt microservices. And it’s not about replacing a monolith with a set of REST APIs: the pressure of one such service going down usually causes chain reactions and results in lost data at best. You can stay agile at scale by building pub/sub services that communicate via queues and messages buses. And if you build them with the Unix mindset of doing one thing well, you end up with a particular style of microservices that are incredibly fun to write and fast to deploy. If your team is spending more time solving technical problems than shipping value to users, come learn how to get started with this simple, elegant approach of building software. We’ll see what asynchronous microservices look like in code, what tools we need to adopt in order to deploy them efficiently, and you’ll gain a whole new way to think about programming.

About the speaker:

Marko Anastasov is a software designer, engineer and entrepreneur. He is the founder of [Rendered Text](http://renderedtext.com), a company that created [Semaphore](https://semaphoreci.com), a continuous delivery service. Being passionate about making better software and exploring better ways to make software, Marko's favorite topics are continuous deployment, test-driven development and microservices.

11:00 AM  - 11:40 AM

Mikaela Patella

Web Development is Distributed Systems Programming

Web development has an undeserved reputation. Many in our industry hesitate to call it “real programming,” yet designing even the simplest web application draws upon deep traditions in networked compu...

×

11:00 AM  - 11:40 AM, Framework Stage

Web Development is Distributed Systems Programming

Mikaela Patella

Web development has an undeserved reputation. Many in our industry hesitate to call it “real programming,” yet designing even the simplest web application draws upon deep traditions in networked computing. In this webdev real talk, we are going back to the beginning. We will graph out the advancement of web systems from their humble origins, and, with each new storage and rendering component, watch the architectures of today’s massive web systems emerge. We will then explore recent works from members of the greater community that push the boundaries of this era in our distributed web.

About the speaker:

Mikaela Patella is a meat computer who produces multimedia works, software, and screencasts. She also works with Yet Analytics as a Senior Software Engineer to help make collecting, exploring, and interacting with data more humane.

11:50 AM  - 12:30 PM

Greg Nicholas

Conversational User Interfaces: Let apps speak for themselves

Let's be honest, when we talk about UI design, we're really just talking about **G**UI design. We think in terms of buttons and grids, fonts and images, touch screens and displays. We might throw in s...

×

11:50 AM  - 12:30 PM, Framework Stage

Conversational User Interfaces: Let apps speak for themselves

Greg Nicholas

Let's be honest, when we talk about UI design, we're really just talking about **G**UI design. We think in terms of buttons and grids, fonts and images, touch screens and displays. We might throw in sound effects here and there, but those are just bells and whistles (literally). Why do we largely ignore our devices' microphones and speakers? After all, audio is the modality of choice when it comes to interfacing with each other. We have very few examples of consumer-oriented conversational interfaces. In 2016, we can't blame core technology limitations for this deficiency (at least not *completely*). Speech recognition can be accomplished with a web API call, natural-language understanding services are bringing the fruits of machine learning research to the masses, and speech synthesizers no longer sound like robots. You could argue that the tech still has a bit of growing up to do, but Apple II displays only offered 200 monochrome scan-lines and that didn't stop developers from building hundreds of graphical applications for the platform. Thankfully, Oregon Trail was still able to spring into existence. We argue that overcoming core technical limitations is only part of the battle. Before this tech can drive the propagation of robust conversational user interfaces (CUIs) into widespread adoption, we need true **CUI frameworks** to provide the scaffolding that GUI frameworks have been providing for a long time. Without proper abstractions, all time and effort is spent on *how* to use the technology to present an interface, rather than the original design concerns of *what* to present. As a concrete example of what such a framework could consist of for audio interfaces, we'll discuss SayKit, an iOS SDK created to provide a native framework for CUI development inspired by Apple's own native GUI framework (UIKit). We'll discuss the various design decisions that went into creating SayKit and how we believe it can help foster a new wave of conversational applications. Finally, we'll show a few live examples along with the straightforward code underlying them. In particular, the talk will tackle the following topics: - The promise of conversational UIs - Their history (or lack thereof) in consumer applications - A UI framework's role in a developer's arsenal - Why the existing patchwork of voice services alone cannot fulfill that role - How SayKit was built to provide a structured, intuitive, and declarative approach to authoring conversational interfaces

About the speaker:

I'm the lead developer for a Pittsburgh-based company ([Conversant Labs](http://www.conversantlabs.com)) that specializes in creating conversational applications and tools. Before that I spent a few years doing independent contracting, offering development and project management services for both web and native mobile development. In general, I've tried to focus my professional (and hobby) efforts on projects attempting to have an impact on people with disabilities. I've got an M.S. in Computer Science from Brown University, and a B.S. from the University of Pittsburgh in CompSci, Math, and Psychology.

12:40 PM  - 1:20 PM

David Hoerster

The Curious Case for the Immutable Object

As object oriented developers, the concept of immutability is more academic than practical. However, with the advent of multi-core processors and the broader adoption of async/await patterns, concurre...

×

12:40 PM  - 1:20 PM, Framework Stage

The Curious Case for the Immutable Object

David Hoerster

As object oriented developers, the concept of immutability is more academic than practical. However, with the advent of multi-core processors and the broader adoption of async/await patterns, concurrency becomes an issue. How do you ensure there are no side effects from other processing? Do you use locks and interesting ways of tracking when threads complete? Perhaps we need to adjust our approach to designing systems that are more open to concurrency side effects due to a more imperative style of programming. In this session, I'll talk about some problems that mutable state introduces, and how introducing some immutability concepts into your systems can address these issues. We'll look at events as a time series data store, along with designing your programs to be more functional in nature. We'll even look at this approach with JavaScript by looking at Redux as a stand-alone state store.

About the speaker:

David Hoerster, a 5-time .NET (C#) MVP, is a recovering corporate financial analyst and has been working with the Microsoft.NET Framework since the early 1.0 betas. David is the conference chair of Pittsburgh TechFest, the leader of the Pittsburgh Reactive Systems user group (http://meetup.com/reactive), the former president of the Pittsburgh .NET User’s Group (PGHDOTNET) and is also a regular speaker at Pittsburgh and regional user group and community conference events. David can be found rarely blogging at http://blog.agileways.com and tweets occasionally at @DavidHoerster.

1:30 PM  - 2:10 PM

Mike Taylor

De-facto standards hacking: bringing -webkit- prefixed CSS to a browser near you.

What's the difference between the CSS that's written down in specs and the CSS that's deployed on the (mobile) web? And if a difference exists, is that a failure of standards bodies, browser vendors, ...

×

1:30 PM  - 2:10 PM, Framework Stage

De-facto standards hacking: bringing -webkit- prefixed CSS to a browser near you.

Mike Taylor

What's the difference between the CSS that's written down in specs and the CSS that's deployed on the (mobile) web? And if a difference exists, is that a failure of standards bodies, browser vendors, or developers? In this talk I'll present the WHATWG's efforts to standardize "non-standard", often -webkit- prefixed CSS as first-class citizens of the web &mdash; the Compatibility Living Standard. We'll learn about the (often controversial!) history of browsers implementing other browser's vendor prefixes and look at landmines, problems and solutions along the way.

About the speaker:

Mike Taylor is a Web Compatibility Engineer at Mozilla, where he mostly just stares at broken things from sunny Austin, Texas. Before that he worked as a Web Opener at Opera Software, which is a funny name for basically the same thing.

2:20 PM  - 3:00 PM

Barak Chamo

Generative Art with JavaScript and CSS

Up until very recently, if we wanted to generate parametric stylesheets, re-use blocks of code or describe styles with functions we had to resort to preprocessors such as LESS or SASS. These preproces...

×

2:20 PM  - 3:00 PM, Framework Stage

Generative Art with JavaScript and CSS

Barak Chamo

Up until very recently, if we wanted to generate parametric stylesheets, re-use blocks of code or describe styles with functions we had to resort to preprocessors such as LESS or SASS. These preprocessors make our lives a whole lot easier but have one significant drawback; once the styles are compiled, they are STATIC. Static styles make it tricky to create truly dynamic and data- or parameter-driven web experiences with CSS - enter calc() attr() and var(). With these CSS features we are finally able to craft context-aware styles that are easily connected to the DOM and JavaScript manipulation. To show what CSS is now capable of we’ll explore examples of generative art and audio visualization with JavaScript and CSS and some “real-life” examples of things we had to do with JavaScript but can now accomplish with pure CSS.

About the speaker:

Hi, I'm Barak I'm a London-based software developer, creative coder, entrepreneur, musician and a bunch of other things :) Formerly an engineer for Staance, Ometria, CoolaData and others, I've worked with startups around the world focusing on developing meaningful user experiences, insightful data visualizations and innovative products. I'm mostly self taught and such, I constantly seek to learn and experience new things. As a creative maker I enjoy messing around in the space between art and technology. I recently returned from the Recurse Center in NY where I explored Audiovisual software, IoT, game development and other creative coding pursuits. I'm excited by new technology, love exploring it and talking about it :)

3:25 PM  - 4:05 PM

Todd Waits

Documentation Sucks: or How I Learned to Curate Information Instead of Write Documents

Specification documentation (requirements documents, design documents, etc) are important artifacts in a software development environment. As soon as these artifacts are created, they quickly become o...

×

3:25 PM  - 4:05 PM, Framework Stage

Documentation Sucks: or How I Learned to Curate Information Instead of Write Documents

Todd Waits

Specification documentation (requirements documents, design documents, etc) are important artifacts in a software development environment. As soon as these artifacts are created, they quickly become outdated as soon as fingers hit keys and an application morphs and adapts to address problems. Often these updates do not get noted in the documentation. Documents are either abandoned or there is a mad dash to slap together something that is "good enough." When there are multiple sources of documentation (document artifacts, wikis, issue trackers, commit messages, etc), then if the specifications are updated in one place, the specifications are deprecated in others and vice versa. Ideally, we can maintain a single source of information where people actually interact with and act on the data. Teams primarily interact with and make changes in issue trackers, wikis, and code repositories. Customers may consume document artifacts, but that is ultimately all they are: artifacts. They should not be working drafts, but a presentation of curated information contained in the actionable repositories of issue trackers, wikis, and code repositories. ## Takeways * How to use and document requirements where they are actionable and reportable * How to build documentation into the workflow of the team members * How to automate the task of generating document artifacts

About the speaker:

Todd Waits is a project lead at the Software Engineering Institute, an FFRDC in the US. Todd uses his Masters degree in Entertainment Technology from Carnegie Mellon University to provide a unique perspective while improving workflows and processes with innovative technology solutions. He helps law enforcement and government agencies embrace modern technologies. Internally within his organization, he helps groups transition to a sustainable DevOps model based on sound, transparent process.

4:20 PM  - 5:00 PM

Emily Nakashima

What Your Javascript Does When You’re Not Around

When we shipped our big re-write of Bugsnag’s customer-facing dashboards as a 40,000 line React app, first we celebrated ... and then we looked at our client-side monitoring and did a lot of head-scra...

×

4:20 PM  - 5:00 PM, Framework Stage

What Your Javascript Does When You’re Not Around

Emily Nakashima

When we shipped our big re-write of Bugsnag’s customer-facing dashboards as a 40,000 line React app, first we celebrated ... and then we looked at our client-side monitoring and did a lot of head-scratching. We’d tested in multiple browsers and thought through dozens of use cases, but when we looked at the kinds of real errors coming back to us from the wild, the reality was so much weirder than we'd expected. As client-side app frameworks like React and Ember keep growing more popular, we're shipping more and more application logic out to users' browsers. But most of us never find out much about what happens to it after we send it out to the client. This talk will take you on a fast-paced tour of all the strange cases we’ve looked at since shipping our new dashboard, from overseas proxy sites to rogue browser extensions to out-and-out clones of our UI. Finally, we’ll talk about how to cut the noise and focus on monitoring and mitigating the cases that really matter to your users’ experience.

About the speaker:

Emily leads the front end engineering team at Bugsnag. In the past, she's worked on javascript, web perf, ruby, and monitoring at companies like GitHub, ModCloth, and Wanelo. She organizes an unconference called AndConf, hangs out at Double Union, and volunteers for Railsbridge.

5:10 PM  - 5:50 PM

Amy Hepner

The Analytics of Social Progress: When Machine Learning meets Human Problems

In recent years, machine learning has fueled advances in logistics, retail, media consumption, health care, finance and banking. These solutions have earned relatively few people a lot of money! Can...

×

5:10 PM  - 5:50 PM, Framework Stage

The Analytics of Social Progress: When Machine Learning meets Human Problems

Amy Hepner

In recent years, machine learning has fueled advances in logistics, retail, media consumption, health care, finance and banking. These solutions have earned relatively few people a lot of money! Can machine learning also be applied to social problems for the betterment of all? Amy Hepner, Data Scientist, will discuss four real world problems tackled in 2015 by Data Science for Social Good fellows (dssg.io): 1. Identifying police officers at an increased risk of adverse public interaction 2. Early detection of high school students not on track to graduate 3. Locating blighted homes in Cincinnati, and 4. Targeting supporters for online political activism and fundraising Focusing on the opportunities and risks of applying math to human service, we will discuss the basics of supervised machine learning and the implications of applying math to community: when is it helpful and how can we assure that it is not perpetuating systemic bias? Come if you’ve always wondered what machine learning/analytics really means, or if you are interested in math solutions to social justice problems.

About the speaker:

Amy Hepner, former community organizer & public school teacher, leverages her background in human service to apply machine learning to social problems in a responsible way. By day, she works as a data scientist building information rich software & by night she doubles as "bomber", bike enthusiast.