1. Jan 3rd, 2008

    Rounded Corners - 182 (Find your cult)

    Find your cult. Thanks to Michael Ash, we now have a handy reference to the various programming cults.

    JTestR. The next release of Buildr is going multi-lingual. We already have support for Java and Scala, but it’s hackish and a pig to extend. Starting with 1.3, it will be easy to drop in support for new languages, say building Java and Scala code side by side, or mixing in Flash for the client side.

    The design I went with is granular enough that you can mix projects in different languages, but also compile in one language and run test cases in another. Originally I was thinking of using RSpec to unit test Java code. Thanks to Ola Bini, we now have JTestR. And being an Ant task, it only takes a few lines of Ruby code (and zero lines of XML) to make it work.

    All the roads lead to … Dave Dribin’s Choosing a Distributed Version Control System is a good read if you’re still undecided whether to go with Git, Mercurial or Bazar. Contains just enough information but not more than I could digest having little experience with the three. There’s a follow up on why Dave chose … I won’t ruin the surprise.

    I’m sticking with Mercurial for now, Git is a bit too much — features I don’t need, complexity I don’t want — and Bazar feels like a slower Mercurial. In fact, I’m using Mercurial for local branches, SVN for the main repository (mandated, unfortunately), on the same project, and I recommend that setup if you can’t shake SVN loose.

    WAS. Two items from my 2008 wish list:

    #1 REST, the Definitive Reference. Unfortunately REST, right now, is a bewildering number of partial and sometimes conflicting interpretations, and the more people you ask, the more confusing you will get. There are some great introductions around, but getting your feet wet and actually using are two different things. The book is good, but not a reference you can point to and say “here’s how you …”.

    #2 Web Architecture Services. There are three kind of services on the Web. Those that try to be RESTful in pure form, which I think is stretching it for the programmatic web. Those that borrow the best principles of the Web architecture, and obviously look very RESTful. And I don’t much care for the rest. A blueprint for Web Architecture Services is high on my priority list.

    Tim Bray brings up the The Architecture of the World Wide Web, Volume One (thanks for the timely reminder). It’s a good start, easy read, and a referenceable resource, but unfortunately it’s both incomplete and dated. Dated? Some parts read like a working group consensus reached in an early morning conference call filibuster. (Not that I would know anything about that!) We have enough perspective now to realize that some of the recommendations are not as good in practice as the intentions of their authors.

    Hopefully there will be a volume two, short on consensus and long on proven practices.

    GWT on Rails. If you like GWT on the client, Rails on the server.

    Picture, Normal timepiece, via fffound!.

    1. Jan 3rd, 2008

      http://16cards.com/yadis.xrdf

      Do you have a pointer for Mercurial/SVN setup?

    2. Jan 3rd, 2008

      Assaf

      Brandon,

      Look for hgsvn: http://packages.ubuntu.com/gutsy/devel/hgsvn

    3. Jan 3rd, 2008

      ryan king

      You have a good way to push those local branches back to SVN from mercurial? In other words, have you found anything as good as git-svn for mercurial?

    4. Jan 4th, 2008

      Nick Sieger

      Regarding RSpec testing Java code, I’ve been meaning to show you this:

      http://svn.codehaus.org/jruby-contrib/trunk/rack/spec/buildr_framework.rb

      Start a thread on the buildr list and I’ll chime in.

    5. Jan 4th, 2008

      Assaf

      Ryan, nothing that can push from Mercurial to SVN. Right now I just make incremental local commits with Mercurial, and then a single commit into SVN, but that’s clearly not the way to do things.

      Nick, I’m taking this to the buildr-dev mailing list (not the buildr-talk Google list).

    Your comment, here ⇓

    Or using OpenID