# Send your IronRuby usage and quotes

**URL:** <https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791>\
**Category:** IronRuby\
**Created:** [July 18, 2010, 10:39pm UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791 "2010-07-18T22:39:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [July 18, 2010, 10:39pm UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/1 "2010-07-18T22:39:43Z")

</div>

All,

It’s that time again, where I ask everyone to post what specifically you  
use  
IronRuby for, your opinions about IronRuby, or anything you want to say  
about the project. Just reply to this thread with what you want to say,  
but  
also feel free to reply directly to me if you don’t want to tell the  
world  
about it (removed\_email\_address@domain.invalid). I’d like to take whatever public info  
and  
put it on [http://ironruby.net/About/Usage](http://ironruby.net/About/Usage) and  
[http://ironruby.net/About/Quotes](http://ironruby.net/About/Quotes).

Even if you have talked about your IronRuby usages and praise on the  
mailing  
list before, please send again! This makes sure we know about it and put  
it  
online.

Thanks!  
~Jimmy

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [July 19, 2010, 3:31am UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/2 "2010-07-19T03:31:15Z")

</div>

We’re using IronRuby as an integration layer in our .NET applications.  
All of our client/server apps fire fine grained business events whenever  
anything interesting happens. We set up a convention based file  
structure on our app servers that can allow us to handle any of these  
events by dropping rb files in a directory with certain names that match  
the event we want to handle, and the context surrounding each event is  
given to that ruby code during execution. (We use  
[GitHub - PlasticLizard/Bracket: Bracket allows you to easily host Ruby Rack based applications and middleware from within your .NET applications or servers via IronRuby. Supports a variety of embedded web servers. Also allows IronRuby to access the standard libraries / gems / etc directly out of zip files, allowing for simpliefied, x-copy deployment of IronRuby enabled apps.](http://github.com/PlasticLizard/Bracket) to boil IronRuby down to a zip  
file for easy versioning and deployment without having to actually  
install IronRuby on our deployment targets). We used to have a formal  
.NET message contract for each type of event we wanted to send out of  
our systems (a la WCF or NServiceBus), but we’ve found it much more  
flexible to do the mapping in IronRuby and compose our outbound messages  
in dynamic code. So far we’re using this scheme to write XML files to  
network shares for other apps to pick up or to publish messages to a  
RabbitMQ broker (via the Bunny gem, which works well with IronRuby).  
Having the combined power of .NET and Ruby and the flexibility of Ruby  
at the integration layer is very liberating. IronRuby was the gateway  
drug at our shop to Ruby itself, so now instead of using .NET/SQL Server  
for our web apps we use Rails/MongoDB and deploy on Linux boxes hosted  
at Rackspace, but because of IronRuby we are able to share a common set  
of messaging libraries at the edges of the systems, which reduces  
friction quite a bit. We can evolve our integrations with our .NET  
applications orders of magnitude faster using IronRuby than we used to  
achieve purely using managed code, which, of course, requires a full  
build/package/deploy cycle for any kind of change, and change at the  
integration layer especially in an event-driven environment is usually  
fast and furious. My hope for IronRuby is that it will someday run  
native gems and be truly cross platform. Every time I try to use  
IronRuby as a first class environment, meaning beyond auxiliary roles  
such as integration or automation scripts, I hit a brick wall pretty  
quickly - things like EventMachine, cloud storage gems, image  
processing, etc. somehow always pop up as requirements, and eliminate  
IronRuby as a viable runtime, which is too bad, because otherwise I  
would prefer it to MRI or JRuby given our extensive .NET investments.  
All in all though we are tremendously happy with the technology. For me,  
it is probably the most exciting addition to the .NET landscape that I  
can remember, with potential that far exceeds things like [ASP.NET](http://ASP.NET) MVC or  
Entity Framework or whatever other edgy things MS is putting out.

Thanks for all the hard work!

Nathan

From: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Jimmy  
Schementi  
Sent: Sunday, July 18, 2010 1:17 PM  
To: removed\_email\_address@domain.invalid  
Subject: [Ironruby-core] Send your IronRuby usage and quotes

All,

It’s that time again, where I ask everyone to post what specifically you  
use IronRuby for, your opinions about IronRuby, or anything you want to  
say about the project. Just reply to this thread with what you want to  
say, but also feel free to reply directly to me if you don’t want to  
tell the world about it (removed\_email\_address@domain.invalid). I’d like to take whatever  
public info and put it on [http://ironruby.net/About/Usage](http://ironruby.net/About/Usage) and  
[http://ironruby.net/About/Quotes](http://ironruby.net/About/Quotes).

Even if you have talked about your IronRuby usages and praise on the  
mailing list before, please send again! This makes sure we know about it  
and put it online.

Thanks!  
~Jimmy

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [July 19, 2010, 4:42pm UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/3 "2010-07-19T16:42:29Z")

</div>

Hi,

I use Iron ruby as the glue between sqlserver, dynamic processing for  
complex order scheduling, with excel connections for review/updating of  
scheduling.

The tools that I am missing so far (and I guess that it is because  
IronRuby is a new platform within the .net universe) are:  
a) a simple GUI platform (or a nice port of either Shoes / FXRuby /  
wxRuby for .net) - WPF/Silverlight targeting would be great!!!  
b) An IronRuby IDE (VS10 support maybe?)

What I find great about IronRuby is all the technologies you can target  
from IronRuby within the same environment:  
SqlServer (using ActiveRecord gem as an example)  
Excel (through: load\_assembly “Microsoft.Office.Interop.Excel”)  
and all the other ones: xml, yaml, json, http, ftp, etc.

I’m not saying that we cannot access all the technologies using plain  
.net.

However, in the .net world, you really have to master several “visual”  
environments just to accomplish a simple CRUD:  
EntityFramework / Linq  
SQLServer  
either [VB.NET](http://VB.NET) or C#  
Blend (or VS xaml) if you want to work with “visual” design of the  
screens,  
having to figure out how to “Bind” controls to tables,  
Excel VBA, in case of some automation in Excel directly, etc. etc.

And all the source generated for each of the components is just very  
long  
and difficult to grasp if you need to maintain the code in a later time.

With IronRuby (and RUBY), due to its Dynamic nature and the elegance of  
the language, the DRY concept, the testing capabilities and the  
immediate execution of ir, this gives back the “fun” part of programming  
to developers.  
It also contributes to improving development productivity big time.

It is NOT the same to maintain a 600 line piece of code, scattered  
across different environments and a 60 line piece of code with the same  
functionality  
in only one environment.

Please continue with this great work, you are really heading in the  
right direction!!!  
.  
Jimmy S. wrote:

> All,
> 
> It’s that time again, where I ask everyone to post what specifically you  
> use  
> IronRuby for, your opinions about IronRuby, or anything you want to say  
> about the project. Just reply to this thread with what you want to say,  
> but  
> also feel free to reply directly to me if you don’t want to tell the  
> world  
> about it ([removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)). I’d like to take whatever public info  
> and  
> put it on [http://ironruby.net/About/Usage](http://ironruby.net/About/Usage) and  
> [http://ironruby.net/About/Quotes](http://ironruby.net/About/Quotes).
> 
> Even if you have talked about your IronRuby usages and praise on the  
> mailing  
> list before, please send again! This makes sure we know about it and put  
> it  
> online.
> 
> Thanks!  
> ~Jimmy

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [July 21, 2010, 2:58pm UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/4 "2010-07-21T14:58:24Z")

</div>

Hi Jimmy,

I’ve just released the first version of IronMock (  
[http://bit.ly/ironmock](http://bit.ly/ironmock) )  
which uses 9 lines of embedded IronRuby to apply interfaces to objects  
at  
runtime. It can be used for duck-typing any object, but there’s also a  
DynamicObject-based mocking class.

If you want a quote:

“I achieved in a couple of lunchbreaks and a few lines of Ruby and C#  
something which used to take reams of IL Emit code. IronRuby rocks.”

Cheers,  
Mark

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [August 6, 2010, 9:14am UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/5 "2010-08-06T09:14:38Z")

</div>

We have taken to use IronRuby from pre-alpha stage in our GUI conversion  
project where we are transforming Napa SW GUI (1 mil+ SLOC) from Motif +  
custom script language to WPF + IronRuby. So we are using IronRuby as  
WPF scripting language. Still wishing for more XAML + IronRuby interop,  
but we manage with this level as well.

Robert B.  
Software architect  
Napa Ltd  
Tammasaarenkatu 3, Helsinki FI-00180  
P.O.Box 470, Helsinki FI-00181

Tel. +358 9 22 813 1  
Direct. +358 9 22 813 611  
GSM +358 45 11 456 02  
Fax. +358 9 22 813 800

Email: removed\_email\_address@domain.invalid

> **[Home – NAPA](https://www.napa.fi/)**
>
> NAPA provides intelligent solutions for maritime industry: Software, Services and Data Analysis for Ship Design and Operation. We combine naval architecture, shipping and digital expertise to help maritime business make the decisions that matter.

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [June 12, 2011, 8:33pm UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/6 "2011-06-12T20:33:01Z")

</div>

Dug this old thread up and added the posts to  
[IronLanguage usages · IronLanguages/main Wiki · GitHub](https://github.com/IronLanguages/main/wiki/IronLanguage-usages); if you  
have anything to add, feel free to add it to the wiki page directly.

~Jimmy

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [July 24, 2010, 2:31pm UTC](https://www.ruby-forum.com/t/send-your-ironruby-usage-and-quotes/191791/7 "2010-07-24T14:31:18Z")

</div>

We’ve been using IronRuby for dialplan scripts on [sipsorcery.com](http://sipsorcery.com) for a  
couple of years now. The IronRuby scripts let VoIP users control how  
their calls get routed around the place. Some of the scripts written by  
users have become pretty sophisticated:

[http://code.google.com/p/google-voice-sipsorcery-dialplans/source/browse/trunk/SIP%20Sorcery%20Dial%20Plans/DialPlans/ComplexDialPlan](http://code.google.com/p/google-voice-sipsorcery-dialplans/source/browse/trunk/SIP%20Sorcery%20Dial%20Plans/DialPlans/ComplexDialPlan)

Regards,  
Aaron
