IronShay

Ironing code, geek t-shirts and even presentations!

NAVIGATION - SEARCH

My Interview on Herding Code is Published!

At this year’s NDC I had the honor to chat with Jon Galloway and Scott Allen, who are half of the Herding Code crew. We chatted about subjects related to my NDC talks – Roslyn, C#’s dynamic capabilities, and the DLR. 

Last week our chat was published as an Herding Code episode, and it is available to hear and download at http://herdingcode.com/?p=463.

Enjoy the episode and thanks Herding Code for having me!

All the best,
Shay.



Slides and Code Samples from my Talk at LIDNUG - What?!? C# Could Do That???

On Thursday I had the honor to do a virtual talk at LIDNUG – the LinkedIn .NET User Group. A stage where lots of .NET celebs like Scott Gu, Jeffery Richter, Jeff Prosise and others have talked in the past.

I’d like to thank all the attendees and the LIDNUG crew who made this possible – Inbar, Peter and Brian – you guys rock!

About the talk – I focused on the dynamic capabilities of C#. Started with some black magic done using the dynamic keyword, then moved on to practice witchcraft with the combination of IronRuby and C#, and ended with the new and shiny .NET spell-book also known as project “Roslyn”.

The talk was recorded and it can be found on YouTube:

The code samples from the talk are also available – click here to download them [2.47Mb].

I had a blast, hope you did as a well.
All the best,
Shay.



IronRuby and IronPython are Officially Handed Over to the Community, IronRuby Tools for VS is Out and More!

I’m so happy! finally some good news about IronRuby!

As you might know, IronRuby and IronPython got to a dead-end inside Microsoft a few months ago, a move that set a firestorm within the community which demanded Steve Balmer’s head on a stick (yea, we’re loco here in the DLR land!). Since then we lived in uncertainty regarding the future of these languages, walked among the crowd with tears in our eyes and prayed every night to the God of open-source to help us in these horrible times.

But yesterday evening everything changed! and changed for the better!

When Open-Source becomes Open-Source

I’m thrilled to say that Microsoft announced yesterday that they were handing IronRuby and IronPython over to the community! completely! And not just that, there will be new coordinators of these projects who will lead them to greatness. The coordinators for IronRuby will be Miguel de Icaza and Jimmy Schementi. For IronPython the new coordinators will be Miguel de Icaza, Michael Foord, Jeff Hardy, and Jimmy Schementi. These are incredibly talented people who are capable of taking these languages to great new heights and convert them from “very cool and nice-to-have” to “breath-taking OMFG give it to me give it to me now!!!”.

IronRuby 1.1.1

In addition to the great news from above, IronRuby 1.1.1 has been released yesterday with exciting new and anticipated features.
Pay attention that this version is tagged as alpha, which means that there are still some things that do not work so good or are missing.

Compatible with Ruby 1.9.2

IronRuby is closing the gap with MRI (the official Ruby implementation) and provides compatibility with Ruby 1.9.2. Here, watch:

IronRubu 1.1.1 using Ruby 1.9.2 Features

IronRuby Tools for Visual Studio

So the most voted feature in Microsoft Connect site and one of the main reasons that kept .NET developers away is now a thing of the past. IronRuby can now be developed from within your beloved Visual Studio IDE!
The new tools contain: Ruby colorizer and syntax checker, interactive loop window, directory based project, and templates for common Ruby applications (including Ruby on Rails 3, Sinatra, Gems and Silverlight based browser scripting app). Here, watch:

IronRuby New Project dialog inside Visual Studio

IronRuby Interactive inside Visual Studio

Ruby syntax highlighting and the Interactive console inside Visual Studio

Download NOW!!!!!!!!!!11

Quick! go, download, install and let the awesomeness take over: http://ironruby.codeplex.com/releases/view/49097

Exciting times!

All the best,
Shay.

kick it on DotNetKicks.com Shout it



The Official Response from Microsoft about the IronRuby Situation

A few days ago someone asked on the IronRuby mailing list if there were news about the future of IronRuby. In return, Tomas Matousek, the last active IronRuby developer inside Microsoft, posted Microsoft’s official position (which apparently was published some time ago):

"At this time, we have no announcements to make beyond what we announced in July 2010 — that we were putting these [IronRuby and IronPython] under the Apache License v2.0. Clearly, there is customer and community interest in these languages. With many organizations running mixed IT environments, we continue to value community feedback on how we can support their interoperability needs, and we remain committed to supporting multiple tools and languages that provide developers with the most choice and flexibility.".

I’m not quite sure what that means but hey, at least we got something :)

Live well and prosper!
Shay.

Related reading: Keep Your Chin Up Child and Wipe the Tears from your Eyes



Wrapping up my trip to Japan – TechEd and RubyKaigi

A few days ago I got back from Japan, where I gave 2 talks – one at TechEd Japan and one at RubyKaigi. Honestly, it was a breathtaking experience for me.

First of all, Japan… it’s so different! someone even called it “an alternate universe”. Japanese people are so kind and so well-behaved. And everything is clean. Sooooo freaking clean!!!! I must recommend you to visit Japan if you haven’t don’t it already. It is an experience you wouldn’t want to miss.

Secondly, I had a unique opportunity to speak both at a Microsoft and a Ruby conferences at the same week and see the different audience. They’re all developers and yet they are so different! Microsofties are the responsible grown ups and Rubyists are the rebellious teenagers. It was amazing to see the differences. Anyway, I had a blast in both conferences and met some outstanding people!

Before I move to the content of my talks, I’d like to personally thank Shozo Arai for having me at TechEd and helping me with my RubyKaigi talk and to thank Ayumu Aizawa for having me at RubyKaigi. You people rock!

And to the content of my talks (I’ll add them to the presentations page soon too)… The first one was TechEd:

TechEd Japan 2010

The conference took place at the Yokohama Conference Center and I gotta say – Yokohama is a beautiful place. For instance, this was the view from my hotel room:

Yokohoma from my hotel room

During the conference I also played Microsoft Kinect for the first time, which was AWESOME. I want one. If you wanna buy me one, please do.
In addition, I participated in a special MVPs launch (Japan has 200 MVPs!) where I was introduced to everyone. It was very cool and I got to meet some exciting people there.

Anyway… I also had a session there named “Let’s Dynamic – IronRuby and the .NET Framework” (that’s my translation to the Japanese name :-) ). It was the first time for me to have a translator. I had to stop every 1-2 sentences and let him translate. It was quite an experience! but I had fun and the audience seemed interested too :-)

These are the slides:

If you’re interested in one of the demos, please let me know and I’ll upload them. I’m just too lazy to do that now :-) I know the session was recorded on video too. I guess you’ll be able to view it on the conference site - http://www.microsoft.com/japan/teched/2010/.

From TechEd I moved to RubyKaigi, which took place at Tsukuba (2 hour train drive away from Yokohama):

RubyKaigi 2010 It was the first Ruby conference for me so I had to understand what was going on first. They had these cool whiteboards where you could write various things. For example, your favorite method and favorite programming language (C# made it to the list!). Click on the picture to view in a bigger size:

RubyKaigi Favorites WhiteboardThey also had a huge map of the world and everyone wrote where they came from. I was the only one from Israel:

RubyKaigi map of the world During the party of the first night I also got to meet some famous people (famous at least for Ruby developers!) like Matz (the creator of the Ruby language) and Chad Fowler (author of “The Passionate Programmer” and one of the organizers of RubyConf) as well as other awesome people.

Anyway, I had a session here too! Its name was “IronRuby – What’s in it for Rubyists?” and its goal was to show Rubyists how they can take advantage of IronRuby and different .NET frameworks like WPF, Silverlight and others.

These are the slides:

Again, If you’re interested in one of the demos, please let me know and I’ll upload them.
The session was recorded as well and can be found at http://rubykaigi.tdiary.net.

In conclusion, I had a blast!!! Japan is an incredible country and the conferences were outstanding! Hopefully I’ll get to visit there again in the future.

Arigato!
Shay.



My MSDN Magazine article is out – IronRuby on Windows Phone 7

The new MSDN Magazine issue, the one of September 2010, features my article about taking advantage of IronRuby on Windows Phone 7:
”IronRuby expert Shay Friedman goes mobile and shows you how to build a Windows Phone 7 app with Microsoft’s implementation of the popular Ruby dynamic language.”.

You can read it on the printed version or online - http://msdn.microsoft.com/en-us/magazine/ff960707.aspx.

Enjoy!
Shay.



Keep your Chin Up Child and Wipe the Tears from your Eyes

Last week was hysterical. It started with a flight to Nashville and a 3-day conference, Devlink, with 2 IronRuby sessions on the last day I had to do. On the second day of the conference I had a nice talk with Michael Moores, who turned out to be working with Micahel Letterle who is the first IronRuby MVP. That was the closest I’ve ever got to another IronRuby MVP :)

Anyway, the thing is that in the end of the second day just before I started the last dry-runs for my talks, I saw Jimmy Schementi’s blog post, “Start spreading the news”: the future of Jimmy and IronRuby, where he was announcing the he was leaving Microsoft, mainly because his boss had asked him “what else would you want to work on other than Ruby”. That leaved IronRuby with one developer (Tomas) and one partial-time tester that helps in other stuff too (Jim). They are both very talented, but still – 1.5 (or even less) people who work on a product kind of gives you the idea of where this is going to. IronPython is not in a better position either by the way.

The news hit me, I gotta say, by total surprise. I didn’t see it coming (at least not so soon) and my first reaction, like most reactions on the Twitter-sphere, was an “oh no, the evil monster has done it again” reaction. It’s a very natural psychological reaction to disappointment:

“The psychological results of disappointment vary greatly among individuals; while some recover quickly, others mire in frustration or blame or become depressed.”
-- "Disappointment", Wikipedia

And indeed, I was frustrated (not depressed, though; technology isn’t worth to be depressed over it) by the fact that something I believed in, with all my heart, was starting to die. And I didn’t believe in it because I thought it was cool (even though it is cool), but because I thought it added value. And that’s what it’s all about right there.

Getting back to the timeline, on the next day I had 2 sessions about IronRuby and I decided not to let the news affect them. However, I did do a little small talk with the audience before every session about it. The reactions varied from “I couldn’t care less” reactions to “I don’t know” to frustration. And watching other people being frustrated by that was a huge push for me to keep doing what I do. Moreover, the news spread so fast that as I was walking that day in the halls of Lipscomb University, I could hear people talking about the subject. I think I overheard about 5 different conversations about IronRuby that day.

Add to that the tons of reactions on Twitter, the conversation on the IronRuby mailing list and the various emails I’ve received since then (of people saying they were planning to use IronRuby and what do they do now) and you get one meaning - people care.

And solely because of that, I believe that IronRuby has a future. With or without Microsoft. Honestly, I’d hate to see it being released from Microsoft since this was a wonderful way to get it inside medium-large corporations that still require the Microsoft “stamp”. However, I won’t place my bet on that to continue.

To tell you the truth, I’ll understand Microsoft if they decide to stop funding the project. Think about it, Microsoft’s first and foremost goal is to make money. Just like your or my company. And they’re currently making money from various things:

  • Licenses for Windows, Office, Visual Studio, SQL Server and other products.
  • Professional support.
  • Hardware.
  • Training.
  • Certification exams.
  • Other stuff I don’t know about.

The biggest part of Microsoft’s revenues comes from selling licenses. As .NET developers, we are a part of Microsoft’s revenues system – we use Windows, we code in Visual Studio, we use Windows servers because that’s what we know and when we need a DB we directly go with SQL Server because it integrates perfectly with Visual Studio and other Microsoft products we have. By that I answer reactions I’ve seen like “if this is how Microsoft treats its open-source projects, we can’t trust it to continue with ASP.NET MVC too” – ASP.NET MVC will not die. Ever. Just because it follows all the preconditions. However, IronRuby does not – you do not use Visual Studio, you don’t have to use Windows, SQL Server is not so widely used with Ruby frameworks. And it gets even worst – you might be tempted to open the door and leave; to join your Ruby friends on the other side, the ones who write code in Mac and deploy their apps to, God helps us all, *nix machines.

In other words, CRAZY. The guy who approved that must have been drunk or something.

BUT, there was some rationality in the decision of writing a Ruby implementation on top of the .NET framework too – to give options, to make the framework better. In other words, to add value. And you know what, it might have had the power to even, God forbid, make these lunatic Ruby guys to show some interest in the .NET framework.

And you know what happens when money and making the product better are on the same scale? they burn the scale and the “making the product better” side up and run away with the money. That’s not Microsoft, that’s life.

So what does the future hold for us, IronRubyists? Well, I’ve got no idea. The current situation is kinda hazy – not here and not there. On the one hand, Microsoft is still controlling the code contributions, web site, github account and other related resources. On the other hand, they cut in human resources for the project.
My prediction is that Microsoft will give up IronRuby (and IronPython) in the next few months. As I said, if I was a director in Microsoft – I wouldn’t be able to justify its existence (but I would have so much more money too so I can’t really tell what I would have done :) ). And ones this happens, it will create a huge opportunity for the IronRuby community.

Since IronRuby is open source, the community will be able to take control and continue developing IronRuby. This will allow us to advance faster (hopefully) and more importantly, work on the features we want instead of the features we’re told we want. From the stuff I’ve been hearing and reading, the community of IronRuby is bigger than I though and people are willing to help. Along with the help of well-known icons like Rob Conery, Jimmy Schementi and others we can get to large audience and get even more people on board.

However, in order for this to happen I think that a few things should happen:

  • Microsoft must declare that the IronRuby project is not funded anymore and by that, it ceases to exist internally inside Microsoft.
  • Microsoft must pass the control over the entire code base, web site, github account, codeplex page, copyrights and all other related things to the community.
  • A single guy (or gal!) or a tiny team should become responsible for IronRuby. More people can be responsible for parts of the project but one or a very small amount of people should be responsible for all of it.
  • A roadmap should be written to allow people to start working.
  • Finding a contact point inside Microsoft is important too, IMHO. Someone who can help with DLR issues (the DLR is still being developed inside Microsoft) or other issues we might run into.

In conclusion, if you’re asking me, IronRuby is here to stay. It’s become stronger than Microsoft and the next months/years will be our time to prove it. Personally, I know I won’t stop working with it, talking about it and helping you guys with your questions about it. I’ll do it because I believe in it and papa always told me to do what I believe in.

“we are not alone, we feel an unseen love
we are sons and heirs of grace
we are children of a light that never dims
a love that never dies, keep your chin up child
and wipe the tears from your eyes”
-- from Music Box by Thrice

Shay.



IronRuby and IronPython on the next Israeli .NET User Group Meeting

August is going to be a very busy month for me, speaking at DevLink, TechEd Japan and RubyKaigi. In addition, with the help of Dror Helper, we’re bringing dynamic languages to the local .NET crowd in Israel!

When?

August 18th, 17:30-20:30.

Where?

The Israeli .NET User Group (IDNUG) August meeting,
Microsoft offices, Dekel room
HaPnina 2, floor 0
Raanana, ISRAEL

What?

17:30 - 18:00   Assembly
18:00 - 19:15   “Introduction to IronRuby”
                           Shay Friedman
19:15 - 19:30   Break
19:30 – 20:30  “Introduction to IronPython”
                           Dror Helper

Abstract #1: Introduction to IronRuby
Ruby has been a home for some great innovative frameworks like Ruby on Rails, Cucumber and Rake. IronRuby has recently been released, unleashing the power of Ruby to the .NET world. In this session you will get familiar with the Ruby language and its amazing ecosystem and you will learn to take advantage of it in your everyday development tasks. Come and see how this great new addition to the .NET family makes your development process faster, clearer and happier.

Abstract #2: Introduction to IronPython
Do you want to learn about dynamic languages and their uses? IronPython is a good place to start. This dynamic .NET language can be used to develop just about anything – windows application, web services and Silverlight to name a few. This session will explain what Python is all about and how to write .NET applications using IronPython. The session is intended for .NET developers without any previous knowledge of Python that want to learn about the power of Dynamic Languages.

How?

Register now at https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032456794&culture=he-IL

See you all there!
Shay.



Using the IronRuby Interactive Console

Hi all,

Eric Nelson, an Evangelist in Microsoft UK, has published a guest post of mine in his successful blog. The post explains how to take advantage of the IronRuby interactive console to explore .NET assemblies.

You can find the post here: http://geekswithblogs.net/iupdateable/archive/2010/07/26/guest-post-using-an-interactive-console-to-explore-the-.net.aspx.

Enjoy!
Shay.