<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Single Founder &#187; Tech Tidbits</title>
	<atom:link href="http://www.singlefounder.com/category/tech-tidbits/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.singlefounder.com</link>
	<description>Musings on software and startups from a single founder</description>
	<lastBuildDate>Thu, 19 Jan 2012 00:47:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Laptop</title>
		<link>http://www.singlefounder.com/2012/01/05/new-laptop/</link>
		<comments>http://www.singlefounder.com/2012/01/05/new-laptop/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 10:00:29 +0000</pubDate>
		<dc:creator>Mike Taber</dc:creator>
				<category><![CDATA[All Articles]]></category>
		<category><![CDATA[Tech Tidbits]]></category>

		<guid isPermaLink="false">http://www.singlefounder.com/?p=1098</guid>
		<description><![CDATA[Back in August, I was doing some work in a hotel room on my laptop and things started going &#8220;weird&#8221;. The system would appear to freeze up a bit, or the colors would go all trippy, or windows wouldn&#8217;t refresh. After five or ten seconds, I would see the following error message: &#8220;Display driver has [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.singlefounder.com/wp-content/uploads/iStockbabylaptopXSmall.jpg"><img class="alignnone size-full wp-image-1103" title="The small businessman" src="http://www.singlefounder.com/wp-content/uploads/iStockbabylaptopXSmall.jpg" alt="" width="425" height="282" /></a>Back in August, I was doing some work in a hotel room on my laptop and things started going &#8220;weird&#8221;. The system would appear to freeze up a bit, or the colors would go all trippy, or windows wouldn&#8217;t refresh. After five or ten seconds, I would see the following error message: &#8220;Display driver has stopped responding and has recovered&#8221;</p>
<p>*Gulp* That&#8217;s not good I thought.</p>
<p>After doing some digging, I found that apparently there&#8217;s a known issue that the Lenovo T61p was commonly installed with a faulty video card when it was first manufactured. It turns out that up until January of 2011, Lenovo was offering free replacements. Isn&#8217;t it just like a piece of equipment to go on the fritz just after the warranty period ends?</p>
<p>After some more research, I realized that there&#8217;s no way to replace it because the video card is soldered onto the motherboard. To fix the laptop would require a new motherboard, which for a four year old laptop is probably not worth the trouble. As a long shot, I checked eBay and there are a bunch of them there… starting at $200+ each. I might be able to get one for a bit less, but it would have taken some time, which wasn&#8217;t something I had. The Lenovo could die at any moment and I need a working laptop while I&#8217;m on the road.</p>
<p>I&#8217;d been on the look out for a new laptop the past several months, so the fact that I needed to buy a new one wasn&#8217;t the worst news in the world, but the timing wasn&#8217;t exactly the greatest either. Most of the laptops on the market come up a bit short on my list of requirements, which are unfortunately quite lengthy. I&#8217;m looking for something that has the following specs:</p>
<ul>
<li>15&#8243; monitor</li>
<li>1920&#215;1200 resolution</li>
<li>Core i7 processor (quad-core would be nice)</li>
<li>8GB RAM</li>
<li>SSD drive</li>
<li>Is lightweight (under 4 lbs would be great)</li>
<li>USB 3.0 ports</li>
</ul>
<p>And the order of those &#8220;requests&#8221;? Hmmm… all of them are a top priority. Ugh. Basically I want it all in a really tight package and with laptops, you always need to make some tradeoffs. The underlying issue is that I travel a lot so I want something that&#8217;s super lightweight. On the other hand, it needs to have some power to it as well. I&#8217;m doing a lot of development using Visual Studio 2010, SQL Server, the Azure toolset, etc. So I need something with some oomph under the hood. That&#8217;s the technical term for it anyway.</p>
<p>I&#8217;ve looked at just about everything including Acer, Asus, Lenovo, Apple, Sony, Toshiba, Dell, HP, and even Gateway. The research I did showed me that the screen was going to be the biggest problem. As the screen size goes up, so does the resolution, but the weight does too. Most laptop manufacturers stopped making 15&#8243; laptops with 1600&#215;1200 resolution several years ago. My Lenovo T61p had 1920&#215;1200 but these days, that screen resolution is typically reserved for 17&#8243; laptops, which tend to be far too heavy for my tastes.</p>
<p>Laptops with 8GB of RAM are becoming more common, but aren&#8217;t so common that they are offered everywhere. Nearly every laptop can be retrofitted with an SSD drive, so that was the simplest challenge to overcome. But it seemed as though everywhere I looked for a new laptop, there were always too many things to give up for any laptop I looked at.</p>
<p>However when your laptop is about to die, you need to make a decision as to whether even having a working laptop is more important than not having one at all. I knew that the local Best Buy was probably my best bet for a decent laptop, but I also knew that they never carry anything really top of the line. If I bought something there, it was going to be something to throw away and I wasn&#8217;t terribly thrilled with that prospect. So I decided to hit the Apple store to see if the new MacBook Air&#8217;s lived up to what I thought it might be for me.<a href="http://www.singlefounder.com/wp-content/uploads/iStockmacbookairXSmall.jpg"><img class="size-full wp-image-1102 alignnone" title="iStockmacbookairXSmall" src="http://www.singlefounder.com/wp-content/uploads/iStockmacbookairXSmall.jpg" alt="" width="418" height="287" /></a></p>
<p>I hit the Apple store in Paramus, NJ and spoke with a business specialist named Bobby. I explained to him what I did, what I was generally looking for, and what my concerns were with the 13&#8243; MacBook Air with the Core i7 processor. The screen resolution was only 1440&#215;900, but after my laptop video card on the Lenovo started to go haywire, I set the screen resolution to 1440&#215;900 to help reduce the stress on the video card. This seemed to work well enough that I could use the laptop. The video card would still reset the driver and hang the system for a short time on occasion, but it was far less frequent.</p>
<p>What I found was that the screen resolution of 1440&#215;900 was surprisingly tolerable. Of course, I had to set some of the toolbars in Visual Studio to auto-hide (which I hate to do), but I could see all of the code that I really needed to see and it wasn&#8217;t nearly as bad as I remembered from 2006. Perhaps I&#8217;m just getting old and <a title="The Widescreen Laptop Conspiracy" href="http://www.singlefounder.com/2007/04/04/widescreenlaptopconspiracy/">more tolerant of widescreen</a>. Actually no. I still don&#8217;t like it, but I can live with it now.</p>
<p>With the screen resolution issues, the SSD, and the weight behind me, I knew that I&#8217;d be compromising on the USB 3.0 ports. But I also knew that USB 3.0 on laptops was surprisingly rare, so that was the most likely casualty in any laptop compromise. The last hurdles to overcome were the processor and RAM. These weren&#8217;t strict requirements, rather they were general guidelines that needed to be there to maintain the performance of the machine for the work I would be doing. This was especially concerning on a Mac if I wanted to use VMWare Fusion or Parallels. I could have chosen to use Bootcamp again, but in the past I had some driver issues which caused my Macbook Pro to overheat to the point that it would burn my lap. Not much of a laptop at that point.</p>
<p>I voiced my concerns to Bobby, but pointed out that my current laptop was nearly 4 years old, so it was possible that with a processor that was two generations newer than the old one, I might not even notice the slowdown. I already had an SSD, so that was a non-factor. He said &#8220;Well, I don&#8217;t know anyone who has used it to the level that you have, but you could give it a shot and if it doesn&#8217;t work, you can bring it back and you&#8217;re not out a dime.&#8221;</p>
<p>Hmmm, that sounds interesting… wait. What? Isn&#8217;t there a restocking fee or something like that?</p>
<p>&#8220;Nope. We got rid of that a little while ago. Apple is so confident that you&#8217;ll like it and decide to keep it that if you don&#8217;t, you get a full refund. Just take it back to any Apple store.&#8221;</p>
<p>Really?</p>
<p>Bobby: &#8220;Yep. You&#8217;ve got two full weeks and if you don&#8217;t like it, no harm no foul. Just bring it back.&#8221;</p>
<p>I excused myself to go get dinner at the California Pizza Kitchen to think it over, then returned and bought it. Including the Applecare, it was just over $2,000, which all things considered isn&#8217;t a terrible price to pay for a top of the line, super lightweight laptop. That evening, I downloaded the VMWare Fusion trial to the MacBook Air. I used another VMWare tool to do a physical to virtual migration of my Windows 7 x64 laptop to a virtual machine on a USB drive, and then copied the entire Windows computer onto the laptop. It took a couple of hours to finish. Then I ran into a few minor problems with the VMWare image because it had six network cards for some reason. SIX!</p>
<p>One was the gigabit card on the T61p. Two were from VMWare Workstation that I had installed. The other three, I can&#8217;t be certain, but I think they were the two wireless cards and maybe the Bluetooth card. I ended up deleting all of the network devices from the VMWare machine and then adding one back in. After that, it worked fine but seemed sluggish. I thought it might be the RAM, so I dropped the amount of RAM allocated to Windows from 3GB to 2.5GB and that seemed to help quite a bit. I think that maybe OSX was choking on being able to effectively run VMWare with only 1GB left for OSX.</p>
<p>It took a few hours to get used to some of the key remappings. I ended up disabling the built-in Mac function keys so that on the Windows side, I don&#8217;t need to hold down the Fn key to hit F5. This means that Ctrl+Shift+B will do a full build for me, and Ctrl+F5 will launch the application so I can do some testing. I don&#8217;t use the Mac preset functions nearly as often, so I prefer simply using the Fn key instead. As for Windows, I have a second desktop set up that I can switch to by swiping three fingers across the trackpad. It&#8217;s kind of amazing to get that kind of flexibility that quickly. People I show it to are usually quite jealous of the power, flexibility, and speed at which it all runs.</p>
<p>And the performance? Well, so far my suspicions have been largely correct. The faster processor really makes a difference in that it has two cores and four pipelines, which is twice as many as my old laptop. The clock speed is slightly slower, but the processor architecture seems to make up for that. In VMWare, I have two CPU&#8217;s allocated to Windows 7, so it holds up pretty well. There&#8217;s a bit of a delay when opening Visual Studio, but it&#8217;s difficult to tell if anything is really wrong. It takes a lot longer than I think it should to open on my desktop too so I don&#8217;t think that&#8217;s a Macbook Air problem. A full rebuild takes under 10 seconds so I really can&#8217;t complain about it. Starting all the Azure related stuff doesn&#8217;t seem to perform any better, but I don&#8217;t think it&#8217;s any worse either.</p>
<p>The one major issue I ran into was when I first took the laptop home from the store. I booted it up and… nothing. I got a grey screen, some music, and a bunch of horizontal and vertical lines through the middle of the screen. I took it back to the Apple store and they immediately replaced it. The new one has worked just fine, so it was discomforting at first, but the ease at which they simply gave me a new one is something I never would have gotten with Dell or any other manufacturer. I know they would have been a real pain in the neck about it. For some reason, you have to be Dell Certified to know anything about how to troubleshoot a computer. In a word… LAME.</p>
<p>With all that said, what&#8217;s my final conclusion?</p>
<p>The Macbook Air is a winner, even for hardcore Windows development which needs a lot of system resources. I&#8217;m very happy with the performance of the machine, both on the Mac and on the Windows side. The battery life is pretty lengthy, even given the amount of work that I&#8217;m throwing at it. I&#8217;m just finishing up this article and I&#8217;ve been running the laptop for nearly six hours. The battery is close to the end of it&#8217;s rope, but given that I have Windows 7 x64 running at the same time, that&#8217;s not too shabby. The power adapter is rated for 45 Watts, which is about half of what my T61p was. This means that when I got on overseas flights, my power adapter will actually work to charge the battery, as opposed to simply preventing it from losing battery life. The Lenovo used a 90W power supply and most airplane power ports are only rated for 75 Watts. Somehow, tripping circuit breakers on a plane seems like a bad idea.</p>
<p>The light weight of the machine absolutely rocks. Coming from the Lenovo T61p which weighs close to 10 lbs with the power adapter to a laptop that barely breaks 3 lbs with the adapter, it&#8217;s a world of difference. Especially for someone like me who has a bad back.</p>
<p>The other thing that I really like is the screen itself. It&#8217;s very bright and crisp. Adjusting the brightness on the Macbook Air seems a lot better than on my T61p, not to mention the backlit keyboard, which is nice when you&#8217;re hunting for a key that&#8217;s in a different place on a Mac than on a PC, or in a slightly darkened room.</p>
<p>So far, the second best part of this setup is that it&#8217;s extremely light weight, has a great looking screen, adequate screen resolution, and runs Visual Studio 2010 with as much oomph as I need it to. And yes, that&#8217;s the technical term. Oomph.</p>
<p>Some other awesome stuff?</p>
<ul>
<li>Three finger swipe moves me between operating systems as fast as all heck.</li>
<li>Two finger scrolling works in Windows. Honestly, what&#8217;s not to love there? It makes me hate working with other laptops now.</li>
</ul>
<p>Ok, now for the bad stuff. You knew it was coming.</p>
<ol>
<li>You have to be careful what your power settings are in VMWare Fusion. If Windows and OSX are ever fighting over who gets to use a screensaver or shut down the system when it&#8217;s on batteries, you might get the Grey Screen of Death. Basically, the computer will light up when you turn it on, but neither OS is in control. You have to do a hard reset to fix it. I was able to get around this by telling Windows to go to sleep after 10 minutes, but OSX will wait 15 minutes. Also, I always manually suspend Windows when I am using batteries and close the lid. If it&#8217;s plugged in and I shut the lid, I get no problems. But if I then open it, then close it, it will go weird on me.</li>
<li>The laptop is so thin that it can be slightly difficult to lift the lid. This is for three reasons. First, the lid is really thin and the depth of the indent to lift the lid is really shallow. Second, the laptop has some sort of a magnet mechanism in place that helps hold it shut when you close the lid. It&#8217;s not very strong, but it&#8217;s strong enough. And finally, the laptop itself is so light that it is just barely heavy enough to counter the mechanism on the lid. Usually, you have to open it a little bit and then pry it open. Now granted, this is minor but some might find it very irritating. However, it&#8217;s the tradeoff that needs to be made to make a laptop that&#8217;s this light.</li>
<li>To run Windows, you have to buy a license for VMWare Fusion (or Parallels, if you prefer). It&#8217;s not terribly expensive, but you will need to budget another $50-$100 or so for it, depending on where you buy it from. I would advise against waiting until the lat minute to buy a license. I had a really hard time ordering a license from VMWare&#8217;s website around the time my trial expired. It took me a few days to get it resolved. Personally I spent around $110. Then VMWare started running sales and I&#8217;ve seen it as low as $50.</li>
<li>With all the heavy lifting that I do during my Windows development using Visual Studio, the system does seem to get just a bit bogged down at times. I wish it had USB 3, so I could put my Windows OS onto a USB hard drive and separate the disk I/O from the SSD in the machine to see if that helps at all. I&#8217;m not convinced that it would fix the issue, but I&#8217;d like to try it to find out and right now, it&#8217;s not really an option.</li>
</ol>
<p>Overall, I&#8217;d highly recommend a MacBook Air to anyone, even for Windows developers. I can&#8217;t begin to describe how jealous Windows users are when I show them that I get the best of both worlds in a package that&#8217;s usually half as heavy as anything they&#8217;ve got.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.singlefounder.com/2012/01/05/new-laptop/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Repeated Characters in VMWare</title>
		<link>http://www.singlefounder.com/2009/03/02/repeated-characters-in-vmware/</link>
		<comments>http://www.singlefounder.com/2009/03/02/repeated-characters-in-vmware/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:24:46 +0000</pubDate>
		<dc:creator>Mike Taber</dc:creator>
				<category><![CDATA[Daily Entries]]></category>
		<category><![CDATA[Tech Tidbits]]></category>
		<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://www.miketaber.net/?p=259</guid>
		<description><![CDATA[For those of you who experience occasional typing problems with your VMWare machines, there&#8217;s still hope. Over the past few years, I&#8217;ve run into this problem several times, and every time the symptoms are basically the same. When you&#8217;re using a remote console to access a virtual machine, as you start typing the characters will [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>For those of you who experience occasional typing problems with your VMWare machines, there&#8217;s still hope. Over the past few years, I&#8217;ve run into this problem several times, and every time the symptoms are basically the same.</p>
<p>When you&#8217;re using a remote console to access a virtual machine, as you start typing the characters will start repeating themselves on the screen. Most of the time, typing and then seeing those characters on the screen is exactly what you expect. Until you hit go to type &#8216;root&#8217; into a Linux VMWare image and it comes out as &#8216;rrrooooooooootttt&#8217;. Typing very slow sometimes gets around the problem, but not always. Typing a password becomes especially difficult as you have no idea whether extra characters are appearing and depending on how your machine is configured, you might lock out an account. Rebooting the image will sometimes make the issue go away for a little while, but it often returns at the worst possible time.</p>
<p>I used to think this was a low memory related problem, caused by the host using too large a pagefile, thus causing delays and screwing with the low level interrupts. I came to this conclusion mainly as a result of running VMWare Server on a Windows 2003 server with about 4GB of RAM. After overcommitting the memory, this bug tended to surface quite a bit, so I started offloading the virtual images and only running a few when it was absolutely necessary. It turns out this isn&#8217;t solely related to memory.</p>
<p>There&#8217;s a VMWare KB article that explains <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=196">how to address this issue</a> and states that it happens due to low bandwidth situations. I beg to differ on the bandwidth situations, as I&#8217;m running gigabit on my network and lets face it. My network really isn&#8217;t that big. I have at most 2 hops between any given location and it&#8217;s generally limited geographically to about 10 feet.</p>
<p>Basically, their fix is as follows: power off the virtual machine and modify the .vmx file for the image you&#8217;re having problems with to include the following line:</p>
<p><tt>keyboard.typematicMinDelay = "2000000"</tt></p>
<p>Once you&#8217;ve done that, there will be a 2 second delay introduced to prevent single characters from repeating themselves numerous times. Unfortunately, I found this recommended fix didn&#8217;t work as well as I would have liked. You see, 2 seconds is a long time for computers. And after you&#8217;ve done this, the Backspace key becomes pretty much useless. After some trial and error, I found that cutting this value by 75% seemed to work pretty well.</p>
<p><tt>keyboard.typematicMinDelay = "500000"</tt></p>
<p>Since I added this line to each of my .vmx files, I&#8217;ve yet to run into this issue again using any of the remote administration tools provided by VMWare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.singlefounder.com/2009/03/02/repeated-characters-in-vmware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Convert Your Blog From SubText to WordPress</title>
		<link>http://www.singlefounder.com/2009/02/27/converting-from-subtext-to-wordpress/</link>
		<comments>http://www.singlefounder.com/2009/02/27/converting-from-subtext-to-wordpress/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 21:40:13 +0000</pubDate>
		<dc:creator>Mike Taber</dc:creator>
				<category><![CDATA[All Articles]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech Tidbits]]></category>

		<guid isPermaLink="false">http://www.miketaber.net/?p=186</guid>
		<description><![CDATA[No matter what anyone tells you, there’s more to changing blog engines than just clicking a few buttons and importing data. It tends to be a fair amount more complicated than that. In my last post, I highlighted some of the reasons, both rational and not so rational for my decision to change from SubText to Wordpress.

However, with the research links I found on Google, I still ran into a myriad of problems which the resources I found didn't address. I felt there was more hand waving than hand holding. I like to hold hands, so here's how I converted from SubText 1.9.3 to Wordpress 2.7.1.]]></description>
			<content:encoded><![CDATA[<p></p><p>No matter what anyone tells you, there&#8217;s more to changing blog engines than just clicking a few buttons and importing data. It tends to be a fair amount more complicated than that. In my last post, I highlighted some of the reasons, both rational and not so rational for my decision to change from SubText to WordPress.</p>
<p>It&#8217;s only been about a week or so, but I&#8217;ve learned a huge amount of &#8220;stuff&#8221;, for lack of a better term, and am thus far, I am rather pleased with the transition to WordPress. I thought that for the benefit of others, I would document my move to WordPress 2.7 from SubText 1.9.3 so that if others decide they&#8217;d like to try it, they can hopefully retrace my steps and experience a little bit less pain than I did.</p>
<p>When undertaking this sort of project, there&#8217;s really only one viable place to start looking for information on how to do this. Google. I found a number of links that I thought might be helpful and used them as a general starting point for deciding what to do, and how to do it.</p>
<p><strong>Subtext to WordPress:</strong><br />
<a href="http://www.ageektrapped.com/blog/subtext-to-wordpress-converting-blog-engines/" target="_blank">http://www.ageektrapped.com/blog/subtext-to-wordpress-converting-blog-engines/</a><br />
<a href="http://www.copyandwaste.com/2008/09/15/hello-goodbye-subtext-to-wordpress/" target="_blank">http://www.copyandwaste.com/2008/09/15/hello-goodbye-subtext-to-wordpress/</a><br />
<a href="http://blog.digitaltinder.net/2008/12/exporting-blogml-from-subtext-21-and-importing-blogml-into-wordpress-27/" target="_blank">http://blog.digitaltinder.net/2008/12/exporting-blogml-from-subtext-21-and-importing-blogml-into-wordpress-27/</a></p>
<p><strong>Blogger to WordPress:</strong><a href="http://www.aaronlerch.com/blog/2007/08/23/breaking-up-moving-blog-engines/" target="_blank"></p>
<p>http://www.aaronlerch.com/blog/2007/08/23/breaking-up-moving-blog-engines/</a></p>
<p><strong>DasBlog to WordPress:</strong><a href="http://www.kavinda.net/2008/10/23/migrating-from-dasblog-to-wordpress.html" target="_blank"></p>
<p>http://www.kavinda.net/2008/10/23/migrating-from-dasblog-to-wordpress.html</a></p>
<p><strong>WordPress to SubText</strong><a href="http://betterthaneveryone.com/archive/2007/11/04/wordpress-to-subtext-done.aspx" target="_blank"><strong>:</strong></p>
<p>http://betterthaneveryone.com/archive/2007/11/04/wordpress-to-subtext-done.aspx</a></p>
<p>Obviously the first set of links was much more helpful than the others, but for reference purposes, seeing how others dealt with converting to WordPress or reasons they moved away was somewhat enlightening. After running through the instructions on each of the first set of links, I came to one conclusion: that none of their sets of instructions were going to work for me directly due to the myriad of problems I was running into that they did not address. I felt there was more hand waving than hand holding. I like to hold hands, so here&#8217;s how I converted from SubText 1.9.3 to WordPress 2.7.1.</p>
<p>At a high level, the idea is to export from SubText to some intermediate format, and then import that into WordPress. In this case, the intermediate format which is probably the most straightforward to use is a BlogML XML file. The rationale is that you want to be able to keep all of your content and save time doing the conversion. The last blog engine transition I did was from <a href="http://www.fogcreek.com/CityDesk/">CityDesk </a>to SubText and it involved a lot of copy/pasting. Not fun.</p>
<p><a href="http://blogml.org/" target="_blank">BlogML </a>is supposed to be a standard of some sort for moving your blog content from one platform to another. Unfortunately, the development is somewhat stagnant and not much of anything has gone on in quite some time. Their roadmap as of today indicates that version 3.0 is expected to be released in mid-2008. It&#8217;s early 2009 and version 2.5 is the only thing out there.</p>
<p>Another potential sticky point is that WordPress does not ship with a BlogML import module. Fortunately, a fellow blogger named <a href="http://www.aaronlerch.com/blog/" target="_blank">Aaron Lerch</a> built one and there are several variations floating around which fix a few different bugs. I&#8217;ll be offering up my own version in order to fix a couple more.</p>
<p>So, to reiterate, the idea is to export from SubText to BlogML, then import the XML into WordPress. Easier said than done.</p>
<p><strong>Problem #1:</strong> Exporting to BlogML.<br />
The BlogML exported in SubText doesn&#8217;t appear to work. At least it didn&#8217;t at first and in the version of SubText I was using. For the record, I was using version 1.9.3. Fortunately, I discovered almost by accident that the BlogML export feature for SubText doesn&#8217;t work if you instruct it to include embedded content, which is the default. I&#8217;m not sure specifically what that is meant to be, but from doing a bit of research, I gather that embedded content includes things like flash files, YouTube videos, or maybe even local images. In any case, including the embedded content caused it to fail. I unchecked the box to include embedded content, and viola. My BlogML XML file was ready to download.</p>
<p>Apologies to those of you using embedded content, but I really didn&#8217;t look too far into this. The cursory research on what embedded content was lead me to believe that I didn&#8217;t have any on my blog and could probably safely ignore it. Your mileage may vary.</p>
<p><strong>Problem #2:</strong> Using Aaron Lerch&#8217;s BlogML Importer for WordPress.<br />
This seemed flaky at first and it wasn&#8217;t clear at all why it just wasn&#8217;t working. I&#8217;d get the file upload textbox like the instructions stated, I&#8217;d attempt to upload my file, and then the fields would disappear and my browser would act as if nothing was wrong and it was done doing what it was supposed to do. I tried a few different browsers and got the same result with Firefox, IE 7, and Google Chrome.</p>
<p>It turns out that the BlogML import seems to use a fair amount of memory. My BlogML XML file was about 1.6MB. After digging through the apache error logs on my web server, I found that the web page was requesting about 32MB of memory to parse the XML file and the web server was denying that request, as it was limited to much less in terms of memory.</p>
<p>I really don&#8217;t have any idea why it requires so much memory to parse the BlogML file. Quick estimates ballpark the required memory to be about 20 times the size of your BlogML file. In my case, this was about 32MB of RAM. If my BlogML file were 5MB, I would likely need more than 100MB memory.</p>
<p>The quick fix to this issue was to add the following line of code to the blogml.php file:</p>
<pre lang="PHP">ini_set("memory_limit", "64M");</pre>
<p>You could always bump it up to 128M or higher, if needed. The alternative is to modify your php.ini file and alter the memory_limit for the entire apache instance, but I felt that this blog import was only going to be done once, so there was no need to allocate additional resources if it wasn&#8217;t really necessary. The machine has them to spare, but no point in wasting them.</p>
<p>You can download the XPath.class.php and blogml.php files that I used from <a href="http://www.miketaber.net/wp-content/uploads/blogml_and_XPath.zip">here</a>.</p>
<p><strong>Problem #3:</strong> File upload problems<br />
Once the BlogML importer seemed to be working, I immediately ran into a permissions issue. The BlogML Importer was unable to save my uploaded file to the web server due to a permissions error. I poked around a lot and the &#8220;fix&#8221; most often recommended was to change the permissions on the /wp-content/uploads directory to 777. Forgive me for working in the security field, or even being remotely security minded at all, but that&#8217;s the single most ridiculous suggestion I&#8217;ve ever heard.</p>
<p>If it was only made by one person, I could possibly dismiss this as just ignorance, but numerous people were suggesting that this approach was not only common, but was the recommended fix. Sorry folks. It&#8217;s not. I found that the most straightforward approach was to provide ownership of the uploads directory to apache. Immediately the problem went away, and nothing had to be made writeable by world.</p>
<p><strong>Problem #4: Link redirection</strong><br />
This one could have been a total nightmare, but wasn&#8217;t nearly as bad as it could have been. If you have a blog that you&#8217;ve been running for any length of time, the hope is that other people have linked to your blog. Even better, there&#8217;s a steady stream of traffic headed your way. Well, to keep that traffic from drying up quickly, you&#8217;re going to need to set up URL redirection using a .htaccess file on your new web server, thus redirecting pages from<br />
/2008/12/25/its-christmas-time.aspx to something like /2008/12/25/its-christmas-time/.</p>
<p>That means that you need to know exactly what every single internal link on your site is, and exactly where it goes. Once you know where all your links are, then you add a RewriteRule to your .htaccess file for each of them. This RewriteRule will perform a redirection at the web server level, simultaneously providing the browser with a 302 error code to indicate that the page has permanently moved.</p>
<p>This should have been easier than it was, but I wasn&#8217;t using pretty URL&#8217;s in SubText, so I had to suffer through this part of it. It didn&#8217;t take long before I came up with what I felt was an adequate solution. I poked around a lot using Google and Yahoo, looking for web tools that would crawl my site and find all of my page links for me, but I didn&#8217;t find anything that was terribly helpful. Finally, I gave up and decided to roll my own.</p>
<p>Using my trusty Perl skills, I wrote a website crawler which I pointed at my original blog. After reading in the main page, it parsed the page for every link on the page. If the link was local to my domain, it would retrieve the contents of that page and recursively continue to do so until it had followed every single link on my website which pointed back to itself. I ignored image references and relative URL&#8217;s. I also ignored any link that was to an external website, as I have no control over those links anyway.</p>
<p>Given that there was a page in SubText containing a list of archived links, this solution worked really well. I was able to capture every single link on the page and for each URL, I was able to obtain the title of the page. This made building my .htaccess file pretty hassle free. It was still a little tedious, but for a few hundred links it only took a couple hours to search the content of my new blog for the title&#8217;s that I captured and match them up to the original URL&#8217;s.</p>
<p>Here is a link to the Perl code that I used for this. Feel free to hack away and use it for whatever you want. I&#8217;m releasing it under the GPL 3 license. Do with it what you will. To use it, simply install the Perl libraries (assuming you don&#8217;t have them) and set the primaryURL and the TLD variables. Run the subTextCrawler.pl file, and it will spit out a bunch of half-written RewriteRule&#8217;s for your .htaccess file.</p>
<p>The assumption is that you have your WordPress site up and running and have imported your BlogML file. I used a temporary domain pointer for this, so I was able to take the title printed on each RewriteRule line and search for the corresponding URL on my new WordPress site.</p>
<p>I could have gotten much fancier and searched my WordPress site using the title from the SubText site and completely automated it, but I&#8217;ll leave that for someone else to do. I&#8217;m just trying to get you most of the way there.</p>
<p><a href="http://www.miketaber.net/wp-content/uploads/subTextCrawler.pl">subTextCrawler.pl</a></p>
<p><strong>Problem #5:</strong> Learning how to actually build a .htaccess file.<br />
I was pretty stupid the first time I was working with my .htaccess file. It turns out that there are two things you need to keep in mind when using WordPress. First, is that WordPress expects to be able to modify this file. So, making .htaccess owned by apache solved the first issue. The second issue I had here was that the .htaccess file automatically is filled in with a set of rules that are dictated by your Permalink preferences. Whenever you browse to the Permalink preferences page within WordPress, this file is read, parsed, and then rewritten. All without clicking a save button.</p>
<p>It&#8217;s pretty irritating to put all of your RewriteRule lines in there, only to find they don&#8217;t work for some reason and not realize that it&#8217;s because the file is being overwritten whenever you browse to a specific admin page in WordPress. Your .htaccess file should look something like this:</p>
<pre lang="C"># BEGIN WordPress
‹IfModule mod_rewrite.c›
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
‹/IfModule›
# END WordPress</pre>
<p>The trick to adding your own RewriteRule options is to add another set of instructions above the ones created by WordPress. Once you do that, your changes will not be lost whenever you browse to the Permalinks page. I&#8217;m a fan of examples, so here&#8217;s some of what I ended up with:</p>
<pre lang="C">‹IfModule mod_rewrite.c›
RewriteEngine On
RewriteBase /
RewriteRule ^archive/2005/08\.aspx$ /2005/08/ [R=302,L,NC]
RewriteRule ^archive/2005/08/21/1\.aspx$ /2005/08/21/day-11-starting-a-new-business/ [R=302,L,NC]
RewriteRule ^archive/2005/08/22/2\.aspx$ /2005/08/22/day-12-the-website/ [R=302,L,NC]
...
one rule per line of subTextCrawler.pl output
...
‹/IfModule›

# BEGIN WordPress
‹IfModule mod_rewrite.c›
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
‹/IfModule›

# END WordPress</pre>
<p><strong>Conclusion:</strong></p>
<p>Hopefully, someone out there finds this retelling of my experience useful and can save themselves a great deal of time and effort. Between the links above where people explained their processes, and my retelling of the problems that I ran into, you should at least have some answers as to how to tackle some of the problems you might run into.</p>
<p>Eventually, the <a href="http://code.google.com/p/google-blog-converters-appengine/">Google Blog Converters</a> project may help to allow your data to migrate between blog engines a little easier but it&#8217;s really just not there yet. Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.singlefounder.com/2009/02/27/converting-from-subtext-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excel spreadsheet productivity</title>
		<link>http://www.singlefounder.com/2007/06/13/excel-spreadsheet-productivity/</link>
		<comments>http://www.singlefounder.com/2007/06/13/excel-spreadsheet-productivity/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 16:24:04 +0000</pubDate>
		<dc:creator>Mike Taber</dc:creator>
				<category><![CDATA[Daily Entries]]></category>
		<category><![CDATA[Tech Tidbits]]></category>

		<guid isPermaLink="false">http://miketaber.net/archive/2007/06/13/1267.aspx</guid>
		<description><![CDATA[You&#8217;d think that with the whole &#8220;widescreen craze&#8221;, Microsoft would have addressed this issue on their own. It turns out that when you&#8217;re using Excel 2003, you can&#8217;t view two Excel documents side by side in different monitors because Excel opens them up in a single application window. They show up in the taskbar as [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>You&#8217;d think that with the whole &#8220;widescreen craze&#8221;, Microsoft would have addressed this issue on their own. It turns out that when you&#8217;re using Excel 2003, you can&#8217;t view two Excel documents side by side in different monitors because Excel opens them up in a single application window. They show up in the taskbar as two different instances of the application, but when you try to move one of them to a different monitor, it moves them both because they&#8217;re part of the same application instance.</p>
<p>Many thanks to <a href="http://www.drewery.net/blog/">Ant Drewery</a> for the solution. Now I can view two Excel spreadsheets side by side in different monitors at the same time. Apparently Microsoft has fixed this in Excel 2007.</p>
<p>Want to view two spreadsheets side by side on different monitors at the same time? <a href="http://www.drewery.net/blog/2006/08/29/utilising-dual-monitors-with-microsoft-excel-2003/">Here are the instructions</a> for how to fix it on your own PC.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.singlefounder.com/2007/06/13/excel-spreadsheet-productivity/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VMWare and AMD X2&#8242;s</title>
		<link>http://www.singlefounder.com/2006/11/10/vmware-and-amd-x2s/</link>
		<comments>http://www.singlefounder.com/2006/11/10/vmware-and-amd-x2s/#comments</comments>
		<pubDate>Fri, 10 Nov 2006 16:14:12 +0000</pubDate>
		<dc:creator>Mike Taber</dc:creator>
				<category><![CDATA[Daily Entries]]></category>
		<category><![CDATA[Tech Tidbits]]></category>

		<guid isPermaLink="false">http://miketaber.net/archive/2006/11/10/261.aspx</guid>
		<description><![CDATA[I use VMWare&#8230; a lot. As I commented to on of my readers, I use a lot of different operating systems in my business, including: Windows 2000, Windows XP, Windows 2003, SUSE Linux, Red Hat Linux, Solaris, HPUX and AIX. This list doesn&#8217;t include the various service pack levels, or kernel versions that each of [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I use <a href="http://www.vmware.com">VMWare</a>&#8230; a lot. As I commented to on of my readers, I use a lot of different operating systems in my business, including: Windows 2000, Windows XP, Windows 2003, SUSE Linux, Red Hat Linux, Solaris, HPUX and AIX. This list doesn&#8217;t include the various service pack levels, or kernel versions that each of these OS&#8217;s might have, nor does it include additional dedicated &#8216;machines&#8217; that I use for hosting heavy duty applications like Exchange Server, SQL Server 2k and 2k5, Oracle, mySQL, etc.</p>
<p>My work depends on me testing the code I write against different operating systems. For example, the find command works slightly differently from AIX 5.1 to AIX 5.3. Doesn&#8217;t seem like a big deal until you&#8217;re working with a large financial company and they demand that the script you wrote works on both versions perfectly. Oh, and it has to be the same script&#8230; and they don&#8217;t know which machines they&#8217;re running it on, so the script needs to figure it out and do the right thing because they won&#8217;t install different scripts to different machines.</p>
<p>So, recently as I&#8217;ve used my office in Worcester more and more, I&#8217;ve been making a concentrated effort to move my primary resources into the office. That includes my servers. Right now, I have a much older Windows 2000 Server running many of my applications, and up until recently, it ran my website. But yesterday I had the revelation that moving that server completely into a virtual machine would probably make a lot of sense. The fact is, the hardware isn&#8217;t really all that great. The server doesn&#8217;t do a lot anymore other than run SQL Server and act as a test machine for various web based projects that I work on. So yesterday around noon, I started doing just that.</p>
<p>Six hours later, it still wasn&#8217;t done. The VMWare image wouldn&#8217;t boot. I didn&#8217;t understand. I&#8217;d created Windows 2000 Server images before, on both my desktop and on my laptop. What gives? Maybe the disk was bad. Nope. My desktop and rackmount server could read it just fine. In fact, it got most of the way through the install several times before it would just hang. After fussing with it for a couple more hours this morning, and poring over VMWare&#8217;s website, I finally found the problem.</p>
<p>VMWare + Windows 2000 Server + AMD X2 processors don&#8217;t mix.</p>
<p>At least not without a mild modification. Back when I decided to go with rackmount servers for my business, I looked at a lot of different rackmount machines from various vendors before I came to the conclusion that it would be far less expensive for me to build, rather than buy. I was going to save myself around $750 per machine, and since I was buying three of them, I knew it would be worth it. Now, I don&#8217;t have much against Dell, but for the sake of having a company to pick on, the fact that they&#8217;re the number one PC distributor makes them a big target. I own a lot of Dell equipment. Mostly monitors, cases, and printers. Oh, and monitors.</p>
<p>But I&#8217;m not going to pay far above market value just so that I can get the Dell logo on my machine. Thanks anyway, but the time investment on my part was worth $2,250. So, I built three servers, and decided that I really wanted AMD Athlon X2 4400&#8242;s with 4GB of RAM, RAID 1 drives, etc.</p>
<p>These are great machines, but it would appear that it really bit me in the butt this time. In an effort to save at least one other person the hassle:</p>
<p>If you&#8217;re installing Windows 2000 Server on VMWare Virtual Server hosted on a box with Athlon X2&#8242;s in it and you&#8217;re having trouble during the install because the setup is hanging during one of the many blue background setup screens, stop the installation and power off the machine. Find the .vmx file, open it in notepad or some other text editor and add this line:</p>
<p>processor1.use = &#8220;FALSE&#8221;</p>
<p>Save, and restart the machine. Everything should start installing properly. It seems that this disables the second processor, as Windows 2000 isn&#8217;t real happy about booting up with a second virtual CPU. It&#8217;s been a very long time since I installed Windows 2000 Server directly on a machine with two physical processors, so I don&#8217;t recall if there&#8217;s anything special that needed to be done during setup. In any case, I hope at least one person finds this little tip useful. If so, you&#8217;re welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.singlefounder.com/2006/11/10/vmware-and-amd-x2s/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
	</channel>
</rss>

