DeveloperSmackdown.com Musing #14#

Is Your Robot Looking At My Hinie?

Mark and Clark talk about doing home automation using Z-Wave and MS Robotics Studio. Clark wants to turn his house into a robot and they talk about how to get started with home automation. Tips and tricks include quickly changing editor font size in Visual Studio 08 - great support for code demos. Woopra web site analytics are also discussed.

Listen here –> Play Now


Show Notes

Episode 14 - Home Automation

Clark has been researching home automation and wireless control.  The 3 technologies we talk about are:

  1. X-10
  2. Instinion
  3. Z-Wave
    1. Most Expensive
    2. Newest of the 3
    3. Uses a control stick to transmit to the peer to peer Z-Wave network
    4. Managed Z-wave .NET SDK available through ControlThink

Mark has had some experience with Microsoft Robotics Studio so we talked about the possibility of using it to turn your house into a robot (home automation).

There are two main components that everything else is built upon. The CCR (Concurrency and Control Runtime) and the DSS (Decentralized Software Services). The CCR provides the base multi-threaded messaging system and the DSS manages the creation and communication of the services.

Example Robots/Controllers that I've played around with that can use the Robotics Studio:

Z-Wave Resources
Random Thoughts

Hopefully, there's a new and improved web site in the near future. One possibility is Oxite which runs VisitMIX and MicrosoftPDC.com web sites.

Tips and Tricks

Use simple key combinations to increase or decrease the font size in the Visual Studio 2008 editor.

This is useful when giving demonstrations where you need to get down and dirty in the code. When you display your code, and need to quickly increase the font size for easier viewing then do these steps to set things up ahead of time:

In the menu, go to "Tools/Options.", then "Environment/Keyboard". In the "Show Commands Containing" textbox type in "FontSize" and you should see three entries in a selection box.

"DecreaseTextEditorFontSize" and "IncreaseTextEditorFontSize" are pretty obvious what they will do whereas "UpdateTextEditorFontSizeToMatchDisplayProperties" is a little obscure but it will reset the font size to its normal setting.

Click in the "Press shortcut keys:" textbox - you can then enter key combinations and assign them to the selected commands. For example, select/click on "IncreaseTextEditorFontSize", then click in the "Press shortcut keys:" textbox and type the Ctrl+Shift+UpArrow keys. Then when you click the "Assign" button it will save that combo. Do the same with "Decrease" and Ctrl+Shift+DownArrow. And then do the same with "Update.ToMatch" and Ctrl+Shift+RightArrow - or any combination you decide makes sense.

You will then be able to talk and quickly and easily increase/decrease the font size.

Woopra - Website Analytics being used for CSell.net, MarkNic.net and DeveloperSmackdown.com. Woopra offers a level of free tracking and analysis for web sites and web services.

Hey, let us know what you're thinking.  Ideas, experiences, examples, questions, whatever!  ping us at: webmaster@developersmackdown.com

Thursday, March 04, 2010 1:03:07 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Developer Smackdown is getting stickers#

After almost 8 months of working on DeveloperSmackdown.com, we are getting stickers made. Why?  Why not! We really enjoy working on The Smackdown.  Overall progress is slow, but progress is progress. About the stickers…. Mark and I are *not* artists by any stretch but we sure try.  Expression Design to the rescue.  Here is what we’ve come up with:

 

dsSticker - black

We would love to know what you think. Next time we cross path, I might just have one for you. 

As always *thank you* for listening to the show.

Wednesday, February 24, 2010 10:26:04 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

TWC9: Windows Phone 7 Series, Hanselcart, MS Deploy#

I got to make my debut on This Week On Channel 9.  It was a great deal of fun!! A big thank you to both Brian and Dan for having me on the show.

Check it out here!

Show Notes:

This week on Channel 9, Brian, Clark Sell, and a surprise guest discuss the week's top developer news, including:

Wednesday, February 24, 2010 10:03:33 PM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

The Smackdown, Version 13, Windows Home Server#

Clark and Mark explore how Windows Home Server joined their arsenal of computer hardware and software.  Listen to why and how they both leverage Windows Home Server.

Show Notes

Home Server Hardware

Important Links

Tips and Tricks

Listen to the show.

Sunday, February 07, 2010 3:12:04 PM (Central Standard Time, UTC-06:00) #    Comments [2]  | 

 

Enter the Codeproject.com Windows @ Work Contest & Win a HP Touchsmart Notebook#

Submit a great article explaining how you built an app for Windows 7 – complete with code - and if yours you could win a fully loaded HP Touchsmart tx2z Notebook!

Link: http://go.microsoft.com/?linkid=9702411

Tuesday, January 05, 2010 9:48:04 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Announcement, PowerShell Script Club#

The first greater Milwaukee PowerShell script club is being created. 

The first meeting will be on Tuesday, January 19th at 6:00 PM at the Greenfield Law Enforcement Center (in the Municipal Court Room), 5300 W Layton Ave, Greenfield, WI Register here.

Official Announcement - http://blog.usepowershell.com/2009/12/script-club-coming-to-the-greater-milwaukee-area/
Registration Link - http://mkescriptclub.eventbrite.com/

PowerShell is awesome.  Go register!!!

Tuesday, December 08, 2009 11:33:59 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

WI Azure User Group Follow Up#

On Thursday ( 12/3 ) I have the opportunity to speak at the Wisconsin Azure User Group.  I want to first say *thank you* for the invite, Wade and I had a blast talking with everyone.

We managed to cover a great deal of information.  I am going to try and just hit the high points, attach some demo’s, etc.

PDC Roundup

Wade covered Azure and specifically:

  • Windows Azure
  • AppFabric
  • Dallas
  • SQL Azure

Rather than going into each of the different topics just check out Wade’s blog post for everything he covered. 

During my part of the talk ( i.e. what Wade decided to leave me ), I covered the Silverlight 4 announcements along with a number of random .NET announcements.  You can see all of that in the presentation below:

 

DEMO’s DEMO’s DEMO’s

I couldn’t do I also did a few demos, specifically:

  1. A printing technique in .NET and WPF.
  2. Basic MEF, or Hello World with MEF
  3. ASP.NET MVC in concert with MEF.  Here we used MEF to dynamically load a portion of the MVC site.

You can download the source for those demos here:

Printing Demo: Source
MEF Demo: Source
MEF and MVC Demo: Source

But wait that’s not all….

Zune HD. Seriously, if you have not seen this device you just have to. Hit up Zune.net.

Bing Maps.  This past week we released the beta of the Silverlight, DeepZoom, and Photosynth.  Make sure you visit our new maps @ http://www.bing.com/maps/explore/#

If you were a bit early to the UG meeting you might have noticed the following video playing on the screen.  As a very handy guy who has always built his machine you just have to love this video.

 

As always please feel free to reach out.

.Net | MEF | MVC | Silverlight | User Group
Tuesday, December 08, 2009 10:12:08 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Computers don’t lie, we just don’t always listen#
frustratedNerd

This past week I did one of those TFS restores to swap out hardware.  Things went great except for SSRS.  Who knows what went wrong but looking back, the journey to resolution was interesting.  All to often we see the error and start to hunt and peck.  Sometimes we end up down dead end roads other times we are just lucky.  Reflecting back, hind sight is always 20/20.  In this case the solution was somewhat obvious from the start.

Let the journey begin..

Stand alone TFS installations usually have 2 main IIS Web Sites.  #1. Default, which will include SharePoint and Reporting Services.  #2. Which is TFS.  During the restore process I had a problem where TfsAdminUtil.exe RestoreDT was actually having problems talking with SSRS.  I kept getting the following:

…..

Exception Message: Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'.

…..

The file you are attempting to save or retrieve has been blocked from this Web site by the server administrators.  

….

Well after a while I just gave up and reconfigured TFS by hand.  I knew that decision was going to bite me in the rear later on but at 2am with time running out, it was time to get-er-done. So once the rest of the restore was done I kicked off a new project creation and guess what, SAME &^%$^# ERROR…  After some sleep it was time to hit it again.  Looking back at the error what struck me as odd was the error seems to imply that SharePoint was getting the web request rather than SSRS.  Sure enough after some digging around a bit more in IIS, IIS Logs, TFS it turned out my SSRS installation was actually instanced so instead of the normal http://server/Reports, it was http://server/Reports_TFS.  Well that fix was easy, tfsadminutil.exe configureConnections did that.  Re-ran “Create New Project” and it failed again but this time a bit farther down the stack.

This time the project creation wizard was saying it was looking for http://server/reports still but everything was configured to be …/reports_tfs. I have no clue where that was coming from but my solution was to just reconfigure SSRS IIS apps to drop the notion of the instance.  Re-Ran the Creation Wizard and now SSRS was hooped. The SSRS manager couldn’t find the SSRS services.  Well that must have meant somewhere in SSRS land it was in fact still pointed to …/Reports_TFS.  Sure enough in the config file for SSRS the URL was there.  Fixed that..

Re-Ran the Project Creation Wizard, Failed.  At this point I was ready for a drink.  Now SSRS was hooped trying to create db objects.  Well it was trying to create db objects that were not on the new instanced SSRS installation.  I searched around for a bit and said screw it.  Lets just rename the db to remove the …$tfs instance name and reconfigure SSRS to point at the new DB name.  Once that was done.

 

success

 

Moral of the story, more often that not the that error we sometimes just ignore is always a great pointer.  Just don’t ignore it so fast.

Monday, June 08, 2009 10:25:00 PM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

T4 – Text Template Transformation Toolkit#
matrix

Chances are you have never heard of T4.  Don’t worry, most haven’t.  This tool was introduced when the DSL tools hit the market.  As the name implies, it’s a code generation engine.  It’s my understanding, T4 is used under the scenes by the DSL tools to generate out it’s artifacts. This is also the tool that things like Linq to SQL and the Entity framework use to generate its artifacts.  Very Cool, and a bit daunting at first.

There are a number of great resources on Code Generation. I don’t want to recover what has been written better than I could but I do want to talk about the start of my journey with T4.  So like anyone I hit the ole WWW in search for answers.  The following resources got me rolling:

Needless to say you don’t really need anything to get started.  I don’t want to rehash anything already stated above, but I do want to cover a few good little hints I have learned so far.

  • You can include other TT files.
    • <#@ include file="core.tt" #>
  • “Class level functions”.  These have listed at the bottom of the TT file in a <=+ => if there are other code blocks in the TT file.
  • Set your output file type.  While you don’t really need it in VS if you are using the command line it will still save a few headaches. It can be whatever type of file type you want. 
    • <#@ output extension="XML" #>
  • Assembly References.  Just like a normal .NET program you have to reference what you need.  I was a bit surprised I had to reference System.Core for some Linq Queries.
    • <#@ assembly name="System.Core" #>
  • Imports.  Nothing different from a using statement in C#
    • <#@ import namespace="System.Xml.Linq"#>
  • You can’t pass in parameters into the T4 Engine. Well you can, but not with the host that ships out of the box.  Kathleen Dollard is actually working on a host that will address that situation but I have cheated in the meantime.  I have an settings file ( like a config ) which I set the setting file from my own host which in turn calls the T4 Engine.  The the templates just read that file getting whatever dynamic settings they need.
  • I have been driving my templates with Powershell. 
  • You can specify template framework versions, although you don’t have to.
    • <#@ template language="C#v3.5" HostSpecific="true" #>

I will indeed post more on T4.  It’s just amazing and we all should use it more.  As I do it more and more I find myself coming up *MUCH* more creative ways to generate the same artifact with less.

More to come…..

Sunday, May 31, 2009 9:59:09 PM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

May I borrow $25#

A man came home from work late, tired and irritated, to find his 5-year old son waiting for him at the door.

SON: “Daddy, may I ask you a question?”

DAD: “Yeah sure, what it is?' replied the man.

SON: “Daddy, how much do you make an hour?”

DAD: “That's none of your business. Why do you ask such a thing?” the man said angrily.

SON: “I just want to know. Please tell me, how much do you make an hour?'

DAD: “If you must know, I make $50 an hour.'

SON: “Oh,” the little boy replied, with his head down.

SON: “Daddy, may I please borrow $25?”

The father was furious, “If the only reason you asked that is so you can borrow some money to buy a silly toy or some other nonsense, then you march yourself straight to your room and go to bed. Think about why you are being so selfish. I don't work hard everyday for such childish frivolities.”

The little boy quietly went to his room and shut the door.

The man sat down and started to get even angrier about the little boy's questions. How dare he ask such questions only to get some money? After about an hour or so, the man had calmed down , and started to think: Maybe there was something he really needed to buy with that $25.00 and he really didn't ask for money very often The man went to the door of the little boy's room and opened the door.

“Are you asleep, son?” He asked.

“No daddy, I'm awake,” replied the boy.

“I've been thinking, maybe I was too hard on you earlier” said the man. “It's been a long day and I took out my aggravation on you. Here's the $25 you asked for.”

The little boy sat straight up, smiling. “Oh, thank you daddy!” he yelled. Then, reaching under his pillow he pulled out some crumpled up bills.

The man saw that the boy already had money, started to get angry again.

The little boy slowly counted out his money, and then looked up at his father.

“Why do you want more money if you already have some?” the father grumbled.

“Because I didn't have enough, but now I do,” the little boy replied.

“Daddy, I have $50 now. Can I buy an hour of your time? Please come home early tomorrow. I would like to have dinner with you.”

The father was crushed. He put his arms around his little son, and he begged for his forgiveness.

It's just a short reminder to all of you working so hard in life. We should not let time slip through our fingers without having spent some time with those who really matter to us, those close to our hearts. Do remember to share that $50 worth of your time with someone you love.

Saturday, May 23, 2009 7:49:56 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

All content © 2010, Clark Sell
On this page
This site
Calendar
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Archives
Sitemap
Blogroll OPML
Disclaimer

Powered by: newtelligence dasBlog 2.3.9074.18820

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts


Pick a theme: