<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>the world is round - Home</title>
  <id>tag:theworldisround.org,2008:mephisto/</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://theworldisround.org/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://theworldisround.org/" rel="alternate" type="text/html"/>
  <updated>2008-09-02T06:19:25Z</updated>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2008-09-02:17</id>
    <published>2008-09-02T06:12:00Z</published>
    <updated>2008-09-02T06:19:25Z</updated>
    <category term="Meta"/>
    <category term="site"/>
    <link href="http://theworldisround.org/2008/9/2/gotta-love-that-internet-archive" rel="alternate" type="text/html"/>
    <title>Gotta Love That Internet Archive</title>
<content type="html">
            &lt;p&gt;Thanks to our mutual friends at the &lt;a href=&quot;http://www.archive.org/&quot; title=&quot;Wayback Machine&quot;&gt;Internet Archive&lt;/a&gt; all my old posts are back*.  I still don&#8217;t have the comments but I doubt I would have bothered to copy those from the old server anyway.  Enjoy**.&lt;/p&gt;

&lt;p&gt;*:  Almost all, it hadn&#8217;t archived the memorial post and I&#8217;m not sure I want to re-post it anyway.  **:  And sorry for the flurry of re-posts for those who have read all these before.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2008-08-28:8</id>
    <published>2008-08-28T09:10:00Z</published>
    <updated>2008-08-28T10:01:52Z</updated>
    <category term="Life"/>
    <category term="death"/>
    <category term="lupus"/>
    <link href="http://theworldisround.org/2008/8/28/losing-the-battle" rel="alternate" type="text/html"/>
    <title>Losing the Battle</title>
<content type="html">
            &lt;p&gt;I&#8217;ve spent many nights sitting around in sorrow and self-pity wondering why my wife was taken from me by Lupus.  She was 27 years old.  She had a husband that would have made the sun kiss the moon just to see a smile on her face.  She had so very much more love to give and life to live.  Why was it her time?  I think I&#8217;m starting to realize why.&lt;/p&gt;

&lt;p&gt;Before she started suffering from some of the more severe things Lupus can cause in the early months of 2002 she was a vibrant 21 year old mother and wife.  Nothing ever slowed her down or made her tired.  She was always able to keep going no matter what.  She was driven to be the best mother she could be and fought with everything she had to be a great wife too.&lt;/p&gt;

&lt;p&gt;The first few months of 2002 brought a radical change we didn&#8217;t understand.  Suddenly she wasn&#8217;t able to grasp a door-knob with enough strength to twist it.  She had trouble standing or sitting, lying down was only slightly more comfortable.  Walking was a chore &#8211; it was pure agony.  She went from being totally capable of caring for our just over one year old son to being utterly petrified by the thought of not being able to get up and run to his side or worse yet, being able to overcome the pain of making it to his crib only to not have the strength to pick him up and comfort whatever caused his cries for help.&lt;/p&gt;

&lt;p&gt;We went to her family doctor early in August of that year to find out what was wrong.  On my birthday we got the call saying it was more than severe rheumatoid arthritis but was actually Lupus.  Later that month she saw a specialist who said it wasn&#8217;t just Lupus, it was the worst case of Lupus he had ever seen or was even aware of.  We researched Lupus over the next month and discovered rather quickly that while many people live long and reasonably healthy lives with Lupus someone with a case as severe as hers was likely terminal.  Our two year marriage and five year relationship by that point suddenly had an expiration date.&lt;/p&gt;

&lt;p&gt;Over the next six years I had almost as many occasions to be told by doctors that she wasn&#8217;t going to make it home.  I never believed them.  I knew she would fight and never give up.  She survived the birth of our second son in 2003 despite being told that she would probably die giving birth or that her immune system would go into overdrive after the baby was born and kill her shortly thereafter.  She survived being diagnosed with a complication from Lupus that made her heart beat with the same pace as an Olympic marathon runner in the middle of running a marathon &#8211; constantly.&lt;/p&gt;

&lt;p&gt;This year, 2008, brought with it a different tone to her illness.  It went from something that was just there and we knew it was there to being front-line and in our faces.  Every day seemed to be filled with a new complication and her illness seemed to accelerate.  Sometime in early April she had a severe stroke that left her mentally a shadow of her former self.  She was still coherent but had a hard time remembering things as simple as what year it was or what her birthday was; for a short period of time she even forgot we were married.&lt;/p&gt;

&lt;p&gt;By May when I got the call from her doctor that said her liver enzymes were elevated I didn&#8217;t need anyone to tell me she wasn&#8217;t going to come home from the hospital this time &#8230; I knew she wasn&#8217;t.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2008-08-24:7</id>
    <published>2008-08-24T08:14:00Z</published>
    <updated>2008-08-24T08:15:33Z</updated>
    <category term="Life"/>
    <category term="journey"/>
    <category term="widower"/>
    <link href="http://theworldisround.org/2008/8/24/finish-it" rel="alternate" type="text/html"/>
    <title>Finish It</title>
<content type="html">
            &lt;p&gt;Tonight I watched a movie that wasn&#8217;t about anything remotely close to what I thought it was about&#8230;&lt;/p&gt;

&lt;p&gt;When the previews came out for the movie my wife and I agreed that we wanted to go see this movie because it looked like an interesting romance story and we loved going to those together.  Time passed and the movie came out in the theaters.  That same time passed and my wife got very ill.  We never made it to that movie while it was in the theaters.  My wife did get a little better though.  More time passed and the movie came out on DVD.  And that same time passed again and my wife got much worse.  We never got to rent that movie and watch it together.  My wife never got better either.&lt;/p&gt;

&lt;p&gt;I find it strangely prophetic that &lt;a href=&quot;http://www.imdb.com/title/tt0414993/&quot; title=&quot;The Fountain (2006)&quot;&gt;&#8220;The Fountain&#8221;&lt;/a&gt;, while not necessarily written as one, is, to this particular widower, a story about a fellow widower&#8217;s journey as he grieves over the passing of his wife and that a repeating message, &#8220;Finish It!&#8221;, is the exact thing I need to figure out how to do.  I have to figure out how to finish my journey.  But to finish my journey &#8211; I must first find it&#8217;s beginning.&lt;/p&gt;

&lt;p&gt;I believe I&#8217;ve already found the very beginning of my journey.  Unfortunately I believe I&#8217;ve also made a mistake in that beginning as well.  I&#8217;ve attempted the impossible, failed, and I&#8217;ve hurt someone that didn&#8217;t deserve it in the process.  I hope this person can find it in them to understand that I made a mistake and for that I am deeply sorry.  I hope they can understand that I wish them only happiness.  I hope they can understand that I&#8217;m just starting my journey and that our paths will cross again if they are meant to.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2008-08-21:6</id>
    <published>2008-08-21T19:19:00Z</published>
    <updated>2008-08-21T22:20:32Z</updated>
    <category term="Meta"/>
    <category term="blog"/>
    <category term="life"/>
    <link href="http://theworldisround.org/2008/8/21/back-once-again" rel="alternate" type="text/html"/>
    <title>Back Once Again</title>
<content type="html">
            &lt;p&gt;This is really becoming a habit.  I post a few articles, become silent for a while, take the blog offline for one reason or another and then put it back online again just to repeat the whole cycle again.  As usual, I&#8217;ll try to get the articles from the last run posted soon.  I just have to make the time to fire up the old server and nab them.  The new server I&#8217;m running things on now should be considerably more stable as it&#8217;s completely new hardware &#8211; the old server was older than both my kids combined!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt;  For those finding me from &lt;a href=&quot;http://abelkeogh.com/&quot; title=&quot;The Official Website of Abel Keogh&quot;&gt;Abel Keogh&#8217;s site&lt;/a&gt; this, believe it or not, is an old blog.  Just one that gets a fresh start relatively often.  If you&#8217;re only interested in the posts related to the loss of my wife and how I&#8217;m learning to live on, please check back in a few days when I&#8217;ll have a separate RSS feed available for just the &lt;a href=&quot;/life&quot;&gt;Life&lt;/a&gt; related posts or you can simply bookmark the &lt;a href=&quot;/life&quot;&gt;section&lt;/a&gt; and visit every now and then.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;  I knew this worked but I had to track it down to make sure&#8230;  Here is the &lt;a href=&quot;/feed/life/atom.xml&quot;&gt;feed&lt;/a&gt; for the &lt;a href=&quot;/life&quot;&gt;Life&lt;/a&gt; section.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2008-08-19:2</id>
    <published>2008-08-19T22:21:00Z</published>
    <updated>2008-08-20T02:26:35Z</updated>
    <category term="Life"/>
    <category term="death"/>
    <category term="life"/>
    <category term="love"/>
    <link href="http://theworldisround.org/2008/8/19/living-on" rel="alternate" type="text/html"/>
    <title>Living On</title>
<content type="html">
            &lt;p&gt;I&#8217;ve spent the last few months trying to figure out the answer to the question: &#8220;How do I move on?&#8221;  A friend recently pointed out that it&#8217;s not &#8220;moving on&#8221; but rather &#8220;living on&#8221; that I have to figure out how to do.&lt;/p&gt;

&lt;p&gt;I&#8217;m still trying to figure out what the difference between those are but I think that&#8217;s part of what it takes to come back from losing a spouse.  For me, part of living on is finding myself again &#8211; I let myself disappear into my marriage and my relationship with my wife.  I know that it&#8217;s in my personality to put myself last and I imagine that is a large part of why I let myself be defined by my marriage and by her.  Now I&#8217;ve got to learn how to put myself back into my own list of priorities.  I have to figure out who I am all over again.&lt;/p&gt;

&lt;p&gt;It occurred to me over the past several days that I really don&#8217;t know myself as well as I think I do.  Even three months after her passing I still define myself by her.  I realized that I still do a lot of the things we would do together, at least those I can do alone anyway.  I wonder who I really am and what it is I really want and need because I just don&#8217;t know any more.  Some of this realization comes from reading the various &lt;a href=&quot;http://www.abelkeogh.com/writing/index.php&quot; title=&quot;Abel's Books, Essays, and other Writings&quot;&gt;writings&lt;/a&gt; of &lt;a href=&quot;http://abelkeogh.com/&quot; title=&quot;The Official Website of Abel Keogh&quot;&gt;Abel Keogh&lt;/a&gt; and seeing a few of the patterns and &lt;a href=&quot;http://www.abelkeogh.com/writing/widower-red-flag.php&quot; title=&quot;Red Flags When Dating A Widower&quot;&gt;red flags&lt;/a&gt; he talks about in myself.&lt;/p&gt;

&lt;p&gt;I&#8217;ve made a decision, the reason I&#8217;m writing this post, to pursue my definition for a while.  I&#8217;m going to take some time to understand why I am were I am at the moment and exactly what it is that makes me who I am.  I also plan to read &lt;a href=&quot;http://abelkeogh.com/room-for-two/&quot; title=&quot;Room for Two by Abel Keogh&quot;&gt;Room for Two&lt;/a&gt; in hopes that it will help me find those things in myself that I have to specifically define and maybe get someone else&#8217;s view on what it means to live on.  I don&#8217;t know how long this will take but I hope for the sake of certain people it doesn&#8217;t take very long at all.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2008-01-02:16</id>
    <published>2008-01-02T06:23:00Z</published>
    <updated>2008-09-02T06:08:47Z</updated>
    <category term="Meta"/>
    <category term="development"/>
    <category term="javascript"/>
    <category term="site"/>
    <category term="unobtrusive"/>
    <link href="http://theworldisround.org/2008/1/2/unobtrusive-value" rel="alternate" type="text/html"/>
    <title>Unobtrusive Value</title>
<content type="html">
            &lt;p&gt;Sorry to keep the trend of meta-blogging but my life really is that boring otherwise so here goes&#8230;&lt;/p&gt;

&lt;p&gt;In my last post I decided to let everyone know how I went about implementing that nice little search form trick of having the form input itself be its own label. Just check out the &lt;a href=&quot;http://theworldisround.org/2007/11/18/unobtrusive-search-form-default&quot;&gt;post&lt;/a&gt; for the details. Looking at this it was a working solution but it seemed ugly and as though there was too much of my code there. So lets see what I&#8217;ve done now.&lt;/p&gt;

&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td title=&quot;click to toggle&quot; class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;13&lt;tt&gt;
&lt;/tt&gt;14&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;15&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;16&lt;tt&gt;
&lt;/tt&gt;17&lt;tt&gt;
&lt;/tt&gt;18&lt;tt&gt;
&lt;/tt&gt;19&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;20&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;21&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class=&quot;r&quot;&gt;var&lt;/span&gt; DefaultField = Behavior.create({&lt;tt&gt;
&lt;/tt&gt;  initialize: &lt;span class=&quot;r&quot;&gt;function&lt;/span&gt;(options) {&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.options = &lt;span class=&quot;pt&quot;&gt;Object&lt;/span&gt;.extend({ className: &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt; }, options || {});&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; (!&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.options.defaultText)&lt;tt&gt;
&lt;/tt&gt;      &lt;span class=&quot;r&quot;&gt;throw&lt;/span&gt; new Error(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;FieldDefault: Must provide defaultText value&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;);&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.onblur();&lt;tt&gt;
&lt;/tt&gt;  },&lt;tt&gt;
&lt;/tt&gt;  onblur: &lt;span class=&quot;r&quot;&gt;function&lt;/span&gt;() {&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.element.value.blank())&lt;tt&gt;
&lt;/tt&gt;      &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.element.addClassName(&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.options.className).value = &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.options.defaultText;&lt;tt&gt;
&lt;/tt&gt;  },&lt;tt&gt;
&lt;/tt&gt;  onfocus: &lt;span class=&quot;r&quot;&gt;function&lt;/span&gt;() {&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.element.value == &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.options.defaultText)&lt;tt&gt;
&lt;/tt&gt;      &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.element.removeClassName(&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.options.className).&lt;span class=&quot;fu&quot;&gt;clear&lt;/span&gt;();&lt;tt&gt;
&lt;/tt&gt;  }&lt;tt&gt;
&lt;/tt&gt;});&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;Event.addBehavior({ &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;#q&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;: DefaultField({ defaultText: &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;live search...&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt; }) });&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;It&#8217;s not particularly shorter or cleaner, in fact I really hate the fact that almost every line has this.element in it multiple times but there&#8217;s one important difference between this code and its predecessor, it&#8217;s re-usable! The previous implementation was directly attached to the element and did not allow for any re-usability without being duplicated. Now I can re-use this behavior in a test suite and quickly verify it&#8217;s function in many browsers very quickly. I can also use this behavior elsewhere that similar functionality is desired and I don&#8217;t have to copy and paste the code.&lt;/p&gt;

&lt;p&gt;There&#8217;s also a hidden value to this technique. Had I re-used the previous implementation over several portions of a larger system and then decided to change how the default value was displayed, say I wanted to make it an overlay so it doesn&#8217;t impact other behaviors like live search where you may want to observe the field value for changes to fire off a search, I&#8217;d have to go modify at least a few of these implementations. This modification would have left me with different implementations of the same idiom without any way of telling them apart without digging through the code. By bottling this up in a behavior I can have multiple implementations with each having a descriptive name and appropriate documentation. More importantly, I can change all of them in a single place which makes it more maintainable.&lt;/p&gt;

&lt;p&gt;Again, if it wasn&#8217;t obvious this post relies upon &lt;a href=&quot;http://prototypejs.org/&quot;&gt;prototype.js&lt;/a&gt; and now also upon &lt;a href=&quot;http://www.danwebb.net/2007/12/12/low-pro-0-5-now-compatible-with-prototype-1-6&quot;&gt;LowPro&lt;/a&gt;. Check these libraries out if you haven&#8217;t already and make sure to look at them from the perspective of not necessarily just letting you keep your JavaScript out of your HTML, but also letting you bottle that JavaScript into more re-usable chunks because after all the last thing we want to do as programmers is write more code.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-11-18:15</id>
    <published>2007-11-18T18:18:00Z</published>
    <updated>2008-09-02T06:05:02Z</updated>
    <category term="Meta"/>
    <category term="javascript"/>
    <category term="mephisto"/>
    <category term="site"/>
    <category term="unobtrusive"/>
    <link href="http://theworldisround.org/2007/11/18/unobtrusive-search-form-default" rel="alternate" type="text/html"/>
    <title>Unobtrusive Search Form Default</title>
<content type="html">
            &lt;p&gt;This is a really simple thing that I&#8217;m sure dozens of other people have already implemented over and over by now and that&#8217;s not counting the hundreds whose &lt;a href=&quot;http://mephistoblog.com/&quot;&gt;Mephisto&lt;/a&gt; theme doesn&#8217;t do this out of the box.&lt;/p&gt;

&lt;p&gt;Basically I wanted my new theme, &lt;a href=&quot;http://www.ralree.info/2007/2/23/mephisto-theme-wibbish&quot;&gt;wibbish&lt;/a&gt;, to have some sort of label for the search box. Here&#8217;s my take on creating an &lt;a href=&quot;http://en.wikipedia.org/wiki/Unobtrusive_JavaScript&quot;&gt;unobtrusive&lt;/a&gt; default for the form field like you see on many sites these days. The idea is simple, when the form field is not focused and has no user entered value, it should have a CSS class appended to it so that its styling clearly indicates it&#8217;s in a default state while at the same time have its value set to some sane value that would work as a label in a traditional form layout. Once the field becomes focused, that new CSS class and default value should be removed to make it easier to modify the form field.&lt;/p&gt;

&lt;p&gt;Now to cut to the chase, here&#8217;s the code:&lt;/p&gt;

&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td title=&quot;click to toggle&quot; class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;13&lt;tt&gt;
&lt;/tt&gt;14&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;15&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;16&lt;tt&gt;
&lt;/tt&gt;17&lt;tt&gt;
&lt;/tt&gt;18&lt;tt&gt;
&lt;/tt&gt;19&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;20&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;21&lt;tt&gt;
&lt;/tt&gt;22&lt;tt&gt;
&lt;/tt&gt;23&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;Event.observe(&lt;span class=&quot;pt&quot;&gt;window&lt;/span&gt;, &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;r&quot;&gt;function&lt;/span&gt;() {&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;c&quot;&gt;// grab a reference to the search field&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;r&quot;&gt;var&lt;/span&gt; q = $(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;q&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;);&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;c&quot;&gt;// add a focus and blur handler to the search field&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;pt&quot;&gt;Object&lt;/span&gt;.extend(q, {&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;c&quot;&gt;// set the default text as an attribute of the object so it's only set once&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;    defaultText: &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Search&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;,&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;c&quot;&gt;// simple onBlur handler to add a &amp;quot;default&amp;quot; class and text to the field&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;er&quot;&gt;onBlur&lt;/span&gt;: &lt;span class=&quot;r&quot;&gt;function&lt;/span&gt;() { &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.value == &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;) &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.addClassName(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;).value = &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.defaultText; },&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;c&quot;&gt;// simple onFocus handlers to remove the &amp;quot;default&amp;quot; class and text from the field&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;    &lt;span class=&quot;er&quot;&gt;onFocus&lt;/span&gt;: &lt;span class=&quot;r&quot;&gt;function&lt;/span&gt;() { &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.value == &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.defaultText) &lt;span class=&quot;pc&quot;&gt;this&lt;/span&gt;.removeClassName(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;).&lt;span class=&quot;fu&quot;&gt;clear&lt;/span&gt;(); }&lt;tt&gt;
&lt;/tt&gt;  });&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;c&quot;&gt;// attach our handlers&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;  q.observe(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;blur&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;, q.&lt;span class=&quot;er&quot;&gt;onBlur&lt;/span&gt;.bindAsEventListener(q)).observe(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;focus&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;, q.&lt;span class=&quot;er&quot;&gt;onFocus&lt;/span&gt;.bindAsEventListener(q));&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;c&quot;&gt;// finally just trigger the onBlur event handler to initialize everything&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;  q.&lt;span class=&quot;er&quot;&gt;onBlur&lt;/span&gt;();&lt;tt&gt;
&lt;/tt&gt;});&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Of course, now that I&#8217;m done with this, it&#8217;s time to try writing a plugin or patching Mephisto to have an unobtrusive live search.&lt;/p&gt;

&lt;p&gt;Update: As if it wasn&#8217;t obvious, this is all based upon the excellent &lt;a href=&quot;http://www.prototypejs.org/&quot;&gt;prototype library&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-11-17:14</id>
    <published>2007-11-17T07:16:00Z</published>
    <updated>2008-09-02T05:59:26Z</updated>
    <category term="Thoughts"/>
    <category term="business"/>
    <category term="development"/>
    <category term="enlightenment"/>
    <category term="software"/>
    <link href="http://theworldisround.org/2007/11/17/boxes-of-thought" rel="alternate" type="text/html"/>
    <title>Boxes of Thought</title>
<content type="html">
            &lt;p&gt;Boxes are good things. We use them when we move to keep our stuff with our other stuff. We use them when we&#8217;re not moving to keep our other stuff away from our stuff. We use them daily to keep the nasty gremlins (the furry four legged kind that meow all the time and the short two legged kind that still like to push buttons and then ask &#8220;what does this button do?&#8221;) away from our expense stuff that make up the guts to our computers. We even live in &#8220;boxes&#8221; to keep the cold out (or in) and the rain off our heads. Boxes tend to be rather good things.&lt;/p&gt;

&lt;p&gt;Boxing software is a good thing. Box your project requirements, specs, work-flows, design drafts, and everything else you can put in a box, as long as that box is an 8.5x11 inch piece of plain white paper stapled or paper-clipped to a bunch more like it. Box your project itself with some sort structure/process even if that process is organized chaos, at least it has a definition at that point. Boxing software tends to be a rather good thing.&lt;/p&gt;

&lt;p&gt;If boxes are such good things on their own and boxing software, or software projects in particular, is typically a good thing, it should stand to reason(*) boxing thought would be a good thing, right? Let me give you an example of why this is a very bad thing&#8230;&lt;/p&gt;

&lt;blockquote&gt;&lt;div&gt;&lt;p&gt;I work for a fairly large corporation developing a next generation business software system. This corporation has been around for a long time and shows no signs of slowing down or faltering in any way in the foreseeable future. This company has more people than I care to count dedicated to software development (more than it needs really, but that&#8217;s another story for another day). They do a very good job of making sure the project has enough resources of all kinds to succeed. They really do the &#8220;IT thing&#8221; right.&lt;/p&gt;

&lt;p&gt;So where&#8217;s the horror story in there? It&#8217;s buried between the third and fourth sentences and reads something like this, &#8220;they don&#8217;t think beyond the box they already live in.&#8221; The reality of the company is that almost every business person in the company doesn&#8217;t want to think beyond what they already have. The majority of the projects the company is working on, from my perspective, is a re-write of an existing application in newer technologies doing a few more things. A few projects have gone far beyond this hurdle and are really treading new ground in the areas of functionality, speed, flexibility, etc. But none of that matters one bit for the lack of one thing.&lt;/p&gt;

&lt;p&gt;Of all the projects the company is working on, the two most important systems it has in development are being driven by requirements summed up in this way, &#8220;copy the old one.&#8221; That&#8217;s it. Copy the old system. This thought process goes from end-to-end in these two projects. And despite the fact that these systems are top-tier (client facing) and built upon vastly superior re-writes of the middle-tier systems those re-writes are replacing, the end result system will probably do less than their predecessors did almost 10 years ago.&lt;/p&gt;

&lt;p&gt;The company is entirely unwilling to try and find a better way. They see what they have today and that is what they want tomorrow. They view it as &#8220;if it ain&#8217;t broke, don&#8217;t fix it&#8221; which is just fine, except it&#8217;s broke and they don&#8217;t want to fix it. For years the company has locked itself into training its employee&#8217;s thought processes around the broken functionality of these two systems and now that they have the opportunity to break away from that and finally forge new ground, they&#8217;re so boxed into their current thought patterns that nothing outside of that makes sense.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;Now for some explanations of all that. First, I know that there is a huge fallacy near the beginning of the article, that&#8217;s the whole point of the article, get over it. Second, I know that I&#8217;m just a low-on-the-totem-pole programmer with zero business knowledge compared to the folks driving this &#8211; if you don&#8217;t see the hidden message, you&#8217;re on the outside and you&#8217;re &#8220;the business,&#8221; sorry.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-11-07:13</id>
    <published>2007-11-07T06:42:00Z</published>
    <updated>2008-09-02T05:56:30Z</updated>
    <category term="Meta"/>
    <category term="site"/>
    <link href="http://theworldisround.org/2007/11/7/simplicity-is-an-update-away" rel="alternate" type="text/html"/>
    <title>Simplicity Is An Update Away</title>
<content type="html">
            &lt;p&gt;As I&#8217;m sure others have encountered who chose to deploy a standard mongrel/rails setup, my site has never been able to auto-recover from a hardware related restart (read crash/blackout/etc). Well, it would seem that the newest mongrel_cluster gem added a &#8220;&#45;&#45;clean&#8221; option to the startup that removes stale pids that would otherwise keep mongrel from starting.&lt;/p&gt;

&lt;p&gt;This is great. Now I get to delete my completely non-functional cleanup script that I&#8217;d written to do this at boot time. Do you really want to keep power-cycling to figure out why it works when run by hand but fails miserably when run at startup? After I spent a few hours one night trying to figure out the cleanest way to parse out the pid_file entry from the various cluster configuration files in /etc/mongrel_cluster to be able to properly cleanup after a crash and never really liked what I had to do to get the right values out of that, the dang thing never worked and I have had to manually log in after each &#8220;outage&#8221; to fix it. At it never failed that I didn&#8217;t notice any of the times the site was down for at least a couple days so I doubt anybody thinks my site is even alive anymore.&lt;/p&gt;

&lt;p&gt;Now I simply update the start form of the mongrel_cluster init script to call &#45;&#45;clean and I&#8217;m done. Mongrel takes care of itself now. There&#8217;s hopefully some really elegant code somewhere in mongrel_cluster or mongrel_rails that deals with parsing the pid_file configuration line and hopefully the dang thing works during boot. The first hope is as easy as reading the code, which I&#8217;ll do later, while the second isn&#8217;t something I feel like testing right now so only time will tell.&lt;/p&gt;

&lt;p&gt;The funny thing about this whole story, at least what I got out of it, was that if I had first just checked for updates, I would have saved myself a night of trying to figure out how to cleanly parse the pid_file config line and the headache of seeing the thing not work. So the moral, boys and girls, is to always check for updates, it could save you a lot of time and maybe a headache or two.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-10-22:12</id>
    <published>2007-10-22T22:07:00Z</published>
    <updated>2008-09-02T05:52:18Z</updated>
    <category term="Thoughts"/>
    <category term="enlightenment"/>
    <category term="leadership"/>
    <link href="http://theworldisround.org/2007/10/22/aspiring-to-be-dumb" rel="alternate" type="text/html"/>
    <title>Aspiring To Be ... Dumb</title>
<content type="html">
            &lt;p&gt;So the other day a project lead asked, &#8220;how does a new project team that has just been put together from different sources and backgrounds manage to get around their differences and work together to produce a functional solution quickly?&#8221; My response: &#8220;simple, they must all aspire to be the dumbest person in the room.&#8221; To do anything else leads to failure, whether its partial or complete, failure is the only possibility.&lt;/p&gt;

&lt;p&gt;Why is this so? It&#8217;s simple human nature that we all think we&#8217;re the best at what we do. By thinking this way and not forcefully putting that thought pattern away when we&#8217;re working in a group we subconsciously attempt to impose that thought on others. The result is clashing opinions and thoughts hitting and tempers flaring. When we don&#8217;t suppress this part of our nature we end up attempting to be the &#8220;alpha&#8221; in the group. When someone is trying to prove they are the smartest in the group, they are dooming the group to failure in some way.&lt;/p&gt;

&lt;p&gt;By suppressing this thought process and instead aspiring to be the dumbest one in the group, we avert the problems created by alpha&#8217;s competing amongst each other. The result is often far better than just simple cooperation. By aspiring to be the dumbest person we tend to show others more respect, ask more questions even when they are simple ones, and are usually more open to criticism and even enlightenment.&lt;/p&gt;

&lt;p&gt;Great leaders become great leaders by aspiring to be the dumbest person in the room &#8230; they can&#8217;t all be wrong?&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-09-29:11</id>
    <published>2007-09-29T05:10:00Z</published>
    <updated>2008-09-02T05:50:17Z</updated>
    <category term="Thoughts"/>
    <category term="enlightenment"/>
    <category term="leadership"/>
    <link href="http://theworldisround.org/2007/9/29/resurrection-what-is-power" rel="alternate" type="text/html"/>
    <title>Resurrection -- What is Power?</title>
<content type="html">
            &lt;p&gt;I decided to resurrect a few articles from the &lt;a href=&quot;http://web.archive.org/web/20070105202024/http://www.xiterss.com/&quot;&gt;archives&lt;/a&gt;. Here&#8217;s the first, posted September 17th, 2006 @ 05:05 PM:&lt;/p&gt;

&lt;blockquote&gt;&lt;div&gt;&lt;p&gt;Many people have their own view of how to derive power within a group. Some think power comes only through rank provided by an outside force. Others see power as coming from ability and/or strength. Unfortunately it seems as though the vast majority view fear as the only way to evoke power.&lt;/p&gt;

&lt;p&gt;The reality though, is that real power comes only from mutual respect. I can choose to ignore rank as there is always a higher power, I can overcome strength and circumvent ability, and I can ignore fear as nothing is really worth fearing—I cannot ignore respect.&lt;/p&gt;

&lt;p&gt;If I show someone that I respect them and continue to do so, I will eventually earn their respect. Once we have mutual respect I don’t have to demand that someone do something, I can simply ask it of them and they will do it out of respect alone. Rank helps only when unknowns enter the group and have not built mutual respect with the others, when mis-used, rank only tends to drive disobedience as a test. Strength and ability help only when used to elevate the other members of the group, used un-wisely these things lead to power struggles within the group that eventually fragment the group. Fear never helps in the long run as although it may appear to have an immediate impact it drives members away from the group as soon as opportunity presents itself.&lt;/p&gt;

&lt;p&gt;So why is it that so many view fear as a motivational tool and a means of evoking power? Simple, they themselves are motivated only out of fear. They fear loosing what they have worked so hard to gain. They fear the uncertainty that comes from having no-one truely respect them. They fear life itself because they cannot be certain that others will come when needed.&lt;/p&gt;

&lt;p&gt;There are probably thousands of different views on how to derive power within a group … only respect brings true power.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-09-27:10</id>
    <published>2007-09-27T08:45:00Z</published>
    <updated>2008-09-02T05:44:38Z</updated>
    <category term="Life"/>
    <category term="death"/>
    <category term="life"/>
    <link href="http://theworldisround.org/2007/9/27/life-changing" rel="alternate" type="text/html"/>
    <title>Life Changing</title>
<content type="html">
            &lt;p&gt;I got a call from my mother late last night, it&#8217;s 3:15am CDT after all, saying that a friend of the family had been killed in a motor-cycle accident. I barely knew person but it will still become an event that changed my life. This event has made me decide to move ahead with a few ideas I&#8217;ve had lying around for a really long time.&lt;/p&gt;

&lt;p&gt;A few years ago, when I had my &lt;a href=&quot;http://web.archive.org/web/*/http://xiterss.com&quot; title=&quot;xiterss.com via the Wayback Machine&quot;&gt;first blog&lt;/a&gt; up, I posted this (with a few spelling corrections):&lt;/p&gt;

&lt;blockquote&gt;&lt;div&gt;&lt;p&gt;I think the status says it best, right now this project is really nothing more than some serious thought. However, my plan for CrossesByTheRoad.org is to create a community site where everyone is welcome to contribute a story. The stories are the important part of the site&#8230; The stories, or testimonies, are about those individuals/families who died in an automobile related accident.&lt;/p&gt;

&lt;p&gt;It dawned on me one day, as I passed a road-side memorial consisting of nothing more than a cross with a name on it and a bouquet of flowers beside it, that the only people who know anything about that memorial are those who are/were directly affected by the accident that prompted its placement. This inspired me to find out if anyone else had setup such a site, and thus far, I have been unable to locate one. Upon realizing such, I decided that I would try and create just that, a site dedicated to road-side memorials.&lt;/p&gt;

&lt;p&gt;If you have any ideas for this project, or even a testimony you would like to see posted on it, please contact me.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;Now&#8217;s the time to make that happen&#8230;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://theworldisround.org/">
    <author>
      <name>chris</name>
    </author>
    <id>tag:theworldisround.org,2007-09-27:9</id>
    <published>2007-09-27T08:07:00Z</published>
    <updated>2008-09-02T05:39:50Z</updated>
    <category term="Meta"/>
    <category term="site"/>
    <link href="http://theworldisround.org/2007/9/27/getting-old" rel="alternate" type="text/html"/>
    <title>Getting Old</title>
<content type="html">
            &lt;p&gt;This is getting really old at this point. I&#8217;ve now rebuilt this stupid site for &#8230; I&#8217;ve lost count how many times I&#8217;ve done it now. But I&#8217;m running on &lt;a href=&quot;http://mephistoblog.com/&quot;&gt;Mephisto&lt;/a&gt; &lt;a href=&quot;http://mephistoblog.com/download&quot;&gt;0.7.3&lt;/a&gt; and &lt;a href=&quot;http://rubyonrails.com/&quot;&gt;Rails 1.2.3&lt;/a&gt; now so I know things won&#8217;t change and I don&#8217;t need to bother with updates that are going to break stuff. I&#8217;ll still get bug fixes though as I&#8217;m using svn to maintain them.&lt;/p&gt;

&lt;p&gt;Who knows, maybe this was the spark I needed to start blogging again. We&#8217;ll see.&lt;/p&gt;
          </content>  </entry>
</feed>
