Wednesday, September 22, 2010

NPR: Extending the Law of War to Cyberspace

I heard an interesting story this morning on NPR regarding the international law of war and the growing debate about how cyberwar fits into the existing framework.

This report was a real eye-opener for me. Nations around the world are building up a capacity to conduct cyberwar, which can have extreme consequences in the physical world. What is the threshold of damage that a cyber operation has to cause in order for it to be considered an act of war? Another problem discussed was the concept of "proportionality," meaning under the rule of law, any use of force must be reasonable to achieve the military objectives. The United States has extensive experience with this concept in the physical world, but this sort of analysis is much harder in the cyber domain. With the high levels of connectivity between military, government, and civilian networks, any cyber operation has the potential of causing more damage than the mission planners expected.

This is a two part report, which concludes tomorrow. I'll be tuning in.

Link to Part 1 of the report.

Friday, July 16, 2010

Raytheon wins "Federal Innovation Partner of the Year" at Microsoft's 2010 Worldwide Partner Conference

Yesterday, my team was pleasantly surprised to hear the news that Raytheon won the award for "Partner of the Year" in the Federal Innovation category at Microsoft's Worldwide Partner Conference - almost exclusively for the work we've done promoting software factories, DSLs, and other developer productivity techniques across our organization over the past year. Here's the link if you are interested in reading the press release.

We're really proud that all of the work we've done over the past year was so warmly welcomed by Microsoft. I thought we had something special going on and this kind of proves it.

As an added bonus, our chief engineer returned from the conference triumphantly this morning with the hardware in hand.


Nice! I haven't been this pumped since BoundsChecker won it's umpteenth JOLT productivity award.

Thursday, April 15, 2010

Visual Studio 2010 and the Platform Toolset

On Monday, Visual Studio 2010 became officially available to MSDN subscribers. If you're developing in C++, there are a number of new features available to you which are detailed  in a great article in this month's MSDN Magazine.

One of the best features I've had experience with so far is the Platform Toolset project setting.  This is designed for making a phased migration of an existing project that has been developed in Visual Studio 2008 to Visual Studio 2010.  Proper use of this feature will allow you to migrate your application as it makes sense to you, by allowing you to choose which portions of your application to build with VS 2010 and which to build with VS 2008 at the project level.  How's that for granularity?

To take advantage of this, you'll need a system with a side-by-side installation of Visual Studio 2008 and Visual Studio 2010.  You then load up your Visual Studio 2008 solution in VS2010, and allow the project conversion wizard to do it's magic.  The first thing you'll notice is that your projects have a new extension: *.vcxproj.  It's not just an extension change: the underlying structure of the project file has changed significantly. 

In order to access the Platform Toolset, you need to open the properties for the project you wish to build with Visual Studio 2008 and select the Configuration Properties | General node of the tree.  You'll notice the Platform Toolset option is set to v100 by default, which is the product version of Visual Studio 2010.  If you want to build with the Visual Studio 2008 tools, change the drop-down to v900.

platformtoolset

What is going on under the hood is that the PATH, BIN, and LIB directories for Visual Studio 2008 will be used by MSBuild for any project with the Toolset property set to v900 - just as if you were building the project directly from Visual Studio 2008.

This setting looks like it will mitigate a lot of upgrade pain. 

If you would like to know more about the Platform Toolset, here's a pointer to an article by one of the developers who created this feature.

Wednesday, February 24, 2010

Build Breaker!

One of the most noticeable features of the team room I work in is the traffic light which reports the status of our Continuous Integration builds. We really like it when the light is green. However, what happens when one of the builds is broken and the light is red? You can immediately tell there is a problem, but don't have any visual cue that anyone is working to fix it.

At past jobs, I've seen a highly-visible token of some sort used for this purpose, developers working on a critical fix would put something on their desk to indicate that someone is working on the problem.

On Monday, our scrum master presented the team with the best token I've seen to date; I'll let the picture of it speak for itself.

100_0200 (Small)

Congratulations, Phil - for being the first bearer of our stylish build-break hat!

Wednesday, January 27, 2010

Pair Programming - when your pair is 20 miles away?

I am working at home today, my furnace broke last night and I am waiting for a plumber to get the part he needs to fix it. However, our team is in the middle of a sprint and I need to get work done on a number of tasks I was planning on doing with another member of the team in a pair programming exercise.  What's a 21st century developer to do? Enable himself with collaboration tools!

This morning, we set up a online meeting, and shared one of our screens.  I was fortunate enough to have a VOIP headset, so I was comfortably able to be on a long phone call without having to take my hands off the keyboard.

Much to my surprise, this arrangement worked out better than I could have ever imagined. We have both been working away on our task without any loss of productivity - actually even having a minor productivity gain when we needed to run the same test in another development environment to compare the results of our changes versus the baseline and all I had to do was click a button to share my screen -  allowing us to work on another system without having to move.

I am amazed that technologies such as Remote Desktop Connection, VPNs, and IP telephony have matured to a point that allows me to pair program with someone in another office almost better than if I was sitting next to him. These tools certainly help out in cases like this, when someone is forced to stay at home unexpectedly.

More Adventures in Home Owning

I come home tonight and the furnace isn't working. I troubleshoot: you know, make sure the switches are on, water level in the boiler isn’t too low, etc.  Everything seems ok, but it appears that there is no power going to the electric low water cutoff. So I call the oil company and tell them what I did.

On the phone, he has me put a multimeter on the leads of the high-pressure controller, one at a time. I tell him the readings, and he tells me, "you see that curly pipe coming out of the bottom of it?  Hit it with your hand as hard as you can." Furnace turns on. He says "I'll be by in the morning to blow out the gunk." 

Why didn't I learn a trade?  If I had a time machine, I would go back and give 20 year old Ian a slap and tell him to become a plumber.

Monday, January 25, 2010

No Global Warming… Really?

I still can’t believe I’m seeing this on my desktop gadget:

image

It’s freakin’ JANUARY!!!  When did I move to North Carolina?

Tuesday, January 19, 2010

Who would have thought Massachusetts was a battleground state?

Now I know what my friends in New Hampshire go through every four years.  The campaign ads are everywhere, even seeping into work emails.  For example:

 

To: DevTeam

Subject: Voting today

So I will be late for this morning’s standup. (“Scott Brown made me late for the standup.”)

 

So, my fellow Bay Staters, whatever your political leanings are, go out and vote today! Who knows when your vote could actually make a difference again?