Ironing code, geek t-shirts and even presentations!


Wrapping Up my “Swedish Tour”

File:Flag of Sweden.svgI’ve just got back home after a week in Sweden. During the week I had the opportunity to travel the country a bit, to learn a few Swedish words and to speak in a few occasions about ASP.NET MVC, IronRuby and some other technologies. But above all of that, I got to meet and talk with some incredible people! it was such an amazing experience!!! thanks to all of you (you guys know who you are), you made this week one of the best I’ve ever had.

Well, yes. I know I titled this post a “wrap up” and you want the details. So…


Part 1 – Stockholm

The first part of my “tour” was Stockholm. I was invited to Stockholm by Tibi to participate in the unconference he had been planning. It had been snowing in Sweden before I got there so I was welcomed by a lot of snow. And I LOOOOOOOOVE snow! I was sad, though, that it wasn’t snowing while I was there…

Tibi hosted me in his place during my stay in Stockholm so huge thanks to him, to his wife Nicolleta and to his sweet daughters for having me!

On the day after I came we had the unconference in a very cool office in Stockholm. I was impressed that even university students showed up for the unconference! good for you! During the unconference we had very interesting and inspiring discussions about various different and unrelated subjects (in the .NET world). I got to talk about IronRuby and it was very interesting for me to hear the questions and the feedback.

Some photos from the event:

.NET Unconference in Stockholm.NET Unconference in Stockholm

Part 2 – SDC2011, Gothenburg

The day after the unconference, me and Tibi took the train to Gothenburg to participate in the Scandinavian Developer Conference, AKA SDC or ScanDev. We got to an amazing hotel called Gothia Towers in Gothenburg where all the speakers were hosted. The conference itself took place in a convention center that is attached to the hotel. This is how the hotel looks like from outside and the inside:

My room in Gothia Towers HotelGothia Towers Hotel from Outside

On the first evening we had a speakers dinner organized by the conference organizers. They took us to a very nice restaurant and I got to meet and talk with other speakers about technologies, languages (real ones! not just programming languages!) and other stuff. These meetings are the best thing in conferences… the opportunity to chat with people from all over the world (face-to-face) is not something that you run into every day.

Anyway, the next day I had my session, The Big Comparison of ASP.NET MVC View Engines, and it went pretty well. I had something like 100 people attending and had lots of fun. Razor won the poll again, by the way. I wrote another post about the session, in case you want to see/download the slides or code samples.

On the evening we had some food at a nice little restaurant, had interesting discussions and lots of alcohol. Everything is a bit blurry for me from this night… I love conferences! :)

On the second day of the conference I didn’t have any sessions so I got to relax, go to some sessions myself and in general, have fun! In the evening we went to a traditional Swedish restaurant and had some traditional Swedish food. It was a blast!

Part 3 – Swenug (Swedish .NET User Group), Gothenburg

The last part of my trip was the Swedish .NET user group meeting in Gothenburg. I had two ~1 hour sessions, one was about tips and tricks in ASP.NET MVC 3 (or the session’s official name – “ASP.NET MVC Rulezzzzzz”) and the second one was about IronRuby and its possible usages for .NET devs (or in its official name, “IronRuby FTW!!!!!!!”). I must say, these were one of the best presentations I’ve ever had. It felt good, I had an awesome awesome AWESOME time, got very good responses afterwards and even all the demos worked!

Thank you Anders for having me and pulling this off.


It was an amazing week. I had a chance to speak in front of the great Swedish crowd. I met so many interesting people. I ate a reindeer (sorry Santa). And I got to see snow!

Sweden, I’ll be back!

All the best,

Spaghetti Hot Dog

Warning: this is NOT a technical post. At all.

A few days ago I stumbled upon this picture:


I can’t find the tweet I got it from so if you know its origin, please let me know and I’ll add it here!

So I saw that and it hit me instantly – this is THE BEST IDEA EVER!!!!! I had to try it myself. And I��m proud to introduce…. my own Spaghetti Hot Dogs!

Step 1 – Buy Cheap Spaghetti and Hot Dogs

DSCF0277 (Small)

Step 2 – Boil the Hot Dogs a bit to Soften Them

DSCF0278 (Small)

Step 3 – Insert Spaghetti Sticks into the Hot Dogs

DSCF0283 (Small)

DSCF0285 (Small)

DSCF0289 (Small)

DSCF0290 (Small)

Step 5 – Boil Everything Together

DSCF0296 (Small)

Step 6 – Bon Appétit!

DSCF0299 (Small)


DSCF0302 (Small)

It was fun to make and fun to eat! I LIKE!

All the best,

Catch me next week at TechEd Eilat

Next week I’ll be around at TechEd Eilat and I’m looking forward to meet, talk, discuss, drink, eat and p-a-r-t-y with you people. So catch me, I’ll be the guy with the laptop :-P

And thanks Microsoft for choosing me to be their guest!


See you there,

The Winds of Change

Well, I left Sela (Thursday was my last day), my company for the last 7.5 months and I’m moving on to co-found CodeValue.

Even though my time at Sela wasn’t that long, I learned so much and met so many incredibly smart people. It’s been a wonderful experience and I’d like to thank the people who made it such: Caro Segal, Dudu Bassa, Ishai Ram, Roy Nachmani, Elad Hanania, Avi Balaish, Gil Fink, Dovi Perla, Alex Golesh, Ido Flatow and many others! thank you all, it was great working with you!

So what now?

Well, now I’m moving on to be a part of CodeValue.
The amount of talent in the company is unbelievable and it would be a shame to keep these skills to ourselves. Therefore, our main goal at the new company is to create products for you, the developers. Products that will help you solve common problems efficiently, write better code and enable you to focus on the important things.

I can’t tell you exactly what the products are at the moment but I can tell you this – the first product will be related to cloud computing and I assure you that once you know what it is, it will blow your mind away.

If you want to stay tuned to announcements regarding CodeValue, you can subscribe to our company blog, follow us on twitter or friend us on Facebook. Everything is in pretty early stages, so expect more content soon.

By the way, I also continue to consult, train and speak at conferences. I like doing that so I’m not going to stop anytime soon :)

“The future's in the air
I can feel it everywhere
Blowing with the wind of change”
- The Winds of Change by Scorpions

All the best,

How Do I Convince My Boss?

I’ve been evangelizing IronRuby for quite a while now and during this time I have been asked this question numerous times. I’m sure anyone in the .NET community who’s trying to evangelize something that is a bit outside the standard toolset have run into this question as well. And I have no doubt it happens in other development environments too. It’s a worldwide problem we’re facing here!

This is actually a good question. The guy/gal who asks it probably understands the benefits of the new technology/tool/whatever but they know that it will be hard to break through their workplace “defenses”.

Indeed, looking through the boss’ glasses, it sounds crazy to change they way people work…. learning curve, complications, an unfamiliar world… or in other words – it is outside the comfort zone. This is actually the heart of the problem – this popular comfort zone. It is, actually, comfortable there. However, it is also still… very small evolvement takes place inside the comfort zone. And you know what Darwin said would happen when something doesn’t evolve, right?

Anyway, we’re here because we do want to evolve, we do want to improve and we do want to use the right technology for the job. So first, let’s get familiar with who we’re dealing with:

  • Small startups – startups are the most open-to-changes workplaces out there. This is because in startups, managers don’t really care how something is created as long as you do it fast, you do it good and it doesn’t cost a lot of money. This is where you’ll have most chances of succeeding in convincing your boss.
  • Small-medium companies – small-medium size companies tend to be more conservative. You will run into different tools/languages here and there but mostly there will be a single declared method of how a project gets done. It won’t be a piece of cake to sneak a new technology/tool in here but if you succeed to persuade a few people in your close circle, you might have a chance.
  • Large-huge corporations – you’re screwed. Politics is what’s running the place, not technology. Therefore, managers will be unwilling to make changes, sometimes even just because they are not technological people and do not understand the benefits. I believe that you can make a change even in these corporations. However, be ready for a long and exhausting fight.

Moving forward, before deciding to go ahead and use your technology/tool in your workplace, be aware of the next bullets:

  • Know the technology/tool. People will try to talk you out of it and ask you all the questions they can think of. You need to have answers.
  • The technology/tool must have real and clear benefits. The more these benefits can be translated into saving money to the company the better. The benefits must also be something you can present – it takes less time, the code is clearer, it is easier to maintain, etc.
  • Do a great job. If you finish the project two weeks late, no one will want to hear about your new technology/tool even if it’s really the greatest thing ever created.
  • The WOW effect will greatly help you. If you succeed to wow the people that don’t want to see new technologies in the office, you’re half way in. Try to have that wow effect somehow.
  • Be ready to fail. You might not get through the first time. But don’t stop fighting, try again. And again. In the meanwhile you’re using the technology you like so it’s not that bad at all. However, a lot of people really really like their comfort zone and will not agree to move one inch away from it even if they have no good excuse for doing so. If these people are the decision-makers, your chance of getting through is very very small. In such a case, if you’re into new technologies, maybe your current workplace is just not for you.

OK. What do you do now? Well, you have multiple options. I recommend you to try the first one first, if it doesn’t work try the second one and so on.

Get a Permission

Approach your boss and ask for his/her permission to use your technology/tool for a specific task. Do not come and say “let’s use X” because you will get the generic answer “cool, we will” and never hear about it again. Be specific.

In addition, come prepared. Tell your boss why you want to use X for that task and what will you/the team/the company/the world benefit from it. You can also suggest you’ll do a presentation for the team about it and decide together if it’s worth trying.

Work in Parallel

Your persuading campaign didn’t go though and you haven’t received the permission you hoped for. This is not the end, but you will need to work a bit harder.

Given a task, work on it and finish it with the current technologies/tools that everyone is using. In addition to that, work on the same task individually in the technology/tool you want to convince your boss to adopt. Then, when the day comes to show your boss your work, show him/her also your side project and explain them the benefits. Once they see both implementations, can compare them and really “feel” the benefits, they might be convinced more easily.

Don’t tell your boss

I actually don’t like this solution at all… I think it is the fast way to get fired. But it is an option and you need to be aware of it.
This should really be the last resort if your hands are burning and you must use this new shiny technology in your workplace and you know that until Earth is destroyed, there is no way someone will approve you to use it. Anyway, please ask for permission first. Maybe you’ll get lucky.

The idea here is very simple – your boss tells you to do something and you do that with your beloved new technology/tool without letting anyone know. Then you come back to your boss, in record time, and says “I’m done”. From here there are three main scenarios:

  • You are fired immediately.
  • You loose your credibility and after a while your boss fires you.
  • You become the new hero. The technology is adopted by your team and then the entire company. The boss likes people who swim against the current so after a while you are promoted and eventually you become the CEO of the company.


I believe that any person who wants to improve himself/herself in what they’re doing, should widen their horizon and look around. It’s a win-win situation - if you like what you see, learn from it and try to import it into your development environment. If you don’t like what you see, you will be more grateful for what you already have.

And if you think that you’re only one person and there’s no way you can convince your boss and affect the company you’re working for, remember that it only takes one person to start a revolution.

Viva la Revolution!

Wrapping up my “Europe Tour”

The last two weeks have been really fascinating for me. I flew 6 different flights, took 4 trains, did a total of 5 sessions in 2 conferences, lost one suitcase and got it after two days, and met numerous amazing people.

So let’s start from the beginning. My first stop was Dublin, where the Epicenter conference took place. The agenda covered various different programming languages like .NET, Java, Ruby and even Smalltalk. I did three talks – Practical IronRuby, ASP.NET MVC and Ruby on Rails Vs. ASP.NET MVC. Apart from these talks I got to participate in a web frameworks panel where I talked about ASP.NET MVC. The other panelists were Peter Ledbrook that talked about Grails, Jamie Van Dyke who talked about Ruby on Rails, Julian Fitzell who talked about Seaside and Matt Raible who talked about Java web frameworks:

Web Development Frameworks Panel at Epicenter 2010

The great thing in this conference for me was that I got to hear, for the first time, about the worlds outside the Microsoft world. It was a really interesting experience for me, and I’m sure it will be the same for every .NET dev out there (highly recommended!).

Apart from that, I hanged out with a lot of cool people – thanks everybody for the great time!

After the conference was over I stayed in Dublin for a few more days mainly for sightseeing… On one of the days I took a trip to Glendalough which was spectacular! Ireland is soooooo beautiful!!!!

I'm at Glendalough!

Afterwards I moved on to the second part of my tour – the Norwegian Developer Conference. I took a flight to Oslo, Norway got a train to the central station and walked to the hotel (great location!)… A few minutes after I get to the room in Oslo I get a Twitter message to call Anders (one of the organizers). He asked me to replace Scott Bellware as the first talk on the day after since Bellware had done a very Bellware-like thing and missed his flight. Luckily I had my talk ready by that time so everything went really good. Eventually I had two talks – Practical IronRuby and Riding IronRuby on Rails.

So the conference, I must admit, exceeded all of my expectations – the organization was flawless (kudos to the organizers), I got to meet and talk with tons of awesome smart people, I talked in front of a lot of people and I learned so much about technology, about drinking a lot of beer and about sides of Microsoft which I’ve never thought about (thanks Scott, Rob and Seb!). It was a great experience for me and I wish any one of you to go through something like that.

One of the peeks of the conference for me however, came right after it ended… During the conference I tried, with the help of Tim Heuer, to run a simple IronRuby console on a Windows Phone 7 device. We faced some problems with the version Tim had so we kinda let it go with no success. But! Tim didn’t despair and contacted Tomas from the IronRuby team. Tomas found the problem and hacked a fix very quickly… so while I was sitting in my room just before leaving for the airport, I got this picture from Tim:

IronRuby on Windows Phone 7!

It ran! IronRuby console on a real Windows Phone 7 device! soooooooo cool!!!!!

So… Thanks all for the great time! I was really glad to meet each and every one of you and I hope to meet you all again sometime!

P.S. The slides of the talks and links to the videos will be published soon.

Dell Fail

I understand it now, I’m just not lucky with gadgets. First it was my sound system that died on me and now my new and shiny laptop does its part in irritating me.

This morning I found out that only a month after I received it, a part of the Dell logo that resides on the top cover of the computer fell off. This is how it looks like now:

Dell Logo Fail!!!!

Now look, I don’t put things on my computer, I don’t throw it and I don’t scratch it. All I do is to put it in my bag and take it out of it. And it’s so upsetting that after a single month, a top-notch 2500$ computer, has this kind of flaw.

Should I expect the whole logo to fall off in the next few months?

Dell’s site says about my computer that it provides “superb performance and design”. Is this what you call “superb”? 
I’m really disappointed in you, Dell. You have let me down.


I’m a Microsoft MVP!

I’ve just received an email from Microsoft saying I’m a new Microsoft MVP!!!
The MVP award is officially in Visual C# but it is mainly for my IronRuby activities (there’s no specific IronRuby MVP award yet).

I'm a Microsoft MVP!

I’d like to thank Sela, Guy Burshtein, IronRuby and you for helping me in the process of becoming a Microsoft MVP.

I’m very excited and looking forward to MVPing!

All the best,

Rock Stars Vs. Programming Stars

Recently I thought about this comparison… In the programming world there is this level of people who are a kind of “celebrities” within the developer community - they’re widely known, they have thousands of readers of their blogs, they have thousands of followers on Twitter, they speak on public events in front of thousands of people around the world… All of that just screams for a comparison with the equivalent in the show biz world - rock stars!

So… I’m proud to present the first EVER comparison between rock stars and programming stars! afterwards judge for yourself what you wanna be.

Comparison Rock Star Programming Star
Look Rock stars (this is a picture of Motley Crue) Programming Stars (this is a picture of Microsoft's early days)
Shown in public on Concerts, TV, Radio, newspapers, magazines Conferences, podcasts, programming magazines
Known internationally Yes Yes
Chances of being recognized in the grocery store Almost with complete certainty Rarely
Charisma Yes Yes
Tools Microphone/Guitar/Drums/other instrument Microphone + computer + projector
Write Lyrics Code
Average annual salary Millions of dollars Hundreds of thousands of dollars
# of Twitter followers Millions Tens of thousands
# of people attending a single show/talk Tens of thousands Thousands
Way to the top Hard work for years/American Idol Hard work for years
(Simon Fuller, if you read this, what about a “Programming Idol” show?)
Sex So much that they’re sorry about that when they grow old. I don’t know. Unlike rock stars, they don’t share this information.
Drugs Yes. A lot. No. Geeks do not do drugs. Most of them at least.
Alcohol Yes Drink beer from time to time
Tour the world A few months a year A few days/weeks a year
Own A crib, a private jet, a collection of cool cars A powerful laptop with SSD and two 24’ screens
Can install Win7 No Of course, they’ve done that multiple times already
Eat bats during shows/talks Yes No
Have tattoos Yes Mostly not, it hurts to get them done.
Have two eyes, two ears, one mouth and one nose Yes Yes

And the winner is………… I don't know, do you?

Anyway in the end we’re all human and therefore have a chance to become stars.

Go ahead and shine!


Share: Digg it | DZone it | Reddit it

A List of Essential Tools for a new Computer

This week I got my new laptop and it’s AWESOME!

It is a 64-bit Dell Studio XPS 16 with the following specification (the main features):

  • Processor: Intel® Core™ i7-720QM Quad Core Processor 1.6GHz (2.8GHz Turbo Mode, 6MB Cache)
  • Screen: 16' inch RGBLED Full HD 1080p
  • RAM: 8Gb 1333Mhz DDR3 Dual channel
  • HD: 500Gb 7200RPM
  • Graphics: 1GB ATI Radeon  HD 4670

And this is how it looks like:

My new Dell Studio XPS 16 My new Dell Studio XPS 16

It’s so much fun to work like that! everything just works and you don’t need to wait for operations to get done. They just do.

So after praising my new laptop, let’s move on to the main subject of this post – the tools I take with me to every computer I work on:

  • Reflector – in my opinion, every .NET developer must have Reflector installed on his or her computer. There is no way you can understand the internals of the technologies you work with without going through their code, at least flutter through it. And if you don’t want to understand the internals, go to a shrink and figure out why do you settle for mediocrity.
  • IronRuby – I use IronRuby’s REPL console as my main method of doing quick POCs, check what methods return and how to use them, etc. I used to use Snippet Compiler but IronRuby is so much faster and much more fun so I moved to it.
  • GacView – I use it as a replacement to the “assembly” folder viewer that is provided by Windows Explorer. GacView shows you the assemblies in the Global Assembly Cache (GAC), provides information about them and most important – lets you copy them to a different location and to delete them.
  • ViewStateDecoder – let you view what your page stores inside its view state hidden fields.
  • Fiddler – A very simple to use and powerful network sniffer.
  • SciTE – A light-weight editor with syntax highlighting and a simple code completion mechanism. I use it to change C# code quickly instead of opening the heavy Visual Studio, to write IronRuby code and to edit XML files.
  • Process Explorer – I use it as a replacement to Windows Task Manager. I like the UI more and the ability to find handles and remove them becomes very helpful every now and then.
  • ZoomIt – An awesome tool for presentations. If you speak occasionally and use a projector or a big screen, this tool is a must for you.
  • PicPick – a light-weight tool to capture screenshots. Very easy to use and comes with some more handy features like a color picker.
  • foobar2000 – A very light-weight music player which does exactly what it needs – play music. It comes with an easy to use music library viewer and can even show a balloon tip with the current playing song.

I highly recommend each of these tools because of my great experience with them. They make irritating tasks simpler and faster and eventually make me happier.

I hope they’ll make you happier too!

kick it on Shout it