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.



Video

JavaScript for Ajax Programmers
JavaScript for Ajax Programmers
Tuesday - April 22, 2008


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 »

Introducing Errbit

Posted Monday, August 23, 2010

Hmore »

The Relevant Bits - 08/23/2010 Edition

Posted Sunday, August 22, 2010

Wmore »

Welcome to more of our new teammates

Posted Monday, August 16, 2010

Rmore »

The Relevant Bits - 08/02/2010 Edition

Posted Sunday, August 1, 2010

Pmore »

The Relevant Bits

Posted Sunday, July 25, 2010

Amore »

Welcome to our new teammates

Posted Sunday, July 18, 2010

Imore »

Investing in Ourselves

Posted Saturday, July 17, 2010

more »
Read More Blog Entries »

Presentations

Git control of your source

Git is not the next step in evolution of centralized source control, following in the footsteps of cvs, svn, etc. These tools provide centralized history of deltas, where git provides distributed history of trees of content. In this talk, you will see themore »

Java.next: Clojure, Groovy, JRuby, and Scala

In this talk, we will explore and compare four of the most interesting JVM languages: Clojure, Groovy, JRuby, and Scala. Each of these languages aims to greatly simplify writing code for the JVM, and all of them succeed in this mission. However, these lamore »

How to Fail with 100% Code Coverage

Over the last few years, we have taken dozens of projects to 100% coverage, and there are still plenty of things that can go wrong. We will look at examples the various problems, and show how to prevent them from infecting your project.more »

Refactoring JavaScript

The rise of Ajax and Rich Web Applications, plus the success of dynamic languages, has caused people to revisit the JavaScript language. Now that we take JavaScript seriously as a language, it is time to get serious about the quality of JavaScript code, tmore »

Programming Clojure

Find out why Clojure is Java.next: Clojure provides clean, fast access to all Java libraries. Clojure provides all the low-ceremony goodness you know and love from dynamic languages such as Ruby and Python.more »

Programming Clojure Concurrency

In this talk you will learn to write correct concurrent programs in Clojure, without the complexity of managing Java locks. You will learn how: Software transactional memory (STM) manages coordinated, synchronous changes to shared state. Agents provide more »

Taking Agile From Tactics to Strategy

Teams adopting agile should begin at a tactical level, but they shouldn't end there. The Agile Manifesto operates at many different levels. Learn to apply the principles of agile at a strategic level.more »

IZero: Starting Projects Right

If an iteration is the heartbeat of an agile development process, then Iteration Zero (IZero) creates the heart. While you can (and should) retrospect and adjust throughout the software lifecycle, few things are as valuable as a good start. In this talk, more »

Agile, Relevance Style

The Agile Manifesto, like any good scripture, admits of many interpretations. There is no one "right path." What works for us may not work for you.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.more »

Agile Retrospectives

Agile teams manage change and risk by apapting. But to adapt, you must identify opportunities for change and take them. Retrospectives are a fun, cost-effective way for your team to learn and change.more »

jQuery: Functional, Unobstrusive JavaScript

jQuery is a powerful JavaScript library for dealing with HTML, events, animations, and Ajax. Unlike many libraries, jQuery puts the browser object model front-and-center through its ubiquitous wrapped element sets. In this talk, you will learn to progressmore »

Books

Programming Clojure (Pragmatic Programmers)

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.


Rails for Java Developers

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

Component Development for the Java™ Platform

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.