Thursday, February 28, 2008

Andy and Dave Challenge You to a TDD Ping Pong Match!

Dave Hoover and I have proposed a talk for the Agile 2008 Conference with this synopsis:

Attendees will be entered into a competition where they will pair-program on implementing small software application features following the TDD Ping Pong game rules. Each game will last for a few minutes, and the programmer with the least time driving (i.e. doing the simplest thing that works and coming up with the most tests) will be declared winner. This game is a great opportunity to learn TDD and Pair-Programming effectively and pragmatically. Winners will receive prizes, so sharpen your TDD Ping Pong skills and get ready for Andy and Dave’s challenge!

Click here for more details.

Friday, February 22, 2008

A Real Eclipse

Two nights ago, we had a lunar eclipse here in the Chicago area, and I saw it as I was driving my Eclipse car, chewing an Eclipse gum, and thinking about the Eclipse project.

( ...can't get more loyal than that, eh?! :-P )

Here is a photo that one of my colleagues took:

Wednesday, February 13, 2008

Using Glimmer to compose new hierarchical Ruby DSLs

On March 3rd, I will be giving a new ChiRb talk about Glimmer:

Title:
Using Glimmer to compose new hierarchical Ruby DSLs

Synopsis:
While Glimmer is mainly a DSL (Domain-Specific-Language) for authoring platform-independent desktop applications with Eclipse SWT, its engine is generic and flexible enough to enable composing any sort of hierarchical Ruby DSL.
In this presentation, Andy Maleh will tear Glimmer’s engine apart to explain the Ruby meta-programming tricks and design patterns that help pull its neat DSL magic off. Additionally, Andy will demonstrate how to extend Glimmer’s engine to enhance its syntax for specific needs. Finally, he will show an example of a completely new DSL built on top of the Glimmer engine.
Attendees will walk away with enhanced Ruby meta-programming knowledge and a full understanding of the Glimmer engine, how to extend it, and how to reuse it to compose new hierarchical Ruby DSLs.
Let the Glimmering begin!!!

Place:
ThoughtWorks
Aon Center
200 E. Randolph
Chicago , IL 60601
25th Floor
(312) 373-1000

Date/Time:
Monday March 03, 2008 06:00 PM

Saturday, February 09, 2008

Mixed content in Glimmerized XML

In my last post about Glimmerized XML, I talked about one way of authoring mixed element text content. I also talked about two surprises that will make it easy to author mixed content. I'll go over one of them (the bigger one) in this post, which makes it super easy to create mixed content without jumping through hoops in the Ruby language.

Suppose you have an HTML snippet as follows:

<p>Glimmerized XML is such a <em>long</em> name! Maybe we should start calling it <strong>Glimmer XML</strong> instead.</p>

Without the surprise enhancement to Glimmer XML, here is how you would do it:

p {
  text "Glimmerized XML is such a "
  em { "long" }
  text " name! Maybe we should start calling it "
  strong { "Glimmer XML" }
  text "instead."
}

I think you would agree that authoring mixed content is the only weakness in authoring XML with a Ruby DSL. Well, not anymore!!! Check this out:

p { "Glimmerized XML is such a #em{long} name! Maybe we should start calling it #strong{Glimmer XML} instead." }

Magnificent, isn't it? You can embed tags directly within the double-quoted text instead of having to switch context and define the tags outside the text!

Stay tuned for the other surprise that will ease authoring mixed content with special XML characters.

p.s. Antoine, I responded to your earlier comments over here

Friday, February 08, 2008

Glimmer Eclipsed!

Glimmer has been proposed as an Eclipse project!

You are invited to comment on and/or join the project. Please send all feedback to the Glimmer newsgroup.

For more information about Glimmer, check out this blog post and the series of posts linked from it.