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

<channel>
	<title>The Cafes &#187; Tools</title>
	<atom:link href="http://cafe.elharo.com/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://cafe.elharo.com</link>
	<description>Longer than a blog; shorter than a book</description>
	<lastBuildDate>Sat, 30 Mar 2013 11:51:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Setting Up My Home Office</title>
		<link>http://cafe.elharo.com/tools/setting-up-my-home-office/</link>
		<comments>http://cafe.elharo.com/tools/setting-up-my-home-office/#comments</comments>
		<pubDate>Mon, 19 May 2008 01:19:32 +0000</pubDate>
		<dc:creator>Elliotte Rusty Harold</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://cafe.elharo.com/tools/setting-up-my-home-office/</guid>
		<description><![CDATA[I&#8217;m realizing that my productivity since I moved has been severely reduced by the setup of my loft here in Irvine compared to the office I had back in Brooklyn. Herewith are some resolutions and plans for fixing that. Suggestions are appreciated. 1. Fix the Carpet The shag carpet everywhere in this apartment is evil. [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m realizing that my productivity since I moved has been severely reduced by the setup of my loft here in Irvine compared to the office I had back in Brooklyn. Herewith are some resolutions and plans for fixing that. Suggestions are appreciated.</p>
<p><img src='http://cafe.elharo.com/wp-content/uploads/2008/05/homeoffice.jpg' alt='Loft office with shag carpet and Aeron chair, quite messy' width='640' height='480' /><br />
<span id="more-256"></span></p>
<h3>1. Fix the Carpet</h3>
<p>The shag carpet everywhere in this apartment is evil. It needs to be ripped up and replaced; or alternately, covered with some very solid, rigid plastic or wood flooring. Shag carpet is not suitable for an office.</p>
<p>I can get a decent 4&#8242; x 8&#8242; board or two at Lowes that should suffice, if I can just figure out how to fit that in my Prius. (I just knew I was going to regret not buying the pickup truck. <img src='http://cafe.elharo.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<h3>2. Turn on the A.C.</h3>
<p>The problem with a loft office is that heat rises. The central air conditioning in this place is not very effective. I need to improve it, or keep it running more of the time.  </p>
<h3>3. Buy a New Chair</h3>
<p>My Aeron is just too old and decrepit. It lasted a while, but I need a new one, or something better. This won&#8217;t matter though unless I fix the floor first. (See #1.)</p>
<p>I&#8217;m willing to consider non-traditional chairs (kneeling chairs, recliners, etc.) but it might need to be in conjunction with a new desk. I&#8217;ll only try this if I can really try it out at a store first though.</p>
<p>Desk wise, what I want doesn&#8217;t seem to exist (and I&#8217;ve looked). I want a fully adjustable desk. I want to be able to independently and easily move the monitors, keyboard, and mouse to exactly where I want them, within a millimeter or two; up and down, backwards and forwards, and possibly tilting them as well. Anything that&#8217;s a fixed height is almost certainly not the right height for me, on at least one axis. </p>
<p>On the other hand, the one piece of my current setup that really works adequately is the table I use as a desk. It&#8217;s a big board from IKEA on top of some adjustable height legs normally used by musicians. If I can&#8217;t find anything better, this will continue to serve. </p>
<p>I should probably also get an extra table for random paperwork, books, disks, and other office flotsam. However, this will be less helpful if I can&#8217;t roll my chair over to it. </p>
<h3>4. Buy a New Mouse</h3>
<p>Done, but the Logitech I bought just isn&#8217;t cutting the mustard. The response is too linear. I need to go back to a <a href="http://www.amazon.com/exec/obidos/ISBN=B000GOUE7O/ref=nosim/cafeaulaitA ">Microsoft Intellimouse</a>. Nothing else feels right.</p>
<h3>5. Buy a KVM</h3>
<p>I need to be able to access several systems easily without switching all my cables around. I need at least 2 setups and maybe 4: Mac, Linux, and PC. </p>
<p>The problem is most KVMs are stuck in 1998: VGA displays and PS/2 mice. Does anyone even use those any more? All my systems are DVI and USB. The <a href="http://www.amazon.com/exec/obidos/ISBN=B000RH2M7U/ref=nosim/cafeaulaitA ">Belkin Flip</a> might be a start, but is there a 4-port version?</p>
<h3>6. Buy an External Hard Drive</h3>
<p>Well, really, buy some more. One thing I didn&#8217;t expect from the move was that I have now shifted over to my X86 MacBook as my primary system. Aside from some minor Warcraft glitches, it performs as well as my old dual G5 desktop, which I now rarely turn on. However it is lacking the hard drive capacity of the G5. I need to figure out which of my files really don&#8217;t need to be with me all the time, and move them onto an external drive.</p>
<p>The tricky part is that a lot of what really needs to move is my media. That is, my iTunes and iPhoto libraries. However I don&#8217;t want to move all of it. Some of it needs to stay with me. Is there a way to split these libraries across multiple physical disks? Another large folder that really needs to be split into occasional and essential contents is my Applications folder.</p>
<h3>7. Get Virtualization Running</h3>
<p>Figure out why Parallels is <a href="http://www.elharo.com/blog/mac/2008/01/20/dissing-parallels/http://www.elharo.com/blog/mac/2008/01/20/dissing-parallels/">non-functional</a>.</p>
<p>Or install VMWare.</p>
<p>Or get Bootcamp going.</p>
<p>If I can get all that done, then maybe I&#8217;ll finally be able to start doing some real work at home. I would even be willing to pay an ergonomics consultant or interior designer if they could find me a setup I&#8217;m comfortable with. But it has to start with replacing this damn shag carpet!</p>
]]></content:encoded>
			<wfw:commentRss>http://cafe.elharo.com/tools/setting-up-my-home-office/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Ant Tip 1: Write a master build file</title>
		<link>http://cafe.elharo.com/blogroll/ant-tip-1-write-a-master-build-file/</link>
		<comments>http://cafe.elharo.com/blogroll/ant-tip-1-write-a-master-build-file/#comments</comments>
		<pubDate>Mon, 09 Jan 2006 13:26:24 +0000</pubDate>
		<dc:creator>Elliotte Rusty Harold</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://minicafe.elharo.com/java/ant-tip-1-write-a-master-build-file/</guid>
		<description><![CDATA[Many Java projects are divided into multiple subprojects or modules, each in its own directory. Often you&#8217;ll want to build subprojects individually, without necessarily building all of the larger master project. For example, in my XOM project, I have one master build.xml file that builds the software itself, and another build.xml file in the web [...]]]></description>
				<content:encoded><![CDATA[<p>Many Java projects are divided into multiple subprojects or modules, each in its own directory. Often you&#8217;ll want to build subprojects individually, without necessarily building all of the larger master project. For example, in my XOM project, I have one master build.xml file that builds the software itself, and another build.xml file in the web directory that builds the web site. jEdit is divided into separate jedit, jeditshell, macros, and plugins directories, each of which has its own build.xml file.  </p>
<p>Furthermore, projects may have dependencies on other projects. For instance XOM 1.1, JDOM, and dom4j all depend on Jaxen. For the latest and greatest JAR, Jaxen should be rebuilt using its own build.xml file, rather than bundling a stale JAR archive that&#8217;s months or even years beyond its expiration date.</p>
<p>You could<br />
<samp>cd</samp>
<p> into each separate diretory and type<br />
<samp>ant compile</samp>
<p> in each one, but that&#8217;s time conmsuming and error prone. Plus interproject dependencies may require this to be done in a precise order that makes this even more error-prone. It&#8217;s preferable to create a master build file at the top level that compiles everything by invoking targets in the other build files. The <a href="http://ant.apache.org/manual/CoreTasks/ant.html">ant task</a> lets you do this. For example, this task executes the build.xml file in the directory <tt>website</tt> (relative to the directory where the current build.xml file is) :<br />
<span id="more-28"></span></p>
<pre>  &lt;target name="website" depends="init" description="Build the website">
    &lt;ant dir="website">
  &lt;/target></pre>
<p>If the build file is named anything other than build.xml, add an <code>antfile</code> attribute giving the file name: </p>
<pre>  &lt;target name="website" depends="init" description="Build the website">
    &lt;ant antfile="docbuild.xml" dir="website">
  &lt;/target></pre>
<p>Both of these execute the default target. You can select a different target using the <code>target</code> attribute like this:</p>
<pre>  &lt;target name="website" depends="init"
       description="Build the website">
    &lt;ant antfile="build.xml" dir="website" target="tutorial">
  &lt;/target></pre>
<p>By default, all Ant properties in effect for the current target are passed to the subbuild. You can prevent this by setting <code>inheritAll</code> to false:</p>
<pre>  &lt;target name="website" depends="init" 
      description="Build the website">
    &lt;ant antfile="build.xml" dir="website" inheritAll="false" >
  &lt;/target></pre>
<p>If you set <code>inheritAll</code> to false, you can still pass individual properties to the subbuild using  using nested <code>property</code> elements. These can use either the same or different property values. You can also set new properties for the subbuild that are not available in the master build. For example, this task inherits the version property, changes the license property to the fixed value Commons Attribution-NonCommercial-NoDerivs, and removes all other properties:</p>
<pre>  &lt;target name="website" depends="init" 
        description="Build the website">
    &lt;ant antfile="build.xml" dir="website" inheritAll="false" />
    &lt;property name="version" value="${version}"/>
    &lt;property name="license" 
                     value="Commons Attribution-NonCommercial-NoDerivs "/>
  &lt;/target></pre>
<p>That&#8217;s pretty much it. You can now have separate build files for different reasons and still combine them all. Cool!</p>
]]></content:encoded>
			<wfw:commentRss>http://cafe.elharo.com/blogroll/ant-tip-1-write-a-master-build-file/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>CVS Tip 1: Checking out an Entire Sourceforge Project</title>
		<link>http://cafe.elharo.com/tools/cvs-tip-1-checking-out-an-entire-sourceforge-project/</link>
		<comments>http://cafe.elharo.com/tools/cvs-tip-1-checking-out-an-entire-sourceforge-project/#comments</comments>
		<pubDate>Sun, 08 Jan 2006 11:11:48 +0000</pubDate>
		<dc:creator>Elliotte Rusty Harold</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://minicafe.elharo.com/tools/cvs-tip-1-checking-out-an-entire-sourceforge-project/</guid>
		<description><![CDATA[The usual SourceForge CVS instructions ask you to check out modules like so: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jedit login &#160; cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jedit co -P modulename Of course many projects are divided into multiple modules, all of which are required. You can check out the entire project, including all of its modules like this: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/project login &#160; [...]]]></description>
				<content:encoded><![CDATA[<p>The usual SourceForge CVS instructions ask you to check out modules like so:</p>
<blockquote><samp>
	cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jedit login<br />
	<br />&nbsp;<br />
	cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jedit co -P <i>modulename</i><br />
	</samp>
</blockquote>
<p>Of course many projects are divided into multiple modules, all of which are required. You can check out the entire project, including all of its modules like this:<br />
<span id="more-27"></span></p>
<blockquote><samp>
	cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/<i>project</i>  login<br />
	<br />&nbsp;<br />
	cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/<i>project</i> co .<br />
	</samp>
</blockquote>
<p>That is, replace &#8220;-P <i>modulename</i>&#8221; with a period. This does check everything out into the current working directory, so you&#8217;ll probably want to match CVS&#8217;s project directory first. For example, when checking out jEdit, </p>
<pre>~/projects$ mkdir jedit 
~/projects$ cd jedit
~/projects/jedit$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jedit login 
Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/jedit
CVS password: 
~/projects/jedit$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jedit co .
cvs checkout: Updating .
U build.xml
cvs checkout: Updating CVSROOT
U CVSROOT/checkoutlist
U CVSROOT/commitinfo
U CVSROOT/config
U CVSROOT/cvsignore
...</pre>
<p>This checks out the entire project. The downside to this is that it may check out some vestigial empty directories as well that are no longer used. (CVS is very bad at pruning old directories from the tree when a  project is reorganized.) You may want to identify and delete these directories on your local system. They can be identified because they only contain other empty directroies and a CVS directory. When checking out jEdit there is one of these,<br />
<samp>com</samp>
<p>.</p>
<samp>~/projects/jedit$ \rm -r com</samp>
]]></content:encoded>
			<wfw:commentRss>http://cafe.elharo.com/tools/cvs-tip-1-checking-out-an-entire-sourceforge-project/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
