Coda Confidential (The birth of RSD)

Coda Confidential: We had just recently finished Coda, and with one hour to fill and a lot of Coda-related things still swirling around my mind, I pretty much just started talking. What followed was a whole lot of hyper-warp thoughts about all things Panic. [So what caught my ear was the story of the first product they did which was an early version tracker which got shelved because they realized they’d either have to have access to “version tracker” or the like, or maintain their own database of latest versions.

This was kind of how RSD got started. I had a docs page which discussed the settings Archipelago (the blog editing software I had authored) needed for several of the major blogging platforms. As I was updating it for the millionth time with yet another engine I realized that I could write a document that Archipelago could use for setup, and the customer service emails (which is what caused me to update the page) would probably go away to a great degree. All I’d have to do is keep, say an XML file on my server up to date, and having done it once all Archipelago users could benefit.

Happy with the thought, I was dissatisfied with how this wouldn’t reduce the problem to near zero because while I had all the major cases covered, it would always be my problem to keep “database” up to date. I looked for an existing format so that I wouldn’t have to sell anyone on a format and found really dense hard to understand formats that were very general and didn’t seem to cleanly fit the use case. I floated a couple of versions past the indie developers I know, found some support initial support from two vendors I cared greatly about, and the rest as they say is history.

It was a nothing to lose story in that if I had received a big yawn, I could have hosted the file for my users, and they at least would have had a better experience most of the time. But this result was far better since everyone has benefited, and we all continue to benefit from the support of the blog engine folks.

Anyway, years later it comes as little surprise that a lot of software small and large have similar birthing stories…]
Source: Coda author

js-spec

js-spec: Want to do BDD in Javascript? This aims to clone rspec (http://rspec.rubyforge.org) in javascript.

For now it's very basic, but stuff like the following works.

describe("A newly created Tic-Tac-Toe", function() {
  with (this) {
    before("each", function() {
      this.game = new TicTacToe();
    });
	
    it("should have 9 empty cells", function() {
      game.cells.should( have(9, "items") );
      game.cells.each(function(cell) {
        cell.should( be(undefined) );
      });
    });
	
    it("should have 0 players", function() {
      game.should( have(0, "players") );
    });
  }
});

Stay tuned for more :)
Ask questions, make suggestions and post bugs at http://code.google.com/p/js-spec/issues/ [Nice to see BDD spreading…]
Source: Scripteka

Announcing SunSpider 0.9 (A New JavaScript Benchmark From the WebKit Team)

Announcing SunSpider 0.9: Incidentally, we’ve been doing a lot of work on JavaScript performance lately. If you’re interested in helping out, stop by the webkit-dev@webkit.org mailing list, or the #webkit IRC channel on chat.freenode.net and say hi. Our engine is highly hackable so it’s easier than you think to get started.[I so love it when others do performance work…]
Source: Surfin’ Safari

Rails 2.0.2: Some new defaults and a few fixes

Rails 2.0.2: Some new defaults and a few fixes: SQLite3 is the new default database

Most importantly is SQLite3 as the new database we’ll configure for by default when you run the rails generation command without any specification. This change comes as SQLite3 is simply an easier out of the box experience than MySQL. There’s no fussing with GRANTs and creates, the database is just there. This is especially so under OS X 10.5 Leopard, which ships with SQLite3 and the driver gems preinstalled as part of the development kit.

If you want to preconfigure your database for MySQL (or any of the other adapters), you simply do “rails -d mysql myapp” and everything is the same as before. But if you’re just playing with a new application or building a smallish internal tool, then I strongly recommend having a look at SQLite3. Thanks to the agnostic db/schema.rb, it’s as easy as changing your config/database.yml to switch from SQLite3 to MySQL (or another database) as soon as your load warrants it. [OK. Nice to the tweaks flowing…]
Source: Riding Rails

A New PickAxe

A New PickAxe:

Ruby3_cover_small

Ruby 1.9 is just around the corner, so it looks like a good time to create a new edition of Programming Ruby. So, I’m pleased to announce that the Third Edition of the PickAxe has just entered beta.

The book’s home page is at http://pragprog.com/titles/ruby3.

Although 1.9 is largely compatible with 1.8, there are definite differences. And it’s been an interesting ride getting the examples in the book to compile and run with the current 1.9 interpreter. The book pushes the envelope in many different areas, and includes example code designed to illustrate edge cases. When I find these, I’m flagging them in the text and (if they look like bugs) adding them to the tracking system. But, so far, 1.9 is looking like a big win for Ruby.

[The original guide, which so many used to get started with Ruby. Looking forward to 1.9, and now reviewing this edition.]
Source: PragDave