Wednesday, July 25, 2007




Tonight I'm back on my machine, playing around a little with IronRuby, Microsoft's recently released (Pre-Alpha) ruby implementation. I just downloaded the source, (yes I said source; it's being released under Microsoft's Permissive Licence), opened the solution, and built.

Here's a screen shot of IronRuby's version of irb, called rbx.exe, an interactive Ruby shell. Notice the class return is 'mutable string', whereas in Ruby the class would just be string. I'm guessing they're avoiding name conflicts with the .Net strings, which are, of course, immutable. From John Lam's blog,

"In micro-benchmarks which measure method call performance, we are significantly faster than Ruby 1.8.6. In micro-benchmarks which measure library performance, we are on par with Ruby 1.8.6; we expect to see performance improvements in these benchmarks in the future."


In somewhat related news, Digg has abandoned Google for its online ad service, and chosen a young, innovative upstart, Microsoft. Read the gory details.


I'm not sure, but I think I actually feel good about being a Microsoft developer, at least for the moment. Weird...

Wednesday, July 18, 2007

I was just made aware of a great video on scrum, a popular agile process to help manage software projects.

It's a long video, but at least watch the few minutes starting at about 41:15. It really hit home for me, and demonstrates the exact message I've been struggling to explain for weeks.

Basically, it explains how 'hurrying up' by reducing quality to meet a deadline makes all the work after that start at slower pace, or forces teams to reduce quality even further. Good stuff...

Monday, July 16, 2007


==> I'm writing a bit of Ruby in Visual Studio tonight. No, I'm not using Orcas, Silverlight, and the DLR. I'm using a Visual Studio 2005 add-in by a company named Saphire Steel, and this is apparently their only product. It's called Ruby In Steel, and me likey. Considering it's affiliated with VS, it was a fairly small download. Once I installed and pointed Ruby in Steel to my Ruby executable location, I had a ruby project going in a couple minutes.

Ruby In Steel offers intellisense, (where it can, anyway, Ruby is dynamic), debugging, and the familiar Solution-Project setup, and support for Rails. The professional version is $199, and includes intellisense and a faster debugger than the developer(free) version I'm using.

If you can read the ruby text above, that's one example of using Ruby's version of reflection. I've declared a private method in my class, then invoked that method by calling send on the first element of the array returned by the private_methods method, which every object gets. The false parameter indicates that I don't want methods from parent classes returned. Is it me, or does this seem a little more convenient than .Net's reflection API?

Friday, July 13, 2007

Do you write HTML? Do you care if it's XHTML compliant? You should. I've been playing around a bit with Ruby and Ruby on Rails and recently came across Haml, an application written in Ruby that takes the drudgery out of all those angle brackets to help you get XHTML-compliant markup faster. It's meant to be used as a replacement for templates in Rails applications, but is easy to use outside of Rails.

I downloaded Haml and produced this markup:


<div class="'mainContent'">
<h2This is huge!</h2>
<ul>
<li>One Item</li>
<li>Another Item</li>
</ul>
<strong>2007-07-13T23:33:34-05:00</strong>
</div>


I simply pointed the Haml parser to a file that looked like this:

.mainContent
%H2 This is huge!
%ul
%li One Item
%li Another Item
- now = DateTime.now
%strong= now

It took another 5 minutes or so to take the output above (the valid XHTML) and spit out a .html file. I could easily change the extension to .aspx and have a helpful start to my pages, (especially if I had taken better notes at the semantic HTML training at work). And even better, how about having Haml in IronRuby and writing the above code in visual studio, with intellisense! That may not be far off, see my last post for more IronRuby.

Would something like this be useful for the client-side gurus? Anybody writing Html, let me know what you think, and I'll see what our resident expert, Michael, thinks.

Tuesday, July 10, 2007

This weekend I was doing what I think developers ought to do, especially if, like me, they love new technology and the struggles of software projects more than the actual programming itself. I was seeing what I could learn about Orcas and Silverlight without actually installing the monstrous, 8-part download for Orcas Beta1. If you followed the Orcas link you'll notice that you'll have to deal with some 5 GB of downloads, only to install and perhaps find that the IDE wreaks havoc with VS 2005.

I found Microsoft's MixOnline site, which has a nice search utility to find presentations and keynotes, and quickly found what I was looking for. John Lam and Jim Hugunin, creators of RubyCLR and IronPython, respectively, gave an entertaining and impressive talk on Silverlight and the DLR (Dynamic Language Runtime). They demoed javascript, ruby, python and C# code all intermingled and talking to each other seamlessly! This link shows the talk in a Silverlight media player and requires a quick download. Enjoy...

After watching, you can check out this article from the Atlantic to get some perspective on just how far we've come in 20 years. I didn't read the entire article, but it speaks admiringly of "hard disks" costing several thousand dollars than can store "from two or three on up to several dozen megabytes".

Monday, July 09, 2007

I should really rail against Sql Server development tools, but instead I want to point out how an agile team can come together and produce good work and overcome many obstacles.