DevIgnition 2013

Schedule!

As promised, below is our final schedule.

Pile (Room 1) Ink (Room 2)
08:30-09:20

Registration and Breakfast (Ravenhill)

09:20-09:40

Welcome and Introduction

09:40-10:10

Responsive Web Design

by Caroline Wizeman

Cloudera Search: An Introduction

by Ryan Gimmy

10:10-10:25

Break

10:25-10:55

Best Practices for Component-Based Development

by Mike Hansen

Google Glass

by Luis de la Rosa

11:00-11:30

Building ICE: There's a Pod for That

by Jennifer Kinney & Fabian Canas by Lance Ball

Vert.x - Bringing the Browser to the Cluster

by Lance Ball

11:30-11:45

Break

11:45-12:15

A Slice of Raspberry Pi

by Stephen Mouring

Android and iOS Development with Java EE 7

by Ryan Cuprak

12:20-12:50

Neo4j Graph DB and the Cypher Query Language

by Wes Freeman

Lean and MEAN with a Head of Steam

by Jonathan Altman

12:50-02:05

Lunch (Ravenhill)

02:05-02:35

Visualizing Big Data

by Judy Xu

Data Science as a Team Sport

by Stephanie Rivera, Brian Keller, and Armen Kherlopian

02:40-03:10

The Shape of Functional Programming

by Michael Fogus

Mobile Automation via Appium

by Lance Simons and Chris Hubbart

03:10-03:25

Break

03:25-03:55

Hold the Lambdas! Functional Constructs in Java Today

by Will Hayworth

High Performance e-Commerce

by Gill Haus and Sunil Tewari
04:00-04:30

Building Database-Driven Apps with Go

by Baron Schwartz

Building a Continuous Delivery pipeline with Gradle and Jenkins

by Benjamin Muschko

04:30

Beer Summit (Ravenhill)

Building Database-Driven Apps with Go by Baron Schwartz

Baron Schwartz Go is rapidly becoming a popular language for server-side development, and has great support for databases built-in. But how does Go's database/sql package work? There's not much in the way of examples in the documentation; you have to kind of figure it out. But the common usage patterns are actually pretty simple (and there aren't many). I'll share what I've learned about that.

In addition, I've found a number of surprises, lightly documented things, and interesting little-known features of the database/sql package. I'll cover all of these things. If you're considering building an app that connects to a database with Go, this talk could save you some time, money, stress, and data.

Baron Schwartz is CEO and co-founder of VividCortex, a Charlottesville startup focusing on database performance management through measurement and analysis of server workload. He's the lead author of High Performance MySQL, an Oracle ACE, and speaks and writes widely on system and database performance, scalability, and capacity analysis.

Building ICE: There's a Pod for That by Jennifer Kinney & Fabian Canas

MapQuest has just released an iPhone app that consumes several enterprise services. Using CocoaPods, we were able to drastically improve and simplify our development process and product.

Jennifer Kinney Jennifer Kinney joined MQ in Oct 2012 as a Senior Technology Director with a distinguished career in technology and product development. She was able to successfully guide the team in numerous successful launches (Discover page, Travel blogs, Online Travel Agency, new iOS and Android Apps) both on desktop and Mobile applications and quickly growing onto to taking additional responsibilities as the Engineering Lead & Chief Architect for MapQuest Desktop and Mobile Applications. Previously she was senior solutions architect and team lead at an international renewable energy firm, responsible for business solutions architecture and design, as well as technical strategy. Prior, Kinney led technical strategy, product development, quality assurance and deployment of a custom portal for the National Renewable Energy Lab commercialization, where she worked with many startup and established businesses in adoption of early stage technology products.

Fabián Caña Fabián Caña is a Senior Software Engineer at MapQuest/AOL. He comes from a varied background spanning Neuroscience, Machine Learning, Robotics, Cognitive Psychology, and Biomedical Engineering. As a member of MapQuest's mobile engineering team, he is focused on raising the quality of code and architecture while keeping complexity under control.

Visualizing Big Data by Judy Xu

Big Data implementations allow fast storage and retrieval of huge amounts of unstructured and semi-structured data. Common data sets include genomics data, traffic data, and social media data. NoSQL databases, which are highly distributed and horizontally scalable, form the foundation of many of these implementations with MongoDB among the most widely used. But how do you make any sense of this huge treasure trove of information? With several (i.e., hierarchical or flat) methods to connect to Big Data sources, how do you choose the right way? Join us to discover how to visualize these large sets of data and how you can easily apply data visualization and analytical functionality to your Big Data, all while avoiding the pitfalls.

Judy Xu Judy Xu has been leading Jinfonet's JReport Technical Support and Professional Services teams since 2006. From 2004, she worked as a professional services technician where she delivered onsite trainings, designed reports and helped clients with their systems integration. She joined Jinfonet Software in 2001 as a member of technical support where she focused on resolving a wide range of customers' technical issues.

Mobile Automation via Appium by Lance Simons and Chris Hubbart

As mobile application development continues to grow, the need for effective, efficient testing is at a premium. Mobile test automation provides a means to regression test mobile apps so that developers and testers can focus on new feature creation.

This presentation will provide a brief overview of the Appium automated testing framework for native mobile applications. It will also include a demonstration of how AOL has integrated this tool for automated testing of Android and iOS mobile applications.

Lance Simons Lance Simons has worked at AOL for 13+ years as a Software Engineer in Test. After working on the AIM project for many years, Lance now develops automated scripts to test AOL's vast array of mobile applications. Lance resides in Seattle, WA.

Chris Hubbart Chris Hubbart has worked for AOL for 12+ years and was the first QA Engineer to win an AOL Hackathon. He has worked on many components for AOL including the connectivity infrastructure, billing systems, Games.com and Moviefone. He is currently a Principal Software Development Engineer in Test at AOL. He and his teammates create and maintain a suite of automated tests for AOL’s diverse array of iOS and Android apps.

High Performance e-Commerce by Gill Haus and Sunil Tewari

Building a scalable e-commerce solution can prove more challenging than anticipated. Competing business priorities, various open source and off the shelf solutions, and resource constraints add complexity and often create changes to your schedules and approaches late in the game. Hear the lessons we learned in building a high performance e-commerce solution at AOL so that you can avoid these pitfalls and move at the speed of the Internet!"

Gill Haus Gill Haus is the CTO of Paid Services. He is accountable for billing and subscriptions systems that power various AOL brands, including Lifestore and Gathr.

Sunil Tewari Sunil Tewari is an industry veteran and is the Technical Director leading our new product and e-commerce solution efforts at AOL. Sunil is a graduate of Virginia Tech.



Data Science as a Team Sport by Stephanie Rivera, Brian Keller, and Armen Kherlopian

Rivera, Keller, and Kherlopian What it is like to have Data Science as a profession? Data scientists Stephanie, Brian, and Armen, will discuss approaches taken, examples of past work, and the perspective of Data Science as a team sport.

Stephanie Rivera, Brian Keller, and Armen Kherlopian: are Data Scientists at Booz Allen Hamilton and work in a number of markets. Their work includes performing data science in defense, health, finance and cyber security. All three are coauthors of a short book in press called The Field Guide to Data Science . The speakers are also involved in a number of Data Science community events and Data Science development efforts. Stephanie's degrees are in Mathematics with focuses on ecological modeling, graph theory, and machine learning. Brian's degrees are in Systems and Industrial Engineering with a focus in optimization, statistics, and machine learning. Armen's degrees are in Biomedical Engineering and Biophysics with focuses on high performance computing, visualization, and mathematical modeling.

Hold the Lambdas! Functional Constructs in Java Today by Will Hayworth

Will Hayworth For several reasons, functional programming has become significantly more popular over the past decade--and out of every mainstream modern programming language, Java may be the most inherently hostile to it. Closures, for example, are high-overhead and seriously non-idiomatic. Java 8 promises to change this with Project Lambda--but many of us will still write code for Java 7 even after it's released.

In this presentation I'll explain that there's still a lot that functional thinking can give us in pre-lambda versions of Java. We'll demonstrate code that you can use in production right now that offers improved safety and productivity, and we'll also take a look at what's coming in Java 8.

Will Hayworth takes pride in crafting software at Lab49, where engineers create bespoke solutions for the financial services industry and where he is the proud cohost of their internal tech talk series. He enjoys functional programming and the actor model.

Vert.x - Bringing the Browser to the Cluster by Lance Ball

Lance Ball Vert.x is an asynchronous, event-driven application platform that runs on the JVM. It uses a multi-reactor event loop to achieve a very high number of concurrent connections, and is similar to Node.js in style and usage. Due to its JVM underpinnings, Vert.x is a polyglot platform, supporting several JVM languages, including Javascript, JRuby, and Clojure. Clustering is built-in and remarkably easy to use, and the Vert.x event bus makes passing messages between components or applications simple. With JSON as the native message format, and a SockJS client that speaks directly to the event bus, pushing event-based messages to the browser has never been easier.

In this talk I will introduce the Vert.x platform, provide an overview of the API, and finish up with a demo application that uses the Vert.x event bus along with Backbone.js and MongoDB to synchronize messages across a server cluster and connected browsers.

Lance Ball is a Senior Software Engineer at Red Hat and is a member of Project Odd, a group of Red Hat developers focused on polyglot open source research and development. He is a core contributor to DynJS, a new Javascript runtime for the JVM; and a core contributor to TorqueBox, a JRuby application server. For the Vert.x project, Lance maintains the Javascript language modules: mod-lang-rhino, mod-lang-dynjs, and mod-lang-js.

The Shape of Functional Programming by Michael Fogus

Michael Fogus You may have heard the news that functional programming is in and object-oriented programming is out.  Well, that's not actually true, but it's safe to say that functional programming is grabbing the attention of more and more software developers.  A rapidly growing programming paradigm, functional programming is about tackling software complexity by focusing on loosely coupled functions building up to larger-level programming abstractions.  In this talk I'll run through the basic concepts behind functional programming using JavaScript and build up to more complicated topics along the way.

Michael Fogus is the author of the book 'Functional JavaScript' by O'Reilly living in the Washington DC area performing acts of distributed simulation.  Additionally, he’s actively involved in the Clojure and Underscore.js communities.

Cloudera Search: An Introduction by Ryan Gimmy

Ryan Gimmy Cloudera Search was released as an addition to Cloudera's umbrella of big data products to give access to non-developers access to simple, full-text searching of data that has been ingested into Hadoop and/or HBase. For developers, it is a tool that can allow you/users/data scientists to search through datasets that are otherwise too large to search through by traditional means.

This talk will go over Cloudera Search's use-cases, basic architecture, and the ways in which you can interact with both it through it's API calls and UI. Knowing the basics of Hadoop and/or Solr is a bonus, but definitely not required.

Ryan Gimmy is an experienced software engineer at Altamira Technology Corporation who works on big data solutions that include Hadoop, Hive, HBase, Accumulo, ZooKeeper, Apache Blur, and Impala. When he is at home, he develops mobile apps and robotic systems. He is Cloudera developer certified, and he loves the Bash scripting language because it is cryptic enough to always be interesting.

Lean and MEAN with a Head of Steam by Jonathan Altman

Jonathan Altman In this presentation we will cover what the MEAN stack (MongoDB, Express, Angular, Node.JS) is, and go through the pieces used in building a sample application that powers a lead generation data collection form for websites. We will walk through how the MEAN components connect together to build the application, and some of the associated tools like bower, grunt, and mocha that power the development workflow.

The goal is for attendees to walk away with an understanding of how the pieces of the MEAN stack fit together to create an application, and enough information and pointers to resources to get started writing their own MEAN apps.

Jonathan Altman is a frequent speaker on open source, especially node.js and MongoDB, in the Washington DC area. He is the founder of InTheBin a company building a mobile app to help people make better recycling decisions, as well as Async IO , a software consulting and contracting company helping companies with their SaaS and webservices-driven mobile applications needs. He is also one of the co-organizers of the node.dc NodeJS meetup, and has been coding with node since 2009.

Neo4j Graph DB and the Cypher Query Language by Wes Freeman

Wes Freeman Wes will talk about modeling data in Neo4j, give some graph database use cases, and show some example queries in Cypher. Neo4j is a property model graph database with its own native graph storage. It has drivers for most popular languages. Cypher is a declarative query language designed with graphs in mind, making use of ascii-art graph pattern matching along with other SQL-like syntax.

Wes Freeman is an experienced software engineer, excited about graph databases – especially the Cypher query language, to which he is a community contributor. He created the AnormCypher Neo4j "driver" for Scala. Wes is also the DC/Baltimore Graph Database meetup group organizer.

Wes works at Information Analysis Inc. in Fairfax, VA (a Neo Technology partner).

A Slice Of Raspberry Pi by Stephen Mouring

Stephen Mouring The Raspberry Pi, the pocket size Linux computer with a $35 price tag, is an open door for electronics, the maker movement, the internet of things, education, or just about anything you can imagine. A flexible and powerful, but inexpensive and simple platform, the Raspberry Pi has an incredible array of possibilities that are fun and easy to exploit.

In this talk, we will go through the setup required and tools that exists for using the Raspberry Pi, and introduce you to the growing ecosystem of software and projects that is growing up around it. We will walk through some use cases for a Raspberry Pi on your home network and then we will dive into the electronics side of the Pi and show off some of the things it can do with a few wires, a breadboard, and some uninhibited electrons.

Stephen Mouring is a passionate software developer and maker living in Northern VA. When he is not cultivating software for a living, he is hacking on his Raspberry Pi cluster, wiring something into one of his Arduinos, blogging on something technical, or wearing archaic armor and weaponry while fermenting mead.

Stephen works for and owns part of Sequoia Holdings Inc., an awesome company based in Reston, VA.

Building a Continuous Delivery pipeline with Gradle and Jenkins by Benjamin Muschko

Benjamin Muschko Getting software from a developer's machine to a production environment without a fully automated process is time-consuming and error-prone. Continuous Delivery enables building, testing and deploying of software through build pipelines with well-defined quality gates. In this session, we will discuss how to build an exemplary pipeline with the help of Gradle and Jenkins.

With Jenkins as the centerpiece of our build pipeline, we'll model our way from build to deployment. We'll start by introducing a case study application and learn how to build it with Gradle. Step by step, we will touch on topics like developing unit, integration and functional tests, incorporating popular OSS code quality tools as well as packaging, publishing and deploying the deliverable.

Bengamin Muschko is a software engineer with more than 10 years of experience in developing and delivering business applications. He is a member of the Gradleware engineering team, developer of several popular Gradle plugins and author of the book "Gradle in Action" published by Manning.

Android and iOS Development with Java EE 7 by Ryan Cuprak

Ryan Cuprak Mobile application development powered by platforms such as Android and iOS is here to stay. This heavily code-driven session shows you how you can effectively utilize Java EE as the back-end powerhouse for your Android and iOS applications. It demonstrates how to write effective service APIs with JAX-RS, JSR 356/WebSocket, JSON-P, CDI, and Bean Validation; how to hook these services up to Android and iOS applications; and what best practices/pitfalls you should be aware of on the way.

Ryan Cuprak Ryan Cuprak is an e-formulation analyst at Dassault Systemes, author of the NetBeans Certification Guide from McGrall-Hill, and president of the Connecticut Java Users Group since 2003. He is also a JavaOne 2011 Rockstar Presenter. At Dassault Systems he is focused on developing data integrations to convert clients' data and also user interface development. Prior to joining DS he worked for a startup distributed-computing company, TurboWorx, and Eastman Kodak's Molecular Imaging Systems group, now part of Carestream Health. At TurboWorx he was a Java developer and also a technical sales engineer supporting both presales and professional services. Cuprak has earned a BS in computer science and biology from Loyola University Chicago. He is a Sun Certified NetBeans IDE Specialist.

Responsive Web Design by Caroline Wizeman

Caroline Wizeman Nowadays, the online world of even novice users is full laptops, tablets, and mobile phones. How can we optimizing our user's experience with our web apps across a such a wide variety of devices? This talk will discuss how Responsive Design techniques solve this problem, allowing apps to perform well in many different environments.

Caroline Wizeman is the Director or Marketing and Communications at Altamira Technologies Corporation. Throughout her career she has been responsible for the artwork and design of numerous web sites both for external clients and in house projects, such as Altamira's Game On gamification project.

Google Glass by Luis de la Rosa

Luis de la Rosa An overview of Google Glass and the brand new Glass Development Kit (GDK), and a demonstration of how to build a Glass application.

Luis de la Rosa is the Director of Technology for savvy apps, a boutique agency that creates Android and iOS apps. He is passionate about mobile apps. Luis is also the Lead Organizer for iOSDevCampDC. He blogs at luisdelarosa.com.

He lives in the Washington D.C. Metro area with his wife and six boys. In his spare time, he builds LEGO creations and plays video games with his eldest sons.

Best Practices for Component-Based Development by Mike Hansen

Mike Hansen Usage of Java components to build applications has grown exponentially. Most applications are now composed primarily of components - 80 - 90% of an application consists of components.

Many of these components are open source components that are housed in the Central Repository, the defacto standard used by open source project teams to distribute their binaries. Recent research shows some interesting trends:

  • 13 billion components were downloaded from Central in the last 12 months.
  • 53% of survey respondents are standardizing on an open source development infrastructure stack.
  • 76% of large organizations have no control over what components are being used in software development projects

Although components help improve developer productivity so that applications can be delivered faster, if components are not managed effectively, security, licensing, and quality issues can put your organization at risk. Industry analysts and standards efforts recognize managing components as a key requirement for modern development efforts.

Join Mike to learn best practices for managing and exploiting these components. He'll discuss the current state of application development market, the promise and challenge of components, and we'll provide you with a set of best practice considerations to kick-start your component management initiative.

Mike Hansen brings nearly 20 years experience building and leading global product development organizations ranging from start-ups to the Fortune 100. Most recently Mike was Vice President of Development for Hanley Wood where he led development across five product lines, including the creation of advanced business analytics platforms for the residential construction industry. Prior to this, Mike was Vice President of R&D for Bantu where he led product development efforts that drove one of the worlds largest private instant messaging networks with the U.S. Department of Defense. Earlier in his career, Mike was part of the early interactive television efforts at Bell Atlantic which, as a byproduct, helped commercialize DSL as one of the initial high-speed on ramps to the internet and later produced Verizon FiOS.