<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Artistic Bot</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.artisticbot.com/atom.xml" />
    <id>tag:www.artisticbot.com,2008-09-16://228</id>
    <updated>2011-04-18T17:56:44Z</updated>
    <subtitle>Drawing, Painting, Sculpture and MORE!</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.35-en</generator>

<entry>
    <title>Watercolor Painting</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2011/04/watercolor-painting.html" />
    <id>tag:www.artisticbot.com,2011://228.22349</id>

    <published>2011-04-18T17:51:49Z</published>
    <updated>2011-04-18T17:56:44Z</updated>

    <summary>My mother visited this past weekend and she and my three year old daughter had a great time painting together. My mother is an accomplished artist and former art teacher, so she has plenty of experience teaching children the wonders...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Painting" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="watercolor" label="watercolor" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>My mother visited this past weekend and she and my three year old daughter had a great time painting together. My mother is an accomplished artist and former art teacher, so she has plenty of experience teaching children the wonders of art.</p>

<p>On Sunday, we also saw lots of watercolor paintings while waiting for brunch at the Black Market restaurant in <a href="http://www.bethesda-ntoes.com/">Bethesda</a>. </p>

<p>I would like to try watercolor art again sometime, too.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Wacom Tablet</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2011/04/wacom-tablet.html" />
    <id>tag:www.artisticbot.com,2011://228.22997</id>

    <published>2011-04-18T03:04:47Z</published>
    <updated>2011-09-18T04:28:22Z</updated>

    <summary>I&apos;ll be putting up a very nice Wacom tablet up for sale on eBay soon. The price will be good, and I&apos;ll post a link here once its up.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Graphic Design" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wacom" label="wacom" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>I&#8217;ll be putting up a very nice Wacom tablet up for sale on eBay soon. The price will be good, and I&#8217;ll post a link here once its up.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Justin B. Evans</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/12/justin-b-evans.html" />
    <id>tag:www.artisticbot.com,2010://228.21479</id>

    <published>2010-12-24T13:11:15Z</published>
    <updated>2010-12-24T13:14:57Z</updated>

    <summary>Justin B. &quot;the B stands for...&quot; Evans is a terrific artist. What makes his art so great? In my humble opinion, its his one-of-a-kind sense of humor.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Artists" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="artists" label="artists" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="comics" label="comics" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="humor" label="humor" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>Justin B. &#8220;the B stands for&#8230;&#8221; Evans is a terrific artist. What makes his art so great? In my humble opinion, its his one-of-a-kind sense of humor.</p>

<p>What do you think? Take a look at his website and see for yourself!</p>

<p><a href="http://www.justinbevans.com/">The Art of Justin B. Evans</a></p>

<p>He&#8217;s also to thank for introducing me to Garfield without Garfield!</p>

<p><a href="http://garfieldminusgarfield.net/post/2301645138/get-g-g-the-book-this-christmas" rel="nofollow">Garfield Minus Garfield</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>libx264</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/10/vorbis-and-x264.html" />
    <id>tag:www.artisticbot.com,2010://228.22684</id>

    <published>2010-10-28T04:42:58Z</published>
    <updated>2011-05-30T23:13:44Z</updated>

    <summary>New ffmpeg video options for x264 and vorbis.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="ffmpeg" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="audio" label="audio" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vorbis" label="vorbis" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="x64" label="x64" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>I'm using new video conversion options:</p>

<pre class="sh_sh">
ffmpeg -r 1 -i ~/Music/tmp.avi -f avi -acodec mp2 -ab 64k -ar 22050 -ac 1 -vcodec libx264 -vpre veryfast -b 768k -bt 768k -threads 2 ~/Music/tmp2.avi
</pre>

<p>Additional bonus, rotate a video 90 degrees with mencoder:</p>

<pre class="sh_sh">
mencoder -vf rotate=1 -o 2010-10-14_09-10-04_980_.3gp  -oac pcm -ovc raw 2010-10-14_09-10-04_980.3gp
</pre>

<p>The "veryfast" preset doesn't come on Ubuntu by default:</p>

<pre>
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
subq=4
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=2
directpred=1
trellis=1
flags2=+bpyramid-mixed_refs+wpred+dct8x8+fastpskip
wpredp=1
rc_lookahead=20
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>Stop Gimp From Displaying Hidden Files in Open File Dialog</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/08/stop-gimp-from-displaying-hidden-files-in-open-file-dialog.html" />
    <id>tag:www.artisticbot.com,2010://228.21226</id>

    <published>2010-08-18T02:33:05Z</published>
    <updated>2010-08-18T02:42:59Z</updated>

    <summary>I&apos;ve been annoyed by the endless lists of hidden files in the Gimp open file dialog for way too long. I finally got fed up enough to do a quick search for a solution (which took a whole two minutes) and found out how to get &apos;er done!</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Art Software" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="The Gimp" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dialog" label="dialog" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="files" label="files" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="gimp" label="gimp" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>FINALLY! I've been annoyed by the endless lists of hidden files in the Gimp open file dialog for way too long. I finally got fed up enough to do a quick search for a solution (which took a whole two minutes) and found out how to get 'er done!</p>

<h2>The Solution to Stop Gimp From Displaying Hidden Files in Open File Dialog?</h2>

<p>When the open file dialog is open, I right-clicked on the file list and was given the option to show or not show hidden files!</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"> <a href="http://www-01.evenserver.com/s/mt/2010/q3/20100817_hide_hidden_files_in_gimp.png" title="Hide Hidden Files in Gimp Open File Dialog" class="thickbox"> <img alt="Hide Hidden Files in Gimp Open File Dialog" src="http://www.artisticbot.com/s/img/2010/08/20100817_hide_hidden_files_in_gimp-thumb-328x314-103743.png" width="328" height="314" class="mt-image-center" /> </a> </span></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Lucky 7 Stores</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/08/lucky-7-stores.html" />
    <id>tag:www.artisticbot.com,2010:/blog//228.21182</id>

    <published>2010-08-07T03:53:53Z</published>
    <updated>2010-08-18T02:47:33Z</updated>

    <summary>In my humble opinion, Lucky 7 Store signs are cool. Too bad I&apos;ve only seen one of them!</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Digital Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="charlottesville" label="charlottesville" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="lucky7stores" label="lucky 7 stores" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pictures" label="pictures" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="signs" label="signs" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>In my humble opinion, Lucky 7 Store signs are cool. Too bad I've only seen one of them!</p>

<p>I spotted this one while visiting my friend Randy in Charlottesville last Thanksgiving:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"> <a href="http://www-01.evenserver.com/s/mt/2010/q3/20100806_lucky_7_stores.jpg" title="Lucky 7 Stores" class="thickbox"> <img alt="Lucky 7 Stores" src="http://www.artisticbot.com/s/img/2010/08/20100806_lucky_7_stores-thumb-328x185-103745.jpg" width="328" height="185" class="mt-image-center" /> </a> </span></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Another Intersection</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/07/another-intersection.html" />
    <id>tag:www.artisticbot.com,2010:/blog//228.21138</id>

    <published>2010-07-23T03:46:45Z</published>
    <updated>2010-07-23T03:47:59Z</updated>

    <summary>Just an old picture I took that I figured I&apos;d publish:...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Digital Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="driving" label="driving" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="intersection" label="intersection" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="photography" label="photography" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pictures" label="pictures" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>Just an old picture I took that I figured I'd publish:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"> <a href="http://www.artisticbot.com/blog/2010/q3/IMG_8438.jpg" title="Intersection in California" class="thickbox"> <img alt="Intersection in California" src="http://www.artisticbot.com/blog/s/img/2010/07/IMG_8438-thumb-228x171-103616.jpg" width="228" height="171" class="mt-image-none" /> </a> </span></p>
]]>
        

    </content>
</entry>

<entry>
    <title>El Bozo</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/07/el-bozo.html" />
    <id>tag:www.artisticbot.com,2010:/blog//228.21112</id>

    <published>2010-07-15T14:49:42Z</published>
    <updated>2010-07-15T14:50:44Z</updated>

    <summary>My friend drew this funky face waaaaay back in the day:...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Artwork" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="blackandwhite" label="black and white" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="elbozo" label="el bozo" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="faces" label="faces" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="linedrawings" label="line drawings" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>My friend drew this funky face waaaaay back in the day:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"> <a href="http://www.artisticbot.com/blog/2010/q3/el%20bozo%20part%20ii.jpg" title="el bozo part ii" class="thickbox"> <img alt="el bozo part ii" src="http://www.artisticbot.com/blog/s/img/2010/07/el bozo part ii-thumb-228x197-103587.jpg" width="228" height="197" class="mt-image-none" /> </a> </span></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Veronica #201</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/veronica-201.html" />
    <id>tag:www.artisticbot.com,2010:/blog//228.21003</id>

    <published>2010-06-23T23:44:07Z</published>
    <updated>2010-06-23T23:47:00Z</updated>

    <summary>The new Veronica comic book cover by Dan Parent is awesome!! Check it out: Order it at the Archie Comics Stuff Shop....</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Comics" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="archiecomics" label="archie comics" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="veronica" label="veronica" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>The new Veronica comic book cover by Dan Parent is awesome!! Check it out:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"> <a href="http://www-01.evenserver.com/s/mt/2010/q2/v201_0.jpg" title="Veronica" class="thickbox"> <img alt="Veronica" src="http://www.artisticbot.com/blog/s/img/2010/06/v201_0-thumb-228x350-103504.jpg" width="228" height="350" class="mt-image-none" /> </a> </span></p>

<p>Order it at the <a href="http://archiecomics.stores.yahoo.net/index.html">Archie Comics Stuff Shop</a>.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>CSS / CSS3 / MSIE CSS Alpha Gradients (and Browser Detection)</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/css-css3-msie-css-gradients.html" />
    <id>tag:www.artisticbot.com,2010://228.23497</id>

    <published>2010-06-16T00:30:14Z</published>
    <updated>2011-11-19T04:27:04Z</updated>

    <summary>Alpha Gradients - Yay! Creating gradients with transparency are usually relegated to PNG graphics files, as they support 24-bit alpha channels. With CSS3, this is becoming possible. Its not all that difficult either! Here&apos;s a simple CSS3 class which employs...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css3" label="css3" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="gradients" label="gradients" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="msie" label="msie" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<h3>Alpha Gradients - Yay!</h3>

<p>Creating <em>gradients with transparency</em> are usually relegated to PNG graphics files, as they support 24-bit alpha channels. With CSS3, this is becoming possible. Its not all that difficult either!</p>

<p>Here's a simple <strong>CSS3</strong> class which employs a <strong>gradient</strong> from gray to black, with support for recent versions of MSIE, Webkit (Safari, Chrome, etc.), and Mozilla (Firefox, Iceweasel, etc.):</p>

<pre class="sh_css">
.g2b {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#000000');
  background: -webkit-gradient(linear, left top, left bottom, from(#555), to(#000));
  background: -moz-linear-gradient(top,  #555,  #000);
}
</pre>

<p>For transparency, I'm using <strong>rgba</strong>, which in my experience is not supported by MSIE 7 or 8.</p>

<pre class="sh_css">
.transpgdbd {
  background: transparent;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(0.5, #000), to(#000));
  background: -moz-linear-gradient(top, rgba(0,0,0,0), #000 400px);
}
</pre>

<p>I've setup sketch99.com to with a CSS3 gradient so visitors can witness the action for themselves.</p>

<h3>Multiple Transitions</h3>

<h3>Browser Detection</h3>

<p>Speaking of MSIE versus the-rest-of-the-world, this <a href="http:// blog.niccai.com/post/51688182/maintainable-css-using-ie-specific-css-selectors">page</a> suggests and interesting way of creating an HTML body class specific to different versions of MSIE. I wouldn't use it, as its pretty bulky, and as the author admits, it doesn't validate.</p>

<p>If I were to do something like this, I would use the conditional operators to set a javascript variable in the head, and then use javascript or jquery to add the class once the opening body tag gets loaded. Granted, I don't know if that would even work, but its where I would start.</p>

<p>When it comes to browser detection, I'm OK with the comment based IE conditionals, but I don't like them. I don't enjoy supporting a company that doesn't support open source software! More to the point, I'm OK with them because even if a browser spoofs their user agent, only real MSIE browsers will process them.</p>

<p>This is similar to how jQuery suggests testing for user agents - <a href="http://api.jquery.com/jQuery.support/">check to see if it supports certain functionality</a> that needs to get used. If I want to check if a browser is IE, I will usually use:</p>

<pre class="sh_javascript">
if($.support.opacity) {
  // not IE, or at least not a modern browser
}
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>CSS3 Transparency / Opacity</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/css3-transparency-opacity.html" />
    <id>tag:www.artisticbot.com,2010://228.23496</id>

    <published>2010-06-15T23:54:16Z</published>
    <updated>2011-11-19T04:27:04Z</updated>

    <summary>Its simple enough: .transp5 { opacity: 0.5; } For browsers without CSS3 support: .transp5 { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; } I setup a couple of classes with trans + &quot;the level of opacity&quot;. Also, I recently wanted to...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css3" label="css3" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="opacity" label="opacity" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="transparency" label="transparency" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>Its simple enough: </p>

<pre class="sh_css">
.transp5 {
    opacity: 0.5;
}
</pre>

<p>For browsers without CSS3 support:</p>

<pre class="sh_css">
.transp5 {
  filter:alpha(opacity=50);
    -moz-opacity:0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
}
</pre>

<p>I setup a couple of classes with trans + "the level of opacity".</p>

<p>Also, I recently wanted to set a background color to be transparent, but not the text within it. This is also possible in browsers that support rgba (red, green, blue, alpha) color specifiers:</p>

<pre class="sh_css">
.transp5bg {
  background-color: rgba(0,0,0,0.50); 
}
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>AJAX and Back and Forward</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/ajax-and-back-and-forward.html" />
    <id>tag:www.artisticbot.com,2010://228.23495</id>

    <published>2010-06-14T17:04:14Z</published>
    <updated>2011-11-19T04:27:04Z</updated>

    <summary>Looking to enable back and forward history navigation in the browser when using AJAX to update page content in a dynamic manner. Of course I&apos;d like to use a jQuery plugin if I can find a good one! Here&apos;s what...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Javascript" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ajax" label="ajax" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jquery" label="jquery" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="json" label="json" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="navigation" label="navigation" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>Looking to enable back and forward history navigation in the browser when using AJAX to update page content in a dynamic manner.</p>

<p>Of course I'd like to use a jQuery plugin if I can find a good one!</p>

<p>Here's what I've found so far:</p>

<ul>
<li><a href="http://benalman.com/projects/jquery-bbq-plugin/">http://benalman.com/projects/jquery-bbq-plugin/</a></li>
<li><a href="http://plugins.jquery.com/project/history">http://plugins.jquery.com/project/history</a> (looks good)</li>
<li><a href="http://jqueryfordesigners.com/enabling-the-back-button/">http://jqueryfordesigners.com/enabling-the-back-button/</a></li>
<li><a href="http://www.overset.com/2008/06/18/jquery-history-plugin/">http://www.overset.com/2008/06/18/jquery-history-plugin/</a></li>
<li><a href="http://github.com/Panmind/jquery-ajax-nav">http://github.com/Panmind/jquery-ajax-nav</a> (looks good)</li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>jQuery, JSON, and HTML Tables</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/jquery-json-and-html-tables.html" />
    <id>tag:www.artisticbot.com,2010://228.23494</id>

    <published>2010-06-12T16:59:52Z</published>
    <updated>2011-11-19T04:27:04Z</updated>

    <summary>Some people can&apos;t stand HTML tables. Certainly, they are misused from time to time - like the times I have used them for positioning and layouts - but they are very useful for displaying organized data, and they can be...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="jQuery" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dom" label="DOM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="html" label="html" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jquery" label="jquery" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="json" label="json" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>Some people can't stand HTML tables. Certainly, they are misused from time to time - like the times I have used them for positioning and layouts - but they are very useful for displaying organized data, and they can be remarkably useful when made interactive for browsing, filtering, and manipulating.</p>

<p>Besides my faux pas with using tables for aesthetics, I have developed some sweet setups with tables. My first use was before I discovered jQuery and the famed tablesorter plugin, so I manually constructed pagination with PHP, SQL and and XSL - what fun! It worked quite well, surprisingly, even with single column sorting. :-)</p>

<p>After discovering jQuery and tablesorter, I switched up my game, or upgraded it I should say, and its really be a major improvement.</p>

<p>However, I've recently run into a situation with <a href="http://www.yodnsconf.com/web/">YoDNSConf</a> where the number of rows I'm working with is so large that my browser pretty much freezes my entire computer while tablesorter works its magic. I've tried some hacks:</p>

<ul>
<li>Loading the rows separately from the HTML page via AJAX</li>
<li>Appending more rows with AJAX during pagination</li>
<li>Hiding the table until tablesorter is done, then showing it</li>
</ul>

<p>None worked very well - but now that I'm significantly reworking YoDNSConf, I figured I'd take another go at it.</p>

<p>This time I'm building the table using DOM scripting, using JSON data. I was sure there had to be a jQuery plugin for building tables from JSON data, and in fact there are, but none are as simple as I'd hoped.</p>

<p>The one that caught my attention the most is called chain and it seemed to hold a lot of promise, but in the end wasn't quite what I was looking for - though I did like that it wasn't a template engine. Seems like a lot of the JSON2DOM scripts were template engines.</p>

<p>OK - guess that was the key to my search: <strong>json2dom</strong>! I just found this very cool, simple jQuery plugin which may just do what I want:</p>

<pre class="sh_javascript">
/**
 @param: je (dictionary) - json element description
  key (string) - html tag name
  value - one of:
   * String: text content
   * Array: array of child elements as json
   * JQuery: html content
   * Dictionary: jquery methods.
         key: method name.
         value: parameters (single value or array)
*/
function json2dom(je){
    // get tag name and content
    var tag,content;
    for(var key in je){
    if(tag)
        throw "dictionary must have a single item";
    tag = key;
    content = je[key];
    }

    // create tag element
    var element = $(document.createElement(tag));

    // add content
    // string (text content)
    if(typeof content == "string"){
    element.text(content);
    }

    // array (child elements)
    else if(content instanceof Array){
    for(var i=0,max=content.length;i<max;i++){
        element.append(json2dom(content[i]));
    }
    }

    // dom element or jQuery object (html content)
    else if(content instanceof jQuery){
    element.html(content);
    }

    // dictionary
    else{
    for(var method in content){
        if(content[method] instanceof Array)
        element[method].apply(element,content[method]);
        else
        element[method].call(element,content[method]);
    }
    }

    return element;
}

jQuery.extend({json2dom:json2dom});
</pre>

<p>Its still not exactly what I'm looking for, but finding it has definitely helped me figure out what I'm trying to accomplish, and how others have tried to do something similar by creating a jQuery plugin. Ideally - I'd like to deal only with JSON arrays (no html elements included), as well as avoid using templates.</p>

<p>OT: While searching, I also found <a href="http://plugins.jquery.com/project/treetable">treeTable</a>, which isn't at all what I was looking for, but it does look cool!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Javascript: The Good Parts</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/javascript-the-good-parts.html" />
    <id>tag:www.artisticbot.com,2010://228.23493</id>

    <published>2010-06-07T23:16:22Z</published>
    <updated>2011-11-19T04:27:04Z</updated>

    <summary> This looks like a terrific read! I&apos;ve often griped about javascript because it has to deal with different browsers, but it does indeed have some very nice properties for a programming language....</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Javascript" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<iframe src="http://rcm.amazon.com/e/cm?t=inforbanki-20&o=1&p=8&l=as1&asins=0596517742&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

<p>This looks like a terrific read! I've often griped about javascript because it has to deal with different browsers, but it does indeed have some very nice properties for a programming language.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Google Analytics in Javascript Only?</title>
    <link rel="alternate" type="text/html" href="http://www.artisticbot.com/blog/2010/06/google-analytics-in-javascript-only.html" />
    <id>tag:www.artisticbot.com,2010://228.23492</id>

    <published>2010-06-05T20:51:01Z</published>
    <updated>2011-11-19T04:27:03Z</updated>

    <summary>Google has updated their recommended Analytics code, and it seems that its possible to implement in an external javascript file. Totally awesome!! I&apos;ve got mine setup in the mt.js file which is used as part of the Movable Type setup....</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Javascript" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="analytics" label="analytics" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="google" label="google" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.artisticbot.com/">
        <![CDATA[<p>Google has updated their recommended Analytics code, and it seems that its possible to implement in an external javascript file.</p>

<p>Totally awesome!!</p>

<p>I've got mine setup in the mt.js file which is used as part of the Movable Type setup. I set a variable called "analytics_code" at the top, and then put this in at the bottom:</p>

<pre class="sh_javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', analytics_code]);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</pre>
]]>
        

    </content>
</entry>

</feed>

