<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>www.brianziman.com</title>
    <link>http://www.brianziman.com/</link>
    <description>Linux - Java - Web - Questions Answered, Problems Solved.</description>
    <language>en-us</language>

        <item>
        <title>IT 108 001 Programming Fundamentals - GMU Spring 2010 (12/22/2009)</title>
        <link>http://www.brianziman.com/r/post/blog-200912220828</link>
        <description><![CDATA[
<p>
I will be teaching IT 108 Section 001, Programming Fundamentals, for the
Applied Information Technology department at George Mason University in the
Spring semester of 2010.  I've noticed that a number of students have been
trying to find out who I am, since my name was added to the course.  At some
point, all students will have access to 
<a href="http://gmu.blackboard.com/">Blackboard</a>, where the syllabus and
other course materials will be posted.  These materials are not yet available,
but I hope to have them up well before the start of the semester. The 
university is also having difficulty provisioning my GMU e-mail account, so
right now, there is no good way to contact me for course-related issues.
I'm posting this message as a courtesy for students who are like me, and have
to know as much as possible in advance.  In general, I will not be posting
course-related information or material to this site during the semester.
Enjoy your winter holiday!
</p>
<p><b><i>Update!</i></b> My GMU e-mail account has finally been fixed, so
please direct any course related correspondence to <a href="mailto&#x3a;bziman&#x40;gmu.edu">bziman&#x40;gmu.edu</a>. Any
message not sent from your GMU account and with "IT108-001" in the subject line
will probably be eaten by my spam filter.
</p>
<p><i><a href="http://www.brianziman.com/r/post/blog-200912220828#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Tue, 22 Dec 2009 08:28:00 -0500</pubDate>    
        </item>
                <item>
        <title>Job Opportunity: webMethods Developer, Longmont, CO (10/15/2009)</title>
        <link>http://www.brianziman.com/r/post/recruit-200910150905</link>
        <description><![CDATA[
<p>
DigitalGlobe, Inc., a profitable, fast growing technology company, who
operate earth-imaging satellites, and provide commercial imagery solutions,
is seeking a <b>webMethods Developer</b> with in-depth expertise in 
software design, development, and implementation of Enterprise Application 
Integration (EAI), Enterprise Service Bus (ESB), and Service Orientated 
Architecture (SOA) using the webMethods product suite 7.x or greater.
</p>
<p>
<b>Desired skill set:</b> Three to five years using the webMethods Product
Suite, five years Java development, solid understanding of web services,
web development experience, bachelor's degree in I.S. or equivalent
experience. U.S. citizenship required.
</p>
<p>
<b>Contact:</b>
<a id='mndg'>Mike Nemeth</a>,
<script type="text/javascript">
var jeol = document.getElementById('mndg');
jeol.href='mailto:' + 'mnemeth' + unescape('%40') + 'digitalglobe.com'
          + '?subject=webMethods Developer (from www.brianziman.com)';
          </script>
          <a href="http://www.digitalglobe.com/">DigitalGlobe, Inc.</a>
</p>
<p><i><a href="http://www.brianziman.com/r/post/recruit-200910150905#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Thu, 15 Oct 2009 09:05:00 -0400</pubDate>    
        </item>
                <item>
        <title>Ignoring Spurious Repeated KeyAdapter Events in Java (10/09/2009)</title>
        <link>http://www.brianziman.com/r/post/stuff-200910092100</link>
        <description><![CDATA[

<p>
When running in an X11 environment, it appears as though either Java or
the windowing system stupidly generate lots of repeated key events when 
you hold a key down. As it is impractical to get users to reconfigure their
systems, and Sun seems unable to fix this issue (having been reported nearly
ten years ago). I have written an adapter that is an attempt to filter out 
the useless events, and released it here as open source software.
</p>
<p>
Many people have whined about this, but few have fixed it. Some have tried,
but their solutions are not as clean as my OCD nature requires. Here are
some examples of what this is meant to handle:
</p>
<ul>
<li><a href="http://bugs.sun.com/view_bug.do?bug_id=4153069">Bug ID: 4153069 keyReleased behaviour incorrect</a></li>
<li><a href="http://forums.sun.com/thread.jspa?threadID=5382946">Java Programming - Re: Throttling key released events.</a></li>
<li><a href="http://stackoverflow.com/questions/1457071/how-to-know-when-a-user-has-really-released-a-key-in-java">How to know when a user has really released a key in Java?</a></li>
</ul>
<p>
The goal is to generate a KeyPressed event when a key is pressed,
and to generate a KeyReleased event when a key is released.  And 
ONLY when a key is pressed or released.
</p>
<h2>Links</h2>
<ul>
<li><a href="http://www.brianziman.com/stuff/ui/api/com/brianziman/ui/UsefulKeyAdapter.html">Online Java API Specification</a></li>
<li><a href="http://www.brianziman.com/stuff/ui/UsefulKeyAdapter.zip">Download the package with source code</a></li>
<li><a href="http://www.brianziman.com/stuff/ui/com/brianziman/ui/UsefulKeyAdapter.java">View the class source code</a></li>
</ul>
<p><i><a href="http://www.brianziman.com/r/post/stuff-200910092100#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Fri, 09 Oct 2009 21:00:00 -0400</pubDate>    
        </item>
                <item>
        <title>Harmony One, Streamzap, EventGhost and XBMC, Oh My! (03/30/2009)</title>
        <link>http://www.brianziman.com/r/post/blog-200903300116</link>
        <description><![CDATA[
<p>
Last month, I announced that I'd finally got my 
<a href="http://swisspig.net/r/post/blog-200902220138">media center PC up 
and running</a>, and outlined quite an extensive to-do list to make the 
system truly usable.  The first task was to get a remote control to operate
the PC, and after reviewing the devices supported out-of-the-box by
<a href="http://www.eventghost.org/">EventGhost</a>, a utility that allows
you to capture events on Windows (like a pressed key on a remote control) and 
respond appropriately (like emulating a keyboard button, which is the easiest
way to control XBMC), I chose the 
<a href="http://www.streamzap.com/">Streamzap</a> remote, as the lowest cost
USB remote that appeared to have the necessary number of functions.
</p>
<p>
One quick note &mdash; apparently, someone has been working on 
<a href="http://www.eventghost.org/forum/viewtopic.php?t=1005">direct 
integration between EventGhost and XBMC</a>, however there are way too many
references to "the latest beta" for me to bother with it.  I prefer to 
stick to stable releases.  And while the forum claims Harmony support, 
you'll probably still have all the issues between the Harmony and the 
Streamzap that I walk through below.  
</p>
<p>
With a little tweaking, the Streamzap remote works very well with EventGhost
and XBMC.  I'm using the default 
<a href="http://xbmc.org/wiki/?title=Global_Keyboard">Keymap.xml</a> 
that is found in the System folder of the XBMC installation.  After installing
EventGhost, I exported an XML version of the configuration, which is much easier
for me to work with than the GUI (though, the GUI is fairly good, as much
as a GUI can be).  I then heavily customized the configuration
(<a href="http://www.brianziman.com/downloads/evg3.xml">download my evg3.xml</a> to import into 
EventGhost):
</p>
<ul>
<li>Disabled the auto-start of all plugins but Streamzap.</li>
<li>Bring XBMC to the foreground when the system wakes up.</li>
<li>Set up macros for each Streamzap button to emulate a specific 
keystroke (see summary below to explain a few of the weird mappings).</li>
<li>Commented out all the other "extras" that don't apply to controlling XBMC
with the remote.</li>
</ul>
<p>
At this point, it was time to replace the Streamzap and the plethora of other
remotes with the 
<a href="http://www.logitech.com/index.cfm/remotes/universal_remotes/devices/3898&amp;cl=US,EN">Logitech 
Harmony One Advanced Universal Remote</a>.  Even if I wasn't obsessively trying
to simply my entertainment experience, the Harmony One provides a significant
step up from the Streamzap remote.  While the Streamzap IR receiver provides 
enough distinct functions to operate XBMC, it is necessary to assign those
functions to buttons that might have otherwise been designed for something 
else, or worse, simply given a color, which my feeble mind is incapable of
remembering.  So, the goal was to set up the Harmony One with logical mappings
between the buttons on the remote and the functions that are actually run on
the media center.
</p>
<p>
Configuring the Harmony One should have been a relatively simple task.
Unfortunately, it has been cursed with the world's most feeble software utility.
You know you are in for pain and suffering when the first thing an application
tells you to do is to change your screen resolution.  The application then
goes on to be totally unusable with only the keyboard.  Never mind that it is
totally incompatible with Linux (and I really do prefer not to install
poorly written, untrustworthy software on the Vista media center system, as
I considering the stability of Windows to be tenuous at best).
</p>
<p>
Fortunately, there is a (slightly) simpler approach.  After you've installed
the software, you can go directly to 
<a href="http://members.harmonyremote.com/">http://members.harmonyremote.com/</a>, 
where you can use your browser to perform all of your vital functions &mdash; when
the time comes for it to interact with the remote, your browser downloads a
firmware image that the software knows how to install.  That part, at least,
seems to work pretty well.
</p>
<p>
So the first thing I had to do was set up a bunch of activities on the remote,
so it could operate the television, the receiver, the TiVo, and the DVD player.
That was fairly simple &mdash; the device catalog knew about each of these.  One
key point for me, is that the volume controls always go to the receiver, which
allows me to overload the mute button on the Streamzap remote, for that one
extra function!
</p>
<p>
Unfortunately, Logitech's device catalog fails completely when it comes to the
Streamzap remote.  There's an entry for the device.  But not a single button
press is recognized by receiver.  In the end, I had to have the Harmony One
manually "learn" each and every button on the Streamzap remote.  That didn't
take terribly long, except for the wasting of several hours figuring out that
it was necessary.  You need to be really careful while you're doing it, too,
because I apparently mispressed a button, and had to go through the process
again to fix it.
</p>
<p>
Once you have taught the remote how to send the right commands, you actually
need to map the buttons to the commands.  From the web interface, you need
to customize your PC activity, and then click on the link to change the
behaviour of the buttons.  All of the buttons on your Harmony One should be
listed, and you'll need to specify a device and command for each.  All of
the buttons are moved to the PC device, except the two volume buttons and
the mute button, which go to the receiver.  I also set up five "Additional
Buttons", which show up on the device menu on the Harmony One's screen.  A few
are actually duplicates of hard buttons, but with my memory, sometimes
it's hard to remember what button does what.
</p>
<p>Here's the complete mapping of buttons to commands to keystrokes (in the
order that they appeared for me on the Logitech web site):</p>
<table class="display">
<tr><th class="nowrap">Harmony Button</th><th>Command</th><th>Key Stroke</th><th>Notes</th></tr>

<tr><td>Menu</td><td>Menu</td><td>C</td><td>Bring up context menu.</td></tr>
<tr><td>Exit</td><td>Exit</td><td>Esc</td><td>Go back to previous menu.</td></tr>
<tr><td>Up Arrow</td><td>VolumeUp</td><td>+ (Plus)</td><td>Increase PC volume &mdash; sometimes the volume level of the PC is out of whack with the volume of the other components, so this is helpful for fine tuning.  Note that this is the arrow button between the Menu and Info buttons.</td></tr>
<tr><td>Down Arrow</td><td>VolumeDown</td><td>- (Minus)</td><td>Decrease PC volume. Note that this is the arrow button between the Exit and Guide buttons.</td></tr>
<tr><td>Info</td><td>Record</td><td>I</td><td>Bring up media info.</td></tr>
<tr><td>Guide</td><td>Yellow</td><td>Tab</td><td>Toggle video full screen mode.  This got an "Additional Button" entry on the LCD.</td></tr>
<tr><td>Volume Up</td><td>AV Receiver - VolumeUp</td><td></td><td>The Harmony One volume controls are directed at the AV Receiver.</td></tr>
<tr><td>Volume Down</td><td>AV Receiver - VolumeDown</td><td></td><td></td></tr>
<tr><td>Mute</td><td>AV Receiver - Mute</td><td></td><td></td></tr>
<tr><td>Up</td><td>Up</td><td>Up</td><td></td></tr>
<tr><td>Down</td><td>Down</td><td>Down</td><td></td></tr>
<tr><td>Left</td><td>Left</td><td>Left</td><td>See below for my note on XBMC skip back and skip forward within a playing video, the way you would with TiVo.</td></tr>
<tr><td>Right</td><td>Right</td><td>Right</td><td></td></tr>
<tr><td>OK</td><td>Ok</td><td>Return</td><td></td></tr>
<tr><td>Channel Up</td><td>ChannelUp</td><td>PageUp</td><td></td></tr>
<tr><td>Channel Down</td><td>ChannelDown</td><td>PageDown</td><td></td></tr>
<tr><td>Prev</td><td>Red</td><td>Backspace</td><td>Navigate back to parent directory.</td></tr>
<tr><td>Rewind</td><td>Rewind</td><td>R</td><td>Plays the video in reverse. This is sort of sketchy in XBMC &mdash; see the note below on TiVo style skipping.</td></tr>
<tr><td>Skip Back</td><td>PreviousTrack</td><td>, (Comma)</td><td>Go to previous track.</td></tr>
<tr><td>Record</td><td>N/A</td><td></td><td>XBMC isn't going to be recording anything.</td></tr>
<tr><td>Play</td><td>Play</td><td>Space</td><td>Play is also accessed via the P key, however it seems that Play and Pause are more consistently used as a toggle, so both are mapped to the space bar.  Also, it ensures that pressing play from a directory listing works the way you'd expect.</td></tr>
<tr><td>Pause</td><td>Pause</td><td>Space</td><td></td></tr>
<tr><td>Fast Forward</td><td>Forward</td><td>F</td><td>Plays the video faster.</td></tr>
<tr><td>Skip Forward</td><td>NextTrack</td><td>. (Period)</td><td>Go to the next track.</td></tr>
<tr><td>Stop</td><td>Stop</td><td>X</td><td>Quits playing the current media.</td></tr>
<tr><td>1</td><td>Num1</td><td>1</td><td>The number buttons are mapped to the numbers, though I haven't actually used the number buttons in XBMC, so conceivable, these commands could be used for additional functions via the "Additional Buttons" feature on the Harmony One &mdash; in which case I wouldn't map the number buttons to those functions, unless you're really good at remembering what they do.</td></tr>
<tr><td>2</td><td>Num2</td><td>2</td><td></td></tr>
<tr><td>3</td><td>Num3</td><td>3</td><td></td></tr>
<tr><td>4</td><td>Num4</td><td>4</td><td></td></tr>
<tr><td>5</td><td>Num5</td><td>5</td><td></td></tr>
<tr><td>6</td><td>Num6</td><td>6</td><td></td></tr>
<tr><td>7</td><td>Num7</td><td>7</td><td></td></tr>
<tr><td>8</td><td>Num8</td><td>8</td><td></td></tr>
<tr><td>9</td><td>Num9</td><td>9</td><td></td></tr>
<tr><td>Plus</td><td>Blue</td><td>Q</td><td>Queue up the selected media. This got an "Additional Button" entry on the LCD.</td></tr>
<tr><td>0</td><td>Num0</td><td>0</td><td></td></tr>
<tr><td>E</td><td>Mute</td><td>\ (Backslash)</td><td>Toggle application full screen &mdash; at least in theory.  I haven't actually got this to work for me, yet. This got an "Additional Button" entry on the LCD.</td></tr>
<tr><td>N/A</td><td>Green</td><td>S</td><td>Bring up XBMC shutdown menu, in case you want to do something other than the default shutdown function. This got an "Additional Button" entry on the LCD.</td></tr>
<tr><td>N/A</td><td>Power</td><td>End</td><td>Execute the default XBMC shutdown function, which for me, causes the PC to sleep. See my note below on waking it up. This got an "Additional Button" entry on the LCD.</td></tr>
</table>
<p>
Here are the noteworthy items that merit further discussion.
I've become very used to the "skip back a few 
seconds" feature of my TiVo, and it took me a while to figure out how to do
it with XBMC.  It turns out that during video play back, the left and right
arrow buttons do a skip back and skip forward, with a default interval of 30
seconds.  For skipping forward, that's just about right for a commercial,
but for skipping back after you've missed a few seconds of dialog, or whatever,
is way too much.  It turns out that this can be configured via the
<a href="http://xbmc.org/wiki/index.php?title=AdvancedSettings.xml">AdvancedSettings.xml</a> 
file, which you need to create in your UserData folder.  It took me a while
to figure out that this is NOT the UserData folder under the XBMC directory,
but rather (at least on Vista) the UserData folder in your 
<a href="http://xbmc.org/wiki/?title=XBMC_for_Windows_specific_FAQ#Where_is_user_specific_data_stored.3F">user directory</a>.
For other platforms, see the FAQ for that platform.  I created a version of 
the file that contains two sections.  One with the actual customizations, 
called "video", and a bogus section called "videoAllSettings" which 
contains the all of the possible video settings, along with their defaults, 
for my own future reference.  The only really meaningful customization is 
changing timeseekbackward from -30 to -5.  
(<a href="http://www.brianziman.com/downloads/advancedsettings.xml">Download my advancedsettings.xml</a>
and copy it to the appropriate UserData folder.)
</p>
<p>
The other noteworthy item is that the Streamzap IR receiver doesn't have the
ability to wake the PC from S3 sleep.  It <i>should</i> have the ability to
do so.  The documentation from Streamzap says that the receiver "doesn't
provide enough power" to do so, but that's nonsense.  If you have your BIOS
configured to allow a USB device to wake the computer from S3 sleep, then
the IR receiver should stay fully powered, and the hardware should watch for
a "power on" command.  Unfortunately, I'm not sure if that's something they
can fix with a driver update, or not.  Depressingly, my proposed workaround 
is both expensive and complicated.  Currently, I wake the PC from sleep by
sending a magic wake-on-LAN packet from my laptop.  This is only temporary.
I am in the process of setting up a full 
<a href="http://www.insteon.net/">Insteon</a>-based home automation system.
One of the niftier Insteon devices, is the 
<a href="http://www.insteon.net/2411R-IRLinc.html">IRLinc</a> IR receiver.
This will allow me to (at least in theory) configure the Harmony One to send
commands to the home automation system.  Since I'll be routing all of the
home automation commands through a central server using the Insteon
<a href="http://www.insteon.net/2412s-powerlinc-modem-serial.html">PowerLinc
Serial Modem</a>, I can just have the server watch for the "turn media 
center on" command, and issue the magic wake-on-LAN packet.  This would be
a total deal-breaker for the Streamzap, if I weren't already planning on adding
these other components.
</p>
<p>
If that's way too much for you to deal with, your
other choices are leaving the PC on all the time, or using a more sophisticated
IR controller, such as the Microsoft Windows MCE Remote (which I actually
wanted, but couldn't verify actual continued support for from Microsoft).
</p>
<p>
So that's what I have for you for now. Stay tuned as more details emerge.
</p>
<p><i><a href="http://www.brianziman.com/r/post/blog-200903300116#comments">4 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Mon, 30 Mar 2009 01:16:00 -0400</pubDate>    
        </item>
                <item>
        <title>Programming Flash with haXe for the Chumby (03/14/2009)</title>
        <link>http://www.brianziman.com/r/post/blog-200903140240</link>
        <description><![CDATA[
<p>
For Christmas, I received a <a href="http://www.chumby.com/">Chumby</a>
interactive media player.  It is basically a cuddly Linux computer, the
size of an alarm clock, that serves widgets to its touch screen.  With my
interest in home automation, I think the Chumby device would make a
terrific platform for controlling a home automation system.  Widgets for
the Chumby are written using Flash, and unlike most of the use of Flash on
the Web, it makes a great deal of sense for a device like the Chumby.
</p>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
        width="320"
    height="240"
    id="haxe"
    align="middle">
<param name="movie" value="/scripts/ScraXml/ScraXml.swf?url=http://www.brianziman.com/scripts/ScraXml/" />
<param name="allowScriptAccess" value="always" />
<param name="quality" value="high" />
<param name="scale" value="noscale" />
<param name="salign" value="lt" />
<param name="bgcolor" value="#ffffff"/>
<embed src="http://www.brianziman.com/scripts/ScraXml/ScraXml.swf?url=http://www.brianziman.com/scripts/ScraXml/"
       bgcolor="#ffffff"
       width="320"
       height="240"
       name="haxe"
       quality="high"
       align="middle"
       allowScriptAccess="always"
       type="application/x-shockwave-flash"
       pluginspage="http://www.macromedia.com/go/getflashplayer"
/>
</object>
<p>
So, after a bit of research, and deciding firmly that I did not want to use
any proprietary software products from Adobe or painful graphical IDEs, I found
<a href="http://haxe.org/">haXe</a>, a novel programming language that can
be compiled for a number of platforms &mdash; including Flash.  I've spent the
last couple of days learning haXe, and all the painful Flash APIs, and
for my first program, I have developed a widget that I can use with the Chumby
to control my house.  I call it ScraXml.  Click on the little question mark
in the widget to read all about it.
</p>

<p><i><a href="http://www.brianziman.com/r/post/blog-200903140240#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Sat, 14 Mar 2009 02:40:00 -0400</pubDate>    
        </item>
                <item>
        <title>The Media Center Lives (02/22/2009)</title>
        <link>http://www.brianziman.com/r/post/blog-200902220138</link>
        <description><![CDATA[
<p>
Just over two years ago, I <a href="http://www.brianziman.com/r/post/blog-200702090200">built a PC</a>
for the purpose of using it as a media center.  Then I let it sit for a year
and a half.  About six months ago, I found a useful way to control it with
<a href="http://www.brianziman.com/r/post/blog-200809061826">Synergy</a>.  And then let it sit some
more.  But now, after two years, with the processor now totally obsolete,
it is set up to be a usable media center.
</p>
<p>
The core ingredient of the media center is <a href="http://xbmc.org/">XBMC</a>,
the open source software project on which Boxee is based.  Boxee does some
fairly cool stuff, but the "extras" it provides, like social networking, are
things that not only do I not need, but that I don't want.  The last thing
I need is for my media center to be able to send information about me out
on to the Net without asking me first.  Boxee also has some closed-source
bits.  And for some people those bits, and those relationships are important.
For me, not so much.  If there is streaming media available in a usable and 
open way, then XBMC can handle it.  If it is only available through some sort
of business arrangement, then sure, it would be cool... but I can live without
it.  This isn't going to replace my DirecTV with TiVo, and it isn't going
to replace Netflix.  It is just one more piece that will let me use my own
media collection in a slightly easier way.
</p>
<p>
So aside from installing XBMC, I had to do a few other things to finally make it
work.  When I first got the system, the salesman swore up and down that the
integrated NVidia graphics on the motherboard could do Vista's fancy Aero
interface.  But it couldn't.  Turns out that was because NVidia hadn't bothered
to get the drivers working yet.  Well, the new drivers have long since been 
available, and after a quick update, I now have a "fancy" interface.  I also
found that Vista really wanted me to install SP1 before I could go on.  That
went off without a hitch, much to my surprise &mdash; with SP2 on the horizon, I
hope I have similar good luck.  Microsoft also offered me updated sound drivers,
but after that update, there was no sound at all, so I got to test out
Vista's ability to roll back a driver.  That worked too.  That impressed me.
</p>
<p>
One of the issues that has kept this machine a paperweight for the past two
years is that the CPU fan sounds like a jet engine warming up.  As slow as
the CPU is, by modern standards (and too slow to decode 1080p video, according
to XBMC's documentation), I may upgrade it, and get a new quieter fan when I do.
But in the meantime, I usually want the system off.  And that means getting up
and walking across the room to turn it on.  If I wanted to walk across the room,
I could grab a DVD or a CD and load it into a machine while I'm up.  I'm
way too lazy for that.  But I found a solution for this issue as well.
</p>
<p>
My system supports wake-on-LAN, and combined with Vista's hybrid sleep feature,
I can now turn the system on and off remotely.  When I press the "shutdown"
button in the XBMC interface, it instructs Vista to sleep, which causes it,
by all appearances, to just right down.  In reality, it goes into a low power
state, while at the same time, dumping memory to disk, so that if there's a
power failure, it will behave as though it had hibernated, but under normal
circumstances keeps power to the memory, so the system can come up immediately
when summoned via the LAN.  Very nifty.  And when it's sleeping, all the fans
are off, so it is basically indistinguishable from being powered off completely.
Except for one little thing &mdash; the annoyingly bright blue power indicating LED
blinks when the system is sleeping.  Or it did.  I opened the case and
disconnected the power for the LED, so now I don't have to look at it, no
matter what state the system is in.  I can tell when it's on, because I have
the pretty media center up on the screen, and I can tell when it's off by
the blissful sound of silence.  And with the hybrid sleep feature, I don't
really have to worry about it &mdash; if it doesn't magically come on when I ask
it to, then shame, I have to walk over and press the button, because the
power failed.  Except it won't, because the system is on a UPS.
</p>
<p>
There are two more bits to this puzzle that I need to take care of.  The first
is that my media library is an embarrassing mess.  I have gigabytes of media
in random folders with equally random names.  I need to take the time to go
through and organize my movies and music into appropriate folders, give the 
files appropriate names, and maybe even add meta data to them... I wonder if
XBMC will go ahead and do that for me?  I bet it will.
</p>
<p>
The second thing I need to do is get a remote control for the system.  While it
works great using the laptop as a remote control, the laptop isn't quick and
practical for daily use &mdash; and who wants to sit around with a laptop on your
lap when you're entertaining guests.  Eventually, I'm going to get myself a 
<a href="http://www.logitech.com/index.cfm/remotes/universal_remotes/devices/3898&amp;cl=US,EN">Logitech Harmony One</a>
to control all of my plethora of systems, and I will likely be using
<a href="http://www.eventghost.org/">EventGhost</a> to allow the remote to
control XBMC.  So, it is important to get a USB remote control that will be 
compatible with both &mdash; IR compatible with the Harmony One, and software
compatible with EventGhost.
</p>
<p>
There are a number of USB remote control devices available, and while it seems
the Harmony One can probably handle any of them, the software compatibility
isn't quite so broad.  You may be surprised to discover that the one I'd most
like to have is the Microsoft MCE Remote Control for Vista.  Unfortunately,
it is obscenely expensive, and very difficult to find.  There are a lot of
products that <i>call</i> themselves that, but aren't actually the Microsoft
product, but rather a product simply claiming to be compatible with Vista and
abusing Microsoft's trademark in their name.  And since I need to be
able to interface with both the software and the remote control, I need to be
absolutely sure of what I'm getting.  And Microsoft doesn't even list the
product on their web site anymore.
</p>
<p>
So while I'd prefer the Microsoft remote, its limited support
and availability has forced me to consider other options.  It seems like the 
smartest and most flexible choice would be the 
<a href="http://www.usbuirt.com/">USB-UIRT</a>, which is a made-to-order
USB universal infrared receiver (and transmitter), which allows your computer
to receive <i>any</i> IR signal, and then you can use a program like EventGhost
to map those signals to whatever key strokes or macro functions you want.
The device is $50, and when you order it, Jon Rhees builds one and mails it to
you.  There's a lot of people out there using one, but I don't know, it still
seems a bit shady to me.</p>
<p>
That's why I'm leaning toward the
<a href="http://www.streamzap.com/">Streamzap PC Remote</a>, which has broad
support for Windows and Linux.  It's $30 and comes with a receiver <i>and</i>
remote control, which will be useful until I get the Harmony One, and for
training the Harmony One if I have any difficulty with configuration.  The
Streamzap is more limited than the UIRT, because it only has 35 buttons
(XBMC has 38 keyboard bindings!), but I think that will be okay.  EventGhost
supports this remote, and doesn't require some of the hacking and guesswork
of the UIRT.
</p>
<p>
In the meantime, I'm in business with Synergy, and I can focus on getting my
media library back in working order.  Oh, and I probably should spend some
time learning how to use XBMC &mdash; it has a lot of cool features and add ons,
and for the most part, I'm clueless about all of them!
</p>
<p><i><a href="http://www.brianziman.com/r/post/blog-200902220138#comments">4 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Sun, 22 Feb 2009 01:38:00 -0500</pubDate>    
        </item>
                <item>
        <title>Job Opportunity: Java Support Analyst, Roanoke, VA (01/28/2009)</title>
        <link>http://www.brianziman.com/r/post/recruit-200901281540</link>
        <description><![CDATA[
<p>
Client is seeking a <b>Java Support Analyst</b> to act as the first line of
support for customer service team, and act as a liaison between
customer support and the experienced two person Java development team.
</p>
<p>
<b>Desired skill set:</b> Java, Databases. Strong communication skills.
Entry level okay.
</p>
<p>
<b>Contact:</b>
<a id='jeo1'>Jessica Owens</a>,
<script type="text/javascript">
var jeol = document.getElementById('jeo1');
jeol.href='mailto:' + 'jeowens' + unescape('%40') + 'teksystems.com'
          + '?subject=Roanoke Java Support Analyst (from www.brianziman.com)';
          </script>
          <a href="http://www.teksystems.com">TekSystems</a>, 336-851-6895.
</p>

<p><i><a href="http://www.brianziman.com/r/post/recruit-200901281540#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Wed, 28 Jan 2009 15:40:00 -0500</pubDate>    
        </item>
                <item>
        <title>Electronics Recycling (01/05/2009)</title>
        <link>http://www.brianziman.com/r/post/blog-200901051038</link>
        <description><![CDATA[
<p>
If you're anything like me, then you've spent most of the last decade (or more!)
accumulating the latest in today's gadgets, all of which were obsolete by the
time you got them out of the box.  And you can't just throw the old stuff in
the trash (even if you had that sort of self control), because you know it's
just going to end up in land fill, or worse, in China.  So, it turns out that
Fairfax County is offering free recycling on 
<a href="http://www.fairfaxcounty.gov/dpwes/recycling/electric.pdf">Electric 
Sundays</a> at the I-66 Transfer Station on West Ox Rd in Fairfax on January 11,
February 8, and March 8.  I have boxes of old modems and ancient Soundblasters
and other museum-worthy pieces of electronics that need to go, to make way to
newer museum-worthy pieces, and I may some day decide I will never again use.
</p>
<p>
The event is being run by Covanta Energy, Inc, which seems to have a fairly
good reputation for converting waste to energy, and in a quick search, I wasn't
able to find anything scandalous about them shipping their waste off to Asia
to be stripped to its elemental components by starving children.  If you have
heard of anything like that, please leave a comment with sources... we don't
want to spread evil, after all!
</p>
<p><i><a href="http://www.brianziman.com/r/post/blog-200901051038#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Mon, 05 Jan 2009 10:38:00 -0500</pubDate>    
        </item>
        

  </channel>
</rss>

