<?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/"
	>

<channel>
	<title>My Delusional Dream</title>
	<atom:link href="http://patrick.wagstrom.net/weblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://patrick.wagstrom.net/weblog</link>
	<description>Thoughts of a Cautious Technocrat</description>
	<pubDate>Tue, 16 Dec 2008 01:28:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pieces of MythTV (December 2008 Hardware Edition)</title>
		<link>http://patrick.wagstrom.net/weblog/2008/12/13/pieces-of-mythtv-december-2008-hardware-edition/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/12/13/pieces-of-mythtv-december-2008-hardware-edition/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 18:52:45 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[mythtv]]></category>

		<category><![CDATA[drobo]]></category>

		<category><![CDATA[hardware]]></category>

		<category><![CDATA[hauppauge]]></category>

		<category><![CDATA[hdhomerun]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/weblog/?p=525</guid>
		<description><![CDATA[I&#8217;m five and half years into my journey with MythTV, and in that time I&#8217;ve managed to upgrade my system several times.  Back in 2006 I wrote a tutorial on installing MythTV under Ubuntu with a pcHDTV card and a firewire tuner.  While some pieces of the machine remain the same, most of the pieces [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m five and half years into my journey with MythTV, and in that time I&#8217;ve managed to upgrade my system several times.  Back in 2006 I wrote a tutorial on <a href="http://patrick.wagstrom.net/tutorials/mythTV64/" >installing MythTV under Ubuntu with a pcHDTV card and a firewire tuner</a>.  While some pieces of the machine remain the same, most of the pieces of hardware have changed pretty radically since then.</p>
<h3>The Case</h3>
<p>I use an <a href="http://www.antec.com/usa/productDetails.php?lan=us&amp;id=15730" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.antec.com');">Antec Overture 2</a> desktop ATX case.  It&#8217;s a fairly large case, but it fits nicely in my entertainment center.  Unfortunately, it vents out the sides and is a tight fit, so I had to do some modifications to give it better airflow.   I removed the back of my entertainment center where the box is (a virtual necessity given the number of cables hanging from it), and also cut a hole in the side leading from one compartment to another so the vent from the power supply would go somewhere.</p>
<p style="text-align: center;">
<div id="attachment_566" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-566" title="Antec Overture II Case" src="http://patrick.wagstrom.net/weblog/wp-content/uploads/2008/12/overtureii.jpg" alt="Antec Overture II Case" width="320" height="204" /><p class="wp-caption-text">Antec Overture II Case</p></div>
<h3>The Processor</h3>
<p>Athlon 64&#215;2 4400+ on an MSI K8N-Neo4 Platinum motherboard - the processor is overclock slightly, so it runs at about the speed of a 5000+.  You can&#8217;t get either of these anymore because it&#8217;s a socket 939 setup.  It goes to show you don&#8217;t need a beast of a Core i7 processor to run MythTV.  It has 2GB of Dual Channel DDR ram.  Certainly not anything overly spectacular, but pleanty for running a combination Front End/Backend MythTV setup.  While viewing 1080i HD the processor maxes out at about 60% utilization of a single core.</p>
<h3>Capture Devices</h3>
<p>Analog cable is captured using a WinTV PVR-250 PCI card.  The card is getting pretty old, being the first part of MythTV I bought, but it still works like a champ.  I capture HD Cable using an <a href="http://www.silicondust.com/products/hdhomerun" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.silicondust.com');">HD HomeRun</a>.  I only have the most basic of cable, just enough for broadcast and a few other channels, so the HD HomeRun can capture everything.</p>
<div id="attachment_567" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-567" title="Silicon Dust HD HomeRun" src="http://patrick.wagstrom.net/weblog/wp-content/uploads/2008/12/hdhomerun.jpg" alt="Silicon Dust HD HomeRun Networked HDTV Tuner" width="400" height="244" /><p class="wp-caption-text">Silicon Dust HD HomeRun Networked HDTV Tuner</p></div>
<p>I can&#8217;t stress how great the HD HomeRun is for capturing OTA or QAM unencrypted cable.  It&#8217;s a small box, about the size of a few DVDs stacked, with two coax inputs, and an ethernet output.  These boxes have virtually zero configuration, and because it just speaks a simple network protocol, you don&#8217;t need to worry about kernel changes or drivers.  The HD HomeRun just works.  Additionally, because it takes up no slots in the computer, you can go with a much smaller form factor system.  This works nicely for my eventual goal of putting everything on a Mac Mini or comparable tiny system.</p>
<h3>Storage</h3>
<p>Inside of the Overture 2 I have two 320GB hard drives running as a mirrored pair.  This is where my database, photos, and music live.  For recordings I have a 1st generation <a href="http://www.drobo.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.drobo.com');">Drobo</a> with 2&#215;1GB and 2&#215;320GB drives in it, providing about 1.6TB of protected space.  The Drobo is another great device that if you&#8217;re serious about MythTV you should strongly consider getting.  Some folks will complain about the noise, but I&#8217;ve never noticed the Drobo make any notice.  Although, as a disclaimre, I have two fairly large fish tanks in my living room that produce significant noise.  HD actually doesn&#8217;t need that much bandwidth and the Drobo can easily supply enough over USB for all of my needs.  As the limiting factor in the system is the USB bandwidth, you&#8217;re safe going for slightly slower, quieter, and cooler drives like the <a href="http://www.wdc.com/en/products/products.asp?driveid=336" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.wdc.com');">Western Digital GreenPower</a> drives.</p>
<div id="attachment_568" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-568" title="Data Robotics DROBO Storage Robot" src="http://patrick.wagstrom.net/weblog/wp-content/uploads/2008/12/drobo.jpg" alt="The DROBO USB Storage Robot" width="300" height="300" /><p class="wp-caption-text">The DROBO USB Storage Robot</p></div>
<h3>Display</h3>
<p>Inside the Overture 2 is an nVidia GeForce 6600LE.  It&#8217;s fanless and really underpowered, I won&#8217;t want to play games on it or anything like that, but at the time, it was a decent card to have, unfortunately, it doesn&#8217;t support VDPAU, so at some point it will probably have to go.  This is connected via a DVI-&gt;HDMI cable to a Sharp Aquos 32&#8243; 720p display.  I realize the videophiles are laughing at me because it&#8217;s a small TV, but the picture is quite good, blacks are black, no overscan, etc.  The display is driven at near-native resolution of 1366&#215;768.  This means I lose a 1 pixel strip on each side.  I&#8217;ve never actually noticed that.</p>
<h3>Remote Control</h3>
<p>Currently I use the remote control that came with the WinTV PVR-250 and the attached IR dongle.  It&#8217;s been supported just as long as the WinTV card has and it works well enough.  There are some strange quirks where sometimes it seems to fall asleep and needs to be &#8220;woken up&#8221;.  In addition, it only accepts IR codes from Hauppauge remotes.  The HD Homerun also has an IR receiver that is more generic and should work with most remotes.  I haven&#8217;t gotten a chance to play with that yet, however.</p>
<h3>Future Upgrades</h3>
<p>For my current cable signal, it seems as though this works quite nicely.  If I were to add components to my MythTV box in the future it would most likely be a <a href="http://www.hauppauge.com/site/products/data_hdpvr.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.hauppauge.com');">Hauppauge HD-PVR</a> once I get a better selection of cable channels.  At that point, there is a good chance I&#8217;ll reture the PVR-250 card and switch to a much smaller case with everything external.</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/12/13/pieces-of-mythtv-december-2008-hardware-edition/&title=Pieces+of+MythTV+%28December+2008+Hardware+Edition%29&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/12/13/pieces-of-mythtv-december-2008-hardware-edition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why MythTV 0.22 Will Rock You</title>
		<link>http://patrick.wagstrom.net/weblog/2008/12/11/why-mythtv-022-will-rock-you/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/12/11/why-mythtv-022-will-rock-you/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 23:01:31 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[mythtv]]></category>

		<category><![CDATA[hdpvr]]></category>

		<category><![CDATA[hdtv]]></category>

		<category><![CDATA[qt]]></category>

		<category><![CDATA[vdpau]]></category>

		<category><![CDATA[xvmc]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/weblog/?p=495</guid>
		<description><![CDATA[Way back in May of 2003, when the internet was ugly and Web 2.0 didn&#8217;t exist yet, CompUSA had an online deal that caught my eye - a WinTV PVR-250 Hardware MPEG Encoder card for $99 after rebate.  I had been debating the whole media center setup for a while and decided this was good [...]]]></description>
			<content:encoded><![CDATA[<p>Way back in May of 2003, when the internet was ugly and Web 2.0 didn&#8217;t exist yet, CompUSA had an online deal that caught my eye - a <a href="http://www.hauppauge.com/html/wintvpvr250_datasheet.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.hauppauge.com');">WinTV PVR-250 Hardware MPEG Encoder card</a> for $99 after rebate.  I had been debating the whole media center setup for a while and decided this was good time to make the leap.  The state of media center software at the time was pretty shoddy &#8212; convergence was talked about, but rarely happened.  Windows Media Center wasn&#8217;t generally available and <a href="http://www.xbmc.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.xbmc.org');">XBox Media Center </a>was still in its infancy.  In either case, recording and playback of liveTV wasn&#8217;t possible.  On the Linux front a war was being waged between <a href="http://www.mythtv.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mythtv.org');">MythTV</a> and <a href="http://freevo.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/freevo.sourceforge.net');">Freevo</a>.  Freevo had a slick interface and supported almost any capture card, but because it shelled out to other programs for recording and viewing content, it just felt weird.  Furthermore, this lack of integration meant you couldn&#8217;t use it like a TiVo to watch and record live TV because one program recorded TV while another played it back, and a notification was made only after it was done recording.  MythTV was still fairly new at the time, and sure enough, just before I got the card, support was added for hardware MPEG encoders that used the <a href="http://www.ivtvdriver.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ivtvdriver.org');">IVTV driver</a> &#8212; such as the WinTV PVR 250.  I&#8217;ve been a reliable MythTV user and occasional hacker since then.</p>
<p>MythTV has developed very slowly since then.  Each new release brings support for a few more capture cards, and maybe some small new features, but it&#8217;s slow development, especially in the user interface category leaves me feeling like I&#8217;m stuck in 2003 still.  With some luck, the upcoming release of MythTV 0.22 will change that.  In fact, MythTV 0.22 could really rock your world, and here is why:</p>
<h3>Hauppauge HD-PVR Support</h3>
<p>MythTV remains one of the best choices if you want to capture high definition video.  The excellent support for pcHDTV cards, and the even better support for the incredible <a href="http://www.silicondust.com/products/hdhomerun" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.silicondust.com');">HD HomeRun</a>, make it trivial to capture over the air or unencrypted cable high definition signals.  However, once spot where MythTV cannot compete with Windows Media center is for premium cable channels.  MythTV will never be able to support cable card tuners  because of the closed environment that these external tuners live in and the current requirement that the tuners be locked to the PC they&#8217;re purchased with.  So while it&#8217;s perfectly easy to watch NBC and CBS in high definition, your hopes of being able to watch HBO or ESPN in high definition are slim at best.  Luckily, Hauppauge has developed an excellent solution that fits the needs of the MythTV user perfectly.</p>
<div id="attachment_497" class="wp-caption aligncenter" style="width: 279px"><img class="size-full wp-image-497" title="hd_pvr_small" src="http://patrick.wagstrom.net/weblog/wp-content/uploads/2008/12/hd_pvr_small.jpg" alt="The Hauppauge HD-PVR" width="269" height="176" /><p class="wp-caption-text">The Hauppauge HD-PVR model 1212</p></div>
<p>The <a href="http://www.hauppauge.com/site/products/data_hdpvr.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.hauppauge.com');">Hauppauge HD-PVR</a> is a USB component video capture box that transcodes signals up to 1080i to H.264 video in real time.  On a technical level this means that you take the analog component (YPbPr) output of your cable TV box and it feed to the HD-PVR which will then re-digitize the video.  Quality snobs will note that this results in an extra stage of decompression and recompression which leads to artifacts, and they&#8217;d be right, but luckily the quality of the box is pretty good, so only the most discerning eye will notice a different in video quality.  HD-PVR support will be included in the next release of MythTV.</p>
<h3>QT4 and New Theming</h3>
<p>MythTV is probably one of the last programs on the planet that still uses QT3 as it&#8217;s widget set. It&#8217;s a reliable widget set, with moderate theme capabilities, but it was clearly designed for desktop applications.  You can change the color and appearance of widgets, like scroll bars, buttons, and drop down menus, but it doesn&#8217;t have the ability to provide nice transitions between screens or widgets.  Basically, you&#8217;re working with a static widget set.  Sometime, probably a couple of years ago, MythTV introduced support for OpenGL screen transitions.  Now when I go from the main menu to my recordings screen, a nice transition happens, but on the screen I&#8217;m still using the same static screen with no transitions or interactivity.  Several times on the mailing list people have brought up how subtle transitions and audible feedback would really add to the experience &#8212; after all, TiVo didn&#8217;t succeed because it was the most feature filled, it succeeded because it had the best user interface.  Currently the closest thing that MythTV can do is run an external program that plays a sound when a key is received by the application.  I&#8217;ve tried it, and it&#8217;s just not quite right.</p>
<p>QT4 should fix many of these issues.  Nokia didn&#8217;t purchase QT to sell the widget toolkit as another system for creating desktop applications, they intended to use it in embedded applications where things don&#8217;t always look the same.  The new features of QT4, which was released way back in 2005, really make it a top notch widget set.  In particular, the entire toolkit has been abstracted to work nicely with OpenGL, allowing for better transition effects, theming and mapping of graphics.</p>
<p style="text-align: center;"><object width="425" height="344" data="http://www.youtube.com/v/MXS3xKV-UM0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/MXS3xKV-UM0&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p style="text-align: center;">Watch out for the <a title="Trippy Pink Floyd Shit Airline Safety Card" href="http://www.boingboing.net/2008/05/27/mashed-frontier-airl.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.boingboing.net');">Trippy Pink Floyd Shit</a> around 1:40</p>
<p style="text-align: left;">When combined with the <a href="http://svn.mythtv.org/trac/ticket/12" onclick="javascript:pageTracker._trackPageview('/outbound/article/svn.mythtv.org');">longstanding ticket to create and have all widgets use libmythui</a>, this means that effects will be getting a much needed overhaul.  Including smooth transitions on sliders and small amounts of sound effects.</p>
<h3>VDPAU Support</h3>
<p>Although PCs have gotten much faster since MythTV first arrived on the scene, MythTV can still tax your computer, especially when watching HD content and doing other things in the background.  It&#8217;s fairly normal for me to watch an HD program as it is recording, record another HD program, flag previous recordings for commercials, and transcode content all at the same time.  You can play with <span class="program">nice</span> settings and realtime threads to ensure the playback never skips a beat, but that&#8217;s difficult, also you&#8217;re ignoring the fact that most modern video cards have video decoding acceleration built in &#8212; effectively allowing you use your CPU only to push data across the bus, while the video card decodes and displays the video.</span></p>
<p>This support is nothing new, it&#8217;s been around for a while in the form of XvMC.  Unfortunately, unless you&#8217;re using a Via or Intel chipset, which are not common in standalone MythTV boxes, you&#8217;re probably going to be out of luck here.  nVidia cards do have some support for XvMC, but you sacrifice color in your on screen display and it rarely works properly.  Furthermore, XvMC has some architectural issues that cause problems when decoding HD size content frames.  In November, however, nVidia announced the creation of <a href="ftp://download.nvidia.com/XFree86/vdpau/doxygen/html/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/download.nvidia.com');">VDPAU</a> - the Video Decoding and Presentation API for Unix.  In a nutshell, VDPAU is a moderately generic API, like <a href="http://en.wikipedia.org/wiki/DirectX_Video_Acceleration" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Microsoft&#8217;s DxVA</a>, that utilizes nVidia&#8217;s PureVideo technology to display video with less CPU.  Taking less CPU means that you can do more in the background and not worry about stuttering &#8212; or, if you&#8217;re concerned about power, heat, and noise, like most MythTV users, you can use a more efficient less power hungry processor.  Just how much better is it?  The guys at <a href="http://www.phoronix.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.phoronix.com');">Phoronix</a> did a series of <a href="http://www.phoronix.com/scan.php?page=article&amp;item=nvidia_vdpau&amp;num=1" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.phoronix.com');">VDPAU benchmarks</a> that showed CPU usage with VDPAU go from around 40% with <a href="http://en.wikipedia.org/wiki/X_video_extension" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">X-Video</a> to less than 5% with VDPAU.  More savings for you.</p>
<p>Even though VDPAU has been released for only a month, the MythTV guys are hard at work supporting it.  The first patches for VDPAU support were committed in late November and there has been heavy development ever since.  If you&#8217;re thinking about getting a new video card an nVidia 9000 series looks like it would be a great choice.</p>
<h3>The Future</h3>
<p>I&#8217;ll be honest, there are times that I get really frustrated with the slow progress of MythTV and how the development seems to stall out frequently, despite its fairly large user base.  I don&#8217;t consider myself  a developer of MythTV, but I have contributed patches to the project, such as <a href="http://svn.mythtv.org/trac/ticket/2581" onclick="javascript:pageTracker._trackPageview('/outbound/article/svn.mythtv.org');">allowing the transcoder to crop letterboxes and pillarboxes from videos</a>, and have worked as an advocate of MythTV locally.  Despite this, the poor usuability of the project continually has me evaluating other options, such as <a href="http://www.boxee.tv" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.boxee.tv');">Boxee</a>, which provides integration with Hulu and soon Netflix, but sadly lacks the ability to record and play back television.  I was really excited when Nero announced <a href="http://www.nero.com/enu/liquidtv-introduction.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.nero.com');">LiquidTV</a>, but the <a href="http://www.engadgethd.com/2008/10/15/nero-liquidtv-tivo-pc-review/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.engadgethd.com');">poor review and complete inability to record QAM</a> make it useless in hilly Pittsburgh where cable is required if you want to receive more than one or two stations.  So, for the time being, I&#8217;m on MythTV &#8212; it has a suitable wife acceptance factor and allows me to record most everything I want.  The changes coming down the pipe for 0.22 will only make that better.</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/12/11/why-mythtv-022-will-rock-you/&title=Why+MythTV+0.22+Will+Rock+You&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/12/11/why-mythtv-022-will-rock-you/feed/</wfw:commentRss>
		</item>
		<item>
		<title>You&#8217;re Too Smart To Do It Yourself</title>
		<link>http://patrick.wagstrom.net/weblog/2008/12/10/youre-too-smart-to-do-it-yourself/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/12/10/youre-too-smart-to-do-it-yourself/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 04:43:37 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[web]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[weblog]]></category>

		<category><![CDATA[wordpress]]></category>

		<category><![CDATA[you're doing it wrong]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/weblog/?p=387</guid>
		<description><![CDATA[The Internet is a great place of open standards and open implementations that allows just about anyone to put together their own services.  The plethora of programming languages that advertise themselves as being well suited for web development gives a developer a number of different swiss army knives to use in creating their new service.  [...]]]></description>
			<content:encoded><![CDATA[<p>The Internet is a great place of open standards and open implementations that allows just about anyone to put together their own services.  The plethora of programming languages that advertise themselves as being well suited for web development gives a developer a number of different swiss army knives to use in creating their new service.  Even after we&#8217;ve picked a language, or just settled for the language that we&#8217;re most familiar with, there are more frameworks than you can shake a stick at.  Of course, you&#8217;re not an expert in all of those frameworks, and they probably don&#8217;t work exactly as you want to, so what are you supposed to do?  Build your own of course!</p>
<p>If we take Python as an example, it should be obvious to everyone that with systems like <a href="http://www.djangoproject.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.djangoproject.com');">Django</a>, <a href="http://www.cherrypy.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cherrypy.org');">CherryPy</a>, <a href="http://www.pylonshq.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.pylonshq.com');">Pylons</a>, and <a href="http://pyjs.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/pyjs.org');">Pyjamas</a>, we&#8217;re clearly in need of a few more web frameworks.  Any one of these would work well for your new weblog software that you want to launch.  This new weblog software, will, of course, be different enough from any of the <a href="http://wiki.python.org/moin/PythonBlogSoftware" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.python.org');">dozens of other freely available Python based weblog tools</a> to justify your time in writing it.  So what&#8217;s the next step?</p>
<p><strong>STOP.  STOP NOW.</strong></p>
<p>You&#8217;re clearly a smart person if you&#8217;re thinking about writing your own web framework.  You&#8217;ve been able to look over the other tools and decided that the features that you want aren&#8217;t provided in any given one of those frameworks.  You&#8217;ve worked out a plan and already sketched your ideas on the back of the napkin.  Heck, maybe you&#8217;ve even gone so far as to start a <a href="http://git.or.cz/" onclick="javascript:pageTracker._trackPageview('/outbound/article/git.or.cz');">git</a> repository so other people can access your data.  You&#8217;re going to make it open source and it&#8217;s going to rock and your new weblog software is going to be great too!</p>
<p>But why should anyone care?</p>
<p>Well, they probably won&#8217;t.  Unless you&#8217;re unemployed and looking to create a cool project that you can build a consultancy on at some point the real world is going to intrude and you&#8217;re going to have something better to do.  Usually this happens within a couple of days.  Now you&#8217;ve already gone and migrated your weblog over to whatever your new software to show how cool it is &#8212; except that suddenly it&#8217;s unmaintained, because the maintainer, in this case you, has gotten bored of working on the project now that it&#8217;s past the &#8220;sexy&#8221; phase.</p>
<p>In addition to having any little bugs that may arise with your nice new weblog software, you&#8217;re also stuck unable to utilize lots of the cool new technologies that are out there.  If you want <a href="http://openid.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/openid.net');">OpenID</a> or <a href="http://recaptcha.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/recaptcha.net');">reCaptcha</a>, you&#8217;ve got to write the code yourself.  This is a great way to learn about those technologies, but is it really what you&#8217;re an expert at?  Wouldn&#8217;t it be easier if someone else wrote a really good implementation for you?</p>
<p><strong>OH WAIT&#8230;THEY DID.  YOU ALREADY DISCOUNTED IT.</strong></p>
<p>Remember that weblog software you said sucked way too much back when you started down your path?  Well, that software has a community around.  They&#8217;ve already built a lot of the tools that you&#8217;re wasting your time building.  And they&#8217;ve built them much better than you would have.  It&#8217;s more stable, better supported, and is easier to use.  Of course, when you were looking at the software the first time, these things never came up.  If only you had thought ahead.</p>
<p>This happens to lots of folks.  I&#8217;m writing this largely out of my own experience.  In January of 2008, I embarked on what I called <a href="/weblog/tags/24hrblogchallenge/">The 24 Hour Blog Challenge</a>, an effort to replace my even older and crappier blog system in 24 hours or less.  While I created a decent enough system, there were enough feature&#8217;s that weren&#8217;t implemented or had small quirks that it was hindering my reason for having a weblog &#8212; writing.  I&#8217;m not saying that it was a failure to write PostStreet, just that I didn&#8217;t have enough time or desire to finish it, and you probably won&#8217;t either.</p>
<p>So what&#8217;s the solution?  Be smart.  Take advantage of what other folks have done.  In my case, I moved over to <a href="http://www.wordpress.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.wordpress.org');">WordPress</a> (although with frustration as I installed it last night and promptly had to upgrade ti this evening).  Now I&#8217;ve got lots of the cool features I had wanted, such as reCaptcha and OpenID, and none of the hassle of a creaky system.  This should allow me to focus on what I&#8217;ve got expertise in, which is not writing weblog software, but understanding Open Source software and communities.</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/12/10/youre-too-smart-to-do-it-yourself/&title=You%27re+Too+Smart+To+Do+It+Yourself&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/12/10/youre-too-smart-to-do-it-yourself/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Intrepid Ibex is Five Kinds of Fail</title>
		<link>http://patrick.wagstrom.net/weblog/2008/11/16/intrepid-is-five-kinds-of-fail/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/11/16/intrepid-is-five-kinds-of-fail/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 13:31:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[atheros]]></category>

		<category><![CDATA[fail]]></category>

		<category><![CDATA[intrepid]]></category>

		<category><![CDATA[NetworkManager]]></category>

		<category><![CDATA[pulseaudio]]></category>

		<category><![CDATA[thinkpad]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=346</guid>
		<description><![CDATA[I&#8217;ve been a Ubuntu user since before it was called Ubuntu, back in the days when the domain name was no-name-yet.com.  It wasn&#8217;t a hard switch from Fedora Core, which at the time was Core 1 or Core 2.  Ubuntu was like entering a magical world where stuff just worked.  At the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a Ubuntu user since before it was called Ubuntu, back in the days when the domain name was no-name-yet.com.  It wasn&#8217;t a hard switch from Fedora Core, which at the time was Core 1 or Core 2.  Ubuntu was like entering a magical world where stuff just worked.  At the time I had an IBM ThinkPad A31 &#8212; it worked perfectly, wifi and all.  Now, things weren&#8217;t quite as good as they are now, the magic of <a href="http://projects.gnome.org/NetworkManager/" onclick="javascript:pageTracker._trackPageview('/outbound/article/projects.gnome.org');">NetworkManager</a> had not yet arrived, and <a href="http://dbus.freedesktop.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/dbus.freedesktop.org');">DBUS</a> was just a thought in <a href="http://www.j5live.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.j5live.com');">j5&#8217;s mind</a>.</p>
<p>The various revisions of Ubuntu made it better and better.  Improvements to <a href="/weblog/linux/gnome-monitor-resolution.xml">multi-monitor support</a> were wonderful &#8212; suddenly presentations were easy.  With Ubuntu Hardy basically everything on my laptop worked.  Wifi, suspend, sound, bluetooth.  It was really nice.  Unfortunately, it appears that Intrepid is a step backward &#8212; numerous features that were supported in Hardy no longer function properly.  So, here I present my Intrepid Ibex Five Kinds of Fail.</p>
<ol>
<li>NetworkManager periodically disables networking (<a href="https://bugs.launchpad.net/ubuntu/intrepid/+source/network-manager/+bug/291062" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugs.launchpad.net');">291062</a>)</li>
<li>Atheros drivers are no longer properly supported (<a href="https://bugs.launchpad.net/ubuntu/intrepid/+source/linux/+bug/259157" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugs.launchpad.net');">259157</a>)</li>
<li>PulseAudio sometimes hangs after suspend/resume (<a href="https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/292129" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugs.launchpad.net');">292129</a>)</li>
<li>My thinkpad occasionally fails to suspend (<a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/298683" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugs.launchpad.net');">298683</a>)</li>
<li>NetworkManager forgets my WPA saved key (<a href="https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/276578" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugs.launchpad.net');">276578</a>)</li>
</ol>
<p>I&#8217;m not intending this to be another &#8220;Linux Sux0rs&#8221; post or anything like that, but here are five major issues that worked just fine in the last version of Ubuntu and now are total fail making the Ubuntu experience of today remind me of the Ubuntu experience from Dapper days.  There is certainly some irony that several of the features relate to wifi which Ubuntu brags about having great support for in Intrepid.  Maybe I should have heeded <a href="http://www.dnalounge.com/backstage/log/2005/10.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.dnalounge.com');">jwz&#8217;s advice when he lamented about upgrading three years ago</a>.  Sigh&#8230;Here&#8217;s hoping Jaunty won&#8217;t have the same problems.</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/11/16/intrepid-is-five-kinds-of-fail/&title=Ubuntu+Intrepid+Ibex+is+Five+Kinds+of+Fail&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/11/16/intrepid-is-five-kinds-of-fail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My iPhone Can Time Travel</title>
		<link>http://patrick.wagstrom.net/weblog/2008/08/14/my-iphone-can-time-travel/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/08/14/my-iphone-can-time-travel/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 15:21:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[random]]></category>

		<category><![CDATA[fail]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[timetravel]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=345</guid>
		<description><![CDATA[When the iPhone was first released it was hailed as the &#8220;Jesus Phone&#8221;.  The one phone that would surpass all other phones and bring a new era of non-suckiness to our personal communications.  With the release of the iPhone App Store, it&#8217;s only gotten better.  However, I believe in all the marketing [...]]]></description>
			<content:encoded><![CDATA[<p>When the iPhone was first released it was hailed as the &#8220;Jesus Phone&#8221;.  The one phone that would surpass all other phones and bring a new era of non-suckiness to our personal communications.  With the release of the iPhone App Store, it&#8217;s only gotten better.  However, I believe in all the marketing about the iPhone 3G and it&#8217;s new features like GPS, they forgot one tiny fact out.  It allows the user to time travel.  Witness this undoctored screenshot from <a href="http://www.inetworktest.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.inetworktest.com');">iNetworkTest</a>:</p>
<div class="captionimage" style="width: 320px; text-align: center; margin-left: auto; margin-right: auto;"><img src="/resources/images/blog/inetworktest-timetravel.png" alt="" width="320" height="480" /></p>
<div class="caption" style="width: 320px; text-align: center;">Wow, I sent 256KB in -14.707 seconds!</div>
</div>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/08/14/my-iphone-can-time-travel/&title=My+iPhone+Can+Time+Travel&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/08/14/my-iphone-can-time-travel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Free Software Foundation&#8217;s Misguided and Misinformed Campaign Against the iPhone 3G</title>
		<link>http://patrick.wagstrom.net/weblog/2008/07/31/fsf-misguided-misinformed-campaign-against-the-iphone3g/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/07/31/fsf-misguided-misinformed-campaign-against-the-iphone3g/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 19:20:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[freedom]]></category>

		<category><![CDATA[apple]]></category>

		<category><![CDATA[at&t]]></category>

		<category><![CDATA[free software foundation]]></category>

		<category><![CDATA[fsf]]></category>

		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=344</guid>
		<description><![CDATA[The Free Software Foundation has done some truly amazing things for computers.  The creation of Emacs, GCC, most of the standard Linux utilities, and the genesis of the ideas that later created Open Source (although, Stallman despises it), are just a few of the important things they&#8217;ve done.  They generally fight the good [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.fsf.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fsf.org');">Free Software Foundation</a> has done some truly amazing things for computers.  The creation of Emacs, GCC, most of the standard Linux utilities, and the genesis of the ideas that later created Open Source (although, Stallman despises it), are just a few of the important things they&#8217;ve done.  They generally fight the good fight and make the computer world a better place to be.</p>
<p>However, over the past few years, something seems to have changed within the Free Software Foundation.  With the rise of DRM the Free Software Foundation began to organize vocal protests against systems that enabled content providers to protect their creations &#8212; after all, Free software doesn&#8217;t need such protections.  <a href="http://blogs.zdnet.com/BTL/?p=3098" onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.zdnet.com');">Activists in haz-mat suits</a> could be seen at product launches for Windows Vista, at the Virgin Megastore, and lots of other places where they thought they could get attention.  Always handing out little stickers explaining the problems with DRM.  In fact, for a very long time, I&#8217;ve had a <a href="http://thomashawk.com/2006/10/ipod-itunes-drm-defective-by-design.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/thomashawk.com');">defective by design sticker</a> on my laptop.</p>
<p>Of course, this was 2006 and times were very different back then. There weren&#8217;t any stores to purchase non-DRM&#8217;d music, now it seems you can purchase it everywhere, so the whole DRM&#8217;d music issue is a bit more moot now.  Instead, the Defective by Design campaign has chosen to focus on any system that enables DRM.  Well, I shouldn&#8217;t say any system that enables, just some systems &#8212; in particular the iPhone 3G.  In their latest effort, Defective by Design has been actively encouraging people to <a href="http://defectivebydesign.org/apple-challenge" onclick="javascript:pageTracker._trackPageview('/outbound/article/defectivebydesign.org');">book times at Apple Genius bars to harass employees and customers</a>.  First, let&#8217;s look at the five claims they make about the iPhone 3G:</p>
<p><strong>1. iPhone completely blocks free software. Developers must pay a tax to Apple, who becomes the sole authority over what can and can’t be on everyone’s phones.</strong></p>
<p>This is partially true.  It does cost money to become an <a href="http://developer.apple.com/iphone/program/" onclick="javascript:pageTracker._trackPageview('/outbound/article/developer.apple.com');">official iPhone developer</a>, but the amount is actually quite small, $99.  There is also the little annoyance of the current <a href="http://www.fuckingnda.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fuckingnda.com');">NDA on the developer kit</a> that also restricts what developers can do, although it is expected to be lifted soon.  However, it fails on a couple of points.  First, if you&#8217;re an iPhone developer, you can run any application you develop on your iPhone and those of 4 other people.  Once the beta system comes you&#8217;ll be able to distribute to 100 other people.  For small scale distribution this is pretty good.  And second, and perhaps bigger, there is always the option of <a href="http://lifehacker.com/398906/jailbreak-iphone-20-with-pwnagetool" onclick="javascript:pageTracker._trackPageview('/outbound/article/lifehacker.com');">jailbreaking your phone</a> to run whatever the heck you want.  If you want to develop other applications, you&#8217;re more than free to download the <a href="http://thepiratebay.org/tor/4085451/iPhone_unofficial_SDK" onclick="javascript:pageTracker._trackPageview('/outbound/article/thepiratebay.org');">iPhone unofficial SDK</a>.  Last year when Bradley Kuhn, former FSF Executive Director, spoke at <a href="http://www.ohiolinux.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ohiolinux.org');">Ohio LinuxFest</a> he bragged about removing DRM from music, so I&#8217;d assume they&#8217;d be find with this.</p>
<p><strong>2. iPhone endorses and supports Digital Restrictions Management (DRM) technology.</strong></p>
<p>That&#8217;s correct, the iPhone supports DRM&#8217;d files.  It also supports non-DRM&#8217;d files too.  Unlike <a href="http://news.yahoo.com/s/cmp/20080726/tc_cmp/209601121" onclick="javascript:pageTracker._trackPageview('/outbound/article/news.yahoo.com');">Yahoo which cut off customers who purchased this music</a>, Apple intends to continue to support them.  Video files are still encumbered, but I don&#8217;t know of any legal way to get high quality digital video that isn&#8217;t encumbered.  That&#8217;s an issue you&#8217;ll have to take up with the industry, Apple is just ensuring people can use it.  Remember, with music DRM came first, then when it failed, we got open systems.  There is no reason to expect it will be different with movies and TV shows.</p>
<p>Another aspect where the iPhone supports DRM is with iPhone apps.  I&#8217;d imagine this is partially necessary to keep people from pirating the apps.  When piracy rates for PC software <a href="http://www.shacknews.com/onearticle.x/53357" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.shacknews.com');">may run above 95%</a>, there no reason to assume that people aren&#8217;t going to pirate software.  Yes, there is DRM there, but it&#8217;s pretty weak and lets me load the apps on any of the phones on my plan.  Not to mention, it&#8217;s been shown to be trivial to remove the DRM, although, that currently doesn&#8217;t let one run the app on another phone.</p>
<p><strong>3. iPhone exposes your whereabouts and provides ways for others to track you without your knowledge.</strong></p>
<p>Complete bullshit.  Whoever wrote this has never touched an iPhone and clearly doesn&#8217;t realize that every app must ask before it can use your location information.  The only tracking that happens is whatever the carriers and law enforcement people typically use to track folks.</p>
<div class="captionimage" style="width: 320px;"><img src="/resources/images/blog/inetworktest-location.jpg" alt="" width="320" height="480" /></p>
<div class="caption" style="width: 320px;">iNetworkTest patiently asks for permission</div>
</div>
<p><strong>4. iPhone won’t play patent-and-DRM-free formats like Ogg Vorbis and Theora.</strong></p>
<p>Waah.  Neither will most other things.  If Vorbis and Theora are great from a technical perspective then you&#8217;d think you&#8217;d see a lot more of them floating around &#8212; but they&#8217;re not.  Yes, I&#8217;m sure that Apple could implement at Theora and Vorbis codec in the iPhone, but I doubt it&#8217;s worth   their time.  The people who really care about those issues aren&#8217;t the kind of people who use iPhones to begin with.  Apple is concerned about making the user experience good.  Providing too many options leads to <span class="program">M-x play-vorbis-song</span>.  Not very friendly.</p>
<p><strong>5. iPhone is not the only option. There are better alternatives on the horizon that respect your freedom, don’t spy on you, play free media formats, and let you use free software – like the FreeRunner.</strong></p>
<p>That&#8217;s somewhat correct.  The FreeRunner, along with with its incomplete and buggy software is now available.  I&#8217;ve played with them &#8212; I tried to make a call with one.  It crashed.  I tried to lock at pictures.  It crashed.  I couldn&#8217;t check my email with it.  There<br />
weren&#8217;t any well polished apps for it.  The list goes on.  The FreeRunner may be an option for some people, but it&#8217;s expensive and has little software.  If I&#8217;m trying to get stuff done, that&#8217;s not a good thing.</p>
<p>Beyond the five points, of which, I&#8217;ve just shown have approximately 2 points of validity, the campaign contains a <a href="http://static.fsf.org/dbd/iphone-action-handout.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/static.fsf.org');">questionnaire</a> that you&#8217;re supposed to use to quiz the Apple genius.  So, lets look at these questions:</p>
<p><strong>1. Why do all developers have to submit their applications to Apple before they can be loaded onto an iPhone? Most smartphones, including those by OpenMoko, Nokia, RIM, Palm and even Microsoft, allow applications to come from a variety of sources, including free software developers. Free ”as in freedom” software development requires that users and developers be able to share and modify the source code for programs they use. iPhone users are not permitted by Apple to<br />
share or load modified versions of programs distributed through the App Store – even when a program’s developer wants users to be able to do this! Apple markets itself as empowering, alternative technology – How does Apple plan to support free software development?</strong></p>
<ol style="list-style-type: lower-alpha;">
<li><strong>Did the Genius understand the issue of free software?</strong></li>
<li><strong>Did they admit that other devices allow you to install<br />
applications from a variety of sources?</strong></li>
</ol>
<p><strong></strong></p>
<p>I&#8217;d like to first point out that this is a couple of issues all muddled together into one.  Apple does allow Free software developers to develop for the iPhone, the WordPress people provide the source code to their app.  Then, all that is standing in your way is the $99 developers fee.  Once you&#8217;ve got that, run Free and Open Source to your hearts content.  The issue is regarding supporting Free software.  Apple has no obligation or business case that would require them to do so.  Their system is based on Open Source which is not free &#8212; if they chose to contribute back they may.  However, allowing just anyone to create an untested unverified app that can brick your cell phone or really whack out the cell network, well, that&#8217;s not such a great idea.  The FSF needs to realize that the cell network is fundamentally different than a computer network.  A malicious or poorly designed app can easily degrade the shared communication for everyone and rack up lots of bills for you.  This poses a question that I&#8217;d like to ask the FSF people: How would Free software benefit the iPhone?</p>
<p><strong><br />
2. Why does iTunes still contain so much DRM-laden music? Services like Amazon, eMusic, Napster, Rhapsody, Play.com and 7digital are all selling music without DRM. A typical response to this might be that Apple has no option to sell media without DRM, but this is simply untrue. Jobs is the majority shareholder at Disney, and he could insist that its films be DRM-free. Apple should be leading the way to promote DRM-free music, but instead is lagging behind. What is Apple doing to fix<br />
this? If it really is the RIAA’s fault, can you tell me specifically what the RIAA said to Jobs when he asked for the ability to sell DRM-free music?</strong></p>
<ol style="list-style-type: lower-alpha">
<li><strong>Did the Genius understand that Amazon, Rhapsody and Napster, along with many others are supporting DRM free music from the very same labels and artists that Apple is selling, laden with Digital Restrictions Management?</strong></li>
<li><strong>Did the Genius understand that DRM is not about rights, but about restrictions? Restricting the people who buy the music and videos from playing them on a variety of devices, like CDs and DVDs. Did the Genius understand that Steve Jobs’ role at Disney could be used to leverage Disney going DRM-free?</strong></li>
</ol>
<p><strong></strong></p>
<p>This one I don&#8217;t have a solid answer for.  I&#8217;d imagine that part of the reason why there are protected tracks has to do with longer term contracts.  Another reason may have to deal with a lack of incentive to change.  In either case, the Genius is unlikely to have this sort of knowledge.  They&#8217;re NOT your personal Apple PR person, so just deal with it. Point two, I have a bit better response to.  I can understand why individuals would want to protect their content with DRM - especially when some people are so eager to steal your intellectual property.  So in that response, it is about the rights of the producer.  When I create something I should have the right to dictate to some degree who it is used.  That&#8217;s codified in US Copyright law &#8212; you know, the exclusive right bit.  Yeah, you might want to check that out.  What isn&#8217;t clearly codified is fair use.  It&#8217;s a much murkier proposition. Want to change this?  Start by codifying fair use in US law.</p>
<p>With regards to Disney, this is a pretty good point.  Steve could probably push Disney to drop DRM, but there would need to be a business case for it.  He has a fiduciary responsibility to shareholders still &#8212; so, unless you can show me that such a decision would improve Disney&#8217;s bottom line, then you have no argument.</p>
<p><strong>3. The iPhone 3G has GPS support. How can users be sure that the GPS cannot be used to track their position, without their permission? When the only thing preventing the GPS from being used is software, and the software in question is known only to Apple, why should users of the iPhone trust Apple?</strong></p>
<ol style="list-style-type: lower-alpha;">
<li><strong>Did the Genius understand why GPS in a device is an issue?</strong></li>
<li><strong>Did the Genius understand why the fact that the iPhone is proprietary is an issue here?</strong></li>
<li><strong>Did the Genius express any kind of apology for this behavior?</strong></li>
</ol>
<p><strong></strong></p>
<p>Once again, seem my previous point regarding their five claims against the iPhone 3G.  This is not an issue.  The software asks before it uses your location.  Every cell phone has some sort of GPS in it that is used for E911 services, therefore every cell phone could be rigged to spy on people.  You&#8217;re now crossing into conspiracy territory and losing credibility fast.</p>
<p><strong>4. In ’<a href="http://www.apple.com/hotnews/thoughtsonmusic/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.apple.com');">Thoughts on Music</a>’, Steve Jobs said ”it is useful to remember that all iPods play music that is free of any DRM and encoded in ’open’ licensable formats such as MP3 and AAC”. If Steve really wants to see free and open formats, why doesn’t the iPhone play Ogg Vorbis, Ogg Theora video and FLAC? These formats require no licensing costs, and are not encumbered by patents. How does Apple plan to support these formats in future?</strong></p>
<ol style="list-style-type: lower-alpha;">
<li><strong>Did the Genius understand the issue of free formats, such as Ogg Vorbis?</strong>
<ol style="list-style-type: lower-roman;">
<li><strong>Did the Genius give any indication as to Apple’s lack of support for these formats?</strong></li>
</ol>
</li>
</ol>
<p><strong></strong></p>
<p>Let&#8217;s turn this around, if the Free Software Foundation really supports free and open formats, why don&#8217;t they let my arbitrarily designed custom bitstream for my handycam shot movie.  It&#8217;s a documented format that is free and open on the web.  Exactly.  Most people don&#8217;t care about these issues.  Using Apple stuff is like shopping in the organic food aisle at the super market &#8212; less selection, but the stuff is tasty.  Windows, which supports all those formats through various plugins, is like shopping in a regular supermarket.  If the FSF had their way, we&#8217;d be shopping in<br />
post-Katrina looted supermarkets with broken shopping carts &#8212; multimedia doesn&#8217;t work that well in Linux, maybe the desire to support way too many formats is part of the reason.  Choice isn&#8217;t always good, especially when those choices really suck.  With regards to FLAC, people who really care about FLAC already have padded rooms with vacuum tube amps and wouldn&#8217;t dream of listening to their music on something as pedestrian as a personal music player.</p>
<p><strong>5. Last question. Why can the iPhone 3G only be activated by Apple and AT&amp;T? In the United States, the Register of Copyrights has ruled that consumers have the right to unlock their phones and switch to a different carrier. How does Apple plan to remedy this discrepancy?</strong></p>
<ol style="list-style-type: lower-alpha;">
<li><strong>Did the Genius offer any advice or suggestions in unlocking your iPhone and moving it to another provider?</strong></li>
<li><strong>Did the Genius admit that Apple is getting kickbacks from your phone bill in exchange for locking you to a single provider?</strong></li>
<li><strong>Did the Genius offer any timeframe for Apple fixing this, despite the Register of Copyrights ruling?</strong></li>
</ol>
<p><strong></strong></p>
<p>The decision the FSF is referring to is the latest set of <a href="http://www.copyright.gov/1201/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.copyright.gov');">DMCA exemptions</a>. You&#8217;ll notice that they don&#8217;t require carriers to assist you in unlocking your phone.  The decision merely makes it legal to unlock<br />
your phone.  So, FSF people, get cracking and write the software that will allow me to slip in a local SIM card when I go to Greece.</p>
<p>With regards to the other sub points, there is no reason why the Apple rep should provide the information on how to change a carrier.  They&#8217;ve got a contract with AT&amp;T saying that AT&amp;T will be the exclusive carrier.  AT&amp;T is subsidizing the prices of the phones, contributing to advertising, maintaining the infrastructure that makes the phone useful.  This isn&#8217;t cheap, in fact AT&amp;T has said that they&#8217;re planning on taking a <a href="http://news.yahoo.com/s/cmp/20080724/tc_cmp/209401147" onclick="javascript:pageTracker._trackPageview('/outbound/article/news.yahoo.com');">$720 million dollar hit</a> from subsidizing the iPhone.  That&#8217;s a huge chunk of change that AT&amp;T is spending to support a piece of Apple hardware.  Also, in the US switching to another provider inherently makes your iPhone suck more as T-Mobile is the only other major GSM carrier in the US and their 3G network <a href="http://www.engadget.com/2008/07/30/t-mobile-3g-service-coming-october-1-to-27-markets/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.engadget.com');">won&#8217;t be ready until October 1st</a>, and even then, it&#8217;s only 27 markets.</p>
<p>With regards to kickbacks, it&#8217;s well documented that Apple is getting even more kickbacks from AT&amp;T.  Just by purchasing a phone at an Apple store you&#8217;re causing <a href="http://blogs.barrons.com/techtraderdaily/2008/06/19/apple-oppenheimer-says-att-iphone-subsidy-is-325/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.barrons.com');">AT&amp;T to pay $100 to Apple</a> for signing up a new customer, on top of the $300 or so that they&#8217;re subsidizing the purchase price.  However, the older kickback system where Apple got a portion of the monthly bill, is <a href="http://www.thestandard.com/news/2008/06/09/3g-iphone-drops-revenue-sharing-t-apple-due-handset-subsidy" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.thestandard.com');">no longer in effect</a>. So, I think that I&#8217;ve been able to go through and show that most of the campaign by the FSF is wrong, or just based on incorrect facts, and on the basis of these incorrect facts they&#8217;re going into Apple stores and bothering employees who 1) really don&#8217;t care and 2) have better things to do.  Yeah, way to go FSF, I&#8217;m sure you&#8217;ll find some <a href="http://linuxhaters.blogspot.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/linuxhaters.blogspot.com');">freetards</a> who will be excited by this, but everyone else sees that you&#8217;re just being dicks.  Go back to your crappy little script that downloads text only web pages and the rest of will enjoy the future. Oh wait, nevermind, <a href="http://www.fsf.org/blogs/rms/can-we-rescue-olpc-from-windows" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fsf.org');">Stallman deleted the wireless firmware from his laptop</a>&#8230;</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/07/31/fsf-misguided-misinformed-campaign-against-the-iphone3g/&title=The+Free+Software+Foundation%27s+Misguided+and+Misinformed+Campaign+Against+the+iPhone+3G&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/07/31/fsf-misguided-misinformed-campaign-against-the-iphone3g/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ignoring the iPhone3G in Linux</title>
		<link>http://patrick.wagstrom.net/weblog/2008/07/31/ignoring-the-iphone3g-in-linux/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/07/31/ignoring-the-iphone3g-in-linux/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 18:45:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[dbus]]></category>

		<category><![CDATA[hal]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[sun]]></category>

		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=343</guid>
		<description><![CDATA[About two weeks ago I picked up a pair of iPhone 3G&#8217;s for me and Kristina.  So far I&#8217;ve been really happy with them, well, aside from the fact that they&#8217;re more or less bricks under Linux.  Not complete bricks, I can still download photos off of them, but aside from that they&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>About two weeks ago I picked up a pair of iPhone 3G&#8217;s for me and <a href="http://kristina.wagstrom.net/" >Kristina</a>.  So far I&#8217;ve been really happy with them, well, aside from the fact that they&#8217;re more or less bricks under Linux.  Not complete bricks, I can still download photos off of them, but aside from that they&#8217;re not much use.  One of the more aggravating issues surrounding this is GNOME&#8217;s insistence on prompting me to download photos whenever I plug my phone in.  There&#8217;s an option in the dialog to ignore the device being plugged in, but like most things in Linux, it&#8217;s broken.</p>
<p>Luckily there is a way that requires way too much work to fix this problem.  The system that causes this headache is called HAL, which is the hardware abstraction layer.  In general it&#8217;s a good thing because it also makes things like USB memory sticks show up when you plug them in.  There&#8217;s a nifty little trick you can use to cause HAL to ignore your iPhone 3G when you plug it.  Simply create the file <span class="pathname">/etc/hal/fdi/preprobe/10-iphone3g.fdi</span> and drop in the following contents:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="xml xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;deviceinfo</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;0.2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;device<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
     <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;usb.vendor_id&quot;</span> <span style="color: #000066;">int</span>=<span style="color: #ff0000;">&quot;05ac&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
       <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;usb.product_id&quot;</span> <span style="color: #000066;">int</span>=<span style="color: #ff0000;">&quot;1292&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.ignore&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;bool&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
       <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
     <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/device<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/deviceinfo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Basically, this code tells the HAL subsystem to ignore anything with a USB vendor_id of 0&#215;05ac and a USB product_id of 0&#215;1292.  If it doesn&#8217;t seem to work, use the command <span class="program">lsusb</span> to see what the values are for your phone.  Finally, after creating this file, run <span class="program">/etc/init.d/dbus restart</span> as root to fix the problem.  At this point your system should no longer bother you whenever your iPhone 3G gets plugged in.</p>
<p>Now, if the fine folks at <a href="http://www.sun.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">Sun</a> could just make it so <a href="http://www.virtualbox.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.virtualbox.org');">VirtualBox</a> can <a href="http://www.virtualbox.org/ticket/491" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.virtualbox.org');">connect to an iPhone</a> that would be wonderful.</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/07/31/ignoring-the-iphone3g-in-linux/&title=Ignoring+the+iPhone3G+in+Linux&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/07/31/ignoring-the-iphone3g-in-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dual Monitor Happiness in GNOME</title>
		<link>http://patrick.wagstrom.net/weblog/2008/07/14/gnome-monitor-resolution/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/07/14/gnome-monitor-resolution/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 15:50:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[gnome]]></category>

		<category><![CDATA[laptop]]></category>

		<category><![CDATA[monitors]]></category>

		<category><![CDATA[x11]]></category>

		<category><![CDATA[xrandr]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=342</guid>
		<description><![CDATA[As far back as the middle of 2000 I&#8217;ve been using multiple monitors for my daily work routine (see this screenshot for some proof.  That&#8217;s done with a couple of PCI voodoo cards and a built in RAGE AGP card).  It&#8217;s probably one of the best decisions you can make regarding your work [...]]]></description>
			<content:encoded><![CDATA[<p>As far back as the middle of 2000 I&#8217;ve been using multiple monitors for my daily work routine (see <a href="http://patrick.wagstrom.net/screenshots/shots/20000830.jpg" >this screenshot for some proof</a>.  That&#8217;s done with a couple of PCI voodoo cards and a built in RAGE AGP card).  It&#8217;s probably one of the best decisions you can make regarding your work productivity, especially if you work on a laptop.  I&#8217;m not the only one who thinks this either, Jeff Atwood of CodingHorror.com frequently extols the <a href="http://www.codinghorror.com/blog/archives/001076.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.codinghorror.com');">virtues of multiple of monitors</a> and points to a study that found that individuals using 2 20 inch monitors were 44% more productive than<br />
those using a single 18 inch monitor.  Of course, people using a 24 inch monitor were 54% more productive than the 18 inch monitor, and by transitive property, the most productive.</p>
<p>However, with laptops, it isn&#8217;t the case that you can just buy a bigger monitor.  In fact, I&#8217;m probably not the only person who wishes that their laptop was actually smaller &#8212; and I&#8217;ve got a fairly small laptop right now, a 14.1 inch IBM T43p, but it&#8217;s absolutely huge<br />
compared to my wife&#8217;s X series.  To solve some of these issues, I have external monitors both at home and in the office that help out considerably.  However, like most things in Linux, multi-monitor support is painful.</p>
<p>Or, rather it was, until <a href="http://www.keithp.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.keithp.com');">Keith Packard</a> gave the X subsystem a good swift boot to the head with XRandR 1.2, which now allows hotplugging of monitors.  Gone are the days of having to kill my X session to do a presentation.  It&#8217;s bliss baby.  However, Keith is not a GUI genius, at Boston GNOME Summit 2006 he threatened the community with designing his own GUI.  Immediately everyone was revolted as Keith showed the most popular GUI he designed: xmille.</p>
<div class="captionimage" style="width: 200px;"><a href="/resources/images/blog/xmille-screenshot.jpg"><img src="/resources/images/blog/xmille-screenshot.thumb.jpg" alt="" width="180" height="150" /></a></p>
<div class="caption" style="width: 200px;">A thumbnail of the xmille GUI.  Really, you don&#8217;t want to click it to see the whole thing, it&#8217;s painfully bad.</div>
</div>
<p>Well, for the most part, the community didn&#8217;t respond.  In late 2007 when I started running the betas of Ubuntu Gutsy, I needed to features of XRandR 1.2 for presentations.  Well, the only GUI at the time, GRandR, was done by a someone working with Keith at Intel, it crashed<br />
fairly often.  I fixed some bugs, and posted my own <a href="http://patrick.wagstrom.net/weblog/code/grandr-public-git-repo.xml" >git public repository</a> last year.  The problem is that I didn&#8217;t have time to really maintain the project.</p>
<p>I was pleasantly surprised to see that Ubunty Hardy (2008.04) included a wonderful little applet as part of the GNOME control center, the Monitor Resolution Settings applet.  Using this little applet, XRandR 1.2 compliant drivers (basically any open source driver) get a great little GUI to easily set and configure monitors.  It even allows the arbitrary location of monitors relative to one another.  It&#8217;s a great little tool.  Now, if only the open source ATI drivers supported accelerated monitor rotation on a second head, then I could actually rotate my 20 inch monitor at home for working on long documents.  For the time being, this works well enough.  In fact, it&#8217;s a lifesaver when giving presentations.  Nothing spells tacky like having everyone see your login as you kill X to give a presentation.</p>
<div class="captionimage" style="width: 438px;"><img src="/resources/images/blog/gnome-monitor-resolution.png" alt="" width="438" height="483" /></p>
<div class="caption" style="width: 438px;">The beautiful new monitor settings applet in Ubuntu</div>
</div>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/07/14/gnome-monitor-resolution/&title=Dual+Monitor+Happiness+in+GNOME&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/07/14/gnome-monitor-resolution/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Seamless Windows Virtualization</title>
		<link>http://patrick.wagstrom.net/weblog/2008/04/27/seamless-virtualization/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/04/27/seamless-virtualization/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 20:12:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[desktop]]></category>

		<category><![CDATA[remote desktop]]></category>

		<category><![CDATA[seamless]]></category>

		<category><![CDATA[virtualbox]]></category>

		<category><![CDATA[virtualization]]></category>

		<category><![CDATA[vmware]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=341</guid>
		<description><![CDATA[Virtualization of desktop operating systems is pretty commonplace for users of Linux and Mac OS.  Initial implementations of desktop virtualization, such as VMWare 1.0, had the guest operating system running in complete isolation.  Interaction was done through a custom application or network applications.  There was no support for sharing files, sharing a [...]]]></description>
			<content:encoded><![CDATA[<p>Virtualization of desktop operating systems is pretty commonplace for users of Linux and Mac OS.  Initial implementations of desktop virtualization, such as VMWare 1.0, had the guest operating system running in complete isolation.  Interaction was done through a custom application or network applications.  There was no support for sharing files, sharing a clipboard, or merging the windowing environments.</p>
<p>Since then, virtualization has come a very long way.  With VMWare and a supported guest operating system, the clipboards are the same, the mouse isn&#8217;t locked to a window, and files are easily shared between operating system.  Sadly, merging of windowing environments still isn&#8217;t quite there.  Your guest desktop still runs completely in a window on the host.  VMWare has a new technique available in Fusion, their Mac product, called Unity that allows this.  Parallels supports a similar feature called Cohesion, and I&#8217;ve been told that VirtualBox supports this feature too.  This is a fine feature, if you have one of the newer products that supports this.  If you&#8217;re like me and still using VMWare Player, an older version of VMWare workstation, or connecting to remote windows systems with remote desktop, this isn&#8217;t a native feature.  Luckily, it&#8217;s a pretty easy hack to get seamless windows.</p>
<p>Enter <a href="http://www.cendio.com/seamlessrdp/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cendio.com');">SeamlessRDP</a> from <a href="http://www.cendio.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cendio.com');">Cendio</a>.  This little program extends the standard RDP system a little bit to provide for complete desktop integration when using <a href="http://www.rdesktop.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.rdesktop.org');">rdesktop</a>.  It works in conjunction with <span class="program">rdesktop</span>, so other tools such as <span class="program">tsclient</span> won&#8217;t work.  Unfortunately, the directions for this aren&#8217;t always the most clear, and they didn&#8217;t work with my instance of VMWare, so here&#8217;s how I managed to do it. These instructions are specific to Windows XP Pro.</p>
<ol>
<li> First, go and download <a href="http://www.cendio.com/files/thinlinc/seamlessrdp/seamlessrdp.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cendio.com');">seamlessrdp.zip</a> and extract it to something like <span class="pathname">c:\windows</span>. There should be three files in there, the one that we really care about is <span class="program">seamlessrdpshell.exe</span>.</li>
<li>Make sure that that you allow remote connections, go to control panel-&gt;system-&gt;remote and check &#8220;Allow users to remotely connect to this computer&#8221;.  At this point, you&#8217;ll be able to test a remote desktop connection to your virtual machine through the command <span class="program">rdesktop REMOTESERVERIP</span>.  You&#8217;ll notice that you&#8217;re still running everything in still running a single window because we haven&#8217;t invoked <span class="program">seamlessrdpshell</span> yet.
<div class="captionimage" style="width: 419px;"><img src="/resources/images/blog/seamlessrdp-systemProperties.png" alt="System properties to enable remote desktop" width="419" height="486" /></p>
<div class="caption" style="width: 419px;">Enable &#8220;Allow users to remotely connect to this computer&#8221;</div>
</div>
</li>
<li> Enable welcome screen and fast user switching &#8212; this is something that you normally don&#8217;t see in enterprise deployments, but apparently it is necessary for this.  I can&#8217;t figure out how to make it work without this.  Go to control panel-&gt;user accounts and check both of the options.
<div class="captionimage" style="width: 730px;"><img src="/resources/images/blog/seamlessrdp-userAccountSettings.png" alt="Check both options on the user account settings screen" width="730" height="530" /></p>
<div class="caption" style="width: 730px;">Make sure both options are checked</div>
</div>
</li>
<li> Tell Explorer to not draw the desktop &#8212; the reason is pretty simple, if explorer drew the desktop the window would still be full screen.  We can change this by creating a new registry in <span class="pathname">My Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer</span>. Call it NoDesktop, and make it a DWORD with a value of 1.  This will keep explorer from drawing the desktop.
<div class="captionimage" style="width: 789px;"><img src="/resources/images/blog/seamlessrdp-regedit.png" alt="Registry settings" width="789" height="517" /></p>
<div class="caption" style="width: 789px;">Create a new DWORD registry entry called NoDesktop with a value of 1</div>
</div>
</li>
<li> Here comes some of the stranger stuff, that you may not need to do, but I found necessary for my system and it wasn&#8217;t properly documented anywhere.  In most cases, you can specify an application to run with the -s option to <span class="program">rdesktop</span>, unfortunately, this doesn&#8217;t work on my system.  Instead, we&#8217;ll need to use  a rarely used program that allows you to set system level policies.  Go to start-&gt;run and enter <span class="program">gpedit.msc</span>.  Select User Configuration-&gt;Administrative Templates-&gt;Windows Components-&gt;Terminal Services.
<div class="captionimage" style="width: 922px;"><img src="/resources/images/blog/seamlessrdp-gpedit.msc.png" alt="gpedit.msc program screen" width="922" height="572" /></p>
<div class="caption" style="width: 922px;">Run <span class="program">gpedit.msc</span> and navigate down to User Configuration-&gt;Administrative Templates-&gt;Windows Components-&gt;Terminal Services.</div>
</div>
<p>Now, the crutch that we&#8217;ll use to select &#8220;Start a program on connection&#8221;.  Double click and check the Enabled box and enter in <span class="program">c:\windows\seamlessrdpshell.exe c:\windows\explorer.exe</span>.  Click apply and then exit.</p>
<div class="captionimage" style="width: 405px;"><img src="/resources/images/blog/seamlessrdp-gpedit.mscProp.png" alt="update the program to execute on connection" width="405" height="455" /></p>
<div class="caption" style="width: 405px;">Enter <span class="program">c:\windows\seamlessrdpshell.exe c:\windows\explorer.exe</span> for the command to run on connection.</div>
</div>
</li>
<li> At this point, if you log out, everything should work, but the graphics may be a bit funny.  In my experience I&#8217;ve found that there are two more small changes necessary before everything works nicely. First, make sure you&#8217;re using the Windows XP appearance and not the classic appearance.  Second, uncheck the option to keep the task bar on top, as this will cause issues when maximizing windows applications.  And finally, you can&#8217;t have another panel on the bottom or the start bar will try to redraw itself poorly, over and over.
<div class="captionimage" style="width: 404px;"><img src="/resources/images/blog/seamlessrdp-startMenuProperties.png" alt="uncheck always on top" width="404" height="455" /></p>
<div class="caption" style="width: 404px;">Uncheck the option to keep the taskbar on top</div>
</div>
</li>
<li> Now, all you need to do is make sure you&#8217;re logged out of the virtual machine, and execute the following command: <span class="program">rdesktop -r sound:local -A REMOTESERVERIP:3389 -u &#8220;WINDOWSUSER&#8221; -p &#8220;WINDOWSPASSWORD&#8221;</span>.  If everything goes well you should get a nice little windows start menu at the bottom of the screen and your windows apps will run seamlessly. It&#8217;s not 100% perfect, but any sort of virtualization, especially a hack like this, never is.  In particular, sloppy focus causes windows programs to jump to the front.  But other things work great, like a shared clipboard and sound.  It makes working in both worlds lots easier.</li>
<div class="captionimage" style="width: 700px;"><img src="/resources/images/blog/seamlessrdp-fulldesktop.png" alt="the final product" width="700" height="525" /></p>
<div class="caption" style="width: 700px;">The final product</div>
</div>
</ol>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/04/27/seamless-virtualization/&title=Seamless+Windows+Virtualization&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/04/27/seamless-virtualization/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Breaking Up With Liferea</title>
		<link>http://patrick.wagstrom.net/weblog/2008/04/16/breaking-up-with-liferea/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/04/16/breaking-up-with-liferea/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 18:55:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[blam]]></category>

		<category><![CDATA[desktop]]></category>

		<category><![CDATA[feedreader]]></category>

		<category><![CDATA[liferea]]></category>

		<category><![CDATA[news]]></category>

		<category><![CDATA[rss]]></category>

		<category><![CDATA[straw]]></category>

		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=340</guid>
		<description><![CDATA[
Dear Liferea,
I wish I could break this to you easier.  I wish I could say, &#8220;It&#8217;s not you, it&#8217;s me.&#8221;  I wish I could just do the college freshman breakup and say, &#8220;Hey, you&#8217;re a great feed reader, you do a good job.  You&#8217;re probably the best on Linux, but I&#8217;m leaving [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="/resources/images/blog/liferea.png" alt="Liferea" width="440" height="313" /></p>
<p>Dear <a href="http://liferea.sf.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/liferea.sf.net');">Liferea</a>,</p>
<p>I wish I could break this to you easier.  I wish I could say, &#8220;It&#8217;s not you, it&#8217;s me.&#8221;  I wish I could just do the college freshman breakup and say, &#8220;Hey, you&#8217;re a great feed reader, you do a good job.  You&#8217;re probably the best on Linux, but I&#8217;m leaving Linux, so I can&#8217;t take you with me.&#8221;  I wish I could make this easier, but I can&#8217;t.  So, I&#8217;ll be blunt, you&#8217;re just not up to snuff anymore.  <a href="http://www.ubuntu.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ubuntu.com');">Ubuntu</a> has made me want more out of my laptop.  I can&#8217;t settle for good enough, it needs to rock my world, and to be honest, Liferea, you&#8217;ve stopped doing that form.</p>
<p>At first I could handle your little strangesses.  The fact that I seem to get an inordinate number of <a href="http://en.wikipedia.org/wiki/Yellow_Screen_of_Death#Yellow" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Yellow screens of death</a> from even slightly misformatted feeds should have been a warning.  It&#8217;s the web, you&#8217;re supposed to be open to different translations, people messing things up.  You&#8217;re supposed to be flexible, but you&#8217;re not. You&#8217;re stale.  You remind me of 2001.</p>
<p>As time went on, you became more picky.  Startups began to drag on.  Waking you from your slumber would sometimes take a couple of minutes before your window would even appear and let me know that you&#8217;re alive.  Even after letting me know you&#8217;re alive, you frequently went non-responsive and shunned me.  Leaving me solid colored boxes on my desktop and a warning that even though you&#8217;re ignoring me, if I try to make you go away, it could have dire consequences. Yes, it&#8217;s turned into a bad relationship.  I&#8217;m sorry, but I can&#8217;t live with this cycle of dependency and rejection.  You&#8217;re getting the boot.</p>
<p>And, no, before you ask, I wasn&#8217;t seeing other feed readers before coming to this decision.  But I&#8217;ve taken some looks since then, and found that you still are probably the best around, but you&#8217;re just not right for me.  <a href="http://www.mozilla.com/thunderbird/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mozilla.com');">Thunderbird</a> is a great standby and mail reader that has some support for feed reading, but it&#8217;s a cruddy hack, forcing me to view the entire web page.  It completely ignoring most of the stuff in the feed, such as embedded media and tags.  It feels like I&#8217;m reading RSS feeds in some sort of bizaare love child between an email client, a web browser, and a feed reader that was genetically engineered by a committee.  It&#8217;s painful and slow. It reminds me of being back in the days when I needed to visit each web site by hand.  Sure, it probably meets some enterprise specification, and would be a great friend if I were in a locked down corporation, but I&#8217;m more open minded and free willed than that.  I can&#8217;t handle how Thunderbird wants to confine me.</p>
<p>I also looked at some old friends from before I met you. <a href="http://www.gnome.org/projects/straw/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.gnome.org');">Straw</a> was my first and I considered hooking up again.  Sadly, it lookes like very little has changed since I decided that that was a match that could never work.  It still is kidna slow, chunky, and sometimes likes to ignore me just like you do.  Straw feels familiar, it&#8217;s in Python so I can hack it, but I shouldn&#8217;t have to.  It should just work.  I&#8217;m not looking for high maintenance right now.</p>
<p>After I broke up with straw, I was with <a href="http://www.cmartin.tk/blam.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cmartin.tk');">Blam!</a>. It was sexy, it was fast, it was C#.  Hey, I thought that experimenting with C# was a good idea at the time, turned out it was just bad advice from a friend.  Blam! still refuses to play well with others, crashing completely on numerous feeds.  Blam! also found a way to take up more of my time and resources that you ever did. Clearly Blam! would make a poor replacement for you, Liferea.</p>
<p>Some of my friends have been telling me to try out the new bicycle in town, <a href="http://reader.google.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/reader.google.com');">Google Reader</a>.  Everyone is doing it, it&#8217;s fast, it&#8217;s slick, and it means that I don&#8217;t need to worry about what&#8217;s on my system or do any maintenance.  Plus, it&#8217;s available everywhere and I can take it with me on a plane.  I&#8217;ve thought about, and may still visit it, but I&#8217;m worried information it keeps about me and what it will with that information.  Will she go out and let the man know that I read <a href="http://english.aljazeera.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/english.aljazeera.net');">Al Jazeera</a> if they ask?  She also has a nasty tendency to want complete control over all of my information. I&#8217;m not sure I&#8217;m willing to become that dependent.</p>
<p>You see, Liferea, it&#8217;s not that I have something else right now.  It&#8217;s just that I can&#8217;t be with you anymore.  I hope you can understand.  One day, we may look back on this day with fondness and conclude that it was a great relationship.  That you let me experience feeds like never before. In the mean time, I&#8217;m just going to take my OPML file and go looking for someone else.</p>
<p>Sincerely,</p>
<p>Patrick</p>
<div class="digg-digg"> <iframe src='http://www.reddit.com/button_content?newwindow=1&url=http://patrick.wagstrom.net/weblog/2008/04/16/breaking-up-with-liferea/&title=Breaking+Up+With+Liferea&t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/04/16/breaking-up-with-liferea/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.470 seconds -->
<!-- Cached page generated by WP-Super-Cache on 2009-01-09 18:04:05 -->
<!-- Compression = gzip -->