Search The Blog
About this site

@RoyOsherove

Subscribe!

This site aims to connect all the dots of my online activities - from tools, books blogs and twitter accounts, to upcoming conferences, engagements and user group talks.

from 5whys.com
Twitter: @RoyOsherove
My Book: The Art of Unit Testing
Latest Posts
Wednesday
Dec142011

[Cool Tool] Checking Out VsVim

I've been using VsVim in my latest TDD course. It's a simulator of Vim keybindings for visual studio. I've been using vim since january 2011, so almost a year now, and i've come to really like the power you get when editing code with it.

Unlike ViEmu, another vim emulator for visual studio.net, VsVim is 'soft' on overriding keybindings. So, because I also use reshaper, VsVim doesn't override any keybindings that are already taken by other visual studio addins.

That means that out of the box, vsvim "just works" and reshaper continues to "just work" without any fiddling needed. Very few of the bindings that I 'lost' to reshaper are ones that I actually like in reshaper (ctrl-d to duplicate in reshaper is also 'scroll down' in vim, but that's ok).

In short, VsVim is free, you can get it from the VS extension manager, and it 'just works' if you're a Vim fan.

Nice job! Also, kudos to Lars Magen Engedal from my TDD course in Stavanger, Norway, for letting me know about it.

Monday
Dec052011

Help me pick a name for my new site - a search engine for keyboard shortcuts

I’m working on a new site that will be a search engine for keyboard shortuts, where you’d put in an app name and get all the shortcuts for it.

But I’m not sure which name is best. help me decide, dear reader!

 

Tuesday
Nov292011

Norway - Stavanger Elastic Leadership Class

This is very short notice, (which is why there is a surprise) - but During December 15-16, I’ll be doing my Elastic Leadership Course “Lead Better” in Stavanger, Norway.

This course is for new and experienced software team leaders, who want to get things done. It touches all the points not covered in the today’s ‘Agile’, ‘Scrum’ and ‘Project Management’ courses - people skills, influence techniques and understanding team phases.

It is based on my experiences blogged at http://5whys.com - but with much more details and exercises.

What’s the surprise? because it’s such short notice, all tickets are around 20% off regular ticket price (no double discounts!) (10,900 non instead of 13,900).

For registration and info click here.

NOTE: the course will run only if we have 5 or more attendees registered.

Sunday
Nov272011

How Microsoft Israel Scares .NET Consultants Into Submission

If you are a consultant related to any Microsoft related technology in Israel, you might know the feeling - There's something you really want to tell your customers about a product that might be better than a current Microsoft Product, but you hold your tongue from doing this in public, let alone in any kind of recorded fashion.

The reasons? You fear Microsoft Israel's retaliation on your livelihood.

I think this fear affects most of the consultants/speakers you'd see at events such as TechEd israel and other Microsoft Centric programmer events. While I can only speak for my own experiences and feelings on this, I've been told 'off the record' by multiple high profile consultants in the israel arena, ranging from technologies such as Sharepoint, WCF, WPF and more, that I'm not the only one who felt this.

They are actively discouraging themselves from saying bad things about Microsoft Technology, even if they fully believe they are true. They fear for their livelihood .

How come?

If you work for a Microsoft Partner in Israel, or you offer Microsoft based solutions to customers in Israel, chances are you also went through talking to some of the folks over at the "Marketing" machine down in Israel's Ra'anana center. No development is done there, but all event planning, partner hookups and customer evangelism lives there related to all of israel.

If you consult for israeli customers on Microsoft issues, and you want to publicize yourself through any of the Microsoft channels in Israel - from speaking at conference and events, to getting special 'leads' for customers interested in solving solutions for their Microsoft technologies - you depend on the folks at the Microsoft Israel Ra-anana Center to help you out.

If the folks at the MS raanana center don't like what you have to say - they won't let you speak at any Microsoft Event (no matter whether you are right or wrong), and they won't refer any potential customers with issues to you. You are left with no ability to market yourself but directly to Israeli customers - an ability which most consultants in Israel are too small to handle successfully.

This creates the situations where - once you are 'in' the 'in crowd' of the folks who speak at Microsoft conferences, or work at a Microsoft Partner - you start depending on getting leads and event opportunities from Microsoft itself. In return you feel less and less 'encouraged' to say anything that would hurt your livelihood.

If technologists are afraid of saying the "right thing" because they fear losing customers - we get into a situation where customers who are in the "Microsoft eco system" get to hear only things that will make them pay more money to Microsoft, never to try things out of the Microsoft tech system, even if they are good for them.

Not sure what's so bad about that? It's the same problem of trust you should have if you want to get your car's annual check, and the licensing place also gives you technical 'fixing' services for your car - they have it in their best interest to make you pay more, instead of telling you the truth if your car should pass the license check.

Imagine a speaker at a TechEd conference who spoke ill about Microsoft's unit testing solution. Now imagine that person never being invited back to speak there even though their talk was among the top ten voted talks for that conference, simply because of the fact he is vocalizing negative feedback on the Microsoft eco system.

He also stops receiving emails and phone calls from MS evangelists that want to connect him to customers, because he's 'off message'.

These things are not 'publicly declared, but they are well known in the large community of .NET consultants who depend on MS leads and events for a living here in Israel.

If that person depends solely on Microsoft technology to earn a living, they are shut out of the MS eco system's biggest marketing tool - conference speaking. Within a year they change their tune when they see that others are getting into the conferences and the'r talks are rejected silently.

Now imagine that actually happened, and that most technical Microsoft Consultants feel threatened in that way - a silent, deadly threat to their livelihood.

If I can't even tell the truth to my customers, do I really want to live in that world?

The solution is to bring in people into the MS Israel Arena that don't fear deserting views, but welcome them and welcome open dialog. Otherwise, this hidden method of pre-selection will continue to hurt all of Microsoft Israel's technology customers and partners.

The last one I trusted was Yossi Taguri - but he has since long gone in to the OSS and mobile world.

I don't know if it's the same in other countries, but I can tell you that power corrupts even at such minute levels. People get 'punished' for doing the wrong thing, instead of an actual conversation and real community going on.

Wednesday
Nov232011

My Suggested Talks for NDC 2012

Here’s the list I submitted to the powers that be for NDC 2012. Most of these are new. soe are ‘refurbished’ with information I learned in the past year. I wonder which ones will go through..

  1. 10 things every software team leader should know
  2. How to change anything: the six influence factors that will change they way you lead your team
  3. What you don’t know you don’t know: How to become a better developer by breaking out of your comfort zone
  4. Real life TDD lessons in .NET and Ruby - what I learned in the past year working on a Ruby on Rails Project
  5. Awesome CSS sauce - Cool tools and techniques to make CSS work more fun and maintainable
  6. Vim for Victory - Love it or hate it - You have to know vim and understand its strengths and weaknesses. It will help you in real life.
  7. Test Driven Ruby - The simple case of the string calculator kata
  8. Unit Testing Best Practices for static and non static languages - I’ll discuss which make sense for .net or ruby style languages
  9. .NET Isolation Frameworks Deep Dive: what you should know before choosing one - I review the big ones, and the differences between Proxy Based frameworks and the commercial, profiler based ones
  10. Powerful gems every ruby on rails developer should know
Friday
Nov112011

TDD Master class - Videos Available For Purchase at TekPub

In the past several months I’ve been taking background recordings of my classes with screen recorders on. I’ve heard from a good number of people that they can’t attend my TDD classes, and that it would be great if they could get videos of those classes in some way. 

So I took a step that scared me a bit (always a good thing to be scared a bit!), and through TekPub, released recordings from days 1 and 2 of my TDD master class (overall it’s five days). The whole thing costs 40$, which to me is the scary part. Maybe people will not want to got to my classes if they can learn it all online? Maybe it’s not enough money? (I’m getting about 50% of that, BTW - which is cool and dandy with me).

Anyway, I thought it might be an interesting exercise, so for now, I’m not putting all my eggs in one basket - You can’t get *all* five days of videos.. yet. That scares me a bit too much to do.

Instead, you get to learn some of the most basic building blocks of successful TDD and Unit testing: writing tests that are readable, maintainable and trustworthy. 

What’s included?

  • Unit Testing and TDD 101 + Readability, Maintainability and Trust - if you’ve never written a unit test before - this is a good start. But if you have, you’ll start learning about practices that will make the tests readable and maintainable. You’ll also learn some Test-First with NUnit (and some Nuget as well..). This is covered in various ways in all five of those videos
  • Hand Written Mocks and Fakes - good for understanding the concepts of mocks, stubs and fakes, and how they work under the covers. In fact, some people never go on to use Isolation frameworks (I dislike calling them mocking frameworks because that term is just mostly wrong for what they are used for),  and stay with hand written fakes.
  • Starting the string calculator kata - I here I go through the first few stages of the String Calculator Kata, again with focus on readability and maintainability, and also describing my TDD thinking process in a frame-by-frame manner
  • Lots of conversations between me and my students
  • You’ll get to hear how I changed my view from what a ‘unit’ is to a ‘unit-of-work’ mentality

Things that are not there:

  • Legacy code walk-throughs
  • Code Reviews
  • Isolation Frameworks
  • You doing the exercises and drills that comprise more than 50% of this course with me watching and nagging behind your back

I hope this helps you get closer to your target of quality code, delivered. If you need more - you can read my book. Or you can watch more videos for free.

Saturday
Nov052011

Effective Miscommunication

My previous post was precieved by some people as an arrogant, self congratulatory public postering of someone who wrote me some praise.

That was not the intended meaning of that post.

It was about effective ways of communication, and the irony of that email having the same ineffective communication problem.

I apologize if that seemed very arrogant to you. I am still very proud of what I do and every once in a while if I get an email that really makes me think, and feel both weird and good, I might publish it here.

 

Saturday
Nov052011

"This is not a question. Just a comment for you, Roy."

—————-

My Name:: *****

My Email is:: *******

My Company:

I’m interested in: Other

I am located in : Sweden

Message: 

Thanks for having videos publicly available. I am going to setup hands-on courses in using tools/libraries in the company I am working for. I care much about quality and process improvement. The first course I was thinking of was to be about unit testing and mocking. I have not worked with it much myself, so I have to learn it good myself first.

Browsing for recommended books I found “xUnit Test Patterns” which I bought, and on another page I saw a sub-comment by a person that said “The Art of Unit Testing” (written by me) is now available. I wrote in it all the things I was missing in the other books!”.

Seriously. I don’t get much confidence in a man saying that his book is the best. BUT thanks to a comment by another person saying that you are an authority in unit testing, I decided to check-out your webpage.

First impression. You don´t know how to tell jokes. You are rude and a know-it-all.

The first video that I began to see “unit testing best practices”, was actually so good that I bought the book before finish watching it. I watched more and more videos. I like you now!

You are a hard man. You don´t have recommendations, you have rules. But the rules makes so much sense. Only 1 Assert, Strict Naming convention, Only test 1 thing. Sensible test data, (not 42, which is just sad) You are still rude, but I understand that your humor or rudeness is also a way provoke a silent and non-interactive public to interact with you.

I liked especially the Norwegian exception. Not zooming-in on small fonts, even though you know it is small. That was rude. But they deserved it for being so silent, even though you asked them.

In my team we have a lot of automatic integration tests. I realize now that we are doing it all wrong. We don´t know what we test, and cannot say what is wrong when something fails. We also test too much in each test, use magic numbers, and have tests that are supposed to “fail”. It is embarrassing when you think about it. You have really opened my eyes for Unit Testing. I will now work even harder to introduce it in my own team and get that course up. I frankly didn’t know that there was so much to learn about unit testing. I got a real eye opener. Thanks I will highly recommend your videos to my colleagues. (and the book after reading it) 

————-

I think he inadvertently gave me a taste of what it feels like to listen to me, from his point of view.