January 2010 - Posts

One Long Strange Trip: Visual Studio Magazine and Me

The January Visual Studio Magazine marks the first time the C# Corner is written by Patrick Steele. I’ve bowed out after a long run with the magazine and its predecessors.

The most important part is that the C# column is in great hands. Patrick is excellent at explaining concepts, and he’s going to bring a wealth of new ideas and concepts to the magazine. I feel much better walking away from the column knowing it is in such good hands.

It was hard to walk away after so much time with VSM and its predecessors. But it was time. I’ve written on so many C# topics that I was having trouble coming up with ideas that felt new. I felt like I was covering the same ground over and over.

That got me thinking about how long it had been, and what a long, strange trip it has been.

I started as the original C++ Fundamentals columnist for Visual C++ Developers Journal in the 1990s. That was a new magazine published by TPD, for the MFC / C++ Developer. It were covering techniques to bridge the divide between 16 bit and 32 bit applications. There was this amazing new OS code-named ‘Chicago’ on the horizon.

A few  years went by. I kept covering more topics related to C++ and windows development. More MFC, ATL, language enhancements and how the Microsoft C++ compiler tracked (or didn’t track) the C++ standard.

At some point in this period, Visual C++ Developers Journal was bought by Fawcette. TPD stopped being involved.

The turn of the century brought more changes.  This amazing new .NET platform and the C# language showed up. I started writing about C#and .NET fundamentals, instead of C++. Although the change was gradual: In the beginning, I was writing 2 C++ columns for every 1 C# column. Over time that kept changing.

Next, came some initiatives to capture more of the web audience. Several of the columnists starting writing a column online (at the rate of one a week). These weren’t all tech columns. Some were more opinion, or ‘tip’ columns. That felt like quite a grind. I was constantly under deadline pressure to come up with a new idea every week. It soon got harder: The readers liked the ‘how to’ columns most. I was asked to replaces the ‘tips’ and ‘opinion’ entries with more regular columns.

I took a break and wrote a book (Effective C#, the first edition).

I wrote for a while, and then there were more changes.  Visual C++ Developers Journal merged with Visual Basic Programmers Journal to become Visual Studio Magazine. This was a challenging time to write for this magazine. The audiences for VCDJ and VBPJ were very different. And, most importantly, they were both afraid of losing content to the ‘other’ audience. C# aficionados were concerned that they’d lose coverage to the larger VB market. VB developers felt the same fear of losing coverage to the newer, and perceived to be cooler C#. That was a tough era. The editorial staff did a tremendous job to navigate a very tough set of market perceptions.

I stayed on break and wrote a second book (More Effective C#).

Then, I was approached to come back and write the C# Corner column for Visual Studio Magazine. Having finished the book, it was time to keep writing again. It was fun for a while. I was and still am impressed by the energy that 1105 media is bringing to the publication.  I had a blast over the past two years writing for a reenergized Visual Studio Magazine.

Then, while still trying to write the column, I updated Effective C#, covering C# 4.0, and other recent enhancements to the language.

I was running out of ideas for the column. Visual Studio Magazine deserves better content. That’s why I worked with Michael Desmond and the editorial team at VSM to turn over the column to Patrick. I’m glad it’s in good hands.

So what’s next?

I’m now writing content for the C# Developer Center. The cadence will be roughly once a month, and I’ll be writing on current and upcoming language features in the C# language.

My CodeMash 2010 experience

I have enjoyed reading other posts about how much people enjoyed CodeMash. It is my favorite yearly conference. The people are brilliant, and energized about technology. It’s also one of very few events that embrace people with very different views.

I use CodeMash to learn about technologies I don’t get much time to use during my regular work.  This year, that was Ruby, and Silverlight.

First ruby.  I took a crazy route.  I went to the pre-compiler with Joe O’Brien and Jin Weinrich on the Ruby Koans. But I did it with a twist:  Instead of the reference Ruby implementation, I used IronRuby. After some initial hiccups that worked quite well.  The test harness used by the Ruby Koans makes use of an END block in the test code. An END block (in Ruby) is code that is executed as the interpreter exits. It’s rather common as a test harness: load all the tests, and have the END block reflect on all tests, and execute them. It took me a while to get over that hump, but once I did, I learned quite a bit about ruby during the rest of the morning.

During the main conference, I went to some other .NET and Ruby talks (see My CodeMash Schedule). I’m impressed with the integration story for dynamic languages and the rest of the .NET stack. I am not a Ruby expert by any means, but I’ve whetted my appetite for more Ruby learning. And now, I feel like I can be somewhat productive in the language.

I went to both of Jesse Liberty’s Silverlight talks. Going into a .NET topic may not seem like stretching my horizons, but I don’t have a lot of background in Silverlight (Mike Woelmer knows quite a bit more than I do).

Jesse gave two talks: One was very basic, and the other a bit more advanced. Jesse is a great speaker, he’s very engaging, and provides a great amount of information in a small amount of time. He provided a great foundation for someone starting in Silverlight, with or without a .NET development background. I’m much more equipped to dive into the richness that is Silverlight. Jesse helped me get over that initial hurdle of working in a new environment.

It’s the rest of CodeMash that makes the conference special: The time outside of sessions was filled with great conversations about all kinds of technologies. That’s what makes CodeMash special. Hey, it was such a mixing of different views that the Java Posse even invited Chris Smith and I to be on their CodeMash panel. It was CodeMash, so no one came to blows.

Of course, after the tech talk was over, I spent the weekend at the Kalahari with the family in the water park.

Slides and Demos from my 2010 CodeMash talk

As promised, here are the slides and demos from my CodeMash Talk:  Going Dynamic in C#.

Slides.

Demos.

Please note that the demos are compatible with VS2010 Beta 2. They will not load (or run) on VS2008. I believe they will be compatible with future VS2010 builds, but predicting the future is very hard.

Thanks to the CodeMash committee for letting me speak again. It’s a great experience, and I’m proud to be a small part of the conference.

My CodeMash 2010 Schedule

A new year means it’s time for CodeMash.  Tomorrow I begin the annual geek pilgrimage into the water park for tech knowledge.  I’m amazed at how much the conference has grown, and the strength of the session list. It was difficult to decide where to spend time, but here’s my current plan:

We’ve got great keynoters this year, and I’ll be attending all of those. I am attending the precompiler again this year. Here’s the current plan:

  • Wed AM:  The Ruby Koans (Joe O’Brien and Jim Weirich
  • Wed PM:  Open. I’m not sure what

Thursday:

  • 9:45:  Silverlight from Zero (Jesse Liberty)
  • 11:00: User Stories: Closing the Agile Loop (Barry Hawkins)
  • 1:45:  Ruby and Rails for the .NET Developer (Matt Yoho)
  • 3:35: Funky Java, Objective Scala (Dick Wall)
  • 4:45: Engineering vs. Design – How to Work Together (Joe Nuxoll)
  • Friday:

    • 9:30: Going Dynamic in C# (Bill Wagner). Of course, I have to be there.  But, I hate pimping my own talk, so if I weren’t speaking at this slot, I’d pick:
    • 9:30 (alternate) Being an Evil Genius with F# and .NET (Chris Smith)
    • 10:45: Restful Interfaces to 3rd Party Websites with Iron Python (Kevin Dahlhausen) (I’m picking this because I’ve seen Jim Holmes’ Leadership talk, and I need to learn Python better)
    • 1:45: Iron Python with ASP.NET (Chris Sutton)
    • 3:35: What’s new in Silverlight (Jesse Liberty)

     

    Some of this will likely change, but I think you can see the goals:  I want to learn more about dynamic languages in general. I also want to take the opportunity to learn as much Silverlight as I can. Jesse Liberty is a great teacher, and I can’t pass on this opportunity.

    Of course, like every CodeMash, I’ll probably make a number of changes to this one as well.

    Search

    Go

    Blog Group Links

    Nascar style badges