321 North Fort Lauderdale Beach Boulevard
Fort Lauderdale, FL 33304
Full Day Workshops
with James Harmon
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.
Use Android Activites to create the User Interface. Learn how to run background services. Create broadcast receivers to react to changes in the phones state. You'll even learn how to interact with the location services and display Google maps.
We'll take a deep dive into the details. You'll write code to interact with Android's built-in SQLite database. You'll add logging to your app and you'll even learn how to do unit testing in the Android environment.
Leave the class with hands-on skills and a working application that will be ready to publish to the Android Market.
Don't miss out. Grab your board and ride the Android wave!See Workshop Requirements »
with Pratik Patel
This is a full day workshop intended to teach you the basics of Titanium. We'll work on several exercises as you build up a complete, feature-rich, mobile application that you can deploy on either Android or iOS. Topics we'll cover in this workshop: * Titanium quickstart * Titanium architecture and build process * Titanium API's ** UI elements: Lists, Labels, Windows, Views, Buttons, etc ** Navigation ** Tabs ** Databases ** Network operations * How to manage app upgrades * Connecting to social media sites * Debugging Titanium Applications * Best Practices * Turbo charging with Coffeescript * Building maintainable code with platform specific plugins
with Kenneth Kousen
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.
While building the application, we'll also talk about issues relating to Hibernate sessions and GORM, and how the Grails architecture differs from other standard approaches. A survey of some of the more popular plugins will be included, and we'll add as many as time allows.
with Nathaniel Schutta
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...
One of the most exciting features of HTML5 is the canvas, a space you can use to draw anything from shapes to text to, well, anything! From basic drawing to graphs to full fledged games, canvas opens up a whole new world of possibility, a world sans browser plugins. Speaking of the absence of plugins, we'll look at what it takes to add video and audio to your pages.
Web apps are, in many cases, indistinguishable from their thick client brethren, at least if you're not on an airplane. OK, so many planes have wifi, but there are parts of the world that don't have reliable Internet connections! Thanks to local storage and the offline API, all is not lost - you can create a web app that works offline. We'll also take a look at the history API.
with Christopher Judd
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.
The app we build will allow us to experiment with a bunch of APIs including Core Data, Camera, and more.See Workshop Requirements »
with Brian Sam-Bodden
The workshop consists of: Beginning jQuery Advanced jQuery and jQueryUI
This is a hands on course for developers so bring your laptop and be prepared to write a lot of code!
with Venkat Subramaniam
with Ken Sipe
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.
This training workshop on security will provide an overview of the security landscape starting with the OWASP top ten security concerns with current real world examples of each of these attack vectors. The first session will consist of a demonstration and labs using hacker tools to get an understanding of how a hacker thinks. It will include a walk through of the ESAPI toolkit as an example of how to solve a number of these security concerns including hands-on labs using the OWASP example swingset.
The workshop will include several hands on labs from the webgoat project in order to better understand the threats that are ever so common today.
Attendees will come away with the following skills / capabilities: - threat modeling - security audit plan - introduction to Pen testing - key / certificate management - fixing web application security issues
Don't be the weakest link on the web!
Half Day Workshops
with James Harmon
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.
We'll analyse the UI patterns important on tablets (like Action Bars). And you'll learn how to use the specialized classes (like Fragments) that were created especially for tablets.
The following topics are included in this presentation:
The Tablet Marketplace Tablet UI design Optimizing layouts for larger screens Dips, Sips and pixels Action Bars Fragments Side Navigation 3rd Party Libraries
with Nathaniel Schutta
with Dan Allen and Jason Porter
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.
Static is the new dynamic. With the ever increasing capabilities of HTML5-based browsers, we can give the server a rest and put security problems behind us by publishing static HTML5 documents and shifting the dynamic behavior to the client. Not only does that let you blog out of static hosting sites like github pages, it also means you can put more processing power into the author tools.
In this session, you'll be introduced to Awestruct and Jekyll, Ruby-based tools for building and publishing static websites. You'll discover how you can leverage a wide range of lightweight markups languages and DSLs such as HAML, AsciiDoc, Markdown, SASS and CoffeeScript to keep your source terse and DRY. We'll use an extension pipeline to setup a blog, add comments to your site or add analytic tracking scripts to your pages, then build and publish the site to GitHub pages in a single command. Just because the pages are static doesn't mean they can't be dynamic too.
with Craig Walls
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.
In this 2-part workshop, you'll get hands-on experience building a simple, yet complete next-generation application that can be deployed in the cloud, consumed from any device, and offers a rich experience for your users.See Workshop Requirements »
with Ken Sipe
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.
The labs will require the use of: - a virtual machine with BackTrack 5 - a wifi adaptor - and a laptop.
We will have ISO installations of BackTrack 5 for you to install on your VM. It is best if you have this pre-installed, it can be downloaded at http://www.backtrack-linux.org/ . In order to run backtrack, you will want to install this to a virtual machine, if this is new to you, pick up virtualbox or vmware.
The wifi adaptor needed is an Alfa AWUS036H or Alfa AWUS036NHA. You will need 1 of these external adaptors. There are ~ $30 at amazon.
Through the labs we will: - Disassociate wireless traffic - Crack a WEP key - Learn to break through a WPA device - Scan for open ports
with Pratik Patel
with Pratik Patel
with Nathaniel Schutta
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.
We'll look at some popular web sites discussing what we would do differently in a mobile context and then take a look at the actual mobile experience to see what other designers actually did. Using paper, we'll work though a design or two of our own. We'll wrap up discussing various methods of creating a mobile app - should we use the web or build something native? What about shell apps? While we might not have all the answers, at the end of this workshop you'll know what questions to ask when thinking through your own situation.
with Peter Bell
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.
Join us for this action packed half day workshop!
with Tim Berglund
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.
The instructor will lead you in coding features in a simple web app, but you are free to hack on your own ideas as well. You will leave the session having become famliar with Ratpack and ready to start building your own small apps with it.
with Brian Sletten
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.
This workshop will span two session periods but is one effort. Please plan on coming to both.
We will break up into teams and tackle the various aspects of a solid, stable, evolvable REST API design. This will not be a tutorial in particular REST implementations (Jersey, Restlet, etc.). The ideas will transcend specific technologies although we will talk about some particular choices.
with Brian Sletten
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.
In this workshop, we will:
Explain the Web and Web architecture at a deeper level Apply Web and Semantic Web technologies in the Enterprise and make them work together Integrate structured and unstructured information Create good, long-lived logical names (URIs) for information and services Use the Resource Description Framework (RDF) to integrate documents, services and databases Use popular RDF vocabularies such as Dublin Core, FOAF, DOAP Query RDF and non-RDF datastores with the SPARQL query language Model and Do Inference with the Web Ontology Language (OWL)
Bring your laptops. This is a hands-on workshop.
with Erik Hatcher
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.
Quick and easy steps for common Apache Solr use cases
Ingesting recipes: CSV, relational databases, file system, web crawls, API
Analysis recipes: copyField, character mapping, tokenizing and filtering, configuring for suggest, data exploration
Faceting recipes: field, date and numeric range, pivot, and query faceting
Integration recipes: prototyping user interactions, working with Solr from PHP, Rails, Java, Ajax, and other environments
Other featured recipes: more like this, spell checking/suggest, grouping, clustering
with Matt Stine
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.
This workshop will show you how to utilize these two tools to create lightweight, yet rich development environments that are language, framework, and platform agnostic. Not only that, but we'll leverage the ability of both of these tools to keep your fingers "on the home row" of your keyboard while at the same time enabling you to quickly switch between multiple tasks and contexts, thus enhancing your overall productivity.See Workshop Requirements »