Greater Atlanta Software Symposium

October 21 - 23, 2005



Event Details

Location

WHotel Atlanta Perimeter
111 Perimeter Center West
Atlanta, GA 30346
View Map
NOTE: You are viewing details about a past event. We will be back in Atlanta October 21 - 23, 2005. You may view the event details here ».

Session Descriptions

Andrew Glover - Co-author of "Continuous Integration"

Andrew Glover

Introduction to TestNG, the next generation testing framework for developers

No one will argue that JUnit has positively affected the quality of thousands of Java applications around the world. JUnit’s simplicity and ease of use ushered in a whole new era of code quality; however, as many developers have found, its simplicity has also limited its use. TestNG was designed from the ground up to overcome some of JUnit’s limitations; moreover, TestNG’s features make it a great tool to complement your JUnit tests.

Taking Quality to the Next Level through Code Coverage Analytics

Understanding what code coverage represents, how to effectively apply it, and how to avoid its pitfalls will give you an unprecedented understanding of how unit tests may or may not be covering you from sneaky defects.

Using Code Metrics for Targeted Code Refactoring

The knowledge of how to effectively spot smelly code and replace it with proven patterns will ultimately lead to a more stable, maintainable and elegant code base.


Ben Galbraith - Book author, Ajaxian-at-Large, and Consultant

Ben Galbraith

Advanced Swing: Architecture and Frameworks

Are you spending more time plumbing your Swing applications than solving business problems? Has your Swing application grown out of control? This session is for you.

Ajaxian JavaScript Frameworks

In the "Introduction to Ajax" session, we discuss what Ajax is, how it works, and how others are using it.

This session goes deeper into Ajax by reviewing the existing JavaScript frameworks that aim to make it easier.

Being Productive with Java in the Enterprise

It sounded like such a good idea back in the mid-nineties: based the Java platform on a standards-based, open community, and let anyone participate. There is no question that Sun's strategy for Java's stewardship via the JCP and sponsored open-source has yielded some enormous benefits. However, these have not been enjoyed without tremendous cost.

Creating Killer Graphics and Professional PDFs with XML

You can do some pretty cool things with XML these days (despite what some curmudgeons in the technology world may claim). In the past few years,
XML has solidified its place as the lingua franca of data sharing and data manipulation. But XML as a data transfer language is only marginally
interesting. Things get really exciting when XML is dynamically transformed into other formats.
In this session, I focus on two XML formats which can be readily transformed into high-quality presentation-centric output formats. XSL-FO is a
typesetting format for XML that can be readily converted into PDF (or Postscript and some other formats). SVG is a vector graphics language in XML --
a sort of open-source version of the popular Macromedia Flash format. SVG files can be converted into beautiful, completely scalable -- and interactive -
- images.

Creating Polished Swing Applications

Too often, Swing applications are slow, ugly, and hard-to-maintain. It turns out that it doesn't have to be this way. Swing can be used to create highly-responsive, beautiful applications that are very maintainable. If this isn't consistent with your own experience, don't feel bad; its not very obvious how to make Swing sing.

Introduction to Ajax

Ajax -- called DHTML just a few months ago -- has revolutionized (or "radically iterated", if you like) web application development in the short few months since the term was coined.

What is it all about? Why are we excited about a set of capabilites that have been sitting in our browser for years? What can you do with it? And, how can you do it?

Making the Most of XML

For many of us, XML has become a ubiquitous presence in application development, whether parsing, validating, or manipulating it. For many of us, all
that XML is coupled with pain, in the form of tedious APIs (like, say, the W3C DOM API) and confusing technologies (oh, I don't know, W3C XML
Schema?).


Bruce Tate - Author of 3 JavaOne best sellers

Bruce Tate

Beyond Java

All programming languages have a limited life span, and Java is no different. This is a philosophical session rather than a programming session. Sooner or later, Java will lose its leadership position. This session will explore Java's strengths and weaknesses. We'll try to understand whether conditions are ripe for alternatives to emerge, and what those alternatives may be.

Introduction to Hibernate

O/RM (Object/Relational Mapping) seeks to eliminate repetitive or tedious work enabling the CRUD (create, read, update, delete) that underlies most applications. Hibernate is a popular, open-source O/RM tool that uses reflection (instead of code generation, like EJB, or bytecode injection, like JDO) to manage your persistence layer.

Introduction to Spring

This session, for the Spring beginner, helps you:
• Understand dependency injection and inversion of control
• Know the meaning of lightweight containers and Spring
• Understand the basic pieces of Spring
• See core Spring modules in action, including Persistence, AOP, transactions.

Attendees need not know anything about Spring. This session does talk about integration with core J2EE frameworks like JDBC and transactions.

Where Agile meets Argyle: New processes in established companies

Agile programming is a collection of core principles and techniques that allow software developers to create lighter, more responsive applications, and to have fun doing it. Many established organizations are either openly or sub-conciously hostile to many of the principles of Agile development.


Dave Thomas - Pragmatic Programmer, Ruby, Rails, Process Improvement

Dave Thomas

Herding Racehorses and Racing Sheep

Are you frustrated by experts who can't tell you what to do, or by junior team members who refuse to see the big picture? How can you best develop careers: both yours and those of your teammates and managers? How can we learn to apply experience more effectively, and why do the many approaches designed to tame complexity actually end up increasing it?

Ruby for Java Programmers

Ruby recently enjoyed its tenth birthday. Instead of cake and candles, the community celebrated by releasing a wave of new libraries and frameworks that make Ruby programming even easier. This talk features some of the best of these, as we explore Ruby.

Ruby on Rails

The Ruby on Rails framework has exploded onto the scene over the last few months. Propelled by some genuine benefits, and fueled by a whole lot of controversy, Rails seems here to stay. So, is it a Java killer? (No.) Is it a great way to develop certain classes of web application? (Yes.) Does it really deliver the 10-fold increase in developer productivity that some have claimed? (It depends...)



Eitan Suez - Eitan Suez is the creator of the open source framework JMatter

Eitan Suez

Cascading Style Sheets: a Programmer's Perspective

Today, the Cascading Style Sheets (CSS) specification is well supported by the major browsers (Mozilla, Safari, IE). CSS has become a practical tool for web content publishers that has helped turn heavy, buggy, and hard-to-maintain web sites into lean, clean, and stylish ones. CSS is sometimes stereotyped as a technology geared for graphic designers and artists. I beg to differ: I see CSS as a refactoring tool for content publishers and one that encourages content to become more strongly semantic. Come see a developer's perspective on CSS and how it can be applied to refactor your web content.

Naked Objects Applied

Join Eitan in this hands-on session on Naked Objects. This session uses the "learning by doing" approach to learning an API or framework. Naked Objects is a powerful tool that can give you a significant advantage in the development of business systems. It gives you the ability to prototype a software application so quickly that it can be performed during information gathering phases of a project. It gives you the power to codevelop the core business model of your application with a non-developer business expert at your side. No prerequisite knowledge of Naked Objects is required.

The State Machine Compiler

Classes will often bear various states. Examples include a user who may be "logged in" or "logged out," a bill that is "open" or "paid," or potentially a more complex situation where an object obeys a set of complex rules that determines which of a number of possible states that object is in. The Gang of Four gave us the State Pattern, a fairly straight-forward mechanism for developers to model and implement the behaviour of stateful objects. The State Pattern is only the beginning of the story. Robert Martin developed the State Machine Compiler and has taken the job of developing and maintaining stateful systems to a new level. Today, SMC is a well-maintained open source project hosted on sourceforge.net. Come learn about SMC, a fundamental tool for implementing stateful classes and systems that every software developer should have in his toolchest.

XML Data Binding with JiBX

JiBX is an open source XML data binding API for Java. JiBX is younger than most other APIs in this space (Castor XML, BEA XMLBeans, JAXB). JiBX's philosophy on data binding is that: [a] databinding should be fast, and [b] databinding frameworks should allow for the divergence and evolution of your codebase from its xml representation. JiBX excels on both counts and consequently is a practical tool for the purpose of data binding. In this session, Eitan will be covering all aspects of Dennis Sosnoski's JiBX framework.


Jared Richardson - Agile coach and co-author of Ship It

Jared Richardson

Pragmatic Tracer Bullets

Are your product designs hit or miss? Do you have trouble building a loosely coupled system? Is your code incestuous? Refactoring not an option with your code base? Tracer Bullets help keep your project out of the fire.

Tracer Bullet Development:

* helps you create great software
* lends itself to an iterative cycle
* can be used for demos early and often
* is easily refactored
* allows your teams to work in parallel
* makes a very testable system

Software Development Techniques

Throughout our software careers we learn habits from our coworkers, from books we've read, and occasionally, from conferences we attend. Much of our competence comes from the tips and tricks we pick up as we go.

Software Tools That Make Life Easier: Part One

a.. Do you spend more time fighting your tools than writing code?
b.. Do you avoid merging your code with your teammates because of “Integration Hell”?
c.. Do the same bugs keep sneaking back into your product?
d.. Do your builds depend on the roll of the dice?

A good set of infrastructure tools can go a long way toward smoothing out these and other problems. Come see how to make your toolset work seamlessly in the background so you can Just Work. We'll cover source code management (SCM), build scripts, automated test harnesses, automatic builds, feature tracking and issue tracking.



Keith Donald - Lead of Spring Web and Creator of Spring Web Flow

Keith Donald

Advanced Spring: What's New and What You Might Not Know About

Spring 1.2 is out--Spring 1.3 is right on the horizon. As a broad, user-driven project with a large community, the newest releases offer a wealth of new features to be taken advantage of. This session focuses on demonstrating the most important, and how you can start leveraging them in your projects immediately.

The Spring Experience in 90 minutes

In this interactive session Keith walks you through the experience of building a simple Spring-powered application from the ground up.


Kito Mann - Editor-in-chief of JSF Central and the author of JSF in Action

Kito Mann

Architecting JavaServer Faces Applications

Over the past few years, a lot of time has been spent explaining what JSF is, and how different pieces of it work. However, little attention has been given to the process of architecting applications. This makes JSF architecture seem like a black art, since there are so many possible approaches to the application's architecture.

Prerequisite: Experience with JavaServer Faces.

Intro to JavaServer Faces

JavaServer Faces (JSF) is a standard web user interface framework, developed under the Java Community Process (JSR 127), and released in March, 2004. JSF specifies a web user interface component model, complete with server-side event handling, validation, internationalization, page navigation, and declarative mapping between user interface components and Java objects.

Introduction to Portlets

In late 2003, the Java Community Process released the Portlet API, designed to ease the progress of writing portlets for different portal environments. Using the Portlet API, developers can build reusable application components that work with portal servers from IBM, BEA, Oracle, Vignette, Apache, and other companies and open source organizations.

Migrating from Struts to JSF

As JavaServer Faces (JSF), the new standard Java web application framework, grows in popularity, development teams are beginning to evaluate different strategies for migrating from Struts to JSF.

Struts Shale: Struts 2.0?

With the growing popularity of new Java web frameworks, such as JavaServer Faces, Tapestry, and WebWork, Struts 1.x has lost its competitive edge in the web framework landscape. Recently, Craig McClanahan, the founder of Struts, initiated Struts Shale, a proposed next-generation framework built on top of JavaServer Faces.


Mike Cohn - Agile software development trainer, consultant and coach

Mike Cohn

An Introduction to User Stories for Software Requirements

The technique of expressing requirements as user stories is one of the most broadly applicable techniques introduced by Extreme Programming. User stories are an effective approach on all time constrained projects, not just those using XP.

Managing Agile Projects: Dispelling the Myths

There is a myth that agile projects do not need project management and that they cannot be estimated and planned. In this session we will dispel those rumors and learn why the job of the agile project manager is to do more than just buy pizza and get out of the way.

Overview of Agile Estimating and Planning

Estimating and planning are key skills. A good plan helps both the organization and the developers working on the project. In this session you’ll learn how an easy and effective approach to estimating and planning that can help you create more realistic plans.

Project Economics: Selecting and Prioritizing High Value Projects

Almost all of us have worked on too many projects that have failed because of economic reasons rather than technical reasons. Just as the technical team is required to estimate the effort that will go into a project, a marketing or product management team should estimate the benefits of doing the project. Benefits can come in the form of additional sales, increased customer retention, increased operating efficiencies, and so on.

Salvaging Struggling Projects: Digging for Gold Instead of Digging a Deeper Hole

Projects struggle for many reasons—overly aggressive deadlines, unproven technologies, scope creep, team dynamics, communication problems, and inter-team coordination are just some of the reasons. If not given attention, these problems can ultimately cause a project to fail entirely. However, if you act early and in the right way, most struggling projects can be turned around.

Transitioning to Agile: A Dozen Keys to Success

Transitioning to an agile process from a traditional process is fraught with potential dangers. Attend this class and learn the dozen things you absolutely must do in order to succeed.


Neal Ford - Application Architect at ThoughtWorks, Inc.

Neal Ford

Advanced Enterprise Debugging Techniques

This session discusses techniques and tools for debugging enterprise applications (without using System.out.println()!)

Language Oriented Programming Part 1: Theory

This session shows how to use Java as the building block for domain-specific languages. It discusses the next revolution in programming: language-oriented programming and the nascent tools that support it.

Language Oriented Programming Part 2: Practice

This session builds on the theory presented in part 1 and shows how to use the new breed of tools, Language Workbenches, to build your own domain languages.

Pragmatic Extreme Programming

This session talks about how to actually get XP done in the real world (and what to tell your boss).

Regular Expressions in Java

Regular expressions should be an integral part of every developer?s toolbox, but most don?t realize what an important topic it is. Regular expressions have existed for decades, but many developers don't understand how to take full advantage of this powerful mechanism, either through command line tools and editors or in their development.

SOA: Next Wave of Enterprise Development or Return of the Son of CORBA?

Is Service Oriented Architecture the next wave of distributed computing or just the same old crap in a shiny new package? This session provides an overview of what most people agree is the definition of SOA. I talk about SOA, ESB, CORBA, your MOM, and a bunch of other acronyms.

Web Application Security Vulnerabilities

This session highlights common mistakes made by web programmers, stating the problems and avoidance techniques.


Ramnivas Laddad - Author of AspectJ in Action, Principal at SpringSource

Ramnivas Laddad

Introduction to Aspect-oriented Programming with AspectJ

Aspect Oriented Programming (AOP) enables modularizing implementation of crosscutting concerns that abound in practice: logging, tracing, dynamic profiling, error handling, service-level agreement, policy enforcement, pooling, caching, concurrency control, security, transaction management, business rules, and so forth. Traditional implementation of these concerns requires you to fuse their implementation with the core concern of a module. With AOP, you can implement each of the concerns in a separate module called aspect. The result of such modular implementation is simplified design, improved understandability, improved quality, reduced time to market, and expedited response to system requirement changes. Come to this session and learn all about how AOP can help you simplify developing complex systems.

Introduction to Aspect-oriented Programming with AspectJ

Aspect Oriented Programming (AOP) enables modularizing implementation of crosscutting concerns that abound in practice: logging, tracing, dynamic profiling, error handling, service-level agreement, policy enforcement, pooling, caching, concurrency control, security, transaction management, business rules, and so forth. Traditional implementation of these concerns requires you to fuse their implementation with the core concern of a module. With AOP, you can implement each of the concerns in a separate module called aspect. The result of such modular implementation is simplified design, improved understandability, improved quality, reduced time to market, and expedited response to system requirement changes. Come to this session and learn all about how AOP can help you simplify developing complex systems.

Myths and Realities of AOP

Aspect-oriented programming (AOP) promises to modularize crosscutting concerns. Like all new technologies, AOP has its share of over zealousness and unjustified criticism, neither of which is useful to developers deciding if they should use AOP in their applications. Attend this talk to understand the real deal behind AOP and change your perspective of AOP forever.

Performance Monitoring in J2EE Applications

J2EE has become the main new platform for enterprise application deployment. Good performance is an important business requirement. Supporting this requirement needs application profiling during the development phases and performance monitoring after application deployment. Come to this session to understand challenges and choices in monitoring J2EE applications.

The State of AOP

A lot is happening in the field of Aspect-oriented programming (AOP). AspectJ and AspectWerkz, the two leading AOP implementations, have merged, bringing in their respective strengths. The merged version, AspectJ 5, adds many new features aimed at simplifying writing and deploying aspects. The new features include an annotation-based and XML-based syntax to define aspects, support for new Java 5 concepts, and load-time weaving. The tools support for AOP continues to improve, as well. Further, the most popular IOC framework, Spring, enables integrating aspects written in AspectJ. There is also serious discussion and preliminary work going on to support AOP right into the VM itself. All in all, there is a lot to learn about the changes in the exciting field of AOP. This session is designed to help you get up to date with all these changes.


Scott Davis - Author of "Groovy Recipes" & TDD Expert

Scott Davis

Guerrilla Web Techniques

Frameworks? We don't need no stinkin' web frameworks. OK, so maybe that's overstating the case. Web frameworks do plenty of good things, but sometimes they can also be golden handcuffs. Too many web developers fall into the trap of thinking, "If it can't be done by my web framework, then it simply can't be done."

Pair Programming for the Single Programmer

The full title of this talk is, "The Sound of One Hand Clapping, or How to Pair Program with a Single Programmer -- Scaling XP to Small Projects." Everyone talks about using J2EE for massive projects, but what about the lone wolf developer? Can they still apply the lessons learned from agile development methodologies to their everyday work?

Real World Web Mapping

In this presentation, we'll explore the top four mapping sites and show you how to take advantage of their free services. MapQuest, Yahoo Maps, Google Maps, and MSN Virtual Earth all bring slightly different capabilities to the table. These sites allow you to create your own interactive maps with minimum effort and no previous mapping experience. They take care of hosting the mapping data and making it easy to manipulate -- all you have to do is bring a little bit of know-how to the party.

Testing the Web Tier

Hopefully your test plan involves more than, "Well, it compiled..." JUnit is fast becoming a required part of the modern Java developer's toolkit. Unit testing your Java classes is a great start, but your test plan shouldn't stop there.

This talk will introduce several additional testing tools for the web developer -- HttpUnit, Canoo WebTest, and JMeter. These tools allow you to test a live website with no changes to the production code. Even better, you can test sites that have been implemented in technologies other than Java.

Testing the Web Tier, Part 2

JUnit is more than a Java testing tool -- it is a testing framework that can be extended to test non-Java resources as well. In the first presentation in this series, we examined three JUnit extensions that allow you to functionally test your website. In this talk, we'll look at three more tools that web developers should have in their toolkit: JsUnit, DbUnit, and the W3C Markup Validation Service.


Stuart Halloway - CEO of Relevance

Stuart Halloway

Cryptography for Programmers

For centuries people have used crypto to build (and break) secure systems. Computers have only raised the pitch of conflict, providing enormous cryptographic power at commodity prices. Most programmers do not write their own crypto libraries, instead relying on the services of an operating system or virtual machine. But even with all this support, building secure systems is a daunting task.

Java Platform Security and JAAS

The Java platform is built from the ground up with security in mind. This talk will introduce the security features of the J2SE, building quickly from the basic classes to realistic examples.

Programming Java Concurrency

Java has always provided a model for concurrency and threads. With Java 1.5, this model received a major facelift. Learn how to use the new concurrency utilities to build responsive, scalable, and correct concurrent applications.

Unit Testing Java with Jython and JRuby

JUnit is great. Jython and JRuby are even better. Unit testing libraries look the same everywhere, so why not use the one that lets you get your job done faster?


Venkat Subramaniam - Founder of Agile Developer, Inc.

Venkat Subramaniam

Agile Methodologies

Agile development is picking up steam. You have heard about eXtreme Programming(XP). What other Agile methodologies are you familar with and what do they bring of interest or significant to the table of Agility? More important, why should you learn about these different methodologies instead of simply focusing on one?
There is no one shoe that fits all. Any methodology that requires you to follow it in totality and not let you adapt is rather dogmatic, not pragmatic. To be effective we have to take the best of different approaches and apply to our projects base on our specific needs.

Good, Bad and Ugly of Java Generics

Java introduced Generics in the 1.5 version (Java 5). What are the capabilities of Generics?
How do you use it? Are there some gotchas in using it? In this example driven presentation,
we will start at the basics of generics and look at its capabilities. We will then look at some
of the under the hood details on generics implementation. We will then delve into the details of
some of the changes to Java libraries to accommodate generics. Finally we will take a look at
some restrictions and pitfalls that we need to be familiar with when it comes to practical and
prudent use of generics.

Groovy for Java Programmers

Object-oriented scripting languages, or agile dynamic languages, as some like to call those, are gaining programmers' attention. Groovy bring this excitement to
the Java platform with its ability to generate byte code. You can use Groovy instead of Java for some parts of your application. By learning it, you can switch between the languages where you consider fit.

Java 5 Features, What's in it for you?

A number of new features have been introduced in Java.
What benefit do these features offer you. Are there
issues with using these features. For instance, when should you use annotation? The objective of this presentation is not simply to introduce you to the features, but to the effective use of these as well.

Programming with Mock objects

You are convinced that Test Driven Development is good for you and your project. You realize the benefits it has to offer. What's holding you back? All the code and components that your code so heavily depends on is most likely making you wonder if TDD is really for you. We will start out by looking at dependency and dependency inversion. Then we will discuss how mock objects can help separate our code from its dependencies.

Prudent OO Design

Is your code object-oriented? Developing with objects involves more than using languages like Java, C#, C++ or Smalltalk for that matter. From time to time, the OO paradigm stumps even expert developers. Agile programming becomes a mere act of hack if we code without knowing the OO principles. What are these principles – the ones that influence your design? In this presentation the speaker will present some of the challenges that are fundamental in nature. Then he will present OO Design principles and good practices for prudent development of OO code.




Andrew Glover

close

Andrew Glover Co-author of "Continuous Integration"
Andrew Glover is the President of Stelligent Incorporated, which helps companies address software quality with effective developer testing strategies and continuous integration techniques that enable teams to monitor code quality early and often.

Andrew was the founder of Vanward Technologies, which was acquired by JNetDirect in 2005. He is the co-author of Addison Wesley's "Continuous Integration", Manning's "Groovy in Action" and "Java Testing Patterns". He is an author for multiple online publications including IBM's developerWorks and Oreilly's ONJava and ONLamp portals. He actively blogs about software quality at thediscoblog.com and testearly.com.


Ben Galbraith

close

Ben Galbraith Book author, Ajaxian-at-Large, and Consultant
Ben Galbraith is a frequent technical speaker, occasional consultant, and author of several Java-related books. He is a co-founder of Ajaxian.com, an experienced CTO and Java Architect, and is presently a consultant specializing in Java Swing and Ajax development. Ben wrote his first computer program when he was six years old, started his first business at ten, and entered the IT workforce just after turning twelve. For the past few years, he’s been professionally coding in Java. Ben has delivered hundreds of technical presentations world-wide at venues including JavaOne, The Ajax Experience, JavaPolis, and the No Fluff Just Stuff Java Symposium series; he was the top-rated speaker at JavaOne 2006.


Bruce Tate

close

Bruce Tate Author of 3 JavaOne best sellers
Bruce Tate is a father, kayaker, author and independent consultant in Austin, Tx. He worked for 13 years at IBM, in roles ranging from a database systems programmer to Java consultant. He left IBM to work for several startups in roles ranging from director to CTO. He now is building his own consulting practice, with emphasis on lightweight development in Java and Ruby, and persistence strategies. He is the author of nine books, including Rails Up and Running, From Java to Ruby, Beyond Java, the best selling Bitter series, the Jolt-winning Better, Faster, Lighter Java, and the Spring Developer's Notebook.


Dave Thomas

close

Dave Thomas Pragmatic Programmer, Ruby, Rails, Process Improvement
Dave Thomas is recognized internationally as an expert who develops high-quality software--accurate and highly flexible systems. He helped write the now-famous Agile Manifesto, and regularly speak on new ways of producing software. He is the author of six books, including the best selling The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley) and Programming Ruby: A Pragmatic Programmer's Guide (Pragmatic Bookshelf).


Eitan Suez

close

Eitan Suez Eitan Suez is the creator of the open source framework JMatter
Eitan Suez is an independent software developer based in Austin, Texas. Some of the more visible work Eitan has done includes the open source project 'ashkelon' (sourceforge), a system for Java API documentation management; more recently, the open source framework JMatter (jmatter.org), a framework for constructing rich domain-driven workgroup applications (Java, Swing). Eitan has spoken at various NFJS events in years past, is active with his local JUG, and passionate about the practice of software development.



Jared Richardson

close

Jared Richardson Agile coach and co-author of Ship It
Jared Richardson, co-author of Ship It! A Practical Guide to Successful
Software Projects
, is a speaker, consultant, and mentor with NFJS One. Jared has been in the industry for more than fifteen years as a consultant, developer, tester, and manager.

Jared can be found online at Agile Artisans.



Keith Donald

close

Keith Donald Lead of Spring Web and Creator of Spring Web Flow
Keith Donald is a principal and founding partner at SpringSource, the company behind Spring. He is best known in the Spring community for creating Spring Web Flow. At SpringSource, Keith is the lead of the Web Products Team. His team, based in Melbourne, Florida, sustains the development of Spring Web MVC and Web Flow and their associated integrations, and is also responsible for future innovations in the domain of web frameworks.

Since the first Spring Experience in 2005, Keith, with Jay Zimmerman of NoFluffJustStuff Software Symposiums, has served as director of the popular conference series.

Keith is also the principal architect behind SpringSource's state-of-the-art training curriculum, which has provided practical training on Spring to over 3000 students worldwide.

Over his career, Keith, an experienced enterprise software developer and mentor, has built business applications for customers spanning a diverse set of industries including banking, network management, information assurance, education, and retail. He is particularly adept at translating business requirements into technical solutions.

Keith's blog can be found at http://blog.springsource.com/main/author/keithd


Kito Mann

close

Kito Mann Editor-in-chief of JSF Central and the author of JSF in Action
Kito D. Mann is editor-in-chief of JSF Central and the author of JavaServer Faces in Action (Manning). He is a member of several Java Community Process expert groups (including JSF and Portlets), and an internationally recognized speaker. Kito is also the Principal Consultant at Virtua specializing in enterprise application architecture, training, development, mentoring, and JSF product strategy. He holds a BA in Computer Science from Johns Hopkins University.


Mike Cohn

close

Mike Cohn Agile software development trainer, consultant and coach
Mike Cohn is the founder of Mountain Goat Software, a process and project management consultancy and training firm. He is the author of User Stories Applied for Agile Software Development and Agile Estimating and Planning, as well as books on Java and C++ programming. With more than 20 years of experience, Mike has previously been a technology executive in companies of various sizes, from startup to Fortune 40. A frequent magazine contributor and conference speaker, Mike is a founding member of the AgileAlliance, and serves on its board of directors. He can be reached at mike@mountaingoatsoftware.com.


Neal Ford

close

Neal Ford Application Architect at ThoughtWorks, Inc.
Neal Ford is an Application Architect for ThoughtWorks. He is an architect, designer, and developer of applications, instructional materials, magazine articles, and video/DVD presentations. Neal is also the author of Developing with Delphi: Object-Oriented Techniques (Prentice Hall PTR, 1996), JBuilder 3 Unleashed (SAMS Publishing, 1999), and Art of Java Web Development (Manning, 2003). His language proficiencies include Java, C#/.NET, Ruby, Object Pascal, C++, and C. Neal’s primary consulting focus is the design and construction of large-scale enterprise applications. He is also an internationally acclaimed speaker, having spoken at over 30 developers’ conferences worldwide.


Ramnivas Laddad

close

Ramnivas Laddad Author of AspectJ in Action, Principal at SpringSource
Ramnivas Laddad is an Interface21 Principal. He has over a decade of experience in applying his enterprise Java and aspect-oriented programming (AOP) expertise to middleware, design automation, networking, web application, user interface, and security projects.

Ramnivas is a well-known expert in enterprise Java, especially in the area of AOP. He is the author of AspectJ in Action, the best-selling book on AOP and AspectJ. His book is highly recommended by leading industry experts for its practical and innovative applications of AOP solving a wide range of real-world problems. Ramnivas is also one of the industry's leading conference speakers, who has given over one hundred talks at conferences such as JavaOne, No Fluff Just Stuff, JavaPolis, and EclipseCon. Ramnivas hosts the Aspectivity blog, where he shares his thoughts on AOP and related topics. He is an active member of the AspectJ community and has been involved with AOP since its early form.

Ramnivas’ role at SpringSource includes working with the Spring community and SpringSource clients to help them leverage the power of AOP. He is currently involved in interesting work combining ideas in domain-driven design with AOP and DI. He is also working on creating reusable aspects to simplify development of typical Spring-based projects. His work at SpringSource is expected to drive major new innovations atop the Spring 2.0 platform.

Ramnivas lives in Princeton, New Jersey.


Scott Davis

close

Scott Davis Author of "Groovy Recipes" & TDD Expert
Scott Davis is an internationally recognized author and speaker. He is passionate about open source solutions and agile development. He has worked on a variety of Java platforms, from J2EE to J2SE to J2ME (sometimes all on the same project).

Scott's books include Groovy Recipes: Greasing the Wheels of Java, GIS for Web Developers: Adding Where to Your Web Applications, The Google Maps API, and JBoss At Work.

Scott is the Editor in Chief of aboutGroovy.com, a news and information website that tracks the latest developments in Groovy and Grails. He also writes a regular column for IBM DeveloperWorks -- Mastering Grails.

Scott is a frequent presenter at national conferences (such as No Fluff, Just Stuff) and local user groups. He was the president of the Denver Java Users Group in 2003 when it was voted one of the top-ten JUGs in North America. After a quick move north, he is currently active in the leadership of the Boulder Java Users Group. Keep up with him at http://www.davisworld.org.


Stuart Halloway

close

Stuart Halloway CEO of Relevance
Stuart Halloway is the CEO of Relevance, Inc. (www.thinkrelevance.com). With co-founder Justin Gehtland, Stuart helps enterprises adopt emerging best practices such as Ruby on Rails. Justin and Stuart founded the Streamlined Framework (www.streamlinedframework.org), and authored Rails for Java Developers. Stuart is also the author of Component Development for the Java Platform. Prior to founding Relevance, Stuart was the Chief Architect at Near-Time, and the Chief Technical Officer at DevelopMentor.


Venkat Subramaniam

close

Venkat Subramaniam Founder of Agile Developer, Inc.
Dr. Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects, and speaks frequently at international conferences and user groups. He is author of ".NET Gotchas" (O'Reilly), coauthor of 2007 Jolt Productivity Award winning "Practices of an Agile Developer" (Pragmatic Bookshelf), and author of "Programming Groovy: Dynamic Productivity for the Java Developer" (Pragmatic Bookshelf).