<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5645640262316875919</id><updated>2024-08-31T21:47:14.362-07:00</updated><category term="Computing"/><category term="health care"/><title type='text'>Oh! Another Rabbit Hole!</title><subtitle type='html'>High Concentration Distractions Rule here.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5645640262316875919.post-4327121728396404140</id><published>2009-12-29T19:46:00.001-08:00</published><updated>2009-12-29T19:46:13.728-08:00</updated><title type='text'>How Would You Pursue Your Instrument Rating (IFR) Were You to Do It Again?</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To all you instrument rated pilots out there: I’ve made a couple stabs at earning my instrument rating and I find that of all the programs the FAA has described, the instrument rating program is just the sloppiest, loosest program outlined by a set of governmental rules. I’ve even gone so far as to think that following the FAA guidelines as a program is a mistake because they really do just outline the rules, requirements and the procedural elements, as they should. What’s been lacking in my experience is a progressive training program that ties all those elements together into an orderly, logical system by which to fly without reference to the horizon. Training for the written exam consists largely of rote memorization and, since the whole instrument flight is an orderly process, my experience with the training just leaves me frustrated.&lt;/p&gt;  &lt;p&gt;Flying the approaches has been fairly simple for me. Learning to control the airplane in 4 dimensions (yes, I count time as a dimension) has also been fairly easy. Immersion has not been easy and the more I study the syllabus, the more I become convinced that there’s something structurally wrong with the 3 different training approaches I’ve tried.&lt;/p&gt;  &lt;p&gt;So, all of you experienced pilots who hold and use your instrument ratings: How would you go about earning your IFR ticket were you to do it all over again?&lt;/p&gt;  &lt;p&gt;Perhaps it would be helpful to state my goals for this rating. My intent is to not plan on flying heavy IFR as neither I or the aircraft will be flying often enough to make the risk of quickly diminishing weather worth the risk. The primary intent is to be able to safely ascend/descend through thin overcast no more than a dozen times a year. Dodging storms doesn’t seem practical for someone who isn’t intending to make a living as a flyer and it’s well outside the envelope of risk I’m comfortable with. I’ve done that sort of flight once, didn’t like it and have since changed how I make weather decisions. No, this ticket is about extending the utility of the airplane and my license but not to the limits of myself or the aircraft as it’s equipped. I understand that goal is in itself a different form of risk that some would classify as higher, but, regardless, that’s my intent.&lt;/p&gt;  &lt;p&gt;Something about my current skill level and the capabilities of the airplane I intend to use:&lt;/p&gt;  &lt;p&gt;- I’m at about 500 hours TT, including about 400 hours X-Country, and about 440 hours in the same, early Cessna 172. &lt;/p&gt;  &lt;p&gt;- About 20 hours of IFR training, about 6 in actual conditions&lt;/p&gt;  &lt;p&gt;- 17 Approaches in log &lt;/p&gt;  &lt;p&gt;- GPS will be limited to a VFR only system. &lt;/p&gt;  &lt;p&gt;- The aircraft is pressure certified to IFR specifications and is equipped with alternator, a pair of Nav/Comm radios with 2 VOR heads (1 with LOC/GS). No ADF need apply as the word “precision” and ADF should never be found in the same sentence, in my opinion. So there won’t be one in *this* airplane.&lt;/p&gt;  &lt;p&gt;- Currently do not have heated Pitot tube installed on the aircraft (I’m considering it but I understand it’s optional and I understand why some feel it’s not just an option)&lt;/p&gt;  &lt;p&gt;- Despite the non-standard instrument arrangement in this old airplane, learning to do the instrument scan has been easy. Learning how to continually cross-check what they are telling has not been but this has been striking me as a matter of experience (there’s only one way to get that that I know of, unfortunately) and I still have that problem when flying the conventional ‘T’ instrument cluster.&lt;/p&gt;  &lt;p&gt;I’ve received advice to take a week with an instructor and cross the country under the hood (sounds like a great, expensive way to immerse yourself and it’s appealing until I realize that I’ll cross the country and see none of it; call that irony). I’m constantly hounded by King Schools to buy their IFR training materials, bit once, said “Aww, geez” to myself several time afterward. I’ve been told to enroll in a 141 school but I have evidence that I’ll end that with a rating and no funds left for exercising the privilege.&lt;/p&gt;  &lt;p&gt;What have I found to be the most difficult pieces to put in memory, use and retain?    &lt;br /&gt;1. The written exam prep tools are the first thing on the list. All seem to be oriented to just dumping the test questions and answers for memorization. That would be fine if they also explained the logic behind the correct answer. Unlike the Private Exam test prep books, I find the IFR materials to be lacking this detail.&lt;/p&gt;  &lt;p&gt;2. The general lack of agreement between pilots, examiners and instructors about the actual aircraft requirements amazes me. For instance, you wouldn’t believe how many of you insist that Pitot heat is a required item of equipment (it isn’t, believe it or not). Sorting the facts from the assertions eats a lot of time (but it’s been largely worthwhile. It’s just not efficient)&lt;/p&gt;  &lt;p&gt;So now I want to know from you: What would you do differently to acquire your rating again? What would you like to see me change about the way I’m thinking of this rating? What did you like/dislike about the program you followed? Now that you have hours of instrument flight under your belts, were there any “Aha!!” moments that suddenly made it all clear to you?&lt;/p&gt;  &lt;p&gt;Yes, I could really use your help on this. It’s entirely possible that it’s simply not a useful thing for me to pursue this rating. It’s okay to say so because that, too, is valuable to me.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/4327121728396404140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://1morerabbithole.blogspot.com/2009/12/how-would-you-pursue-your-instrument.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/4327121728396404140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/4327121728396404140'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/2009/12/how-would-you-pursue-your-instrument.html' title='How Would You Pursue Your Instrument Rating (IFR) Were You to Do It Again?'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5645640262316875919.post-5786021365080195544</id><published>2009-11-26T21:30:00.001-08:00</published><updated>2009-11-26T21:30:37.937-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computing"/><title type='text'>A VPN client for 64 bit Windows Systems - VPNC in Cygwin</title><content type='html'>&lt;p&gt;This will be a longish post. It will be worth it if you&#39;re frustrated at having to be in the office to use your 64 bit Windows system because you don&#39;t have a real VPN solution available to you.&lt;/p&gt;  &lt;p&gt;Since the advent of SSL VPN solutions we&#39;ve all faced the consuming challenge of making sure we have the right version of a Java client on board, oddball, glue-on, 3rd party &#39;dual-factor&#39; authentication packages and an assortment of half-baked solutions designed to replace the ubiquitous Cisco VPN 3000 Concentrator and its clients. Even Cisco has had trouble displacing this rock-solid platform and is grasping at any reasonable way to rationalize the retirement of the platform.&lt;/p&gt;  &lt;p&gt;To that end, Cisco has not released a VPN 3000 client that is compatible with 64 bit Windows systems and refuses to do so. Instead, you&#39;re advised to nag your network engineers to implement one of their ASA systems in the name of SSL VPN (which is one of the most oversold, least satisfactory technical solutions I&#39;ve ever dealt with). If you find yourself on a 64 bit system and caught in the gap between the 3000 and the SSL solution, this post may be what you&#39;re looking for. And I might as well tell you here &lt;b&gt;why it is this might be a challenge&lt;/b&gt;:&lt;/p&gt;  &lt;p&gt;· VPNC is a Linux application &lt;/p&gt;  &lt;p&gt;· You&#39;ll have to compile VPNC (holy crap, man!)&lt;/p&gt;  &lt;p&gt;· VPNC is a &#39;split tunnel&#39; client. You have to figure out the routing (I&#39;ll help you, honest) because it doesn&#39;t do its own routing like you&#39;re used to with the Cisco client. Following these steps, you should succeed thanks to some of the automation tools I&#39;ll provide&lt;/p&gt;  &lt;p&gt;· Making it run in Windows requires you get your virtual dogs wet in a little Linux activity within Cygwin, a sort of Linux shell that runs on Windows&lt;/p&gt;  &lt;p&gt;· Stop using Google. Honest to Pete, I actually, stupidly, spent 2 days playing and searching before I realized I should have started by reading the README file included in the VPNC tarball which gave me nearly everything I needed. ALWAYS READ THE README FILE FIRST!!!!&lt;/p&gt;  &lt;p&gt;The first thing to tell you is that this isn&#39;t going to be the easiest thing you&#39;ve ever done as a Windows user. The next thing to tell you is that you&#39;re going to play with a touch of Linux which should inspire an almost sinful sense of perversity in you. If you don&#39;t feel that geeky rush, this may be more than you want to tackle. Don&#39;t be surprised if you have to learn a little scripting to make everything work as you expect.&lt;/p&gt;  &lt;p&gt;In the interest of full disclosure, most of what you&#39;re about to read is not pioneering work by me. It &lt;i&gt;is&lt;/i&gt; organized, however. My greatest struggle to get this all working was pulling together what everyone else had done into a reasonable and repeatable set of steps.&lt;/p&gt;  &lt;p&gt;So let&#39;s jump in with a brief project plan so you can determine if this is what you need to do or if you should sell some of that ram back to Dell and install a 32 bit version of Windows.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Steps to Install and Configure VPNC&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I didn&#39;t create this (I merely added to it), it&#39;s in the VPNC README file...which is the last but most important place it really needs to be:&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;&amp;quot;==Setting up vpnc on Vista 64bit ==============      &lt;br /&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;1&lt;/strong&gt;. Install cygwin onto vista. Details here: &lt;/font&gt;&lt;a href=&quot;http://www.cygwin.com/&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://www.cygwin.com/&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;2&lt;/strong&gt;. Make sure you install the development options for cygwin to give you access to make and gcc etc         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;3&lt;/strong&gt;. Make sure you install libcrypt for cygwin as it is needed in the make process         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;4&lt;/strong&gt;. Modify the bash.exe to run as administrator or you will have privilege issues later, this is done on the properties tab of the executable in c:/cygwin/bin         &lt;br /&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;5&lt;/strong&gt;. Download the latest vpnc tarball from here &lt;/font&gt;&lt;/font&gt;&lt;a href=&quot;http://www.unix-ag.uni-kl.de/~massar/vpnc/&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;http://www.unix-ag.uni-kl.de/~massar/vpnc/&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Georgia&quot;&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font face=&quot;Courier N&quot;&gt;6&lt;/font&gt;. Unzip and explode the tarball (hint: this part you can search for on Google or Bing)         &lt;br /&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;7&lt;/strong&gt;. modify tap-win32.h to change #define TAP_COMPONENT_ID &amp;quot;tap0801&amp;quot; to &lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;&amp;quot;tap0901&amp;quot; (Not sure if this is necessary but I did it and it is working for me)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;8&lt;/strong&gt;. make (make does a number of things but the end result is it makes an executable file)         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;9&lt;/strong&gt;. You should have a shiny new /usr/local/sbin/vpnc.exe         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;10&lt;/strong&gt;. In Cygwin, download the pcf2vpnc perl script: wget &lt;/font&gt;&lt;/font&gt;&lt;a href=&quot;http://svn.unix-ag.uni-kl.de/vpnc/trunk/pcf2vpnc&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;http://svn.unix-ag.uni-kl.de/vpnc/trunk/pcf2vpnc&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;11&lt;/strong&gt;. In Cygwin, make the script executable -&amp;gt; chmod +x pcf2vpnc         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;12&lt;/strong&gt;. In Cygwin, convert your .pcf files to work with vpnc -&amp;gt; ./pcf2vpnc cisco.pcf &amp;gt; cisco.conf         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;13&lt;/strong&gt;. In Windows, download openvpn from &lt;/font&gt;&lt;/font&gt;&lt;a href=&quot;http://openvpn.net/download.html&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;http://openvpn.net/download.html&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;.      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;14&lt;/strong&gt;. Run the exe but only install the TAP-Win32 Adapter V9         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;15&lt;/strong&gt;. Go to control Panel | Network Connections and rename the TAP device to TAP_ADAPTER         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;strong&gt;16&lt;/strong&gt;. create a /etc/vpnc/default.conf file something like this         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;------------- begin -------------      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IPSec gateway YOURGATEWAY      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IPSec ID YOURID&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IPSec obfuscated secret YOURREALYLONGHEXVALUE #(you can use your clear&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;text password here if you remove obfuscated)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Xauth username YOURUSERNAME      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Xauth password YOURPASSWORD      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Interface name my-tap      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Interface mode tap      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Local Port 0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;------------- end ---------------&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Now, let&#39;s talk semi-seriously here. This isn&#39;t trivial if you haven&#39;t played with Linux before. The best thing I can tell you is that Google really is your friend. You will find all sorts of very poorly organized results to help you get through the steps. You *can* do it, though. If I can, you can. After all, I&#39;m only involved with technology because it really pisses me off and the only way I can see to make it better is to work with it. It pays well, too. &lt;/p&gt;  &lt;p&gt;You should also know that the default.conf file described above has some things in it which will upset your network and security admins and for good reason. Let me make that worse and better at the same time. If you do not include the Xauth password section in the file, VPNC will ask you your password whenever you attempt to connect. It will work properly with your RSA token, too. The bad part is that this approach to configuration will concern your local security geeks despite the fact you already had a pcf file on your system anyway. Go figure.&lt;/p&gt;  &lt;p&gt;Those two teams of people will also be disturbed by the fact that VPNC is a split tunnel solution. What the heck is that? Normally, when you connect to your corporate network, all your network traffic will go through your VPN connection to the office and then out to the Internet as required. This is a dedicated VPN tunnel. VPNC &#39;splits&#39; this function by erecting the tunnel to your office and its internal networks while allowing all your Internet and local network traffic to be handled at your end of the connection. In other words, only traffic intended to go to the office actually goes there. Because of this, there is risk that while you are connecting to some questionable Internet site you may expose the corporate network to the infection you pick up on your local machine. Of course, you could just as easily get that infection over your dedicated conventional tunnel but you get the point: you&#39;re taking on risks and forcing your company to participate in that risk without oversight. Be respectful and responsible by keeping this in mind as you use your company network resources.&lt;/p&gt;  &lt;p&gt;Okay then!! You&#39;ve installed Cygwin, you&#39;ve installed the TAP adapter, you&#39;ve done a mild conversion of your PCF file. What next?&lt;/p&gt;  &lt;p&gt;Let&#39;s attempt to understand how VPNC runs.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;VPNC Environment Variables&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;VPNC manages a small stack of environment variables which you may consume to manage the way it uses the network tunnel. From the VPNC documentation:&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;VPNGATEWAY -- vpn gateway address (always present)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;TUNDEV -- tunnel device (always present)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;INTERNAL_IP4_ADDRESS -- address (always present)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;INTERNAL_IP4_NETMASK -- netmask (often unset)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;INTERNAL_IP4_DNS -- list of dns servers      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;INTERNAL_IP4_NBNS -- list of wins servers      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_DEF_DOMAIN -- default domain name      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_BANNER -- banner from server      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC -- number of networks in split-network-list      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC_%d_ADDR -- network address      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC_%d_MASK -- subnet mask (for example: 255.255.255.0)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC_%d_MASKLEN -- subnet masklen (for example: 24)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC_%d_PROTOCOL -- protocol (often just 0)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC_%d_SPORT -- source port (often just 0)      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;CISCO_SPLIT_INC_%d_DPORT -- destination port (often just 0)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;According to the README file (there it is again), VPNC has three stages of operation called pre-init, connect and disconnect which are exposed as an environment variable named &#39;reason&#39;. You may perform actions via script or configuration file during each of these stages. The pre-init stage is executed before the virtual tunnel network adapter (the TAP adapter you installed from OpenVPN) is opened by VPNC. The connect stage is executed after a virtual tunnel is successfully authenticated and erected between your VPN endpoint and your PC. And, naturally, the disconnect phase executes after tearing down the tunnel and releasing control of the TAP adapter.&lt;/p&gt;  &lt;p&gt;We can use each of these three stages to our advantage. For instance, I like to leave the TAP adapter disabled to ensure it doesn&#39;t cause conflicts in the system routing table by holding IP settings that are no longer valid. &lt;/p&gt;  &lt;p&gt;The VPNC documentation also suggests that you include a pointer to a Cygwin shell script in default.conf so that you may describe to VPNC how you want your network routes &#39;split&#39; to the VPN tunnel . At the end of that script you may shell to other scripts.&lt;/p&gt;  &lt;p&gt;My solution looks like this (and executes in this order):&lt;/p&gt;  &lt;p&gt;- vpnc.exe compiled and available at /usr/local/sbin&lt;/p&gt;  &lt;p&gt;- default.conf stored in /etc/vpnc&lt;/p&gt;  &lt;p&gt;- custom-script stored in /etc/vpnc&lt;/p&gt;  &lt;p&gt;- vpnc-script stored in /etc/vpnc&lt;/p&gt;  &lt;p&gt;- vpnc-script-win.vbs stored in /etc/vpnc&lt;/p&gt;  &lt;p&gt;- startvpn stored in ~/ (or, if you don&#39;t recognize the tilde character, your user home directory)&lt;/p&gt;  &lt;p&gt;The script that is the *most* critical to getting your split routing correct is the vpnc-script-win.vbs file. The basics of this file come from a JScript file created by another VPNC adopter for Vista. There were some functions that just didn&#39;t work as the author intended, unfortunately, but the work was an excellent start. Since I&#39;m not a JScript master and in the best spirit of &#39;adopt and improve&#39;, I converted his code to VBScript, recognized the weaknesses of the Cygwin environment and provided some other hacks to make an automated connection sequence. &lt;/p&gt;  &lt;p&gt;To date, this has worked with WiFi, physical LAN connections, tethered cell phones and so on. There has been one failure that I haven&#39;t managed to identify. Using Sprint&#39;s U300 4G adapter with SprintView, I have not been able to succeed in making any network connections once the TAP adapter has a tunnel to the corporate network. There are so many issues with the 64 bit drivers for this adapter, though, that I&#39;ve decided to wait until those drivers and the SprintView software mature a little more before sacrificing a mound of hair to the problem.&lt;/p&gt;  &lt;p&gt;You should know a couple things more about the last script, &lt;b&gt;vpnc-script-win.vbs.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;First, it&#39;s designed to create a batch file, the contents of which are changed depending on which phase of VPNC operation you&#39;re in. This batch file is created in the same location as vpnc-script-win.vbs so you&#39;ll need to make sure you have Write and Execute permissions in the location where this script resides. And why is the batch file necessary? Well, as it turns out, it&#39;s really easy to foul up StdIn and StdOut screen buffers Cygwin uses to feed the Windows Command Console. If you simply try to shell out Windows commands of more than 255 characters, you&#39;ll get some interesting results sometimes. Thus the batch file.&lt;/p&gt;  &lt;p&gt;Next, if you run into problems with vpnc using this script, I&#39;ll be happy to *try* to help but be aware I&#39;m sharing this solution not as an expert but as someone who has faced the same challenge you have, that we are in the minority of users with our need and almost none of that makes us &#39;experts&#39; on networking...including me. If you do ask for help, be prepared for a &amp;quot;Heck, I don&#39;t know either!&amp;quot;. If you want to give me a fighting chance to help, be sure to include all 4 of these configuration files and scripts as well as a clear description of the problem (including error messages).&lt;/p&gt;  &lt;p&gt;After copying, pasting, saving scripts, converting your pcf file and merging it into default.conf, just run Cygwin as administrator and run the startvpn shell script.&lt;/p&gt;  &lt;p&gt;So, off to the scripts!&lt;/p&gt;  &lt;p&gt;&lt;b&gt;~/startvpn&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;#!/bin/sh      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;/usr/local/sbin/vpnc --debug 1 --no-detach      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;#note that debug becomes more useful if set to 2 when troubleshooting. --no-detach      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;#keeps vpnc in the foreground of execution Cygwin.      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;#VPNC will die if it becomes unattached.&lt;b&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;/etc/vpnc/default.conf&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# your TAP network connection:      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Interface name TAP_Adapter&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# This line tells vpnc that you&#39;re doing TAP, not TUNnelling.      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Interface mode tap&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# For some reason that I don&#39;t understand, vpnc doesn&#39;t work under cygwin      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# unless it&#39;s still attached to the console it was running from,      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# so don&#39;t detach:      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;No Detach&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# Tell vpnc to select a random free port instead of using 500      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# 500 will likely already be in use      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Local Port 510&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;## generated by pcf2vpnc      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;## x and * characters represent my own network information      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IPSec ID ****      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IPSec gateway xxx.xxx.xxx.xxx      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IPSec secret xxxxxxxx      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Xauth username chapmang      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;IKE Authmode psk      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;Script /etc/vpnc/custom-script&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;/etc/vpnc/custom-script&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;#!/bin/sh      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# This sets up split networking regardless      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# of the concentrators specifications.      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# You can add as many routes as you want,      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# but you must set the counter $CISCO_SPLIT_INC      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# accordingly. In my case, I have 4 subnets to      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# split out      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# replace xxx and so on with your corp subnets as      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;# required &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC=4      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_0_ADDR=10.0.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_0_MASK=255.0.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_0_MASKLEN=8      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_1_ADDR=xxx.xxx.x.x      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_1_MASK=255.255.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_1_MASKLEN=16      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_2_ADDR=xxx.0.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_2_MASKLEN=8      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_2_MASK=255.0.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_3_ADDR=xxx.xx.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_3_MASKLEN=16      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;export CISCO_SPLIT_INC_3_MASK=255.255.0.0      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;. /etc/vpnc/vpnc-script&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;/etc/vpnc/vpnc-script&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;#! /bin/sh      &lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;cscript `cygpath -w /etc/vpnc/vpnc-script-win.vbs`&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;/etc/vpnc/vpnc-script-win.vbs&lt;/b&gt;&lt;/p&gt;  &lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;rem&quot;&gt;&#39; vpnc-script-win.vbs&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39; Sets up the Network interface and the routes&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39; needed by vpnc.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39; see notes at bottom of script to describe env variables, etc., &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39; created by VPNC&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39;===================CONSTANTS==========================&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;CONST&lt;/span&gt; ForReading = 1, ForWriting = 2, ForAppending = 8 &lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;CONST&lt;/span&gt; ScriptLog = &lt;span class=&quot;str&quot;&gt;&amp;quot;PostConf.bat&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39;======================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;strTunnel = &lt;span class=&quot;str&quot;&gt;&amp;quot;TAP_Adapter&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Set&lt;/span&gt; ws = WScript.CreateObject(&lt;span class=&quot;str&quot;&gt;&amp;quot;WScript.Shell&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Set&lt;/span&gt; env = ws.Environment(&lt;span class=&quot;str&quot;&gt;&amp;quot;Process&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span class=&quot;str&quot;&gt;&amp;quot;scripting.FileSystemObject&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;LogFile= ExecutingFrom &amp;amp; ScriptLog&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;set&lt;/span&gt; f = objFSO.OpenTextFile(LogFile, ForWriting, &lt;span class=&quot;kwrd&quot;&gt;True&lt;/span&gt;, -2)&lt;br /&gt;LogAction (&lt;span class=&quot;str&quot;&gt;&amp;quot;REM&amp;quot;&lt;/span&gt; &amp;amp; vbCrLf)&lt;br /&gt;f.close&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Select&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Case&lt;/span&gt; (env(&lt;span class=&quot;str&quot;&gt;&amp;quot;reason&amp;quot;&lt;/span&gt;))&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&amp;quot;pre-init&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;rem&quot;&gt;&#39;Enable the interface&lt;/span&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Enabling TAP_Adapter&amp;quot;&lt;/span&gt;&lt;br /&gt;    setinterface = &lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface set interface &amp;quot;&lt;/span&gt; &amp;amp; strTunnel &amp;amp; _&lt;br /&gt;    &lt;span class=&quot;str&quot;&gt;&amp;quot; admin=ENABLED&amp;quot;&lt;/span&gt; &lt;br /&gt;    ws.run setinterface,0,1&lt;br /&gt;    wscript.echo setinterface &lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&amp;quot;connect&amp;quot;&lt;/span&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO Split Networks: &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC&amp;quot;&lt;/span&gt;)&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;VPN Gateway: &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;VPNGATEWAY&amp;quot;&lt;/span&gt;)&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Internal Address: &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_ADDRESS&amp;quot;&lt;/span&gt;)&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Internal Netmask: &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_NETMASK&amp;quot;&lt;/span&gt;)&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Interface:&amp;quot;&lt;/span&gt; &amp;amp;  Chr(34) &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) &amp;amp; Chr(34)&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Configuring &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; interface...&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    setinterface = &lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface ip set address &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) &amp;amp; _&lt;br /&gt;    &lt;span class=&quot;str&quot;&gt;&amp;quot; source=static &amp;quot;&lt;/span&gt; &amp;amp; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_ADDRESS&amp;quot;&lt;/span&gt;) &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_NETMASK&amp;quot;&lt;/span&gt;) &lt;br /&gt;    wscript.echo setinterface&lt;br /&gt;    LogAction(setinterface &amp;amp; vbCrLf)&lt;br /&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; Len(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_NBNS&amp;quot;&lt;/span&gt;)) &amp;gt; 0  &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;rem&quot;&gt;&#39;echo (&amp;quot;WINS: &amp;quot; &amp;amp; env(&amp;quot;INTERNAL_IP4_NBNS&amp;quot;))&lt;/span&gt;&lt;br /&gt;        wins = split(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_NBNS&amp;quot;&lt;/span&gt;), &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt; i = 0 &lt;span class=&quot;kwrd&quot;&gt;to&lt;/span&gt; Ubound(wins)&lt;br /&gt;            LogAction (&lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface ip add wins &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;            (env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) &amp;amp;  _&lt;br /&gt;            &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &amp;amp;  wins(i) &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; index=&amp;quot;&lt;/span&gt; &amp;amp;  (i+1) &amp;amp; vbCrLf))&lt;br /&gt;            wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface ip add wins &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;            (env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;)) &amp;amp;  _&lt;br /&gt;            &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &amp;amp;  wins(i) &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; index=&amp;quot;&lt;/span&gt; &amp;amp;  (i+1)&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;next&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; Len(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_DNS&amp;quot;&lt;/span&gt;)) &amp;gt; 0  &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;rem&quot;&gt;&#39;echo(&amp;quot;DNS: &amp;quot; &amp;amp; env(&amp;quot;INTERNAL_IP4_DNS&amp;quot;))&lt;/span&gt;&lt;br /&gt;        dns = Split(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_DNS&amp;quot;&lt;/span&gt;),&lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt; i = 0 &lt;span class=&quot;kwrd&quot;&gt;to&lt;/span&gt; UBound(dns)&lt;br /&gt;            dnsrun = &lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface ip add dns &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;            env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &amp;amp; dns(i) &amp;amp; _&lt;br /&gt;            &lt;span class=&quot;str&quot;&gt;&amp;quot; index=&amp;quot;&lt;/span&gt; &amp;amp; (i+1)&lt;br /&gt;            wscript.echo dnsrun&lt;br /&gt;            LogAction(dnsrun &amp;amp; vbCrLf)&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;next&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Done configuring &amp;quot;&lt;/span&gt; &amp;amp; strTunnel &amp;amp;&lt;span class=&quot;str&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class=&quot;rem&quot;&gt;&#39;Add internal network routes&lt;/span&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Configuring network routes...&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC&amp;quot;&lt;/span&gt;) &amp;lt;&amp;gt; &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)  &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;        LogAction (&lt;span class=&quot;str&quot;&gt;&amp;quot;PING 1.1.1.1 -n 1 -w 6000 &amp;gt;NUL&amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt; i=0 &lt;span class=&quot;kwrd&quot;&gt;to&lt;/span&gt; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC&amp;quot;&lt;/span&gt;)&lt;br /&gt;            network = Trim(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC_&amp;quot;&lt;/span&gt; &amp;amp; i &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot;_ADDR&amp;quot;&lt;/span&gt;))&lt;br /&gt;            netmask = Trim(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC_&amp;quot;&lt;/span&gt; &amp;amp; i &amp;amp;  &lt;span class=&quot;str&quot;&gt;&amp;quot;_MASK&amp;quot;&lt;/span&gt;))&lt;br /&gt;            netmasklen = Trim(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC_&amp;quot;&lt;/span&gt; &amp;amp; i &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot;_MASKLEN&amp;quot;&lt;/span&gt;))&lt;br /&gt;            strTunnel=Trim(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;))&lt;br /&gt;            strIP=Trim(env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_ADDRESS&amp;quot;&lt;/span&gt;))&lt;br /&gt;            strCMD=&lt;span class=&quot;str&quot;&gt;&amp;quot;route add &amp;quot;&lt;/span&gt;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt; network &amp;lt;&amp;gt; &lt;span class=&quot;str&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;                LogAction(strCmd &amp;amp; network &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; mask &amp;quot;&lt;/span&gt; &amp;amp; netmask &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &amp;amp; strIP)&lt;br /&gt;                &lt;span class=&quot;rem&quot;&gt;&#39;stupid pet trick to force the batch file to wait as route &lt;/span&gt;&lt;br /&gt;                &lt;span class=&quot;rem&quot;&gt;&#39;table updates. Adjust 3000 to match your delay needs&lt;/span&gt;&lt;br /&gt;                LogAction (&lt;span class=&quot;str&quot;&gt;&amp;quot;PING 1.1.1.1 -n 1 -w 3000 &amp;gt;NUL&amp;quot;&lt;/span&gt;)&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;next&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;Else&lt;/span&gt;&lt;br /&gt;        wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Gateway did not provide network configuration.&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Route configuration done.&amp;quot;&lt;/span&gt; &amp;amp; vbCrLf&lt;br /&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_BANNER&amp;quot;&lt;/span&gt;) &amp;lt;&amp;gt; &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;        wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;--------------------------------------------------&amp;quot;&lt;/span&gt;&lt;br /&gt;        wscript.echo env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_BANNER&amp;quot;&lt;/span&gt;)&lt;br /&gt;        wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;--------------------------------------------------&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;    &lt;span class=&quot;rem&quot;&gt;&#39;Add direct route for the VPN gateway to avoid routing loops&lt;/span&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Adding route for VPN Gateway to avoid routing loops...&amp;quot;&lt;/span&gt;&lt;br /&gt;    setroute = &lt;span class=&quot;str&quot;&gt;&amp;quot;route add &amp;quot;&lt;/span&gt; &amp;amp; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;VPNGATEWAY&amp;quot;&lt;/span&gt;) &amp;amp; _&lt;br /&gt;    &lt;span class=&quot;str&quot;&gt;&amp;quot; mask 255.255.255.255 &amp;quot;&lt;/span&gt;&lt;br /&gt;    LogAction(setroute &amp;amp; vbCrLf)&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;For&lt;/span&gt; i=0 &lt;span class=&quot;kwrd&quot;&gt;to&lt;/span&gt; 50&lt;br /&gt;        ws.run LogFile,0,0&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;Next&lt;/span&gt;&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Check &amp;quot;&lt;/span&gt; &amp;amp; LogFile &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; if you need to confirm route configuration.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&amp;quot;disconnect&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;rem&quot;&gt;&#39;Delete direct route for the VPN gateway&lt;/span&gt;&lt;br /&gt;    LogAction(&lt;span class=&quot;str&quot;&gt;&amp;quot;route delete &amp;quot;&lt;/span&gt; &amp;amp; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;VPNGATEWAY&amp;quot;&lt;/span&gt;) &amp;amp; _&lt;br /&gt;    &lt;span class=&quot;str&quot;&gt;&amp;quot; mask 255.255.255.255&amp;quot;&lt;/span&gt;)&lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;Removing networks...&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC&amp;quot;&lt;/span&gt;) &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt; i = 0 &lt;span class=&quot;kwrd&quot;&gt;to&lt;/span&gt; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC&amp;quot;&lt;/span&gt;)&lt;br /&gt;            network = env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC_&amp;quot;&lt;/span&gt; &amp;amp; i &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot;_ADDR&amp;quot;&lt;/span&gt;)&lt;br /&gt;            netmask = env(&lt;span class=&quot;str&quot;&gt;&amp;quot;CISCO_SPLIT_INC_&amp;quot;&lt;/span&gt; &amp;amp; i &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot;_MASK&amp;quot;&lt;/span&gt;)&lt;br /&gt;            internal = env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_ADDRESS&amp;quot;&lt;/span&gt;)&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt; network &amp;lt;&amp;gt; &lt;span class=&quot;str&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;                blah = &lt;span class=&quot;str&quot;&gt;&amp;quot;route delete &amp;quot;&lt;/span&gt; &amp;amp; network &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot; mask &amp;quot;&lt;/span&gt; &amp;amp; netmask&lt;br /&gt;                LogAction(blah &amp;amp; vbCrLf)&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;next&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    setinterface = &lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface ip delete address &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) &amp;amp; _&lt;br /&gt;    &lt;span class=&quot;str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &amp;amp; env(&lt;span class=&quot;str&quot;&gt;&amp;quot;INTERNAL_IP4_ADDRESS&amp;quot;&lt;/span&gt;)&lt;br /&gt;    LogAction(setinterface &amp;amp; vbCrLf)&lt;br /&gt;    &lt;br /&gt;    setinterface = &lt;span class=&quot;str&quot;&gt;&amp;quot;netsh interface set interface &amp;quot;&lt;/span&gt; &amp;amp; _&lt;br /&gt;    env(&lt;span class=&quot;str&quot;&gt;&amp;quot;TUNDEV&amp;quot;&lt;/span&gt;) + &lt;span class=&quot;str&quot;&gt;&amp;quot; admin=DISABLED&amp;quot;&lt;/span&gt; &lt;br /&gt;    wscript.echo &lt;span class=&quot;str&quot;&gt;&amp;quot;VPN Disconnected.&amp;quot;&lt;/span&gt;&lt;br /&gt;    LogAction(setinterface &amp;amp; vbCrLf)&lt;br /&gt;    ws.run LogFile,0,0&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;select&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;wscript.quit&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39;====================================================================&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Sub&lt;/span&gt; LogAction (strEntry)&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Dim&lt;/span&gt; strErrMsg, f&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;On&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Error&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Resume&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;set&lt;/span&gt; f = objFSO.OpenTextFile(LogFile, ForAppending, &lt;span class=&quot;kwrd&quot;&gt;True&lt;/span&gt;, -2)&lt;br /&gt;&lt;br /&gt;f.WriteLine strEntry&lt;br /&gt;&lt;br /&gt;f.close&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;On&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Error&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Goto&lt;/span&gt; 0&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rem&quot;&gt;&#39;====================================================================&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Function&lt;/span&gt; ExecutingFrom()&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;Dim&lt;/span&gt; strScriptPath&lt;br /&gt;&lt;br /&gt;strScriptPath=Left(wscript.scriptfullname, _&lt;br /&gt;Len(wscript.scriptfullname)-Len(wscript.scriptname))&lt;br /&gt;        &lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt; Right(strScriptPath,1) &amp;lt;&amp;gt; &lt;span class=&quot;str&quot;&gt;&amp;quot;\&amp;quot;&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;    strScriptPath=strScriptPath &amp;amp; &lt;span class=&quot;str&quot;&gt;&amp;quot;\&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ExecutingFrom=strScriptPath&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;kwrd&quot;&gt;End&lt;/span&gt; Function&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/5786021365080195544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://1morerabbithole.blogspot.com/2009/11/vpn-client-for-64-bit-windows-systems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/5786021365080195544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/5786021365080195544'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/2009/11/vpn-client-for-64-bit-windows-systems.html' title='A VPN client for 64 bit Windows Systems - VPNC in Cygwin'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5645640262316875919.post-3893550698164054260</id><published>2009-11-14T19:22:00.001-08:00</published><updated>2009-11-16T09:47:25.182-08:00</updated><title type='text'>Installing Hyper-V R2 Linux Integration Components 2.0 in CentOS 5.4</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Hyper-V R2&lt;/b&gt; saw several interesting things happen at once this past summer (2009). Many performance improvements were introduced and, with those updates, new Linux Integration Components were delivered. No longer are Linux VMs required to have the Xen virtualization stack and, in fact, if you have added the Virtualization groups with yum, you&#39;ll probably encounter issues. &lt;/p&gt;  &lt;p&gt;But that&#39;s not all. &lt;/p&gt;  &lt;p&gt;A significant cause of Climate Change is that Hell is freezing over: for the first time, Microsoft code in the form of these Integration Components has been contributed to the Linux kernel under GPLv2. Yeah, I know. What were they thinking?&lt;/p&gt;  &lt;p&gt;You can download the latest Linux IC ISO at &lt;a href=&quot;http://www.microsoft.com/downloads&quot;&gt;http://www.microsoft.com/downloads&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Assuming you have already installed CentOS, follow these steps to compile and install the Linux IC and the synthetic HID and Mouse drivers. These same steps should work for you with Red Hat Enterprise Linux, too.&amp;#160; Maybe someday I’ll get around to do this with my Ubuntu VMs. &lt;/p&gt;  &lt;p&gt;Anyway, the following is a series of steps culled from a wide variety of How-To pages, none of which produced exactly the results I was looking for. Those sites are listed as sources at the end of this post.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Getting Started:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;1. Using Yum install kernel-devel (since you&#39;re just compiling drivers, you no longer need the complete kernel-source packages). You&#39;ll also need the CentOS Development Tools installation group.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;yum groupinstall &amp;quot;Development Tools&amp;quot;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;yum install kernel-devel&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;2. Insert the Linux IC 2.0 ISO into the virtual DVD drive on the CentOS VM.&lt;/p&gt;  &lt;p&gt;3. Mount the ISO and copy the contents to /opt/linux_ic_master&lt;/p&gt;  &lt;p&gt;&lt;b&gt;mkdir -p /mnt/cdrom      &lt;br /&gt;mount /dev/cdrom /mnt/cdrom       &lt;br /&gt;cp -rp /mnt/cdrom /opt/linux_ic_master       &lt;br /&gt;umount /mnt/cdrom &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;4. Compile the drivers (this step should also modify the system startup parameters to include the VMBus and the synthetic drivers and set them to start automatically).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;cd /opt/linux_ic_master      &lt;br /&gt;./setup.pl drivers &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;5. Download the input service drivers from Xen    &lt;br /&gt;&lt;a href=&quot;http://www.xen.org/files/Satori/inputvsc.iso&quot;&gt;http://www.xen.org/files/Satori/inputvsc.iso&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6. Make a directory for the input service files and copy them from the ISO    &lt;br /&gt;&lt;b&gt;mkdir /opt/inputvsc      &lt;br /&gt;cp -R /media/cdrom/* /opt/inputvsc/ &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;7. Install the Inputsvc module (Note that you may need to use yum to install the xorg-x11-server-sdk package if this step fails the first time.)    &lt;br /&gt;&lt;b&gt;cd /opt/inputvsc      &lt;br /&gt;./setup.pl inputdriver &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;8. Reboot&lt;/p&gt;  &lt;p&gt;&lt;b&gt;shutdown -r now&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;9. If the reboot has no problems, shut the VM down and add network adapters and SCSI controllers as needed in the VM Settings. &lt;/p&gt;  &lt;p&gt;10. Restart the VM. You should now be able to control your internal mouse without having to press the host release keys. You should also see seth0 bound and started.&lt;/p&gt;  &lt;p&gt;11. Verify the required synthectic drivers are loaded.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;lsmod | grep vsc&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;netvsc 73704 0      &lt;br /&gt;storvsc 66824 0       &lt;br /&gt;blkvsc 70440 3       &lt;br /&gt;vmbus 86120 3 netvsc,storvsc,blkvsc       &lt;br /&gt;scsi_mod 196569 6 scsi_dh,sg,storvsc,blkvsc,libata,sd_mod       &lt;br /&gt;hid       &lt;br /&gt;inputsvc&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;These synthetic devices will allow you to use network adapters that run at the full capacity of your host&#39;s network adapters and SCSI controllers.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sources:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.howtoforge.com/installing-hyper-v-linux-integration-components-on-centos-5&quot;&gt;http://www.howtoforge.com/installing-hyper-v-linux-integration-components-on-centos-5&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/0d2c5fa8-682c-4f5d-9fe7-388dd80a7e06&quot;&gt;http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/0d2c5fa8-682c-4f5d-9fe7-388dd80a7e06&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://blog.allanglesit.com/Blog/tabid/66/EntryId/26/Hyper-V-Guests-Mouse-Integration-on-Linux-VMs.aspx&quot;&gt;http://blog.allanglesit.com/Blog/tabid/66/EntryId/26/Hyper-V-Guests-Mouse-Integration-on-Linux-VMs.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.xen.org/download/satori.html&quot;&gt;http://www.xen.org/download/satori.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://wiki.centos.org/HowTos/I_need_the_Kernel_Source&quot;&gt;http://wiki.centos.org/HowTos/I_need_the_Kernel_Source&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c299d675-bb9f-41cf-b5eb-74d0595ccc5c&quot;&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c299d675-bb9f-41cf-b5eb-74d0595ccc5c&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://blogs.technet.com/virtualization/archive/2009/07/20/linux-ics-for-hyper-v-and-gplv2.aspx&quot;&gt;http://blogs.technet.com/virtualization/archive/2009/07/20/linux-ics-for-hyper-v-and-gplv2.aspx&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/3893550698164054260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://1morerabbithole.blogspot.com/2009/11/installing-hyper-v-r2-linux-integration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/3893550698164054260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/3893550698164054260'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/2009/11/installing-hyper-v-r2-linux-integration.html' title='Installing Hyper-V R2 Linux Integration Components 2.0 in CentOS 5.4'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5645640262316875919.post-6514666328436148278</id><published>2009-11-11T19:57:00.001-08:00</published><updated>2009-11-11T19:59:50.056-08:00</updated><title type='text'>Windows 7: Buy Me for My Calculator</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Yeah, that’s a weak marketing grab but it’s true that I would have missed this update to an old standby, Calc.exe.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For years I’ve offered the built-in Windows calculator to coach job candidates through a little bit boundary math and have become accustomed to revealing the hidden power of the Scientific view (where conversion from Decimal to Binary is child’s play). I had a small surprise in store this evening. Calc has changed!&lt;/p&gt;  &lt;p&gt;   &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:f8a52360-83f0-4f29-8582-44f95c6022af&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHwpWIVRhpTCri6D7ErUXe9RS0fOqPLKulKqvR8wSB-HEEJI6Ls6LijMLRvoNrC1EQqc58sS-UXt6aET4z9Xf1ZheWOQSg6jNo4TaFOuWSbza6cEEGNstKsjNsY2PikX5QQkQ_0-lIsE8/s288/CalcBasic.JPG&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHwpWIVRhpTCri6D7ErUXe9RS0fOqPLKulKqvR8wSB-HEEJI6Ls6LijMLRvoNrC1EQqc58sS-UXt6aET4z9Xf1ZheWOQSg6jNo4TaFOuWSbza6cEEGNstKsjNsY2PikX5QQkQ_0-lIsE8/s288/CalcBasic.JPG&quot; width=&quot;203&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt; At first glance, it looks like Calc was more successful than Joan Rivers when it chose its plastic surgeon.&lt;/p&gt;  &lt;p&gt;For those of us who have looked around a little, the OS X calculator and the plethora of iPhone Calculators and Converters look like they’d eat this one alive.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 15px; padding-right: 10px; display: inline; float: left; padding-top: 15px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:0229bbc5-2db6-4875-a2b2-4a28e393b742&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeS_p0QaDR2qpcFGTg_DDmYPhsHCIngKwo4cT_R_Dvp1QG2AYSvdptoo5pMmQqcMbEnx7wfyJLaODcMz84mHhFO6Nk8398g-JwCiDyOUQZ1XAndw96GARMB7o1Lt66eqe5sFEuU-74dcw/s288/CalcScientific.JPG&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;219&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeS_p0QaDR2qpcFGTg_DDmYPhsHCIngKwo4cT_R_Dvp1QG2AYSvdptoo5pMmQqcMbEnx7wfyJLaODcMz84mHhFO6Nk8398g-JwCiDyOUQZ1XAndw96GARMB7o1Lt66eqe5sFEuU-74dcw/s288/CalcScientific.JPG&quot; width=&quot;288&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;If you go to the View menu, the fun begins immediately. Scientific View looks pretty much as expected. Note that Standard and Scientific offer calculation history as a standard feature.&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 10px; margin: 0px; padding-left: 10px; padding-right: 10px; display: inline; float: left; padding-top: 10px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:6724efea-3bc4-425c-9d3e-08e1f910242c&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBBw7cvroKmkxvnRNaZVXA0j_lSkOUrpZos8VYDTrrJsqHDtNz0YaWIlqeTh43G8BEAtVy1z3tEoqwh4QRUUJkgwqCAhgnaF_2UQKL_M-8ak-0NM6sdju1160TgcsZVJxoPLBCpsxrjAo/s288/CalcProgrammer.JPG&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;262&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBBw7cvroKmkxvnRNaZVXA0j_lSkOUrpZos8VYDTrrJsqHDtNz0YaWIlqeTh43G8BEAtVy1z3tEoqwh4QRUUJkgwqCAhgnaF_2UQKL_M-8ak-0NM6sdju1160TgcsZVJxoPLBCpsxrjAo/s288/CalcProgrammer.JPG&quot; width=&quot;288&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Programmer mode is much more complex but still usable. This is a completely new option. Now I can ask interview questions about Dwords. I’ve always wanted to do that.&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 15px; padding-right: 15px; display: inline; float: left; padding-top: 15px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:1f29ebe5-995f-4410-bd5f-cf2554f019f6&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiNK1RhyFu_DwjVt-kfS_rKyMV148m0TAnIO9-XzmZpeRjVmRAuboOS5twSGsY88ZnSP2e5Y3AdsaGZHCT3_p_rReDK1EpRBONC-4D4WYCM57uCj3c5131GvNeHwYosNEdSGduy2EQj1Q/s288/CalcStats.jpg&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiNK1RhyFu_DwjVt-kfS_rKyMV148m0TAnIO9-XzmZpeRjVmRAuboOS5twSGsY88ZnSP2e5Y3AdsaGZHCT3_p_rReDK1EpRBONC-4D4WYCM57uCj3c5131GvNeHwYosNEdSGduy2EQj1Q/s288/CalcStats.jpg&quot; width=&quot;155&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;But wait! There’s more!&lt;/p&gt;  &lt;p&gt;Statistics Mode, anyone? &lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:dfb918b4-bb61-46a2-b986-cfafe874d7f3&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;Picasa Content&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style=&quot;padding-bottom: 5px; margin: 0px; padding-left: 15px; padding-right: 15px; display: inline; float: left; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:35052228-1191-4a8e-ad5c-669db69fe828&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlaqWFTrKUXLceoK-IFF6u7igApPp2SZUnnGUS-aGtoxYtEC5z5srwdj6SGxF-ywL4Vatez_bdjyeosDMgKoAfiiv5g02WcUg-ziZt2gK9Ezgm5clyrbCnIj5usFXp9HYBPP3HGYNhMUQ/s400/CalcSciConversions.JPG&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;162&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlaqWFTrKUXLceoK-IFF6u7igApPp2SZUnnGUS-aGtoxYtEC5z5srwdj6SGxF-ywL4Vatez_bdjyeosDMgKoAfiiv5g02WcUg-ziZt2gK9Ezgm5clyrbCnIj5usFXp9HYBPP3HGYNhMUQ/s400/CalcSciConversions.JPG&quot; width=&quot;400&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Each view can be maintained and works in conjunction with a series of converters handy for all sorts of common unit conversion tasks. Here’s a handy one, Date Differences. Just how many more days until Christmas?&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 15px; padding-right: 15px; display: inline; float: none; padding-top: 15px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:3e42d2f3-58cc-403a-be78-ad6311363321&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsnEl1KqZrBhmEPPGGSR6DWC5hDFv3ssDmIxNahvOajHK2a_8rvj2eynRChIqiM-Eah8M5__dstyJYJqb6BGZFRLvllv76GUUtu26ZaU5XMvZq0ByVZtoIbZYtVuvFw8NuIc4ikJI5AnA/s400/CalcDateDiff.JPG&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;162&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsnEl1KqZrBhmEPPGGSR6DWC5hDFv3ssDmIxNahvOajHK2a_8rvj2eynRChIqiM-Eah8M5__dstyJYJqb6BGZFRLvllv76GUUtu26ZaU5XMvZq0ByVZtoIbZYtVuvFw8NuIc4ikJI5AnA/s400/CalcDateDiff.JPG&quot; width=&quot;400&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;Also included are a series of worksheets for Mortgages, Loans and Fuel Economy.&lt;/p&gt;  &lt;p&gt;This isn’t the finest Windows Calculator out there but it is a pleasant feature improvement over the Windows Calculator of the past.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/6514666328436148278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://1morerabbithole.blogspot.com/2009/11/windows-7-buy-me-for-my-calculator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/6514666328436148278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/6514666328436148278'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/2009/11/windows-7-buy-me-for-my-calculator.html' title='Windows 7: Buy Me for My Calculator'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHwpWIVRhpTCri6D7ErUXe9RS0fOqPLKulKqvR8wSB-HEEJI6Ls6LijMLRvoNrC1EQqc58sS-UXt6aET4z9Xf1ZheWOQSg6jNo4TaFOuWSbza6cEEGNstKsjNsY2PikX5QQkQ_0-lIsE8/s72-c/CalcBasic.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5645640262316875919.post-215789272098893117</id><published>2009-10-29T21:07:00.001-07:00</published><updated>2009-10-29T21:07:17.054-07:00</updated><title type='text'>Hyper-Ventilating: Story of living the Virtual (Hyper-V) life on a laptop</title><content type='html'>&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:23f0446e-a97c-42f4-845f-91e4b33e5257&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;Picasa Content&lt;/div&gt;  &lt;p&gt;The last couple years have been pretty demanding professionally. I’ll say it right up front; Virtualization technology (even the cheap stuff) saved our cookies. The &lt;strike&gt;collision&lt;/strike&gt; merger of two medium sized companies created a huge workload for small, globally distributed staffs; multiple enterprise wide projects, the need for the immediate implementation of several mainstream technologies, immediate adoption of several fringe technologies and some heavy duty risk taking. Half way through the integration effort, I moved all my local computing facilities into a few &lt;a href=&quot;http://www.microsoft.com/hyper-v-server/en/us/default.aspx&quot;&gt;Hyper-V&lt;/a&gt; virtual machines (which was still in Beta at the time), bought an industrial strength, but affordable, &lt;a href=&quot;http://www.dell.com/content/products/productdetails.aspx/laptop_latitude_e6500?c=us&amp;amp;l=en&amp;amp;s=bsd&amp;amp;cs=04&quot;&gt;Dell E6500&lt;/a&gt; laptop, stuffed a half-TByte drive and 8 Gigs of RAM in it and went to work.&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:1f517cdf-a309-4873-b4b3-e5c8b738f43a&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/gregatmousetraxdotcom/WindowsLiveWriter&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;144&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcWDg84QJWu4_mpJIQrlaYZRGJyBzaHykfIgNqPZ0jWm3nPnL6kXJOzCziDTYjeg0k0I5ZGvEkCuI3hrM5RG-hZUwktIt3axv9OXU5ECoLJdEgCHFEX0ufpg182KjI3aeK1D-jUvIlSjI/s144/100.jpg&quot; width=&quot;144&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;The group I work with became a focal point for several of these projects less than a month into the merger. Amongst them, we were asked to open wide and embrace re-hosting, into less than 1,200 square feet, several hundred Windows based applications that were living in 16,500 sq feet of data center before the merger. Oh yeah, limited budget. Together with the rest of &lt;strike&gt;our victims&lt;/strike&gt; the business, we all got it packed in there while experiencing every emotional extreme you can imagine. We’re all good friends now but it was touch and go for a while!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;It was the classic 10 lbs&lt;/strong&gt; of the unknown stuffed into a 2 lb bag. We changed our computing platform from conventional to blade systems. We then stuffed 8 virtual servers into each Virtual Server 2005 R2 installation. When we were done, we’d achieved a 32:1 compression ratio. That’s better than your average diesel does, doncha know. &lt;/p&gt;  &lt;p&gt;So let me tell you about the good stuff:&lt;/p&gt;  &lt;p&gt;- &lt;a href=&quot;http://www.microsoft.com/windowsserversystem/virtualserver/default.aspx&quot;&gt;Virtual Server 2005 R2&lt;/a&gt;, not great, not perfect but good enough if you limit it to development servers and limited DB hosting. It was also the last hope for moving some applications for a wide variety of problems&lt;/p&gt;  &lt;p&gt;- System Center Virtual Machine Manager. Think &lt;a href=&quot;http://www.vmware.com/solutions/virtualization-management/overview.html&quot;&gt;vCenter&lt;/a&gt; (Cadillac) at Hyundai prices. &lt;/p&gt;  &lt;p&gt;- Our friends in the new company, former competitors, had seen a much more progressive investment in operating system tech so Physical 2 Virtual (P2V) ops were much easier&lt;/p&gt;  &lt;p&gt;- Great people. So many of them aren’t in the new company anymore. Others are. Most of the a**es turned out to be people I was wrong about; they were just as guilty of being proud of their work as I am.&lt;/p&gt;  &lt;p&gt;- &lt;a href=&quot;http://www.microsoft.com/hyper-v-server/en/us/default.aspx&quot;&gt;Hyper-V&lt;/a&gt; on the horizon. Hooboy.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The bad stuff is simple&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Wayyyyy too many things to do at once&lt;/p&gt;  &lt;p&gt;- Half solutions implemented to get us by&lt;/p&gt;  &lt;p&gt;- Design is a word…still. The final design is still being designed&lt;/p&gt;  &lt;p&gt;- Windows 2000&lt;/p&gt;  &lt;p&gt;- All the talent we let go. I sometimes feel a little cheated to have not had more opportunities to work with them&lt;/p&gt;  &lt;p&gt;- Complaints from people who *think* they know your job and are willing to tell you how to do it&lt;/p&gt;  &lt;p&gt;So there’s the scenario. Enter the laptop. The first thing I did after I got it was destroy it. If you look at the specs on the E6500, you’ll see it’s a long battery life machine with some massive specs for 2008. It hosted everything beautifully. It stopped being a laptop. &lt;/p&gt;  &lt;p&gt;Here’s why.&lt;/p&gt;  &lt;p&gt;When you put Hyper-V on a system, you lose the ability to Sleep and Hibernate your machine. You lose access to all the great PnP goodness of Bluetooth, USB, and the rest of the laptop conveniences you’ve become accustomed to. You have turned your laptop into a small, portable server. That’s cool but you’re definitely the oddball on the airplane you’re riding home tonight. But, let me tell ya, this Hyper-V thing does it well, affordably and flexibly. Thank the graces I didn’t sign the VMWare partnership papers.&lt;/p&gt;  &lt;p&gt;So what brought all this gushing from my mind?&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:db4319b4-0dc3-476f-bfc4-2f0c7a5dff11&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/gregatmousetraxdotcom/WindowsLiveWriter&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;86&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2rAyTavb7ftUY2-hgmGKXv306sIaOtV2-XGTLNW6ajMjVNKcCGA71oNVqjn6Uhi5avTrh3veRwTa4womLX4Il2dRxr8aeargWUC16G4h7kyXZqyj_O921aSCaRJCLtGNKsUn6ZhyVOEE/s144/Windows7.jpg&quot; width=&quot;86&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;&lt;strong&gt;Windows 7&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yes, I have a Mac, an iPod, a Zune, a couple Ubuntu (still waiting for Crusty Camper to release) machines, an old Sun Ultra 2 running Sol 9. You may freely call me a tech whore. It’s okay. I know you mean it in a nice way. But none of them compare to this. &lt;/p&gt;  &lt;p&gt;While I liked Vista, this Windows 7 thing&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px&quot; id=&quot;scid:51CF81A4-8F44-4a2c-8837-198C090B9994:2bff6f4f-ee4f-42c2-8c89-cafda72d2cfd&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/gregatmousetraxdotcom/WindowsLiveWriter&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-right: 2px; border-top: 2px; border-left: 2px; border-bottom: 2px&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1p6t53SYYwjI2HVQ7WUvESimHwIsrLwuUYVbRuiD1ii5TZSeSo8uBcqyiUQAFUevWCySTq-JCCL7Xai3j6PZLguiyh90HbvtiE7KO8NgMZm7jjMQFF39F4MDQVLSvnXQRUX_9wyFsGVE/s288/PC-Mac.jpg&quot; width=&quot;237&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt; is still a huge leap forward.&lt;/p&gt;  &lt;p&gt;My battery literally goes 8 hours now (that don’t happen, man, when you’re running Hyper-V). When I leave work, I put my machine to sleep. When I get home, I press the power button and am running again in seconds. Hours later, I put it to sleep again. In the morning, there’s still power, lots of it so it never goes to Hibernate before I’m plugged in again.&lt;/p&gt;  &lt;p&gt;Windows 7 is much faster and smoother than Vista was on this host. It’s much faster than Windows Server 2008 was too. I’ve really cottoned to the way the taskbar works and Windows XP mode, while much slower than Hyper-V and limited to 32 bit, is a much easier alternative to the weirdo network configurations I created on my Frankentop under Hyper-V.&lt;/p&gt;  &lt;p&gt;I’m enjoying computing again. I’m enjoying my job more. I need my locally installed OS to get it done now. I can still run virtual machines, albeit not as fast and I get all the utility a laptop promises.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/215789272098893117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://1morerabbithole.blogspot.com/2009/10/hyper-ventilating-story-of-living.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/215789272098893117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/215789272098893117'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/2009/10/hyper-ventilating-story-of-living.html' title='Hyper-Ventilating: Story of living the Virtual (Hyper-V) life on a laptop'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcWDg84QJWu4_mpJIQrlaYZRGJyBzaHykfIgNqPZ0jWm3nPnL6kXJOzCziDTYjeg0k0I5ZGvEkCuI3hrM5RG-hZUwktIt3axv9OXU5ECoLJdEgCHFEX0ufpg182KjI3aeK1D-jUvIlSjI/s72-c/100.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5645640262316875919.post-4572083587975119567</id><published>2009-08-17T08:24:00.000-07:00</published><updated>2009-08-17T10:32:53.807-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="health care"/><title type='text'>Caring about health care</title><content type='html'>&lt;strong&gt;Yes, I&#39;m in the USA and I do have some concerns about health care&lt;/strong&gt; here. I have even more concerns about the complete lack of a logical foundation for the current series of arguments being used to sway the voter. I need some answers but I don&#39;t need Rush, Sean, Keith, Rachel or the rest of pseudo-journalists feeding me more opinions, sniping, out-of-context quotes, attacks, etc. We as a responsible public (and I believe this to be a truth in peril) need basic information by which we can make decisions to influence our leaders. At this time, we aren&#39;t doing that very well. Our leaders have formed opinions, made claims and generated massive books about &quot;what we must do&quot; instead of laying out the problem, the supporting data and ideas by which we could make meaningful, effective decisions.&lt;br /&gt;&lt;br /&gt;President Obama has done a good thing by asking the Congress to come up with the proposed legislation. But I also think he has done an absolutely sloppy job of describing the root causes of the issues which make reform an imperative. Despite this, his record looks very good when compared to the liberties the Congress has taken as it has generated its legislation. The radio and news network entertainers have absolutely set the low-benchmark, though. Thanks to them, the public arguments are even more diluted than we need if we are to make informed criticisms and adjustments to those things which may become law.&lt;br /&gt;&lt;br /&gt;Before we frame up any new legislation, we need this information clearly communicated to the public so that it may responsibly guide its representatives:&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;What elements of health care in the United States are most to blame for rising costs?&lt;/strong&gt; Is it the aging baby-boomers living longer, needing more care for more years and, resultantly, consuming more resources than the available &quot;Public Option&quot; of Medicare can sustain? Is it a rise in the numbers of individuals and families who qualify and must depend on Medicaid? Has there been a sharp increase in the cost of pre- and post-natal care? I expect this list to declare at least the Top 100 technologies, treatment plans and ailments which are causing this unsustainable cost increase.&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;A comparison of cost structures and care quality estimates&lt;/strong&gt; from European, Canadian and, believe it or not, U.S. State health plans. For instance, it&#39;s fairly clear that the Massachusetts plan does a good job of delivering the &#39;Everybody in the pool!&quot; approach to group plan participation. It&#39;s also clear that it penalizes most heavily those people who are least able to afford this law: low-income families and small businesses. Most of the news you&#39;ll read about the Massachusetts plan will be celebratory like this platitude from the &lt;a href=&quot;http://www.boston.com/business/healthcare/articles/2009/07/15/healthcare_bill_would_cut_costs_to_small_firms/&quot;&gt;Boston Globe&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;...but when you listen to small business owners and individuals, you find that their tax burden (the &lt;a href=&quot;http://en.wikipedia.org/wiki/Massachusetts_health_care_reform#Outcomes&quot;&gt;penalty applied &lt;/a&gt;for not being able to find a care provider which will underwrite your business, like independent mechanics) is driving those operators to consider career changes.&lt;br /&gt;&lt;br /&gt;Or we could consider the state of the Canadian health care system, whose quality is merely something we can speculate upon, which, apparently, is still &lt;a href=&quot;http://www.google.com/hostednews/canadianpress/article/ALeqM5jbjzPEY0Y3bvRD335rGu_Z3KXoQw&quot;&gt;overstressed &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;In the last 30 years, applied health care in the U.S. has moved away from treatment-as-needed&lt;/strong&gt; to a pre-emptive, maintenance based approach. The idea is that regular visits and evaluation help to extend life at a more affordable rate. While the first assertion is probably true by identifying high-mortality conditions earlier, does this approach deliver the second promise? We need to know this and the data must not be interpreted by the sales folks (read - politicians and pundits).&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;Does Medicaid work?&lt;/strong&gt; This is the second to last remaining element of Johnson&#39;s &quot;Great Society&quot; the rest of that vision has fallen by the wayside as we reformed the damage our society sustained under the abuse of welfare laws. It&#39;s in scope as the existing &quot;Public Option&quot; so we&#39;d better understand how it&#39;s working, right now!&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;This statement is repeated often: Health Care will be 35% of GDP in X years.&lt;/strong&gt; Okay, so break it down. Why is that? There are more factors to consider. Could this be because the other 65% are indicators of decline in the rest of the variables used to measure GDP? You can&#39;t use that phrase fairly without consideration of the sum and, to date, that forecasted sum has not been treated openly. It&#39;s important to understand because GDP forecasts indicate other issues to correct...and no one in a leadership position has been discussing this point. Yes, I&#39;ve been listening.&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;If you accept that business does a better job of managing business than does government&lt;/strong&gt;, we need to understand a little more about the efficiencies of insurance companies offering health coverage. I suspect there&#39;s more going on here than we&#39;re being told and, frankly, the currently proposed legislation appears to favor the demands of these companies more than challenging their current practices.&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;If we reform health care effectively, I expect to see scientific principles re-applied&lt;/strong&gt; to research on treatments and cures. At present, it seems we&#39;ve moved away from curative technology and created more plans which are lifetime treatment regimens. I&#39;m not sure we&#39;re technically mature enough to have this approach managed well and I&#39;m pretty sure that 30 years of treatment for heart disease costs much more money than applying a one-year treatment-to-cure plan.&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;Assertion: The Congressional Budget Office has an enviable record of accuracy.&lt;/strong&gt; We should take their statements seriously. Countering a presentation of measurements and factual projections with &quot;this statement doesn&#39;t take into account anticipated savings from unpredictable efficiencies and resulting cost reductions&quot; only strengthens the CBO statement and makes you look like an unpracticed hack. It&#39;s insulting. If you want to argue with the CBO, stop talking about your guesswork and generate some real data. I genuinely wish you luck. CBO estimates are tough, trustworthy statements.&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;Hey, if cost reduction is the goal, you&#39;d better show us a plan that reduces cost&lt;/strong&gt; and you&#39;d better show us how it achieves that goal (because the how may impact your lifestyle, too). Stop insulting us. Personally, I have a record of leaving the dealership once the conversation moves in this direction and we all know that leaves an unsold car on the lot. Think about it.&lt;br /&gt;&lt;br /&gt;Up to now, I&#39;ve kept my mouth shut, formed gut feelings, been insulted regularly by the President, Congress and TV, I&#39;ve been distracted by the major network pundits (who is listening to these folks? They&#39;re awful!) and all to the point that the information I need to make rational assessments is even weaker than when we started all this. Get us the data, leave interpretation to us (because it&#39;s evident there isn&#39;t a body out there capable of delivering that interpretation in a trustworthy manner), tell who the players are and what their stakes are. Then wait to hear back from us.&lt;br /&gt;&lt;br /&gt;Mr. President, putting a deadline down is a good idea. It&#39;s becoming an albatross, however. Now, with all these questions in minds of the populace, those deadlines are starting to look like hard sells. I&#39;ve never been comfortable with your motivation for this change and I think you can do better. To the U.S. Congress, the way to my heart is even simpler for you. Stop generating huge bodies of legislation and putting them up for committee vote in just a few hours when digesting those documents may actually take weeks (how much of that stuff was pre-written and who wrote it anyway? I&#39;m very confident that the creative genius at work on this was not a servant of the public solely based on the volume and the way you stuffed it down the cannon&#39;s barrel). You TV and Radio folks don&#39;t have a thing you need to do any differently. I&#39;ve already changed stations.</content><link rel='replies' type='application/atom+xml' href='http://1morerabbithole.blogspot.com/feeds/4572083587975119567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://1morerabbithole.blogspot.com/2009/08/caring-about-health-care.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/4572083587975119567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5645640262316875919/posts/default/4572083587975119567'/><link rel='alternate' type='text/html' href='http://1morerabbithole.blogspot.com/2009/08/caring-about-health-care.html' title='Caring about health care'/><author><name>Greg Chapman</name><uri>http://www.blogger.com/profile/06578379143848184868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>