Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
Justin Gehtland
Founder of Relevance, co-author of Better, Faster, Lighter Java
Blog
Nerdcore
Posted Monday, June 16, 2008
This actually happened to me today. I got on the elevator to head up to Relevance World Headquarters, wearing my dress-up clothes (it included long pants). I was also wearing more »Small Things, Loosely Joined, Written Fast
Posted Friday, June 6, 2008
Get the updated code sample here. It turns out that my MacBook Pro somehow compressed a cached version of the samples that were missing several key directories. I more »Updated code sample from Small Things talk
Posted Friday, June 6, 2008
Get the updated code sample here. It turns out that my MacBook Pro somehow compressed a cached version of the samples that were missing several key directories. I’m more »Refactotum patches in the wild
Posted Tuesday, June 3, 2008
The Refactotum tutorial out at RailsConf went really well. We know that a lot of folks submitted their patches based on the work done in the tutorial, but Nicholas is the firs more »Presentations
Ajax Architecture
Ajax applications have unique architectural challenges and opportunities. This presentation will show you how to take advantage of the Ajax's strengths, and work around its quirks. more »Pragmatic AJAX
Web applications have traditionally been a sort of Faustian bargain, yielding the high-quality user experience that desktop applications can deliver in exchange for incredibly easy deployment and lower support costs. One of the arguments against creatin more »JavaScript for Ajax Programmers
This presentation covers JavaScript from the perspective of an Ajax programmer. We assume that you may be using an Ajax toolkit, but still need to be able to read, modify, and test the JavaScript code in your application. You will learn the common idioms more »Prototype: Ajax and JavaScript++
Learn to simplify Ajax development with Prototype through a series of real-world examples. Along the way, learn to code in Prototype's modern JavaScript style, taking advantage of Prototype's extensions to JavaScript's object model more »JRuby
JRuby is not one, but two great technologies: the Ruby language, and the Java Virtual Machine and libraries. In this talk you will learn the basics of programming JRuby, and how to integrate JRuby code into existing Java projects. more »Ajax applications have unique architectural challenges and opportunities. This presentation will show you how to take advantage of the Ajax's strengths, and work around its quirks.
Topics covered will include
Selecting an Ajax toolkit
Dealing with browser differences
Handling the "Back" button
Degrading gracefully
Marshalling data
Managing XML
Minimizing roundtrips--or not!
When Ajax isn't enough
Packaging and deployment
Prior exposure to Ajax and JavaScript is very useful, but not required.
Web applications have traditionally been a sort of Faustian bargain, yielding the high-quality user experience that desktop applications can deliver in exchange for incredibly easy deployment and lower support costs.
One of the arguments against creating rich HTML/JavaScript has been how difficult they can be to write and maintain. You will see how to adapt modern Java web frameworks such as JavaServer Faces and Tapestry to ease both the creation and maintenance of these types of applications.
With Ajax we can get a lot of the best of both worlds. Now our web applications can be powerful, usable, an easily deployed!
Web applications have traditionally been a sort of Faustian bargain, yielding the high-quality user experience that desktop applications can deliver in exchange for incredibly easy deployment and lower support costs (i.e., no client software to install, upgrade, and test on every conceivable desktop configuration).
It turns out that these qualities need not be mutually exclusive. As several recent high-profile web applications such as Google's GMail have shown, modern browsers (e.g., Internet Explorer 6, Mozilla/Firefox, and Safari) are capable of rendering web applications with highly dynamic and compelling user interfaces -- fetching data from a server without page refreshes, animating and manipulating page contents on-the-fly, and all without resorting to third-party plug-ins like Flash. The line between a ""web"" application and a ""desktop"" application is blurring.
Let's blur it some more. Another major limitation of web applications is the lack of ability to function in a disconnected (i.e., off-line) mode. It turns out that this too is quite possible with the right architecture -- a web application can continue to function in a modern browser even in the absence of an Internet connection. And when the connection is re-established, data collected while in off-line mode can be uploaded to a server.
Developers seeking practical, real-world advice for creating next-generation, rich web applications won't come away from this presentation disappointed.
This presentation covers JavaScript from the perspective of an Ajax programmer. We assume that you may be using an Ajax toolkit, but still need to be able to read, modify, and test the JavaScript code in your application. You will learn the common idioms of JavaScript by looking at working code from the Ajax toolkits themselves.
All Ajax programmers need to know JavaScript. Toolkits will do some of the work for you, but your own JavaScript will differentiate your applications from others. A reading knowledge of JavaScript is also necessary when selecting an Ajax framework, and for testing and debugging applications.
We'll go straight to the interesting parts of JavaScript programming:
* Prototype-based inheritance
* Functional style
* Dynamic evaluation
* In-browser testing
We'll demonstrate these concepts using popular Ajax frameworks such as Dojo, Prototype, script.aculo.us.
Learn to simplify Ajax development with Prototype through a series of real-world examples. Along the way, learn to code in Prototype's modern JavaScript style, taking advantage of Prototype's extensions to JavaScript's object model
Prototype deserves its fame for Ajax support, and for easy integration with the Rails platform. In this presentation, you will learn to simplify Ajax development with Prototype as we work through a series of examples that demonstrate:
* using Ajax.Request to manage XMLHTTPRequest
* automatically updating pages with Ajax.Updater
* polling with PeriodicalExecuter
* managing forms with Form.serialize
* responding to inputs with Event.observe
* simplifying DOM updates with Insertion
But there's more! Prototype exemplifies modern JavaScript coding style. You will see how to take advantage of "Prototype as JavaScript++" by
* using JSON for parameter passing
* defining classes with Class.create and Object.extend
* using Ruby-inspired extensions to the JavaScript object model, such as Array.each
JRuby is not one, but two great technologies: the Ruby language, and the Java Virtual Machine and libraries. In this talk you will learn the basics of programming JRuby, and how to integrate JRuby code into existing Java projects.
Ruby is a great language, but you cannot afford to throw away you investment in existing Java libraries. And you don't have to. JRuby is a sufficient subset of Ruby to be far more expressive and productive than Java. Plus, JRuby's integration with Java means that you can call your Java libraries.
We'll look at Ruby basics, at calling Ruby from Java, calling Java from Ruby. We'll also explore the current limitations of JRuby, which ones are likely to be lifted in the future, and why.