<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>Job Opportunity: UI Developer, Reston, VA (07/26/2010)</title>
        <link>http://www.brianziman.com/r/post/recruit-201007262317</link>
        <description><![CDATA[
<p>
A young, high-energy technology solutions provider is looking for 
a <b>Web Application Developer</b> who has great breadth and depth of 
skills, and who can flourish in a fast-paced, demanding environment. 
</p>
<p>
They use Flex, Javascript, Python/Django, and Java. In this role, you will
perform technical design, code implementation, unit testing, and integration
testing. You will be expected to manage code using git.  This is a role for
someone who wants to challenge themselves and learn every day. 
</p>
<p>Requirements:</p>
<ul>
<li>Must be located in the DC metro area.</li>
<li>Must have real technical experience in a majority of the following areas:
ActionScript/Flex; Javascript/HTML/CSS; Java Spring Framework; XML or JSON; and
GWT.</li>
<li>Must be a good team member by sharing expertise, communicating, and being curious about the big picture.</li>
<li>Must have a proven ability to meet tight deadlines, multi-task, and work
independently without micromanagement.</li>
</ul>
<p>
<b>Contact:</b>
<a href="mailto&#x3a;krice&#x40;lifesearchtech.com?subject=Job Opportunity: UI Developer, Reston, VA (from www.brianziman.com)">Kelli Rice Hrivnak</a>,
          <a href="http://lifesearchtech.com/job-opportunities/it-jobs/">Life Search Technologies</a>, 443-578-5135.
</p>
<p><i><a href="http://www.brianziman.com/r/post/recruit-201007262317#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Mon, 26 Jul 2010 23:17:00 -0400</pubDate>    
        </item>
                <item>
        <title>IT 306 001 Data Structures - GMU Fall 2010 (07/21/2010)</title>
        <link>http://www.brianziman.com/r/post/blog-201007211709</link>
        <description><![CDATA[
<p>
As luck would have it, I will be teaching another class for the Fall semester.
This time around, it's
<a href="http://catalog.gmu.edu/preview_course.php?catoid=15&amp;coid=107133">IT
306 - Program Design and Data Structures</a>, the three credit sequel to
IT 108. Really, it's the sequel to IT 206, but this will be the first semester
that IT 206 has been offered, so no one has taken it yet, so that's where
that comes from.  The course meets at the Prince William campus in Bull Run
Hall, room 247, on Tuesdays from 4:30 PM to 7:10 PM, and I will hold office
hours by appointment after class in the adjunct faculty closet on the first
floor.
</p>
<p>
The text book for this class is <a href="http://www.amazon.com/Java-How-Program-Objects-Version/dp/0136053068/ref=pd_sxp_f_pt">Deitel's Java, How to Program</a>, which is a bit of a monster, so hopefully you've got bags with wheels.  Your
TA will be Minu Hariharan.
</p>
<p>
This is going to be a programming intensive class, where you will be writing
an awful lot of Java. It's probably going to take me a while to get all the
materials for the semester put together, but I hope to have everything done
in advance of the start of the semester, next month. In the meantime, if you
need to contact me, please send e-mail to 
<a href="mailto&#x3a;bziman&#x40;gmu.edu">bziman&#x40;gmu.edu</a>. Any
message not sent from your GMU account and with "IT306" in the subject line
will probably be eaten by my spam filter.
</p>
<p>
All of the material for this class will be posted on the 
<a href="http://courses.gmu.edu/">GMU Blackboard site</a>, as it becomes 
available.
</p>
<p><i><a href="http://www.brianziman.com/r/post/blog-201007211709#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Wed, 21 Jul 2010 17:09:00 -0400</pubDate>    
        </item>
                <item>
        <title>Job Opportunities: Metron Aviation, Dulles, VA (06/30/2010)</title>
        <link>http://www.brianziman.com/r/post/recruit-201006301510</link>
        <description><![CDATA[
<p>
<a href="http://www.metronaviation.com/">Metron Aviation</a> has just won a
ten year, billion-plus dollar
<a href="http://www.faa.gov/news/press_releases/news_story.cfm?newsId=11561">FAA
contract</a> to help develop the Next Generation Air Transportation System and 
is now hiring for the following positions:
</p>
<ul>
<li>Air Traffic Management Subject Matter Expert</li>
<li>Analyst</li>
<li>Systems Engineer</li>
<li>Mathematician/Statistician</li>
<li>Software Developer</li>
<li>Computer Scientist</li>
<li>Financial Analyst</li>
<li>Technical Task Leader</li>
<li>Human Factors Engineer</li>
<li>Technical Writer</li>
</ul>
<p>
Visit the 
<a href="http://www.metronaviation.com/company/careers/">Metron
Aviation careers</a> site to apply, or send me your r&eacute;sum&eacute;.
</p>
<p><i><a href="http://www.brianziman.com/r/post/recruit-201006301510#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Wed, 30 Jun 2010 15:10:00 -0400</pubDate>    
        </item>
                <item>
        <title>IT 108 001 GMU Spring 2010 Wrap Up (05/20/2010)</title>
        <link>http://www.brianziman.com/r/post/blog-201005202050</link>
        <description><![CDATA[
<p>
Okay, so I'm a little behind on my updates, but I figured I'd better write up
my thoughts on IT108 now that the semester is over.  My first goal for the
semester was to motivate my students, and keep them interested in programming,
even if they find it challenging, and aren't sure how it could possibly be
of any use to them. Well, out of the thirty students originally enrolled,
only a handful dropped the class, and twenty-one students made it all the way
through to the end. And most of those showed up to every class. From what
I hear, that's a lot better than the average for this class.
</p>
<p>
What wasn't better than the average were the grades.  Only six students
passed the class, and that's mostly due to the dismal performance everyone
had on the exams.  While many students made huge improvements on their
programming assignments as the semester went on, the results on the final
exam were every bit as dismal as the results on the midterm.  Despite the
improvements that students made on their programming throughout the semester,
their performance on the exams indicates that they really didn't have a firm
grasp of what they were doing &mdash; you can write a program without understanding
how it works.  Next semester, I need to work harder to make sure students
are understanding, as well as just doing.  I think that's going to mean walking
through many more examples, and having more practice assignments that resemble
the sort of questions the students can expect to see on the exams.
</p>
<p>
I think one of the reasons the students had trouble, was because I dumped a lot
of really heavy theory on the class at the beginning, and I think I need to
start with much simpler assignments.  On the other hand, the students had
tremendous difficulty with even basic problem solving &mdash; a skill that all
college students should have. I fear many of my students would be unable to
coherently explain the steps for solving a problem, even if it didn't involve
Java.
</p>
<p>
Another major problem the students had throughout the semester was meeting the
required formatting for their submissions.  The design diagrams and Java 
programs have a specific required format. It should make it easier for them
to write, as there are fewer variables &mdash; it's like the difference between
short answer and multiple choice.  When you just have to choose from a handful
of operations, and assemble them in the correct order, that should be a lot
easier than coming up with your own operations.  But the students just couldn't
get the hang of it. I gave them a ton of code, but they couldn't recognize the
pattern and get the indentation and formatting the same. I don't see how anyone
can expect to do well when they won't do the simple stuff.
</p>
<p>
Of course it's not entirely their fault &mdash; there's just too much crammed into
one class, and the department recognizes that, and starting in the Fall, they're
breaking the programming requirement into two classes: IT106 and IT206. Of
course this doesn't really help my students.  The students who did not pass
have two choices.  They can either re-take IT108, in which case the grade
for their second attempt will replace this attempt in their GPA; or they
can change to the new catalog year and take IT106 and IT206, which would
be better for their learning, but worse for their GPA and add yet another
semester to their program of study.
</p>
<p>
So here's my advice. If you averaged better than 80% on the programs and 
project, then you should probably re-take IT108, and you'll have a much
easier time at it. For you, taking IT106 would probably be a waste of time,
since you probably already have a good grasp of all the material that will
be covered there.
</p>
<p>
If you did not achieve at least 80% on the programs and project, then you're
pretty much going to be starting from scratch either way.  Only two of
the students who were re-taking IT108 passed on their second attempt.  If you
aren't at least somewhat confident in your ability to do the projects from
the class, you would probably benefit from switching to the two-course track.
</p>
<p>
If you're not sure what to do, and want advice specific to your case, or if
you have Java questions, or IT questions, or really anything, please feel
free to <a href="mailto&amp;#x3a;bziman&amp;#x40;gmu.edu">contact me</a>.  I really 
appreciate the encouragement and positive
feedback I received from the class all semester.  It's good to know that
I'm making a positive contribution.  Now all I need to do is get the pass
rate up!
</p>
<p><i><a href="http://www.brianziman.com/r/post/blog-201005202050#comments">0 comments</a></i></p>]]></description>
        <dc:creator>Brian</dc:creator>
        <pubDate>Thu, 20 May 2010 20:50:00 -0400</pubDate>    
        </item>
                <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>
        

  </channel>
</rss>

