Shawn Linnen to fence in the Summer Nationals

by Mike Linnen 29. June 2006 16:05
Shawn Linnen to fence in the Summer Nationals

Well it is getting close to the Summer National fencing event that my son Shawn is competing in.  The event is being held at the Georgia World Congress center in Atlanta. This is a huge event. There are over 4,000 fencers competing! It is the largest group of fencers in the nation. This is the event Shawn has been training so hard for (I hear a rocky theme song somewhere). There are 40 fencers from his school that are competing as well.

Shawn will be competing in the Y12 Epee event on Saturday and the Y12 Saber event on Monday. He will be tossed in a pool of other fencers to fence multiple 5 point bouts.  The better he does in these bouts the better he will place in the single elimination tournament.  Once in the single elimination he has to win 2 out of 3, 5 point matches to advance to the next round.

Epee fencing is all about speed and precision. The idea is to stab your opponent before he stabs you. Any part of the opponent’s body is a target. You can even stab him in the shoe if he sticks his foot out to close to you. This may sound a little easy to the untrained couch potato but you have to remember that the opponent can use his weapon to ward off your attack. Often times the bouts are on the defensive side just waiting for the right opportunity to lunge for the attack. This particular event has not been Shawn’s strongest but during his last tournament in Atlanta Georgia he did very well even though it was his first time fencing Epee. So we anticipate an even better performance from Shawn this time around.

Saber fencing is also about speed but focuses on slashing your opponent instead of stabbing. The target area is not so open like Epee. You can only strike the head and upper body including the arms. The opponent’s weapon can also be used as a defense mechanism to stop attacks. Shawn has improved significantly in fencing saber. It is truly his strongest and most well liked weapon to fence with. We believe Shawn will do very well in this event.

Well wish Shawn some good luck!!!

Shawn Fencing



Added the ability to leave blog comments

by Mike Linnen 24. June 2006 13:28
Added the ability to leave blog comments
I added a feature to allow for user comments.  I used a CAPTCHA technique to keep the spam down to a minimum.  Spam was always a problem in my .Text blog.

Added Blog Statistics

by Mike Linnen 23. June 2006 18:25
Added Blog Statistics
Added some blog statistics on the home page.  Currently I am only tracking the number of blog, comment and trackback entries.  Later I might add more statistics or allow the numbers to be constrained by some start and end date so I can see numbers for a specific time frame.

Added the ability to get trackback pings

by Mike Linnen 23. June 2006 15:31
Added the ability to get trackback pings

I added in the ability for my site to receive track back pings.  The pings get logged into a database table.  I only allow one trackback per Url and Blog Unique Id.  I also added the ability to only allow trackbacks if the Url is really referencing the blog identifier it is attempting to ping.  This should hold down spam some.  I still need to do the following around trackbacks:

  • Add in the ability for this site to ping other sites. 
  • Add the ability to remove trackbacks in the admin pages
  • List trackbacks on the Blog Detail page
  • Add the ability to show a count of all trackbacks 

Completed tutorial 1 and 2

by Mike Linnen 22. June 2006 00:49
Completed tutorial 1 and 2

I just completed the MyTutorial1 and MyTutorial2 tutorials for the Microsoft Robotics Studio.  I used the Lego RSX 2.0 hardware for the tutorials.  I noticed a couple things that stumbled me for a short time.

Problem #1
When you launch the tutorials from the visual studio IDE the services never seem to communicate with the RSX.  I was able to get the service to work using the DSSHOST executable passing in the manifest file.  So I looked at the parameters that the IDE is passing to the DSHOST when you debug and it was using the contract command line option instead of the manifest option.  So I changed it to use the manifest and the service ran fine.

So change the command line debug argument -contract from:

-manifest:"C:\Microsoft Robotics Studio (June 2006)\samples\

And you should be able to launch the service from the IDE

Problem #2
On tutorial number two there is no step to add in the legorcxmotor service to the manifest, so the service never gets started correctly when you run the application from the IDE.  So add the following to the MyTutorial2.manifest.xml file:


Overall I found the two tutorials informative. I at least got my feet wet with using the framework. I might try a few more tutorials before I attempt to write a driver for the BX24.

Microsoft Robotics group?

by Mike Linnen 20. June 2006 10:25
Microsoft Robotics group?

Wow, did you know that Microsoft has a robotics group?  I just noticed that they released a Microsoft Robotics Studio.  I am downloading this technical preview now to check it out.  This to me is a huge leap for the robotics industry.  Putting the power of Microsoft development tools to build robotic applications is a win win solution.  I finally can merge my two passions of software development with Microsoft technologies and building robots!  I am very excited about this project.  Make sure you check out the Channel 9 video about the group.  Keep an eye open for your favorite robot somewhere in the background of the video.

Some projects the group is working on.

Key features of the platform

  • Concurrency and Coordination Runtime (CCR) - An asynchronous messaging library that makes managing state changes easy to the developer.
  • Robotic remote control via a web browser
  • Scripting robotic commands via jscript to create complex robot movements
  • Multiple hardware platforms.  Currently supporting Lego Mindstorms (RSX and NXT) and fischertechnik.
  • Support for 8, 16 and 32 bit processors
  • Separating state from behavior
  • DSS - A services layer
    • Support for service contract programming where multiple input or output devices can be used by simply altering what device is bound to the contract.  Example:  A contract could be established that controls the robots movement.  A keyboard device could be bound to the contract to provide the input that moves the robot.  Or a joystick device could be bound to the contract to provide the input to move the robot.  The point here is that support is in place for a pluggable architecture or re-usable components.
  • Subscribe publish model that allows for a lot of autonomous agents to react to state changes.  This promotes a decoupled environment.  You can create a published event like bumper touched and later build a component that subscribes to that event and reacts to it.  There can be multiple subscribers to the event. 
  • Model simulation - You can model your environment and run your software without any hardware.
  • Since the applications are service based you could distribute services across multiple machines. 
    • Example if I create a service that monitors my door bell and expose the service to the public you could subscribe to my service and perform some action when my door bell is rung.

Well I could go on and on about this new platform but I want to get started on using it.  I will first go through the tutorials to gain an understanding of how it works.  Luckly I have a Lego Mindstorms RSX kit.  After the tutorials are complete I will try extending the services to support a BX24 bassed hardware device.

Using Virtual PC

by Mike Linnen 14. June 2006 14:48
Using Virtual PC

I have been using Virtual PC for various reasons around software development.  I find it very useful to maintain old development environments.  One of the big gotchas that I have run across is copying virtuals and attempting to use them on the network at the same time.  A copied virtual assumes the same machine identity so it ends up colliding with the original virtual on the network.  I know you can prepare a virtual image to prompt you for a new machine name when it first comes up but I have never looked into how it is done.  I found this article on using Virtual PC in a development environment.  It has a number of tips and tricks I have been using for a while but more importantly it has the instructions on how to make a virtual unique on the network.



Another Wiki

by Mike Linnen 14. June 2006 11:03
Another Wiki
Even MSDN is using a wiki to share information.  I like the fact that you can use the tree control to quickly navigate the content.



Added RSS Feed to the site

by Mike Linnen 8. June 2006 02:39
Added RSS Feed to the site

I went ahead and added a single RSS feed to my site.  I ended up using the RSS Toolkit that can be found on Dmitryr's blog.  It was very easy to get the tool kit to publish RSS.  I need to bounce the RSS XML format against the 2.0 specifications to be sure I am emitting decent RSS. 

I had one problem with the control that comes with the tool kit.  I attempted to create multiple channels based on the Blog Catagories that I have defined in case someone would want to subscribe to only a specific catagory.  However when I placed this control in a repeater whenever a post back occurs I get an error stating this "is not a valid virtual path".  I suspect it has something to do with the control when it is trying to append the ChannelName to the query string.  For now I just removed the subcatagory RSS feeds.

Moving off of .Text blogging software

by Mike Linnen 7. June 2006 03:33
Moving off of .Text blogging software

Well I decided to move my blog off of .Text and onto a custom blog application that I am writting from scratch.  I didn't really have any problems with .Text but I wanted to create some new features and I did not have the source.  So as it stands right now I have limited blogging features in my custom solution.  I was able to migrate my data out of .Text and into the new schema without much issue.  I have some old links to the old blog that will have to be changed.

I will be slowly adding the following features:

  • RSS Feeds - Done 6/4/2006
  • Ability to add comments
  • Blog search
  • Support for blogging API so that I can add blog entries from a smart client application
  • Submit blog entry by email
  • Ability to create blog entries but delay the publishing of the entries - Done 6/10/2006

About the author

Mike Linnen

Software Engineer specializing in Microsoft Technologies

Month List