Monthly Archives: March 2006

RubyCLR – Ruby meets .NET

My day job dictates most of my work be in .NET using C#, for the most part it works well. The usual drawbacks you hear are the costs of implementing a Microsoft solution using Windows 2003 and SQL Server. The platforms are complex but they do work.

In my spare time I have had an interest in learning a new language, which is Ruby. Ruby is a language written by a Japenese developer and has gotten very popular as of late. If you haven’t gotten the chance to look at Ruby it was developed with other languages in mind and trying to better them, SmallTalk and Perl are a couple of those languages. It is well worth a look.

Well it seems a developer named John Lam has created a Ruby to CLR bridge, known as RubyCLR, so developers can create Ruby code under the .NET CLR. It sounds like a match made in heaven and it has been getting more attention as of late.

I downloaded the latest RubyCLR drop from John’s web site and proceeded to install it. Install is a strong word since you simple unzip the contents of the file into a directory. All of the CLR bridge source code is included as well as a bunch of ruby code to handle the Ruby side of things and a bunch of Ruby files that exercises the bridge to the CLR.

The code below is an example from the drop. It brings up a window running in Windows and databinds a drop down list. It’s just works.

require 'winforms'
class MainForm 
  def initialize 
    form      = Form.new 
    form.Text = 'Ruby WinForms App' 

names = [] 
    names << 'John' << 'Paul' << 'George' << 'Ringo' 

list = ListBox.new 
    list.data_source = names.make_bindable 
    form.controls.add(list) 

@form = form 
  end 
end 

WinFormsApp.run(MainForm)

I have installed and tested all of the samples that came with RubyCLR, all but one work and it may be a permission issue on my system I need to work out. John points out his samples were tested in Ruby 1.8.2, but I am running 1.8.4 so it may have something to do with the differing version numbers too.

I plan to write my own .NET apps over the coming weeks using this tool. I report my progress and share the code I create.

Update : 7/30/2007 – the RubyCLR project has moved to RubyForge.  The project can be found at http://rubyforge.org/projects/rubyclr/.

Technorati Tags : , ,

Great .NET Language List

I have fascination with computer languages as some people do with foreign languages. In searching around for Ruby implementations on .NET I found this list of the available languages ported or developed for .NET. It's really quite impressive to see so many available, some I had heard of but others not.

I don't know how exhaustive this list is but it's very interesting.

Technorati Tags :

Ruby on Rails 1.1 Released

Ruby on Rails 1.1 has been released.  This is a much anticipated release that touts many new features and a ton of bug fixes, 500+ I hear.  Some of the major updates include:

  • Ajax is easier with RJS, JavaScript in Ruby
  • ActiveRecord – many new features including join models
  • Third testing layer – integration, which allows for simulation of multiple concurrent users

Scott Raymond has a complete and thorough list here of 1.1 new features. 

I ran and update this morning to my Rails installation using gem update rails and tested the small apps I have running and all worked great.  I am sure for more complex applications that you want a real deployment plan.

Technorati Tags : ,

Microsoft Atlas March CTP Available Now

The latest and greatest CTP of Atlas is available now. You can check it out here and download it.   This CTP also includes the “Go Live” license so you can use this version in your applications and produce production code.

I have been using Atlas in some test projects and it appears Microsoft is producing some nice AJAX features we can use without having to be a JavaScript expert.

This announcement came from MIX’06 and you can find more information here as well.

Technorati Tags : , , ,

AJAX Resources

I have been doing a lot of research with regards to AJAX technologies lately.  I figured I would share some of the more useful ones I have found:

A very nice and thorough comparison of AJAX frameworks was done by Daniel Zeiss.  It gives some nice details as far as browser support, developer support and page rendering size too.  It’s well worth the read if you considering implementing AJAX in your applications.

Another nice piece from the Code Project covering the use of the open source AJAX project called Anthem.Net is worth a read.

One note or word of caution regarding some of these AJAX controls is these controls break down into two categories; the first group being those controls that require you to create your own JavaScript to handle the callbacks and the second set of controls are encapsulated and shelter you from the JavaScript.   The first group of controls include those from Michael Schwarz known as Ajax.NET Professional.  The second group of controls include those from Telerik with their RadCallback Control suite as well as the set of controls from Anthem.Net.  The problems I have been facing with using the Telerik controls relates to the fact that I don’t write the JavaScript myself so I rely on the Telerik controls working with the other intrinsic controls I am using.  On problem in particular that has come up is using Telerik callback controls with .NET 2.0 validation controls.  The controls get along fine until the callback occurs and the validation controls are reloaded, this causes some strange JavaScript problems and future events such as a button push no longer work.  Since I have no control over the JavaScript I have no way to fix this. 

When looking at using AJAX technology I think it’s key to understand the different offerings of controls and the pluses and minuses of each type.  The average user with very basic needs  probably doesn’t need or want to write JavaScript but to be most effective you will probably need to.  It will be interesting to see how the Microsoft Atlas project fairs in relation to this.  Atlas is being touted as not having to write JavaScript and hopefully will be able to get along with it’s own non-AJAX validation controls.  We will see.

Technorati Tags : ,

Code Camp 5 : Code Frenzy Registration Open

Thom Robbins is our local Microsoft guy here in New England and he organize the Code Camps for us.  He just announced Code Camp 5 : Code Frenzy is open for business or registration and call for speakers, that is.

I attended Code Camp 4 and had a great time learning some new things, networking and relaxing on a weekend.  The cost is free, the only catch is you have to use up a weekend but this is a great way to spend it.

The sessions are intense and the days are long but you will walk out with some knowledge and maybe a new friend or two.

Technorati Tags : , , ,

Is the IE7 web site up?

I just found this interesting so I thought I would share.  Did anyone notice this little knock at Microsoft?  Check out IE7.com, I wonder how long it will take for a lawsuit.

Joel Spolsky on Usability in One Easy Step

I don’t like to post a link to someone else’s blog or web site without having a good reason.  Joel Spolsky of FogCreek Software and the popular Joel on Software web site recently posted about usability.  His post goes hand-in-hand with my post about product complexity from yesterday.

Joel has a book out on user interface design and his company’s software, FogBugz, has a beautiful user interface that is truly “usable”.  I think his post is worth a read.

Complexity causes 50% of product returns

This is an interesting article I came across. You should get the jist from the title. I think this applies to software as much as products. Too many companies try to jam as much functionality into a piece of software that it becomes too bulky and complex which results in users avoiding it. Take Microsoft Word for example, which is the biggest piece of bloatware on the market today. What percentage of features does the average user actually use? I would guess and say 5%. I know I use very few features and avoid Word as much as possible.

Half of all malfunctioning products returned to stores by consumers are in full working order, but customers can’t figure out how to operate the devices, a scientist said on Monday.

The moral of the story should be that we make it a point to build better software with a cleaner user interface and actually make use of usability testing. I think we can take a lession from the folks at 37Signals or Google for their intuitive user interfaces. There is actually a great book called Don’t Make Me Think : A Common Sense Approach to Web Usability by Steve Krug that takes a commonsense approach to making software intuitive and actually usable.

read more | digg story

New discovery – ObjectView Magazine

I don’t know if I am late to the party or not but I just discovered an online magazine called ObjectView.  The magazine is distributed as PDF files and is targeted toward hard core developers.

The magazine appears to take a neutral stance on platforms and languages with recent issues talking about Ruby, Ruby on Rails, Java, .NET and AJAX.  There is ample focus on programming issues such as Agile Development, writing specs, unit testing, extreme programming and refactoring amongst other topics.

ObjectView attracts some well-known writers as well such as Scott Ambler, Amy Hoy and Richard Vaughn. 

I am not affiliated with the magazine, just happy to find this gem.

Technorati Tags :