Shout out for the Scottish Ruby Conference #scotruby


Back in 2010 I dabbled with Ruby (remember when Microsoft was still doing stuff with IronRuby) and during that period I attended the Scottish Ruby Conference – and thoroughly enjoyed it! I was surrounded by a see of Apple products wherever I sat and stared at very little GUI IDE on the stage (I recall a lot of VIM and Emacs). It was so different from my “day job” and I left with huge respect for the then small but passionate community.

Well, my twitter #scotruby tells me it is on again today. It looks like a beautiful day in Scotland and a big part of me wishes I was there.

Enjoy

Edd strikes again – IronRuby for Rubyists on InfoQ


Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

Colleague, friend and generally top guy on IronRuby Edd Morgan has just been published over on InfoQ.

To wet the appetite… a snippet or three.

IronRuby for Rubyists

IronRuby is Microsoft’s implementation of the Ruby language we all know and love with the added bonus of interoperability with the .NET framework — the Iron in the name is actually an acronym for ‘Implementation running on .NET’. It’s supported by the .NET Common Language Runtime as well as, albeit unofficially, the Mono project. You’d be forgiven for harbouring some question in your mind about running a dynamic language such as Ruby atop the CLR – that’s where the DLR (Dynamic Language Runtime) comes in. The DLR is Microsoft’s way of providing dynamic language capability on top of the CLR. Both IronRuby and the DLR are, as part of Microsoft’s commitment to open source software, available as part of the Microsoft Public License on GitHub and CodePlex respectively…

And

Metaprogramming with IronRuby

The art and science of metaprogramming — especially in Ruby, where it’s an absolute joy — is something that could very easily span an entire article. As you would hope, IronRuby code is fully able to manipulate itself allowing you to bend your classes to your whim just as you would expect with a good dynamic language…

And

Riding the irails?

So let’s get to the point. I think it’s a solid bet to make that a large proportion of Ruby programmers are familiar with the Rails framework – perhaps it’s even safe to assume that most were first led to the Ruby language by the siren song of the Rails framework itself.

Long story short, IronRuby is compatible enough to run your Rails app…

Now… get yourself over to the full article and also check out some of Edds other work below.

Related Links:

IronRuby rocks at IronRuby-rocks.com


Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

My colleague Edd (who wrote two great guest posts for me on IronRuby) just pointed me at a new site ironruby-rocks.com. It is early days for the site but I felt it was worth some additional exposure even at this early stage.

Posts are nice and varied right now – from working with Microsoft Office to working with SQL Server.

I wish the site the very best of luck.

Related Links:

Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

45minute video on introduction to Windows Azure and running Ruby on Rails in the cloud


Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

Last week I presented at Cloud and Grid Exchange 2010. I did an introduction to Windows Azure and a demo of Ruby on Rails running on Azure.

My slides and links can be found here – but just spotted that the excellent Skills Matter folks have already published the video.

Watch the video at http://skillsmatter.com/podcast/cloud-grid/looking-at-the-clouds-through-dirty-windows 

P.S. I really need to shed a few pounds!

Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

Open Source on .NET evening at UK Tech Days April 14th #uktechdays


Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

That fine chap http://twitter.com/serialseb is pulling together an interesting evening of fun on the Wednesday in London and I for one will definitely be there.

Lots of goodness to learn about. If you are a .NET developer who still isn’t looking at Open Source, then the 14th is a great opportunity to see what you are missing out on.

Current program:

  • OpenRasta – A web application framework for .net
  • An introduction to IoC with Castle Windsor
  • FluentValidation, doing your validation in code
  • CouchDB, NoSQL: designing document databases
  • Testing your asp.net applications with IronRuby
  • Building a data-driven app in 15 minutes with FluentNHibernate

Register now

Related Links:

5 Steps to getting started with IronRuby


Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

IronRuby is a Open Source implementation of the Ruby programming language for .NET, heavily relying on Microsoft’s Dynamic Language Runtime. The project’s #1 goal is to be a true Ruby implementation, meaning it runs existing Ruby code. Check out this summary of using the Ruby standard library and 3rd party libraries in IronRuby. IronRuby has tight integration with .NET, so any .NET types can be used from IronRuby and the IronRuby runtime can be embedded into any .NET application.

These 5 steps should get you nicely up and running on IronRuby – OR … you could just watch a video session from the lead developer which took place earlier this month (March 2010 – 60mins). But the 5 steps will be quicker :-)

Step 1 – Install IronRuby :-)

You can install IronRuby automatically using an MSI or manually. For simplicity I would recommend the MSI install.

TIP: As of the 25th of March IronRuby has not quite shipped. The download above is a Release Candidate (RC) which means it is still undergoing final testing by the team. You will need to uninstall this version (RC3) once the final release is available. The good news is that uninstalling IronRuby RC3 will work without a hitch as the MSI does relatively little.

Step 2 – Install an IronRuby friendly editor

You will need to Install an editor to work with IronRuby as there is no designer support for IronRuby inside Visual Studio. There are many editors to choose from but I would recommend you either went with:

  • SciTE (Download the MSI): This is a lightweight text editor which is simple to get up and running. SciTE understands Ruby syntax and allows you to easily run IronRuby code within the editor with a small change to the config file.
  • SharpDevelop 3.2 (Download the MSI): This is an open source development environment for C#, VB, Boo and now IronRuby. IronRuby support is new but it does include integrated debugging. You might also want to check out the main site for SharpDevelop.

TIP: There are commercial tools for Ruby development which offer richer support such as intellisense.. They can be coerced into working with IronRuby. A good one to start with is RubyMine which needs some small changes to make it work with IronRuby.

Step 3 – Run the IronRuby Tutorial

Run through the IronRuby tutorial which is included in the IronRuby download. It covers off the basics of the Ruby languages and how IronRuby integrates with .NET. In a typical install it will end up at C:\Program Files\IronRuby 0.9.4.0\Samples\Tutorial.

image

Which will give you the tutorial implemented in .NET and Ruby.

image

TIP: You might also want to check out these two introductory posts Using IronRuby and .NET to produce the ‘Hello World of WPF’ and What’s IronRuby, and how do I put it on Rails?

Step 4 – Get some good books to read

Get a great book on Ruby and IronRuby. There are several free ebooks on Ruby which will help you learn the language. The little book of Ruby is a good place to start.

I would also recommend you purchase IronRuby Unleashed (Buy on Amazon UK | Buy on Amazon USA). You might also want to check out this mini-review.

Other books are due out soon including IronRuby in Action.

TIP: Also check out the official documentation for using .NET from IronRuby.

Step 5 – Keep an eye on the team blogs

Keep an eye on the IronRuby team blogs including Jimmy Schementi, Jim Deville and Tomas Matousek (full list)

TIP: And keep a watch out for the final release of IronRuby – due anytime soon!

Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

Rob Blackwell on interoperability and Azure


Note: Cross posted from IUpdateable from Eric Nelson.

Permalink

At QCon in March we had a sample Azure application implemented in both Java and Ruby to demonstrate that the Windows Azure Platform is not just about .NET. The following is an interesting interview with Rob Blackwell, the R&D director of the partner who implemented the application.

UK Interoperability Team Interviews Rob Blackwell, R&D Director at Active Web Solutions.

Is Microsoft taking interoperability seriously?

Yes. In the past, I think Microsoft has, quite rightly come in for criticism, but architects and developers should look at this again. The Interoperability Bridges site (http://www.interoperabilitybridges.com/ ) shows a wide range of projects that allow interoperability from Java, Ruby and PHP for example.

The Windows Azure platform has been architected with interoperable APIs in mind. It’s straightforward to access the various storage facilities from just about any language or platform. Azure compute is capable of running more than just C# applications!

Why is interoperability important to you?

My company provides consultancy and bespoke development services. We’re a Microsoft Gold Partner, but we live in the real world where companies have a mix of technologies provided by a variety of vendors.

When developing an enterprise software solution, you rarely have a completely blank canvas. We often see integration scenarios where we need to exchange data with legacy systems. It’s not unusual to see modern Silverlight applications being built on top of Java or Mainframe based back ends.

Could you give us some examples of where interoperability has been important for your projects?

We developed an innovative Sea Safety system for the RNLI Lifeboats here in the UK. Commercial Fishing is one of the most dangerous professions and we helped developed the MOB Guardian System which uses satellite technology and man overboard devices to raise the alarm when a fisherman gets into trouble. The solution is implemented in .NET running on Windows, but without interoperable standards, it would have been impossible to communicate with the satellite gateway technology. For more information, please see the case study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000005892

More recently, we were asked to build a web site to accompany the QCon 2010 conference in London to help demonstrate and promote interoperability. We built the site using Java and Restlet and hosted it in Windows Azure Compute. The site accepts feedback from visitors and all the data is stored in Windows Azure Storage. We also ported the application to Ruby on Rails for demonstration purposes. Visitors to the stand were surprised that this was even possible.

Why should Java developers be interested in Windows Azure?

Windows Azure Storage consists of Blobs, Queues and Tables. The storage is scalable, durable, secure and cost-effective. Using the WindowsAzure4j library, it’s easy to use, and takes just a few lines of code. If you are writing an application with large data storage requirements, or you want an offsite backup, it makes a lot of sense.

Running Java applications in Azure Compute is straightforward with tools like the Tomcat Solution Accelerator (http://code.msdn.microsoft.com/winazuretomcat )and AzureRunMe (http://azurerunme.codeplex.com/ ).

The Windows Azure AppFabric Service Bus can also be used to connect heterogeneous systems running on different networks and in different data centres.

How can The Service Bus be considered an interoperability solution?

I think that the Windows Azure AppFabric Service Bus is one of Microsoft’s best kept secrets. Think of it as “a globally scalable application plumbing kit in the sky”.

If you have used Enterprise Service Buses before, you’ll be familiar with the concept. Applications can connect to the service bus to securely exchange data – these can be point to point or multicast links.

With the AppFabric Service Bus, the applications can exist anywhere that has access to the Internet and the connections can traverse firewalls. This makes it easy to extend or scale your application or reach out to other networks and technologies.

For example, let’s say you have a SQL Server database running on premises and you want to expose the data to a Java application running in the cloud. You could set up a point to point Service Bus connection and use JDBC. Traditionally this would have been difficult or impossible without punching holes in firewalls and compromising security.

Rob Blackwell is R&D Director at Active Web Solutions, www.aws.net , a Microsoft Gold Partner specialising in leading edge software solutions. He is an occasional writer and conference speaker and blogs at www.robblackwell.org.uk

Related Links: