<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://mystyleit.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>mystyleit</title><link>http://mystyleit.com/blogs/mystyleit/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 SP2 (Build: 31113.47)</generator><item><title>Finding Messages inside Exchange using EntryID</title><link>http://mystyleit.com/blogs/mystyleit/archive/2010/07/12/finding-messages-inside-exchange-using-entryid.aspx</link><pubDate>Tue, 13 Jul 2010 00:05:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:122</guid><dc:creator>mike.clarke</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=122</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2010/07/12/finding-messages-inside-exchange-using-entryid.aspx#comments</comments><description>&lt;h3&gt;Finding Messages inside Exchange using EntryID&lt;/h3&gt;
&lt;p&gt;
Recently I have had a need to locate messages inside Exchange using only the EntryID.  Ideally I wanted to do this through Outlook but all evidence points towards this not being possible.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.officekb.com/Uwe/Forum.aspx/outlook-prog-forms/571/EntryId"&gt;http://www.officekb.com/Uwe/Forum.aspx/outlook-prog-forms/571/EntryId&lt;/a&gt;&lt;br /&gt;
	&lt;b&gt;Outlook doesn&amp;#39;t export that property.&lt;/b&gt; &lt;i&gt;Sue Mosher, Outlook MVP&lt;/i&gt;
	&lt;/li&gt;
&lt;li&gt;&lt;a href="http://help.lockergnome.com/office/Find-EntryID--ftopict937618.html"&gt;http://help.lockergnome.com/office/Find-EntryID--ftopict937618.html&lt;/a&gt;&lt;br /&gt;
	&lt;b&gt;Never mind on the EntryId I found where it is not valid for the Find command.&lt;/b&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
The only thing I could find was to use Outlook shortcuts/hyperlinks:&lt;br /&gt;
&lt;a href="http://www.slipstick.com/outlook/links.htm"&gt;http://www.slipstick.com/outlook/links.htm&lt;/a&gt;&lt;br /&gt;
But these proved very unreliable.&amp;nbsp; In fact I only managed it make it work once.&lt;/p&gt;
&lt;h3&gt;Other Possibilities&lt;/h3&gt;
&lt;p&gt;
Based on everything I read, the only way to find the message is through API/SDK.  Specifically using GetItemFromID:&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/bb219902%28office.12%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb219902%28office.12%29.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Solution&lt;/h3&gt;
&lt;p&gt;
My solution was to write a really small C# command line that app that will open the message based on EntryID and StoreID.
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Outlook;
namespace EntryID
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(&amp;quot;&amp;quot;);
            Console.WriteLine(&amp;quot;REQUIRES OUTLOOK&amp;quot;);
            Console.WriteLine(&amp;quot;&amp;quot;);
            Console.WriteLine(&amp;quot;THIS APPLICATION COMES WITH NO WARRENTY OR GAURENTEES&amp;quot;);
            Console.WriteLine(&amp;quot;USE AT YOUR OWN RISK&amp;quot;);
            if (args.Length != 2){
                Console.WriteLine(&amp;quot;ERROR: Missing Parameters&amp;quot;);
                Console.WriteLine(&amp;quot;EntryID.exe storeID entryID&amp;quot;);
                Environment.Exit(-1);
            }
            string storeID = args[0];
            string entryID = args[1];
            Console.WriteLine( &amp;quot;storeID: &amp;quot; + storeID );
            Console.WriteLine(&amp;quot;&amp;quot;);
            Console.WriteLine( &amp;quot;entryID: &amp;quot; + entryID );
            Microsoft.Office.Interop.Outlook._Application olApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
            Microsoft.Office.Interop.Outlook._NameSpace olNS = olApp.GetNamespace(&amp;quot;MAPI&amp;quot;);
            Microsoft.Office.Interop.Outlook.MAPIFolder oFolder = olNS.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
            Microsoft.Office.Interop.Outlook._MailItem oMailItem = (Microsoft.Office.Interop.Outlook._MailItem)olNS.GetItemFromID(entryID, storeID);
            oMailItem.Display(false);
            }
    }
}
&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;
The hardest part was getting my Visual Studio app to hook into Outlook 2003/Outlook 2007.  The following MSDN articles were very helpful:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa189286%28office.10%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa189286%28office.10%29.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/310244"&gt;http://support.microsoft.com/kb/310244&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Requirements&lt;/h3&gt;
&lt;p&gt;
In order to use this application, you must have the &lt;a href="http://msdn.microsoft.com/en-us/library/15s06t57%28v=VS.80%29.aspx"&gt;Office Primary Interop Assemblies (PIA)&lt;/a&gt; installed for your version of Outlook.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/exchangeentryid/0001.png" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
I do not believe that Office 2003 ships with PIA, see &lt;a href="http://blogs.msdn.com/b/dancre/archive/2004/03/21/93712.aspx"&gt;Hello Word Outlook Add-In using C#&lt;/a&gt; but I believe Office 2007 does.
&lt;/p&gt;
&lt;p&gt;
You can download the PIA for Office 2003 and Office 2007 using the following links:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/897646"&gt;Office 2003 Update: Redistributable Primary Interop Assemblies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=59daebaa-bed4-4282-a28c-b864d8bfa513&amp;amp;displaylang=en"&gt;2007 Microsoft Office System Update: Redistributable Primary Interop Assemblies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Here is a link about doing development with PIAs&lt;br /&gt;
&lt;a href="http://blogs.msdn.com/b/vsto/archive/2008/05/20/common-pitfalls-during-pia-deployment-and-installation.aspx"&gt;http://blogs.msdn.com/b/vsto/archive/2008/05/20/common-pitfalls-during-pia-deployment-and-installation.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Results&lt;/h3&gt;
&lt;p&gt;
I ended up making two apps.  One for Outlook 2003 and one for Outlook 2007.  From the command line I can now open a message using the storeID and entryID.  Here is the prototype for app:
&lt;textarea class="html" name="code"&gt;EntryID2003.exe storeID entryID
EntryID2007.exe storeID entryID
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;When you run the app with the right command line parameters, the app will start Outlook and open the email.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/exchangeentryid/0000.png" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
The compiled versions of the app (both Outlook 2003 and Outlook 2007) can be downloaded here:&lt;br /&gt;
&lt;a href="http://mystyleit.com/downloads/blogs/ExchangeEntryID/EntryID.zip"&gt;EntryID.zip&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red;"&gt;
&lt;h3&gt;Update: Finding Messages inside Exchange using EntryID&lt;/h3&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
After continue working on this I had problems getting EntryID2003.exe working on Outlook 2003.  I believe this is a problem linking into Outlook.  Since then I have come up with a new solution in the form of a VB script.
&lt;/p&gt;
&lt;p&gt;
Here is the script
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;&amp;#39;*************************************************************************
&amp;#39;THIS APPLICATION COMES WITH NO WARRENTY OR GAURENTEES
&amp;#39;USE AT YOUR OWN RISK
&amp;#39;*************************************************************************
&amp;#39;Instructions
&amp;#39;Fill in the parameters below
&amp;#39;Close Outlook and the run the script.  This script should open the message with EntryID.
&amp;#39;*************************************************************************
&amp;#39;PARAMETERS
storeID = &amp;quot;0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C0000004443002F6F3D4669727374204F7267616E697A6174696F6E2F6F753D45786368616E67652041646D696E6973747261746976652047726F7570202846594449424F484632335350444C54292F636E3D526563697069656E74732F636E3D6176616E64616C617900&amp;quot;
entryID = &amp;quot;000000007AA33668D54A1C4D9D8372FEE1EC794F07007D2133630C6123449784F16966F749C0000009264F2F00007D2133630C6123449784F16966F749C00459A9A964650000&amp;quot;
&amp;#39;Set this to the value of your Outlook profile
profile = &amp;quot;Outlook&amp;quot;
Set objOutlook = CreateObject(&amp;quot;Outlook.Application&amp;quot;)
Set objNamespace = objOutlook.GetNamespace(&amp;quot;MAPI&amp;quot;)
objNamespace.Logon profile,, False, True
Set message = objNamespace.GetItemFromID( entryID, storeID )
message.Display
&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
The script can be downloaded here:&lt;br /&gt;
&lt;a href="http://mystyleit.com/downloads/blogs/ExchangeEntryID/EntryIDScript.zip"&gt;EntryIDScript.zip&lt;/a&gt;
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=122" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Exchange+2003/default.aspx">Exchange 2003</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/SDK/default.aspx">SDK</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Exchange/default.aspx">Exchange</category></item><item><title>Xbox 360 Musings</title><link>http://mystyleit.com/blogs/mystyleit/archive/2010/06/28/xbox-360-musings.aspx</link><pubDate>Mon, 28 Jun 2010 23:22:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:120</guid><dc:creator>mike.clarke</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=120</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2010/06/28/xbox-360-musings.aspx#comments</comments><description>&lt;h3&gt;Xbox 360 Musings&lt;/h3&gt;
&lt;p&gt;
I recently bought a used Xbox 360 and have been messing around with it for the last couple weeks.  Since then I&amp;#39;ve learned some things and thought I would put them all in one place.
&lt;/p&gt;
&lt;h3&gt;Original Xbox Support and System Update 9199&lt;/h3&gt;
&lt;p&gt;
The Xbox 360 can play some Xbox 360 games.  The official ist is here:&lt;br /&gt;
&lt;a href="http://www.xbox.com/en-US/games/backwardcompatibilitygameslist.htm"&gt;http://www.xbox.com/en-US/games/backwardcompatibilitygameslist.htm&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The real trick is getting it to actually work.  It seems like nearly every link on the Internet points to this update:&lt;br /&gt;
&lt;a href="http://www.xbox.com/en-US/support/systemuse/xbox360/console/systemupdates.htm"&gt;http://www.xbox.com/en-US/support/systemuse/xbox360/console/systemupdates.htm&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;But that link is &lt;b&gt;wrong.&lt;/b&gt;.  The real update to play Xbox games on Xbox 360 is here:&lt;br /&gt;
&lt;a href="http://download.microsoft.com/download/d/1/8/d181ee58-de70-4484-936b-0e9161ccd6b2/BackCompat_11-2007.zip"&gt;http://download.microsoft.com/download/d/1/8/d181ee58-de70-4484-936b-0e9161ccd6b2/BackCompat_11-2007.zip&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You must have a Xbox 360 hard drive in order to apply this update and to the best of my knowledge it can only be applied by buring the file to a CD or by connecting to Xbox Live.  You cannot apply with USB drive
&lt;/p&gt;
&lt;p&gt;
Applying both update 9199 and the SystemUpdate_12-2007 will not do anything to a modded Xbox.
&lt;/p&gt;
&lt;h3&gt;Media and Xbox 360&lt;/h3&gt;
&lt;p&gt;
As best I can tell, there are two ways to play media on the Xbox 360.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Through Media Center&lt;/li&gt;
&lt;li&gt;Video Library&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Media Center&lt;/h4&gt;
&lt;p&gt;
Media Center does not support playback of XVIDs.  The updates that add XVID support do not apply to Media Center.  Which makes Media Center pretty useless, for me anyway.
&lt;/p&gt;
&lt;p&gt;
I believe the update that adds this is 2.0.6683.0.&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Xbox_360_System_Software"&gt;http://en.wikipedia.org/wiki/Xbox_360_System_Software&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;Video Library&lt;/h4&gt;
&lt;p&gt;
This is the big one.  From here you can play XVIDs, connect to streaming servers (which I will cover later).  But there is a big gotcha.  In order to make it do all this great stuff you need the &lt;b&gt;Optional Media Update&lt;/b&gt;.&lt;br /&gt;
&lt;a href="http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d802fffe07df/?of=3"&gt;http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d802fffe07df/?of=3&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
From what I have read, the Optional Media Update comes with some limitations:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can only be downloaded from Xbox Live&lt;/li&gt;
&lt;li&gt;It is signed to your console, if you take your HDD to your friends house and download it and bring it back to your house it will not work unless you connect to Xbox Live&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the update is installed correctly it will work while not being connected to Xbox Live.&lt;/p&gt;
&lt;p&gt;
I have read some sketchy tutorials that say you can hack it onto the Xbox 360 HDD but I doubt that work because they do not address the signing.  I have not personally tried.
&lt;/p&gt;
&lt;p&gt;
You will also need a Xbox 360 HDD to get this update.  I believe all of this is part of Microsoft&amp;#39;s plan to punish those with modded consoles.
&lt;/p&gt;
&lt;p&gt;
If you do not have the update you will get the following error code:
&lt;/p&gt;
&lt;blockquote&gt;
51-coodf236
&lt;/blockquote&gt;
&lt;h3&gt;Streaming Media to your Xbox 360&lt;/h3&gt;
&lt;p&gt;
If you want to play movies on your 360 you can either copy the files to/stick in a USB thumb drive or you can stream directly to the Xbox.
&lt;/p&gt;
&lt;p&gt;
Two popular options exist for the streaming:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/ps3mediaserver/"&gt;PS3 Media Server&lt;/a&gt;
		
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ps3mediaserver.blogspot.com/"&gt;PS3 Media Server Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tversity.com/"&gt;tversity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I have only used PS3 Media Server and it&amp;#39;s great.  Really good.
&lt;/p&gt;
&lt;p&gt;
Here is a link all the video formats that Xbox 360 supports:&lt;br /&gt;
&lt;a href="http://support.xbox.com/support/en/us/nxe/gamesandmedia/movies/videofaq/viewvideoplaybackfaq.aspx"&gt;http://support.xbox.com/support/en/us/nxe/gamesandmedia/movies/videofaq/viewvideoplaybackfaq.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Conclusions&lt;/h3&gt;
&lt;p&gt;
Hopefully this info hels out somebody!
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=120" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Xbox+360/default.aspx">Xbox 360</category></item><item><title>Getting started with X10</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/10/28/getting-started-with-x10.aspx</link><pubDate>Wed, 28 Oct 2009 15:27:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:104</guid><dc:creator>mike.clarke</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=104</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/10/28/getting-started-with-x10.aspx#comments</comments><description>&lt;h3&gt;Getting started with X10&lt;/h3&gt;
&lt;p&gt;
If your anything like me you are always looking for some sort of IT project.  Recently I started messing around with X10 and here is a summary of what I have learned.
&lt;/p&gt;
&lt;p&gt;X10 is home automation technology that uses your homes electric system to send/receive commands.  X10 old but still the most popular home automation technology.  It has retained its popularity mostly due to the fact the it is a open standard.  But the technology definitely has its problems, like it isn&amp;#39;t 100% reliable.
&lt;/p&gt;
&lt;p&gt;
Here are some wiki links to X10 and X10&amp;#39;s competitor technology:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/X10_(industry_standard)"&gt;X10&lt;/a&gt;&lt;br /&gt;
X10 is old and sometimes problematic but the most popular.&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Insteon"&gt;Insteon&lt;/a&gt;&lt;br /&gt;
Insteon backwards compatible with X10 but uses more a mesh technology.  It is proprietary and more expensive than X10.&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Z-Wave"&gt;Z-Wave&lt;/a&gt;&lt;br /&gt;
Proprietary wireless home automation.&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://en.wikipedia.org/wiki/Universal_powerline_bus"&gt;UPB&lt;/a&gt;&lt;br /&gt;
Similar to X10 but not nearly as popular.
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;X10 Pitfalls&lt;/h3&gt;
&lt;h4&gt;X10 Summary&lt;/h4&gt;
&lt;p&gt;
Simply put, X10 is made up of &lt;b&gt;Controllers&lt;/b&gt; and &lt;b&gt;Modules&lt;/b&gt;.  Controllers broadcast signals to modules through your homes electric wiring and the modules change state when they receive a command addressed to them (ON/OFF).  There is also a RF standard for X10 controllers, meaning that you can issue X10 commands using a RF remote control.
&lt;/p&gt;
&lt;h4&gt;Signal Loss/Filters&lt;/h4&gt;
&lt;p&gt;
X10 has a bad reputation for not working.  The main reason it doesn&amp;#39;t work is because there is noise on the line.  You get noise on the line when you have something plugged causes interference, like a TV, Fridge, or Computer.  In order to ensure reliable signal transmission you need filters on these devices.
&lt;/p&gt;
&lt;p&gt;
Here are some links to some filters:&lt;br /&gt;
&lt;a href="http://www.smarthome.com/1626/FilterLinc-Plug-In-X10-Noise-Filter/p.aspx"&gt;http://www.smarthome.com/1626/FilterLinc-Plug-In-X10-Noise-Filter/p.aspx&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.smarthome.com/1626-10/FilterLinc-10-Amp-Plug-In-X10-Noise-Filter/p.aspx"&gt;http://www.smarthome.com/1626-10/FilterLinc-10-Amp-Plug-In-X10-Noise-Filter/p.aspx&lt;br /&gt;&lt;/a&gt;
&lt;a href="http://www.smarthome.com/4845ACF/15-Amp-Plug-In-Noise-Filter-AF120/p.aspx"&gt;http://www.smarthome.com/4845ACF/15-Amp-Plug-In-Noise-Filter-AF120/p.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;Reaching all Modules/Phase Coupler&lt;/h4&gt;
&lt;p&gt;
If your in North America (and most likely other countries) you might find it is impossible to control all of your modules from one controller, from one location.  In short your 120V is divided into two phases and signals from controllers plugged into one phase cannot &amp;quot;jump&amp;quot; to the other phase.
&lt;/p&gt;
&lt;p&gt;
You can read more about it here:&lt;br /&gt;
&lt;a href="http://kbase.x10.com/wiki/Phase_Coupling"&gt;http://kbase.x10.com/wiki/Phase_Coupling&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The easiest solution I have found in a Phase Coupler that plugs into your dryer outlet.  Below is the link:&lt;br /&gt;
&lt;a href="http://www.smarthome.com/4816A2/SignaLinc-Plug-In-Phase-Coupler/p.aspx"&gt;http://www.smarthome.com/4816A2/SignaLinc-Plug-In-Phase-Coupler/p.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Computer Driven Home Automation&lt;/h3&gt;
&lt;h4&gt;Controllers&lt;/h4&gt;
&lt;p&gt;
If you get into X10 and get a collection of modules working the next step is of course to hook it up to your computer.  The first thing you are going to need to do is connect your computer to your X10 system.  There are several different components that can do this.  Here is a short (most likely incomplete) list.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kbase.x10.com/wiki/CM11A"&gt;CM11A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CM15A&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kbase.x10.com/wiki/Firecracker"&gt;Firecracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Internet searches return many more results.  Most of the controllers that come back are USB Insteon controllers that are backwards compatible with X10.
&lt;/p&gt;
&lt;h4&gt;Software&lt;/h4&gt;
&lt;p&gt;
There are many, many different home automation packages.  Here is a short list of some of the major names:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://kbase.x10.com/wiki/ActiveHome"&gt;ActiveHome&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://kbase.x10.com/wiki/ActiveHome_Pro"&gt;ActiveHome Pro&lt;/a&gt;&lt;br /&gt;
Market leading in home automation software.&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://misterhouse.sourceforge.net/"&gt;MisterHouse&lt;/a&gt;&lt;br /&gt;
Popular open source solution.  Does everything but is very complicated.&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://x10controller.sourceforge.net/X10Server/index.html"&gt;X10Server&lt;/a&gt;&lt;br /&gt;
Open source client/server java app.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I personally use X10Server.  It has the basic functionally I was looking for.  Client/Server app and it allows you to schedule jobs in a ini file.  And it is pretty simple to use.  The only setback is that it is difficult to get running.  It has very specific JVM requirements.
&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Home Automation is very time consuming, technically complicated, and somewhat expensive.  Despite a lot of hard work X10 systems can still become completely unreliable if you plug a appliance that creates a lot of noise on the line.  But if you enjoy messing around with technology and look at these types of projects as entertainment it can be pretty fun!
&lt;/p&gt;
&lt;p&gt;
Hopefully you have found this guide useful.
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=104" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/X10/default.aspx">X10</category></item><item><title>IP Cam Streaming to Blackberry</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/09/22/ip-cam-streaming-to-blackberry.aspx</link><pubDate>Tue, 22 Sep 2009 22:55:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:97</guid><dc:creator>mike.clarke</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=97</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/09/22/ip-cam-streaming-to-blackberry.aspx#comments</comments><description>&lt;h3&gt;IP Cam Streaming to Blackberry&lt;/h3&gt;
&lt;p&gt;
So you have a IP Cam and that&amp;#39;s pretty neat.  But now you want to be able to check in on it from your Blackberry.  Well get ready, this is going to be crazy.
&lt;/p&gt;
&lt;p&gt;
Before getting into it, it might be worth it to review the following:&lt;br /&gt;
&lt;a href="http://mystyleit.com/blogs/mystyleit/archive/2009/05/11/terrible-adventures-with-wvc54gc-ip-cam.aspx"&gt;(Terrible) Adventures with WVC54GC IP Cam&lt;/a&gt;&lt;br /&gt;
(Notice the word Terrible)
&lt;/p&gt;
&lt;h3&gt;Review of Streaming Technology&lt;/h3&gt;
&lt;p&gt;Understand some of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol"&gt;Real Time Streaming Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Real-time_Transport_Protocol"&gt;Real-time Transport Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/3GP"&gt;3GP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Darwin_Streaming_Server"&gt;Darwin Streaming Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Windows_Media_Services"&gt;Windows Media Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/MPEG-4"&gt;MPEG-4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/VLC_media_player"&gt;VLC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Session_Description_Protocol"&gt;Session Description Protocol&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;RTSP:&lt;/b&gt; This is a protocol for streaming media to clients.  It works like HTTP over Port 554.  The client makes a request and the Streaming Server responds.&lt;br /&gt;
&lt;b&gt;RTP:&lt;/b&gt; Protocol used to deliver audio and video.  RTSP goes over RTP.&lt;br /&gt;
&lt;b&gt;3GP:&lt;/b&gt; This is a container format for the stream that the Streaming Server sends out.  Most phones (like the Blackberry) support 3GP.&lt;br /&gt;
&lt;b&gt;Darwin Streaming Server:&lt;/b&gt; DSS is a streaming server that supports 3GP.  A streaming server is like a web server but for streams.&lt;br /&gt;
&lt;b&gt;Windows Media Services:&lt;/b&gt; We aren&amp;#39;t going to use this but I just included it to illustrate that there are different streaming servers.&lt;br /&gt;
&lt;b&gt;VLC:&lt;/b&gt; Amazing media player among many other things.&lt;br /&gt;
&lt;b&gt;SDP:&lt;/b&gt; This is file that VLC spits out to describe the outgoing stream to DSS.
&lt;/p&gt;
&lt;h3&gt;Blackberry Support Streams&lt;/h3&gt;
&lt;p&gt;
Review the following:&lt;br /&gt;
&lt;a href="http://www.blackberry.com/btsc/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=KB05482&amp;amp;sliceId=SAL_Public&amp;amp;dialogID=185006185&amp;amp;stateId=1%200%20185004605"&gt;http://www.blackberry.com/btsc/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=KB05482&amp;amp;sliceId=SAL_Public&amp;amp;dialogID=185006185&amp;amp;stateId=1%200%20185004605&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
According to that, all Blackberries support RTSP, 3GP and MPEG4.



&lt;/p&gt;
&lt;h3&gt;Solution&lt;/h3&gt;
&lt;p&gt;
The easiest solution is to buy a pricey IP cam that supports MPEG4 stream.  Many do as viewing the cam on your phone is a attractive feature.  But if you cheaped out (like me) you will need something else:
&lt;/p&gt;
&lt;p&gt;


&lt;img src="http://mystyleit.com/images/blogs/ipcamstreamingtoblackberry/0000.JPG" border="0" alt="" /&gt;

&lt;/p&gt;
&lt;p&gt;
VLC is going to pull in the stream from the cam, transcode it to MPEG4, write out the transcoded stream using RTP to DSS (announce itself to DSS).  The Blackberry is going to make a request to the streaming server (like a browser request) and boom!  If everything goes well the DSS will serve up the live stream.
&lt;/p&gt;
&lt;p&gt;
Alternatively, VLC has a web server (a streaming server) built into it.  I couldn&amp;#39;t find any documentation on that, but it may be possible to use VLC instead of DSS.
&lt;/p&gt;
&lt;h3&gt;Install and Configure DSS for Windows&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Download and install ActivePerl&lt;/li&gt;
&lt;li&gt;Download and install DSS&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
DSS requires ActivePerl to run the web based admin console.  ActivePerl can be downloaded from here:&lt;br /&gt;
&lt;a href="http://www.activestate.com/activeperl/"&gt;http://www.activestate.com/activeperl/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Download DSS for Windows here:&lt;br /&gt;
&lt;a href="http://static.macosforge.org/dss/downloads/"&gt;http://static.macosforge.org/dss/downloads/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Here is a guide on setting up DSS.  Get it installed and tested:&lt;br /&gt;
&lt;a href="http://generally.wordpress.com/2007/08/07/how-to-setup-darwin-streaming-server-on-windows/"&gt;http://generally.wordpress.com/2007/08/07/how-to-setup-darwin-streaming-server-on-windows/&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Install VLC for Windows&lt;/h3&gt;
&lt;p&gt;
VLC for Windows can be downloaded here:&lt;br /&gt;
&lt;a href="http://www.videolan.org/vlc/download-windows.html"&gt;http://www.videolan.org/vlc/download-windows.html&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Configure VLC to RTS to DSS&lt;/h3&gt;
&lt;p&gt;
Review the following:&lt;br /&gt;
&lt;a href="http://wiki.videolan.org/Documentation:Streaming_HowTo/Advanced_Streaming_Using_the_Command_Line"&gt;http://wiki.videolan.org/Documentation:Streaming_HowTo/Advanced_Streaming_Using_the_Command_Line&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Start VLC in command line mode with all the parameters to create a &lt;a href="http://wiki.videolan.org/Documentation:Streaming_HowTo/Advanced_Streaming_Using_the_Command_Line#sdp"&gt;sdp&lt;/a&gt; in the media folder of DSS.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;
This one line took me a very long time to figure out.  I wanted to run this on Ubuntu but I could never get it to run stable.  Oddly enough it works perfectly on Windows.
&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;
Replace http://192.168.0.152/img/video.asf with the URL with whatever stream comes out of your IP Cam.
&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;C:\Program Files\VideoLAN\VLC\vlc.exe -I dummy http://192.168.0.152/img/video.asf &amp;quot;:sout=#transcode{vcodec=mp4v,width=80,height=60}:rtp{dst=127.0.0.1,sdp=&amp;#39;file://C:/Program Files/Darwin Streaming Server/Movies/stream.sdp&amp;#39;}&amp;quot; --noaudio -v
&lt;/textarea&gt;
&lt;/p&gt;
&lt;h3&gt;Test the Deployment&lt;/h3&gt;
&lt;p&gt;
Open up Quicktime and open up the URL rtsp://server/stream.sdp if it works, try it on your Blackberry!



&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Hope you found this guide useful.
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=97" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/IP+Cams/default.aspx">IP Cams</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Streaming/default.aspx">Streaming</category></item><item><title>Installing pkgutil and webmin on Solaris</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/08/27/installing-pkgutil-and-webmin-on-solaris.aspx</link><pubDate>Thu, 27 Aug 2009 17:51:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:93</guid><dc:creator>mike.clarke</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=93</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/08/27/installing-pkgutil-and-webmin-on-solaris.aspx#comments</comments><description>&lt;h3&gt;Installing pkgutil and webmin on Solaris&lt;/h3&gt;
&lt;h3&gt;pkgutil&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://www.blastwave.org"&gt;blastwave.org&lt;/a&gt; is a group of people who create Open Source software packages for the Solaris Operating System.  Ensure you the right package for your Architecture.
&lt;/p&gt;
&lt;p&gt;
They use to provide a tool called pkg-get to download Solaris packages, but that tool fell into legal troubles and has now been abandoned.  The replacement tool is called pkgutil.  It can be downloaded here:&lt;br /&gt;
&lt;a href="http://www.blastwave.org/howto.html"&gt;http://www.blastwave.org/howto.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It can be installed using the following:
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;# mkdir packages
# cd packages/
# /usr/sfw/bin/wget http://blastwave.network.com/csw/pkgutil_sparc.pkg                                                                                                      --13:10:04--  http://blastwave.network.com/csw/pkgutil_sparc.pkg
           =&amp;gt; `pkgutil_sparc.pkg&amp;#39;
Connecting to blastwave.network.com:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: 347,136 [application/octet-stream]
    0K .......... .......... .......... .......... .......... 14% @  49.75 KB/s
   50K .......... .......... .......... .......... .......... 29% @  82.64 KB/s
  100K .......... .......... .......... .......... .......... 44% @ 107.30 KB/s
  150K .......... .......... .......... .......... .......... 58% @ 163.93 KB/s
  200K .......... .......... .......... .......... .......... 73% @ 164.47 KB/s
  250K .......... .......... .......... .......... .......... 88% @  29.64 KB/s
  300K .......... .......... .......... .........            100% @  62.40 KB/s
13:10:14 (67.83 KB/s) - `pkgutil_sparc.pkg&amp;#39; saved [347136/347136]
# pkgadd -d ./pkgutil_sparc.pkg
The following packages are available:
  1  CSWpkgutil     pkgutil - Installs Solaris packages easily
                    (sparc) 1.6.1,REV=2009.06.15
Select package(s) you wish to process (or &amp;#39;all&amp;#39; to process
all packages). (default: all) [?,??,q]:
Processing package instance &amp;lt;CSWpkgutil&amp;gt; from &amp;lt;/packages/pkgutil_sparc.pkg&amp;gt;
pkgutil - Installs Solaris packages easily
(sparc) 1.6.1,REV=2009.06.15
Please see /opt/csw/share/doc/pkgutil/license for license information.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of &amp;lt;CSWpkgutil&amp;gt; [y,n,?] y
Installing pkgutil - Installs Solaris packages easily as &amp;lt;CSWpkgutil&amp;gt;
## Installing part 1 of 1.
/etc/opt/csw/pkgutil.conf.CSW
/opt/csw/bin/bldcat
/opt/csw/bin/chkcat
/opt/csw/bin/pkgutil
/opt/csw/etc/pkgutil.conf.CSW
/opt/csw/libexec/pkgutil/wget
/opt/csw/share/doc/pkgutil/license
/opt/csw/share/doc/pkgutil/readme
/opt/csw/share/man/man1/bldcat.1
/opt/csw/share/man/man1/chkcat.1
/opt/csw/share/man/man1/pkgutil.1
/var/opt/csw/pkgutil/admin.CSW
[ verifying class &amp;lt;none&amp;gt; ]
## Executing postinstall script.
Installation of &amp;lt;CSWpkgutil&amp;gt; was successful.
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
If you add /opt/csw/bin path you can use &lt;b&gt;pkgutil&lt;/b&gt; and all the software downloaded from blastwave.
&lt;/p&gt;
&lt;h3&gt;webmin&lt;/h3&gt;
&lt;p&gt;
webmin is great web management console for administering unix machines brought to you by the good people of &lt;a href="http://www.webmin.com/"&gt;http://www.webmin.com/&lt;/a&gt;.  There is Solaris package of it that can be downloaded and installed.  Ensure you the right package for your Architecture.
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;# mkdir packages
# cd packages/
# /usr/sfw/bin/wget http://prdownloads.sourceforge.net/webadmin/webmin-1.480.pkg.gz
pkgadd -d webmin-1.480.pkg WSwebmin
...
Installation of &amp;lt;WSwebmin&amp;gt; was successful.
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
You can then access webmin web console using the following URL:&lt;br /&gt;
&lt;a href="http://servername:100000"&gt;http://servername:10000&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
See &lt;a href="http://www.webmin.com/solaris.html"&gt;http://www.webmin.com/solaris.html&lt;/a&gt; for more details.
&lt;/p&gt;
&lt;p&gt;
Login using your root (or equivalent) username and password.
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=93" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Solaris+10/default.aspx">Solaris 10</category></item><item><title>Playing Worms Armageddon over the Internet</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/07/26/playing-worms-armageddon-over-the-internet.aspx</link><pubDate>Mon, 27 Jul 2009 02:14:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:88</guid><dc:creator>mike.clarke</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=88</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/07/26/playing-worms-armageddon-over-the-internet.aspx#comments</comments><description>&lt;h3&gt;Playing Worms Armageddon over the Internet&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://wormsarmageddon.team17.com/"&gt;Worms Armageddon&lt;/a&gt; is a great game.  Maybe you played in University over LAN and now you want to play it over the Internet.  Inside Worms there are two multi player options: &lt;b&gt;LAN&lt;/b&gt; and &lt;b&gt;WormNET&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
I have no idea what WormNET is, I&amp;#39;ve never been able to make it work.  This guide is going to explain how to play a LAN game over the Internet.
&lt;/p&gt;
&lt;h3&gt;LAN&amp;#39;s and Worms&lt;/h3&gt;
&lt;p&gt;
A LAN is a group of computers connected to each other that can talk to each other.  LANs are great for gaming and a LAN is required for Worms multi player.
&lt;/p&gt;
&lt;p&gt;

&lt;img src="http://mystyleit.com/images/blogs/playingwormsarmageddonovertheinternet/0000.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
When you have the Internet in between a bunch of computers, the LAN model doesn&amp;#39;t work anymore and neither does multi player worms.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/playingwormsarmageddonovertheinternet/0001.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
So the answer is obvious, make a LAN over the Internet.  This can be done through Virtual Private Networking (VPN).  VPN is the technology that allows you to create LANs over the Internet.
&lt;/p&gt;
&lt;h3&gt;Playing Worms Armageddon over the Internet&lt;/h3&gt;
&lt;p&gt;
Hamachi is a free VPN service that works really well for gaming because it route&amp;#39;s UDP packets, something that not all VPN does, like PPTP.  So download and install Hamachi.  You can download Hamachi here:&lt;br /&gt;
&lt;a href="https://secure.logmein.com/products/hamachi/vpn.asp?lang=en"&gt;https://secure.logmein.com/products/hamachi/vpn.asp?lang=en&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Once you&amp;#39;ve downloaded, installed, configured Hamachi it creates a additional NIC on your computer.  This NIC is going to used in the VPN connection and is going to fool Worms into thinking it is on a LAN -- so you can player LAN games over the Internet.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/playingwormsarmageddonovertheinternet/0002.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
So in Hamachi you can make password protected groups.  These groups are your LAN, you can create a group and send the name and password to your friends and instand LAN, instant worms LAN party.
&lt;/p&gt;
&lt;h3&gt;Multi Homed PC&amp;#39;s and old Games&lt;/h3&gt;
&lt;p&gt;
So with Hamachi installed you will have at least two NICs.  Some old games don&amp;#39;t function right with two NICs installed.  They don&amp;#39;t know which NIC to use.  I think worms is one of these games.  I&amp;#39;m not sure, but this will ensure that it will definately work.
&lt;/p&gt;
&lt;p&gt;
Download this program called ForceBindIP.  Get the &lt;b&gt;ForceBindIP-1.2-Setup.exe&lt;/b&gt;.  It can be downloaded here:&lt;br /&gt;
&lt;a href="http://www.r1ch.net/stuff/forcebindip/"&gt;http://www.r1ch.net/stuff/forcebindip/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
So ForceBindIP makes a program only see one NIC.  We are going to use it force worms to only see one NIC.
&lt;/p&gt;
&lt;p&gt;
So create a new Windows shortcut and in the &lt;b&gt;location of the item&lt;/b&gt; type the following:
&lt;/p&gt;
&lt;blockquote&gt;
%windir%\system32\forcebindip.exe HAMACHI_IP &amp;quot;C:\MicroProse\Worms Armageddon\wa.exe&amp;quot;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/playingwormsarmageddonovertheinternet/0003.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
But replace HAMACHI_IP with the IP address you got from Hamachi.
&lt;/p&gt;
&lt;h3&gt;Update Worms&lt;/h3&gt;
&lt;p&gt;
Worms v3.0 crashes for me when using my Hamachi shortcut.  You need to get the latest patch to make it work.  The latest version of worms is v3.6.29.0 Beta.  The patch can be downloaded here:&lt;br /&gt;
&lt;a href="http://wormsarmageddon.team17.com/main.html?page=supp&amp;amp;area=upda&amp;amp;file=15"&gt;http://wormsarmageddon.team17.com/main.html?page=supp&amp;amp;area=upda&amp;amp;file=15&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Install it.
&lt;/p&gt;
&lt;h3&gt;Worms!!!&lt;/h3&gt;
&lt;p&gt;Finally, get on Skype, connect up with Hamachi, start worms through the customer shortcut and let the sheep fly!
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=88" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/VPN/default.aspx">VPN</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Worms/default.aspx">Worms</category></item><item><title>Running Mecury Mail as a Service</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/06/15/running-mecury-mail-as-a-service.aspx</link><pubDate>Mon, 15 Jun 2009 18:24:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:87</guid><dc:creator>mike.clarke</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=87</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/06/15/running-mecury-mail-as-a-service.aspx#comments</comments><description>&lt;h3&gt;Running Mecury Mail as a Service&lt;/h3&gt;
&lt;p&gt;
Mercury mail is a great, free mail server that can be used for dozens of things.  Unfortunately the free version does not run as a a service.
&lt;/p&gt;
&lt;p&gt;
This post will explain how to run the free version of Mercury Mail as a service.  This procedure could be extended to run other processes as services as well.
&lt;/p&gt;
&lt;h3&gt;Creating a Customer Service&lt;/h3&gt;
&lt;p&gt;
Review the following KB article:&lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/137890"&gt;http://support.microsoft.com/kb/137890&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In short, you can use &lt;b&gt;Instrsrv.exe&lt;/b&gt; to create your own services and &lt;b&gt;srvany.exe&lt;/b&gt; to start executables.  Instrsrv.exe and srvany.exe are included in the &lt;b&gt;Windows Server 2003 Resource Kit Tools&lt;/b&gt; which can be downloaded here:&lt;br /&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;i&gt;Both &lt;b&gt;instsrv.exe&lt;/b&gt; and &lt;b&gt;srvany.exe&lt;/b&gt; have worked for me on x64 Server 2008&lt;/i&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Creating the Mercury Mail Service&lt;/h3&gt;
&lt;p&gt;
Create a folder called &lt;b&gt;service&lt;/b&gt; in your MERCURY installation folder.  Copy &lt;b&gt;instsrv.exe&lt;/b&gt; and &lt;b&gt;srvany.exe&lt;/b&gt;.  Create to batch scripts, call one &lt;b&gt;service.bat&lt;/b&gt; and the other &lt;b&gt;remove.bat&lt;/b&gt;.  You should have something that looks like this:
&lt;/p&gt;
&lt;p&gt;

&lt;img src="http://mystyleit.com/images/blogs/runningmecurymailasaservice/0000.JPG" border="0" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
Add the following to service.bat (this batch file will create the service)
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;&amp;quot;C:\MERCURY\SERVICE\Instsrv.exe&amp;quot; &amp;quot;Mercury for Win32&amp;quot; &amp;quot;C:\MERCURY\SERVICE\Srvany.exe&amp;quot;
pause
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
Add the following to remove.bat (this batch file remove/uninstall the service)
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;&amp;quot;C:\MERCURY\SERVICE\Instsrv.exe&amp;quot; &amp;quot;MERCURY32&amp;quot; REMOVE
pause&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
Next run &lt;b&gt;service.bat&lt;/b&gt;.  This will create the service entry.
&lt;/p&gt;
&lt;p&gt;
The final step is to setup the registry for srvany.exe.  Create the following keys and values:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/runningmecurymailasaservice/0001.JPG" border="0" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
Finally start up the service.
&lt;/p&gt;
&lt;p&gt;

&lt;img src="http://mystyleit.com/images/blogs/runningmecurymailasaservice/0002.JPG" border="0" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
Be careful not to start Mercury in the native app mode while the service is running, or you might make it angry.  The best way to do it is to stop the service, launch Mercury, make your configuration changes, close Mercury, restart the service.

&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Hope you found this information useful!
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=87" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/2003/default.aspx">2003</category></item><item><title>Using Your Laptop As A Wireless Router</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/06/04/using-your-laptop-as-a-wireless-router.aspx</link><pubDate>Fri, 05 Jun 2009 01:09:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:86</guid><dc:creator>mike.clarke</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=86</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/06/04/using-your-laptop-as-a-wireless-router.aspx#comments</comments><description>&lt;h3&gt;Using Your Laptop As A Wireless Router&lt;/h3&gt;
&lt;p&gt;
So for some reason you want to use your laptop as a wireless router.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/usingyourlaptopasawirelessrouter/0000.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
This can be done using the Windows Internet Connection Sharing feature.  This guide will cover how to set it up for Windows XP.  For more information see:&lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/306126"&gt;http://support.microsoft.com/kb/306126&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Internet_Connection_Sharing"&gt;http://en.wikipedia.org/wiki/Internet_Connection_Sharing&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you review the above links you will see they don&amp;#39;t mention how to use ICS to turn your laptop into a Wireless Access Point.  So here how you do it.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;&lt;b&gt;
You cannot use ICS if the network you are sharing has a IP range of 192.168.0.*
&lt;/b&gt;&lt;/i&gt;&lt;b&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;h3&gt;Step 1 - Create Your Wireless Network&lt;/h3&gt;
&lt;p&gt;Create your Ad Hoc wireless network&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/usingyourlaptopasawirelessrouter/0001.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
I personally like WPA because I find WEP keys very hard to remember.
&lt;/p&gt;
&lt;p&gt;
In order to make this connection always available, ensure the following setting.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/usingyourlaptopasawirelessrouter/0002.jpg" alt="" /&gt;&lt;/p&gt;
&lt;h3&gt;Step 2 - The Big Secret&lt;/h3&gt;
&lt;p&gt;
In order for ICS to work with your wireless NIC you must set your wireless NIC with the following static settings:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/usingyourlaptopasawirelessrouter/0003.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
Thank you so much to this post!&lt;br /&gt;
&lt;a href="http://shepherdnick.wordpress.com/setting-up-a-pc-as-a-wireless-router-using-ics/"&gt;http://shepherdnick.wordpress.com/setting-up-a-pc-as-a-wireless-router-using-ics/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;
&lt;b&gt;
You will need to change this back to use any other wireless network with your laptop.
&lt;/b&gt;
&lt;/i&gt;
&lt;/p&gt;
&lt;h3&gt;Step 3 - Enable ICS&lt;/h3&gt;
&lt;p&gt;
On your physical network (the connection you want to share) enable ICS
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/usingyourlaptopasawirelessrouter/0004.jpg" alt="" /&gt;&lt;/p&gt;
&lt;h3&gt;Step 4 - Start Using Your Network&lt;/h3&gt;
&lt;p&gt;
Join your wireless network the way you would join any other wireless network.
&lt;/p&gt;
&lt;h3&gt;Unanswered Questions&lt;/h3&gt;
&lt;p&gt;
I&amp;#39;m not sure if it is possible to not broadcast the SSID of your network.  I was unable to locate any information on this.  If anybody know please but it in the comments.
&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Hope you find this guide useful.  You wouldn&amp;#39;t believe how long it took me to figure this out.
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=86" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Wireless/default.aspx">Wireless</category></item><item><title>32bit Windows Memory and Java</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/05/27/32bit-windows-memory-and-java.aspx</link><pubDate>Wed, 27 May 2009 20:56:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:85</guid><dc:creator>mike.clarke</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=85</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/05/27/32bit-windows-memory-and-java.aspx#comments</comments><description>&lt;h3&gt;32bit Windows Memory and Java&lt;/h3&gt;
&lt;p&gt;
Understanding 32bit process limitations in Windows is complex.  The following is a quick run down of basics, followed by a quick explanation of JRockit (and why it rocks!).
&lt;/p&gt;
&lt;h3&gt;The Problem&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://mystyleit.com/images/blogs/32bitwindowsmemoryandjava/0000.JPG"&gt;&lt;img src="http://mystyleit.com/images/blogs/32bitwindowsmemoryandjava/0000.JPG" width="50%" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Physical Address Extension&lt;/h3&gt;
&lt;p&gt;
So as you can see from above, &lt;b&gt;Physical Address Extension&lt;/b&gt; allows a 32bit OS to address up to 64GB of RAM.  32bit Windows can in fact have up to 64GB of RAM depending on the version.  See the following to learn about the memory limits of each version of Windows and PAE:&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/aa366778.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa366778.aspx&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx"&gt;http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Physical_Address_Extension"&gt;http://en.wikipedia.org/wiki/Physical_Address_Extension&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In short, if you run 32bit Server 2003 Enterprise you can put up to 64 GB of RAM in your machine (provided your hardware has PAE).  From a process perspective, PAE is unimportant.
&lt;/p&gt;
&lt;h3&gt;Process Address Space (No /3GB switch)&lt;/h3&gt;
&lt;p&gt;
Now we talking about how much memory a 32bit process can use in Windows.  By default without modifications the theoretical limit is &lt;b&gt;2GB&lt;/b&gt;.  In practice the limit is usually around &lt;b&gt;1.5GB&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
This is because for a 32bit process Windows cuts the Process Address Space in half.  Half goes to Kernal Memory (which a user process cannot use) and the other half goes to user mode (which you can use).  It doesn&amp;#39;t matter how much RAM is in the box, a 32bit process can only use 2GB of RAM.  See below for more info:&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/ms189334.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms189334.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Process Address Space (With /3GB switch)&lt;/h3&gt;
&lt;p&gt;
When you use the &lt;b&gt;/3GB&lt;/b&gt; in the boot.ini what this does is it &lt;b&gt;decreases the Kernal mode memory&lt;/b&gt; and &lt;b&gt;increases the user mode memory&lt;/b&gt;.  But there is a catch, the program must be compiled/linked using the /LARGEADDRESSAWARE switch.
&lt;/p&gt;
&lt;p&gt;
See the following under the &lt;b&gt;Application Changes&lt;/b&gt; section:&lt;br /&gt;
&lt;a href="http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx"&gt;http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Address Windowing Extensions&lt;/h3&gt;
&lt;p&gt;
The final thing is &lt;b&gt;Address Windowing Extensions&lt;/b&gt;.  This when a program is written to use more memory that what is in the Process Address Space.  I think Exchange, and SQL have this ability.  Below is more information:&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Address_Windowing_Extensions"&gt;http://en.wikipedia.org/wiki/Address_Windowing_Extensions&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;
Some hopefully that helps to focus what&amp;#39;s going on with 32bit processes in Windows.  If your into Java hopefully know your asking yourself &lt;b&gt;&lt;i&gt;is the JRE compiled with the /LARGEADDRESSAWARE switch?&lt;/i&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
Finding the answer to that has proven very difficult, but the answer is a disappointing &lt;b&gt;no&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
This is the best answer I could find.  See:&lt;br /&gt;
&lt;a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/jdk/diagnosis/dw3gbswitch3.pdf"&gt;http://download.boulder.ibm.com/ibmdl/pub/software/dw/jdk/diagnosis/dw3gbswitch3.pdf&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This is the important part:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;b&gt;So what does the /3GB switch do for Java then?&lt;/b&gt;&lt;br /&gt;
The /3GB switch does enable the Java heap to grow a bit from a
practical max of about 1.5 GB up to 1.7 GB or maybe even 1.8 GB. If
you are already struggling to fit everything into your Java heap, the /3GB
switch is not going to be of much help.
The key advantage lies in the extra space available for threads (stack
space), and native code (either for JIT&amp;rsquo;d code or application
requirements).
&lt;/blockquote&gt;
&lt;p&gt;
Below is another explanation:&lt;br /&gt;
&lt;a href="http://blogs.sun.com/moazam/entry/why_can_t_i_allocate"&gt;http://blogs.sun.com/moazam/entry/why_can_t_i_allocate&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;JRocket&lt;/h3&gt;
&lt;p&gt;
JRocket is the Oracle version of the JRE.  It &lt;b&gt;is&lt;/b&gt; compiled with the /3GB switch.  In addition it doesn&amp;#39;t need a continues Process Address Space.
&lt;/p&gt;
&lt;p&gt;
Usually when the Sun JRE/JDK asks Windows for a ton of memory, say like 1.5GB.  What it really says to Windows is I need 1.5GB of continues memory.  This can be a hard order to fill for the OS depending on what it is doing at the time.  JRocket doesn&amp;#39;t require the memory be continues which is great!
&lt;/p&gt;
&lt;p&gt;
More information about JRocket can be found under the following links:&lt;br /&gt;
&lt;a href="http://www.oracle.com/appserver/jrockit/index.html"&gt;http://www.oracle.com/appserver/jrockit/index.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.oracle.com/technology/software/products/jrockit/index.html"&gt;http://www.oracle.com/technology/software/products/jrockit/index.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://web.archive.org/web/20080119012415/http://dev2dev.bea.com/blog/hstahl/archive/2005/12/how_to_get_almo.html"&gt;http://web.archive.org/web/20080119012415/http://dev2dev.bea.com/blog/hstahl/archive/2005/12/how_to_get_almo.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Just to illustrate that drastic difference you can get between the Sun JRE/JDK and JRocket below are some screen shots from a JBOSS server.  The box has 5GB of RAM and the /3GB switch enabled.  Using the standard JRE I can&amp;#39;t start JBOSS with more than 1536MB of memory.  Using JRocket I can start it with a whopping 2560MB of memory.
&lt;/p&gt;
&lt;h4&gt;With Sun JDK&lt;/h4&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;set JAVA_OPTS=%JAVA_OPTS% -Xms2560m -Xmx2560m
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/32bitwindowsmemoryandjava/0001.JPG" border="0" alt="" /&gt;&lt;/p&gt;
&lt;h4&gt;With JROCKET&lt;/h4&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;set JAVA_OPTS=%JAVA_OPTS% -Xms2560m -Xmx2560m
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://mystyleit.com/images/blogs/32bitwindowsmemoryandjava/0002.JPG" border="0" alt="" /&gt;&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
JRocket kicks ass!  Not only can it use more memory than the Sun JRE it&amp;#39;s also optimized for speed!
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=85" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Tomcat/default.aspx">Tomcat</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/JAVA/default.aspx">JAVA</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Windows/default.aspx">Windows</category></item><item><title>Tomcat Authentication to Active Directory</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/05/22/tomcat-authentication-to-active-directory.aspx</link><pubDate>Fri, 22 May 2009 15:33:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:83</guid><dc:creator>mike.clarke</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=83</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/05/22/tomcat-authentication-to-active-directory.aspx#comments</comments><description>&lt;h3&gt;Tomcat Authentication to Active Directory&lt;/h3&gt;
&lt;p&gt;
Love IIS and its easy Authentication Model (&lt;b&gt;Anonymous, Basic, Integrated&lt;/b&gt;)?  Me too!  The following post will, to the best of my ability, explain how to make Tomcat to Basic and Integrated Authentication to Active Directory (AD).  It actually isn&amp;#39;t to bad but the information is all over the place.
&lt;/p&gt;
&lt;p&gt;
In order to be successful at this you will need to have a good working knowledge of Tomcat.  If you don&amp;#39;t I suggest reading this:&lt;br /&gt;
&lt;a href="http://mystyleit.com/blogs/mystyleit/archive/2008/12/05/adventures-with-tomcat-5-5.aspx"&gt;http://mystyleit.com/blogs/mystyleit/archive/2008/12/05/adventures-with-tomcat-5-5.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Tomcat LDAP Authentication to AD (aka Basic)&lt;/h3&gt;
&lt;p&gt;
If you have read the official Tomcat documentation, hopefully you know that we need to create a JNDI Realm.  In this example we are going to create a Global Realm, the means it is going in the &lt;b&gt;Service&lt;/b&gt; area of the server.xml.
&lt;/p&gt;
&lt;p&gt;
Here is the link to the official documentation:&lt;br /&gt;
&lt;a href="http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html#JNDIRealm"&gt;http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html#JNDIRealm&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you have read the documentation you will see that JNDI Realms support to modes, &lt;b&gt;Bind mode&lt;/b&gt; and &lt;b&gt;Comparison mode&lt;/b&gt;.  Based on everything I have read, &lt;b&gt;Bind mode&lt;/b&gt; does &lt;b&gt;NOT&lt;/b&gt; work with AD.  Only &lt;b&gt;Comparison mode&lt;/b&gt; modes does.
&lt;/p&gt;
&lt;p&gt;
Creating the authentication is a two step process.  The steps are:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;We must create a global JDNI Realm&lt;/li&gt;
&lt;li&gt;Create a security constraint in the web.xml (equivalent checking off the &lt;b&gt;Basic Authentication&lt;/b&gt; check box in IIS)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
So lets have a look at a Comparison mode JNDI Realm.  This would go in the &lt;b&gt;server.xml&lt;/b&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;&amp;lt;Realm className=&amp;quot;org.apache.catalina.realm.JNDIRealm&amp;quot;

		&amp;lt;!-- The LDAP Address of your DC --&amp;gt;
		connectionURL=&amp;quot;ldap://dc1.domain.local:389&amp;quot;
		&amp;lt;!-- Account information to access the Directory --&amp;gt;
		connectionName=&amp;quot;tomcat@DOMAIN&amp;quot;
		connectionPassword=&amp;quot;AReallyLongPassword&amp;quot;

		&amp;lt;!-- Where should Tomcat look for users --&amp;gt;
		userBase=&amp;quot;OU=users,OU=mydomain,DC=DOMAIN,DC=local&amp;quot;
		userSearch=&amp;quot;(sAMAccountName={0})&amp;quot;
		userSubtree=&amp;quot;true&amp;quot;
		userRoleName=&amp;quot;memberOf&amp;quot;

		&amp;lt;!-- Where should tomcat look for groups --&amp;gt;
		roleBase=&amp;quot;OU=groups,OU=mydomain,DC=DOMAIN,DC=local&amp;quot;
		roleSubtree=&amp;quot;true&amp;quot;
		roleName=&amp;quot;cn&amp;quot;
		roleSearch=&amp;quot;(member={0})&amp;quot;
		&amp;lt;!-- Debug Level --&amp;gt;
		debug=&amp;quot;99&amp;quot;
	/&amp;gt;
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
So lets have a look security constraint.  This goes in your applications &lt;b&gt;web.xml&lt;/b&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;		&amp;lt;security-constraint&amp;gt;
		&amp;lt;web-resource-collection&amp;gt;
			&amp;lt;web-resource-name&amp;gt;Entire Application&amp;lt;/web-resource-name&amp;gt;
			&amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;
		&amp;lt;/web-resource-collection&amp;gt;

		&amp;lt;!-- The name of the AD security groups users must be a member of to login --&amp;gt;
		&amp;lt;auth-constraint&amp;gt;
			&amp;lt;role-name&amp;gt;Tomcat Users&amp;lt;/role-name&amp;gt;
		&amp;lt;/auth-constraint&amp;gt;
		&amp;lt;/security-constraint&amp;gt;

		&amp;lt;!-- Basic Authentication using a JNDIRealm --&amp;gt;
		&amp;lt;login-config&amp;gt;
			&amp;lt;auth-method&amp;gt;BASIC&amp;lt;/auth-method&amp;gt;
			&amp;lt;realm-name&amp;gt;JNDIRealm&amp;lt;/realm-name&amp;gt;
		&amp;lt;/login-config&amp;gt;

&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
Below is a link to a great MSDN web cast about setting up the same thing:&lt;br /&gt;
&lt;a href="http://blogs.msdn.com/alextch/archive/2007/06/25/configuring-tomcat-to-authenticate-against-active-directory.aspx"&gt;http://blogs.msdn.com/alextch/archive/2007/06/25/configuring-tomcat-to-authenticate-against-active-directory.aspx&lt;/a&gt;

&lt;/p&gt;
&lt;h3&gt;Tomcat NTLM Authentication to AD (aka Integrated)&lt;/h3&gt;
&lt;p&gt;
Next up is setting up Tomcat to use NTLM authentication (aka Integrated).  This one is more complicated.
&lt;/p&gt;
&lt;h4&gt;NTLM&lt;/h4&gt;
&lt;p&gt;
NTLM is complicated stuff.  In short there are two versions of NTLM, NTLMv1 and NTLMv2.  NTLMv2 is the good stuff.  NTLMv1 is the bad stuff.  If you would like to know more I recommend reading the following:&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/NTLM"&gt;http://en.wikipedia.org/wiki/NTLM&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://technet.microsoft.com/en-us/magazine/2006.08.securitywatch.aspx"&gt;http://technet.microsoft.com/en-us/magazine/2006.08.securitywatch.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;JCIFS&lt;/h4&gt;
&lt;p&gt;
JCIFS is a open source client library that can do all sorts of things, including to NTLM Authentication for a web app.  See the following:&lt;br /&gt;
&lt;a href="http://jcifs.samba.org/"&gt;http://jcifs.samba.org/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jcifs.samba.org/src/docs/ntlmhttpauth.html"&gt;http://jcifs.samba.org/src/docs/ntlmhttpauth.html&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;Deploying JCIFS&lt;/h4&gt;
&lt;p&gt;
There are many deployment scenarios for JCIFS.  The deployment I&amp;#39;m covering getting JCIFS to Authenticate against a &lt;b&gt;Network Share&lt;/b&gt;.  In this approach you create a secure network share, only the users who have access to the network share can access the web site.
&lt;/p&gt;
&lt;p&gt;
The installation has several steps:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a secured share and secure using NTFS permissions&lt;/li&gt;
&lt;li&gt;Download the jcifs.jar and copy to the lib folder of your web app&lt;/li&gt;
&lt;li&gt;Create the JCIFS filter in you web app&amp;#39;s web.xml file&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
This guide is not going to cover how to create a network share.  So look elsewhere.
&lt;/p&gt;
&lt;p&gt;
Let&amp;#39;s have a look at the JCIFS filter we need to create in the web.xml:
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;
	&amp;lt;filter&amp;gt;
		&amp;lt;filter-name&amp;gt;NtlmHttpFilter&amp;lt;/filter-name&amp;gt;
		&amp;lt;filter-class&amp;gt;jcifs.http.NtlmHttpFilter&amp;lt;/filter-class&amp;gt;


		&amp;lt;init-param&amp;gt;
			&amp;lt;param-name&amp;gt;jcifs.http.domainController&amp;lt;/param-name&amp;gt;
			&amp;lt;param-value&amp;gt;192.168.0.30&amp;lt;/param-value&amp;gt;
		&amp;lt;/init-param&amp;gt;

		&amp;lt;init-param&amp;gt;
			&amp;lt;param-name&amp;gt;jcifs.smb.client.domain&amp;lt;/param-name&amp;gt;
			&amp;lt;param-value&amp;gt;CITY&amp;lt;/param-value&amp;gt;
		&amp;lt;/init-param&amp;gt;
		&amp;lt;!--
		permissions on \\192.168.0.30\JcifsAcl share gate web access
		--&amp;gt;
		&amp;lt;init-param&amp;gt;
			&amp;lt;param-name&amp;gt;jcifs.smb.client.logonShare&amp;lt;/param-name&amp;gt;
			&amp;lt;param-value&amp;gt;JcifsAcl$&amp;lt;/param-value&amp;gt;
		&amp;lt;/init-param&amp;gt;
	&amp;lt;/filter&amp;gt;

	&amp;lt;!-- NTLM Authentication using NtlmHttpFilter --&amp;gt;
	&amp;lt;filter-mapping&amp;gt;
		&amp;lt;filter-name&amp;gt;NtlmHttpFilter&amp;lt;/filter-name&amp;gt;
		&amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;
	&amp;lt;/filter-mapping&amp;gt;
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
For more information see:&lt;br /&gt;
&lt;a href="http://jcifs.samba.org/src/docs/ntlmhttpauth.html#install"&gt;http://jcifs.samba.org/src/docs/ntlmhttpauth.html#install&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The above configuration works on my Server 2008 native domain with no change to the Domain Security policy.
&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
When I went to set all this up myself the first time I had a really hard time finding examples of configurations.  Hopefully these examples are helpful to you.
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=83" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Authentication/default.aspx">Authentication</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Tomcat/default.aspx">Tomcat</category></item><item><title>(Terrible) Adventures with WVC54GC IP Cam</title><link>http://mystyleit.com/blogs/mystyleit/archive/2009/05/11/terrible-adventures-with-wvc54gc-ip-cam.aspx</link><pubDate>Mon, 11 May 2009 18:30:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:81</guid><dc:creator>mike.clarke</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=81</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2009/05/11/terrible-adventures-with-wvc54gc-ip-cam.aspx#comments</comments><description>&lt;h3&gt;(Terrible) Adventures with WVC54GC IP Cam&lt;/h3&gt;
&lt;p&gt;
I was looking for a new, relatively inexpensive, gadget for my house.  I was looking at the flyer for &lt;a href="http://www.canadacomputers.com/"&gt;Canada Computers&lt;/a&gt; and there was a deal on a &lt;a href="http://www.linksysbycisco.com/CA/en/support/WVC54GC"&gt;Linksys WVC54GC IP Cam&lt;/a&gt;.  So I figured OK.
&lt;/p&gt;
&lt;p&gt;
Anybody who has bought a WVC54GC knows that this IP Camera has a complicated setup and not to many features.  I learned this the hard way.  The positive thing about this camera is that, if your crafty, you can make it do everything with a lot of work.  What following is the things I managed to make mine do.
&lt;/p&gt;
&lt;h3&gt;Streams Coming out of the Cam&lt;/h3&gt;
&lt;p&gt;
The cam has three streams coming out of the cam:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;http://[camera address]/img/video.asf &lt;i&gt;[ASF Stream]&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;http://[camera address]/img/mjpeg.jpg &lt;i&gt;[Motion JPEG]&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;http://[camera address]/img/mjpeg.cgi &lt;i&gt;[Motion JPEG]&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Opening one of the Steams&lt;/h3&gt;
&lt;p&gt;The cam is designed to be used either through Internet Explore (via ActiveX control) or using the Linksys IP Cam think client, available for download here:&lt;br /&gt;
&lt;a href="http://www.linksysbycisco.com/CA/en/support/WVC54GC/download"&gt;http://www.linksysbycisco.com/CA/en/support/WVC54GC/download&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;The Setup Wizard is actually the Think Client&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
However the above mentioned streams can also be directly opened in VLC.  VLC is a cross-platform media player and streaming server.&lt;br /&gt;
&lt;a href="http://www.videolan.org/vlc/"&gt;http://www.videolan.org/vlc/&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Capturing a Still Image from the IP Cam&lt;/h3&gt;
&lt;p&gt;
So as complained about by many, the Cam cannot capture a still jpg.  Can&amp;#39;t do it.  The &lt;a href="http://www.linksysbycisco.com/US/en/products/WVC54GCA"&gt;WVC54GCA&lt;/a&gt; can but not this guy.  Plus it needs a ActiveX control to view anything so, checking in on the cam from any browser just isn&amp;#39;t possible.
&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;
So here starts the terrible adventure.  There are ton of open source encoding tools that can literally do everything in the right hands.  As with most open source projects, they are not that polished and more geared for Linux users.  One of them is mplayer.exe.  The mplayer project can be found here:&lt;br /&gt;
&lt;a href="http://www.mplayerhq.hu/"&gt;http://www.mplayerhq.hu/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
As you may have noticed, only the source code is available.  Thankfully, somebody has compiled it for Windows and posted it here and lots of other places:&lt;br /&gt;
&lt;a href="http://majorgeeks.com/MPlayer_d5663.html"&gt;http://majorgeeks.com/MPlayer_d5663.html/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
So it is possible to grab a frame from the stream as a jpeg using the following mplayer.exe command
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;mplayer.exe http://[camera address]/img/video.asf -frames 1 -vo jpeg:quality=100:maxfiles=1
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
I got this info from this guy:&lt;br /&gt;
&lt;a href="http://www.infohit.net/blog/post/using-linksys-wvc54gc-webcam-with-linux.html"&gt;http://www.infohit.net/blog/post/using-linksys-wvc54gc-webcam-with-linux.html/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I took this caputing a jpg from the cam one step futher.  I wrote a .NET/C# app to execute a batch script (that contains the above command).  This bascially creates a event driven web site that can display a still from the cam.  This is a &lt;b&gt;very&lt;/b&gt; rough app.  This app requires framework 2.0.
&lt;/p&gt;
&lt;p&gt;
This small (and terrible) little app can be downloaded here:&lt;br /&gt;
&lt;a href="http://mystyleit.com/downloads\blogs\TerribleAdventureswithWVC54GCIPCam/poll.zip"&gt;http://mystyleit.com/downloads\blogs\TerribleAdventureswithWVC54GCIPCam/poll.zip&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Capturing a Video from the stream&lt;/h3&gt;
&lt;p&gt;
The next thing I wanted to do with this cam was to capture a video at a specific time.  This can be done through the Thick Client but I really don&amp;#39;t like the included scheduler.  I&amp;#39;d prefer to do it with a batch script stuffed into the Windows Scheduler.
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;
A command line solution does exist using a open source project called ffmpeg.  The ffmpeg project is located here:&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.ffmpeg.org/"&gt;http://www.ffmpeg.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
Like mplayer this project doesn&amp;#39;t come compiled (and not compiled for windows for sure).  Luckily somebody else has compiled it and this is located here:&lt;br /&gt;
&lt;a href="http://www.videohelp.com/tools/ffmpeg"&gt;http://www.videohelp.com/tools/ffmpeg&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;ffmpeg.exe -i http://[camera address]/img/video.asf -vcodec copy -b 900k output.asf
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
Most of this cam from this post:&lt;br /&gt;
&lt;a href="http://www.infohit.net/blog/post/using-linksys-wvc54gc-webcam-with-linux.html"&gt;http://www.infohit.net/blog/post/using-linksys-wvc54gc-webcam-with-linux.html/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
A asf file should be able to play in Windows Media Player without issue.  I suppose you could re-encode the file to a mpeg or something else depending on your requirements.
&lt;/p&gt;
&lt;h3&gt;Transcoding to Flash&lt;/h3&gt;
&lt;p&gt;
This is where things go terrible.  So what if you want to see the stream in a browser but don&amp;#39;t want to install the ActiveX control?  Well you can do on the fly transcoding to a different stream type, like flash
&lt;/p&gt;
&lt;p&gt;According to this &lt;a href="http://rob-the.geek.nz/2005/10/viewing-multiple-video-streams-using-linksys-wvc54g.html"&gt;this&lt;/a&gt; you should be able to open the asf stream in a embedded media player, but I was never able to make this work.
&lt;/p&gt;
&lt;p&gt;
I believe this CAN be done through VLC but I have not been able to figure out how, or been able to find any posts about how to do this whatsoever.  If anybody knows how please comment on this post or send me a message &lt;a href="http://mystyleit.com/contactus/"&gt;here&lt;/a&gt;.  See link below for more information about VLC:&lt;br /&gt;
&lt;a href="http://wiki.videolan.org/Flash_Video"&gt;http://wiki.videolan.org/Flash_Video&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If however you are game, this can be done through ffserver.  To the best of my knowledge there is no port of ffserver to Windows.  I am unsure if it can be compiled for Windows through Cygwin.  I tried but get the same errors as everyone else.  Ever post I found did not have a solution.  If you are looking for a guide to proceed this is the best I have found:&lt;br /&gt;
&lt;a href="http://www.infohit.net/blog/post/motion-capture-using-the-wvc54gc-with-linux.html"&gt;http://www.infohit.net/blog/post/motion-capture-using-the-wvc54gc-with-linux.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ubuntuforums.org/archive/index.php/t-665607.html"&gt;http://ubuntuforums.org/archive/index.php/t-665607.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Here is a excellent guide on how to install ffmpeg (and ffserver) on a Ubuntu box:&lt;br /&gt;
&lt;a href="http://ubuntuforums.org/showpost.php?p=6963607&amp;amp;postcount=360"&gt;http://ubuntuforums.org/showpost.php?p=6963607&amp;amp;postcount=360&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you can follow all that, if you add the following to your ffserver.conf file, you&amp;#39;ll get a swf stream out that you can open in a browser.
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;&amp;lt;Stream stream1.swf&amp;gt;
Feed feed1.ffm
Format swf
VideoCodec flv
VideoFrameRate 2
VideoBufferSize 80000
VideoBitRate 100
VideoQMin 1
VideoQMax 5
VideoSize 352x288
PreRoll 0
Noaudio
&amp;lt;/Stream&amp;gt;
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
If you put something like the following in a page, you should be able to open the swf stream:
&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;&amp;lt;EMBED src=&amp;quot;http://[FFSERVER]/stream1.swf&amp;quot; mce_src=&amp;quot;http://[FFSERVER]/stream1.swf&amp;quot; width=640 height=480 type=&amp;quot;application/x-shockwave-flash&amp;quot;&amp;gt;&amp;lt;/EMBED&amp;gt;
&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
See the following for more information:&lt;br /&gt;
&lt;a href="http://ubuntuforums.org/showthread.php?t=665607"&gt;http://ubuntuforums.org/showthread.php?t=665607&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Again, I think it should be possible to do the transcode through VLC but I have not be able to figure it out.  Hopefully somebody can post some tips about this.
&lt;/p&gt;
&lt;h4&gt;Running FFMPEG using a Script&lt;/h4&gt;
&lt;p&gt;
The FFMPEG process needs a terminal to run.  In addition it seems to crash every 5 to 6 hours.  Ideally you would have a cron job to monitor the process but running FFMPEG in a script can be tricky.  It can be done using the screen command.
&lt;/p&gt;
&lt;p&gt;
Here is my cron job script which I have scheduled to run every hour.  I kill FFMPEG because I found that sometimes the process was still running but not working.  This way I can ensure that I will always get a stream.
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;textarea class="html" name="code"&gt;ffserver_pid=$(ps -e | grep ffserver | cut -c 1-6)
ffmpeg_pid=$(ps -e | grep ffmpeg | cut -c 1-6)
screen_pid=$(ps -e | grep screen | cut -c 1-6)
if [ &amp;quot;$ffserver_pid&amp;quot; == &amp;quot;&amp;quot; ]; then
        echo &amp;quot;ffserver is not running...&amp;quot;
        echo &amp;quot;restarting ffserver.&amp;quot;
        /usr/local/bin/ffserver
fi
if [ &amp;quot;$ffmpeg_pid&amp;quot; != &amp;quot;&amp;quot; ]; then
        echo &amp;quot;ffmpeg is running...&amp;quot;
        echo &amp;quot;restarting the process...&amp;quot;
        kill $ffmpeg_pid
        screen -d -m /usr/local/bin/ffmpeg -an -i http://[CAM ADDRESS]/img/video.asf http://localhost:8090/feed1.ffm
else
        echo &amp;quot;fmpeg is not running...&amp;quot;
        echo &amp;quot;starting ffmpeg.&amp;quot;
        screen -d -m /usr/local/bin/ffmpeg -an -i http://[CAM ADDRESS]/img/video.asf http://localhost:8090/feed1.ffm
fi
&lt;/textarea&gt;
&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Streaming media is complex.  I much prefer web and app servers!
&lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=81" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/WVC54GC/default.aspx">WVC54GC</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/IP+Cams/default.aspx">IP Cams</category></item><item><title>Adventures with Tomcat 5.5</title><link>http://mystyleit.com/blogs/mystyleit/archive/2008/12/05/adventures-with-tomcat-5-5.aspx</link><pubDate>Fri, 05 Dec 2008 22:03:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:70</guid><dc:creator>mike.clarke</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=70</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2008/12/05/adventures-with-tomcat-5-5.aspx#comments</comments><description>&lt;h3&gt;Adventures with Tomcat 5.5&lt;/h3&gt;
&lt;p&gt;Tomcat has one main configuration files: &lt;b&gt;server.xml&lt;/b&gt;. There is also another very misunderstood file &lt;b&gt;web.xml&lt;/b&gt; that I will talk about too. &lt;/p&gt;
&lt;p&gt;server.xml contains all the parameters of the Tomcat instance. The file has the following &amp;quot;big parts&amp;quot;: &lt;/p&gt;&lt;img src="http://mystyleit.com/images/blogs/adventureswithtomcat5.5/0000.JPG" border="0" alt="" /&gt; &lt;br /&gt;&lt;br /&gt;
&lt;table class=""&gt;

&lt;tr&gt;
&lt;th class=""&gt;NAME&lt;/th&gt;
&lt;th class=""&gt;FUNCTION&lt;/th&gt;
&lt;th class=""&gt;CAN CONTAIN&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;Server&lt;/td&gt;
&lt;td class=""&gt;Represents Tomcat itself&lt;/td&gt;
&lt;td class=""&gt;Service, Listener, GlobalNamingResources&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;Service&lt;/td&gt;
&lt;td class=""&gt;Groups Connectors that share an Engine.&lt;/td&gt;
&lt;td class=""&gt;One or more Connectors followed by one Engine, Listener&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;Engine&lt;/td&gt;
&lt;td class=""&gt;Handles all requests.&lt;/td&gt;
&lt;td class=""&gt;Host, Realm, Valve, Listener, Cluster&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;Host&lt;/td&gt;
&lt;td class=""&gt;One &amp;quot;virtual host&amp;quot;.&lt;/td&gt;
&lt;td class=""&gt;Alias, Context, Realm, Valve, Listener, Cluster&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class=""&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class=""&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;Context&lt;/td&gt;
&lt;td class=""&gt;Configures one &amp;quot;web application&amp;quot; within a host.&lt;/td&gt;
&lt;td class=""&gt;Loader, Manager, Realm, Resources, ResourceLink, WatchedResource, Environment, Value, Listener&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Now let&amp;#39;s talk about the most important/common questions about the file, &lt;b&gt;Connectors&lt;/b&gt; and &lt;b&gt;Realms&lt;/b&gt; (ie Authentication). &lt;/p&gt;
&lt;h3&gt;Minimal server.xml File&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;You should use the default server.xml file, this is only presented in order to get familiar with it&amp;#39;s layout.&lt;/i&gt; &lt;/p&gt;&lt;textarea class="html" name="code"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;Server port=&amp;quot;8005&amp;quot; shutdown=&amp;quot;SHUTDOWN&amp;quot;&amp;gt;

  &amp;lt;GlobalNamingResources&amp;gt;
    &amp;lt;!-- Used by Manager webapp --&amp;gt;
    &amp;lt;Resource name=&amp;quot;UserDatabase&amp;quot; auth=&amp;quot;Container&amp;quot;
              type=&amp;quot;org.apache.catalina.UserDatabase&amp;quot;
       description=&amp;quot;User database that can be updated and saved&amp;quot;
           factory=&amp;quot;org.apache.catalina.users.MemoryUserDatabaseFactory&amp;quot;
          pathname=&amp;quot;conf/tomcat-users.xml&amp;quot;&amp;gt;
  &amp;lt;/GlobalNamingResources&amp;gt;

  &amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;
    &amp;lt;Connector port=&amp;quot;8080&amp;quot;&amp;gt;

    &amp;lt;!-- This is here for compatibility only, not required --&amp;gt;
    &amp;lt;Connector port=&amp;quot;8009&amp;quot; protocol=&amp;quot;AJP/1.3&amp;quot;&amp;gt;

    &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;localhost&amp;quot;&amp;gt;
      &amp;lt;Realm className=&amp;quot;org.apache.catalina.realm.UserDatabaseRealm&amp;quot;
             resourceName=&amp;quot;UserDatabase&amp;quot;&amp;gt;
      &amp;lt;Host name=&amp;quot;localhost&amp;quot; appBase=&amp;quot;webapps&amp;quot;&amp;gt;
    &amp;lt;/Engine&amp;gt;
    
  &amp;lt;/Service&amp;gt;
&amp;lt;/Server&amp;gt;
&lt;/textarea&gt; 
&lt;h3&gt;Connectors&lt;/h3&gt;
&lt;p&gt;Tomcat has this idea of Connects, each Connector allows Tomcat to speak a different language, HTTP, or AJP, or HTTPS. The default Connectors are HTTP (on port 8080) and AJP (port 8009). AJP is what IIS or Apache talk to Tomcat on (when you have a web server sitting in front of Tomcat). &lt;/p&gt;
&lt;p&gt;One important trick with the AJP connector is to turn off Tomcat Authentication when you have another web server sitting in front of Tomcat performing the authentication. To do this, add the following to your AJP connector entry: &lt;/p&gt;&lt;textarea class="html" name="code"&gt;&amp;lt;Connector port=&amp;quot;8009&amp;quot;
               enableLookups=&amp;quot;false&amp;quot; redirectPort=&amp;quot;8443&amp;quot; protocol=&amp;quot;AJP/1.3&amp;quot; tomcatAuthentication=&amp;quot;false&amp;quot;&amp;gt;
&lt;/textarea&gt; 
&lt;h3&gt;SSL Connector&lt;/h3&gt;
&lt;p&gt;In order to have an SSL connector, you need to have a keystore that contains a SSL certificate. Here is a link to how to create a keystore, and other keystore tasks (import, export, etc):&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html"&gt;http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Here is a link to a GUI interface to the keystore, requires Java 6 and very handy:&lt;br /&gt;&lt;a href="http://yellowcat1.free.fr/"&gt;http://yellowcat1.free.fr/&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;So (hopefully) you have a keystore with a key inside (the default self-signed key or something else). Now you need to add the SSL connector. It should go with the other connectors in the &lt;b&gt;Service&lt;/b&gt; section and looks something like this: &lt;/p&gt;&lt;textarea class="html" name="code"&gt;&amp;lt;Connector port=&amp;quot;8443&amp;quot; maxHttpHeaderSize=&amp;quot;8192&amp;quot;
   		maxThreads=&amp;quot;150&amp;quot; minSpareThreads=&amp;quot;25&amp;quot; maxSpareThreads=&amp;quot;75&amp;quot;
   		enableLookups=&amp;quot;false&amp;quot; disableUploadTimeout=&amp;quot;true&amp;quot;
   		acceptCount=&amp;quot;100&amp;quot; scheme=&amp;quot;https&amp;quot; secure=&amp;quot;true&amp;quot;
   		clientAuth=&amp;quot;false&amp;quot; keyAlias=&amp;quot;TRIP&amp;quot; keystoreFile=&amp;quot;c:\keystore\keystore.jks&amp;quot; keypass=&amp;quot;changeit&amp;quot;&amp;gt;
&lt;/textarea&gt; 
&lt;p&gt;In order to require SSL on a specific site, you need to configure a security constrant for that app. You can do this by editing that app&amp;#39;s web.xml file (see below). The constrant looks like this: &amp;gt;&lt;textarea class="html" name="code"&gt;&amp;lt;user-data-constraint&amp;gt;
	&amp;lt;transport-guarantee&amp;gt;CONFIDENTIAL&amp;lt;/transport-guarantee&amp;gt;
&amp;lt;/user-data-constraint&amp;gt;
&lt;/textarea&gt; 
&lt;h3&gt;Deploying Web Appls and the web.xml File&lt;/h3&gt;
&lt;p&gt;Hopefully the above explains the server.xml enough to grasp what Tomcat is doing. The important thing to realize is that different sections of the file have differents scopes. The futher down you go, the narrower the scope. &lt;/p&gt;
&lt;p&gt;Tomcat, like Apache, has this idea of a &lt;b&gt;Virtual Host&lt;/b&gt;. Basically it allows you to run serveral different sites on the same port (either 80 or 8080). This post isn&amp;#39;t going to cover all that. Instead, just realize that &lt;b&gt;localhost&lt;/b&gt; is the default host. &lt;/p&gt;
&lt;p&gt;In order to deploy a web app that isn&amp;#39;t a WAR file (beyond the scope of this document) you need to create a &lt;b&gt;context&lt;/b&gt; for it. You can either create the context in the host section in the server.xml (which is &lt;i&gt;bad&lt;/i&gt; because it makes the file more complicated) or you can create a seperate xml file in the host folder, under the Engine. &lt;/p&gt;
&lt;p&gt;The default host folder, (under the default engine) is of course:&lt;br /&gt;&lt;b&gt;\Tomcat 5.5\conf\Catalina\localhost&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;You should name the xml file will of the directory in the URL.&lt;br /&gt;If I created &lt;b&gt;\Tomcat 5.5\conf\Catalina\localhost\myapp.xml&lt;/b&gt; the URL for this application &lt;b&gt;http://&lt;i&gt;site&lt;/i&gt;/myapp&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;A very simple context looks something this: &lt;/p&gt;&lt;textarea class="html" name="code"&gt;&amp;lt;Context&amp;gt;
path=&amp;quot;/myapp&amp;quot;
docBase=&amp;quot;C:\myapp\&amp;quot;
&amp;lt;/Context&amp;gt;
&lt;/textarea&gt; 
&lt;p&gt;For more about contexts see the following:&lt;br /&gt;&lt;a href="http://tomcat.apache.org/tomcat-5.5-doc/config/context.html"&gt;http://tomcat.apache.org/tomcat-5.5-doc/config/context.html&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;What about the web.xml?&lt;/h3&gt;
&lt;p&gt;Every web application is going to have a &lt;b&gt;WEB-INF&lt;/b&gt; folder. In the above example, this would be &lt;b&gt;C:\myapp\WEB-INF&lt;/b&gt;. Inside the WEB-INF folder is a file, &lt;b&gt;web.xml&lt;/b&gt;. &lt;/p&gt;
&lt;p&gt;The web.xml file in the WEB-INF folder of your web app is used to configure &lt;b&gt;that web app&lt;/b&gt;. That is it&amp;#39;s scope &lt;b&gt;ONLY&lt;/b&gt;. &lt;/p&gt;
&lt;p&gt;The web.xml file in &lt;b&gt;Tomcat 5.5\conf&lt;/b&gt; is the global web.xml file. It is processed before it reads the WEB-INF\web.xml file in the app&amp;#39;s docBase. You can override what is in the Tomcat 5.5\conf\web.xml by setting knew values in the WEB-INF\web.xml. &lt;/p&gt;
&lt;p&gt;So (hopefully you have guessed this) you shouldn&amp;#39;t mess about with the Tomcat 5.5\conf\web.xml file. It&amp;#39;s way better to mess around with the web.xml in WEB-INF\ &lt;/p&gt;
&lt;h3&gt;Realms (Tomcat Authentication)&lt;/h3&gt;
&lt;p&gt;Unlike IIS, Tomcat has many, different (and complicated) authentication methods. They call them &lt;b&gt;Realms&lt;/b&gt;. &lt;/p&gt;
&lt;p&gt;The steps for securing a web app is first to have a Realm setup in the server.xml file. The second is to create a security constrant in the app&amp;#39;s web.xml file. &lt;/p&gt;
&lt;p&gt;Going over how to create all the security constraint&amp;#39;s is what Google is great for. The important thing to know about Realms are: 
&lt;ul&gt;
&lt;li&gt;You make them in the server.xml file&lt;/li&gt;
&lt;li&gt;Where you put them affects their scope (ie which applications can use the Realm)&lt;/li&gt;
&lt;li&gt;When in doubt, put them under the Engine, that way every app run by that engine can use them.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Here is a link that covers all of Tomcat&amp;#39;s Realms:&lt;br /&gt;&lt;a href="http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html"&gt;http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;I love IIS. Unfortunately it doesn&amp;#39;t run JSP and Servlets so you need an Application Server. &lt;/p&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=70" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/Tomcat/default.aspx">Tomcat</category></item><item><title>Adventures with x64 IIS</title><link>http://mystyleit.com/blogs/mystyleit/archive/2008/11/13/adventures-with-x64-iis.aspx</link><pubDate>Thu, 13 Nov 2008 22:35:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:67</guid><dc:creator>mike.clarke</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=67</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2008/11/13/adventures-with-x64-iis.aspx#comments</comments><description>&lt;h3&gt;Adventures with x64 IIS&lt;/h3&gt;
&lt;p&gt;Recently I had to deploy 32 bit application on a Windows x64 bit OS. This post raps up some of the things I found along the way. &lt;/p&gt;
&lt;h3&gt;ISAPI Filters&lt;/h3&gt;
&lt;p&gt;The application supports an ISAPI filter, but the filter is only 32 bit, therefore it doesn&amp;#39;t work without modification. If you google this subject you might find this Microsoft KB article:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/405f5bb5-87a3-43d2-8138-54b75db73aa1.mspx?mfr=true"&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/405f5bb5-87a3-43d2-8138-54b75db73aa1.mspx?mfr=true&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;This is only a very small part of the entire story. In order make x64 IIS use x32 ISAPI DLLs you need to do the following: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Uninstall ASP.NET x64 (As if you switch x32 this will cause IIS to crash (ie: Service Unavailable Error)&lt;br /&gt;To uninstall ASP.NET x64 open a command line window and navigate to:&lt;br /&gt;&lt;b&gt;C:\WINDOWS\microsoft.net\Framework64\v2.0.50727&lt;/b&gt;&lt;br /&gt;Then execute the following command (this will uninstall ASP.NET x64):&lt;br /&gt;&lt;b&gt;aspnet_regiis -u&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Now we will execute Microsoft&amp;#39;s command, but you need to make sure you define the location of adsutil.vbs. If you haven&amp;#39;t moved/deleted the file, the command should be:&lt;br /&gt;&lt;b&gt;cscript c:\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32BitAppOnWin64 1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Finally, we will install ASP.NET x32. To install ASP.NET 32 bit open a command line window and navigate to:&lt;br /&gt;&lt;b&gt;C:\WINDOWS\microsoft.net\Framework\v2.0.50727&lt;/b&gt;&lt;br /&gt;Then execute the following command:&lt;br /&gt;&lt;b&gt;aspnet_regiis -i&lt;/b&gt; &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Okay, that was the first hurdle I had to get over. &lt;/p&gt;
&lt;h3&gt;Apache Tomcat Connector&lt;/h3&gt;
&lt;p&gt;So the application was deploying also has an Application portion part to it. Therefore I needed to make IIS play nice with Tomcat. &lt;/p&gt;
&lt;p&gt;Here are the useful websites:&lt;br /&gt;&lt;a href="http://tomcat.apache.org/connectors-doc/"&gt;http://tomcat.apache.org/connectors-doc/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html"&gt;http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;You will need to use the x32 version of isapi_redirect.dll as we just switched IIS to x32 bit&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;You will also need to create the registry entries under &lt;b&gt;Wow6432Node&lt;/b&gt;. &lt;/p&gt;&lt;img src="http://mystyleit.com/images/blogs/adventureswithx64iis/0000.JPG" border="0" alt="" /&gt; 
&lt;p&gt;In short, the connector is controlled by two files, &lt;b&gt;workers.properties&lt;/b&gt; and &lt;b&gt;uriworkermap.properties&lt;/b&gt;. &lt;/p&gt;
&lt;p&gt;workers.properties controlls the worker process. I have never needed anything more then the default/sample configuration: &lt;/p&gt;
&lt;blockquote&gt;&lt;b&gt;# workers.properties.minimal -&lt;br /&gt;#&lt;br /&gt;# This file provides minimal jk configuration properties needed to&lt;br /&gt;# connect to Tomcat.&lt;br /&gt;#&lt;br /&gt;# The workers that jk should create and work with&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;worker.list=wlb,jkstatus&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Defining a worker named ajp13w and of type ajp13&lt;br /&gt;# Note that the name and the type do not have to match.&lt;br /&gt;#&lt;br /&gt;worker.ajp13w.type=ajp13&lt;br /&gt;worker.ajp13w.host=localhost&lt;br /&gt;worker.ajp13w.port=8009&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Defining a load balancer&lt;br /&gt;# &lt;br /&gt;&lt;br /&gt;worker.wlb.type=lb&lt;br /&gt;worker.wlb.balance_workers=ajp13w&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Define status worker&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;worker.jkstatus.type=status&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;The other file, uriworkermap.properties, controlls the mappings, ie what things get forwarded to tomcat. Entries look like this: &lt;/p&gt;
&lt;blockquote&gt;&lt;b&gt;/directory/*.do=wlb &lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;In this case, everything in http://&lt;i&gt;site&lt;/i&gt;/directory ending in do would be forwarded to tomcat. &lt;/p&gt;
&lt;h3&gt;Performance&lt;/h3&gt;
&lt;p&gt;My site in running under Hyper-V (which is really awesome, blows VMware Server out of Water). I&amp;#39;m not sure if it&amp;#39;s because Java doesn&amp;#39;t play nice with VMs, or something else. But every time Tomcat loaded my site, the CPU went crazy! I tried different versions on Java, and it still went crazy. The fix was &lt;b&gt;NOT&lt;/b&gt; to install the native DLL. &lt;/p&gt;&lt;img src="http://mystyleit.com/images/blogs/adventureswithx64iis/0001.JPG" border="0" alt="" /&gt; 
&lt;h3&gt;URL Redirection&lt;/h3&gt;
&lt;p&gt;Finally, I needed to make a URL redirector. Nothing fancy, but here it is: &lt;textarea class="html" name="code"&gt;&amp;lt;%
Response.Redirect &amp;quot;http://site/isapi.dll&amp;quot;
%&amp;gt;
&lt;/textarea&gt; 
&lt;p&gt;In order for it to work, you will need to enable the &lt;b&gt;Active Server Pages Web Service Extension&lt;/b&gt;. &lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Hope this information helps somebody fix something. &lt;/p&gt;
&lt;h3&gt;References&lt;/h3&gt;
&lt;ul&gt;&lt;a href="http://geekswithblogs.net/MattRobertsBlog/Default.aspx"&gt;http://geekswithblogs.net/MattRobertsBlog/Default.aspx&lt;/a&gt; &lt;/ul&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=67" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/IIS/default.aspx">IIS</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/x64/default.aspx">x64</category></item><item><title>MSCS Roundup</title><link>http://mystyleit.com/blogs/mystyleit/archive/2008/11/10/mscs-roundup.aspx</link><pubDate>Mon, 10 Nov 2008 21:23:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:66</guid><dc:creator>mike.clarke</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=66</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2008/11/10/mscs-roundup.aspx#comments</comments><description>&lt;h3&gt;MSCS Roundup&lt;/h3&gt;


&lt;p&gt;
This article links to all the useful resources I have found that relate to Microsoft 2003 Failover Clustering.
&lt;/p&gt;

&lt;br /&gt;
&lt;br /&gt;


&lt;h3&gt;MSCS Terminology&lt;/h3&gt;


&lt;p&gt;
This article defines MSCS terminology:&lt;br /&gt;
&lt;a href="http://technet.microsoft.com/en-us/library/cc757640.aspx"&gt;http://technet.microsoft.com/en-us/library/cc757640.aspx&lt;/a&gt;
&lt;/p&gt;


&lt;br /&gt;
&lt;br /&gt;

&lt;h3&gt;Server 2003 Cluster Models&lt;/h3&gt;

&lt;p&gt;
There are 3 Cluster Models with Windows Server 2003.
&lt;/p&gt;

&lt;br /&gt;

&lt;h4&gt;Model 1: Single Node Cluster&lt;/h4&gt;
&lt;img border="0" src="http://mystyleit.com/images/blogs/mscsroundup/0000.JPG" alt="" /&gt;
&lt;br /&gt;

&lt;i&gt;
In short, this Cluster Model would most likely only be used for testing.
&lt;/i&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;h4&gt;Model 2: Single Quorum Cluster&lt;/h4&gt;
&lt;img border="0" src="http://mystyleit.com/images/blogs/mscsroundup/0001.JPG" alt="" /&gt;
&lt;br /&gt;


&lt;i&gt;
Standard, Active/Failover (or Active/Active) Cluster.  &lt;br /&gt;
What most people thing about when they think of MSCS Clustering.
&lt;/i&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;h4&gt;Model 3: Majority Node Set&lt;/h4&gt;
&lt;img border="0" src="http://mystyleit.com/images/blogs/mscsroundup/0002.JPG" alt="" /&gt;
&lt;br /&gt;


&lt;i&gt;
Not common&lt;br /&gt;
Most likely used only by software designed for this type of cluster.
&lt;/i&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;h4&gt;Model 4: [NEW] Majority Node Set (with a Witness)&lt;/h4&gt;

&lt;img border="0" src="http://mystyleit.com/images/blogs/mscsroundup/0003.JPG" alt="" /&gt;
&lt;br /&gt;

&lt;p&gt;
See this KB for more information:&lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/921181"&gt;http://support.microsoft.com/kb/921181&lt;/a&gt;
&lt;/p&gt;


&lt;br /&gt;

&lt;h4&gt;Additional Information&lt;/h4&gt;


&lt;p&gt;
This article explains the models in greater detail:&lt;br /&gt;
&lt;a href="http://technet.microsoft.com/en-us/library/cc739522.aspx"&gt;http://technet.microsoft.com/en-us/library/cc739522.aspx&lt;/a&gt;
&lt;/p&gt;

&lt;br /&gt;

&lt;h3&gt;Server 2008 Cluster Models&lt;/h3&gt;

&lt;p&gt;
Cluster Models in Server 2008 have changed from Server 2003.  A full discussion is beyond the scope of this post, but here is a link that discusses them further:&lt;br /&gt;
&lt;a href="http://technet.microsoft.com/en-us/magazine/cc672627.aspx"&gt;http://technet.microsoft.com/en-us/magazine/cc672627.aspx&lt;/a&gt;

&lt;br /&gt;


&lt;br /&gt;
&lt;br /&gt;

&lt;h3&gt;Deploying a Single Quorum Cluster&lt;/h3&gt;


&lt;p&gt;
This is the best guide I have ever found:&lt;br /&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=A5BBB021-0760-48F3-A53B-0351FC3337A1&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=A5BBB021-0760-48F3-A53B-0351FC3337A1&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;


&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Installing SQL Server 2005 into a Failover Cluster&lt;/h3&gt;



&lt;p&gt;
This article isn&amp;#39;t very good, but it is the &lt;b&gt;Authoritative&lt;/b&gt; document:&lt;br /&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=818234dc-a17b-4f09-b282-c6830fead499&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=818234dc-a17b-4f09-b282-c6830fead499&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;




&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Installing IIS into a Failover Cluster&lt;/h3&gt;

&lt;p&gt;
Here are the best articles I have found:&lt;br /&gt;

&lt;a href="http://support.microsoft.com/kb/887417"&gt;http://support.microsoft.com/kb/887417&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/248025"&gt;http://support.microsoft.com/kb/248025&lt;/a&gt;
&lt;/p&gt;


&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Clustering Other Things&lt;/h3&gt;


&lt;p&gt;
Instructions about how cluster other services:&lt;br /&gt;
&lt;a href="http://technet.microsoft.com/en-us/library/cc757729.aspx"&gt;http://technet.microsoft.com/en-us/library/cc757729.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=66" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/MSCS/default.aspx">MSCS</category></item><item><title>Creating a UNC Alias for a Windows 2003 Server</title><link>http://mystyleit.com/blogs/mystyleit/archive/2008/10/31/creating-a-unc-alias-for-a-windows-2003-server.aspx</link><pubDate>Fri, 31 Oct 2008 21:04:00 GMT</pubDate><guid isPermaLink="false">e2ddf3f5-6ab8-4101-8b0c-24a0c3b28a45:65</guid><dc:creator>mike.clarke</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mystyleit.com/blogs/mystyleit/rsscomments.aspx?PostID=65</wfw:commentRss><comments>http://mystyleit.com/blogs/mystyleit/archive/2008/10/31/creating-a-unc-alias-for-a-windows-2003-server.aspx#comments</comments><description>&lt;h3&gt;Creating a UNC Alias for a Windows 2003 Server&lt;/h3&gt;



&lt;p&gt;
There are many reasons my you make want to make a CNAME/alias for a Windows 2003 File Server.  These might include ensuring old shortcuts work after a server migration, you might have an application with UNC paths embedded that are very difficult, or impossible to change.
&lt;/p&gt;

&lt;h3&gt;The Problem&lt;/h3&gt;

&lt;p&gt;
Assuming that you have your DNS CNAME created properly, when you try to open the UNC with you&amp;#39;ll be asked to Authenticate, (which shouldn&amp;#39;t happen)
&lt;/p&gt;

&lt;img border="0" src="http://mystyleit.com/images/blogs/creatingauncaliasforawindows2003server/0000.JPG" alt="" /&gt;&lt;/a&gt;

&lt;p&gt;
And even when you try to login, it doesn&amp;#39;t work.
&lt;/p&gt;


&lt;h3&gt;The Fix&lt;/h3&gt;


&lt;p&gt;
In order to allow a Windows File sever respond to a &lt;i&gt;alias&lt;/i&gt; you need to disable some security by way of editing the registry.  These keys need to be created (or editted):
&lt;/p&gt;


&lt;blockquote&gt;
&lt;p&gt;
&lt;b&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]&lt;br /&gt;
&amp;quot;DisableStrictNameChecking&amp;quot;=DWORD:00000001&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]&lt;br /&gt;
&amp;quot;DisableLoopbackCheck&amp;quot;=DWORD:00000001&lt;br /&gt;
&lt;/b&gt;
&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;More Information&lt;/h3&gt;

&lt;p&gt;
Here are the links to the offical KB articles.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/281308"&gt;http://support.microsoft.com/kb/281308&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/926642"&gt;http://support.microsoft.com/kb/926642&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;&lt;img src="http://mystyleit.com/aggbug.aspx?PostID=65" width="1" height="1"&gt;</description><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/UNC/default.aspx">UNC</category><category domain="http://mystyleit.com/blogs/mystyleit/archive/tags/File+Server/default.aspx">File Server</category></item></channel></rss>