Platinum Sponsor

NFJS One - Training, Consulting, Mentoring

Über Conf 2010 Brochure - Download


Stuart Halloway

CEO of Relevance

Stuart Halloway is the CEO of Relevance, Inc. (www.thinkrelevance.com). With co-founder Justin Gehtland, Stuart helps companies adopt agile, as well as innovative technologies such as Clojure and Ruby on Rails. Stuart is the author of Programming Clojure, Rails for Java Developers, and 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.

Blog

The Relevant Bits - Labor Day 2010 Edition

Posted Sunday, September 5, 2010

Tmore »

Notes on Remote Pairing

Posted Wednesday, September 1, 2010

Hmore »

Come to Relevance and Be Excellent

Posted Monday, August 30, 2010

Emore »

The Relevant Bits - 08/30/2010 Edition

Posted Sunday, August 29, 2010

Nmore »
Read More Blog Entries »

Presentations

Introduction to Functional Programming with Clojure

Functional programming has many advantages. For starters: Pure functions have no dependence on context, so they are easy to write, easy to test, easy to read. Most importantly, they are easy to combine.more »

The Best of OO: Clojure Types and Protocols

The best abstraction in OO is the interface: a pure specification that can the be implemented polymorphically by many different callees. Clojure's types and protocols generalize this idea to solve the expression problem. In this session you will learn: more »

Clojure

In recent years, the Java community has embraced a variety of new languages that target the JVM, but also offer productivity advantages over traditional Java coding. In this half-day session you will explore Clojure, a language with many compelling featurmore »

Introduction to Functional Programming with Clojure

close

Stuart Halloway By Stuart Halloway

Functional programming has many advantages. For starters:

  • Pure functions have no dependence on context, so they are easy to write, easy to test, easy to read. Most importantly, they are easy to combine.
  • Referential transparency makes substitution, caching, and lazy evaluation possible -- and simple.
  • Careful abstraction makes functions broadly reusable, in contrast with OO 'concretion' which aspires to encapsulation but mostly just protects your data from being reused.


To take full advantage of FP you have to think differently. In this session, you will learn how to reap the benefits above, by:

  • Programming with immutable values
  • Sharing data between persistent data structures
  • Recursing instead of looping
  • Using map, reduce, and into
  • Composing functions from the sequence library
  • Paying as you go with lazy data structures

Examples will be in Clojure, and will include a set of hands-on exercises to take home.


The Best of OO: Clojure Types and Protocols

close

Stuart Halloway By Stuart Halloway

The best abstraction in OO is the interface: a pure specification that can the be implemented polymorphically by many different callees. Clojure's types and protocols generalize this idea to solve the expression problem. In this session you will learn:

  • What the expression problem is.
  • How the expression problem hurts your code every day, through wrappers, mixins, adapters, facades, open classes, and monkey patches.
  • How protocols solve the expression problem.
  • Ease of use matters: using protocols and types are as simple as classes and interfaces.
  • Performance matters too: protocols take advantage of the host environment's support for fast polymorphic dispatch.


Examples will include hands-on exercises for you to take home.


Clojure

close

Stuart Halloway By Stuart Halloway

In recent years, the Java community has embraced a variety of new languages that target the JVM, but also offer productivity advantages over traditional Java coding. In this half-day session you will explore Clojure, a language with many compelling features;

  • Clojure provides all the low-ceremony goodness you know and love from dynamic languages such as Ruby and Python.
  • Clojure's sequence library turns the tables on OO, providing a powerful set of verbs that can work with a small, standard set of nouns.
  • Clojure is a Lisp and gracefully supports Lisp's signature feature: code as data.
  • Clojure's functional style and support for software transactional memory make it an appealing option for taking advantage of massively parallel hardware.
  • Clojure's datatypes and protocols generalize the best idea in OO (interfaces) to handle the expression problem. Say goodbye to wrappers, mixins, adapters, and monkey-patches.


Examples will include hands-on exercises during the session, and more for you to take home.



Books

by Stuart Halloway

Programming Clojure (Pragmatic Programmers) Buy from Amazon
List Price: $32.95
Price: $21.64
You Save: $11.31 (34%)
  • Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:

    Clojure is elegant. Clojure's clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.

    Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.

    Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.

    Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory.

    Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.

    Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.

    Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.


by Stuart Halloway and Justin Gehtland

Rails for Java Developers Buy from Amazon
List Price: $34.95
Price: $26.56
You Save: $8.39 (24%)
  • Many Java developers are now looking at Ruby, and the Ruby on Rails web framework. If you are one of them, this book is your guide. Written by experienced developers who love both Java and Ruby, this book will show you, via detailed comparisons and commentary, how to translate your hard-earned Java knowledge and skills into the world of Ruby and Rails.

    If you are a Java programmer, you shouldn't have to start at the very beginning! You already have deep experience with the design issues that inspired Rails, and can use this background to quickly learn Ruby and Rails. But Ruby looks a lot different from Java, and some of those differences support powerful abstractions that Java lacks. We'll be your guides to this new, but not strange, territory.

    In each chapter, we build a series of parallel examples to demonstrate some facet of web development. Because the Rails examples sit next to Java examples, you can start this book in the middle, or anywhere else you want. You can use the Java version of the code, plus the analysis, to quickly grok what the Rails version is doing. We have carefully cross-referenced and indexed the book to facilitate jumping around as you need to.

    Thanks to your background in Java, this one short book can cover a half-dozen books' worth of ideas:

    Programming Ruby Building MVC (Model/View/Controller) Applications Unit and Functional Testing Security Project Automation Configuration Web Services

by Stuart Dabbs Halloway

Component Development for the Java™ Platform Buy from Amazon
List Price: $39.99
Price: $31.27
You Save: $8.72 (22%)
  • If you're serious about writing components in Java, this book focuses on the component services you need to master. DevelopMentor Chief Scientist Stuart Halloway presents unprecedented, in-depth coverage of writing, deploying, and maintaining Java components. Halloway begins by showing how to use, control, and troubleshoot components. He offers real-world guidance on reflection performance, and demonstrates how reflection is used to build the Java serialization architecture. He also offers detailed coverage of using the Java Native Interface (JNI) to control the boundaries between Java code and components written in other environments. In Part II, Halloway presents a practical vision for using component services to become a more effective Java developer. Through examples and sample code, he introduces generative programming techniques that leverage Java into high performance. Finally, building on these techniques, he shows how to construct robust interoperability between Java and Win32/COM.





Blogs

Johanna Rothman

Agile Lifecycles for Geographically Distributed Teams, Part 3

Posted By: Johanna Rothman on Feb. 3, 2012

Example 3: Using a Project Manager with Iterations and Kanban and Silo’d Teams Here, the developers were in Cambridge, MA, the product owners were in San Francisco, the testers were in Bangalore, and the project manager was always flying somewhere



Johanna Rothman

Why an Agile Project Manager is Not a Scrum Master

Posted By: Johanna Rothman on Feb. 1, 2012

A reader asked why the lifecycle in Agile Lifecycles for Geographically Distributed Teams, Part 1 is not Scrum. It’s not Scrum for these reasons: The project manager and product owner start the release planning and ask the team if the release pla



Howard Lewis Ship

LinkedIn Etiquette

Posted By: Howard Lewis Ship on Jan. 27, 2012

I've used LinkedIn for many years now, long before I joined Facebook .



Howard Lewis Ship

Tapestry Advantages

Posted By: Howard Lewis Ship on Jan. 26, 2012

A summary of a discussion about the advantages of Tapestry over Struts: Exceptional exception reporting Significantly less code Live class reloading Sensible defaults, especially for SEO-friendly URLs Great community Flexibility and customizability



Terry Ryan

Github Ribbons in CSS

Posted By: Terry Ryan on Jan. 25, 2012

Github has these cool ribbon images that you can use if you want to encourage forking your project on your site. They're great and I wanted to use them on a little project I am working on. However, one of my goals was not to use any images, but rather



Johanna Rothman

Agile Lifecycles for Geographically Distributed Teams, Part 2

Posted By: Johanna Rothman on Jan. 25, 2012

Example 2: Using a Project Manager with Kanban, Silo’d Teams This is a product development organization with developers in Italy, testers in India, more developers in New York, product owners and project managers in California. This organization f



Howard Lewis Ship

Tapestry 5.4: Focus on JavaScript

Posted By: Howard Lewis Ship on Jan. 25, 2012

Tapestry 5.3.1 is out in the wild



Terry Ryan

Speaking in Philly this Week

Posted By: Terry Ryan on Jan. 23, 2012

I'll be speaking in my hometown this week. I'll be presenting at the Philadelphia Area New Media Association (PANMA) meeting for January. Topics: jQuery Mobile PhoneGap Typekit Edge CSS Shaders Description: Adobe and HTML5 In the past few months, th



Terry Ryan

Venn Diagram entirely in CSS

Posted By: Terry Ryan on Jan. 23, 2012

A friend of mine alerted me this weekend to just how much I have a weird fascination with Venn diagrams. I decided to roll with it. So yeah, I have an irrational love of Venn diagram



More Blogs »
 

Themes at Über Conf

  • Architecture
  • Enterprise Java
  • Java Internals
  • Security - Enterprise & JVM
  • Cloud Computing
  • Languages on the JVM - Groovy, JRuby, Scala & Clojure
  • Java Web Frameworks - Wicket, Tapestry & SpringMVC
  • Build Systems - Maven & Gradle
  • Testing
  • Agility

 

Featured Speaker


 

Registration Includes

  • Four Day - Access Pass
  • All Meals / Snacks –duration of the symposium
  • Session Materials
  • Custom Binder
  • Wi-Fi Access
  • Great Raffle Giveaways
Register Now »
 

Location

Westin Westminster
Westin Westminster
10600 Westminster Blvd
Westminster, CO   80020
View Map