<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>recon</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/" />
    <link rel="self" type="application/atom+xml" href="http://www.omands.com/recon/atom.xml" />
    <id>tag:www.omands.com,2008-08-19:/recon/5</id>
    <updated>2008-11-18T06:07:42Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.2-en</generator>

<entry>
    <title>Wow, I still have a blog?</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2008/11/wow-i-still-have-a-blog.html" />
    <id>tag:www.omands.com,2008:/recon//5.107</id>

    <published>2008-11-18T06:06:01Z</published>
    <updated>2008-11-18T06:07:42Z</updated>

    <summary>I have updated MT on this site more times than I have posted to my own blog in the last 400 days. Good thing I have a blog....</summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Blogging" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        I have updated MT on this site more times than I have posted to my own blog in the last 400 days.  Good thing I have a blog.
        
    </content>
</entry>

<entry>
    <title>Site Update</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2007/08/site-update.html" />
    <id>tag:www.omands.com,2007:/recon//5.76</id>

    <published>2007-08-22T02:56:04Z</published>
    <updated>2007-08-22T03:00:40Z</updated>

    <summary>Well, I said somewhere in my prior posts that I probably wouldn&apos;t write another blog post until this August, and I guess I was right! I updated the site to MovableType 4 last week, and have yet to get everything...</summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Blogging" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Content Management" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="siteblogsoftware" label="site blog software" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        Well, I said somewhere in my prior posts that I probably wouldn&apos;t write another blog post until this August, and I guess I was right!  I updated the site to MovableType 4 last week, and have yet to get everything smoothed out, but at least there is some novelty to writing a post again.  I do like MT4, except for the dropdown menus in the admin interface -- they tend to open when I don&apos;t want them to, and fail to close when I want them to...  Maybe they&apos;ll fix that in MT4.01.  I&apos;d consider a switch to Wordpress, but once upon a time, I actually paid for my copy of MT, so I feel that I now should get the most value for my money :).
        
    </content>
</entry>

<entry>
    <title>Home Media</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/11/home-media.html" />
    <id>tag:www.omands.com,2006:/recon//5.59</id>

    <published>2006-11-21T08:03:25Z</published>
    <updated>2006-11-21T08:08:36Z</updated>

    <summary><![CDATA[The next phase of my media center quest is to get some sort of network attached storage solution.&nbsp; Of course, I could just go and buy a Buffalo Linkstation, or some similar solution from Linksys, but my requirements outstrip what...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="A/V" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[The next phase of my media center quest is to get some sort of network attached storage solution.&nbsp; Of course, I could just go and buy a Buffalo Linkstation, or some similar solution from Linksys, but my requirements outstrip what these boxes offer.&nbsp; I want to be able to run whatever software on the NAS that I want.&nbsp; For instance, now that the TiVo S3 is here, I want to share my photos and music out from the NAS system, and that requires something that speaks the TiVo beacon protocol.&nbsp; There are a couple of open source solutions which make TiVo Desktop-like functionality available in Linux, like javaHMO, which, as the name suggests, is entirely written in Java.<br /><br />Ideally, I should be able to expand the NAS box with USB 2.0, so I can finally set up a backup solution that doesn't involve me burning DVDs.&nbsp; It should also be nearly silent, and use very little power, as it will be on all of the time, connected directly to my router, on the UPS.&nbsp; Sounds like a tall order, doesn't it.&nbsp; Surprise.&nbsp; I found a box that solves almost all of these problems, the <a href="http://www.tomsnetworking.com/2004/10/26/review_kurobox/">Kuro Box</a>. This tiny box is basically the developer version of the Linkstation, which runs Linux on PPC.&nbsp; It is BYO storage, so any 3.5" disk can be installed -- from the pictures in the linked article, it looks like the drive must be PATA, though.&nbsp; The unit even has an integrated USB 2.0 hub, so adding external storage should be a snap..&nbsp; Very promising!<br />]]>
        
    </content>
</entry>

<entry>
    <title>Welcome back TiVo</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/11/welcome-back-tivo.html" />
    <id>tag:www.omands.com,2006:/recon//5.57</id>

    <published>2006-11-17T06:52:14Z</published>
    <updated>2006-11-21T08:09:09Z</updated>

    <summary><![CDATA[After a looooong stint with the Comcast "Hell Box" (TM), TiVo finally released the Series 3.&nbsp; My initial thought was to wait a bit, see if there were any initial adoption issues, then buy when the price came down after...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="A/V" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[After a looooong stint with the Comcast "<i>Hell Box</i>" (TM), TiVo finally released the Series 3.&nbsp; My initial thought was to wait a bit, see if there were any initial adoption issues, then buy when the price came down after the holidays.&nbsp; Not to be.&nbsp; I couldn't wait that long, as the Comcast box started misbehaving again, chopping shows apart, dropping the last N minutes of a show, or being frustratingly inflexible when scheduling recordings.&nbsp; I don't know why anyone writing PVR software would <b>not</b> support ending a recording before it is scheduled to end (the Motorola PVR with TV Guide software only allows you to record longer than the scheduled end time).]]>
        <![CDATA[<br/><br/>Well, I'm now a proud owner of a Series 3, exploring all that it has to offer.&nbsp; I ordered it last Saturday, on 2nd day air, so it arrived in Oakland on Tuesday night.&nbsp; I went down and picked it up from DHL, and while I was there, attempted to pick up a couple of cable cards from Comcast.&nbsp; I had called Comcast earlier that day, and was assured by a customer service rep that I could show up at my local office, and they would exchange my Motorola box for a shiny new pair of cable cards.&nbsp; However, when I showed up, the rep <i>at</i> the store said that they've been telling the people on the 1-800 line to stop telling customers this -- the cable cards are at the warehouse, not the office, and besides, said the rep, you need to have a tech install the cards.&nbsp; After a couple of swears directed at Comcast customer service, the rep finally agreed to go to the warehouse the next day.&nbsp; He kept the cards at the local office for me, and I arranged to pick them up on my lunch hour the next day.
<br/><br/>
On Wednesday night, I finally had all of the parts I needed.&nbsp; It was a bit of a stressful time getting the cable cards up and running, as the TiVo presents a <b>lot</b> of information screens to do with cable cards.&nbsp; I wasn't sure of 90% of what I was looking at, and when I called in to Comcast to enable the cards, the tech really couldn't help me out that much, as she wasn't even aware that TiVo boxes accepted cable cards.&nbsp; After 5-10 minutes conspiring with the tech over the phone, we managed to get both cards enabled, and I finally had good clear test signals on both tuners!&nbsp; Kazaaah!
<br/><br/>
I should mention that TiVo really goes out of their way to make this as easy as possible for people -- I was amazed to find that the box ships with cables for nearly every type of video connection.&nbsp; They ship composite, component, <i>and</i> a HDMI cable -- the only cable that was missing was a iLink cable for optical audio connection.&nbsp; My next step in the home theatre shuffle is to get a receiver that will switch HDMI.&nbsp; The setup I have now routes video directly into the TV, and audio routes through the stereo receiver via iLink.&nbsp; This is doable at the moment because I only have a single source that supports HDMI -- the TiVo.&nbsp; Some day, I may get a PS3, or update my DVD to HD-DVD-BluRay-or-whatever, which will also use HDMI.
<br/><br/>
I've found a number of reasonably priced (~$1200) receivers that support 2x HDMI inputs, and one HDMI out.&nbsp; Units that support three or more HDMI inputs are significantly more expensive (2x or more) at the moment, so I'll probably end up with component input on the game system.&nbsp; I read an article recently that says that video quality between HDMI and component inputs is highly dependent on the decoding hardware inside of the TV -- for some rigs, component might even look better than HDMI.&nbsp; Either way, I'm sure that I'm not going to notice the difference.
<br/><br/>
Back to the original story, though.&nbsp; TiVo is now up and running.&nbsp; The real reason I started this post was the non-TV features of TiVo.&nbsp; The series 3 (and series 2 too?) provides an app called 'Podcaster', which you can use to listen to a variety of podcasts.&nbsp; Right now, I'm listening to 'Wait.. wait.. don't tell me,' a funny NPR quiz show that I love to listen to, whenever I catch it on broadcast.&nbsp; Now I can just listen to it via TiVo whenever I want.&nbsp; There are a number of other similar features, ranging from Yahoo! local weather and traffic, to live365 streaming radio, and more that I haven't explored yet.&nbsp; If I find something that excites me enough, I'll write more (or... I won't write again until next August).
<br/><br/>
<p class="poweredbyperformancing">powered by <a href="http://performancing.com/firefox">performancing firefox</a></p>]]>
    </content>
</entry>

<entry>
    <title>Change of venue</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/06/change-of-venue.html" />
    <id>tag:www.omands.com,2006:/recon//5.39</id>

    <published>2006-06-17T07:05:38Z</published>
    <updated>2006-06-17T07:05:45Z</updated>

    <summary><![CDATA[Well, after a six year run at Sun Microsystems, I finally decided that there were greener pastures elsewhere.&nbsp; I left Sun on June 2, and promptly started work at Pixar Animation Studios on June 5.&nbsp; What with a new daughter...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>Well, after a six year run at Sun Microsystems, I finally decided that there were greener pastures elsewhere.&nbsp; I left Sun on June 2, and promptly started work at Pixar Animation Studios on June 5.&nbsp; What with a new daughter and all, I figured it would be a good move in terms of future popularity, and more importantly, it will put me in a happier mental state, which is important.</p>

<p>So far, I've just about completed my TD (Technical Director) training at Pixar -- I get to learn how to animate, even though I'm really working in software engineering.&nbsp; My initial assignment is in the QA department for the new animation pipeline tools Pixar is developing, so it's nice to get some comprehensive training on the last version of the tools (we're learning the version that the studio is currently using for the upcoming film <a href="http://www.apple.com/trailers/disney/ratatouille/">Ratatouille</a>).</p>

<p>In my week plus at Pixar, I've witnessed first hand what a great place it is to work.  Not only are there the perks that everyone always reports in the press, like a great cafe, food and drink, movie screenings, et al -- the more important aspect of the experience to me is the people.  Pixar is chock full of people that are leaders in their fields.  I look forward to learning everything that I can about software design and engineering from the software teams I'll be working with.</p>

<p>My goal is to move from QA to software engineering within the next year or so.  Although what I did most recently at Sun was primarily software design and implementation, not QA, I figured that coming to a new company with a massively complex new tool, being in QA would be the best way to learn how everything works.  One can only build with a solid foundation of knowledge, so that's what I aim to "develop" over the next year.  Of course, I always follow the mantra of "if it's worth doing once, it's worth writing a tool", so I'm sure that there will be other development going on within QA over the coming months.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Hello, and Good Morning</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/05/hello-and-good-morning.html" />
    <id>tag:www.omands.com,2006:/recon//5.40</id>

    <published>2006-05-25T05:20:00Z</published>
    <updated>2006-06-17T07:13:22Z</updated>

    <summary>Welcome, Audrey Jane -- today is your birthday....</summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>Welcome, Audrey Jane -- today is your <a href="http://static.flickr.com/65/155180590_7044fd1f65.jpg">birthday</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Data::Whatever</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/04/datawhatever.html" />
    <id>tag:www.omands.com,2006:/recon//5.28</id>

    <published>2006-04-18T06:18:56Z</published>
    <updated>2006-04-18T06:18:57Z</updated>

    <summary>In my day job, I developed a module which makes access to complex Perl data structures easier. I couldn&apos;t find any modules on CPAN that did exactly what I wanted to do. I needed to expose relatively complex networks of...</summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>In my day job, I developed a module which makes access to complex Perl data structures easier.  I couldn't find any modules on CPAN that did exactly what
I wanted to do.  I needed to expose relatively complex networks of Perl references to non-technical end users, and make it easy for them to understand the
structure, and search within it.  The consumer modules expose Solaris 10 <code>fmd</code> event telemetry information to Perl programs.  After writing
modules to gather information from the telemetry logs, I planned to provide filtering abilities, which boils down to searching for particular structure 'fingerprints'
within the telemetry, based on paths through the Perl data structure.  Rather than make users write (and comprehend) unwieldly paths like '$top->{key}[0]{key}{key}[0]',
which have far too much punctuation for people that aren't used to programming, I wanted to have them write paths like 'key[0].key.key[0]'.  This seemed to be
much cleaner visually, and therefore easier to understand.</p>]]>
        <![CDATA[

<p>Now, it is not always the case that users filter using a complete path -- otherwise it would be easy to just do a search and replace on the cleaned up path
string, turning it into a real Perl structure reference, then eval the result.  However, I wanted to enable users to search on partial key paths -- rooted at the leaves
of the structure.  After a lot of whiteboarding and testing, I ended up with a module (internally known as Ops::Struct) which essentailly walked the entire reference
network, looking for N matching paths, optionally searching scalar key values with a caller suplied regex.  The algorithm I arrived at in the prototype was very
complex -- honestly, I wrote it before I took CS106X at Stanford and truly learned how to design and analyze recursive and mutually recursive algorithms.  It did
take advantage of recursion, but didn't have anywhere near a simple base case -- the algorithm was ~150 lines of code.  It worked, and has since stood
the test of over a year of heavy production usage with no major issues.  However, I've never been happy with it, or how maintainable it was.  I eventually
intended to clean this module up and release it on CPAN, as I have found it to be quite useful.</p>

<p>The other day, I was testing a new feature of a script which uses modules built on top of the Struct module.  I noticed some strange behavior, and ended up
finding a relatively obscure bug that forced me to directly handle an edge case in the code.  Instead of just adding that edge case to the already complex function,
I decided that there was no time like the present to put all of the thinking I have done on complex data handling to use.  A week of work from home while nursing
a cold provided the ideal opportunity to work out a better way of solving this problem.</p>

<p>The solution was surprisingly simple, taking advantage of mutual recursion to walk specific types of references -- the array ref walk function recurses into itself,
or calls the hash ref walk function, and vice versa.  This reduced most of the functionality of the original Struct module to about 30 lines of code, and I believe that once
I get a chance to compare performance, will present a significant speedup.  At the very least, the win is in reduced code complexity -- so far, the branch/condition test
coverage is upwards of 95%, which would never have been possible with the old code.  The new module also has a smaller memory footprint.</p>

<p>I plan to release the rewritten module to CPAN shortly, but I'm stuck on a name.  At the moment, it's called Data::Easy, as it's an easy way of dealing with complex
data structures.  I'm also considering Data::Structure, Data::EasyKey, Data::Friendly -- but I can't decide.  Maybe someone that's read this far can offer a suggestion.
I do think it belongs in Data:: at the very least.</p>]]>
    </content>
</entry>

<entry>
    <title>Insanely Absurd</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/03/insanely-absurd-1.html" />
    <id>tag:www.omands.com,2006:/recon//5.25</id>

    <published>2006-04-01T07:31:41Z</published>
    <updated>2006-04-18T15:46:10Z</updated>

    <summary><![CDATA[Normally, I avoid most programming on MTV.&nbsp; because shows like Real World make me want to vomit.&nbsp; Seriously.&nbsp; However, from time to time I manage to find a rare gem of a program.&nbsp; Although it is just starting it's second...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="A/V" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>Normally, I avoid most programming on MTV.&nbsp; because shows like Real World make me want to vomit.&nbsp; Seriously.&nbsp; However, from time to time I manage to find a rare gem of a program.&nbsp; Although it is just starting it's second season, I had not yet witnessed the incredible absurdity of <a href="http://www.augenblickstudios.com/home/wonder.html" target="_blank" title="Danger is Fun">Wonder Showzen</a>.&nbsp; The entirety of season one aired over the last several days, and today marks the second season premiere.&nbsp; If anything can sell you on looking this show up (or running kicking and screaming, or both), it has to be the disclaimer at the start of the program:</p>]]>
        <![CDATA[<div style="text-align:center;font-weight:bolder;font-size:1.2em;color:white;background:black;margin:0 12em 0 12em; padding:2em 0 1em 0;border:thin solid #c0c0c0"><strong style="font-size:4em;color:red">WARNING</strong><br /><br />WONDER SHOWZEN CONTAINS OFFENSIVE,<br />DESPICABLE CONTENT THAT IS TOO<br />CONTROVERSIAL AND TOO AWESOME FOR<br />ACTUAL CHILDREN.&nbsp; THE STARK, UGLY,<br />PROFOUND TRUTHS WONDER SHOWZEN<br />EXPOSES MAY BE SOUL CRUSHING TO THE<br />WEAK OF SPIRIT.&nbsp; IF YOU ALLOW A CHILD<br />TO WATCH THIS SHOW, YOU ARE A BAD<br />PARENT OR GUARDIAN.</div><p>But, if you're willing to get past all of that, you're probably equipped to enjoy the show.</p>]]>
    </content>
</entry>

<entry>
    <title>Subversion Authz</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/03/subversion-authz.html" />
    <id>tag:www.omands.com,2006:/recon//5.23</id>

    <published>2006-03-25T00:27:30Z</published>
    <updated>2006-04-18T15:47:46Z</updated>

    <summary><![CDATA[I've been doing a lot of work with Subversion lately, both in my day job, and in some open source projects I work with (specifically Blastwave.org).&nbsp; Subversion is great in a lot of respects -- I especially like that it...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Version Control" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>I've been doing a lot of work with Subversion lately, both in my day job, and in some open source projects I work with (specifically Blastwave.org).&nbsp; Subversion is great in a lot of respects -- I especially like that it is able to utilize all of the excellent authentication, authorization, and other features of Apache 2.2.&nbsp; One thing I am unhappy about, however, is the static authz file which mod_authz_svn uses to limit read/write access to the database.&nbsp; Why a flat file? Why, oh why?</p>]]>
        <![CDATA[<p>Well, I have a couple of ideas about what to do here.&nbsp; There are two projects I'm considering, both of which migh be useful in different situations:</p><ol><li><strong>Modify (or rewrite) mod_authz_svn to optionally use the features of Apache 2.2 <a href="http://httpd.apache.org/docs/2.2/mod/mod_dbd.html" target="_blank" title="mod_dbd">mod_dbd</a>.</strong>&nbsp; Mod_dbd is a module which provides SQL server connection pooling functionality to other modules.&nbsp; Admins are able to specify db connections in httpd.conf, and client modules can then prepare and execute queries against the data source.&nbsp; If rewritten, mod_authz_svn could then leverage information stored in a SQLite, MySQL, or PostgreSQL database, which would make writing authz admin applications a lot easier (in my opinion, anyway -- managing concurrent access to files sucks).<br /><br />This option would likely take me the most time, as I've never written an Apache 2.x module in C before.&nbsp; The closest I've been to writing Apache modules is mod_perl 2.x.&nbsp; I'm also crippled in this effort by the lack of documentation and examples I've been able to find on mod_dbd, but one good example is all it takes.<br /><br /></li><li><strong>Standalone authz daemon.</strong>&nbsp; This daemon would open a named pipe, and monitor it.&nbsp; Apache mod_authz_svn would then open the pipe, and be served information by the daemon.&nbsp; I implemented something similar to this in the past, having syslog log to a pipe, putting remote host logs coming in via the local network into separate files.&nbsp; This *should* work the same way in principle, depending on how mod_authz_svn treats the pipe.&nbsp; When the pipe is opened, and the authz module reads, the daemon can retrieve information from anywhere -- database, network service, another process, or anything.<br /><br />Assuming that this works out technically, this project could be the shortest path to flee the current static file format.&nbsp; The daemon would provide a good opportunity to create the database schema and get it working properly before worrying about Apache authz.<br /></li></ol>]]>
    </content>
</entry>

<entry>
    <title>On infrequent blogging</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/03/i-wonder.html" />
    <id>tag:www.omands.com,2006:/recon//5.22</id>

    <published>2006-03-15T06:12:58Z</published>
    <updated>2006-03-15T06:43:42Z</updated>

    <summary><![CDATA[I would bet that the most common topic of blog entries around the world is apologizing for not blogging more often.&nbsp; I will not apologize (in this entry), but it has been far too long since my last entry --...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Blogging" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>I would bet that the most common topic of blog entries around the world is apologizing for not blogging more often.&nbsp; I will not apologize (in this entry), but it has been far too long since my last entry -- on this or any other blog.&nbsp; It is difficult to find time to update one blog, much less two.&nbsp; My work blog tends to get more attention (which, in it's current state, is a sad state of affairs), but most of the time, when I think of something to write, and actually have time, I'm at home.&nbsp; Blogging on my work blog from home smacks of completely unnecessary overtime, so I avoid it at all costs.&nbsp; When I do get the urge to write at home, I do make a solid attempt.&nbsp; Unfortunately, as I am not (yet) able to blog my thoughts via ESP, before typing word one, I have to:<br /></p><ol><li>get to a computer (or grab my notebook)&nbsp;</li><li>possibly boot the computer (or resume on the laptop)<br /></li><li>wait for the OS to boot</li><li>wait for the OS to become usable (esp. Windows XP)</li><li>load up the MT interface, or start w.Bloggar</li><li>write!</li></ol><p>Best case is that I'm already on my laptop.&nbsp; Worst case is that I have a ~5-10m delay between the idea and having some way of writing it down.&nbsp; I know, I know... there is always paper and pen, but I never think that way when I want to blog :).<br /></p>]]>
        
    </content>
</entry>

<entry>
    <title>Holy mother of pearl!  It&apos;s happening!!!</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2006/01/holy-mother-of-pearl-its-happe.html" />
    <id>tag:www.omands.com,2006:/recon//5.18</id>

    <published>2006-01-06T07:58:08Z</published>
    <updated>2006-01-06T08:06:29Z</updated>

    <summary><![CDATA[When I went in search of new gadgets coming out of CES this year, TiVo was the furthest thing from my mind.&nbsp; I had grown weary of waiting for a (non-DirecTV) HD capable TiVo box -- hell, I was even...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[When I went in search of new gadgets coming out of CES this year, TiVo was the furthest thing from my mind.&nbsp; I had grown weary of waiting for a (non-DirecTV) HD capable TiVo box -- hell, I was even sceptical about a dual tuner TiVo.&nbsp; Well, my wait is now over.&nbsp; Dual HD capable TiVo, Cablecard ready, with HDMI output, capable of recording 300h of video (don't know if that's 300h of HD, or 300h of SD, but it's still more than the Motorola crap Comcast is peddling these days).&nbsp; Gizmodo has the details and links to lots of pics -- <a href="http://us.gizmodo.com/gadgets/ces/tivo-series-3-yes-it-has-dual-hdtv-tuners-146895.php" target="_blank">read it and weep</a> folks.&nbsp; 2006 is gonna be a good year.]]>
        
    </content>
</entry>

<entry>
    <title>I Heart Tcl</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2005/11/i-heart-tcl.html" />
    <id>tag:www.omands.com,2005:/recon//5.9</id>

    <published>2005-11-02T06:17:21Z</published>
    <updated>2005-11-02T06:31:53Z</updated>

    <summary><![CDATA[People really don't give Tcl enough credit.&nbsp; Some do, but most really don't.&nbsp; The day really belongs to Java, which has attracted a lot of the newer developers lately.&nbsp; However, I think that as a first language for implementing small...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Tcl" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>People really don't give Tcl enough credit.&nbsp; Some do, but most really don't.&nbsp; The day really belongs to Java, which has attracted a lot of the newer developers lately.&nbsp; However, I think that as a first language for implementing small to medium sized apps, Tcl is ideal.&nbsp; Better yet are applications which embed Tcl as an extension language.&nbsp; This brings me to my point.</p><p>Lately, I've been using the XiRCON IRC client as my primary IRC application.&nbsp; I like apps like Chatzilla, but there seems to be a lack of automation, probably due to the fact that Chatzilla is embedded within a XUL application.&nbsp; It might be possible to do JavaScript (ECMAScript?) extensions in Chatzilla, but there doesn't seem to be a good IRC API availab le within Chatzilla for script developers (I'd be happy to be proved wrong on this).</p><p>XiRCON embeds Tcl as an extension language.&nbsp; Syntactically, Tcl is extremely easy to learn, as it has very few concepts to deal with.&nbsp; This in contrast to applications which extend with languages like Perl, which requires some attention in order to do things right, or a custom scripting language (except lua -- I heart lua too, but not as much as Tcl).&nbsp; As such, fitting a mental model of an application into your brain when it's expressed in Tcl is far easier.&nbsp; There are fewer language specific issues to deal with -- you really get to focus on the application API, rather than attempting to get the language syntax right.</p><p>I think that Tcl within XiRCON is a shining example.&nbsp; You can mix arbitrary Tcl commands and procedures with IRC commands (preceeded with a / character), and hook Tcl procedures to a wide variety of events coming from your IRC server.&nbsp; Right now, I'm using this functionality to join a standard list of channels, and notify the nickserv that I've arrived.&nbsp;&nbsp; Arguably a simple usage of such a powerful set of features.&nbsp; However, it would be easy to write Bots directly in XiRCON, which puts this client on par with XChat, which is arguably the best GUI IRC client available today.</p><p>I would have loved to use XChat on Windows XP, but I just cannot justify paying for XChat when I can get similar functionality for free from XiRCON!&nbsp; Sure, XChat has a larger base of scripts, as well as a number of plugins for other extension languages (Perl and Python, as well as Tcl).&nbsp; However, with Tcl XiRCON provides the right language for extending an IRC client.&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>Boo</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2005/10/boo.html" />
    <id>tag:www.omands.com,2005:/recon//5.8</id>

    <published>2005-11-01T02:13:29Z</published>
    <updated>2005-11-01T02:43:57Z</updated>

    <summary><![CDATA[... did I scare you?&nbsp; I hope so.&nbsp; Today is Halloween, and I'm here with my trusty sidekick The Turkey (my dog).&nbsp; We're waiting for children to come to the door tonight so that The Turkey might feed his insatiable...]]></summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>... did I scare you?&nbsp; I hope so.&nbsp; Today is Halloween, and I'm here with my trusty sidekick The Turkey (my dog).&nbsp; We're waiting for children to come to the door tonight so that The Turkey might feed his insatiable hunger for small humans dressed as vampires.&nbsp; So far, maybe 10 have come to my door.&nbsp; I am beginning to think that the $28 I spent on candy will now go directly to my bottom line, if you catch my drift.</p><p>&nbsp;I think I bought the right candy.&nbsp; It was a moral decision at Safeway tonight -- aren't there any healthy treat alternatives?&nbsp; Just kidding.&nbsp; I remember the old lady in my neighborhood that gave away travel bottles of mouthwash and raisins.&nbsp; Don't be that old lady.&nbsp; I also remember the people that gave out cans of soda.&nbsp; Don't be those people either -- that's too bloody expensive!&nbsp; I better get more than just a weak &quot;Trick or Treat&quot; if a kid wants a soda from my fridge.</p><p>Unfortunately, I didn't get out of work early enough to put together anything like a costume (weak, I know).&nbsp; Therefore, I am going as a Canadian tonight.&nbsp; It's scary because it's true.&nbsp; Many kids coming to the door tonight may have never seen a real live Canadian, except maybe in zoos.&nbsp; They might not even know that we walk among them like ghosts.&nbsp; Well, maybe not ghosts so much as good natured versions of themselves <img border="0" src="http://www.omands.com/mt/mt-static/plugins/Ajaxify/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif" />.</p><p>Happy Halloween, reader.&nbsp; I have to go scare some children.&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>First Post</title>
    <link rel="alternate" type="text/html" href="http://www.omands.com/recon/2005/10/first-post.html" />
    <id>tag:www.omands.com,2005:/recon//5.2</id>

    <published>2005-10-29T00:06:21Z</published>
    <updated>2005-10-30T20:17:30Z</updated>

    <summary>After a long hiatus, I&apos;ve finally got the ol&apos; home use blog back up and running. The last time I stopped was right after MT 3.11 was released, which was a long time ago. I just got around to updating...</summary>
    <author>
        <name>Cory</name>
        <uri>http://www.omands.com/recon</uri>
    </author>
    
        <category term="Blogging" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.omands.com/recon/">
        <![CDATA[<p>After a long hiatus, I've finally got the ol' home use blog back up and running.  The last time I stopped was right after MT 3.11 was released, which was a <b>long</b> time ago.  I just got around to updating to MT 3.2 about two months ago, and then had a bunch of problems trying to get Stylecatcher to properly apply themes to my new blog.  I'm not sure what the actual issue was, but it was solved by deleting the existing blogs from the site (there was no content anyway), then recreating them.  Now Stylecatcher works like a charm, and it's time to start installing loads of useful plugins, until something else malfunctions, and I leave the site untouched for another three months&lt;/cynicism&gt;.</p>]]>
        
    </content>
</entry>

</feed>
