<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9009062595692624807</id><updated>2012-02-15T23:45:44.189-07:00</updated><category term='Apple Flash USB iPhone Floppy'/><category term='JQuery tooltip javascript simple free'/><category term='W'/><title type='text'>Epiphadave</title><subtitle type='html'>Web development, video production, photography, unix administration, child development, home construction and remodeling... All sorts of cool stuff I learn (at least I think it is cool).  I leech tons of info off of the internet, so I need to give back...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2801356436375561417</id><published>2012-02-01T16:49:00.000-07:00</published><updated>2012-02-01T16:49:33.161-07:00</updated><title type='text'>Prevent All Non Desirable Apache Methods</title><content type='html'>So our security audit claims that I have to shutdown all Apache httpd methods but POST, GET and HEAD. &amp;nbsp;I went to the Apache documentation and they claim you should use LimitExcept. &amp;nbsp;Sounds great right, so I tried using it in all the places they allow, but it doesn't work anywhere I put it. &amp;nbsp; After scouring the web I have just given up and used something really simple:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RewriteEngine On&lt;br /&gt;RewriteCond %{REQUEST_METHOD} ^(?!POST|GET|HEAD)&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;&lt;br /&gt;Works great (with the minor performance cost)... I wish Apache would just fix LimitExcept so it could be global. &amp;nbsp;Some of us don't use Directory entries like they expect.&lt;br /&gt;&lt;br /&gt;Just thought I'd post though so that others may not have to suffer the same waste of time as myself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2801356436375561417?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2801356436375561417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2801356436375561417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2801356436375561417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2801356436375561417'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2012/02/prevent-all-non-desirable-apache.html' title='Prevent All Non Desirable Apache Methods'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-3971888999358363425</id><published>2011-02-25T17:46:00.001-07:00</published><updated>2011-02-25T17:47:30.464-07:00</updated><title type='text'>Simple way to do a facebook like check in java</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;People are making this so hard. &amp;nbsp;Now facebook is moving from fbml you gotta do the like check yourself instead of using the very convenient&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;fb:visible-to-connection&gt;.  Here is my simple solution after 3 hours of trying the hard versions.&lt;/fb:visible-to-connection&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 11px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;static final Pattern FB_SIGNED_REQUEST_PATTERN = Pattern.compile("liked\":(.)");&lt;br /&gt;static final BASE64Decoder BASE64_DECODER = new BASE64Decoder();&lt;br /&gt;public static boolean isFacebookFan(HttpServletRequest request)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;throws Exception&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String fbreq = request.getParameter("signed_request");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if (fbreq == null) throw new Exception("No request");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;fbreq = new String(BASE64_DECODER.decodeBuffer(fbreq));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;log.error(fbreq);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Matcher m = FB_SIGNED_REQUEST_PATTERN.matcher(fbreq);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return m.find() &amp;amp;&amp;amp; m.group(1).equals("t");&lt;br /&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-3971888999358363425?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/3971888999358363425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=3971888999358363425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3971888999358363425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3971888999358363425'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2011/02/simple-way-to-do-facebook-like-check-in.html' title='Simple way to do a facebook like check in java'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-3849499672368321603</id><published>2011-01-11T16:54:00.000-07:00</published><updated>2011-01-11T16:54:42.857-07:00</updated><title type='text'>The Firesheep Problem, and How rcwilley.com Is Protected</title><content type='html'>Recently with the new "Firesheep" firefox addon that steals facebook and twitter sessions over unsecured wifi sidejacking is in the news. &amp;nbsp;I thought I'd sit down and write about my solution to the problem which protects rcwilley.com sessions from being hacked.&lt;br /&gt;&lt;br /&gt;A few years ago when I changed jobs into the web engineering business I was forced to get up to speed on session cookies and how they are used. &amp;nbsp;&amp;nbsp;For those of you not familiar with how cookies work here is a quicks simplified primer:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cookies&lt;/b&gt; are little pieces of data that a website can send to your browser. &amp;nbsp; Then whenever your browser communicates with the same server it got the cookie from, it sends it in the request. &amp;nbsp; The web server can then look at this cookie and know what browser he is talking with. &amp;nbsp;When you log into a website, it is very common for them to send a piece of data called a &lt;b&gt;session cookie&lt;/b&gt; to your browser. &amp;nbsp;Then every time you ask for a new page they know who you are. &amp;nbsp; Now this is all perfectly secure and safe as long as you never communicate with the server over a non-secure http connection. &amp;nbsp;However most websites, after using a secure https connection to send your login and password over, switch back to http for performance. &amp;nbsp;They don't pass your password any more, but every request from your browser has the session cookie sent &lt;b&gt;UNPROTECTED&lt;/b&gt; to the server. &amp;nbsp;That is how the server knows who you are for the rest of your visit.&lt;br /&gt;&lt;br /&gt;Now there is a concept of a &lt;b&gt;secure cookie&lt;/b&gt;&amp;nbsp;which the browser is only allowed to send over a secure https connection, but they are hardly ever used. &amp;nbsp;This is because the user may make a request over http all of a sudden, and the server won't know who it is.&lt;br /&gt;&lt;br /&gt;One of my first tasks was to create a single sign on kind of solution that allowed customers to log into our site and stay logged in while they moved between normal and secure pages on our site. &amp;nbsp;&amp;nbsp;I got it working the commonly accepted way of using the session cookie to maintain the users login credentials throughout their visit. &amp;nbsp;This worked just fine, but I wanted to make sure my solution was secure when we switched between http and https.&lt;br /&gt;&lt;br /&gt;After hunting around on the internet on ways to hack sessions I learned about sidejacking. &amp;nbsp;This is when someone able to watch network traffic between a browser and the web server just grabs a session cookie and uses it to pretend to be someone else. &amp;nbsp;I asked one of the top engineers at my web consultant firm how to prevent this, and he said I shouldn't worry about it because it was to hard to do a sidejack of a cookie, and no one else worried about it. &amp;nbsp;I visited many big websites, and watched their cookie usage. None of them used secure cookies. &amp;nbsp;Facebook and twitter were common examples of these kind of sites, so it seemed that my co-worker was right about sidejacking being a non-issue.&lt;br /&gt;&lt;br /&gt;Basically web sites seem to be in the following camps:&lt;br /&gt;&lt;br /&gt;1. Sites that are stateless and need no cookies&lt;br /&gt;2. Sites that use https for login, but&amp;nbsp;no secure cookie, risking an http connection sending the cookie in the open. &amp;nbsp;These are the risky ones like facebook and twitter.&lt;br /&gt;3. Sites like 2&amp;nbsp;&amp;nbsp;that fortunately make you login again every time you go into a secure area. &amp;nbsp;This helps.&lt;br /&gt;4. Sites like 2 that make you login every time you enter a secure area, and then use a secure cookie. &amp;nbsp;Amazon appears to be in this camp.&lt;br /&gt;5. Sites that are completely https and use secure cookies and suffer the performance penalties. &amp;nbsp;Mostly banks and the like.&lt;br /&gt;&lt;br /&gt;My favorite kind of site is 2 because it doesn't irritate the user after they already logged in, but it is too risky. &amp;nbsp;I still just didn't feel right about being a type 2 site. &amp;nbsp;So for rcwilley.com I adopted a combination solution that would give me the benefits without the problems. &amp;nbsp; The simple solution is to use both secure and normal cookies, and require the secure cookie whenever the user re-enters a secure area. &amp;nbsp;It was very easy to implement and completely solves the problem as far as I can figure. &amp;nbsp; Twitter and Facebook ought to consider this method if they don't want to go completely secure like a bank.&lt;br /&gt;&lt;br /&gt;Now some nitty gritty details for those who care. &amp;nbsp;When the user logs in, I do it over a secure request and I give them their normal session key in a normal cookie. &amp;nbsp;I don't have to mess with the default behavior of tomcat at all. &amp;nbsp;At the same time I also generate a secure cookie and send that as well. &amp;nbsp;The secure cookie value is simply stored in their session with everything else. &amp;nbsp;Thereafter they can go to an http section of the site, and back without having to re-login. &amp;nbsp; Whenever they try to make a secure request from then on I just check to make sure they also sent me the correct secure cookie as well. &amp;nbsp;Otherwise they have to log in again. &amp;nbsp;Works like a charm.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-3849499672368321603?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/3849499672368321603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=3849499672368321603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3849499672368321603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3849499672368321603'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2011/01/firesheep-problem-and-how-rcwilleycom.html' title='The Firesheep Problem, and How rcwilley.com Is Protected'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-725157861277928031</id><published>2010-06-11T09:20:00.006-06:00</published><updated>2010-09-10T17:50:11.111-06:00</updated><title type='text'>IPhone 4's Great New Camera... What is a backlit sensor?</title><content type='html'>The new iPhone 4 has a great new backlit camera sensor.  Most people don't understand why this is nice so I wrote up this little description for the TII Podcast I listen to.  A major factor in my recent camcorder purchase was the backlit camera sensor of the Sony camcorders.  This sensor severely reduces graininess in lower light situations making it a must have for me.   &lt;br /&gt;&lt;br /&gt;Here's how it works.  Light sensor pixels are not very reliable at low levels of brightness so the camera turns on the backlight to make sure this doesn't happen.  Of course this makes the whole scene uniformly brighter, but the camera uses an algorithm to darken it back down again when the light is on so that you don't notice the difference.  &lt;br /&gt;&lt;br /&gt;This is a very smart implementation of the technique used in the movies for years to get around the same problems with film cameras.  When the crew of a movie films a night scene they don't really film it in the dark.  Instead they film it on a well lighted set and darken it in post production avoiding the graininess that comes from low light filming.&lt;br /&gt;&lt;br /&gt;Just thought this was interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-725157861277928031?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/725157861277928031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=725157861277928031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/725157861277928031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/725157861277928031'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2010/06/iphone-4s-great-new-camera-what-is.html' title='IPhone 4&apos;s Great New Camera... What is a backlit sensor?'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-7605214024304571045</id><published>2010-04-26T12:37:00.006-06:00</published><updated>2010-09-10T17:48:54.716-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery tooltip javascript simple free'/><title type='text'>Simplest JQuery ToolTips</title><content type='html'>Well I think I may have developed the simplest tooltips possible using JQuery.  Everything out there seemed too fancy and took too much space, so I just whipped up something super simple.  All you need is the amazing JQuery library, this javascript method:&lt;br /&gt;&lt;br /&gt;$(document).ready(function(){enableTooltips(verticalOffset, horizontalOffset)}) // Set these values how you like, I used 35, 0&lt;br /&gt;&lt;br /&gt;function enableTooltips(topOffset, leftOffset)&lt;br /&gt;{&lt;br /&gt;$('[tooltipText]').bind(&lt;br /&gt;{&lt;br /&gt;mouseover: function() {&lt;br /&gt; if ($('#tooltip').length == 0)&lt;br /&gt;  $('body').append('&lt;div id="tooltip"&gt;&lt;/div&gt;')&lt;br /&gt; var o = $(this).offset()&lt;br /&gt; o.top += topOffset;o.left += leftOffset&lt;br /&gt; $('#tooltip').css(o).html($(this).attr('tooltipText'))&lt;br /&gt; .stop(true).animate({n:0},1000).fadeTo(300,1)&lt;br /&gt; .animate({n:0},5000).fadeTo(500,0)&lt;br /&gt;},&lt;br /&gt;mouseout: function() {&lt;br /&gt; $('#tooltip').stop(true).animate({nothing:0},500).fadeTo(500,0)&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;And some css like this:&lt;br /&gt;&lt;br /&gt;#tooltip {&lt;br /&gt;font:normal 12px Verdanna, Arial, Helvetica, sans-serif;&lt;br /&gt;position: absolute;&lt;br /&gt;z-index: 1000;&lt;br /&gt;border: 1px solid #111;&lt;br /&gt;background-color: #eee;&lt;br /&gt;padding: 2px;&lt;br /&gt;opacity: 0;&lt;br /&gt;filter:alpha(opacity=0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;On the items you want tooltips just put a tooltipText property like this:&lt;div&gt;&lt;br /&gt;&lt;div&gt;&amp;lt;input type="submit" src="ButtonHome.gif" tooltiptext="Go to home"&amp;gt;&lt;/div&gt;&lt;br /&gt;and you win!  JQuery is amazing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-7605214024304571045?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/7605214024304571045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=7605214024304571045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7605214024304571045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7605214024304571045'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2010/04/simplest-jquery-tooltips.html' title='Simplest JQuery ToolTips'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-3548085736455146756</id><published>2010-04-23T14:13:00.006-06:00</published><updated>2010-05-04T13:24:59.462-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple Flash USB iPhone Floppy'/><title type='text'>The Apple Flash battle is similar to the USB and Floppy transition</title><content type='html'>Just a short note today as an iPhone user.&lt;br /&gt;&lt;br /&gt;It is painful that Apple has booted Flash out of their phone, and as a user it causes me to suffer a bit, but I think change has to hurt.   This is just Apple's thing.  They like to force innovation to happen, which has made a crucial difference in consumer electronics and software over the years.  &lt;br /&gt;&lt;br /&gt;Intel invented USB, but could not get it implemented in Windows computers.  I was very irritated when Apple tossed their PS2 like serial ports on all their machines but... I think it did have the needed effect of accelerating USB adoption.  &lt;br /&gt;&lt;br /&gt;They did the same thing with the floppy transition, when they dropped the drives from all their stuff.  It was a bit painful for a while but thumb drives and writable CDs came along quickly and solved that.&lt;br /&gt;&lt;br /&gt;Apple is irritating people with this, BUT it is absolutely having the effect of making HTML 5 a reality just as it did with USB, and the floppy.  Even Microsoft has put very good support in IE 9.  I don't think this would have happened nearly as quickly without the iPhone thing, and as a web engineer I appreciate the push.  &lt;br /&gt;&lt;br /&gt;I must keep my iPhone jailbroken thanks to stupid Apple limitations, but on most things I thank Apple for making me suffer for a bit. Without them we might still be using DOS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-3548085736455146756?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/3548085736455146756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=3548085736455146756' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3548085736455146756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3548085736455146756'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2010/04/apple-flash-battle-is-similar-to-usb.html' title='The Apple Flash battle is similar to the USB and Floppy transition'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2934027250448924887</id><published>2010-01-08T13:13:00.008-07:00</published><updated>2010-07-29T11:48:39.841-06:00</updated><title type='text'>JSTL is Old Fashioned But Cool</title><content type='html'>I am not afraid to say that I really like JSTL.  It may be old fashioned, but it gets the job done very nicely.   Is it just me, or do many of these new frameworks just seem like they don't buy you all that much.  Anyway I created this post to shove my favorite JSTL expressions/hacks, toolkits etc.  I'll just keep editing it to add more as I think of them/find new ones.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;---&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Quickly get the current year from JSTL (and jsp)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;lt;jsp:usebean id="now" class="java.util.Date"&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;c:set var="year" scope="page" value="${now.year+1900}"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;---&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I really like the displaytag library.  So simple and powerful (especially for internal crud pages).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://displaytag.sf.net&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;---&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why does CSS suck so bad? They forget basic things like allowing URLs to break in a table so the table formatting doesn't get thrown out.  Here is a snipped to stick hidden breaks in a url so that it will wrap (oh, and still escape xml).... Argh!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;${fn:replace(fn:escapeXml(variablename),"/","/&lt;wbr/&gt;")}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2934027250448924887?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2934027250448924887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2934027250448924887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2934027250448924887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2934027250448924887'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2010/01/jstl-is-old-fashioned-but-cool.html' title='JSTL is Old Fashioned But Cool'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-364974076390533644</id><published>2009-11-23T22:13:00.005-07:00</published><updated>2009-11-24T09:24:28.047-07:00</updated><title type='text'>New Moon Gets It Right And Rakes In The Dough</title><content type='html'>Hi there whoever may be reading this.  I've been really happy to hear of New Moon's success.  Stephenie Meyer really seems like a great person, and I love to see her succeed.  The thing that has really surprised me is how much she and the no-name production company Summit Entertainment is succeeding this time.   In case you didn't know the movie made $275 million dollars in the first weekend.  Third to Dark Knight and Spider Man 3 in it's opening weekend in the US.  Top opening ever in China.  Amazing.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I mean, put this in perspective.  Today Disney announced that Johnny Depp has agreed to take 35 million to reprise his role as Captain Jack.  Dark Knight and Spider Man 3 cost around 250 million each to make.  New Moon is competing against these movies and cost only 50 million to make.  They are making a killing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why does this movie succeed where so many others fail, and at such a tiny cost?  Well, I can think of 3 reasons that probably have something to do with it:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;They are relatively clean.  Devoid of crass language, potty humor, and overt sex.&lt;/li&gt;&lt;li&gt;They target women.   80% of the tickets were sold to women this weekend.  Let's face it, women are rarely targeted effectively with the blockbuster movies.  Hollywood usually puts much more effort into men.&lt;/li&gt;&lt;li&gt;They target the fans!  Less people are excited about the Harry Potter movies because the people who love the books (a HUGE number of their viewers) hate the destruction of the stories that happens in the movies.   The twilight movies (and the books for that matter) are designed to please the fans!  What a revolutionary concept!   This makes me wonder what would've happend if the Harry Potter movies had gone after the book fan base.  Would they be up there in the top 3 too?&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Anyway, I was happy to be one of the men in the 20% this weekend.  Sure the movie was a bit cheesy,  sure it would be nice if Edward smiled once in a while,  sure Jacob could show off his chest a bit less... ;-)   But I really enjoyed watching it with my wife.  I am happy to see a movie that compliments the book, one that is produced outside the hollywood mainstream, and one that is changing the rules of what movies can succeed in a big way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am sure that this will not go unnoticed by Hollywood, and that we are going to see a ton of copycat movies coming out soon that I will have to sit through...  Chick flicks are back in vogue, and I may even like it.... Maybe.... &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-364974076390533644?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/364974076390533644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=364974076390533644' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/364974076390533644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/364974076390533644'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/11/new-moon-gets-it-right.html' title='New Moon Gets It Right And Rakes In The Dough'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-8283614949271689561</id><published>2009-11-03T18:36:00.006-07:00</published><updated>2009-11-08T23:13:03.634-07:00</updated><title type='text'>Halloween 2009</title><content type='html'>Well we survived another crazy Halloween season.  This year in haunt news:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Bought a brand new projector with money from our DVD and music sales.  A Panasonic PT-AE3000U  which is the one I have been planning to purchase for a few years (at least the older model).  It is a very nice full HD projector, and looked great on my house.   We watched Johnny Depp in "Secret Window" last night, and it looked great.  OK movie by the way.  Johnny Depp can make anything fresh.&lt;/li&gt;&lt;li&gt;Remixed the whole haunt to 1080p HD.  That took most of my time for haunt enhancement this year, but it was worth it.  When watching the haunt everyone kept saying "____ is new this year right?"  I just kept saying, "no, it was there before, you just couldn't see it ;-)".  Hooray for HD!  Only problem is that with the 16x9 aspect I had to put the projector further away from my house.  I also had to lower it to let me get the sidewalk and the top of the house.   This is very unfortunate because people's shadows were much more obvious.  Don't know the solution to that one though because any farther back and I will have to cut down my neighbors trees just like I did mine ;-).&lt;/li&gt;&lt;li&gt;Built a huge 16 foot projection tower to put my new projector in.  I opted to make it out of 3" ABS so the projection box can go up and down like on a flag pole.  It worked all right after some battling.   Of course it is also nice that ABS is black.  Because of the new tower I was able to put the projector whatever height I wanted in the middle of my neighbors yard without having to use the fence for support.  Very cool... Very large galvanized pipe stakes holding that baby there...  Hope I can get them out.&lt;/li&gt;&lt;li&gt;Worked on some new segments for the haunt, but didn't finish in time.  Tried them out at the end of the night on family and friends and they were a hit.... Next year!!&lt;/li&gt;&lt;li&gt;Got a nice write up in the Taylorsville/Kearns newspaper that got a lot of nice comments.  You can read it here: &lt;a href="http://taylorsvillekearnsjournal.com/pages/full_story/push?article-Halloween+house+haunts+Taylorsville+neighborhood%20&amp;amp;id=4064717-Halloween+house+haunts+Taylorsville+neighborhood&amp;amp;instance=news"&gt;Bates Haunt in Local Newspaper&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The video is still in progress.  I taped it with my kind brother in law's professional HD camera, so it should look good... Unfortunately I used the P2 compression so he has to convert it to something useable for me.   &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I thought you might be interested in some stats on my Adobe Premiere project.  It may be the most complex Premiere project ever (probably cause no one else is stupid enough to do a show this complex in Premiere ;-) ).    I really need to port it to After Effects.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;43 Video Sequences&lt;/li&gt;&lt;li&gt;287 Video Tracks&lt;/li&gt;&lt;li&gt;2422 Layered Video Filters&lt;/li&gt;&lt;li&gt;4729 Positioning Keyframes&lt;/li&gt;&lt;/ul&gt;Not sure how long it takes to render because it crashes Premiere unless prerender most of the sequences.  If I start from scratch and combine the time for all the individual builds it adds up to 6+6+4+2+5+3+5 = 31 hours.   Fortunately the final mix is only 5 hours, so if I am making only minor tweaks at the top level, I can render it overnight.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope you all had a Happy Halloween!!!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-8283614949271689561?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/8283614949271689561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=8283614949271689561' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/8283614949271689561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/8283614949271689561'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/11/halloween-2009.html' title='Halloween 2009'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-4724514948260854467</id><published>2009-09-27T22:04:00.003-06:00</published><updated>2009-10-04T14:23:12.378-06:00</updated><title type='text'>Wow, it has been a while.  Deck of death!</title><content type='html'>So earlier this summer I decided to take on a large deck with wrap around stairs.  We opted to go with Trex Brasilia with their new hidden fastener system because it is a nice dark red without the cheesy grain of normal Trex.  The vote is still out as to wether this was a good choice or not.  Trex is cool, but it is scarier to work with then wood because there is no sand-out-the-bad-spots, and I am not sure how it will hold up eventually.  I have had to be very careful not to scuff or scratch the boards too much, and that kind of scares me.  Due to the 30' of wrap around step, I have still not finished the project, but should this week. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some things I have learned are below:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;After framing your deck, immediately start on the decking.  Otherwise pressure treated wood warps like crazy when it dries without the influence of the decking, and then you have to work hard to get stuff to line up again. &lt;/li&gt;&lt;li&gt;Overbuild your deck structure.  Do not come close to maxing the spans of your chosen wood because decks should not have spring at all.&lt;/li&gt;&lt;li&gt;Be extremely careful when making stringers.  I had to make around 28 for my stairs and inaccuracies in my stringers have made things much harder then they should have been.&lt;/li&gt;&lt;li&gt;Stringers warp horribly, so get your decking on quick. (see the first gotcha)&lt;/li&gt;&lt;li&gt;Galvanized pipe works great as simple foundation stakes.  You can cut it with a metal cutting blade, and drill holes in it with normal bits.   Then screw it right on to your wood.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;There are some pictures in the More Summer 2009 flickr collection.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-4724514948260854467?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/4724514948260854467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=4724514948260854467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4724514948260854467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4724514948260854467'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/09/wow-it-has-been-while-deck-of-death.html' title='Wow, it has been a while.  Deck of death!'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-4774444441834231323</id><published>2009-05-04T22:55:00.004-06:00</published><updated>2009-05-04T23:13:23.056-06:00</updated><title type='text'>Easter 2009 Photos Updated</title><content type='html'>There are a bunch more photos in the Easter 2009 photoset now.  I guess I forgot to upload them.  They include visits to both of our parents for easter egg hunts, some family portraits by Jan, and a picture of all the Kammerath grandkids when John and Heather came to visit for a late Easter. I also decided that some more photos belonged in the Spring 2009 set, and they are there now too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-4774444441834231323?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/4774444441834231323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=4774444441834231323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4774444441834231323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4774444441834231323'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/05/easter-2009-photos-updated.html' title='Easter 2009 Photos Updated'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2599792839228504907</id><published>2009-04-11T21:56:00.006-06:00</published><updated>2010-07-01T15:03:39.010-06:00</updated><title type='text'>Dynamic Website Gotchas</title><content type='html'>List of things I found out trying to create xsiding.com, when I chose to eschew flash and go with fancy DHTML. &lt;div&gt;&lt;ol&gt;&lt;li&gt;ie7 has some problem with embedded sound, so use SoundManager2 (a javascript triggered flash player) to do your sounds reliably.&lt;/li&gt;&lt;li&gt;Firefox doesn't allow negative z-index settings if you put it on a css class.   Instead use an id (#layeredDiv) and you are OK.&lt;/li&gt;&lt;li&gt;Firefox doesn't like backgroundPositionX or Y (which is actually correct since it is some IE monstrosity that Safari implements as well).  You have to use backgroundPosition and set both x and y.&lt;/li&gt;&lt;li&gt;Everyone is ok with .cur files for custom cursors, so don't bother trying png or something else.  A .cur file is just an .ico file renamed.  Works great with the .ico Photoshop plugin.  Actually has better transparency than gif.&lt;/li&gt;&lt;li&gt;Conditional ie code using the [if IE] or [if IE 6] thing can be very helpful since css positioning is frequently off on IE.  You can improve the situation by turning off quirks mode with a strict doctype.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you set the target="_top" on an href with an onclick handler, IE ignores the onclick (IE 6,7,8)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;More to come as I hit em...  Notice I don't have any complaints about Safari.  If anything they seem to really try to be compatible with everything...  Great job Apple!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2599792839228504907?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2599792839228504907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2599792839228504907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2599792839228504907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2599792839228504907'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/04/dynamic-website-gotchas.html' title='Dynamic Website Gotchas'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-1054738821353866187</id><published>2009-04-02T12:52:00.003-06:00</published><updated>2009-04-15T14:44:11.723-06:00</updated><title type='text'>Delete email from postfix queue containing XXX</title><content type='html'>I don' t know why no one would just put this simple info out on the web.  Here is a brain dead search and delete of the postfix queue.  It is not fast nor cool, but it works.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;find /var/spool/postfix | xargs grep -l "your string" | sed -g 's|.*/||' | postsuper -d -&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am such a UNIX scripting wimp.  This should have been so easy...  Maybe that is why it wasn't on the net... ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some other aliases that answer missing postfix functions (bash):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Delete all emails with sent by the argument email address:&lt;/div&gt;&lt;div&gt;&lt;div&gt;function delfrom() { mailq | grep "$1" | sed -g 's|\ .*$||'| postsuper -d - ;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How many emails are in the queue going to a given host:&lt;/div&gt;&lt;div&gt;function hostq() { mailq | grep "\@$1" | wc -l ;}&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-1054738821353866187?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/1054738821353866187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=1054738821353866187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1054738821353866187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1054738821353866187'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/04/delete-email-from-postfix-queue.html' title='Delete email from postfix queue containing XXX'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2509745084791950666</id><published>2009-03-15T23:50:00.003-06:00</published><updated>2009-04-02T10:27:15.470-06:00</updated><title type='text'>Recovering Photos From an iPhone or iPodTouch For Free</title><content type='html'>I hunted around till I finally figured this one out.   Apple won't let you mount these new devices as a drive I guess to prevent hacking (which as always only made people hack it).   There are programs out there to do this which cost money, but most are not even compatible with the iPhone and touch yet.   So I had to hunt...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I used a program called "DiskAid" (http://www.digidna.net/diskaid/) to copy the "Photos" directory from my iPod Touch.  This gets you the lovely ithmb files which are basically big image archives.  Then I used a quick and dirty but capable program called "Keith's iPod Photo Reader" (http://keithwiley.com/software/keithsIPodPhotoReader.shtml) to extract the images from there.  &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The second program is only for use by the hacker as it doesn't have any idea how to decode the images unless you tell it.  For the iPhone/iTouch though I'll give you the settings you need.   First open the .ithmb files starting with "F3008" one at a time.  Use the setting of 640x480, 16 bit RGB, Flip Endian and 0 byte offset and then extract the files.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you've got a big pile of old .pct files which you can convert back to jpg if you want.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Have fun!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2509745084791950666?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2509745084791950666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2509745084791950666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2509745084791950666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2509745084791950666'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/03/recovering-photos-from-iphone-or.html' title='Recovering Photos From an iPhone or iPodTouch For Free'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2973287003836729069</id><published>2009-03-08T00:19:00.003-07:00</published><updated>2009-03-08T00:21:19.854-07:00</updated><title type='text'>Ok, I think that Merry Christmas Post is old enough</title><content type='html'>I guess it is time to post again.  I'm moving batesbunch.com to somewhere new.  $200+ to continue hosting with jumpline is way too much.  I'd really like somewhere free since my site is so small now (mostly dynamic).  I'll post more soon.  I have a lot to talk about, just no time to talk ;-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2973287003836729069?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2973287003836729069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2973287003836729069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2973287003836729069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2973287003836729069'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2009/03/ok-i-think-that-merry-christmas-post-is.html' title='Ok, I think that Merry Christmas Post is old enough'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-4828666459915317189</id><published>2008-12-23T21:31:00.002-07:00</published><updated>2008-12-23T21:36:04.626-07:00</updated><title type='text'>Merry Christmas!!</title><content type='html'>I just put our new card up on our flickr album.  Merry Christmas to you all!!  This has been an eventful year, but as always, the changes and challenges have been for the better.   I continue to be so grateful for my wonderful family and extended family!  Heavenly Father has always been so kind to us!  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope you all have a very merry Christmas and a wonderful new year!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-4828666459915317189?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/4828666459915317189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=4828666459915317189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4828666459915317189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4828666459915317189'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/12/merry-christmas.html' title='Merry Christmas!!'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-3631999908654848370</id><published>2008-12-11T13:34:00.005-07:00</published><updated>2008-12-11T14:04:46.508-07:00</updated><title type='text'>Lessons learned about ssh key authentication</title><content type='html'>So, we just replaced our test box with a virtual Solaris 10 box running on VMWare and Intel.  We moved over everything from our old test box including our subversion (svn) repository.  I had no trouble putting my public key on the box and getting ssh to work without any password required, so I was able to use svn+ssh with no trouble.  I am using Mac OS X which made it VERY slick!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My boss using Windows, Putty, and Pagent could not get the password prompt to go away no matter what he or I did even though it worked just fine on the old test box.  Our Unix admin that set up the box was also at a loss.  After reading everything we could on the internet and copying and transmitting and changing keys so many times we wanted to barf I sat down to find out what was different about his account.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I switched his public keys in authorized_keys to mine and tried to connect.... no dice!  So it was something about the remote system.  I checked the passwd file and the group file...he was set up just like me.  Everyone said to check the permissions of the .ssh folder and the files in it, but they were all OK.  Then I actually copied my home directory into his home directories place and changed the owner of the files.  Then I could log right in.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It turned out that the difference was that his home directory had somehow become world readable and that prevented it from working!  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, here are the things to check if you can't get it to work:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Make sure your home directory's permissions are dr-xr-xr-x (chmod 755)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make sure your .ssh directory's permissions are drwx------ (chmod 700)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make sure your authorized_keys file permissions are -rw------- (chmod 600)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make sure the 3 files above are owned by your user.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make sure the public key in your authorized_keys file is one long line with no breaks.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Check your sshd_config file (/etc/ssh/sshd_config on Solaris 10) is set up with &lt;br /&gt;&lt;br /&gt;PubkeyAuthentication yes&lt;br /&gt;&lt;br /&gt;This is the default, so just don't set it to no.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Also, it doesn't matter where you make the key (client or server) just as long as you put the public key on the server and the private key on the client.  The otherwise very nice post at &lt;/div&gt;&lt;div&gt;http://www.andremolnar.com/how_to_set_up_ssh_keys_with_putty_and_not_get_server_refused_our_key&lt;br /&gt;&lt;/div&gt;&lt;div&gt;is incorrect on this (It might help you avoid the issue in #5 above though).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-3631999908654848370?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/3631999908654848370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=3631999908654848370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3631999908654848370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/3631999908654848370'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/12/lessons-learned-about-ssh-key.html' title='Lessons learned about ssh key authentication'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2942692061716725787</id><published>2008-11-11T12:20:00.005-07:00</published><updated>2008-11-11T12:28:04.524-07:00</updated><title type='text'>Bates Haunt 2008 Is Done!</title><content type='html'>You can now watch Bates Haunt 2008 on youtube.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://www.youtube.com/watch?v=dvA2pBinSqM&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I kept trying to improve the quality, but my 10 year old video camera is on its last leg, and this is the best I could do.  Make sure to look at my flickr album to see stills of what things really look like.   Also check out the haunts section of batesbunch.com for a new page on this year's haunt with more info. (coming soon)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I'm moving on to working on our deck and basement.  They need to be done by mid next month so that our city doesn't get after me about my building permit. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks to all the support of Heidi and the gang while I spend all my time on this yearly craziness!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2942692061716725787?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2942692061716725787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2942692061716725787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2942692061716725787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2942692061716725787'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/11/bates-haunt-2008-is-done.html' title='Bates Haunt 2008 Is Done!'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-7297878943310715612</id><published>2008-11-01T22:56:00.003-06:00</published><updated>2008-11-01T23:23:32.905-06:00</updated><title type='text'>Tired But Happy</title><content type='html'>Well, I survived another Halloween.  I stayed up and skipped work for the last 3 days to finish the two new songs and Mac Adobe Premiere switchover.   I am now very tired!  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This was the tightest year yet..  I finally finished arranging and recording my new songs about 4pm on Thursday.  Then I spent from 7 till 11 in that horrible makeup with my teeth itching something fierce!  I figured it was time for the all nighter, so I worked until 5 in the morning laying out the rest of the new song effects (including the all important faces).  It looked ok, I hadn't tested it or anything, but I was exhausted after a week of 3am nights.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I crashed while it rendered.  My wife is great, and my kids had school off, I got up at about 9 helped my wife for a minute.  She took them away to the children's museum so I could work and they could enjoy the Halloween activities there.  I had messaged my boss to tell him I was still going to try to work a half day, but after crashing until 11 when the render was to complete, and finding that I had too many problems to try to use the render.  I worked feverishly to fix the bugs and get the render started.  During this time my boss said I shouldn't try to come in.  Thanks Mike!  I was still adding effects to the movie at 1pm on Halloween.  Then I had a 6 hour render ahead of me (I was hoping it would be a bit faster).  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Premiere kept crashing the whole time because my movie is getting too hard for it I guess.  However it was rock solid in the renders (thank goodness!)  In the old days of Premiere 2.0 all the way to 7.0  they had problems where I would get half way through the render and then have a crash.  Or worse there was one bug where the whole render would complete, but it would not finish "blessing" the movie file to make it work!  I am very happy now but I need to start doing some simplification of the movie (pre-render more parts) to bring it back to safety. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I spent the afternoon doing the rest of the physical setup that I hadn't done last week, and at 6:45 I carried out two laptops which were copying the movie between each other over to my projector.  By 7 we were on our way!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The two new songs were a hit.  Everyone especially loves the Kiss face makeup for the Pumpkin Rot song.  I am so glad they are fairly recognizable.  Everyone came by.  Old friends and many family members.  Gordon had his awesome new costume for the year, as well as Madeline and Josh.  I was so nice to see everyone, and have a chance to watch the show together.   What a fun time, pigging out on candy and talking.  All in all we probably had about 5-6 hundred visitors that got treats.  Then by about 10:30 everyone had left.  I spent about another hour and a half taking pictures etc.  Then cleanup, and bed by 3 again.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, that was the crazy day, and the end of the crazy week at the Bates Haunt.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Halloween is a great holiday.  I realized the other day that Halloween is a holiday that is more about neighbors than it is about family...  An unusual thing, and very nice.  I think we should make it a paid holiday since I know I will never work on it at my day job.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks to everyone that supports me this time of year, and gives me nice compliments.!  I'm so glad we can give everyone a good time, and give me an outlet for my creative juices.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-7297878943310715612?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/7297878943310715612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=7297878943310715612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7297878943310715612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7297878943310715612'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/11/tired-but-happy.html' title='Tired But Happy'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-7319652823637101628</id><published>2008-10-13T15:08:00.003-06:00</published><updated>2008-10-15T09:39:10.952-06:00</updated><title type='text'>Tribune article about my haunter's group</title><content type='html'>&lt;span class="Apple-style-span" style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.sltrib.com/athome/ci_10707188  I'm surprised he likes the hand enough to comment on it.  I love that the one time in my life I get quoted in the paper, I'm saying something as witty and improper as "There's lots of fun things I can do".  =D   Such eloquence...  How did that get by the editors...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;So much for my 15 minutes of fame.... ;-)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;Steve my brother-in-law commented:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;Awww... c'mon, Dave - don't be too hard on yourself.  You said several intelligent things... like "hey thieves... I leave a very expensive laptop and video projector outside every year!"  =)  just kidding.  Good for you my friend.  -Steve&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-family:arial;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-7319652823637101628?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/7319652823637101628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=7319652823637101628' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7319652823637101628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7319652823637101628'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/10/tribune-article-about-my-haunters-group.html' title='Tribune article about my haunter&apos;s group'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-1432835488064846514</id><published>2008-10-06T21:28:00.006-06:00</published><updated>2008-10-06T22:42:43.453-06:00</updated><title type='text'>Why Snot!!</title><content type='html'>Dang.  It happens this time every year.  I've got that pesky change of seasons cold.  They keep taking all the good stuff out of all the drugs leaving us with sugar and some to acetaminophen make us think it is doing something.  Does acetaminophen work on anyone anymore.  I have never had any luck.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I've always wondered why we can't just put in a little switch on our noses to turn off the running and the sneezing.  It seems that it never has really worked as God intended.  All it does is cause worse infections than not having mucus at all.  Just think how many diseases would be basically cured with a little aspirin if snot was a thing of the past.  Plus I wouldn't have to keep wiping my kids noses, and telling them not to pick them (and not to eat it!!).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think we should get to work on the snot shut off valve right away.  I'd have the installation surgery in a minute.   They could just leave it in the off position permanently as far as I'm concerned.   I'll use some nice nose spray if things ever got too dry.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-1432835488064846514?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/1432835488064846514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=1432835488064846514' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1432835488064846514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1432835488064846514'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/10/got-cold-again.html' title='Why Snot!!'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-6392176959711783982</id><published>2008-10-01T21:34:00.003-06:00</published><updated>2008-10-01T21:39:38.148-06:00</updated><title type='text'>October Again...</title><content type='html'>Always seems like October sneaks up on me.  I am never ready for my haunt.  I have one new song written called "Pumpkin Rot!".  I am hoping for another about the house itself.   We'll see if they happen.  I wanted to do a new projector, but it seems that it may not happen.  I haven't sold enough of my DVDs to cover the hefty price of my favorite projector.  Hopefully it will go crazy as people slip into the spirit of the season.   Anyway, I'll let you know how it is going...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-6392176959711783982?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/6392176959711783982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=6392176959711783982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/6392176959711783982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/6392176959711783982'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/10/october-again.html' title='October Again...'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-1757820298564477540</id><published>2008-09-30T00:55:00.002-06:00</published><updated>2008-09-30T00:59:50.590-06:00</updated><title type='text'>The new Batesbunch.com</title><content type='html'>It's finished.  Now if my haunts page looked anywhere near as good.  Most of my visitors are headed there anyway.  Oh well, I can say that I did it!!  It now has dynamic blogs feeds as well as the flickr stuff.  Hopefully my cool little css tricks are making it look nice and slick on your computer.  If they aren't, then you should get a better browser.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Speaking of browsers.  Firefox's problem with negative css z-index values was causing me all sorts of problems with my semi-transparent backgrounds.  I think I found a solution though.  Once I explicitly set the z-index of the containing divs to 3 the problem went away.  My guess is that Firefox doesn't mind if 3-1 is greater than 0.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-1757820298564477540?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/1757820298564477540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=1757820298564477540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1757820298564477540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1757820298564477540'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/new-batesbunchcom.html' title='The new Batesbunch.com'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-9180358495885233160</id><published>2008-09-29T09:13:00.001-06:00</published><updated>2008-09-29T09:22:18.974-06:00</updated><title type='text'>Dynamic BatesBunch</title><content type='html'>I put in quite a bit of time this weekend into an upgrade to batesbunch.com.  My goal was to turn my old fashioned home page into a dynamic RSS aggregator of all of our stuff.  I started by finding pageflakes and google widgets, but no one made the widgets I wanted.  They didn't work, or they weren't configurable enough.  So I ended up deciding to write my own. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am a jquery fan (at least a fan of the library's power, if not the chain writing style), and I started to look into JSON so that I could eliminate the need for backend processing of my feeds.  It has worked out great!  I now have a nice dynamic flickr slideshow (which took forever to get firefox to do right), as well as a list of my photosets.  Flickr's api rocks!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am now working on my blogger stuff (which does not rock as much...lots of garbage in the interface).   I expected more from google...but.  Then add some layout work and voilla!  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I want it to be an easily lifted template for others, so everyone can leverage my work.  Still working on it, then I'll stuff it in a library for others to use.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-9180358495885233160?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/9180358495885233160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=9180358495885233160' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/9180358495885233160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/9180358495885233160'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/dynamic-batesbunch.html' title='Dynamic BatesBunch'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-1103519657154641913</id><published>2008-09-25T00:49:00.001-06:00</published><updated>2008-09-25T00:57:56.550-06:00</updated><title type='text'>Flickr rama</title><content type='html'>Ok, after much investigation I have decided to start using flickr for my online photos and videos. I chose flicker because of their nice slideshow interface, and better price compared to smugmug (which has a slightly better interface).  Also because of the nice plugin for iPhoto I found to make it soooo easy.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will slowly be uploading my whole huge iPhoto library.  I am not sure if I will leave it all public or not.  Now my sister-in-law can start commenting on my photos like she always wanted, and you can see nice slide shows.  I am using ffexport for iPhoto.  A very nice free plugin that just lets me ship off my photos and videos in a few clicks.  Maybe batesbunch.com is just going to become a landing site without much real meat.  We'll see.   &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://www.flickr.com/photos/dhbatesbunch&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Too bad someone already stole batesbunch... Oh well, I'll always have batesbunch.com.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-1103519657154641913?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/1103519657154641913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=1103519657154641913' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1103519657154641913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/1103519657154641913'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/flickr-rama.html' title='Flickr rama'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-2469134834222115640</id><published>2008-09-24T23:40:00.000-06:00</published><updated>2008-09-24T23:42:00.393-06:00</updated><title type='text'>10 Days and No Sign of Lice</title><content type='html'>I like that stuff.  Also my wife did a wonderful job of getting rid of the nits by working on it for many hours in the full sun.  At least it worked!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-2469134834222115640?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/2469134834222115640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=2469134834222115640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2469134834222115640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/2469134834222115640'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/10-days-and-no-sign-of-lice.html' title='10 Days and No Sign of Lice'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-4857919087254693298</id><published>2008-09-20T01:22:00.000-06:00</published><updated>2008-09-20T01:33:06.438-06:00</updated><title type='text'>Head Lice treatment LiceMD</title><content type='html'>Last Monday my daughter came home from school with a full on attack of head lice.  Very exciting.  Well anyway after searching on the internet looking for the right "cure", I came across a post about LiceMD which is available at WalMart.  All natural (so they say) and non-toxic to humans.  Too good to be true?  Well, all I can say is that after 10 minutes I combed out tons of bugs, and they were all dead as a doornail.  The stuff didn't seem scary at all.  Seems like it is kinda like a premixed blend of all the other stuff they say takes care of the bugs, eggs, etc.  It's kinda like bug killing mayo with some solvent for the egg glue and some tea leaf and other oils to keep them away.  Really cool, and it left my daughters hair really nice.   &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Everyone said how badly the Rid stuff stinks, and I believe them.  I tried some of it too, and it has horrible chemicals and is dangerous in about every way possible.  Made my daughter start to have an allergic reaction.  Didn't do anything to help their hair be smooth and uninviting to the bugs.   Seemed like it was designed to burn them out, taking your hair with it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll let you know how it goes in a few days.  We of course worked tirelessly to pick every last non hair out of her hair too with one of the metal combs.  Hopefully we won the first time, and we won't have any more trouble.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-4857919087254693298?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/4857919087254693298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=4857919087254693298' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4857919087254693298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/4857919087254693298'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/head-lice-treatment-licemd.html' title='Head Lice treatment LiceMD'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-7761544933752546891</id><published>2008-09-20T01:18:00.000-06:00</published><updated>2008-09-20T01:22:22.258-06:00</updated><title type='text'>Pay Pal Buttons</title><content type='html'>Pay Pal makes it really easy for you to add "shopping" to your website.  I was surprised about the little button creator that have on their site.  It was very slick.  Now people can click and buy stuff from me.  Of course, now I am stuck with a Premiere account, and the constant fees.  They offer a great service though, so I'm not complaining.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-7761544933752546891?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/7761544933752546891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=7761544933752546891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7761544933752546891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/7761544933752546891'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/pay-pal-buttons.html' title='Pay Pal Buttons'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9009062595692624807.post-8958668777978198703</id><published>2008-09-20T01:09:00.000-06:00</published><updated>2008-09-20T01:10:56.083-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='W'/><title type='text'>Maybe I should put something here</title><content type='html'>Well, I guess i'm gonna start putting something in here.  This blog should end up being a pile of junk that I figure out every day.  I hope it can help others, and I can look back at it and say "hey, I actually did something."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9009062595692624807-8958668777978198703?l=datbates.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://datbates.blogspot.com/feeds/8958668777978198703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9009062595692624807&amp;postID=8958668777978198703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/8958668777978198703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9009062595692624807/posts/default/8958668777978198703'/><link rel='alternate' type='text/html' href='http://datbates.blogspot.com/2008/09/maybe-i-should-put-something-here.html' title='Maybe I should put something here'/><author><name>Dave Bates</name><uri>http://www.blogger.com/profile/10147362095671130188</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_3EIA2PcFUfc/SNshZytkgMI/AAAAAAAAAAU/qHZWiEYyH-U/S220/Haunted+Dave.jpg'/></author><thr:total>0</thr:total></entry></feed>
