InfoQ

Interview

Reginald Braithwaite on Rewrite

Interview with Reginald Braithwaite by Werner Schuster on Sep 19, 2008 05:28 AM

Community
Ruby
Topics
Language
Tags
Ruby on Rails ,
Rewrite ,
RubyGems ,
Rails ,
RubyFringe
Summary
In this interview filmed at RubyFringe, Reginald Braithwaite talks about his past experiences with languages, programming, and software development, and what attracted him to Ruby. He also talks about Rewrite, a collection of features which add "sexp-rewriting meta-programming to Ruby".

Bio
Reginald Braithwaite was the tech lead on the team that created JProbe Threadalyzer, a tool that did automatic detection of potential threading-related bugs. Shortly after that he became Program Manager for the suite of JProbe tools and then Development Manager. He is a speaker at conferences like RubyFringe and MeshU. He is author of the Invocation Construction Kit and Rewrite for Ruby.
We are here at Ruby Fringe, so who are you?
So what are some of applications that you have worked on over time? For instance you worked with Borland Pascal.
How did you get into the Ruby space? What was the language before that?
So in 2001 you heard about Erlang and Ruby.
What's the bigger influence in Ruby? Do you see both influences in Ruby, do you see both influences of Lisp and Smalltalk equally?
ou are currently interested in bringing more functional concepts to Ruby with your work on the Rewrite Gem. So where did that come from? Did that come from macros? Is there something else in Scheme that inspired that?
So what approach do you use? How do you do that? How is it implemented the Rewrite?
Have you written a general pattern matcher for S expressions or is this sort of specialized for the Rewrite gem?
Probably I shouldn't mention this but the Smalltalk community has their refactory support is using a pattern matching approach to match the code, but I wasn't going to mention it because you will be tempted.
Do you think it would be interesting to have a history lesson in the computer science curriculum?
If you could choose one language, other than Ruby, that you could spend time with, a lot of time with, what would that be? You can choose maybe two languages.
show all  show all
Errata by Reg Braithwaite Posted Sep 19, 2008 8:57 AM
Great Interview by Gabe da Silveira Posted Sep 19, 2008 1:16 PM
  1. Back to top

    Errata

    Sep 19, 2008 8:57 AM by Reg Braithwaite

    I should mention that I did not create JProbe! JProbe Profiler was initially created by Richard Fogel at KL Group (later Sitraka and now part of Quest). I joined KL Group and was the tech lead on the team that created JProbe Threadalyzer, a tool that did automatic detection of potential threading-related bugs. Shortly after that I was named Program Manager for the suite of JProbe tools and then Development Manager.

  2. Back to top

    Great Interview

    Sep 19, 2008 1:16 PM by Gabe da Silveira

    Always thought Reg was a great writer, but had no idea he was such a good interviewer as well. Fascinating stuff.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.