Author Archives: Trent Jones

ByTrent Jones

Garage Door Opener with Automation Integration

This project has been years in the making. I first started with a netduino plus 2 and had things functioning but quickly lost the connection and the requirement to unplug and plug back into development computer was cumbersome. Then along came the Spark Core. This device has build in wifi and you can use online code editor to publish directly to the device after you establish the core on your wifi.

Using an old garage door opener remote, i can locate the device anywhere in my garage that has power. In addition i have a magnetic switch hooked up to tell if the door is open or closed.
The Core exposes internet-addressable functions that can instruct the device to run an operation (open/close and isOpen). This in turn is hooked up as custom functions on my Vera Lite home automation controller.

Parts List:
Spark Core

Magnetic Switch

Old Remote Garage Door Opener

Various Resistors

5v Power Supply

ByTrent Jones

Windows Snipping Tool Hotkey

I went searching for a hotkey for the snipping tool bundled with Windows 7. I use this tool all the time but would like to be able to just activate it. Turns out there is no default hotkey but you can easily set on on the program by searching for “Snipping Tool” from the start menu. Right-click and choose properties. Click the Shortcut tab and click inside the Shortcut key box. Next just issue the command you would like as the shortcut and click ok.

See here for more details and screenshots:

ByTrent Jones

I like SONOS but its expensive. Here’s a mostly free option

I really like the Sonos system but it’s expensive. At least 300 dollars a pop for every zone (room) you want to have. I think what it offers i will some day jump to. But in the meantime i have found a way to achieve the same thing with stuff I already had.

First, download Logitech Media Server. Yes, this requires a computer. I happened to have an old laptop. This works perfectly as the server.

Next, you need a player. Something that will connect to the server to access local media, or run through it to run apps like spotify, pandora, etc.

Logitech makes a number of network appliances that can connect to the server (think Sonos and dollars).

If you don’t want to shell out the cash, you can download SqueezePlay (beta). This is free and is a software based player. You can run this on the same computer as the server. My server happens to be in the closet with receiver so i have a 3.5mm -> Stereo RCA cord plugging into it. This is zone 1.

To move beyond the living room I am using an old android phone running Squeeze Player. I said this was mostly free right. This program will turn your phone into a player the server will recognize. This zone connects to the auxiliary input of an ipod system that includes an additonal speaker. This is in the kitchen and the remote speaker is in the office. This is cool because i can take the remote speaker outside when it’s nice.

I also have an android tablet. Another zone. Sometimes i connect this in the bedroom. No restrictions on what device you can download the player to.
I also have another android phone… yet another zone.

I’ve seen someone say that iPenquin (?) works as zone on iphone but i can’t verify that.

To control all this, Logitech makes an app for both android and iPhone called Logitech Squeezebox Controller.

From this app, you can join any zone to another or to all zones. OR play different things in different zones. The server also supports video and will show up as a DLNA player on XBox and other capable systems.

Yes, sometimes it’s not quite in sync. other times it works flawlessly. Oh ya, when i turn the microwave on i lose music too. For the 5 bucks I spent plus reusing old hardware i think this is a small price to pay.

To use Pandora you have to have a paid subscription. Same with Spotify. I have a subscription to spotify and it’s great to use this way.

THere are a number of other third-party apps you can download. I think i use an alternative spotify app available there. Can’t remember why i switched from the default.

Good luck!

ByTrent Jones

Issue with opening a solution with Silverlight in Visual Studio 2010

I recently started getting an issue opening any XAML file in the designer in visual studio. Visual studio would crash immediately. This then started to bleed over to crashing when trying to open the solution. I tried everything included reinstalling VS altogether. Didn’t work. When reapplying the Service Pack it downloads the Silverlight Developer tools from the internet. This version is 4.0.60531 which appears to be the culprit. Colleagues have an older version and have no issue. The error in Windows Event Viewer was fault in module agcore.dll. After a quick google i found this post with others having the same issue. The solution was to unregister System.Windows from the GAC. Presto. Works.

ByTrent Jones

Missing configuration file when using tt template

We are using tt templates to generate configurations for different environments. we choose this route for one file to maintain settings. However, everytime i added a new “config” like web.INT.config it wouldn’t be in the output directory of the build (using TFS2010). Found that I have to choose “Copy Always” from the file properties in Visual Studio to do the trick.

ByTrent Jones

Split TFS2010 Collection in two

I kept reading online how you could split TFS Collections in Visual Studio Team System 2010 in 2 but really couldn’t find any information on how to do it so i went upon trying this myself.  For instance, you may have a collection with projects A,B,C,D and you want to collections: one with A,B and another with C,D. 

  1. Detach the collection from TFS Admin Tool.
  2. backing up the corresponding collection db via SQL Management Studio.  (there is one db in sql per collection)
  3. Copy and Paste the back-up and Rename it
  4. Restore Database” in Management Studio. Use new name with “TFS_<YOURNAME>”
  5. Use TFS admin tool to identify existing collection to attach
  6. Use TFS Admin tool to attach new collection db.\
  7. Use VS Explorer to drop out projects not necessary in new collection

SharePoint connectivity is a whole other issue/post

Any TFS Gurus out there have more information please let me know and I will update this post.  I kinda thought there would be a command line tool to do this.

ByTrent Jones

Opening Test Results Pane in Visual Studio Error

Attempting to either run a unit test or open the Test Results pane in Visual Studio 2008 generates the following error on my machine:

“Exception has been thrown by the target of an invocation”

Following these instructions i have gotten around the issue. Sometimes I had to shut down a couple times and potentially be on the Team Explorer pane.

1. Close all the instances of Visual Studio
2. Open a VS (Without opening the solution).
3. Go to Test -> Windows -> Test Results.
4. Now open the solution and vsmdi.
5. Tests would run as usual


ByTrent Jones

Sharepoint Central Administration Page not responding

In Windows 2008 Server removing the DynamicIpRestrictionModule will allow the page to work.

ByTrent Jones

ASP.NET 4.0 and Control IDs

In .NET 4.0 there is a new option when adding controls to a page or user control: ClientIDMode.  This property offers you four choices: Legacy, Static, Predictable, Inherit.  Previously it was almost impossible to find the id of a control in a normal matter such as jQuery.  Using

Choosing Legacy will continue to issue an ID in the same manner they were generated in previous version of ASP.NET, by concatenating the ID values of each parent naming container with the ID of the control.  Setting the property to Static will use the exact value of the ID property of the server control.  Predictable is used for controls that are data-bound controls such as repeater and also makes use of a ClientIDRowSuffix property.  Using Inherit makes the control ID property use the setting of its parent control.

In the example below, two lists are created inside the ContentPlaceHolder of a page using the same DataSource. The first is using the default and the second uses the new property with Static set as the value.

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:XmlDataSource ID="LinkData" runat="server" XPath="Colors/Color">
                <Color Name="Red"/>
                <Color Name="Blue"/>
                <Color Name="Yellow"/>
                <Color Name="Green" />
    <asp:BulletedList ID="uxList" DataSourceID="LinkData" runat="server" DataTextField="Name" />
    <asp:BulletedList ID="uxListStatic" ClientIDMode="Static" DataSourceID="LinkData" runat="server" DataTextField="Name" />

    <script type="text/javascript">
        $(function() {

Here is the output of the page in HTML

    <ul id="ctl00_ContentPlaceHolder1_uxList">
    <ul id="uxListStatic">

    <script type="text/javascript">
    $(function() {

And the corresponding view in the browser

•    Red
•    Blue
•    Yellow
•    Green

•    Red
•    Blue
•    Yellow
•    Green
•    Brown

Because of the generated tag on the first list jQuery can’t find the control to append to.