<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://kendsnyder.com/feeds/atom.xml" rel="self" title="Ken Snyder" type="application/atom+xml" />
    <link href="http://kendsnyder.com/"                        rel="alternate"    title="Ken Snyder" type="text/html" />
    <link href="http://kendsnyder.com/rss.php?version=2.0"     rel="alternate"    title="Ken Snyder" type="application/rss+xml" />
    <title type="html">Ken Snyder</title>
    <subtitle type="html">PHP, JavaScript, CSS</subtitle>
    <icon>http://kendsnyder.com/templates/bulletproof/img/s9y_banner_small.png</icon>
    <id>http://kendsnyder.com/</id>
    <updated>2008-09-08T04:01:55Z</updated>
    <generator uri="http://www.s9y.org/" version="1.3.1">Serendipity 1.3.1 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://kendsnyder.com/archives/17-Anouncing-IGotItWorking.com-BETA.html" rel="alternate" title="Anouncing IGotItWorking.com (BETA)" />
        <author>
            <name>Ken Snyder</name>
                    </author>
    
        <published>2008-09-08T04:01:55Z</published>
        <updated>2008-09-08T04:01:55Z</updated>
        <wfw:comment>http://kendsnyder.com/wfwcomment.php?cid=17</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://kendsnyder.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    
    
        <id>http://kendsnyder.com/archives/17-guid.html</id>
        <title type="html">Anouncing IGotItWorking.com (BETA)</title>
        <content type="xhtml" xml:base="http://kendsnyder.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>
I am excited to announce that <a onclick="javascript: pageTracker._trackPageview('/extlink/IGotItWorking.com');"  href="http://IGotItWorking.com">IGotItWorking.com</a> is in beta release. My partner Michael Johnson and I have created this web site to address a problem we face everyday as Developer and Sysadmin: solve problems then forget how we solved them. :)
</p><p>
The idea is similar to the concept of a wiki: add problems, solutions, and tutorials for your own reference and to share your successes with others. We now say "Hey! I solved that last week and I put it on <a onclick="javascript: pageTracker._trackPageview('/extlink/IGotItWorking.com');"  href="http://IGotItWorking.com">IGotItWorking.com</a>. Check it out".  It is not a forum for asking questions, but a repository for answers you've found from coworkers and Internet resources.  Other features include the ability to rate solutions, propose alternate solutions, and comment on solutions.
</p><p>
The site is currently focused toward Programmers and System Administrators and we need more content.  Please take a moment to browse the site, register, and participate.
</p><p>
<a onclick="javascript: pageTracker._trackPageview('/extlink/IGotItWorking.com');"  href="http://IGotItWorking.com">IGotItWorking.com</a> is in a beta phase meaning that we are looking for feedback and feature suggestions. We have several enhancements already planned for upcoming releases, but would like to hear your feedback. Click on the Feedback/Bugs link in the footer to send us an email with your thoughts.
</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://kendsnyder.com/archives/16-Ubuntu-on-the-Desktop,-Windows-in-the-Recycle-Bin.html" rel="alternate" title="Ubuntu on the Desktop, Windows in the Recycle Bin" />
        <author>
            <name>Ken Snyder</name>
                    </author>
    
        <published>2008-08-29T19:26:38Z</published>
        <updated>2008-08-29T21:25:29Z</updated>
        <wfw:comment>http://kendsnyder.com/wfwcomment.php?cid=16</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://kendsnyder.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    
            <category scheme="http://kendsnyder.com/categories/1-Linux" label="Linux" term="Linux" />
    
        <id>http://kendsnyder.com/archives/16-guid.html</id>
        <title type="html">Ubuntu on the Desktop, Windows in the Recycle Bin</title>
        <content type="xhtml" xml:base="http://kendsnyder.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                
<p>I recently got a nasty trojan virus on my home computer. It was very clear to me that it was time to try Linux again on the desktop.</p><p>I have tried Fedora Core 4, Ubuntu 5, 6, and 7 and Mepis 5 on my home computer. Each had limitations for me or my wife that caused us to revert to Windows XP.  I'm a fairly novice Linux user, but I do use the Linux command line every day when working with web servers as a web developer.</p><p>So I installed Ubuntu 8 and have been very impressed. The following is a list of things that were often troublesome in previous versions but are very easy in Ubuntu 8.</p><ul><li>Getting the graphics driver to work properly</li><li>Printer support</li><li>Installing Flash on Firefox</li><li>Reading PDF files</li><li>Using an instant messenger</li><li>Using Windows apps (Wine 1.0 FTW!)</li><li>Opening archives (zip, tar.gz, etc.)</li><li>Playing mp3s</li><li>Playing video files</li><li>Enabling the media keys on my keyboard (e.g. volume up/down)</li><li>Installing and uninstalling applications</li><li>Burning CDs &amp; DVDs</li><li>Reading and writing to NTFS volumes (to copy my data to the ext3 partition)</li><li>Searching for files</li><li>Finding applications easily under the &quot;start&quot; bar</li></ul><br /><p>I'm excited to see Linux really coming into its own on the Desktop.  With Vista built on top of Windows NT and the next version of Windows supposedly doing the same--perhaps the end is near for Windows.</p><p>Perhaps our children will ask &quot;Microsoft used to make more than MS Office?&quot;</p><br /><p>
</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://kendsnyder.com/archives/15-HTTP-Status-Codes-302,-303,-and-307.html" rel="alternate" title="HTTP Status Codes: 302, 303, and 307" />
        <author>
            <name>Ken Snyder</name>
                    </author>
    
        <published>2008-08-08T02:13:41Z</published>
        <updated>2008-08-11T16:17:45Z</updated>
        <wfw:comment>http://kendsnyder.com/wfwcomment.php?cid=15</wfw:comment>
    
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://kendsnyder.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    
            <category scheme="http://kendsnyder.com/categories/2-Web-Development" label="Web Development" term="Web Development" />
    
        <id>http://kendsnyder.com/archives/15-guid.html</id>
        <title type="html">HTTP Status Codes: 302, 303, and 307</title>
        <content type="xhtml" xml:base="http://kendsnyder.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                
<p>Each browser has quirks for redirecting. Wikipedia has <a onclick="javascript: pageTracker._trackPageview('/extlink/en.wikipedia.org/wiki/Http_status_codes');"  href="http://en.wikipedia.org/wiki/Http_status_codes">a quick reference of HTTP status codes.</a> Today I was looking for a code that would instruct browsers to repost data to the new URL. It was much trickier than I thought.</p>

<p>Browsers implement both 302 and 303 to mean to go to the new URL including the get query string. 307 instructs the browser to repost any post data to the new URL including the get query string. Here is what I found on Windows.</p>

<h3>IE6 and IE7</h3>
<p>IE properly and silently reposts as you would expect.</p>

<h3>Firefox 2/3</h3>
<p>Firefox asks the user to click OK to execute the repost or CANCEL to do nothing. Doing nothing might mean that the page loads up blank, which is kind of silly.</p>

<h3>Opera 9.25</h3>
<p>Opera is similar to Firefox but provides a third option. Opera prompts with YES to repost, NO to use get only, and CANCEL to do nothing.</p>

<h3>Safari 3</h3>
<p>Safari treats a 307 the same as a 303 and gives no option to repost. Technical tests from the <a onclick="javascript: pageTracker._trackPageview('/extlink/phaq.phunsites.net/2008/01/23/apples-safari-violates-rfc2616/');"  href="http://phaq.phunsites.net/2008/01/23/apples-safari-violates-rfc2616/">phaq blog.</a></p>

<h3>My solution</h3>
<p>My solution was to use 307 for IE and use HTML and JavaScript for the other browsers. I made a form full of hidden fields for each posted value and then submitted the form through JavaScript. To users, the redirect looks as you would expect.</p><p>The trick was that I could not use document.forms[0].submit() because sometimes one of the hidden elements is named submit. So I had to use an additional button that was positioned with top: -100px; in the style attribute. </p><p>For those with JavaScript disabled, I used noscript tags to enclose a notice that the page was moved and a button to go to the new location.</p>

<h3>Demos + Source</h3>
<p><a href="http://kendsnyder.com/sandbox/307/fallback/">Partial solution which always does a 307 but falls back to JavaScript when user cancels</a> (Does not work in Safari 3, does not work when user chooses NO in Opera 9.25.)</p>
<p><a href="http://kendsnyder.com/sandbox/307/javascript/">Final solution which does a 307 for IE but uses JavaScript for other browsers</a></p>

<h3>Thoughts</h3>
<p>I was surprised to see different behavior in every browser. I don't see the advantage of the prompt other than a possible security exploit. This is an instance where IE got it exactly to spec!</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://kendsnyder.com/archives/14-A-One-Question-Job-Interview.html" rel="alternate" title="A One-Question Job Interview" />
        <author>
            <name>Ken Snyder</name>
                    </author>
    
        <published>2008-06-25T18:06:21Z</published>
        <updated>2008-06-25T20:56:43Z</updated>
        <wfw:comment>http://kendsnyder.com/wfwcomment.php?cid=14</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://kendsnyder.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    
            <category scheme="http://kendsnyder.com/categories/9-Tech" label="Tech" term="Tech" />
            <category scheme="http://kendsnyder.com/categories/2-Web-Development" label="Web Development" term="Web Development" />
    
        <id>http://kendsnyder.com/archives/14-guid.html</id>
        <title type="html">A One-Question Job Interview</title>
        <content type="xhtml" xml:base="http://kendsnyder.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                
<p><a onclick="javascript: pageTracker._trackPageview('/extlink/www.noop.nl/2008/04/the-perfect-job.html');"  target="_blank" href="http://www.noop.nl/2008/04/the-perfect-job.html">Interesting</a> article on the perfect interview question.</p>
<p><strong>Here is the conclusion:</strong><br />
</p><p><em>When reviewing somebody else's code, what is it that you usually find most disturbing?</em></p><p>
</p><p>An answer about syntax is a bad sign, and an answer about design principles is a good sign.</p><p>Definitely worth a try!</p><p>Here are some other questions I've heard in interviews that are useful to discern personality, experience and intelligence:</p><ul><li>What are you looking for in this job that you don't have in your current job?</li><li>What interests you about this field and language of programming more than other fields and languages?</li><li>Tell me about the something that was very difficult for you to learn and why.</li><li>Do you consider yourself more of a fast programmer or more of a meticulous programmer?</li><li>On a scale of 1-10, how would you rate your interest in this position? One being &quot;no thanks&quot; and ten being &quot;this is my dream job!&quot;</li><li>What kind of work do you see yourself doing 5-7 years from now?</li><li>Which is better: client-side validation or server-side validation?</li><li>If you were to start an application from scratch, what code frameworks or approaches would you use and why?</li></ul>
 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://kendsnyder.com/archives/13-Compiled-JavaScript-Templating.html" rel="alternate" title="Compiled JavaScript Templating" />
        <author>
            <name>Ken Snyder</name>
                    </author>
    
        <published>2008-06-25T14:20:05Z</published>
        <updated>2008-06-25T14:20:05Z</updated>
        <wfw:comment>http://kendsnyder.com/wfwcomment.php?cid=13</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://kendsnyder.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    
            <category scheme="http://kendsnyder.com/categories/4-JavaScript" label="JavaScript" term="JavaScript" />
            <category scheme="http://kendsnyder.com/categories/7-Prototype" label="Prototype" term="Prototype" />
            <category scheme="http://kendsnyder.com/categories/2-Web-Development" label="Web Development" term="Web Development" />
    
        <id>http://kendsnyder.com/archives/13-guid.html</id>
        <title type="html">Compiled JavaScript Templating</title>
        <content type="xhtml" xml:base="http://kendsnyder.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I've got my old version of CompiledTemplate online in a <a onclick="javascript: pageTracker._trackPageview('/extlink/pastie.org/221410');"  href="http://pastie.org/221410" target="_blank">Pastie</a>. It's got the source and a simple example. I need to finish my new version and do some benchmarking.</p><p>It actually isn't often useful since it is usually better to generate content on the server side.</p> 
            </div>
        </content>
        
    </entry>

</feed>