Monday, July 14th
9:00amMission Critical InnovationMission Operations Innovations LeadDr. Jeff Norris is the Mission Operations Innovation Lead at the NASA Jet Propulsion Laboratory, where he leads a variety of projects focused on transformational advancement in systems for the control of spacecraft and robots. Jeff also founded and leads the JPL Ops Lab, an advanced facility for the design and development of mission-critical software and human-robot interaction technologies. Previously, he led the development of control tools for the Spirit, Opportunity, and Curiosity Mars Rover missions. Jeff was awarded the 2009 Lew Allen Award for Excellence and the 2004 NASA Software of the Year Award, NASA's highest software honor. He received Bachelor's and Masters degrees in Computer Science from MIT and a Ph.D. in Computer Science from the University of Southern California.
10:00amLightning fast mobile development at scale
In this talk, I will present detailed technical descriptions of specific processes we have developed for extremely fast client and server side mobile development at the scale of LinkedIn.
- Fast build, develop, test, release and monitor processes
- Screen based JSON for client side rendering and effortless server controlled A/B testing and bug fixes across multiple mobile platforms
- Screen based automation testing on the client for automated release validation
- Client side feature flag based trunk development model
- Train model based release process for native apps
- Fast and reliable VCR based route tests on the server (commit to production within hours)
- Automated monitoring like crash log analysis and staged rollouts across dimensions like client/os versions
Most of the processes I will talk about will have live demos or sample code. All of them are currently used in production and I will have real-world examples/statistics to back up my material. I believe that attendees will walk out of this session armed with practical solutions to most of the major hurdles that large scale mobile development involves. LinkedIn is one of the biggest mobile deployments and I want to share our techniques that we have refined in the last two years that can benefit the community at large. This session is targeted to mobile engineers/developers in small to mid-size establishments who are rapidly growing their mobile presence on any mobile platform.Senior Software Engineer
Akhilesh has been leading the server team for LinkedIn Mobile (iOS, Android, Touch) for the past two years. He is responsible for designing and implementing a lot of the server side architecture for the LinkedIn mobile apps. He holds a Masters degree in CS from Stanford University.
You can view more on his LinkedIn profile.
10:00amAdding Static Type Checking to a Dynamic Language
Julia is a new dynamically-typed language for technical computing. While it uses types for many things, type checking is not one of them. TypeCheck.jl is a Julia package for when you want static type checking; it collects static-analysis functions that look for common problems in your code: problems that can cause run-time errors or reduced efficiency. TypeCheck.jl's type analysis uses the compiler's type-inference, so it's never out of sync with how your code is being compiled.Software Engineer
Leah is a software engineer at Google. She spent the Spring of 2013 at Hacker School, where she started learning Julia and wrote WebSockets.jl. The rest of her year was spent writing Julia code, including TypeCheck.jl. She has presented 3 hour Intro to Julia workshops at LambdaJam, Strange Loop, and Strata NYC.
11:00amA New Type of PHP: HHVM and Hack
When Facebook needed to scale millions of lines of legacy PHP code, rewriting everything in another language wasn't an option. Instead, they created the HHVM JIT compiler, and the HipHop PHP-to-C++ compiler before it, as drop-in replacements for the standard PHP interpreter. As an open-source project, HHVM has matured considerably over the past year and has now become a viable option for use outside of Facebook. However, the goal wasn't just to make PHP run faster. In March, Facebook open-sourced Hack, a reimagined version of PHP with a host of features borrowed from other languages (e.g. explicit typing, first-class collections, generics, and async capabilities). This session will take a look at what HHVM and Hack bring to the table for those working with PHP today.Software Engineer
Jeremy Mikola is a software engineer at MongoDB's NYC office. As a member of the driver and evangelism team, he helps develop the PHP driver and contributes to various OSS projects, such as Doctrine ODM, Symfony2 and Zend Framework. Previously, Jeremy helped build great things with Symfony2, MongoDB, and a handful of other interesting technologies at OpenSky and Exercise.com. Jeremy lives in Hoboken, NJ and is known to enjoy a good sandwich.
11:00amSimplifying Big Data with Apache Crunch
The MapReduce framework is a proven method for processing large volumes of data but even simple problems require expertise. Tackling the learning curve for Big Data and efficient processing is a daunting task for developers just getting started. The Apache Crunch project helps to break down complex processing problems into simple concepts which can be utilized on industry standard frameworks such as Hadoop and Spark. Apache Crunch is being used as an integral part of building processing pipelines for healthcare data allowing for quick development of new solutions and architectures. The talk will also cover how the core concepts of Apache Crunch enable first class integration, rapid scaling of development across teams, and development of extensible processing infrastructure.Committer
Micah is a committer and PMC member on the Apache Crunch project. For almost a decade he has worked on building infrastructure and reusable assets for building a variety of cloud solutions. In the last few years his focus has shifted towards enabling the adoption of scalable technologies to build infrastructure for ingestion of and efficient processing in both a batch and near real time environment.
12:00pmKeeping Your Edge by Deploying Faster
Our deployment infrastructure must keep pace with our business. Users expect rapid innovation and quick response to bugs or they seek out alternatives, especially on the web. The product team at our company deploys ten or more times a day, but that’s not fast enough. For us, faster deploys mean faster innovation. We tweak and deploy new features repeatedly, searching for the solution that users will love. In response, our foundation team designed and rolled out a new system that reduces deployment time by 80% and eliminates wait time while also making it safer.
In this session, I'll talk specifically about how we broke our monolithic application into multiple, smaller services allowing simultaneous deployments and nearly instantaneous rollbacks when necessary. I’ll also detail the technologies we rely on, the components we built ourselves, and the challenges we encountered along the way so you can learn from our missteps. If you're interested in increasing the delivery speed of your organization, find your inspiration here!Software Engineer
12:00pmSMACSS Your Sass Up
I often ask myself these questions: Will this code be easy for the others to edit? Does it scale? Can I forget it and change it later without being lost?
While Scalable and Modular Architecture for CSS (SMACSS) is just one methodology, the principals of modular CSS are applicable to sites large and small. Using a modular approach in tandem with Sass can greatly improve development efficiency and project maintenance. I'll discuss specific techniques, such as selector inheritance and interpolation, that can greatly reduce the amount of code written. Your code will be more portable, making it easier to use code on other projects.Developer & Designer
Mina Markham is a Sass-lovin' UI developer/designer in Dallas, Texas. She recently founded the Dallas chapter of Girl Develop It, and also teaches for Black Girls Code. As a developer at Parago, she specializes in building responsive websites and modular CSS architecture. Mina has presented at various conferences and events, including Front-End Design Conference, Front Porch and Passion Projects. When she's not crafting sites or teaching others, Mina is probably in her kitchen baking something chocolatey.
1:00pmiBeacons, Passbook and the real augmented reality
Ten years ago technology was advancing to allow developers to create applications that ran from the palm of their user's hands.
Now, these mobile devices are on a collision course with every aspect of everyday life. This intersection won't happen overnight. It also won't happen with devices held in front of the face with overlays over live pictures. Instead it will be much more subtle and more gradual.
Learn more about two technologies Apple is using to lay the foundation for this reality in recent iOS releases. How can you take advantage of them? What do these and other technologies mean for you and your apps even if you aren't an iOS developer?iOS Developer
Matt Klosterman is an independent iOS developer in the Dallas-Fort Worth area. Matt got his first taste of mobile development in 2004 on a groundbreaking project that allowed storm chasers to send real-time severe weather pictures and video to a television broadcast.
Since then, Matt has focused on working on projects that use mobile devices to make a serious impact in the lives of their users. Recently, Matt consulted as the technical lead on a large iOS app featured as a day-one implementation of Passbook in 2012 and as one of the “Best New Apps” that accompanied the release of iOS 7 in 2013.
1:00pmComposing Test Generators
We don't like testing CRUD APIs, but if we must, we generate them! In this talk, I’ll cover writing generators that produce test requests and responses based on data-types we're familiar with, such as Ints, Strings, Maps, Keywords, as well as on custom types that reflect our domain (e.g. county-codes, email-addresses, partial-required's). I'll focus on how we implement Clojure's test.check, a property-based testing tool inspired by QuickCheck to produce randomized data for changing and newly-created inputs, as well as simulating requests with dynamic parameters (e.g. for search or collection filtering).
You’ll learn about converting Prismatic schema validation maps into variable sample data by way of injecting constraints and composing the results of basic generators with more novel ones throughout the test-generation process. I will show examples that demonstrate how granular these property-tests can become and how easily we can automate an exhausting, data-specific process.Programmer
Zeeshan became a programmer by way of film and music recording/technology. Moving from science center to startup to labs to EDM platform research, he accrued tons of necessary and needless information, and is a polyglot who will dive into anything related to programming languages, particularly functional ones, machine learning, and math. Additionally, he is one of the lead organizers and founders of Papers We Love!
2:00pmMicroclients for Microservices
"Microservice" is a term that has started popping up as a way to describe loosely coupled systems made of many small applications. While the general ideas of SOA aren't new, recent activity has pushed them towards ever smaller services with smaller, simpler interfaces—often JSON over HTTP in the REST or hypermedia model.
This talk will cover best practices for building microclients for these microservices, focusing in particular on leveraging the hypermedia model and some of the neglected parts of REST. The examples for this talk will be in Ruby, but the design principles are widely applicable, and HTTP is HTTP no matter where you program.
Writing servers is only half the battle to make the microservice model work. We need great clients too.CTO
Daniel Luxemburg is CTO at Bandwagon, a taxi sharing startup based in Brooklyn. Daniel has been working on location-aware web and mobile applications for the past five years. Prior to that, he worked as a consultant on emerging technology trends for clients including Fortune 500 companies and federal agencies. In his spare time he enjoys restoring old computers, playing with new types of hardware, and reading books.
2:00pmLeveraging the Free Monad
In functional programming, one of the key abstractions is the monad. If you strip a monad down to the bare minimum, you get the Free Monad.
This talk will show you how to use the Free Monad to implement 'instant' DSL's and separate the pure from the impure parts of your code. In the process, you'll see how to implement an HTML templating library in 15 lines of code and other wonders.Software Engineer
Jim is a long time programmer who discovered Clojure and functional programming about 6 years ago. Before that, he developed software in a variety of industries for applications like; industrial process control, digital audio, weather telemetry, digital video and telecom infrastructure. He currently works for ViaSat to help bring satellite broadband to home users. His blog is at http://clojure.net.
3:00pmTo the Moon and Back: Taking the Leap Towards Solving Big Problems
President John F. Kennedy was a visionary. In 1962, he proposed the seemingly impossible challenge of walking on the Moon. On July 20, 1969, that challenge became a reality. It was a moment in our history that propelled us into moving beyond our self-imposed limitations of what we, as human beings, are capable of doing.
Today, we see how this vision of space travel has affected our love and work on technology. Our multiple devices and subscriptions guide us through our daily lives, which has changed the way we see our world.
But how does this love for technology propel us forward to solve the most difficult problems we face as a society: ever growing issues, such as hunger, poverty, climate change, social inequality and injustice?
This talk reflects upon where we are as technologists, where we have been and how we can start focusing again on solving hard problems. We’ll go over ways attendees can contribute their talents, gifts and ideas to varying initiatives around the globe which are taking on these challenging issues.Developer & Designer
Julia Elman is a designer, developer and tech education advocate based in North Carolina. She has been working her brand of web skills since 2002. Her creative nature drove her to find work at Hallmark Cards, Inc in 2007 where she worked on projects such as the Product (RED) campaign and Hallmark’s site re-design. From there, she took a dive into Django as a Junior Designer/Developer at World Online in Lawrence, KS. She is currently working on a book for O'Reilly Media on advanced techniques for Django, a Python web framework.
In early 2013, she helped start a local chapter of Girl Develop It and empowered over 600 members to learn computer programming. She also helped organize the 2013 Teen Tech Camp, where 20 local teens learned Python programming in a one-day event. Julia is the Front End Engineering Instructor at The Iron Yard school in Durham, NC. You can follow her @juliaelman.
3:00pmErlang, or How I Learned to Stop Worrying and Let Things Fail
One doesn't have to participate in language wars to acknowledge that all languages are not created equal. Each has different strengths and weaknesses, but more importantly, certain languages are far enough removed from mainstream software development that learning them can open one's eyes to new ways of solving problems.
Erlang has several unusual features which collectively form a unique platform, one that excels at backend server software and distributed computing. This talk will not dwell on syntax; what's far more interesting is the Erlang Weltanschauung.Technical Evangelist
John Daily continues to chase a decades-long dream of doing full-time software development with detours through systems and network administration, global iOS mobile device management, and now technical evangelism for Basho. He has a passion for pragmatic programming languages such as C, Perl, and Erlang. Beauty is definitely in the eye of the beholder.
4:00pmFrontend Performance Beginner to Expert to Crazy Person
The very first requirement of a great user experience is actually getting the bytes of that experience to the user before they they get fed up and leave.
In this talk we'll start with the basics and get progressively insane. We'll go over several frontend performance best practices, a few anti-patterns, the reasoning behind the rules, and how they've changed over the years. We'll also look at some great tools to help you.Chief Architect
In his spare time, Philip enjoys cycling, reading, cooking and learning spoken languages.
Philip has spoken at several conferences in the past, including FOSS.IN, FREED.IN, Ubuntulive, Linux Symposium, PHP Quebec, ConFoo, FOSDEM, IPC, WebDU, Velocity and JSConf. He also writes for Smashing Magazine, blogs at http://tech.bluesmoon.info/ and is @bluesmoon on twitter.
4:00pmMythBashers: Adventures in Overlooked Technologies
A big part of my joy in coding is getting to play with cool toys. But sometimes in my eagerness to use the coolest toys, I overlook tools that are right in front of me. In this session, we'll take a second look at a tool that most programmers probably have at least a passing familiarity with: Bash. We'll push it to its limits, and beyond, all in the name of science... and fun!
Tuesday, July 15th
In August 2012 the New York Times proclaimed there is a "A Hardware Renaissance in Silicon Valley." 16 months later Amazon announced "delivery by drone" in the not-too-distant future (publicity stunt or not).
10:00amOn the Edge of Hypermedia
Stateless.. Nouns & Verbs.. Idempotent.. HTTP Auth.. Tokens.. We’ve all heard those phrases thrown around when we talk about REST. We’ve been told our systems have to include these characteristics or they’re not RESTful. We’ve talked over and over again on how to implement them. Unfortunately, somewhere along the way, we lost the answer to “why?” What’s the point? What value do we gain by doing things the “right” way?Software Engineer
Keith Casey, a recovering Developer Evangelist for Twilio, currently serves as an API Designer working to make APIs more consistent, easier, and help solve real world problems. In his spare time, he is a core contributor to web2project, works to build and support the Austin technology community, blogs occasionally at CaseySoftware.com and is completely fascinated by monkeys. He's also the author of the upcoming book A Pragmatic Approach to API Design" from Leanpub.
10:00amRules as a Control Structure
Rule engines draw love-or-hate reactions. They can simplify the expression of arbitrary business rules, but run into limits when more sophisticated logic is needed. While we can also author such logic in a general purpose language, even good functional or object-oriented practices get bogged down when sharing lots of frequently changing and intermingled data. This talk attempts to address the problem by viewing rules as a type of control structure.
Rather than authoring rules in a limited mini language, we approach business logic declaratively in a host language with all language features available when needed. We’ll show how this can simplify logic for many problems, untangling tightly coupled functions into independent rules. From there we demonstrate Clara, an implementation of this pattern in Clojure. Finally, we’ll show how this enables visualization of our business logic for review and refinement by domain experts.Software Engineer
Ryan works on systems to bring together and make sense of the world's health data. This starts with scalable processing and analysis of health data, a topic on which Ryan has spoken at ApacheCon and Hadoop World. More recently Ryan has been focused on expressing expert knowledge which includes building Clara, an open source rule engine in Clojure.
11:00amBuilding a Production Machine Learning Infrastructure
Cloudera's Data Science Team has a simple mission: build an analytics infrastructure so awesome that it makes Google's Ads Quality Team seethe with jealousy. To that end, I'll give an overview of Cloudera's current data science tools, including Oryx and Spark for building and serving machine learning models, Gertrude for multivariate testing, and Impala for ludicrously high-performance SQL queries against HDFS.Sr Director of Data Science
Josh Wills is Cloudera's Senior Director of Data Science, working with customers and engineers to develop Hadoop-based solutions across a wide-range of industries. He is the founder and VP of the Apache Crunch project for creating optimized MapReduce pipelines in Java and lead developer of Cloudera ML, a set of open-source libraries and command-line tools for building machine learning models on Hadoop. Prior to joining Cloudera, Josh worked at Google, where he worked on the ad auction system and then led the development of the analytics infrastructure used in Google+.
An in-depth examination of the Fibonacci sequence intended to demonstrate the value of Haskell, bust myths about the difficulty of using Haskell and encourage further research and interest in the language.
12:00pmTime-series data with Apache Cassandra
This talk is geared around understanding the basics of how Apache Cassandra stores and access time series data. You'll understand why this is such a great use case and help power your next project. Audience members should be prepared for a technically oriented talk about Cassandra internals.Chief Evangelist, Apache Cassandra
Patrick McFadin is regarded as one of the foremost experts of Apache Cassandra and data modeling techniques. As the Chief Evangelist for Apache Cassandra and consultant for DataStax, he has helped build some of the largest deployments in the world. Previous to DataStax, he was Chief Architect at Hobsons, an education services company. There, he spoke often on Web Application design and performance.
12:00pmUsing ECMAScript 6 Today
Scott has been doing software development in varying degrees since 2003. He is interested in Scala and functional programming and wishes he had more time to invest.
1:00pmAnalyzing and Reversing iOS Applications with iRET
Standard iOS penetration testing consists of numerous repetitive manual tasks that must be executed in order to identify various vulnerabilities associated with the iOS binary, as well as various dependencies associated with the application. In this talk I will review the manual tasks that have traditionally been required in iOS penetration testing and then introduce a new industry tool called the iOS Reverse Engineering Toolkit (iRET) that will demonstrate how these manual tasks can be automated.
This talk is targeted towards mobile penetration testers and mobile developers. It will demonstrate how the iRET tool can be used to make penetration testing more efficient, as well as demonstrate how attackers go about reverse engineering mobile applications.Principal Security Consultant
Steve Jensen is a Principal Consultant at Veracode. He has a background in software development, and has been actively engaged in application security for more than a decade. He specializes in all areas of application security, with a focus on mobile security and mobile security research. He has been performing mobile penetration testing for over 5 years and has performed responsible disclosures of mobile vulnerabilities to various companies, including airlines, banks and credit monitoring agencies.
1:00pmBuilding a concurrent game engine in Erlang
Erlang is a great language to implement concurrent software. Its actor model provides strong data isolation guarantees and immutable data structures makes reasoning about concurrency easier.
In this talk, we will explore Erlang's concurrency model in the context of a game engine that simulates trading commodities among players. The talk will include a quick introduction to Erlang syntax and the decomposition of the game nouns into Erlang processes. We will then demonstrate how Erlang's message passing, fault tolerance and process isolation features provide an ideal implementation language for massively concurrent software.Software Engineer
Mark has over 15 years of experience as a software developer and system administrator. He has been writing code in Erlang for about 2 years and started a functional programming meet up in his hometown of Houston, Texas. He has spoken at OSCON, Erlang Factory and several Perl conferences.
2:00pmAdventures in Semantic Dependent Data Compression
Most of our code runs in a world where we don’t have to care too much about the number of bits a piece of data consumes, so we favor open and common data formats such as JSON or Protocol Buffers. However, when memory is constrained, such as on embedded systems, we can beat the system and achieve significant compression by understanding the nature of the data we are consuming. This talk will cover techniques and approaches to squeeze every last bit out of a dataset. It will touch on some concepts from information theory as well as some established general compression algorithms.Software Engineer
Michelle Brush is a math geek turned computer geek with 13 years of software development experience. She has developed services, APIs, and algorithms related to security, data mining, compression, shortest path-finding algorithms, and spatial searching. Recently, she has switched focus to mentoring and training early career software engineers. She is also the cofounder and chapter leader of the Kansas City chapter of Girl Develop It.
2:00pmPacking It In: Images, Containers, and Config Management
Learn about the many different tools gaining momentum to manage system configurations. Hear about when you should think about configuration management tools and when it might be OK to just pack it into a re-usable image. We’ll cover the basics around Docker and Packer before diving into a full-stack example leveraging all three topics in harmony together.Software Engineer
Michael is a Sr. Consulting Engineer with Chef, where he helps customers manage their infrastructure automation. He has several years of systems software project experience and has been helping all types of people learn new technical concepts for more than a decade. An avid woodworker, Michael loves to spend time crafting furniture when he's not helping others solve their technical problems.
3:00pmProperty Based Testing for Better Code
TDD leads to better production code, but it has its limitations. We can only write so many tests, and the more tests we maintain, the more tests we change with new requirements. Can we do better? I say yes. Property-based testing is a technique out of functional programming, one that works in any language. In this talk, I’ll use examples in ScalaCheck to demonstrate principles everyone can use: generation of every possible input, calculation of satisfactory output, and automation of hundreds of checks in a single test case. Property-based testing is much harder than the example-based tests we’re used to. That’s the point: compel us to think harder about the problem, leading to better production code. Come see how property-based testing can press you and your code to higher levels of correctness and simplicity.Software Engineer
Jessica Kerr is a disloyal Java developer. She fell in love with functional programming for the sanity it can bring to code, in Scala, Clojure, Ruby, F#, and Java. Currently she writes Clojure and JS with Outpace from her home in St. Louis. Each morning she chases two crazy daughters onto the school bus. She roams to Europe and California and in between to share her excitement about functional programming, git, and property-based testing.
3:00pmA Century Of Weather Data
The weather is everywhere and always. That makes for a lot of data. This talk will walk you through how you can use MongoDB to store and analyze worldwide weather data from the entire 20th century in a graphical application. MongoDB natively supports geospatial indexing and querying, enabling you to build applications that are location-aware. In the most recent release of MongoDB, there have been significant enhancements to the geospatial indexing capabilities in MongoDB, such as polygon intersections, a more accurate spherical model, and better integration with MongoDB's Aggregation Framework. In this presentation, you'll learn about the new enhancements and how they can be useful in the analysis of weather data. Learn how to ask and answer questions about capacity planning and scaling for both real-time and ad-hoc operations when dealing with huge datasets.
4:00pmScaling the Halo Backend Service on Windows Azure
The backend services for the award winning Halo 4 video game are hosted in Windows Azure. Halo is played by millions of fans and gamers expect experiences with low latencies. In order to meet these needs, the Halo team partnered with Microsoft’s Extreme Computing group to build the Halo cloud services on top of the Orleans Distributed Actor System. This talk will outline the experiences of the Halo team as they built their services and discuss the benefits of using a virtual actor model as a scalable distributed computing abstraction.Principal Software Design Engineer
Hoop is a Principal Software Design Engineer who has been working on various service platforms and large scale service at Microsoft for over a decade. In the past 4 years he has turned his attention to the growing use of the cloud to build distributed systems that power entertainment experiences. At 343 Industries he has spent the past 3 years driving the architecture of services that power experiences in the Halo franchise.
4:00pmMobile Ad Hoc Networks Are Coming, But We Aren't Ready
In any given day, you likely carry your pocket computer (AKA "smartphone") within wireless range of hundreds of other pocket computers. In schools all over the US, students are sending an unrelenting stream of instant messages to each other while sitting in dense networks of little wireless devices. Yet we continue to rely on cellular towers, WiFi access points, and the Internet to transmit messages for us while we are actually closer to the destination than they are!
Mobile ad hoc networks (MANETs) consist of many devices moving around and communicating with and through each other, without any predetermined infrastructure. While MANETs have been a research topic since the 1970s, much of the research has focused on the networking piece: basically the transport layer protocols and below. Much less attention has been given to creating and supporting applications for these networks, yet killer applications drive adoption!
This talk will briefly describe MANETs, but focus mostly on MANET application development: the challenges, the potential solutions, and the very promising - and very near - future. MANETs are ready to break though to the mainstream. Will you be ready?