<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Ramblings</title>
        <link>http://www.kristoferbaxter.com/ramblings/</link>
        <description>Ramblings is a collection of small postings by Kristofer Baxter during the development of websites I have worked on.</description>
        <language>en</language>
        <copyright>Copyright 2008</copyright>
        <lastBuildDate>Tue, 15 Apr 2008 18:40:19 -0500</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>History meme</title>
            <description><![CDATA[<p>kbaxterlt:~/Projects kbaxter$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s \n",a[i],i}}'|sort -rn|head<br />
  308   sh <br />
   56   cd <br />
   54   svn <br />
   30   start <br />
   22   mvn <br />
   16   jconsole <br />
    7   tail <br />
    2   exit <br />
    1   vi <br />
    1   sv </p>

<p>sh for running rsync to my localhost (no compile needed!), start kicks up tomcat, and jconsole lets me reload bits without shutting down tomcat and restarting it.<br />
</p>]]></description>
            <link>http://www.kristoferbaxter.com/ramblings/2008/04/history-meme.html</link>
            <guid>http://www.kristoferbaxter.com/ramblings/2008/04/history-meme.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Unix</category>
            
            <pubDate>Tue, 15 Apr 2008 18:40:19 -0500</pubDate>
        </item>
        
        <item>
            <title>Internet Explorer and Operation Aborted (Part 1)</title>
            <description><![CDATA[<p>Let's talk about a particularly nasty IE bug which can be easily tested, but when occurs can cause developers to go rummaging through potentially hundreds of lines of code looking for a needle in a haystack. IE 5.5, 6, and 7 all fall victim to the 'Operation Aborted' error which causes a page to completely hault loading and display an error message.</p>
<p>This 'Operation Aborted' bug is caused, <a href="http://support.microsoft.com/default.aspx/kb/927917" rel="external">according to Microsoft</a>, because:</p>
<blockquote>&#8220;a child container HTML element contains script code that tries to modify the parent container element of the child container.&#8221;</blockquote>
<p>This means that IE doesn't want to allow you to modify an element's parent if it hasnt been fully loaded. This makes sense - it would be hard to access an element that isn't yet fully loaded. I would insert a joke or two about how every other modern web browser can do this correctly; but lets just focus on a solution for those people using IE.</p>
<p><b>So, how do we solve this problem</b></p>
<p>First, lets make an example case where the error occurs due to <a href="http://www.kristoferbaxter.com/examples/javascript/ie-operationaborted-1.html">changing innerHTML before IE is ready for it</a>, and <a href="http://www.kristoferbaxter.com/examples/javascript/ie-operationaborted-2.html">one where we append a childNode before IE is ready</a>.</p>
<p>Second, lets try using a popular Javascript framework's <a href="http://www.kristoferbaxter.com/examples/javascript/ie-operationaborted-3.html">domready command to initiate the insertions</a>.</p>
<p>And third, lets try a basic insertion of the script <a href="http://www.kristoferbaxter.com/examples/javascript/ie-operationaborted-4.html">following the elements which caused it</a>.</p>
<p><b>Conclusion</b></p>
<p>Both the use of the domready command and placing the script outside of the element it was trying to access worked. This gives us three possible options for tackling this problem:</p>
<ol>
<li><b>Use a domready function to activate your scripts</b>.<br />I think this is something that is a given anyway with most modern scripting, but its not the only solution (and as I'll show in my next post it doesn't solve the complicated cases of this problem).</li>
<li><b>Be sure your script accesses elements after those elements have been closed</b>.<br />This is the easiest solution, and a great reason why inline scripts really belong at the end of a xhtml document.</li>
<li><b>Use a onload function on the window object to activate your scripts</b>.<br />This is the fallback solution for cases which are not fixed by the first option, and in my next post I'll show an example of why this is necessary and how to implement it.</li>
</ol>]]></description>
            <link>http://www.kristoferbaxter.com/ramblings/2008/01/internet-explorer-and-operatio.html</link>
            <guid>http://www.kristoferbaxter.com/ramblings/2008/01/internet-explorer-and-operatio.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Bugfixes</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Internet Explorer</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Javascript</category>
            
            <pubDate>Wed, 23 Jan 2008 02:10:13 -0500</pubDate>
        </item>
        
        <item>
            <title>Flipping the Switch</title>
            <description><![CDATA[<p>For better or worse, I've decided to turn on my new site with known problems.</p>
<p>Q: Why would I do this?<br />A: My personal site can have bugs, they give me things I can blog about how to fix.</p>
<p>Here is a short list of broken items, in no order, I'll be attending to in the next few days:</p>
<ul>
<li>Blog styles for posts are sparse at best.</li>
<li>Comment form needs additional styling fixes.</li>
<li>The custom version of MooSifr I've used doesn't fix the EOLAS patent issue, forcing IE users to 'click to activate.'</li>
<li>Blog templates are slightly broken. More learning MT's tag syntax.</li>
</ul>
<p>And here are some longer term things that need to be done:</p>
<ul>
<li>Archive Blog pages need work. They are not formatted at all.</li>
<li>Custom Javascript validator needs to be more robust, and run automatically on forms when it's included.</li>
<li>Flickr photos need to be fed into the site.</li>
<li>Switch Ramblings over to Django.</li>
</ul>
<p>Nevertheless, even with a large list of todos, I think the site works pretty well.</p>]]></description>
            <link>http://www.kristoferbaxter.com/ramblings/2008/01/flipping-the-switch.html</link>
            <guid>http://www.kristoferbaxter.com/ramblings/2008/01/flipping-the-switch.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">About</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Bugfixes</category>
            
            <pubDate>Thu, 17 Jan 2008 23:34:56 -0500</pubDate>
        </item>
        
        <item>
            <title>Ramble, Ramble, Ramble</title>
            <description><![CDATA[<p>For years my co-workers have told me that I needed to start a weblog; a place where I could write down the solutions I come up with for the problems I have encountered as a web developer.</p>
<p>I put making that weblog as a last priority for far too long...</p>
<p>So, last week, when I started work on this revision of my personal website I ran into a issue where I couldn't remember how to solve a problem that I had encountered before. (Specifically, <a href="http://support.microsoft.com/default.aspx/kb/927917">this</a>). That was the kick that made me realize I should have made this weblog a long time ago.</p>
<p>I've decided to call this weblog Ramblings, because that's exactly what it will consist of. You can expect to find posts about solutions for front end web development and their root causes. Short and sweet, most of the entries will not take long to read (unless the comments on them begin to pile up).</p>]]></description>
            <link>http://www.kristoferbaxter.com/ramblings/2008/01/ramble-ramble-ramble-3.html</link>
            <guid>http://www.kristoferbaxter.com/ramblings/2008/01/ramble-ramble-ramble-3.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">About</category>
            
            <pubDate>Thu, 17 Jan 2008 22:45:17 -0500</pubDate>
        </item>
        
    </channel>
</rss>
