<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="5.0" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:gal="http://norman.walsh.name/rdf/gallery#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
<info>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
<title>Thinkpad DS</title><biblioid class="uri">http://norman.walsh.name/2006/04/20/thinkpadDS</biblioid>
<volumenum>9</volumenum>
<issuenum>44</issuenum>
<pubdate>2006-04-20T17:43:07-04:00</pubdate>
<date>$Date: 2006-04-20 18:34:26 -0400 (Thu, 20 Apr 2006) $</date>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2006</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>Thoughts on NetBeans, the virtues of a dual-screen setup, and
waking up early.</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Emacs"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Gadgets"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Java"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#NetBeans"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Programming"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#ThinkPad"/>
</info>

<para xml:id="p1">I've been using
<link xlink:href="http://en.wikipedia.org/wiki/NetBeans">NetBeans</link>
pretty regularly for a couple of weeks now, hacking away on an
implementation of
<link xlink:href="http://xproc.org/">XProc</link>. I feel a little
guilty about using NetBeans instead of
<link xlink:href="http://en.wikipedia.org/wiki/Emacs">Emacs</link> for
<link xlink:href="http://en.wikipedia.org/wiki/Java_%28Sun%29">Java</link>
development, but I console myself with the thought that Java development
is a pretty specialized task and I routinely use tools other
than Emacs when the job is specialized enough
(<link xlink:href="http://en.wikipedia.org/wiki/Instant_messaging">IM</link>
or 
<link xlink:href="http://en.wikipedia.org/wiki/IRC">IRC</link>, for
example). On the other hand, it's software development and that's what
Emacs is for, so I'm conflicted. Hey, maybe NetBeans is
<emphasis>just that good</emphasis>, ok?</para>

<para xml:id="p2">Anyway, one of the things that becomes immediately obvious when
you start using an
<link xlink:href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</link> like NetBeans is that you don't have enough screen
real estate. I can fit an Emacs and three shell windows side-by-side, but
NetBeans takes <emphasis>the whole screen</emphasis>. Switching between
desktops or raising and lowering NetBeans or the browser to read documentation
(or Emacs to edit stuff) was just too painful. To combat this, I went
back to
<link xlink:href="http://norman.walsh.name/2006/03/26/presentations">what
I learned</link> recently and now I have two displays. NetBeans goes in
the top and my “normal” desktop, an Emacs, three shell windows, and a browser
goes in the bottom.</para>

<mediaobject role="flickr">
    <!--Thinkpad DS-->
  <imageobject xlink:href="http://www.flickr.com/photos/ndw/132051397/">
    <imagedata fileref="http://static.flickr.com/55/132051397_ead868494f.jpg"/>
  </imageobject>
</mediaobject>

<para xml:id="p3"><emphasis>Very nice.</emphasis> Well worth the effort of figuring
out how to do it. On most of my other desktops, I just use the 
“top half”, though I'm starting to find things drift into the “extra space”
in other places.</para>

<section xml:id="wakeup">
<title>Waking up early</title>
<para xml:id="p4">As long as we're talking about fiddling with the machine and
increased productivity, let me pass along another trick. I recently learned
that I can use <filename>/proc/acpi/alarm</filename> to control my
laptop's sleep state. That is, instead of sleeping (suspend to RAM)
until I wake it up, I can program it to wake up automatically.</para>

<para xml:id="p5">If you're like me, when your machine starts in the morning, it spends
a good ten minutes or so groveling through the several hundred spam
and virus emails that were sent overnight. And sometimes it does other stuff
like rebuilding local databases. The practical result is that for the
first ten or fifteen minutes of my day, when I'm fresh and raring to go,
the machine <emphasis>c r a w l s</emphasis> through every task, CPU pinned
by all the background tasks.</para>

<para xml:id="p6">Well, with a quick shell script, I now put my machine to bed at night
such that it wakes up an hour before I do and gets through all those
tasks before I even get out of bed.</para>

<para xml:id="p7"><emphasis>Very nice.</emphasis> Well worth the effort of figuring
out how to do it.</para>
</section>

</essay>

