<?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>Tower Of Power &#187; Software</title>
	<atom:link href="http://www.toosweettobesour.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.toosweettobesour.com</link>
	<description>Far Too Sweet To Be Sour</description>
	<lastBuildDate>Wed, 07 Dec 2011 23:22:20 +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>A Lesson In Good Architecture</title>
		<link>http://www.toosweettobesour.com/2011/01/29/a-lesson-in-good-architecture/</link>
		<comments>http://www.toosweettobesour.com/2011/01/29/a-lesson-in-good-architecture/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 19:58:56 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=487</guid>
		<description><![CDATA[We recently began working on our biggest event for our biggest client. In the process of getting everything up and running before the event started, we noticed a show-stopper bug appear out of nowhere. Our media processor when finished converting videos and creating thumbnails of images publishes said files to our CDN. Only a few [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2011/01/29/a-lesson-in-good-architecture/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>We recently began working on our biggest event for our biggest client. In the process of getting everything up and running before the event started, we noticed a show-stopper bug appear out of nowhere.</p>
<p>Our media processor when finished converting videos and creating thumbnails of images publishes said files to our CDN. Only a few hours before our event and our CDN was failing probably 80% of the SSL handshakes for our requests to publish files. There is no need to name names as it was a difficult and obscure bug to diagnose in an extremely short amount of time. We needed to get it working, our CDN provider wasn&#8217;t going to be able to resolve the problem in the extremely short timeframe we required, so the decision was clear: we needed to switch providers for the new content.</p>
<p>Normally this is a 2 week job, switching API calls, testing, finding all the occurrences (we process both videos and photos in different styles of batches), etc. We were able to complete it and have it live in under 1.5 hours. Why? We (and really I mean my coworker as this decision was made before I came on) made som really damned good architecture decisions. Primarly:</p>
<ol>
<li>We used OSS, primarily <a href="">Zend Framework</a> which had well written API libraries for our new CDN</li>
<li>All file system operations were abstracted to adapters that all inherited a &#8220;FileStore&#8221; base class</li>
</ol>
<p>So, create a file store for our new CDN using the well written, off the shelf API. Change 4 lines of XML configuration, deploy, and we were in business.</p>
<p>Had my coworker succumbed to laziness or listen to some people who claim &#8220;oh you&#8217;re just making it too complicated&#8221; or &#8220;just get it up quickly, damn the design decisions&#8221; we would have been sunk. Instead he took the time to utilize the adapter pattern (even though it probably added an extra 2 days to his total coding time) despite all signs pointing to us never needing to switch CDN&#8217;s (and certainly not within a 2 hour timeframe).</p>
<p>So let this be a lesson to us all. Abstraction and design patterns sometimes feel like an &#8220;enterprisey overcomplication&#8221; but they aren&#8217;t there for everyday needs. They exist for those days when a service provider gets hit by an obscure bug and you have to swap out a component under extreme time schedules. So suck it up, use them, and thank yourself when you find yourself in such a situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2011/01/29/a-lesson-in-good-architecture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Logitech MX Revolution revoco in Ubuntu 9.04 Jaunty: Click-to-Click even after a resume/wakeup</title>
		<link>http://www.toosweettobesour.com/2009/05/13/logitech-mx-revolution-revoco-in-ubuntu-904-jaunty-click-to-click-even-after-a-resumewakeup/</link>
		<comments>http://www.toosweettobesour.com/2009/05/13/logitech-mx-revolution-revoco-in-ubuntu-904-jaunty-click-to-click-even-after-a-resumewakeup/#comments</comments>
		<pubDate>Thu, 14 May 2009 02:56:26 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=428</guid>
		<description><![CDATA[It&#8217;s been a LOONG time since I&#8217;ve posted eh? Well I finally solved my issues I&#8217;ve been having with revoco in the later version of Ubuntu. For those of you who don&#8217;t know, when you buy a Logitech MX Revolution mouse (or its ilk), the middle button can alternatively work in &#8220;click-to-click&#8221; mode (where you [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2009/05/13/logitech-mx-revolution-revoco-in-ubuntu-904-jaunty-click-to-click-even-after-a-resumewakeup/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>It&#8217;s been a LOONG time since I&#8217;ve posted eh?</p>
<p>Well I finally solved my issues I&#8217;ve been having with revoco in the later version of Ubuntu. For those of you who don&#8217;t know, when you buy a Logitech MX Revolution mouse (or its ilk), the middle button can alternatively work in &#8220;click-to-click&#8221; mode (where you feel &#8220;clicking&#8221; when you spin the wheel) or &#8220;free spin&#8221; mode where the wheel spins free of resistance. By default the mouse maps the middle click to alternate in between these modes (by default I mean every time it loses connection with the PC, e.g. in the event of a shut down). This has the unfortunate habit of also laying the smack down on a normal middle button event (like middle clicking a link in Firefox to open it up in a new tab) sent to the PC (plus I hate free spin).</p>
<p>For a while btnx solved my problems as it had the ability to send revoco signals to supported mice, but recent changes in Xorg have rendered this useless.</p>
<p>However an enterprising individual named Edgar Toernig wrote a command line utility called revoco that lets you set the modes.</p>
<p>So to get the mouse to always work in click-to-click mode (as you would expect it) you would first need to get a copy of revoco from <a href="http://goron.de/~froese/revoco/">here</a>. Alternatively, if the site goes down you can <a href='http://www.toosweettobesour.com/wp-content/uploads/2009/05/revoco-05tar.gz'>download revoco version 0.5</a> from me.</p>
<p>Next you&#8217;ll need to compile it (just run make in the extracted directory).</p>
<p>Once it&#8217;s all compiled, I like to use sudo to move the file to <code>/usr/local/bin/</code>.</p>
<p>Next I create an init.d script to set the mouse to click-to-click on boot. Save the following to the text file <code>/etc/init.d/revoco</code>:</p>
<pre class="code" lang="sh">
#!/bin/bash
/usr/local/bin/revoco click
</pre>
<p>Finally run a <code>chmod +x /etc/init.d/revoco</code> to allow the code to execute.</p>
<p>All this is well and good but you&#8217;ll notice that on a resume from hibernate/sleep, your mouse will be back to its old shenanigans. To fix this we want to create a script in <code>/etc/pm/sleep.d/</code>. So in this folder lets edit a text file <code>10revoco</code>:</p>
<pre class="code" lang="sh">
#!/bin/bash
case "$1" in
        hibernate|suspend)
                /usr/local/bin/revoco click
                ;;
        thaw|resume)
                /usr/local/bin/revoco click
                ;;
        *) exit $NA
                ;;
esac
</pre>
<p>Again lets run a <code>chmod +x /etc/pm/sleep.d/10revoco</code> to allow us to execute</p>
<p>Now if you give it a try, you&#8217;ll notice that even on wakeup/resume from hibernation/suspend your mouse will stay in click to click mode!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2009/05/13/logitech-mx-revolution-revoco-in-ubuntu-904-jaunty-click-to-click-even-after-a-resumewakeup/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ubuntu Linux slow/bad internet connection problems</title>
		<link>http://www.toosweettobesour.com/2008/10/24/ubuntu-linux-slowbad-internet-connection-problems/</link>
		<comments>http://www.toosweettobesour.com/2008/10/24/ubuntu-linux-slowbad-internet-connection-problems/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 19:27:25 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[TCP Window Scaling]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=215</guid>
		<description><![CDATA[At my office I had been having a problem with my Ubuntu and Fedora boxen having problem connecting to external sites. Some would work, albeit slow, where as others would not work at all (e.g. trying to connect to reddit in Firefox would get enough of the page to display the &#60;title&#62;&#60;/title&#038;gt tags but it [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/10/24/ubuntu-linux-slowbad-internet-connection-problems/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>At my office I had been having a problem with my Ubuntu and Fedora boxen having problem connecting to external sites. Some would work, albeit slow, where as others would not work at all (e.g. trying to connect to reddit in Firefox would get enough of the page to display the <code>&lt;title&gt;&lt;/title&#038;gt</code> tags but it would be &#8220;forever loading&#8221; the actual content, with only a white screen).</p>
<p>The solution seemed to be that the router hated TCP Window Scaling. The fix that so far seems to work is to edit your /etc/sysctl.conf file and adding the line:</p>
<blockquote><p><code>net.ipv4.tcp_window_scaling=0</code></p></blockquote>
<p>And then running the command:</p>
<blockquote><p><code>sudo sysctl -p</code></p></blockquote>
<p>To reload the changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/10/24/ubuntu-linux-slowbad-internet-connection-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN Client Too Old (In Ubuntu)?</title>
		<link>http://www.toosweettobesour.com/2008/09/04/svn-client-too-old-in-ubuntu/</link>
		<comments>http://www.toosweettobesour.com/2008/09/04/svn-client-too-old-in-ubuntu/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 23:13:25 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=127</guid>
		<description><![CDATA[After upgrading to Subclipse 1.4.0 on my Ubuntu 8.04 laptop, I would try to go in and use the console to update some of my projects. Unfortunately, Ubuntu&#8217;s Hardy repos don&#8217;t have Subversion 1.5 so I got this message: svn: This client is too old to work with working copy '.'; please get a newer [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/09/04/svn-client-too-old-in-ubuntu/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>After upgrading to Subclipse 1.4.0 on my Ubuntu 8.04 laptop, I would try to go in and use the console to update some of my projects. Unfortunately, Ubuntu&#8217;s Hardy repos don&#8217;t have Subversion 1.5 so I got this message:</p>
<blockquote><p><code>svn: This client is too old to work with working copy '.'; please get a newer Subversion client</code></p></blockquote>
<p>Looking for instructions I came across <a href="http://campa.wordpress.com/2008/08/05/installing-subversion-15-on-ubuntu-804/">this blog</a> linking to another blog, but horror of horrors the link was dead! Well, thanks to <a href="http://64.233.167.104/search?q=cache:-u4Q9bdIz9YJ:www.cylindric.net/blog/2008/07/29/installing-subversion-15-on-ubuntu-804+install+subversion+1.5+on+ubuntu+8.04&#038;hl=en&#038;ct=clnk&#038;cd=1&#038;gl=us&#038;client=firefox-a">Google&#8217;s page cache</a> I can put the instructions right here:</p>
<blockquote><p>
For various reasons I won’t go into, you can’t get Subversion 1.5 to build on Ubuntu 8.04.  You can however install it from this alternative repository…</p>
<p>First, edit your <strong>/etc/apt/sources.list</strong> and add:</p>
<blockquote><p>deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main</p></blockquote>
<p>Then update the repo and install:</p>
<blockquote><p>sudo apt-get update<br />
sudo apt-get install subversion
</p></blockquote>
<p>Now go back into the sources.list and remove (or comment out) that repository:</p>
<blockquote><p># deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main</p></blockquote>
<p>All done!</p>
<p>Thanks to Seffyroff for ferreting out this info, gleaned from <a href="https://launchpad.net/~clazzes.org/+archive">various</a> <a href="https://answers.launchpad.net/ubuntu/+source/subversion/+question/37859">locations</a>.  This reportedly works with both 64-bit and 32-bit versions of Ubuntu.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/09/04/svn-client-too-old-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>10 Hours With Plurk</title>
		<link>http://www.toosweettobesour.com/2008/06/02/10-hours-with-plurk/</link>
		<comments>http://www.toosweettobesour.com/2008/06/02/10-hours-with-plurk/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 04:28:53 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Plurk]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=56</guid>
		<description><![CDATA[So I now have spent about 10 hours on Plurk. About an hour of those 10 I spent OFF the service. It is officially addicting.]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/06/02/10-hours-with-plurk/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>So I now have spent about 10 hours on <a href="http://plurk.com/redeemByURL?from_uid=17206&#038;check=-1542535855&#038;s=1">Plurk</a>.</p>
<p>About an hour of those 10 I spent OFF the service.</p>
<p>It is officially addicting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/06/02/10-hours-with-plurk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plurk: Even worse than twitter!</title>
		<link>http://www.toosweettobesour.com/2008/06/02/plurk-even-worse-than-twitter/</link>
		<comments>http://www.toosweettobesour.com/2008/06/02/plurk-even-worse-than-twitter/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 19:58:29 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Plurk]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=55</guid>
		<description><![CDATA[So whurley pointed me towards plurk earlier today. Naturally I join because (a) I&#8217;m a natural sucker, and (b) being a geek I join just about every service to check it out. To give a brief rundown, plurk is another microblogging service just like twitter only it focuses on the social networking aspect a bit [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/06/02/plurk-even-worse-than-twitter/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>So <a href="http://whurley.com/">whurley</a> pointed me towards <a href="http://plurk.com/redeemByURL?from_uid=17206&#038;check=-1542535855&#038;s=1">plurk</a> earlier today.</p>
<p>Naturally I join because (a) I&#8217;m a natural sucker, and (b) being a geek I join just about every service to check it out.</p>
<p>To give a brief rundown, plurk is another microblogging service just like <a href="http://twitter.com/">twitter</a> only it focuses on the social networking aspect a bit more than twitter, its currently more responsive than twitter (but that will change as plurk starts experiencing heavy load), and it has a really nifty timeline interface (by the way, plurk guys: we&#8217;re all kinda used to reading a timeline from right-to-left, not left-to-right).</p>
<p>I would highly suggest people <a href="http://plurk.com/redeemByURL?from_uid=17206&#038;check=-1542535855&#038;s=1">join up and check it out</a>, if for anything to boost my karma points and waste the time in your day you weren&#8217;t going to spend on something useful in the first place.</p>
<p>Oh and for you first time users, check out <a href="http://plurk.ryanlim.com/help/">The Unofficial Guide To Plurk</a> to get the help that is so woefully inadequate on the official plurk website.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/06/02/plurk-even-worse-than-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CompizFusion: Blur Your Terminal Window!</title>
		<link>http://www.toosweettobesour.com/2008/05/15/compizfusion-blur-your-terminal-window/</link>
		<comments>http://www.toosweettobesour.com/2008/05/15/compizfusion-blur-your-terminal-window/#comments</comments>
		<pubDate>Thu, 15 May 2008 21:39:10 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Compiz]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=49</guid>
		<description><![CDATA[Messing around with CompizConfig the other day and discovered a nifty tweak: blur your transparent terminal windows! To do this you need CompizConfig installed: sudo apt-get install compizconfig-settings-manager Once installed, go to System > Preferences > Advanced Desktop Effects Settings. Scroll down to Effects and enabled Blur Windows. Then click the Blur Windows button to [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/05/15/compizfusion-blur-your-terminal-window/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>Messing around with CompizConfig the other day and discovered a nifty tweak: blur your transparent terminal windows!</p>
<p><a href='http://www.toosweettobesour.com/wp-content/uploads/2008/05/screenshot1.png' rel="lightbox[49]"><img src="http://www.toosweettobesour.com/wp-content/uploads/2008/05/screenshot1-300x211.png" alt="Blurred Gnome Terminal!" title="Blurred gnome-terminal" width="300" height="211" class="aligncenter size-medium wp-image-50" /></a></p>
<p>To do this you need CompizConfig installed:</p>
<p><code>sudo apt-get install compizconfig-settings-manager</code></p>
<p>Once installed, go to System > Preferences > Advanced Desktop Effects Settings. Scroll down to Effects and enabled Blur Windows. Then click the Blur Windows button to open the configuration panel. Set &#8220;Alpha blur windows&#8221; to <strong>(class=Gnome-terminal)</strong>, Check <strong>Alpha Blur</strong>, set &#8220;Blur Filter&#8221; to <strong>Gaussian</strong>, and set &#8220;Gaussian Radius&#8221; to <strong>9</strong>.</p>
<p><a href='http://www.toosweettobesour.com/wp-content/uploads/2008/05/screenshot-compizconfig-settings-manager.png' rel="lightbox[49]"><img src="http://www.toosweettobesour.com/wp-content/uploads/2008/05/screenshot-compizconfig-settings-manager-300x251.png" alt="Settings for Alpha-Blurred gnome-terminal" title="Screenshot of CompizConfig Settings" width="300" height="251" class="aligncenter size-medium wp-image-51" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/05/15/compizfusion-blur-your-terminal-window/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lenovo Expanding ThinkPad Linux Offerings</title>
		<link>http://www.toosweettobesour.com/2008/02/25/lenovo-expanding-thinkpad-linux-offerings/</link>
		<comments>http://www.toosweettobesour.com/2008/02/25/lenovo-expanding-thinkpad-linux-offerings/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 04:59:06 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Lenovo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ThinkPad]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/2008/02/25/lenovo-expanding-thinkpad-linux-offerings/</guid>
		<description><![CDATA[Matt Kohut posted on the Lenovo corporate blogs a very good sign of industry Linux support. According to Kohut, Lenovo will be expanding its Linux offerings not just by expanding their preloaded selection, but by porting the ThinkVantage software (their &#8220;Craplet but Not Craplet&#8221; driver/application suite) to Linux. Normally all I see as far as [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/02/25/lenovo-expanding-thinkpad-linux-offerings/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>Matt Kohut posted on the Lenovo corporate blogs a <a href="http://lenovoblogs.com/insidethebox/?p=137">very good sign</a> of industry Linux support.</p>
<p>According to Kohut, Lenovo will be expanding its Linux offerings not just by expanding their preloaded selection, but by porting the ThinkVantage software (their &#8220;Craplet but Not Craplet&#8221; driver/application suite) to Linux.</p>
<p>Normally all I see as far as far as industry Linux support goes is just installing Linux on a few machines, but not really expanding Linux itself (through drivers and software). I have high hopes (which will probably be dashed like they always are) for Lenovo&#8217;s offerings as they intend to port their drivers and management software.</p>
<p>In a perfect world I would like to see open sourced applications centrally distributed by Lenovo for multiple distributions (they currently will only preload SLED). In a perfect world I see modularized drivers that would allow more savvy users to install a hard disk shock driver but write their own OS integrated interface, or a user would install Lenovo&#8217;s interface.</p>
<p>I also see much potential for their port of their presentation mode software. Currently dual monitors in Linux is a bit of a bitch to deal with, and I can potentially see them develop an application that would be usable on other laptops for quickly setting the monitor out port to be an 800&#215;600 desktop that Open Office or Totem would send their full screen output to. While from a business standpoint this is not so much of a smart move (a competitive advantage via exclusivity is lost), the Linux crowd tends to handsomely reward supportive companies that make moves like this with free press, referrals, and making their next purchase through these somewhat philosophically aligned companies. Given the Linux user is the guy 10+ people go to for hardware purchasing advice, the sheer scale of 100 techies telling 1000 people to buy Lenovo machines because of how impressed they are with their support of Linux can&#8217;t hurt at all. One need only look at the <a href="http://www.walmart.com/catalog/product.do?product_id=7754614">gPC</a> and how Walmart could not keep enough in stock.</p>
<p>Since the ThinkVantage software appears to be written in .NET 2.0 (the update utility requires .NET 2.0, so I think thats a reasonable assumption), maintaining ports should not be entirely difficult thanks to the inroads the <a href="http://www.mono-project.com/Main_Page">Mono</a> project has made. I would love to see care made to make native feeling ports of the software rather than just dumping the same interface their Windows counterparts use (e.g. splash screens are usually frowned upon in Linux software, especially with system utilities). Since SLED is now GNOME based, I&#8217;m really hoping that their team decided to go for GTK+ and sticking to Gnome HIG for their interface, however given that QT is more easily portable, I fear a nasty looking QT setup (Disclaimer: I dislike QT from a visual standpoint. It&#8217;s a good toolkit but makes for an inconsistent, unpolished interface).</p>
<p>One fear I do have is seeing Lenovo attempting to reinvent the wheel with their suite. There are many things that Linux already does well that do not need yet another third party application attempting to perform from scratch. One in particular is the network-manager applet that installs with Gnome most of the time. I find it to be an extremely easy to use wireless and network configuration utility, especially when you expand it with VPN plugins.</p>
<p>However I can see Lenovo stretching itself too thing trying to do a 1:1 port of the ENTIRE suite when they are better off ensuring packages like network-manager and power-manager from the gnome desktop or their KDE equivalents are installed and focusing their time on missing features, like easy fingerprint setup (perhaps contributing to the gnome keyring manager by allowing it to authenticate through PAM, allowing for finger swipes to unlock the keyring), hard disk shock protection (completely lacking on this aspect), presentation manager, and setting up and providing quick interfaces to all the special keys and shortcut buttons (namely the ThinkVantage and forward/back buttons do not work out of box). The could also spend their time contributing wifi drivers (or contributing to existing drivers) to fix some issues like the wifi light not working, as well as working with the major distributions to eventually work in the fixes they create to allow Suspend to RAM and Suspend to Disk to operate without dying.</p>
<p>As a final request and hope, please make sure you not only provide binary packages, but APT/YUM repositories as well for keeping the applications up to date (the update software can easily be reduced in complexity by using built in package management software).</p>
<p>All and all, my hat is off to Lenovo for taking the extra step in their Linux support by (potentially) supporting the community, not just installing a distribution and calling it a day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/02/25/lenovo-expanding-thinkpad-linux-offerings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plesk open_basedir Workaround</title>
		<link>http://www.toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround/</link>
		<comments>http://www.toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 07:47:41 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[open_basedir]]></category>
		<category><![CDATA[Plesk]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/archives/20</guid>
		<description><![CDATA[Unfortunately, Plesk does (and according to atomicturtle will continue to) hate on developers by enabling open_basedir by default and not give any way to change such behavior. A work around is possible, overriding the setting in a vhost.conf file (httpd.include files are not so good because Plesk rewrites them every time a change is made [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>Unfortunately, Plesk does (and according to atomicturtle will continue to) hate on developers by enabling open_basedir by default and not give any way to change such behavior.</p>
<p>A work around is possible, overriding the setting in a vhost.conf file (httpd.include files are not so good because Plesk rewrites them every time a change is made to a domain&#8217;s settings, or whenever Plesk feels like it). However, adding the line <code>php_admin_value open_basedir none</code> is completely ineffective (as I would assume the vhost.conf is being included before offending open_basedir changes are made?).</p>
<p>However I found that doing this (those familiar with Plesk&#8217;s httpd.include will recognize this block):</p>
<pre>
&lt;Directory /path/to/domain/httpdocs&gt;
&lt;IfModule sapi_apache2.c&gt;
        php_admin_value open_basedir none
&lt;/IfModule&gt;
&lt;IfModule mod_php5.c&gt;
        php_admin_value open_basedir none
&lt;/IfModule&gt;
&lt;/Directory&gt;
</pre>
<p>Guarantees that open_basedir will plague you no more.</p>
<p>Some may ask why I want open_basedir enabled, it&#8217;s leaving me open to vulnerabilities! Some applications have a control panel on a separate sub domain and require the ability to write files to it&#8217;s parent domain, something Plesk beats down with an ugly stick, as well as some applications requiring access to the system wide PEAR libraries, something open_basedir ironicaly beats down as well (despite the system wide PEAR libraries being included in the include_path directive).</p>
<p>Later I&#8217;ll be digging through Plesk&#8217;s ability to trigger commands on updates and domain creations to automate this vhost.conf setting (namely grabbing that path to the httpdocs folder that is so critical and time consuming).</p>
<p><strong>EDIT:</strong> To apply the changes, follow markus&#8217; example:</p>
<blockquote><p>I just have my setting in the vhost.conf, and it works just fine. Just remember to update Plesks settings manually afterwards, with /usr/local/psa/admin/sbin/websrvmng -u –vhost-name=example.com (it doesn’t read directly from the vhost.conf).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

