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

<channel>
	<title>nothing to see here</title>
	<atom:link href="http://www.endolith.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.endolith.com/wordpress</link>
	<description>move along</description>
	<pubDate>Wed, 19 Nov 2008 19:02:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Ubuntu release quality</title>
		<link>http://www.endolith.com/wordpress/2008/11/19/ubuntu-release-quality/</link>
		<comments>http://www.endolith.com/wordpress/2008/11/19/ubuntu-release-quality/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 16:01:42 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=354</guid>
		<description><![CDATA[When I first installed Ubuntu in 2006, all my hardware worked out of the box.  It needed a few tweaks to run correctly, but it was much easier to get running than other distros I had tried.  I was very pleasantly surprised, and Linux became my primary desktop for the first time.  I still have [...]]]></description>
			<content:encoded><![CDATA[<p>When I first installed Ubuntu in 2006, all my hardware worked out of the box.  It needed a few tweaks to run correctly, but it was much easier to get running than other distros I had tried.  I was very pleasantly surprised, and Linux became my primary desktop for the first time.  I still have a dual-boot with XP, but I barely ever boot into it.</p>
<p>With the last few releases, though, I&#8217;ve felt that after &#8220;upgrading&#8221; my system, it actually gets worse. There are lots of bugs and regressions, and I wonder how this can possibly be an official &#8220;release&#8221;.  Intrepid was the worst so far: my video card stopped working, my keyboard&#8217;s function keys started locking up the screen, session saving doesn&#8217;t work, sound system is misconfigured, etc.  When I upgrade my computer, I expect the upgrade to <em>fix </em>problems, not cause more.</p>
<p>To see if it&#8217;s just my own personal experience, I looked through the release polls on Ubuntu Forums and combined them all together into a little HTML percentage bar graph.  The green bar is for the percent of users who found the release &#8220;worked flawlessly&#8221;, after either an upgrade or clean install.  Yellow is for &#8220;few things to fix, nothing serious though&#8221;.  Red is for &#8220;many problems that i&#8217;ve not been able to solve&#8221;.</p>
<p>It&#8217;s pretty clear that my experience is not unique:</p>
<table style="border-collapse: collapse; height: 100%;" border="1" width="100%">
<tbody>
<tr>
<td><a href="http://ubuntuforums.org/showthread.php?t=414935">Feisty</a></td>
<td>
<table style="border-collapse: collapse; height: 100%;" border="1" width="100%">
<tbody>
<tr>
<td width="47%" bgcolor="green">&nbsp;</td>
<td width="23%" bgcolor="yellow">&nbsp;</td>
<td width="30%" bgcolor="red">&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td><a href="http://ubuntuforums.org/showthread.php?t=580852">Gutsy</a></td>
<td>
<table style="border-collapse: collapse; height: 100%;" border="1" width="100%">
<tbody>
<tr>
<td width="22%" bgcolor="green">&nbsp;</td>
<td width="44%" bgcolor="yellow">&nbsp;</td>
<td width="34%" bgcolor="red">&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="10%"><a href="http://ubuntuforums.org/showthread.php?t=764847">Hardy</a></td>
<td>
<table style="border-collapse: collapse; height: 100%;" border="1" width="100%">
<tbody>
<tr>
<td width="23%" bgcolor="green">&nbsp;</td>
<td width="46%" bgcolor="yellow">&nbsp;</td>
<td width="31%" bgcolor="red">&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td><a href="http://ubuntuforums.org/showthread.php?t=963853">Intrepid</a></td>
<td>
<table style="border-collapse: collapse; height: 100%;" border="1" width="100%">
<tbody>
<tr>
<td width="19%" bgcolor="green">&nbsp;</td>
<td width="34%" bgcolor="yellow">&nbsp;</td>
<td width="48%" bgcolor="red">&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>You can see from the original graphs that the experiences for upgraders and first installers are roughly the same, proportionally.  (47% of Intrepid upgraders had serious problems, while 48% of first-timers had serious problems, for instance.) I&#8217;d speculate that this means that the main difference between people who have problems and people who don&#8217;t is the compatibility of their hardware.</p>
<p>I don&#8217;t know much about the technicalities, and don&#8217;t follow the politics behind release cycles, but it seems Ubuntu has to rethink its priorities.  I don&#8217;t understand why a product would be shipped out the door as a &#8220;release&#8221;, when it has major, known bugs like this.  Isn&#8217;t that what betas and release candidates are for?</p>
<p>I&#8217;ve been told that I should wait a few months before upgrading, so that when I do, the bugs have been fixed, but then&#8230; what&#8217;s the point of calling it an official release?  Why don&#8217;t you delay the release until those bugs are fixed?</p>
<p>I&#8217;ve been told that I should stick to LTS releases if I want fewer bugs, but I had plenty of problems with the Hardy upgrade, too.  The graph shows that Hardy was only marginally better.  Some even said the LTS release was &#8220;<a href="http://www.lazytechguy.com/2008/08/is-ubuntu-hardy-really-that-buggy.html">much more buggy than Gutsy or any other previous release</a>&#8220;.</p>
<p>I&#8217;ve been told that Ubuntu&#8217;s release schedule is a response to Debian&#8217;s long delays between releases &#8212; that a rigid six-month schedule keeps programs like Firefox and OpenOffice up to date, but as a consequence we have to pay the price of a less stable system.</p>
<p>I don&#8217;t understand why these are so intertwined.  I can download the latest bleeding-edge versions of software titles from <a href="http://www.getdeb.net/">getdeb.net</a> and run them just fine on my system; why can&#8217;t the &#8220;flagship&#8221; titles be kept up-to-date, while the low-level subsystems are kept as stable as possible?  If I&#8217;m using the latest Firefox beta and it crashes, it&#8217;s no big deal, but if a less-technical user upgrades their computer and the video card or wireless card stops working, that&#8217;s a deal-breaker.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/11/19/ubuntu-release-quality/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Add a &#8220;From:&#8221; field to gnome-screensaver locked screen</title>
		<link>http://www.endolith.com/wordpress/2008/11/18/add-a-from-field-to-gnome-screensaver-locked-screen/</link>
		<comments>http://www.endolith.com/wordpress/2008/11/18/add-a-from-field-to-gnome-screensaver-locked-screen/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 01:24:41 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=352</guid>
		<description><![CDATA[Just a small idea for improving gnome-screensaver.  When the screen is locked, other people can leave messages, which show up as libnotify pop-ups.  It&#8217;s not obvious to the person leaving the message how it will appear, though, so I think we should add a From: field to encourage them to sign their name.  Otherwise you [...]]]></description>
			<content:encoded><![CDATA[<p>Just a small idea for improving gnome-screensaver.  When the screen is locked, other people can leave messages, which show up as libnotify pop-ups.  It&#8217;s not obvious to the person leaving the message how it will appear, though, so I think we should add a <strong>From:</strong> field to encourage them to sign their name.  Otherwise you might not know who left the message.</p>
<p>Currently it looks like this:</p>
<p><a href="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/leave-message-without-from.png"><img class="alignnone size-medium wp-image-357" title="leave-message-without-from" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/leave-message-without-from-300x164.png" alt="" width="300" height="164" /></a></p>
<p>and the pop-up looks like this:</p>
<p><a href="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/popup-plain.png"><img class="alignnone size-medium wp-image-359" title="popup-plain" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/popup-plain-300x75.png" alt="" width="300" height="75" /></a></p>
<p>I think we should add a From: field like this:</p>
<p><a href="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/leave-message-with-from.png"><img class="alignnone size-medium wp-image-360" title="leave-message-with-from" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/leave-message-with-from-300x164.png" alt="" width="300" height="164" /></a></p>
<p>and the corresponding pop-up could look like one of these:</p>
<p><a href="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/popup-bottom-right.png"><img class="alignnone size-medium wp-image-361" title="popup-bottom-right" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/popup-bottom-right-300x75.png" alt="" width="300" height="75" /></a></p>
<p><a href="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/popup-parens.png"><img class="alignnone size-medium wp-image-362" title="popup-parens" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/11/popup-parens-300x75.png" alt="" width="300" height="75" /></a></p>
<p>After proposing this <a href="http://brainstorm.ubuntu.com/idea/15465/">on Ubuntu Brainstorm</a>, I found an independent request <a href="https://bugs.launchpad.net/bugs/144840">on Launchpad</a>, so I&#8217;m not the only one. <img src='http://www.endolith.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://brainstorm.ubuntu.com/idea/15465/"><br />
<img src="http://brainstorm.ubuntu.com/idea/15465/image/1/" alt="" /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/11/18/add-a-from-field-to-gnome-screensaver-locked-screen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Canon refuses to support Linux</title>
		<link>http://www.endolith.com/wordpress/2008/09/09/canon-refuses-to-support-linux/</link>
		<comments>http://www.endolith.com/wordpress/2008/09/09/canon-refuses-to-support-linux/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 18:46:18 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<category><![CDATA[Canon LiDE 70]]></category>

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

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

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

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=45</guid>
		<description><![CDATA[I&#8217;d been wanting a scanner for a while, and kept procrastinating.  Eventually I got fed up with myself and drove to Staples and bought a Canon CanoScan LiDE 70.  After getting home, I remembered why I don&#8217;t make impulse purchases at stores.
The scanner seems decent, but does not work in Linux, so is useless to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d been wanting a scanner for a while, and kept procrastinating.  Eventually I got fed up with myself and drove to Staples and bought a <span class="nfakPe">Canon</span> CanoScan <span class="nfakPe">LiDE</span> 70.  After getting home, I remembered why I don&#8217;t make impulse purchases at stores.</p>
<p>The scanner seems decent, but does not work in Linux, so is useless to me since I switched to <a href="http://www.ubuntu.com/">Ubuntu</a>.</p>
<ul>
<li><a href="http://www.sane-project.org/unsupported/canon-lide-70.html">Scanners not supported by SANE - Canon LiDE 70</a></li>
<li><a href="http://www.sane-project.org/lists/sane-mfgs-cvs.html#Z-CANON">SANE: Supported Devices - Canon</a></li>
<li><a href="http://ubuntuforums.org/showthread.php?t=512990">Ubuntu Forums - Will SANE ever support the Canon CanoScan LiDE 70?</a></li>
</ul>
<p>I wrote to Canon several times asking them to support my OS, and they refuse:</p>
<blockquote><p>Thank you for your inquiry.  We value you as a Canon customer and appreciate the opportunity to assist you.</p>
<p>Unfortunately, Canon does not write or support any drivers or software for the various Linux operating systems.  The driver development information is proprietary information, kept at Canon Japan, and is not available to the public.  I apologize for any inconvenience this may cause.</p>
<p>Please let us know if we can be of any further assistance with your LiDE<br />
70 scanner.</p>
<p>Thank you for choosing Canon.</p></blockquote>
<p>I told them that they don&#8217;t need to write drivers themselves; they can be written by the <a href="http://www.linuxdriverproject.org">Linux Driver Project</a> for free.  All Canon has to do is provide the proprietary communication protocol information, which will not be disclosed, but they refuse to do anything to help:</p>
<blockquote><p>While considering the desire to provide the best possible support for <span class="nfakPe">Canon</span>&#8217;s products, <span class="nfakPe">Canon</span> USA must make decisions on which products to provide driver support and platforms to provide drivers for.  Currently, <span class="nfakPe">Canon</span> USA has decided to support only the Microsoft Windows and the Macintosh operating systems.</p>
<p><span class="nfakPe">Canon</span> USA has announced no plans to provide or assist in supporting the Linux platform with the consumer line products.  We understand, and sincerely apologize for any frustration this may cause if your are using an operating system <span class="nfakPe">Canon</span> USA does not support.</p>
<p>We sincerely apologize for the difficulties and inconvenience this reply may cause. As a <span class="nfakPe">Canon</span> customer, your satisfaction with our products and service is very important to us. We are dedicated to doing our best to provide support of our products, warranties, and customers with the support options we have available to us.</p>
<p>We remain committed to gaining your confidence and business once again. If, in the future, you reconsider your decision regarding your <span class="nfakPe">Canon </span><span class="nfakPe">scanner</span>, we hope you will provide us with another opportunity to serve you. Until that time, we hope any replacement products perform to your expectations.</p>
<p>Thank you for contacting <span class="nfakPe">Canon</span>.</p></blockquote>
<p>Blah blah standard form response.  Guess I won&#8217;t make the mistake of buying their products again.</p>
<p>It looks like there might be hope, as <a href="mailto:ernst@juergen-ernst.de">Jürgen Ernst</a> is working on a <a href="http://www.juergen-ernst.de/info_sane.html">SANE backend for &#8220;CanoScan LiDE 600F&#8221;</a>, which would support the LiDE 70, too.  It&#8217;s ridiculous that users have to reverse-engineer their products&#8217; protocols in order to use them, when manufacturers could very easily make this information available for us to write drivers with at no cost to them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/09/09/canon-refuses-to-support-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Kensington VideoCAM</title>
		<link>http://www.endolith.com/wordpress/2008/09/09/kensington-videocam/</link>
		<comments>http://www.endolith.com/wordpress/2008/09/09/kensington-videocam/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 06:26:04 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=230</guid>
		<description><![CDATA[This is super old-school and likely no one has any use for it anymore, but I once mirrored the Kensington VideoCAM webcam Windows 2000/XP drivers from this site, which are no longer available online:

The Unofficial Source for Kensington VideoCAM Support
By Orson Teodoro [horsie619@aol.com]
http://www.geocities.com/trypt0/videocamsupport.html
The text of the website itself is available on the Wayback Machine, but [...]]]></description>
			<content:encoded><![CDATA[<p>This is super old-school and likely no one has any use for it anymore, but I once mirrored the <a title="Kensington Mobile Computing Accessories" href="http://www.kensington.com/">Kensington</a> VideoCAM webcam Windows 2000/XP drivers from this site, which are no longer available online:</p>
<blockquote><p>
<b>The Unofficial Source for Kensington VideoCAM Support<br />
By Orson Teodoro [<a href="mailto:horsie619@aol.com">horsie619@aol.com</a>]</b><br />
<a href="http://www.geocities.com/trypt0/videocamsupport.html">http://www.geocities.com/trypt0/videocamsupport.html</a></p></blockquote>
<p>The text of the website itself is available on <a href="http://web.archive.org/web/20051223142708/http://geocities.com/trypt0/videocamsupport.html">the Wayback Machine</a>, but the driver files are not.  So here are <a href="http://www.endolith.com/kensington/">the files I have</a>, including a <a title="Mirror of The Unofficial Source for Kensington VideoCAM Support" href="http://www.endolith.com/kensington/videocamsupport.htm">mirror of the original directions and driver list</a>.  Links to driver files I didn&#8217;t mirror are struck through.  (Sorry.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/09/09/kensington-videocam/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wine colors</title>
		<link>http://www.endolith.com/wordpress/2008/08/03/wine-colors/</link>
		<comments>http://www.endolith.com/wordpress/2008/08/03/wine-colors/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 20:57:08 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Development]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=46</guid>
		<description><![CDATA[Inspired by attempts to make Wine&#8217;s theme match the Human theme in Ubuntu, I tried to write a script to scrape colors from Gnome and apply them to Wine automatically, so the themes match no matter what theme you&#8217;re using in Gnome. (Of course it would be best to have actual theme support, but current [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by attempts to make <a href="http://www.winehq.org/">Wine</a>&#8217;s theme <a title="Ubuntu Wiki - &quot;ou can change the wine color scheme to closely match the default Ubuntu colors &quot;" href="https://help.ubuntu.com/community/Wine#Color%20Scheme">match the Human theme in Ubuntu</a>, I tried to write a script to scrape colors from <a href="http://www.gnome.org/">Gnome</a> and apply them to Wine automatically, so the themes match no matter what theme you&#8217;re using in Gnome. (Of course it would be best to have actual theme support, but current implementations are uselessly slow.  Making the color scheme match is a good start.)</p>
<h3 id="toc-download-script">Download script</h3>
<p>The latest version of the script is <a href="https://code.launchpad.net/~endolith/+junk/wine-color-scraper">posted on Launchpad</a>, though I haven&#8217;t exactly figured out how to use Bazaar yet&#8230;</p>
<p>As of this edit, it works pretty well for some themes, but not others.  I&#8217;ve been told that my first all-in-one attempt was in vain, since each GTK engine is free to use GTK&#8217;s colors in whatever way it wants, so scraping from GTK directly as I am doing will only work some of the time.  To really do it correctly, I guess I would have to make separate color mappings for each GTK engine.  That doesn&#8217;t sound like fun.</p>
<p>Making the fonts match is also important, which isn&#8217;t covered by the script.  You can see in my screenshots that I&#8217;ve set the winecfg fonts to match Gnome, but I can&#8217;t figure out how to set the others.</p>
<h3 id="toc-screenshots">Screenshots</h3>
<p>It works pretty well for Clearlooks themes:</p>
<div id="attachment_311" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-311" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/blue-clearlooks/"><img class="size-medium wp-image-311" title="blue-clearlooks" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/10/blue-clearlooks-300x131.png" alt="Blue Clearlooks theme with Tango icons" width="300" height="131" /></a><p class="wp-caption-text">Blue Clearlooks theme with Tango icons</p></div>
<div id="attachment_341" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-341" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/ubuntu-human1/"><img class="size-medium wp-image-341" title="ubuntu-human" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/10/ubuntu-human1-300x131.png" alt="Ubuntu Human theme" width="300" height="131" /></a><p class="wp-caption-text">Ubuntu Human theme</p></div>
<p>It (surprisingly) works pretty well for Ubuntu Studio&#8217;s theme:</p>
<div id="attachment_317" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-317" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/ubuntu-studio-all/"><img class="size-medium wp-image-317" title="ubuntu-studio-all" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/10/ubuntu-studio-all-300x300.png" alt="Ubuntu Studio theme" width="300" height="300" /></a><p class="wp-caption-text">Ubuntu Studio theme</p></div>
<p>At first I thought it wasn&#8217;t working for Darklooks, since Notepad looks nothing like Gedit, but then I noticed that certain GTK windows <em>do</em> look the same as Wine windows, so I have no idea what they&#8217;re doing with Darklooks:</p>
<div id="attachment_320" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-320" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/darklooks/"><img class="size-medium wp-image-320" title="darklooks" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/10/darklooks-300x291.png" alt="Darklooks theme" width="300" height="291" /></a><p class="wp-caption-text">Darklooks theme</p></div>
<p>There is apparently no way to scrape the title bar color from GTK (I&#8217;d have to go into each engine to figure out which colors they use), so I just have it using the selection color, which matches Clearlooks themes decently.  It&#8217;s a compromise anyway, since the drawing/shading/gradients of the title bars are completely different:</p>
<div id="attachment_321" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-321" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/human-full-windows/"><img class="size-medium wp-image-321" title="human-full-windows" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/10/human-full-windows-300x256.png" alt="Ubuntu Human theme with full Wine windows" width="300" height="256" /></a><p class="wp-caption-text">Ubuntu Human theme with full Wine windows</p></div>
<p>An example of an engine that doesn&#8217;t work is Resilience.  They use a different set of colors for the menus than the ones I am scraping, so the menu colors are not only mismatched, they are unreadable:</p>
<div id="attachment_322" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-322" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/resilience-bad/"><img class="size-medium wp-image-322" title="resilience-bad" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/10/resilience-bad-300x133.png" alt="Resilience theme" width="300" height="133" /></a><p class="wp-caption-text">Resilience theme</p></div>
<h3 id="toc-wine-color-values">Wine color values</h3>
<p>Although I <a href="http://ubuntuforums.org/showthread.php?p=5506889#post5506889">wasn&#8217;t immediately successful</a> with the script, I did figure out what all but one of the color values in the Windows/Wine registry do, which I couldn&#8217;t find in any concise list elsewhere. (In Windows registries, <code>"name"="data"</code> pairs are called &#8220;values&#8221;.  See <a title="Windows Registry - Wikipedia" href="http://en.wikipedia.org/wiki/Windows_registry#Keys_and_values">Windows Registry</a> on Wikipedia.)</p>
<p>Some of the Windows registry colors I could find online, but others I had to reverse engineer by changing the registry to obvious colors and restarting the Wine software/Windows.  I&#8217;ll explain them all here so you don&#8217;t have to go through the same work.  There are 31 possible color values, which are the same between Wine and Windows XP registries, but have different names in the <code>winecfg</code> configuration dialog (which is called <em>Configure Wine</em> in the Gnome <em>Applications</em> &gt; <em>Wine</em> menu under the <em>Desktop Integration</em> tab):</p>
<table border="1" cellspacing="0">
<tbody>
<tr>
<th>Wine/Windows registry</th>
<th><em>Wine Configuration</em> Item</th>
</tr>
<tr>
<td><code>ActiveBorder</code></td>
<td>Active Border</td>
</tr>
<tr>
<td><code>ActiveTitle</code></td>
<td>Active Title Bar</td>
</tr>
<tr>
<td><code>AppWorkSpace</code></td>
<td>Application Workspace</td>
</tr>
<tr>
<td><code>Background</code></td>
<td>Desktop</td>
</tr>
<tr>
<td><code>ButtonAlternateFace</code></td>
<td>Controls Alternate Background</td>
</tr>
<tr>
<td><code>ButtonDkShadow</code></td>
<td>Controls Dark Shadow</td>
</tr>
<tr>
<td><code>ButtonFace</code></td>
<td>Controls Background</td>
</tr>
<tr>
<td><code>ButtonHilight</code></td>
<td>Controls Highlight</td>
</tr>
<tr>
<td><code>ButtonLight</code></td>
<td>Controls Light</td>
</tr>
<tr>
<td><code>ButtonShadow</code></td>
<td>Controls Shadow</td>
</tr>
<tr>
<td><code>ButtonText</code></td>
<td>Controls Text</td>
</tr>
<tr>
<td><code>GradientActiveTitle</code></td>
<td>Active Title Bar Gradient</td>
</tr>
<tr>
<td><code>GradientInactiveTitle</code></td>
<td>Inactive Title Bar Gradient</td>
</tr>
<tr>
<td><code>GrayText</code></td>
<td>Gray Text</td>
</tr>
<tr>
<td><code>Hilight</code></td>
<td>Selection Background</td>
</tr>
<tr>
<td><code>HilightText</code></td>
<td>Selection Text</td>
</tr>
<tr>
<td><code>HotTrackingColor</code></td>
<td>Hot Tracked Item</td>
</tr>
<tr>
<td><code>InactiveBorder</code></td>
<td>Inactive Border</td>
</tr>
<tr>
<td><code>InactiveTitle</code></td>
<td>Inactive Title Bar</td>
</tr>
<tr>
<td><code>InactiveTitleText</code></td>
<td>Inactive Title Text</td>
</tr>
<tr>
<td><code>InfoText</code></td>
<td>ToolTip Text</td>
</tr>
<tr>
<td><code>InfoWindow</code></td>
<td>ToolTip Background</td>
</tr>
<tr>
<td><code>Menu</code></td>
<td>Menu Background</td>
</tr>
<tr>
<td><code>MenuBar</code></td>
<td>Menu Bar</td>
</tr>
<tr>
<td><code>MenuHilight</code></td>
<td>Menu Highlight</td>
</tr>
<tr>
<td><code>MenuText</code></td>
<td>Menu Text</td>
</tr>
<tr>
<td><code>Scrollbar</code></td>
<td>Scrollbar</td>
</tr>
<tr>
<td><code>TitleText</code></td>
<td>Active Title Text</td>
</tr>
<tr>
<td><code>Window</code></td>
<td>Window Background</td>
</tr>
<tr>
<td><code>WindowFrame</code></td>
<td>Window Frame</td>
</tr>
<tr>
<td><code>WindowText</code></td>
<td>Window Text</td>
</tr>
</tbody>
</table>
<p>In <em>Wine Configuration</em> there&#8217;s one more option called &#8220;Message Box Text&#8221;, but you can&#8217;t change its color. Some of these colors only appear in certain configurations, so they were hard to figure out.  Here are the functions of each, as near as I can determine:</p>
<h4 id="toc-buttons-and-3d-objects">Buttons and 3D objects</h4>
<p><a rel="attachment wp-att-159" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/buttons/"><img class="alignnone size-full wp-image-159" title="buttons" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/08/buttons.png" alt="" width="348" height="475" /></a></p>
<ul>
<li><code><span style="color: #ffff00;">ButtonHilight</span></code> &#8212; Outermost button highlight, also used for text shadows on grayed-out buttons</li>
<li><span style="color: #00ff00;"><code>ButtonLight</code></span> &#8212; Inner lit up edges of buttons, usually set to the same color as ButtonFace</li>
<li> <span style="color: #cccccc;"><code>ButtonFace</code></span> &#8212; Button background</li>
<li><span style="background-color: #cccccc; color: #000000;"><code>ButtonText</code></span> &#8212; Color for 3D object text and other glyphs (Maximize symbol, drop-down arrow, etc.)</li>
<li><span style="color: #ff0000;"><code>ButtonShadow</code></span> &#8212; Inner shadow of buttons, also used for grayed-out button text</li>
<li><span style="color: #0000ff;"><code>ButtonDkShadow</code></span> &#8212; Outermost shadow of buttons, usually black</li>
<li> <span style="color: #00ffff;"><code>WindowFrame</code></span> &#8212; The glow around the widget that is currently in focus</li>
</ul>
<p>These colors are also used for every other 3D object, like tabs, borders, drop-down boxes, etc.</p>
<p>I still can&#8217;t figure out what &#8220;<code>ButtonAlternateFace</code>&#8221; does.  This is used by the registry in Windows XP and in many Wine themes online.  (By default, no colors are defined in the Wine registry and it just adopts a Microsoft-esque color scheme, but they are defined in an actual Windows XP registry with the <a rel="attachment wp-att-73" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/windows-standard-xp-classic-colors/">default Windows Standard Classic theme</a>.)  As far as I can tell, the &#8220;<code>ButtonAlternativeFace</code>&#8221; value seen around the web is just a misspelling.</p>
<h4 id="toc-window-decorations">Window decorations</h4>
<p>The equivalent names for active and inactive windows aren&#8217;t instantly obvious in alphabetical order:</p>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td></td>
<th>Active window</th>
<th>Inactive window</th>
</tr>
<tr>
<th>Title bar text</th>
<td><code>TitleText</code></td>
<td><code>InactiveTitleText</code></td>
</tr>
<tr>
<th>Left end of title bar</th>
<td><code>ActiveTitle</code></td>
<td><code>InactiveTitle</code></td>
</tr>
<tr>
<th>Right end of title bar</th>
<td><code>GradientActiveTitle</code></td>
<td><code>GradientInactiveTitle</code></td>
</tr>
<tr>
<th>Window border</th>
<td><code>ActiveBorder</code></td>
<td><code>InactiveBorder</code></td>
</tr>
</tbody>
</table>
<h4 id="toc-menus">Menus</h4>
<p>There are actually two different ways to display menus; 3D menus and flat menus.  This is set by flipping one of the bits in the <code>UserPreferencesMask</code> value in <code>[HKEY_CURRENT_USERControl PanelDesktop]</code>, as described in <a href="http://blogs.msdn.com/tonyschr/archive/2004/05/10/129412.aspx">Tony Schreiner&#8217;s WebLog</a>.  I had no idea.  I don&#8217;t know why flat menus <a title="Bug 256520: Should use flat menus by default instead of 3D menus" href="https://bugs.launchpad.net/ubuntu/+source/wine/+bug/256520">aren&#8217;t the default in Wine</a>.  They seem better.</p>
<div id="attachment_126" class="wp-caption alignnone" style="width: 390px"><a rel="attachment wp-att-126" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/menus-3d/"><img class="size-full wp-image-126" title="menus-3d" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/08/menus-3d.png" alt="3D menus" width="380" height="260" /></a><p class="wp-caption-text">3D menus</p></div>
<div id="attachment_127" class="wp-caption alignnone" style="width: 390px"><a rel="attachment wp-att-127" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/menus-flat/"><img class="size-full wp-image-127" title="menus-flat" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/08/menus-flat.png" alt="Flat menus" width="380" height="260" /></a><p class="wp-caption-text">Flat menus</p></div>
<ul>
<li><span style="color: #ff00ff;"><code>Menu</code></span> &#8212; Background for menus, also background for menu bars in 3D mode</li>
<li> <span style="color: #00ffff;"><code>MenuBar</code></span> &#8212; Background for menu bars. Not seen with default 3D menus</li>
<li> <span style="color: #ffff00;"><code>MenuHilight</code></span> &#8212; Selected item background Highlight for flat menus.  Not seen in default 3D menu mode; <span style="color: #0000ff;"><code>Hilight</code></span> is used for this, instead.</li>
<li> <code>MenuText</code> &#8212; Menu text</li>
</ul>
<h4 id="toc-selections">Selections</h4>
<ul>
<li> <span style="color: #0a246a;"><code>Hilight</code></span> &#8212; Background of selected text, background of selected menu item in 3D menu mode</li>
<li><code>HilightText</code> &#8212; Selected text itself</li>
<li> <span style="color: #ffff00;"><code>HotTrackingColor</code></span> &#8212; Hover color for single-click navigation, like links or single-click mode in Windows Explorer</li>
</ul>
<div id="attachment_139" class="wp-caption alignnone" style="width: 192px"><a rel="attachment wp-att-139" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/hot-tracking-color/"><img class="size-full wp-image-139" title="hot-tracking-color" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/08/hot-tracking-color.png" alt="" width="182" height="269" /></a><p class="wp-caption-text">Hot tracking vs selection</p></div>
<h4 id="toc-tooltips">ToolTips</h4>
<ul>
<li><code>InfoText </code>&#8211; Tooltip text</li>
<li> <code>InfoWindow</code> &#8212; Tooltip background</li>
</ul>
<h4 id="toc-backgrounds">Backgrounds</h4>
<ul>
<li><code>AppWorkSpace</code> &#8212; Background color of multiple-document interface (any program that lets you Tile and Cascade sub-windows inside of a main window)</li>
<li><code> Background</code> &#8212; Background color of the Windows desktop (or virtual desktop in Wine)</li>
<li> <code>Window</code> &#8212; Background color of notepad, for instance</li>
</ul>
<h4 id="toc-scroll-bar">Scroll bar</h4>
<p><a rel="attachment wp-att-142" href="http://www.endolith.com/wordpress/2008/08/03/wine-colors/scrollbar/"><img class="alignnone size-full wp-image-142" title="scrollbar" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/08/scrollbar.png" alt="" width="500" height="366" /></a></p>
<ul>
<li> <span style="color: #00ff00;"><code>Scrollbar</code></span> &#8212; Background of scrollbar</li>
</ul>
<p>This is only visible in a few applications.  I see the color in Firefox, for instance, but not in Notepad, IE, MS Word, system tools, or anything else in Windows.  I don&#8217;t get it.</p>
<p>The scroll bar buttons and handles are just colored the same as any other 3D button, but the background of the bar is just a gray in most apps, no matter what you set this value to.</p>
<p>In Wine, it colors the bottom right corner of Notepad, between the scrollbars, but not the scrollbars themselves.  I&#8217;m not sure what this means.</p>
<h4 id="toc-text">Text</h4>
<ul>
<li> <code>WindowText</code> &#8212; Text in Notepad, for instance</li>
<li> <code>GrayText</code> &#8212; Grayed out text in windows, like labels for unavailable widgets</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/08/03/wine-colors/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Freeform object selection lassos</title>
		<link>http://www.endolith.com/wordpress/2008/06/29/object-selection-lassos/</link>
		<comments>http://www.endolith.com/wordpress/2008/06/29/object-selection-lassos/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 01:54:23 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Computer interfaces]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=39</guid>
		<description><![CDATA[Currently, to select objects in a GUI, such as icons in a file manager, you use the mouse to draw corners of a rectangle (called a &#8220;bounding box&#8221; or &#8220;rubber band&#8221; in the Gnome Human Interface Guidelines).  Often, though, you need to select multiple objects which aren&#8217;t in a single rectangular group.  To do this, [...]]]></description>
			<content:encoded><![CDATA[<p>Currently, to select objects in a GUI, such as icons in a file manager, you use the mouse to draw corners of a rectangle (called a &#8220;<a title="Gnome HIG 10.1.2.2. Bounding Box Selection" href="http://library.gnome.org/devel/hig-book/stable/input-mouse.html.en#bounding-box-selection">bounding box</a>&#8221; or &#8220;rubber band&#8221; in the <a href="http://library.gnome.org/devel/hig-book/stable/">Gnome Human Interface Guidelines</a>).  Often, though, you need to select multiple objects which aren&#8217;t in a single rectangular group.  To do this, you have to hold down the <strong>Ctrl</strong> key while drawing several different rectangles. For instance, you might want to select a block of icons, but not a few in either corner, because of the way they are ordered. which requires you to drag 3 or 4 rectangles.</p>
<p><a rel="attachment wp-att-44" href="http://www.endolith.com/wordpress/2008/06/29/object-selection-lassos/rectangularselection/"><img class="alignnone size-medium wp-image-44" title="rectangularselection" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/07/rectangularselection-300x841.png" alt="" width="300" height="841" /></a></p>
<p>It would be easier to just outline the ones you want.  Instead of rectangles, it should be possible to select objects by drawing a free-form lasso around them.  This would also be easier to grasp for the less technically-inclined (who probably don&#8217;t even know the <strong>Ctrl</strong> key exists).</p>
<p><a rel="attachment wp-att-43" href="http://www.endolith.com/wordpress/2008/06/29/object-selection-lassos/lassoselection/"><img class="alignnone size-medium wp-image-43" title="lassoselection" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/07/lassoselection-300x280.png" alt="" width="300" height="280" /></a></p>
<p>As shown, a line would be drawn back to the starting point to complete the selection, so you don&#8217;t have to draw the entire outline.  The line that you draw should be simplified as you draw it, on the order of the size of one icon, so as not to be messy, since we don&#8217;t need any more precision than a single icon anyway.  It should also be possible to &#8220;backtrack&#8221;; if you draw backwards within a certain width of the line you already drew, it will erase it, so as to de-select something you accidentally went around.</p>
<p>Obviously this idea of selecting multiple objects with a lasso instead of rectangles is applicable to more than just Nautilus File Manager.</p>
<ul>
<li><a title="Bug 470513 – Select files with lasso" href="http://bugzilla.gnome.org/show_bug.cgi?id=470513">Nautilus Bug 470513</a>: Select files with lasso</li>
<li><a href="https://bugs.launchpad.net/nautilus/+bug/174082">Launchpad Bug 174082</a>: Should be able to select files with lasso instead of rectangle</li>
</ul>
<p><a href="http://brainstorm.ubuntu.com/idea/12990/"><img src="http://brainstorm.ubuntu.com/idea/12990/image/1/" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/06/29/object-selection-lassos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WordPress madness</title>
		<link>http://www.endolith.com/wordpress/2008/06/21/wordpress-madness/</link>
		<comments>http://www.endolith.com/wordpress/2008/06/21/wordpress-madness/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 00:40:08 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[This site]]></category>

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

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

		<guid isPermaLink="false">http://www.endolith.com/wordpress/?p=35</guid>
		<description><![CDATA[So I&#8217;ve been trying out WordPress, but having lots of problems.  Here are the two most recent:

Not being able to insert the text &#8220;convert (from&#8221; &#8212; even with other characters in the middle &#8212; without getting a 403 error.  Not being able to insert images without getting a 403 error.  I had to create [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been trying out WordPress, but having lots of problems.  Here are the two most recent:</p>
<ul>
<li>Not being able to insert the text &#8220;convert (from&#8221; &#8212; even with other characters in the middle &#8212; without getting a 403 error.  Not being able to insert images without getting a 403 error.  I had to create a <em>.htaccess</em> file in my <em>wp-admin</em> directory.  <a href="http://wordpress.org/support/topic/181220">Support thread here.</a></li>
<li>Not being able to insert special characters without them being converted into question marks on pressing Save.  I had to convert the mySQL database to UTF-8, which was created as Latin encoding by default.  This screwed up all my posts, but I made backups first.  <a href="http://wordpress.org/support/topic/183358">Support thread here.</a></li>
</ul>
<p>This really isn&#8217;t working out the way I expected it to.  Spending much more time maintaining WordPress itself than I would have spent maintaining a bunch of hand-written web pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/06/21/wordpress-madness/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BitScope</title>
		<link>http://www.endolith.com/wordpress/2008/06/17/bitscope/</link>
		<comments>http://www.endolith.com/wordpress/2008/06/17/bitscope/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 04:14:35 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Electronics]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://endolith.com/wordpress/?p=21</guid>
		<description><![CDATA[All about my BitScope pocket USB oscilloscope, including repair and use under Linux.]]></description>
			<content:encoded><![CDATA[<p>I have an old 2-channel analog oscilloscope, but it’s not very convenient and doesn’t have any storage capabilities, making it really difficult to measure transients or things that happen long after the trigger.</p>
<p><a rel="attachment wp-att-23" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/129513652_d3387f5e1d_o/"><img class="alignnone size-medium wp-image-23" title="Analog oscilloscope" src="http://endolith.com/wordpress/wp-content/uploads/2008/06/129513652_d3387f5e1d_o-300x168.jpg" alt="LIZEN LAS-5020 20 MHz 2-channel analog oscilloscope" width="300" height="168" /></a></p>
<p>I looked around at different options and decided a USB scope would be nice to have.  Since I’ve started using predominantly <a href="http://www.ubuntu.com/">Ubuntu Linux</a> at home, but Windows XP at work, I wanted something that would work in both operating systems.  The <a title="BitScope digital oscilloscope" href="http://www.bitscope.com/">BitScope</a> seemed to be what I wanted, but is quite expensive, with even the <a title="BS50 BitScope Pocket Analyzer" href="http://www.bitscope.com/product/BS50/">cheapest pocket analyzer</a> at <a title="Price list" href="http://www.bitscope.net/store/?p=list&amp;a=list&amp;i=cat+0">$475</a>. (My old analog scope was less than $50 on eBay.)  With the help of a saved eBay search for “bitscope”, though, I eventually ended up finding one for 1/3 the normal price.</p>
<p><a rel="attachment wp-att-28" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/img_0763/"><img class="alignnone size-medium wp-image-28" title="BitScope BS50U Pocket Analyzer" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/06/img_0763-300x202.jpg" alt="Photograph of BitScope BS50U Pocket Analyzer" width="300" height="202" /></a></p>
<p>As is often the case with deals like this, the unit didn’t work when I got it.</p>
<h3 id="toc-repair">Repair</h3>
<p>The seller said it worked fine for him, so I poked around some more.  I tried it in Windows and it didn’t work there, either.  I went to Gnome System Log (/var/log/messages), and saw this among the messages it displays when I plug it in:</p>
<pre>Jun  1 23:18:24 Inspiron kernel: [53398.974351] hub 1-0:1.0: over-current change on port 1</pre>
<p>Aha.  It’s drawing too much current from the USB bus and getting shut down.  This is the sort of thing I design at work, so I should know how to fix this.  I found a compatible DC power supply (12 VDC, 800 mA, 2.5 mm center positive) and tried it with that, and it worked!  It also worked when I first plugged it into the external supply, then plugged in the USB cable, and then disconnected the external supply.  So it seemed like an inrush current problem rather than a short circuit/bus power problem.</p>
<p>(According to <a title="USB 2.0 Specification" href="http://www.usb.org/developers/docs/">the USB spec</a>, devices cannot draw more than 100 mA in an unconfigured state, except for a brief inrush current spike, but the amount of excess charge during that spike is limited to 50 µC.  In other words, you aren’t allowed to put more than 10 µF across the VBUS line to ground.  A lot of USB device manufacturers ignore these requirements, and most computers don’t care, but my Dell Inspiron 8600 seems to be especially picky.)</p>
<p>The BitScope website emphasizes the fact that it’s <a title="BitScope - OPEN DESIGN" href="http://www.bitscope.com/about/?p=design">&#8220;open design hardware&#8221;</a>, but there were no schematics for this unit on their web site, and the eBay purchase didn’t include a manual.  So I wrote to the company and asked for help.  They were very helpful, going so far as to scan in a manual and convert it to PDF for me:</p>
<ul>
<li><a title="BitScope BS50U manual and schematic" href="http://www.bitscope.com/download/files/BS50U-manual.pdf">BitScope BS50U manual and schematic</a></li>
</ul>
<p>The company told me there’s a “slow-start” circuit, but it’s more of a “delayed start”.  While plugging in USB, the PWREN pin on the USB FIFO (<a title="FT245BM, FT245BL &amp; FT245BQ - USB FIFO ICs" href="http://www.ftdichip.com/Products/FT245BM.htm">FT245BM</a>) is brought high immediately.  This keeps the PMOS switch <a title="IRF7314Q HEXFET Power MOSFET (PDF)" href="http://www.irf.com/product-info/datasheets/data/irf7314q.pdf">IRF7314Q</a> open, so no current can flow from VBUS into the rest of the circuit.  After initialization, the PWREN pin snaps low, opening the PMOS switch and connecting 47 µF directly across VBUS to ground.  My computer doesn’t like this much current, and presumably shuts down the FIFO, evidenced by the PWREN pin going high again about 8 ms later.  (Remember that I am just eyeing this up on an analog scope with no storage ability.  Thankfully, Linux was kind enough to continually re-initialize the USB port, trying to connect and failing over and over again, so I didn’t have to keep plugging and unplugging the USB cable manually while holding the probes against the relevant pins.)</p>
<p>After realizing this, I decided I should try to make the FET open up a little more slowly so the current into the cap is not so high.  So I connected a 1 µF cap (time constant of 10 ms) from the gate of the FET to ground.  It worked!  But when I looked at the system log, it was still showing the over-current error.  In fact, it looked like it got the over-current error, shut down, re-initialized, and then started correctly, probably because the cap was still charged from the previous attempt.  Then I realized what I had done.  By putting the cap to ground, the FET was held closed during startup, so there was still an inrush spike while plugging in, instead of after initialization. So I connected the cap between the gate and VBUS instead:</p>
<p><a rel="attachment wp-att-26" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/bs50u-usb-schematic-fix/"><img class="alignnone size-medium wp-image-26" title="BS50U USB fix schematic" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/06/bs50u-usb-schematic-fix-300x189.png" alt="A 1 uF capacitor is connected between VBUS and the gate of the FET" width="300" height="189" /></a></p>
<p><a rel="attachment wp-att-27" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/img_0806/"><img class="alignnone size-medium wp-image-27" title="BitScope repaired with capacitor" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/06/img_0806-300x180.jpg" alt="Photo of a 1 uF capacitor soldered between VBUS and the gate of the FET" width="300" height="180" /></a></p>
<p>Now the gate is pulled up instantly along with VBUS at plug-in, but when PWREN goes low, the FET gate voltage is slowly dropped down, so it doesn’t open fully until after ~10 ms.  Now it works on bus power with the laptop, and doesn’t complain about over-current at all.</p>
<h3 id="toc-software">Software</h3>
<p>After getting the electronics working, I started up <a title="Download BitScope DSO software" href="http://www.bitscope.net/download/?p=1&amp;i=049+050">the DSO software</a>.</p>
<p>You have to download and install <em>kylixlibs3-borqt</em> along with the BitScope DSO software or it won’t work.  I used the BitScope-maintained <em>kylixlibs3-borqt_3.0.2bs-1_i386.deb</em> package from <a title="Download BitScope files" href="http://www.bitscope.net/download/?p=1">the download page</a>.  Other .deb files are available from <a title="kylixlibs :: Downloads" href="http://kylixlibs.sourceforge.net/down.html">the <em>kylixlibs </em>SourceForge site</a>, but I don’t know if they work for this.</p>
<p>So then it continually popped up the .csv import screen, indicating that it can’t connect to the hardware.  Eventually I figured out that I had the wrong thing entered in the configuration dialog.  Press the <em>SETUP</em> button and put <code>/dev/ttyUSB0</code> in the <em>IP Address or Port</em> box under the <em>Setup</em> tab.</p>
<p><a rel="attachment wp-att-24" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/screenshot-dso/"><img class="alignnone size-medium wp-image-24" title="BitScope DSO configuration screenshot" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/06/screenshot-dso-300x173.png" alt="Screenshot showing \" width="300" height="173" /></a></p>
<p>I had tried just <code>ttyUSB0</code> alone and <a title="Ubuntu Forums thread about DSO" href="http://ubuntuforums.org/showthread.php?t=73751&amp;page=2#16">it wasn’t working</a>.</p>
<h3 id="toc-launcher">Launcher</h3>
<p>After getting it working, I made a Launcher for the main panel.  Right-click <em>Applications</em>, click <em>Edit Menus</em>, go to the <em>Other</em> menu, press <em>New Item</em>.</p>
<p><a rel="attachment wp-att-22" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/screenshot-launcher-properties/"><img class="alignnone size-medium wp-image-22" title="GNOME Launcher for BitScope DSO" src="http://endolith.com/wordpress/wp-content/uploads/2008/06/screenshot-launcher-properties-300x134.png" alt="" width="300" height="134" /></a></p>
<p>I got the real icon out of the Windows version, which you can download directly here:</p>
<p><a rel="attachment wp-att-25" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/bitscopedso/"><img class="alignnone size-medium wp-image-25" title="BitScope DSO icon" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/06/bitscopedso.ico" alt="Icon file for BitScope DSO" /></a></p>
<p>There’s also a decent <a title="Free oscilloscope icon" href="http://www.jiawen.net/wave_2b.png">free scope icon</a> on <a title="Rachel's pages - Linux Notes" href="http://www.jiawen.net/linuxbits.html">Rachel’s pages</a>.</p>
<h3 id="toc-it-works">It works!</h3>
<p>My body has a built-in signal generator:</p>
<p><a rel="attachment wp-att-29" href="http://www.endolith.com/wordpress/2008/06/17/bitscope/screenshot-bitscope-dso-13-1/"><img class="alignnone size-medium wp-image-29" title="BitScope DSO 1.3 screenshot" src="http://www.endolith.com/wordpress/wp-content/uploads/2008/06/screenshot-bitscope-dso-13-1-300x234.png" alt="" width="300" height="234" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2008/06/17/bitscope/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Abolish the saving of documents</title>
		<link>http://www.endolith.com/wordpress/2007/12/24/abolish-the-saving-of-documents/</link>
		<comments>http://www.endolith.com/wordpress/2007/12/24/abolish-the-saving-of-documents/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 21:06:13 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Computer interfaces]]></category>

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

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

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

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

		<guid isPermaLink="false">http://endolith.com/wordpress/2007/12/24/abolish-the-saving-of-documents/</guid>
		<description><![CDATA[The status quo
The modern computing paradigm:

 Documents are created and saved, then opened, modified, and saved again to the same filename.
While opened, a document can be modified.  Many programs have an undo button to revert to one or more previous states.  New modifications can then be made, and the document saved and closed. [...]]]></description>
			<content:encoded><![CDATA[<h3 id="toc-the-status-quo">The status quo</h3>
<p>The modern computing paradigm:</p>
<ul>
<li> Documents are created and saved, then opened, modified, and saved again to the same filename.</li>
<li>While opened, a document can be modified.  Many programs have an <em>undo</em> button to revert to one or more previous states.  New modifications can then be made, and the document saved and closed.  (When you close the application, these undo revisions are lost.)</li>
<li>In programs like Microsoft Office, the changes you make to a document are incrementally saved as temporary files, so that if the application crashes, you can usually retrieve most of your work since you last saved it.  (When you intentionally close the application, these temporary files are lost.)</li>
<li> Some programs (wikis, Google Docs, Adobe Acrobat, Microsoft Word, OpenOffice Word Processor) greatly smooth collaboration by allowing changes to a document to be tracked under the name of the person who made those changes, so others can see what was changed and the differences between each contributor&#8217;s revision.</li>
<li> When you&#8217;re working on a document, and take a short break to start working on something else, you minimize or otherwise hide the application that the document is open in.</li>
<li> When you&#8217;re working on a document, and take a long break to work on something else or turn off the computer, you save the document and close the application that the document is open in.  You then re-open the application and document manually when you want to work on it again.</li>
</ul>
<p>But wait.  Think about it&#8230;</p>
<p>Aren&#8217;t these all really just variations on the same theme?</p>
<h3 id="toc-continuous-archival">Continuous archival</h3>
<p>In the future, I imagine that the whole concept of saving documents by hand will be abolished, and a new concept that takes all of these related ideas into account will evolve.  The sooner we can push for this, the better.</p>
<p>Instead of manually saving files, closing applications, and re-opening them to continue working on a document, the state of the program and document will be transparently, continuously saved.  Every time you make a change to the document or its settings, that change will be recorded, allowing you to access all previous revisions of the document.  &#8220;Revision control&#8221;, &#8220;undo/redo&#8221;, &#8220;track changes&#8221;, &#8220;recovery files&#8221;, and &#8220;autosave&#8221; will all be combined into the same thing.</p>
<p>Instead of pressing <em>Save</em>, you might press something like <em>Mark</em>, <em>Milepost</em>, or <em>Commit</em>; something to indicate that this is a version you consider stable and that you might want to return to.  (This is kind of like the difference between previewing and saving in a wiki.)  Minor revisions might still be saved, too, but when you want to go back to a previous revision, you&#8217;d be able to focus on these major &#8220;mile markers&#8221;.  (You could also go back and remove or add these &#8220;milepost&#8221; tags to specific revisions after the fact.)</p>
<p>Conscious maintenance of the files and program state will no longer be necessary.  These are really just system-level details derived from historical needs that the user should not have to worry about.  All the user should be concerned about is the state of their work.</p>
<h3 id="toc-revision-trees">Revision trees</h3>
<p>One problem with traditional undo commands is that you can&#8217;t undo an undo.  Say you&#8217;re using a graphics program, and you carefully draw a red star, undo it, and then draw a blue circle instead.  Then you change your mind and want the red star back.  Too bad.  When you undid it and made a change to the document, the previous redo action was lost forever.  You&#8217;ll have to draw the red star from scratch again, since your revisions can&#8217;t branch.</p>
<p>Ideally, you could still press <em>Undo</em> or <em>Revert</em>, but the application wouldn&#8217;t just be saving the previous edits in memory and going back a step; each change would be saved permanently.  You could &#8220;close&#8221; an application and re-open it, and still undo that color correction that didn&#8217;t look quite right and redo it from the original image data.  But the change that you reverted would be saved, too.  You&#8217;d be creating a fork in the revision history, a branch in the revision tree, and if you undo something and make another modification, you can still go to the thing you undid, too.  You could change your mind and keep <em>both</em> the blue circle and the red star.</p>
<p>If you want, you can fork a particular revision to an entirely new name.  You might want to make a February newsletter based on January&#8217;s, for instance, and keep January&#8217;s as a separate file.</p>
<h3 id="toc-collaboration">Collaboration</h3>
<p>Edits that you make to the file would have a personal identifier attached to them (hostname/username? personal URN?), and you could optionally share parts of the revision history with other people, so that when they modify the document, you can view the differences between each version and see who made each edit.</p>
<p>This would also be useful when a script, package manager, or other system agent makes a change to a system file, as the change would be logged under the script&#8217;s name, date, and time, just like a human collaborator.  When I (or something else) changes a system configuration file and it hoses my system, I will be able to revert to the last version or see what change caused the problem, without requiring me to make intentional backups manually or rename files.</p>
<p>This is good for sharing files because it allows collaboration.  This is not so good for sharing files because:</p>
<ul>
<li>All those revision diffs take up space and bandwidth</li>
<li>Revisions might contain things you don&#8217;t want other people to see</li>
</ul>
<p>So I imagine that the revisions would be tagged &#8220;private&#8221; by default (more on tag-based filesystems later), and when you publish a document or send a file to someone, you would have to consciously choose to send the revision information as well.  The default would be to send only the most recent stable revision (another place where the <em>Commit</em> button comes in):</p>
<blockquote><p>You&#8217;re sending a file, but you&#8217;ve made further changes to this document since you last pressed <em>Commit</em>.  Are you sure you want to send this version, or do you want to include the latest changes, too?</p></blockquote>
<h3 id="toc-setting-things-aside">Setting things aside</h3>
<p>I mentioned being able to undo a change to a document even after you&#8217;ve closed the application it is in.  But then, why would we even need the concept of &#8220;closing&#8221; an application?  If we&#8217;ve been successful in removing the distinction between &#8220;save/close/open&#8221; and &#8220;undo/redo&#8221;, then &#8220;close&#8221; and &#8220;minimize&#8221; are just variations on the same action: &#8220;put aside for now&#8221;.  The only difference between these actions is the way the processor and memory handles them.  So let&#8217;s get rid of this system-level distinction, too.</p>
<p>When you close an application or minimize it, what are you really doing?  You&#8217;re just putting it out of sight while you work on something else.</p>
<p>I imagine that the system will become much more document-centric.  I imagine that documents, disparate in format but related in concept, could be grouped into &#8220;projects&#8221; with tags, and you&#8217;d minimize/close the entire project to work on a different project, and then return to the project later.  Instead of &#8220;minimizing&#8221; something, you&#8217;d be filing it away for working on at an indefinite later time.  Instead of a taskbar that shows currently-open applications, you&#8217;d have a &#8220;project bar&#8221; that shows most recently worked-on projects.  As you open something new, the oldest will &#8220;fall off&#8221; the end.  (More on project-based workflow later.)</p>
<p>It already seems like a program that hasn&#8217;t been touched in a while gets &#8220;filed away&#8221; on the hard drive.  If I come back to an application after hours spent doing something else, it&#8217;s apparent that the state of the program has to be loaded from the hard drive instead of memory, which was being used for other things.  It &#8220;feels&#8221; as if the program&#8217;s progress is being reloaded from more permanent storage.   So all this memory management and such could be handled automatically, so that there&#8217;s effectively no difference between minimizing an application for a few hours and closing it for a few hours.</p>
<h3 id="toc-implementation">Implementation</h3>
<p>I&#8217;m not thinking too hard about how this grand scheme would be physically implemented; just thinking about what I would like to see from the user standpoint.</p>
<p>In the time between now and this future, we&#8217;ll have to deal with things like system files, which can&#8217;t really be automatically saved in an intermediate state.  You really want to make the changes, triple check that there are no errors, and <em>then</em> save.  (This is the major reason I&#8217;m afraid to use <a id="kgfj" title="Scribes - Simple And Powerful Text Editor for GNOME" href="http://scribes.sourceforge.net/">Scribes</a>, for instance.)  Automatic saving to the &#8220;original file location&#8221; doesn&#8217;t work here, though revision control would still be useful.  This is another place where the <em>Milestone</em> or <em>Commit</em> button would come in.</p>
<p>Maybe the revision diffs would be stored in a separate physical file anyway.  (Maybe the file system could even make this system compatible with older programs that don&#8217;t support it directly, by creating virtual folders for each file with the previous revisions represented as datestamped files, and the filesystem would assemble the older revision from the diffs on the fly when asked to load them.)</p>
<p>On the practical side, (bigger?) files will be saved using delta compression, so that only the current reversion and differences between previous revisions actually take up space on the drive.  But hard drives are cheap, and will just get insanely cheaper over time.  (Today, the average American can buy more than 50 billion characters of storage for an hour of labor.)  So the space incurred by something like this for plain text, formatted text, HTML, and similar documents is completely negligible.</p>
<p>I&#8217;m sure there are algorithms for generating diffs of non-text files, too.  Rsync can do this sort of thing, though it&#8217;s optimized for transmission over the network.  Something optimized for dealing with disk sectors would probably be more efficient here. Really big binary files are rarely changed by the user, anyway.  People doing full-length video editing have other ways of dealing with this stuff.  I&#8217;m thinking more along the lines of text documents, spreadsheets, photos, drawings, mp3 tags, system configuration files, code, and so on.  Of course the exact details would have to be optimized by someone who actually knows what they&#8217;re doing.  <img src='http://www.endolith.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I&#8217;m sure all of this has been proposed in some form or other.  It&#8217;s inspired by wikis, which have the <a title="Wikipedia: Revision control" href="http://en.wikipedia.org/wiki/Revision_control">revision control</a> and multiple editors feature.  Some allow reverting to previous versions, which allows undo/redo forking, though this isn&#8217;t clearly shown as a revision tree.  Google Documents implements a lot of this now.  I&#8217;m not really a programmer, and I&#8217;ve never been directly involved with CVS or subversion or anything like that, but I get the impression that these systems do a lot of this, including the revision trees.</p>
<p>But now let&#8217;s apply this to our own computers, in an intuitive usable way.  All of these different concepts should be combined into one and applied to the documents and applications on my computer&#8217;s native interface that I use every day.  The file paradigm on personal computers hasn&#8217;t really changed in decades.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2007/12/24/abolish-the-saving-of-documents/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The desktop metaphor is stupid</title>
		<link>http://www.endolith.com/wordpress/2007/12/24/the-desktop-metaphor-is-stupid/</link>
		<comments>http://www.endolith.com/wordpress/2007/12/24/the-desktop-metaphor-is-stupid/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 20:31:08 +0000</pubDate>
		<dc:creator>Endolith</dc:creator>
		
		<category><![CDATA[Computer interfaces]]></category>

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

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

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

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

		<guid isPermaLink="false">http://endolith.com/wordpress/2007/12/24/the-desktop-metaphor-is-stupid/</guid>
		<description><![CDATA[My girlfriend is showing me images on her computer (she uses an Apple because it&#8217;s &#8220;simple&#8221;).  After we view all of the files, which are scattered across her computer&#8217;s desktop in a random pattern, I watch as she grabs one with the mouse and drags it onto the corner of the desktop.  She [...]]]></description>
			<content:encoded><![CDATA[<p>My girlfriend is showing me images on her computer (she uses an Apple because it&#8217;s &#8220;simple&#8221;).  After we view all of the files, which are scattered across her computer&#8217;s desktop in a random pattern, I watch as she grabs one with the mouse and drags it onto the corner of the desktop.  She then drags one file after another onto the same spot, making a pile.  Later, she&#8217;ll move them one by one out of that pile in order to look at them again.</p>
<p>Pretty much every window manager uses the <a id="u_:a" title="Wikipedia: Desktop metaphor" href="http://en.wikipedia.org/wiki/Desktop_metaphor">desktop metaphor</a> of overlapping documents in a messy pile.  The desktop metaphor was a dumb idea <a id="qwa1" title="Commodor Magic Desk" href="http://www.museo8bits.com/anuncios/c64_it4.jpg">when it was introduced</a>, and <a id="vd79" title="Bumptop 3D Desktop" href="http://bumptop.com/">it&#8217;s still a dumb idea now</a>.  Computers allow us to interact with documents in much richer, more powerful ways than pretending that they&#8217;re a mess of overlapping papers on our desk.</p>
<p>Why do we allow icons and windows to overlap?  Why would anything <em>ever</em> overlap?  It&#8217;s a useless functionality.  When one window is overlapped partially by another, it&#8217;s usually the case that enough content is hidden by the overlap that it makes the visible content useless and just wasting screen space; you can read half a sentence, but the other half is hidden behind the focused window.  You have to switch back to the partially-covered window anyway in order to continue using it, so why not just keep it entirely hidden?</p>
<p>We know that this is suboptimal, yet we continue to use it. The computer interface should maximize the usefulness of the information it presents to us.  Windows should try to take up as much screen space as they can without infringing on other windows.  Don&#8217;t overlap the windows, but try not to leave any wasted space, either.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endolith.com/wordpress/2007/12/24/the-desktop-metaphor-is-stupid/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
