Enter your email address:

Delivered by FeedBurner

Robots are cool.


Let's face it, we have all dreamed of programming robots to do cool things, like fetch batteries for our wireless mice, pick up that stray d20 that fell under the table, or just to chase cats around the scale model Lego Death Star.

There have been several games over the years that I have played (on almost every platform) that had a variation on this theme. One, on the Apple IIe, had you wiring together logic circuits and sensors to make the robot solve a challenge in a room (navigate force fields for example).

Microsoft is starting a new competition that taps into this endless pool of hope we all have (still waiting for the flying cars!). RoboChamps.com.

There will be a series of challenges over the next few months, with contestant rules and everything. You compete by using the MS Robotics Developer Studio, and a challenge kit. You program the robot to complete the goals in the challenge. The robot you program is a simulation of a real robot, as well as the environment. The first challenge is "Amazed Challenge". You have to navigate a maze, that has traps. You have to teach your robot to open doors, etc.

Future challenges include navigating the surface of Mars in a Mars-rover like robot. That's cool. I hear it gets great gas mileage.

To get started, you have to:

0. Watch the Sports Center meets 'Number 5 is alive' video on RoboChamps.com.

1. Create an account. I used 'Wirehed', my Xbox Live handle.

2. Download VS2008 (express works fine, and it's free).

3. Download the MS Robotics Developer Studio 2008 CTP1.

4. Download the Challenge pack.

5. Do your voodoo, and write some code. Solve some challenges. Have some fun.

6. There are blogs, and forums.

7. Upload your code to enter the competition.

Each challenge will have its own prizes. The maze challenge has CoroWare CoroBot ( $3219.00 ) as the first prize. It looks big enough to chase household pets.

Go check out the site. You can download sample code. I think this is a great way to learn .NET as well. I am trying to pull together funds for next year to hold challenges at local events.

WCF Channel for Intra Process Communication


WCF is awesome technology. I think it is the second most important technology an enterprise .NET developer should learn today. The first being LINQ (which is far easier to learn).

With great power and flexibility comes some cost. WCF has to build the channel, proxies, etc etc. (You thought I was going with the Spiderman quote, didn't you?)

This cost is worthy if you are talking across physical boundaries. But a lot of teams are using WCF now just to talk to services that happen to be hosted on the same machine. There is an interprocess binding called netNamedPipeBinding that will use Named Pipes to communicate through memory instead of the wire, with a service hosted on the same machine.

That's great. But what if you want to communicate with a service hosted in the same app domain without having to jump out and back in? The Null channel adapter covers this scenario.

This is very useful if you have different WF workflows running on the same box that need to communicate with each other.

I had heard about this at the Summit, and I am glad Roman Kiss put so much effort into this. His article (link above) on codeproject goes in depth into how this works, and when you would use it.

This just shows the power and extensibility of the WCF APIs.

Announcing Windows Live Mesh Technical Preview

Labels: ,

Jeff Blankenburg and I have been dog-fooding a new platform called Windows Live Mesh for the past month or two. On the surface, it just looks like another cool Web 2.0 application with some Software + Services architecture for fun.

But Live Mesh is leveraging two big trends we have all seen in our lives. The explosion of the web's role in our lives, and the vast array of digital devices we have. Many of these new devices can access the Internet (cell phones and cameras), or are network aware. Can you imagine what the Apollo program might have looked liked with today's technology?

I was talking to a friend that has a new phone, and he is trying to get all of his contacts (how many places do you store contacts?) synchronized everywhere, and easily accessible wherever he is. How many computers do you work on throughout the day, and forget something on the other?

See some sample screen shots, and read the official announcement at Introducing Live Mesh.

Our lives are filled with disconnected digital islands.

What about when you add an new device in your life? I just got a new Alienware laptop (post coming). How much time do I spend integrating it into my existing, analog, old fashioned mesh? 

That is just the beginning. Imagine what it will be like once my XBox 360, Media Center, MP3 player, car stereo/bluetooth, printer, digital picture frame (which I don't use because I have to manually update the pictures), my cameras (still and video), actually work together to make my life easier.

Once you create your mesh, and join your computers to it, you can do some great things. A simple feature is to sync folders over your mesh, so that they are accessible anywhere, ever on your web desktop! Hey, and since our devices are meshed, what about remote desktop? Sure! Remote Desktop is supported (and I believe it does not use RDP, so it gets through firewalls). I have already used these features a lot as I try to get my new laptop setup, and as I travel around the area.

What is a Technical Preview?

A Technical Preview is a limited release of a limited set of functionality. It's kind of like a "proof of concept", but more concrete. We want to get some web and desktop developers hands on the bits so the can provide us some feedback (some people call this transparency). We will also be testing for scalability, and other issues. There is no support, nor any expectation of uptime, or that the APIs won't change.

There is currently a very limited API. The full blown APIs will be released over the next few months (both .NET and JavaScript), as the platform is expanded and filled in. Not only will they be rich, but extensible. Being extensible is very important. It allows me, as a developer, to add my own sense to the platform. The APIs are identical for local and cloud use, which makes leveraging them much simpler.

The Technical Preview is by invitation only. If you are invited, please participate, and provide thoughtful feedback. I have given a lot of feedback over the past few months to the product team, and they have been very open about discussing the options, and the reasons for choices. It's nice to work with such an open team.

Timeline for a production release has not been set, but an open beta is targeted for the fall.

What can I do with this today?

When you join Mesh, you get an online desktop. This desktop in the cloud has 5GB of available storage.

While currently limited to web and local desktops, mobile and cross platform support (i.e. Mac) is on the schedule. I can't wait to access contacts and data from any of my devices, regardless of where the data IS!

That's cool, where's the revolution?

If you dig down, and look at the architecture, the vision, and the plan, you can see that Mesh is a platform. An S+S platform that every developer will be able to start leveraging. It is a platform that other Microsoft products, over time, will start using.

This platform represents the relations and connections between ourselves and our devices. It doesn't just stop there. I can use it to model my connections with peers, friends, and family. I can join their Mesh's to mine, in ways that are meaningful and useful to us.

This platform is not built on some new proprietary protocol we developed. It was built with HTTP and ATOM. You can use JSON, FeedSync, RSS, REST, POX, etc. over the wire. These are protocols and technologies we know really well today, and are very comfortable with. AtopPub is used to expose GET, PUT, POST and DELETE operations on Live Mesh resources. All of the resources are contained in feeds, which are addressable with standard URLs.

Earlier I used the term Revolutionary about this in a tweet. Maybe that is too strong for some people. But clear the noise from all of the activity going on in the technical space right now (the distractions, turf wars, and malcontents), and remember that power is in the platform. Can some of what WLM does today be done with other tools or frameworks? Yes, some. But we have put it all together, using open protocols, and added in a rich API.

Don't be a Plumber

I say that all the time. Think of how much code in something like Skype is truly about Skype. The bulk of the code is not about Skype, its about network management, encoding, security, peer-to-peer, etc. If those things were in the platform, Skype could have been built in a fraction of the time. Not just Skype though. Pick any new application or idea. Live Mesh is about giving you this platform. But not just to you, the smart, engaged, experienced enterprise developer, but to a whole host of developers and software tinkerers around the world. Live Mesh solves the hard plumbing problems for you, so that you can focus on building the application you dream of in your head.

The services the platform provides, today, are:

  1. Online and offline storage
  2. Membership
  3. Sync
  4. Peer-to-Peer communication
  5. Newsfeed

I can already imagine some amazing products I could write, just by mixing in the WLM platform into my architecture.

If you aren't up on the Software + Services architecture model, you should take some time and do so. We have an S+S event coming up soon, and once we have more details, I will post them here.

So when you download and play with Windows Live Mesh, enjoy the application, but see through this facade, to the platform. Where can you go on that platform?

Larry on Architecture by Baseball


Larry Clarkin is a colleague of mine. Apparently he likes baseball. I haven't paid much attention to baseball since I ended my career in fourth grade to focus on computers.

He posted an article "Architecture by Baseball: 5 tool architect" on the five core skills an architect must have, using baseball as a metaphor. You should check it out. I don't know a thing about baseball, and it made sense to me. Except for the field goal. He didn't mention what those mean in his metaphor.

Soft Skillz in Toledo

Labels: ,

The tour continues. I will be at the Northwest Ohio .NET Users Group presenting my 'Soft Skillz : They aren't just for Humans anymore' talk.

I haven't been up there in about year (maybe longer?) so it will be good to get up into Jason's and Greg's area. I will be bringing a copy of VS2008 Pro to give away.

If you miss me in Toledo, I will be at the West Michigan Day of .NET as well this May 10th.

Central Ohio Day of .NET

Labels: ,

I gave my Soft Skillz talk at the Central Ohio Day of .NET this past Saturday.

The event went really well. The organizers (led by Jim Holmes, Mike Wood, and Carey Payette) did a great job putting a team together, and running the event.

The new space worked out well, and there were a lot of great speakers. It's amazing how far our community has come in five years.

My session was pretty full, and VERY interactive. That is why I went over! If people had not interacted, I would have been on time. ;) Yeah, that's the story!

I would always rather have an interactive group and go over, than a quiet group and finish early.



Alexei Govorine and Jeff Hunsaker have started a new user group called Central Ohio ALM Group. Their web site is www.COALMG.org. They plan on meeting every other month, opposite of the the MOCSDUG.org user group.

They are going to focus on Application Lifecycle Management, and related tools.

Join them for their inaugural meeting Thursday May 1st at the Polaris Microsoft office. An agenda will be announced soon.

COALMG meets on the odd 1st Thursdays of the month (Jan, Mar, May, Jul, Sep, Nov) at 6pm - 8pm on the 4th floor of the Microsoft Offices off Polaris Parkway in Columbus, Ohio.

Address: Polaris Center 8800 Lyra Dr., Suite 400 Columbus, OH 43240 Phone: (614) 719-5900 Fax: (614) 719-5319

West Michigan Day of .NET

Labels: , ,

Spring is here, and there are DODN's popping up all over!

The team in West Michigan has been busting their humps all winter to get this great event off of the ground.

The event is FREE, and is on May 10th, 2008. Check out their web site, West Michigan Day of .NET 2008, for all of the details.

I will be presenting my 'Soft Skillz - They aren't just for humans anymore' talk. I will be also showing off some great news that will be released April 21st.

Application Lifecycle Management Executive Briefing in Columbus


Date:   4/30/2008
Where: Microsoft Corporation
           8800 Lyra Dr.
           Polaris Center, Suite 400
           Columbus, OH 43240
Welcome Time: 8:30 AM Eastern Time
Event Time: 9:00 AM - 12:00 PM
Registration Link: http://www.clicktoattend.com/?id=127766
or go to www.clicktoattend.com and enter Event Code: 127766

Recommended Audiences: Business Decision Maker, Technical Decision Makers

Business and technology executives and IT managers are being asked to do more with less. Maintenance of legacy systems and current technology support consumes vast amounts of a typical enterprise IT budget, leaving few resources to develop new standards-based, adaptive applications that meet the core needs of the business.
So how can you measure the real value of IT, and how can you ensure that it helps you effectively run your business? Your core business and your IT departments must unite, and your software initiatives must deliver measurable business benefits. To help achieve this, a common lifecycle management solution is needed to help you track, balance, and communicate the systems that are being created to effectively run your business.

Come join other IT industry leaders to learn how Application Lifecycle Management (ALM) provides a solution by addressing the overall alignment and synchronization of business goals and IT investment priorities.
Hear Proven Approaches to Implementing ALM
During this interactive session, you will learn how ALM brings:
-  Stronger collaboration between business and IT, resulting in better alignment of IT and business goals.
-  Increased accountability, enabling stricter compliance with governance initiatives.
-  Improved project management, including better estimation, tracking, and reporting through a single, unified view of the project.
-  Quality improvements, so the final application meets the requirements of your customers and quality of service requirements.
-  Utilization of Key Performance Indicators (KPIs) to improve development contribution to the business.

Heroes Happen Here Launch in Cincinnati, OH


Max Technical Training, and three of the local user groups are banding together to put on their own HHH launch event for VS2008, SQL 2008, and Windows Server 2008. If you missed the other cities, here is a great chance to get in on the action.

Max is a great community supporter in southern Ohio, check them out!

  • Apr 15 - CINNUG ~ Visual Studio 2008 Register Here (only 4 seats left)
    • Venue - MAX in Mason
    • Speakers
      • Kirk Wilson (MAX) – New features of VS 2008
      • Stefan Kyntchev – What is LINQ?
      • Dan Hounshell – ASP.NET 3.5 New Features
    • Hands-on
      • 2 classroom set up for a hands-on experience
    • Q & A Stations

  • May 7 - CiNPA ~ Windows Server 2008 Register Here
    • Venue - Cinci State in Evendale
    • Speakers
      • CiNPA member - What’s New In Windows Server 2008
      • Tim O’Connor (MAX) – still finalizing presentations
    • Q & A Stations

  • May 27 - CincySQL ~ SQL Server & VS 2008 Register Here
    • Venue - MAX in Mason
    • Speakers – still finalizing
      • Kirk Wilson (MAX) – VS 2008
      • CincySQL Speaker – SQL 2008
      • Phil Japiski – VS/SQL 2008
    • Hands-on?  – still finalizing
      • 2 classroom set up for hands-on
    • Q & A Stations

New SOAP implementation


Microsoft has done it again. Having shipped an updated version of WCF, we have now released a new version of SOAP. I like this version a lot better, it is lighter weight, and is much faster. Also comes with a great Silverlight video interface. Stay to the end to see how to make your own SOAP.



Check out http://preview.microsoft.com/video to see more!

West Michigan Day of .NET

Labels: ,

I will be attending the WMDODN on May 10th. The event will be held at the Davenport University, W.A. Lettinga Campus in Grand Rapids, MI. Microsoft will be a sponsor this year.

While they haven't announced the sessions yet, the agenda shows that they will have four tracks of content!

The date for their speaker submissions was March 24th, but the site hasn't bee updated. They may still be accepting speakers. I submitted some talks, hopefully they have room left.

Go register now! What could be better than hanging out with other geeks, free food, and 'conversatin' about .NET?

Anyone coming from the Columbus area (or along the route) is welcome to ride along with me. I may or may not be spending the night before.

If you are a company in the area, this is a great event to sponsor. This crowd represents the passionate .NET developers in the area. Who else would take a Saturday to hang out with other geeks?

Career ADD?


Continuing my thoughts on my last post, Manage a Job Change, I want to talk about a special set of people that have 'Career ADD'.

These are people that quickly tire of a job, and not for the reasons I outlined in the last post. They simply find no challenge left in the current project or position. These people thrive on that challenge. Once the challenge is gone, they get bored and go find a new mountain to climb. This can quickly lead to breaking the 'stay at least two years' rule.

What can such a horribly afflicted individual do to avoid being branded a job hopper? I see a few options:

0. Get a job at large company that values and expects their people to excel and seek new roles with new challenges. Microsoft does this VERY well. Be careful you don't get stuck in a large company that prefers to drain the soul out of you.

1. Become a serial entrepreneur. Get an idea. Start a company. Launch it. Sell out. Start over.

3. Do so well at your current company that they grow, and create a growth path for you. Become a leader in your company, and leverage this growth.

2. If you lean more to pure tech, and don't want to run a business, you can always be a consultant (with a firm, or as a freelancer). You will always be moving on to new projects, are minimally engaged in local politics. And you get to recycle your work environment on a regular basis.

I know plenty of challenge junkies that are consultants for this exact reason. I was one of them. I loved finding new challenges, and solving them. I loved having a new vertical (-50 Gump points!) to learn, and new people to get to know. I thrived on every project REQUIRING some new tool or technology.

This lets you stay at the same employer (the consulting firm) while constantly climbing new mountains.

Managing a Job Change


There has been a lot of conversation around careers and jobs lately (perhaps due to the recent Soft Skillz presentations, and because a friend is changing jobs right now).

You should manage your job change in a proactive and healthy way. Always negotiate a start date that works for you, and supports a fair and clean exit from your current employer.

ALWAYS give at least two weeks notice. But, take into account any project milestones or events that are close to your exit date, and adjust for those. It is up to your current employer to decide if they don't need you for those two weeks. I have experience where some will ask politely for you to leave that day, others choose to work out a transition plan for those two weeks.

When you do resign, bring a transition plan with you. The plan should cover what tasks, responsibilities and projects you are working on, who those should transition to (in your opinion), and how you plan on doing the transition. The higher level or more important your role is in the company, the more thorough your plan should be.

If you leave your soon-to-be ex-employer in the lurch, that will come back and bite you at some point. NEVER burn a bridge, unless you are playing Command & Conquer. Doing so will hurt your credibility and haunt you forever. Even if you hated the job, and it was super painful. Always leave gracefully.

On the flipside, you may get pressure from your new shiny employer to start sooner than you should or are comfortable with. This is a huge red flag. The good ones might ask, but will drop it when you explain your transition plan. The bad ones will threaten, cajole, throw a tantrum, etc.

If you have to, remind that them that they would not want to be left in the same lurch if someone was leaving their employ. Remind them (thanks Mel!) that they wanted to hire a professional, right? This is a sign that they are hiring a body, and not YOU.

If the transition isn't going to work out, it is better to back out of the new job before you start, than it is to either quite a week after you start, or be miserable in your new job for a year or two.

So that brings us to Job Hopping.

Don't do it. You need to actively manage your career. That means you need to have a plan, and think a few steps ahead. NEVER take a job because it is more money. I know that it is hard to say no to a lot of money. If it is really early in your career, then you might be able to jump for money once or twice.

If your new employer figures out you will jump to them for money, they know that you will leave them for money as well. This hurts your credibility and loyalty in their eyes. I have had staff, in the past, that I would not put in leadership positions, or promote, because of how focused on money they were coming in. I gave those people time to prove themselves before I committed more resources than I was willing to lose in a transition.

Try to stay at each job a minimum of two years, and have at least a five year term in there once in a while. It shows you know how to pick a good job, and how to have an impact with a company, beyond that initial project. A short term job will look like you are damaged goods. For example:

1. You can't finish what you start,

2. You don't know how to work in a professional/corporate environment.

3. You like to chase money/rank.

4. You haven't learned to work with people and on a team.

5. You don't read Brian's blog.

You should have a good reason and story for making every job change (regardless of how long you were there), especially the short jobs. This story should not be "I hated my boss." It should show that you had foresight and were progressively managing your career for growth.

The problem with a short job on your resume is that you might not get a chance to explain your decision. With a stack of reasonably qualified people, an employer would likely skip over people with jumpy job records. The employer will not want to invest the money it takes to recruit, on-board, train, and promote someone who is just going to leave in a six months or a year.

You need to look at where you are, where you want to be, and work out a timeframe. Perhaps the right time is 30 days after that project launches. If that is the case, start dropping feelers out 90 days ahead of that milestone. Always be up front in conversations and interviews when you could be available (in a fuzzy manner). Work out a specific start date once an offer is on the table.