Blogs

View all Blogs >>

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

Refactoring JavaScript, 2009 Edition

Posted Wednesday, June 17, 2009

I am off to Dallas this morning to give an all-new version of the Refactoring JavaScript talk. This year, we will be looking at testing and refactoring jQuery plugins, using Screw.Unit, Smoke, an more »

Refactoring JavaScript, 2009 Edition

Posted Friday, June 5, 2009

more »

Rifle-Oriented Programming with Clojure

Posted Wednesday, May 27, 2009

If you come to Clojure from an object-oriented background, you may not know where to start. It is sort of like looking at a rifle for the first time and asking "But where do I put the arrows?" Clojure solves the traditional prob more »
Read More Blog Entries »

Presentations

Proto/taculous 1: Building Ajax Applications

Prototype and Scriptaculous may be the most popular combination in the Ajax world. In this presentation, you will learn to simplify Ajax development with Prototype and Scripty as we work through a series of examples 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, t more »

Proto/taculous 1: Building Ajax Applications

close

Stuart Halloway By Stuart Halloway
Prototype and Scriptaculous may be the most popular combination in the Ajax world. In this presentation, you will learn to simplify Ajax development with Prototype and Scripty as we work through a series of examples.

Examples will include:

* 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
* sifting the DOM with $ and $$
* simplifying DOM updates with Insertion
* creating and combining core effects
* CSS-driven effects with morph
* autocompletion
* sortable containers
* sound


Refactoring JavaScript

close

Stuart Halloway By Stuart Halloway
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, through refactoring. In this talk, we will test and refactor a real-world jQuery plugin.

As we refactor a real-world jQuery plugin, you will learn how to



  • test JavaScript code with Screw.Unit, Smoke, and blue-ridge

  • write covering tests for existing code

  • perform common refactorings such as extract method and "use the right tools"

  • rethink refactoring in light of functional programming style

  • think about when and how refactoring shades into breaking changes and redesign




Books

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(TM) Platform (DevelopMentor Series) Buy from Amazon
List Price: $39.99
Price: $35.99
You Save: $4.00 (10%)
  • Reveals both the potential and pitfalls of developing components using the Java platform. Delves into the component-oriented features of the Java platform, thoroughly discussing class loading, reflection, serialization, native interoperation, and code generation. Softcover.

by Stuart Halloway

Programming Clojure (Pragmatic Programmers) Buy from Amazon
List Price: $32.95
Price: $21.75
You Save: $11.20 (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.