Members Only
Westin Fort Lauderdale Beach Resort321 North Fort Lauderdale Beach Boulevard
Fort Lauderdale, FL 33304
Map »
The Rich Web Experience - Session Descriptions
Dan Allen - Principal Software Engineer at Red Hat, Author and Open Source Advocate
Bake better websites together on GitHub
Did you know GitHub can be a publishing platform? That a blog entry can be posted via a pull request?
Static is the new dynamic and git is the new way to collaborate. Learn how to use site-baking tools such as Awestruct and Jekyll to build and publish static websites and leverage the ever increasing capabilities of HTML5-based browsers to make your site more dynamic than ever before.
Drop the angled brackets. Discover the zen of writing (Ascii)Docs.
Writing documentation is already hard enough. Why do we make it harder by burying the content in an XML schema like DocBook or wrestling with finicky WSYWIG editors? Come learn how to find the zen of writing documentation using AsciiDoc and still be able to produce beautiful HTML 5, DocBook and PDF documents--or even a slide deck like the one in this presentation!
Peter Bell - Evangelist/hacker for hackNY
Neo4j Workshop - Getting started with a graph database
Neo4j is a NoSQL, graph database built specifically for enterprise Java projects (although you can also use the RESTful API from any language). In this workshop, we'll start by installing neo4j and looking at the the use cases for graph databases. We'll then look at the fundamentals of neo4j - what it is and how it's architected. We will then go through the core neo4j API and then start working with the traverser API to see how to write declarative queries.
NoSQL data modeling with Mongo and Neo4j
With NoSQL data stores you need to completely rethink how to model your data.
Practical Technology Selection and Adoption
What's the point attending a conference unless you do something with the knowledge you gain?
Tim Berglund - GitHubber
ClojureScript
Clojure has recently been gaining attention as one of the most innovative languages of the JVM in current use, and it has mostly found a home on the server. In parallel, JavaScript has ascended to the position of the most important language of the web, and until recently it has lived only on the client. Few observers looked at the world of web development and predicted that these two would get together. Happily for us, they have!
Gradle Workshop (Bring a Laptop)
Gradle. Another build tool? Come on! But before you say that, take a look at the one you are already using.
Whether your current tool is Make, Rake, Ant, or Maven, Gradle has a lot to offer. It leverages a strong object model like Maven, but a mutable, not predetermined one. Gradle relies on a directed acyclic graph (DAG) lifecycle like Maven, but one that can be customized. Gradle offers imperative build scripting when you need it (like Ant), but declarative build approaches by default (like Maven). In short, Gradle believes that conventions are great -- as long as they are headed in the same direction you need to go. When you need to customize something in your build, your build tool should facilitate that with a smile, not a slap in the face. And customizations should be in a low-ceremony language like Groovy. Is all this too much to ask?
Prerequisite: Knowledge of any build tool such as Ant, Maven, Rake, BuildR, Make, Leiningen, or SBT.
NoSQL Smackdown 2012
Alternative databases continue to establish their role in the technology stack of the future—and for many, the technology stack of the present. Making mature engineering decisions about when to adopt new products is not easy, and requires that we learn about them both from an abstract perspective and from a very concrete one as well. If you are going to recommend a NoSQL database for a new project, you're going to have to look at code.
Ratpack Workshop (bring a laptop)
The only thing better than talking about Ratpack is hacking with Ratpack. Come to this workshop for 90 minutes of directed web development using the latest un-framework for Groovy-based web apps.
Prerequisite: Ratpack: the Un-Framework for Groovy Web Apps
Simone Bordet - Senior Engineer @ Intalio/Webtide
Extreme Web Messaging with CometD
This session will introduce you to the CometD project, an open source web messaging framework. The CometD framework allows web clients to be notified of server-side events, typical in applications such as chat rooms, online games, financial trading, sports and news portals, and more.
HTTP, WebSocket and SPDY: Evolution of Web Protocols
This session will run you through the history and future of web protocols, starting from HTTP, then moving to WebSocket and finally to SPDY (the new protocol on the block), analyzing pros and cons of each protocol, its browser and server support, with a final look at what HTTP 2.0 might look like and how web servers such as Jetty 9 may need to change architecture to support these new protocols.
How to Build WebSocket Web Applications
The WebSocket protocol is now a standard internet protocol (RFC 6455), and almost all browsers supports it well. Differently from HTTP, WebSocket supports true bidirectional communication, enabling developers to build more scalable web applications.
Join the SPDY Revolution
There is a revolution quietly happening on the web and if you blink you might miss it. The revolution is Google’s SPDY protocol, which may replace HTTP as the primary protocol for the web.
John Brinnand - Lead Architect @ Netflix
A Platform for building RIAs using Domain Specific Languages
As web applications evolve and the use of widget toolkits proliferate, the problems of designing and building scalable front ends has become more and more involved. Today, a web application is a complex blend of scaffolding, business logic and embedded content – and this can be a challenge (some might say a nightmare), to develop, debug and evolve – even in the best of times.
There are many solutions to this problem. Some folks use the MVC pattern, others use app building tools and many use server-side solutions. The approach being proposed here is based on Domain Driven Design: it consists of a Platform which uses DSLs and a layered architecture to build and deploy web applications. The platform is composed of services that create and maintain the DSLs as well as handle all user requests, layout generation, customization, content authoring, data persistence, B-to-B interactions and native business flows.
By having a DSL which sits above widgets and the DOM, the platform can use widgets to “generate and maintain” the DOM. This provides a far more robust and flexible means for building web applications. Also – DSL based web platforms are far more adaptive and lend themselves more easily to change. In this platform everything is loosely coupled: layout's can be changed, content can be attached or detached, and services can be “plugged-in” as needed. Even the backend web application server with it's data store can be replaced with a users preferred server and it's data store.
Pete Campbell - Developer, Consultant, Principal @ Sumiro Labs LLC
Better Web Applications With Brunch.io
There are many frameworks and libraries that help you to build web applications...but that's not enough. Other problems arise when you try to combine everything into a single application. Do you want to spend your time writing new code or assembling your app?
Friction matters in web development. Brunch.io is the grease that makes creating complex web applications easier. It is an automatic "assembler" for HTML5 applications, allowing you to create projects that combine different languages, template systems and other libraries into your app. With Brunch.io, you'll spend less time managing your application and more time developing it.
JavaScript Safari Expedition - Libraries, Projects and Frameworks...Oh My!
There is so much happening in the JavaScript world that it is impossible to keep up. There are literally hundreds of libraries and projects that you should know..but how can you find them? Why does every project have a name that says nothing about what it does? We need a guide to make sense of it all! JavaScript Safari Expedition to the rescue!
Adrian Cole - Cloud Guy at Netflix
I Got 99 Problems, but REST Ain’t One
The world’s most popular services expose ReST APIs. Whether it’s in Google, Twitter, Amazon, or even your middleware, ReST is everywhere. Have you ever wondered why APIs look the way they do? Is there a balance between API design for usability and scale, or can we have them both? What’s the relationship between standards such as WS-* and ReST?
Lessons learned building cloud services using AWS, elasticsearch and MongoDB
The design of a cloud service is fascinating. Aspects from all directions converge: from billing model to scale to tenancy, everything is important and must be evaluated in context. The reason is that at scale, small problems become big problems. At scale, logging turns into a big data problem, restarting a cluster can turn into hours of re-indexing, the price of a dependency can cripple your billing model.
What's new in jclouds 1.5
jclouds 1.5 is the result of 3.5 years of development by nearly 100 developers interested in portable cloud computing.
Luke Daley - Principal Engineer @ Gradleware
Functionally Testing Modern Web Applications with Geb
Geb is a browser automation solution for Groovy. It brings together the power of WebDriver, the elegance of jQuery content selection, the robustness of Page Object modelling and the expressiveness of the Groovy language. Geb enables more expressive, more concise, and (very importantly) more maintainable web tests.
Gradle - the Innovation continues
The Gradle development team have not been taking it easy since the release of Gradle 1.0. New features and innovations are constantly being added, rough edges are being smoothed and the platform continues to expand. In this session we’ll explore the most notable additions to Gradle since the release of 1.0 and preview some of the new and exciting features just over the horizon with Gradle founder and Gradleware CEO Hans Dockter and Gradle core developer Luke Daley.
Gradle: Pushing automation to the limits
Effective companies and teams do more with less, and automation is a vital ingredient to this. As developers we are accustomed to the idea of build automation through build & continuous integration systems that compile, test & deploy our software. However, the production of software is typically only one of the concerns of a team or company. There are many auxiliary processes that can equally benefit from the rigour, repeatability and cheap labour of automation.
Managing JavaScript with Gradle
JavaScript is playing an ever increasing role in modern web applications. This is having an impact on the way be automate the building of our applications as JavaScript introduces new challenges such as magnification, unification and even compilation of languages such as CoffeeScript.
Next Level Spock
So you already know and love Spock, the Enterprise ready testing framework, but want to know how to make the most of it and take your testing to the next level? Then this talk is for you. Even if you're new to Spock, but are interested in making your testing more effective this talk is for you.
Gabriel Dayley - Web Warrior
My web app beat up your 5 star native app - a WebAPI rundown
The WebAPI is an effort by Mozilla, Apple and Google to bring many of the features and API's that are often thought only possible to do in native apps, to the web. This effort, which promises to deliver APIs to web developers that allow access to device hardware and features such as the camera, microphone, telephone, SMS, geolocation, storage, NFC, power management and much more. The gap between the capabilities of native apps and web apps is quickly closing and no longer should you feel second class to those native poster-childs.
Connie Finkelman - Front-end Experience Architect
CSS Spriting
The subject I am most excited about is spriting. Everyone knows that image spriting is an important component of enterprise CSS. But even giants like Yahoo and Facebook could make major improvements in the size and efficiency of their sprites. After an in-depth analysis of image sprites I discovered the key factors in minimizing images sizes for sprites and applying them efficiently.
CSS3 and HTML5 for Mobile High Performance
As the lead UI developer for Office Depot I worked with Java developers to bring our mobile site to a "Best in Class" status, gaining a 300% improvement in speed. In this presentation I'll talk about how to practically apply HTML5 and CSS3 in the mobile web environment to achieve maximum performance and speed.
HTML and CSS for jQuery
My experience with my own team has shown me that back-end developers are often frustrated by their inability to integrate jQuery with the UI.
Judson Flamm - Cloud Architect / Principle Engineer w/LDS Church
Web Gaming APIs and their applications in business
In the last couple months many new gaming APIs have landed in the latest browsers. These APIs give game developers better access to hardware and device resources. They also provide significant performance improvements to existing code.
Aaron Frost - Front End Junkie, Wannabe Author, Aspiring Designer
Diving into Web Intents
The Web Intents API will allow users to mashup our website with other websites. It is an exciting new piece of the web platform. In this sessions we will go over setting up our own site to implement a Web Intent for our users.
ECMAScript 6: The new face of JavaScript (
By the end of 2012, the new ECMAScript Spec will be approved. Browser vendors have already begun implementing the powerful new functionality. Based on my book "JS.Next: The future of JavaScript" this session will go over the new pieces of the JavaScript API.
I can haz C? A dive into Chrome Native Client
Chrome Native Client provides web developers with all the resources and power that Native App developers have. Using an API code named "Salt & Pepper", web developers can now inject C and C++ (with additional language support on the way) into the browser to achieve a whole world of webby goodness. The Native code is then run inside a double-sandboxed environment to provide end users with security.
Simpler Social Integration using API Mashups
Each day our mobile gaming platform is becoming more and more capable. Each day the need to send games to the mobile browser increases. Many game designers are forcing developers into the same social integration UI flows that Desktop browsers have.
Raju Gandhi - Java/Ruby Developer/Language Geek
Creating Websites using Noir
Think Clojure is only for the back-end functional geeks? Think again. Noir is a web application framework written in Clojure.
Dive into D3.js
A picture is indeed a thousand words. Often, your users are better served if they are offered a visual representation of data than reams and reams of tables. Most JavaScript graphing libraries offer a DSL to create graphs, but can prove to be constricting if you are attempting to do something outside the original intent. D3.js, instead offers you an API to work with "data documents" - with powerful data manipulation capabilities, and visualization components. Furthermore, it leverages SVG rather than the Canvas element, allowing you to unleash the full power of CSS3 to style your latest creation.
On Prototypal Inheritance
You are a JavaScript developer who has gotten past writing one-off scripts on pages and wants to leverage the true power of the language. You have tasted the power of objects, and inheritance in Java, and hope to put the same to work for you in JavaScript.
Web Application Design from a Developer's perspective
Poorly designed web applications fail to serve both the business and the users, leading to a unnecessary costs, and frustrated customers. By keeping the user in mind, and following a few simple guidelines, you can make huge leaps in the way your users interact with your applications.
Wesley Hales - Author of HTML5 and JavaScript Web Apps
HTML5 on the Frontline
Is HTML5 ready for production code? You bet! This is a look into all the different HTML5 technologies that can be used in your code, today.
Making Your UI Scream (not your users)
Execution of JavaScript, CSS and other web application resources in the browser can make or break your site. Today, front-end developers should be thinking about everything from base64’ing images into their CSS to JavaScript and UI thread blocking while the page loads. It’s important to know how fast your app is now and what steps you can take to reduce load time - ultimately leading to better SEO rankings, more lead conversions, and lower costs on bandwidth in the data center.
The Browser as a Platform
Today’s front end developer’s have an endless buffet of JavaScript frameworks and development tools that supposedly allow you to do your job better and be more efficient.
James Harmon - Android Expert
Android Workshop
The technology industry has been swept up in many historical waves. In 1980 the widespread adoption of the PC, fifteen years later in 1995 the browser became widespread and in 2010 with the introduction of the iPhone, the smart phone wave began. Don't miss out. Grab your surfboard and learn how to ride the coming wave of smart phone development with Android.
Spend a day learning how to do development on the most popular smartphone platform available. Android is a Java platform - you can leverage your existing Java skills. You'll get hands on experience developing an Android app that will use all the major components of Android applications.
Android for Tablets
The smartphone has been the current platform of choice for Android development but we are now in the "year of the tablet" and it is time to upgrade your skills. Even though you think you know Android programming, you still need to learn the unique techniques for developing for tablet.
Erik Hatcher - co-author of "Lucene in Action"
Introduction to Solr
Apache Solr serves search requests at enterprises and the largest companies around the world. Built on top of the top-notch Apache Lucene library, Solr makes indexing and searching integration into your applications straightforward. This talk will introduce Solr's capabilities with live demonstrations.
Power Solr: Performance, Scaling, and Relevancy
Make the most out of Solr by leveraging these tips and tricks to increase performance, scale Solr to your needs, and tune search results. This talk will discuss Solr architecture decisions, performance and scaling best practices, and considerations and techniques for adjusting search results for your application.
Prerequisite: Introduction to Solr (or equivalent experience)
Solr Recipes
Solr Recipes provides quick and easy steps for common use cases with Apache Solr. Bite-sized recipes will be presented for data ingestion, textual analysis, client integration, and each of Solr’s features including faceting, more-like-this, spell checking/suggest, and others.
Prerequisite: Java JDK 1.6 and a current version of Ant is recommended to run the examples.
Les Hazlewood - Apache Shiro PMC Chair
Designing a Beautiful REST+JSON API
Designing a really clean and intuitive REST + JSON API is no small feat. You have to worry about resources, collections of resources, pagination, query parameters, references to other resources, which HTTP Methods to use, HTTP Caching, security, and more! And you have to make sure it lasts and doesn't break clients as you add features over time. Further, while there are many references on creating REST APIs with XML, there are much fewer references for REST + JSON.
Infinite Cloud Session Clustering with Apache Shiro
Over 100,000 organizations have seen Apache Shiro's simplicity and power as as security framework for authentication and authorization. But did you know that Shiro's Enterprise Session Management enables easy session clustering for any application? If you need to support concurrent user sessions in the thousands or millions, you won't want to miss this!
Apache Shiro is an easy-to-use open-source security framework with four cornerstones: authentication, authorization, session management and cryptography.
Intro to Application Security
Apache Shiro PMC Chair and Stormpath Founder/CTO, Les Hazlewood, will give an overview of the basics of application security, including...
● Basic best practices for authentication, authorization, session management, and cryptography ● Common web application security flaws and how to protect your web app ● What is OAuth and how does it work for web apps?
Securing Multi-Tenant Cloud Applications with Apache Shiro
Many modern cloud applications are “single-instance, multi-tenant”: one software product services many tenants (customers), but to end users, it ‘feels’ like a single-customer product. Apache Shiro is an easy-to-use and flexible security framework that can secure any application, including today’s modern cloud multi-tenant applications. In this presentation, we'll see how to secure a multi-tenant cloud application easily with Apache Shiro.
Apache Shiro is an easy-to-use open-source application security framework used by over 100,000 organizations to support the four cornerstones of application security: authentication, authorization, enterprise session management, and cryptography.
Denise Jacobs - Author of "The CSS Detective Guide"
Gamify Your Work
Looming deadlines, demanding clients, boring projects, and even feelings of fatigue that may signal the beginnings of burnout—any of these everyday afflictions can making it tough to dredge up the energy to be psyched about your work and be amazing at what you do. These feelings can disappear if we shift our perspective to gamify work.
Scalable and Modular CSS FTW!
If you're working on a large project with a lot of hands in the CSS pot, then your CSS may be doomed to code bloat failure. Scalable and modular CSS architectures and approaches are the new hotness and rightfully so. They provide sanity, predictably and scalability in a potentially crazy coding world.
The Importance of Storytelling in Web Design
With the craft of web design, we often focus on coding methodologies, user interface design, color theory, typography and scripting. While these details are important, we also need to take a step back and apply a more meta approach to the entire design of a website and how it engages end-users. What if we strengthened our creations for the web by building them upon a foundation of Story?
Christopher Judd - Developer, Consultant, Author & Mobility Expert
Java DevOps on a Budget
As more development shops take operational responsibility of Java web and enterprise applications, Java devs need to be able monitor, manage and debug mission critical apps.
MOBILE CROSS PLATFORM DECISIONS
Few enterprises and entrepreneur have the money or desire to build native applications for the two most popular mobile platforms, iOS and Android, let alone all the other mobile platforms.
iOS Workshop
During the all day iOS hands-on tutorial, we will do soup to nuts iOS development. We will start with how to use XCode and build a universal application for iPhone and iPad using a variety of common APIs. We will finish up talking about and demoing how to prepare and deploy to the app store.
Kenneth Kousen - Author of "Making Java Groovy"
Grails from start to finish
Build a complete Grails application in this full-day workshop. Start from scratch designing the domain, add controllers and services, improve the user interface with Ajax calls, write unit and integration tests, and use plugins add functionality.
Prerequisite: Some knowledge of Groovy will be assumed
RIAs using the ZK plugin for Grails
ZK is a set of custom tags and controllers that allow users to design Rich Internet Applications without writing the Ajax or JavaScript code directly. The ZKGrails plugin makes it easy to add ZK user interfaces to a Grails project. ZK is particularly good at designing data entry screens familiar to users of other technologies.
Prerequisite: Some knowledge of Grails would be helpful, but not required
Testing Grails
Grails comes with extensive testing support, ranging from unit to integration to functional tests. This session will demonstrate the range of options available both natively and through testing plugins.
Prerequisite: Some knowledge of Grails would be helpful but not assumed
Seth Ladd - Chrome Developer Advocate
Building Modern Web Apps with Dart
Dart helps put the App back into Web App. Learn how all the pieces of the Dart platform (language, vm, editor, libraries, and compiler to JavaScript) work together to help developers from all platforms build complex, high performance apps for the modern web.
Brent Laster - Senior Manager, SAS
DIY 3/4 Day DIY Infrastructure Workshop - bring a laptop! (See Notes)
Today’s open-source offerings allow teams to quickly and easily setup their own infrastructure for things like source management and builds. In this overview session, we'll survey some of these offering and see how to make them work to our advantage towards a Continuous Delivery model.
Participants should bring either a Windows or Mac laptop for working through the examples.
Notes:
We're looking forward to having you in the DIY Infrastructure workshop. To maximize the learning and value of our time together, we ask that you prepare your notebook that you're bringing to this hands on workshop.
1) Choose a Windows or Mac laptop that you'll be bringing to the workshop (we have some downloads and installs that are better to do before the event). Ensure you have admin or sudo privileges on the machine. Since we will be running a virtual machine on this system throughout the workshop, if you have a choice of laptops, please bring the one with a higher amount of memory and processor power.
2) Install VirtualBox on your system prior to the workshop. To simplify using all of the software that we'll be running in this session, we'll be making use of VirtualBox. You can install VirtualBox from www.virtualbox.org. (Note - the site currently seems to have an expired certificate which produces dire warnings in some browsers.) Take note of the directory where you install it. We'll need this information in the session.
3) Verify that you can start up ViritualBox and that it comes up successfully on your laptop. No more configuration is necessary.
Jenkins 3/4 Day Workshop - bring a laptop! (See Notes)
Join me for this 3/4 day Jenkins introduction workshop. We'll learn Jenkins from the ground up and work through examples to ensure you feel comfortable with using it and understanding it before the workshop ends.
Participants should bring either a Windows or Mac laptop to work through the workshop exercises.
Prerequisite: Prerequisites: No previous knowledge of Jenkins is assumed or required. Previous knowledge of GIT is preferable, but not required.
Out of the Zone: Getting Comfortable being out of your Comfort Zone
Technological change happens regularly these days – and with it – opportunity. Yet, most people work automatically towards building up comfort zones and work hard to stay within them. Being able to grow in our jobs and increase our skill set and sphere of competency/influence is essential for progress and overall well-being. We may not always like or agree with change, but often there are opportunities within it and the way we respond makes all the difference in the world.
Nancy Lyons - Co-author Interactive Project Management
Dawn of the Devs
The interactive industry has a little PR problem: half the world sees us as reclusive loners sitting in dark rooms, and the other half sees us as app-happy adult kids riding through offices on scooters. However inaccurate this is, we have to change it. Future projects are riding on it, our industry is depending on it, and end users need it.
Interactive is only 50% technology; the other 50% is about people. The quality of our technological work directly correlates to how well we work with people, and people's experiences with what we build. We have a responsibility to make projects better and to create end products that are actually--in practice--the best solutions for our clients' problems. We have to learn to talk about what we do and how we do it, we have to teach clients how to think intelligently about the possibilities and realities of interactive products, and we have to ask our team members to do the same.
Matthew McCullough - Head of Training, GitHub
Applying Git: 10 Power Tips
Git is a powerful content tracker and has gained acceptance by many forward leaning consultants and teams over the past several years. Those developers know that it offers the usual commit, branch, merge and tag in a distributed environment, and yet, only a few developers have explored the more powerful functions of Git. These range from searching months of history for a unit-test bug to undoing literally any mistake to splitting in-progress work into multiple commits within a single file.
Prerequisite: Students must have used Git use in the workplace for several months before attending this talk in addition to setting up Git according to http://teach.github.com/articles/github-class-prerequisites/
Build Lifecycle Craftsmanship Tools
You've heard a bit about Git, Gradle, Jenkins, and Sonar, but are you putting them to use? Are you maximizing what they can offer in terms of standardized project models, faster incremental compiles, automated commit-triggered builds, and rapid source code analysis? In this intense presentation, live demonstrations will be given for all of the latest versions of the aforementioned tools and what they have to offer a highly proficient Java developer.
Developer Productivity Power Ups on Mac OSX
You're a talented coder and you apply many agile practices to your daily workflow. Still, you are looking for that next boost to better keep track of information, manage your open applications, make working with the terminal more productive, recall information quickly, manage files rapidly, and produce documentation in a portable and effective manner.
This presentation will show you how to apply DevonThink, Delicious bookmarks, RSS feeds, Pinboard.in, Pomodoro, Things, LaunchBar, Bash profiles, mind maps, markdown files and spotlight filters to become a more productive developer that has a world of information sorted and accessible at a moment's notice.
Prerequisite: Very basic developer proficiency on the Mac.
Git Advanced (1/2 Day Workshop)
Many Git classes successfully focus on the basics for those new to DVCS. However, with Git having 7 years on the street now, there is a growing desire to address the maturing users of this innovative DVCS. This class will take existing Git users and bring them to a heightened level of productivity by leveraging Git's powerful, yet under-used advanced features.
Prerequisite: Students must have used Git use in the workplace for several months before attending this talk in addition to setting up Git according to http://teach.github.com/articles/github-class-prerequisites/
Git Bootcamp - An All-Day Workshop
Distributed version control is all the rage these days, but is it worth it? It has been transformative for the dozens of organizations and thousands of developers that I've mentored on the unique implementation called Git. But don't take my word for it. Discover the joy of a version control system that works for you, not against you, in a hands-on workshop. Bring a Windows, Mac, or Linux laptop and we'll install, set up, use and bend Git into workflows that weren't even possible with the version control systems of yesteryear. Be prepared to rethink how lightweight, fast, and refreshing source code control can be. After completing this workshop you'll be able to do practical work with Git for your day job or weekend OSS hobby
Prerequisite: Knowledge of a version control system, whether that be CVS, SVN, ClearCase, Perforce, StarTeam or Accurev.
The Guts of Git: Graphs, Hashes, and Compression, Oh My!
Git is a version control system. We can look at it from that high level. Git is a content tracking system. Some teachers advise us to look at it from that lowered elevation. But I will take you to the very bottom. The floor. The code. The algorithms. The directed acyclic graph of hashed bit sequences made efficient through LZW commpression and deferred garbage collection determined by node reachability via hash relationships.
Prerequisite: Students must have used Git use in the workplace for several months before attending this talk
Pratik Patel - CTO TripLingo & Code Hacker
Advanced JavaScript for Java Devs
So you think you've picked up enough JavaScript to be dangerous, but feel like the whole prototypical language thing is still a mystery. In this session, we'll go from basic JavaScript to advanced JavaScript. We'll discuss and code modular JavaScript with CommonJS. We'll look into the details of a prototype language and discuss things like parasitic inheritance. We'll also look at JavaScript libraries that will help you get the most out of JavaScript - not jQuery, but a library like UnderscoreJS and SugarJS.
Appcelerator Titanium Workshop
Bring your laptop! Use your JavaScript skills to build native iOS and Android apps! Learn from an Appcelerator Titan!
This is a full day workshop specifically designed to get you up and running with Titanium and build feature-rich applications! We'll install the latest Titanium Developer and iOS SDK - then create a project in Titanium Developer and run it in the simulator to verify your setup. Basic JavaScript experience is necessary for this session; please complete a basic JavaScript course or book before attending.
Titanium is an open-source development tool for producing cross-platform mobile applications by Appcelerator. Using Titanium, you develop your mobile application using Javascript coded against the Titanium API's. Titanium Studio, an IDE for your mobile apps, invokes their compiler and builder to take your Javascript and build a native application for iOS and Android.
Apponomics
You've got a great idea for a mobile app. You have a team together. You're building the killer app. Do you know enough about the various app stores to know what to do next? How about pricing strategies for iOS and Android? Have you thought about the Nook Color and Amazon Fire? In this session, I'll bring my experience as CTO of TripLingo, an awesome company developing foreign language learning apps. TripLingo has been featured on the iOS store a dozen times, as well as the Android market and Nook store.
Bling with CSS3: Effect and Animations
CSS3 has incorporated a large number of useful visual effects, especially for Webkit based Web browsers such as Chrome and Safari. In this session, we'll look at these effects and code up some bling. Aside from being pretty and cool, these effects can help you create awesome user interfaces and provide a natural and elegant user experience.
Developer guide to the cloud
There's a ton of options for deploying to the cloud right now. Heroku and Engineyard are among the well known Platform as a Service (PaaS) providers. What if you don't want to use these PaaS services? What if you don't know which one is better? Are they cost effective? What about private deployments into internal infrastructure? This session answers these questions with a discussion of PaaS services and setting up your own PaaS using CloudFoundry.
JavaScript Workshop, part I
Get your skills up to speed for JavaScript, the oft-misunderstood language of the web, in this 2 part workshop. We'll start from the very basics and learn the ins-and-outs of JavaScript. We'll look at the (many) quirks in JavaScript, and work through advanced features that make this language so powerful. Come with an open-mind and ready to dig into code!
JavaScript Workshop, part II
JavasScript workshop part II Get your skills up to speed for JavaScript, the oft-misunderstood language of the web, in this 2 part workshop. We'll start from the very basics and learn the ins-and-outs of JavaScript. We'll look at the (many) quirks in JavaScript, and work through advanced features that make this language so powerful. Come with an open-mind and ready to dig into code!
Prerequisite: JavaScript Workshop, part I
Mobile Development Options 2013
There's a bevy of options for developing mobile apps. If you're looking at cross-platform solutions, there's a multitude of options to choose from. In this session we'll explore the three basic categories for developing mobile apps: native, cross-platform-to-native, and mobile web. We'll discuss the sweet spot for each of these three approaches and the benefits and drawbacks of each. Technologies discussed include Android, iOS, HTML5/CSS3, Phonegap, Titanium, and jQuery Mobile.
Mobile Performance Tips n' Tricks
Creating a web site, web app, or native app for mobile use presents a special set of challenges. Specifically, developers and designers should be zoned into the techniques for usability - and usability can be enhanced greatly by taking performance elements into consideration up-front. In this session, we explore the many performance tips and tricks you can employ to make your website or web app or native app shine on mobile devices. This is an advanced course that discusses issues such as image loading, JavaScript performance, and wireless latency.
Put some Backbone.js or Ember.js into your app
We've come a long way down the JavaScript road. Gone are the days of 'just hack it' for the web - architecting even a small project in JavaScript can be a challenge. Thankfully, there are several frameworks to help you; the most popular currently is Backbone.js. In this session, we'll assume you know nothing of Backbone.js, and we'll build a small application using Backbone.js as the foundation. We'll also build the same app using Ember.js, another popular JavaScript framework.
Prerequisite: Advanced JavaScript of JavaScript knowledge
Jason Porter - Senior Software Engineer Red Hat
Bake better websites together on GitHub
Did you know GitHub can be a publishing platform? That a blog entry can be posted via a pull request?
Static is the new dynamic and git is the new way to collaborate. Learn how to use site-baking tools such as Awestruct and Jekyll to build and publish static websites and leverage the ever increasing capabilities of HTML5-based browsers to make your site more dynamic than ever before.
Growing an OSS project by turning followers into leaders
Open Source is about building a community of developers and users around a project willing to cooperate, exchange ideas and provide peer review. Participating in the project provides mutual benefit to all parties, including better software, skill improvement, respect, and being a member of a group of peers. But how does it happen? What motivates people to join your project? How do you grow the community?
Brian Sam-Bodden - Java author, Ruby geek and Open Source Advocate
Meet the Replacements: CoffeeScript, SASS and HAML
In this session you'll learn why web developers have flock to this set of replacement technologies on the web stack. CoffeeScript is JavaScript without the warts, SASS/SCSS is a better CSS and HAML makes your HTML markup simpler and cleaner.
Mobile Web Development with jQuery Mobile
In this workshop students will learn about mobile web development with jQuery Mobile, the Touch-Optimized Web Framework for Smartphones & Tablets. jQuery Mobile provides a unified user interface system across all popular mobile device platforms by building on the foundation of the jQuery and jQuery UI frameworks.
Server-Side Push: Comet, Web Sockets, and Server-Sent Events come of age
From client-side polling to SSE (Server-Sent Events) and WebSockets.
Testing your JavaScript with Jasmine
In this session you'll learn about Jasmine, a behavior-driven development (BDD) framework for testing JavaScript code. Come and learn how to raise the bar for your client side testing using the BDD mindset.
jQuery Workshop
In this course students will learn how to add interactivity and asynchronous behavior to web sites using Javascript via the jQuery library and its companion the jQuery UI library.
Dylan Schiemann - Co-founder of the DoJo Toolkit
Beyond Dojo: The Rise of AMD
JavaScript does not have a built-in module system. Dojo for years has had a solution, but now this solution has been setup independent of Dojo and refined based on wider community needs. The result: it's possible to include modules from almost any toolkit or microtoolkit safely and efficiently.
Star Search: Dojo Nano
The Dojo Toolkit, one of the original Ajax toolkits, has reinvented itself again through a series of improvements in modularity, performance, API improvements, adjustments for HTML5 and mobile platforms, just to name a few.
Nathaniel Schutta - Author, speaker, software engineer focused on user interface design.
Backbone Workshop
You may have noticed today's web applications involve more than a few lines of JavaScript. You've probably also figured out JavaScript lacks certain...features...that make writing non-trivial applications more challenging. How do we resolve this conundrum? Luckily for us, we can leverage libraries like Backbone add some structure to our code. Backbone brings the concepts of the model view controller pattern we've applied to the server for years to the browser.
HTML5 Workshop
Interested in HTML5? Want a change to play around with the latest and greatest in web app development? This workshop is for you! We'll cover feature detection, web forms, the new HTML elements, take a spin around the canvas, audio, video and we'll finish up with offline/local storage and web sockets.
Before you can take advantage of a new HTML5 feature, you have to make sure a given browser can support it. This section will cover the basics of detection as well as getting the most out of rocking cool libraries like Modernizer. We'll also look at just what to do when a browser doesn't support a feature you're trying to leverage.
Along with a new human type-able doctype, HTML5 introduces several new semantic elements. Recognizing that nearly every website in existence has a header, a footer and some navigation divs, HTML5 gives us a header, a footer and a nav element along with a few others. HTML5 seeks to pave cowpaths, not force the web to bend to its ways...
Leading Technical Change
Technology changes, it's a fact of life. And while many developers are attracted to the challenge of change, many organizations do a particularly poor job of adapting. We've all worked on projects with, ahem, less than new technologies even though newer approaches would better serve the business. But how do we convince those holding the purse strings to pony up the cash when things are "working" today? At a personal, how do we keep up with the change in our industry?
Mobile Design Workshop
The word just came down from the VP - you need a mobile app and you need it yesterday. Wait, you've never built a mobile app...it's pretty much the same thing as you've built before just smaller right? Wrong. The mobile experience is different and far less forgiving. How do you design an application for touch? How does that differ from a mouse? Should you build a mobile app or a mobile web site? This workshop will get you started on designing for a new, and exciting, platform. Whether that means iPhone, Android, Windows Phone or something else, you need a plan, this talk will help.
The Mobile App Smackdown: Native Apps vs. The Mobile Web
Mobile is the next big thing and your company needs to there. But what does there actually entail? Should you build a native app? On which platforms? Do you have the skills for that? What about the web? Can you deliver an awesome experience using nothing but a mobile web browser? This talk will help you navigate these treacherous waters. We'll discuss the pros and cons of the various approaches and give you a framework for choosing.
John Simone - Engineer @ Heroku
Practicing Continuous Delivery on the Cloud
This session will teach you best practices and patterns for doing Continuous Delivery / Continuous Deployment in Cloud environments. You will learn how to handle schema migrations, maintain dev/prod parity, manage configuration and scaling.
Ken Sipe - Architect, Web Security Expert
Complexity of Complexity
Of all the non-functional requirements of software development, complexity receives the least attention and seems to be the most important from a long term standard point. This talk will look at some of forces that drive complexity at the code level and at a system level and their impact. We will discuss what causes us to over look complexity, how our perception of it changes over time and what we can do about it?
Glu-ing the last Mile
How does your team handle release weekend? Is it the whole weekend? Is everyone on call? Is there a way to reverse the decision mid-stream?... How long would it take your company or team to push a single line code fix from dev into production? Way too many organizations handle the production release through manual and tedious labor following a lengthy to-do check list. Way too many organizations have no way to reproduce their production environment... because they have manually changed or updated configurations without version control... or they have OS or application server paths that are not under proper management.
Hacking Workshop
The net has cracks and crackers are among us. With all the news of security failures, it can be a challenge to know what is FUD and what is really at risk and to what extent. This session isn’t about hacking an application together nor is it about coding a solution. It is about looking at the network and network infrastructure and understanding some of its weaknesses. This workshop is a 50% mix of lecture / discussion and hands on attacking in order to best understand the challenges.
MongoDB: Scaling Web Applications
Google “MongoDB is Web Scale” and prepare to laugh your tail off. With such satire, it easy to pass off MongoDB as a passing joke… but that would be a mistake. The humor is in the fact there seems to be no end to those who parrot the MongoDB benefits without a clue. This session is about getting a clue.
Spock - Unit Test and Prosper
Spock is a groovy based testing framework that leverages all the "best practices" of the last several years taking advantage of many of the development experience of the industry. So combine Junit, BDD, RSpec, Groovy and Vulcans... and you get Spock!
This is a significant advancement in the world of testing.
Prerequisite: junit
The Elusive Truth and False Dichotomies in a Broken Reality
"To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true" -- Aristotle
Web Security Workshop
As a web application developer, most of the focus is on the user stories and producing business value for your company or clients. Increasingly however the world wide web is more like the wild wild web which is an increasingly hostile environment for web applications. It is absolutely necessary for web application teams to have security knowledge, a security model and to leverage proper security tools.
Brian Sletten - Forward Leaning Software Engineer
REST Workshop : I
Many people are drawn to the ideas of REST but aren't sure how to take the next steps. This workshop will help get you to a comfortable place by introducing the concepts and walking through a series of exercises designing REST APIs from a variety of domains.
Semantic Web Workshop
The Web is changing faster than you can imagine and it is going to continue to do so. Webs of Documents are giving way to machine-processable Webs of Information. We no longer care about data containers, we only care about data and how it connects to what we already know.
Perhaps the concepts of the Semantic Web initiative are new to you. Or perhaps you have been hearing for years how great technologies like RDF, SPARQL, SKOS and OWL are and have yet to see anything real come out of it.
Whether you are jazzed or jaded, this workshop will provide you with the understanding of a technological tidal wave that is heading in your direction.
Visualizing Data on the Web
We are far from the early days of ugly HTML. We have sophisticated visualization tools available to us now to help our users consume complex data in attractive and informative ways.
Come hear how you can adopt these visualization systems (calling them libraries is inappropriate) today.
WebGL
HTML 5 has introduced us to the Canvas API, 2D graphics and the pleasures of plugin-free video and audio playback. One of the next hurdles we will face is native support for 3D graphics for simulations, visualizations and games.
Matt Stine - Community Engineer @CloudFoundry
Introduction to Google's Closure Tools
Closure Tools represents the open-sourcing of many of the tools used to build many of Google's rich web applications such as Gmail, Docs, Maps and Google +. It's sweet spot is the development of large-scale, feature-rich applications that are deployed within a single page. It attempts to be a comprehensive toolset, providing a robust set of libraries, a strong dependency management system, and a sophisticated compiler. All of these features provide a productive development environment that also results in highly-performant JavaScript code.
Master of Puppet
Puppet is a powerful framework for the automation of tasks typically performed by system administrators as part of software infrastructure provisioning and maintenance. Puppet adoption is rapidly increasing, boasting use by companies such as Google, RedHat, Constant Contact, Zynga, and Shopzilla.
Puppet is composed of three principle components:
- a declarative language for expressing system configuration,
- a client and server for distributing it,
- and a library for realizing the configuration
Tmux/Vim Workshop (Bring a Laptop!)
A terminal multiplexer and a decades old editor...wow...so what? I'll tell you so what! Have you ever wanted to build your own IDE that suits your development style but didn't have the skills or the time? Are you a polyglot seeking the power of an IDE, but there's simply no one tool that meets all of your needs? Look no further.
Vert.x: This ain't your Dad's Node
Vert.x (http://vertx.io) is a new framework for writing easily scalable applications. It is the marriage of the event-driven, non-blocking I/O programming model popularized by Node.js with the proven performance and concurrency found on the JVM.
Venkat Subramaniam - Founder of Agile Developer, Inc.
Automated testing tools and techniques for JavaScript
Programmers often complain that it is hard to automate unit and acceptance tests for JavaScript. Testability is a design issue and with some discipline and careful design we can realize good automated tests.
CoffeeScript for recovering JavaScript programmers
Saying JavaScript is powerful is an understatement. The problem is it is way too powerful and dangerously flexible. Programmers often have trouble reaping its benefits due to its uncontrolled flexibility and, to a certain extent, lack of structure. One approach is to learn to tame the beast, like the authors of complex JavaScript libraries have done. Fortunately there is an alternative. CoffeeScript is JavaScript created in a humane way. In this session we will learn how, using CoffeeScript, we can reap all the benefits of JavaScript, but without losing our sanity in the process.
HTML 5 Animations - building true richness on the web
User experience and rich interaction is top in the list of things that influence the success and adoption of applications. Such richness and interactions were owned by desktop and native applications in the past. Over the recent years the web has become increasingly interactive, but the true richness was still lacking. But all that has changed with HTML 5 canvas and animation techniques.
Mastering JavaScript
JavaScript is one of those very powerful languages that is often misunderstood and underutilized. It's quite popular, yet there's so much more we can do with it.
Programming with HTML 5
Developing a rich user interface for web applications is both exciting and challenging. HTML 5 has closed the gaps and once again brought new vibe into programming the web tier. Come to this session to learn how you can make use of HTML 5 to create stellar applications.
Taming JavaScript—A Hands on Workshop
JavaScript is a powerful language with great amount of flexibility that has often intimidated programmers and left them confused. To succeed with the language we have to move past these intimidations and confusing constructs. Once we learn what to avoid and the right constructs to use, we can enjoy the power and reap the full benefit of this highly powerful language.
Johannes Ullrich - Chief Research Officer of SANS Technology Institute
Security Impact of HTML5
HTML 5 does more then add a couple new and nifty tags to the venerable HTML markup language. It has to be seen as part of the new dynamic web which no longer delivers static documents but dynamic applications that interact with backend web services.
Tom Valletta - Mobile Architect
Simpler Social Integration using API Mashups
Each day our mobile gaming platform is becoming more and more capable. Each day the need to send games to the mobile browser increases. Many game designers are forcing developers into the same social integration UI flows that Desktop browsers have.
Web Gaming APIs and their applications in business
In the last couple months many new gaming APIs have landed in the latest browsers. These APIs give game developers better access to hardware and device resources. They also provide significant performance improvements to existing code.
The Web API
The WebAPI is providing developers with the ability to interact with device hardware and resources that have only been available to native platform stacks. Through the WebAPI web developers now have access to battery levels, screen orientation, cameras, background services, the file system, network status, radios, and much more. We will step through each of the APIs within the WebAPI showing code, demos, and browser support.
Vert.x vs. Node.js
Node is fast, dynamic, and trendy. Vert.x is practically unheard of. But some people claim that Vert.x could be the Node killer.
Craig Walls - Author of Spring in Action
Building Next Generation Apps Workshop
For a long while, we've built applications pretty much the same way. Regardless of the frameworks (or even languages and platforms) employed, we've packaged up our web application, deployed it to a server somewhere, and asked our users to point their web browser at it.
But now we're seeing a shift in not only how applications are deployed, but also in how they're consumed. The cost and hassle of setting up dedicated servers is driving more applications into the cloud. Meanwhile, our users are on-the-go more than ever, consuming applications from their mobile devices more often than a traditional desktop browser. And even the desktop user is expecting a more interactive experience than is offered by simple page-based HTML sites.
With this shift comes new programming models and frameworks. It also involves a shift in how we think about our application design. Standing up a simple HTML-based application is no longer good enough.
Elements of Modern Applications: Backbone.js with Thorax and Lumbar
In this session, we'll see how to develop Backbone clients using Thorax and Lumbar. Thorax is an opinionated framework built on Backbone. Along with the Lumbar build system, Thorax provides a Rails-like development experience for working with Backbone. Thorax/Lumbar will not only help you get started with Backbone, but will also help the client side of your application and ultimately build your code into deployable artifacts that target individual platforms.
Elements of Modern Applications: Socialization
In this session we'll talk about what it means for an application to be social and the benefits of socializing an application. We'll look at libraries for linking applications with existing social networks. We'll also discuss what it takes for an application to form its own network of users connected with each other for a better user experience.
Elements of Modern Applications: Spine and Spine Mobile
In this session, we'll start with an empty directory and use Spine.js to create an interactive client-side web application. Then we'll leverage what we learned to build a mobile web application with a native feel that can be deployed either through a phone's web browser or via native wrapper frameworks such as Apache Cordova (aka, PhoneGap).
Elements of Modern Applications: Spring MVC, REST, and OAuth 2
In this session we'll work with Spring MVC to define the REST API for a modern application. We'll look at how the latest features of Spring MVC make it possible to create a truly RESTful API and also explore some extensions that provide HATEOS auto-documentation features to Spring MVC. And, since security is an important aspect of any good REST API, we'll also see how to layer OAuth 2 security using Spring Security for OAuth.
Meghan Wilker - Co-author Interactive Project Management
Dawn of the Devs
The interactive industry has a little PR problem: half the world sees us as reclusive loners sitting in dark rooms, and the other half sees us as app-happy adult kids riding through offices on scooters. However inaccurate this is, we have to change it. Future projects are riding on it, our industry is depending on it, and end users need it.
Interactive is only 50% technology; the other 50% is about people. The quality of our technological work directly correlates to how well we work with people, and people's experiences with what we build. We have a responsibility to make projects better and to create end products that are actually--in practice--the best solutions for our clients' problems. We have to learn to talk about what we do and how we do it, we have to teach clients how to think intelligently about the possibilities and realities of interactive products, and we have to ask our team members to do the same.






































