<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞. &#187; Theory / Ideas</title> <atom:link href="http://davidwalsh.name/tutorials/theory-ideas/feed" rel="self" type="application/rss+xml" /><link>http://davidwalsh.name</link> <description>Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</description> <lastBuildDate>Thu, 02 Sep 2010 03:13:15 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>Confessions of a Web Developer&#160;IX</title><link>http://davidwalsh.name/confessions-ix</link> <comments>http://davidwalsh.name/confessions-ix#comments</comments> <pubDate>Mon, 16 Aug 2010 13:43:28 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4988</guid> <description><![CDATA[It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash: There are a lot of great new CSS demos being created every day.  I&#8217;m just pissed that I always have to switch to Safari [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-ix">Confessions of a Web Developer&nbsp;IX</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/enhancing-dojo' rel='bookmark' title='Permanent Link: SitePen:  Creating and Enhancing Dojo&nbsp;Classes'>SitePen:  Creating and Enhancing Dojo&nbsp;Classes</a></li><li><a
href='http://davidwalsh.name/dojo-dijit-charting' rel='bookmark' title='Permanent Link: Dive Into Dojo Series:  Dijit and&nbsp;Charting'>Dive Into Dojo Series:  Dijit and&nbsp;Charting</a></li><li><a
href='http://davidwalsh.name/confessions-viii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VIII'>Confessions of a Web Developer&nbsp;VIII</a></li><li><a
href='http://davidwalsh.name/confessions-vii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VII'>Confessions of a Web Developer&nbsp;VII</a></li><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-ii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;II'>Confessions of an Eccentric Web Developer&nbsp;II</a></li></ol>]]></description> <content:encoded><![CDATA[<img
class="image" src="http://davidwalsh.name/dw-content/usher.jpg" alt="Confessions!" /><p>It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash:</p><ul><li>There are a lot of great new CSS demos being created every day.  <strong>I&#8217;m just pissed that I always have to switch to Safari</strong> to see them.  <em>(Update:  I&#8217;ve officially switched my default browser from Firefox to Safari.)</em></li><li>Is it just me or <strong>does Firefox 4.0 seem like a &#8220;make or break&#8221; release</strong>?  With the memory and Firebug issues facing that browser, and with Chrome and Webkit increasing their FTW factor each month, Mozilla really needs to work to gain back the trust of hardcore web developers.</li><li>The <strong>10k Apart contest turned itself into a joke</strong> by only allowing jQuery and Prototype.  Dojo and MooTools are the two of the most modular frameworks available &#8212; why not allow them?  How can you have a contest based on page size and say &#8220;it doesn&#8217;t matter how much JS you use as long as it&#8217;s one of these two that isn&#8217;t nearly as modular as a few others (or modular at all)?&#8221;  What&#8217;s worse is that, even after all the buzz about it on Twitter, none of the contests judges will even address it.   Pathetic;  nothing but a joke.</li><li>I was afraid people would think I was a traitor to the MooTools cloth when I started writng Dojo Toolkit posts.  No negative reaction has been great.  Plus, you all know <strong>I&#8217;m MooTools (FTW) through and through</strong>.</li><li>Safari&#8217;s method of re-opening closed tabs is shit.  It&#8217;s a ticking timebomb for the application and you lose the tab&#8217;s history.  Why the hell even try?</li><li>I love that HTML5&#8242;s philosophy is more of a relaxed, common sense outlook.  Seems to be the right direction.</li><li>Working with the creators of Dojo gives me a completely different perspective on JavaScript development.  It&#8217;s welcomed and hopefully they get something out of my opinion as well.</li><li><strong>At age 27 it&#8217;s difficult to know if I&#8217;m behind, ahead, or right at where I should be</strong> as a Web Developer.  I&#8217;m learning so much every day that I feel like I&#8217;m a decade behind where I should be.</li><li>After working with Dijit for close to 4 months now, <strong>I&#8217;m still amazed at how easy it makes developing widgets</strong>.  And when you can create your widgets declaratively&#8230;oh dear.  Amazing how quickly you can put together a functional, enhanced UI.</li><li>I&#8217;ve been very pleased to read Rebecca Murphey&#8217;s recent <a
href="http://blog.rebeccamurphey.com/">jQuery / Dojo / Scalability</a> articles lately.  It&#8217;s been something I&#8217;ve thought for a while but was afraid to say as I would get pummeled for doing so.</li><li>The MooTools team schedule an upcoming hackathon during my wedding.  Are they trying to tell me something?</li><li>My colleagues at <a
href="http://sitepen.com">SitePen</a> are all incredibly intelligent, helpful, and funny.  <strong>I&#8217;m proud to be a SitePenner</strong> and work with all of them.</li><li>Speaking of SitePen, I&#8217;m working with a great new piece of programming that will put a smile on a lot of peoples&#8217; faces.  Can&#8217;t spill the beans yet though&#8230;</li><li>I was initially concerned about switching to working from my home office but I&#8217;ve found it allows me to be more productive and more relaxed.  If I need a midday nap because I don&#8217;t feel well, I can do it.  If I have to get laundry done, I can do it.  And <strong>since I&#8217;m allowed these privileges, I&#8217;m more than happy to go the extra mile</strong> whenever necessary.</li></ul><p>As usual, don&#8217;t sing it, bring it.</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-ix">Confessions of a Web Developer&nbsp;IX</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/enhancing-dojo' rel='bookmark' title='Permanent Link: SitePen:  Creating and Enhancing Dojo&nbsp;Classes'>SitePen:  Creating and Enhancing Dojo&nbsp;Classes</a></li><li><a
href='http://davidwalsh.name/dojo-dijit-charting' rel='bookmark' title='Permanent Link: Dive Into Dojo Series:  Dijit and&nbsp;Charting'>Dive Into Dojo Series:  Dijit and&nbsp;Charting</a></li><li><a
href='http://davidwalsh.name/confessions-viii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VIII'>Confessions of a Web Developer&nbsp;VIII</a></li><li><a
href='http://davidwalsh.name/confessions-vii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VII'>Confessions of a Web Developer&nbsp;VII</a></li><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-ii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;II'>Confessions of an Eccentric Web Developer&nbsp;II</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-ix/feed</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>GET OVER IT!  6 Things Web Developers Need to Get&#160;Over</title><link>http://davidwalsh.name/get-over-it</link> <comments>http://davidwalsh.name/get-over-it#comments</comments> <pubDate>Thu, 08 Jul 2010 13:53:31 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5007</guid> <description><![CDATA[One of the downsides of being around developers of varying skill levels, from noob to Open Source legend, is that everyone has an opinion&#8230;and they&#8217;re all wrong.  Every one of them.  Of course, me being a developer, I&#8217;m wrong too.  There are a few things, however, that I hear frequently and want nothing more than [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/get-over-it">GET OVER IT!  6 Things Web Developers Need to Get&nbsp;Over</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/the-7-major-roadblocks-that-cripple-web-developers-and-the-internet' rel='bookmark' title='Permanent Link: The 7 Major Roadblocks That Cripple Web Developers and The&nbsp;Internet'>The 7 Major Roadblocks That Cripple Web Developers and The&nbsp;Internet</a></li><li><a
href='http://davidwalsh.name/dear-developers-hardcode-copyright-year' rel='bookmark' title='Permanent Link: Dear Developers, Don&#8217;t Hardcode Copyright&nbsp;Years'>Dear Developers, Don&#8217;t Hardcode Copyright&nbsp;Years</a></li><li><a
href='http://davidwalsh.name/dojo-mootools' rel='bookmark' title='Permanent Link: Quick Dojo Setup Snippet for MooTools&nbsp;Developers'>Quick Dojo Setup Snippet for MooTools&nbsp;Developers</a></li><li><a
href='http://davidwalsh.name/does-open-source-mean-you-cant-bitch' rel='bookmark' title='Permanent Link: Does Open Source Mean You Can&#8217;t&nbsp;Bitch?'>Does Open Source Mean You Can&#8217;t&nbsp;Bitch?</a></li><li><a
href='http://davidwalsh.name/format-css-files' rel='bookmark' title='Permanent Link: How I Format My CSS&nbsp;Files'>How I Format My CSS&nbsp;Files</a></li></ol>]]></description> <content:encoded><![CDATA[<p><img
src="http://davidwalsh.name/dw-content/office-space-copier.jpg" alt="Office Space" /></p><p>One of the downsides of being around developers of varying skill levels, from noob to Open Source legend, is that everyone has an opinion&#8230;and they&#8217;re all wrong.  Every one of them.  Of course, me being a developer, I&#8217;m wrong too.  There are a few things, however, that I hear frequently and want nothing more than to scream.  Listen here developers:  get over it.</p><h2>Get Over It!  Valid Mark Isn&#8217;t THAT&nbsp;Important!</h2><p>I&#8217;m <em>not</em> saying that it&#8217;s OK to not close elements, not properly quote attributes, etc.  What I <em>am</em> saying is that effectiveness is much more important than picture perfect markup.  HTML Validator:  go to hell.  There&#8217;s absolutely nothing wrong with using custom attributes.  Dojo uses custom attributes within the Dijit library so that developers can create widgets directly from HTML.  And you know what?  It&#8217;s fast, convenient, and allows the developer to move on with their lives.  Get over it.</p><p>Look at Google, a company that employs some of the most intelligent developers in the world.  At publish time, Google&#8217;s homepage has 37 markup errors and 3 warnings.  I detailed <a
href="http://davidwalsh.name/popular-websites-and-xhtml-validation-errors">markup errors on popular websites</a> a while back.  They all work perfectly.  And have for a while.  And will for a while.  Get over it.</p><h2>Get Over It!  CSS Hacks are&nbsp;OK!</h2><p>Of course CSS hacks aren&#8217;t ideal.  Of course we&#8217;d like browser support to be consistent.  Well, it isn&#8217;t, so we as developers can only react to the browser vendors&#8217; differences.  And sometimes a CSS hack is the best (or only) way to do it.  I personally choose to add my IE6, IE7, etc. hacks within my main stylesheet instead of conditional statements. Why?  Because I want to cut down on requests and when I think of editing CSS, I don&#8217;t want to be jumping from stylesheet to style to find something.  Get over it.</p><h2>Get Over It!  Open Source Projects Owe You&nbsp;NOTHING!</h2><p>It wasn&#8217;t until I joined the MooTools (ftw) team that I realized how entitled people who use a given library (JavaScript, PHP, etc.) or open source project feel.  Even I was <a
href="http://davidwalsh.name/does-open-source-mean-you-cant-bitch">THAT GUY</a> for a while.  Want your opinion to matter?  Want a feature added to the given library?  Want a method within the library modified?  There&#8217;s an easy way to do it:  do it.  Take the time to code it and donate it to the library.  Otherwise hear this:  you are owed NOTHING.  Zero.  Nil.  Thousands of hours of <em>other people&#8217;s time</em> created the toolkit; pitch in and stop whining.  Get over it.</p><h2>Get Over It!  Your Opinion Is (Almost)&nbsp;WORTHLESS!</h2><p>Sometimes open source projects can become the equivalent to the WWE.  Everyone&#8217;s got a strong opinion and everyone else is wrong.  Egos, egos, egos.  I see it in all of the JavaScript libs (jQuery, MooTools, etc.), JS lib haters (comp.lang.javascript), and libs of every language.  You know how you make your opinion worth something?  Present it professionally and, most importantly, make it work!   Code it, test it, and test it again.  Realize that your opinion is worthless if you don&#8217;t make it happen.  Get over it.</p><h2>Get Over It!  Your JavaScript Library&#8217;s 3ms ISN&#8217;T Leaps Ahead of My Lib&#8217;s&nbsp;4ms</h2><p>Selector query times are the biggest pissing contests in the history of the web.  While query selector times are certainly important, a 1ms difference isn&#8217;t enough to spout your mouth off about.  Save it.  That type of difference is important when you&#8217;re dealing with hundreds of elements&#8230;and if that&#8217;s the case, you may be doing it wrong.  Get over it.</p><h2>Get Over It!  Object Prototype Extension is&nbsp;OK!</h2><p>As a MooTools team member, I get a lot of grief for MooTools&#8217; philosophy on extending prototypes of Natives like Array, String, Function, Object, etc.  Extending the prototype makes the object (and all instances of the object type) much more powerful and relieves the need to constantly refer to a single namespace and method to do something.  If your library of choice doesn&#8217;t extend prototypes, that fine &#8212; don&#8217;t bitch about those that do though.  Get over it.</p><p>There you have it.  Mark today as the day you officially got over it.  If you&#8217;re offended by this post, you&#8217;re exactly the person that I&#8217;m trying to target.  Take a step back, think about the big picture, and realize it&#8217;s time to grow up.  I did a while ago &#8212; and my development life is much better.</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/get-over-it">GET OVER IT!  6 Things Web Developers Need to Get&nbsp;Over</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/the-7-major-roadblocks-that-cripple-web-developers-and-the-internet' rel='bookmark' title='Permanent Link: The 7 Major Roadblocks That Cripple Web Developers and The&nbsp;Internet'>The 7 Major Roadblocks That Cripple Web Developers and The&nbsp;Internet</a></li><li><a
href='http://davidwalsh.name/dear-developers-hardcode-copyright-year' rel='bookmark' title='Permanent Link: Dear Developers, Don&#8217;t Hardcode Copyright&nbsp;Years'>Dear Developers, Don&#8217;t Hardcode Copyright&nbsp;Years</a></li><li><a
href='http://davidwalsh.name/dojo-mootools' rel='bookmark' title='Permanent Link: Quick Dojo Setup Snippet for MooTools&nbsp;Developers'>Quick Dojo Setup Snippet for MooTools&nbsp;Developers</a></li><li><a
href='http://davidwalsh.name/does-open-source-mean-you-cant-bitch' rel='bookmark' title='Permanent Link: Does Open Source Mean You Can&#8217;t&nbsp;Bitch?'>Does Open Source Mean You Can&#8217;t&nbsp;Bitch?</a></li><li><a
href='http://davidwalsh.name/format-css-files' rel='bookmark' title='Permanent Link: How I Format My CSS&nbsp;Files'>How I Format My CSS&nbsp;Files</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/get-over-it/feed</wfw:commentRss> <slash:comments>59</slash:comments> </item> <item><title>AJAX Annoyances to&#160;Avoid</title><link>http://davidwalsh.name/ajax-tips</link> <comments>http://davidwalsh.name/ajax-tips#comments</comments> <pubDate>Fri, 28 May 2010 13:54:58 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[AJAX]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4973</guid> <description><![CDATA[The AJAX revolution has completely reinvigorated the web. Browsers are working hard to increase the speed of their JavaScript and rendering engines. Web Developers are working as quickly as possible to push the limits of the browsers even further. Users are feeling more entitled by the user experiences provided by AJAX-heavy websites like Facebook. Before [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/ajax-tips">AJAX Annoyances to&nbsp;Avoid</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/ajax-rules-to-live-by' rel='bookmark' title='Permanent Link: 6 AJAX Rules To Live&nbsp;By'>6 AJAX Rules To Live&nbsp;By</a></li><li><a
href='http://davidwalsh.name/twitter-button' rel='bookmark' title='Permanent Link: Create a Twitter AJAX Button with MooTools, jQuery, or&nbsp;Dojo'>Create a Twitter AJAX Button with MooTools, jQuery, or&nbsp;Dojo</a></li><li><a
href='http://davidwalsh.name/ajax-spinner' rel='bookmark' title='Permanent Link: Form Element AJAX Spinner Attachment Using&nbsp;MooTools'>Form Element AJAX Spinner Attachment Using&nbsp;MooTools</a></li><li><a
href='http://davidwalsh.name/book-review-enterprise-ajax-strategies-building-high-performance-web-applications' rel='bookmark' title='Permanent Link: Book Review:  Enterprise AJAX &#8212; Strategies For Building High Performance Web&nbsp;Applications'>Book Review:  Enterprise AJAX &#8212; Strategies For Building High Performance Web&nbsp;Applications</a></li><li><a
href='http://davidwalsh.name/periodical-ajax-requests-mootools-12' rel='bookmark' title='Permanent Link: Periodical AJAX Requests Using MooTools&nbsp;1.2'>Periodical AJAX Requests Using MooTools&nbsp;1.2</a></li></ol>]]></description> <content:encoded><![CDATA[<p>The AJAX revolution has completely reinvigorated the web.  Browsers are working hard to increase the speed of their JavaScript and rendering engines.  Web Developers are working as quickly as possible to push the limits of the browsers even further.  Users are feeling more entitled by the user experiences provided by AJAX-heavy websites like Facebook.  Before you thrust your website into the world of AJAX, be sure you&#8217;re doing it for the right reasons, otherwise you may run into the following annoyances.</p><h2>Using AJAX Because You&nbsp;Can</h2><p>If using AJAX doesn&#8217;t improve the user experience, there&#8217;s a good chance that using it will cause more harm that good.  There are many behaviors and functionalities you&#8217;ll need to account for (paging, scroll position, &#8220;back button&#8221;, etc.) that the browser traditionally handles.  Add to that things like browser bookmarking and there&#8217;s a good chance that using AJAX may not be the best bet, especially if you don&#8217;t want to put in the development and testing time to ensure that your users wont be led down an unreliable path.</p><h2>Forgetting Scroll&nbsp;Position/Paging</h2><p>A lot of websites now use a cute paging technique that loads more content once you&#8217;ve scrolled down near the bottom of a parent element.  That&#8217;s great and all but if I click a link, click my browser&#8217;s &#8220;Back&#8221; button, and only the first &#8220;page&#8221; of content loads, I&#8217;ll hunt down the site&#8217;s webmaster and shank him.  I&#8217;d rather wait for a full page load than continually need to scroll to the bottom of an element to get back to where I was.</p><h2>Providing No &#8220;Feedback&#8221;&nbsp;Imagery/Message</h2><p>There&#8217;s nothing worse than clicking on a button and &#8230;seeing&#8230;nothing&#8230;happen&#8230;Oh, there it is!  Communicating effectively with your user is paramount to a good user experience.  At least with a new page load the user would see the progress bar light up, the address bar change, and possibly even a different cursor.  If you plan on creating an effective AJAX-powered site, use something like <a
href="http://davidwalsh.name/js/dotter">Dotter</a> or another visual effect to communicate to the user that something is happening.</p><h2>Too Many Things Happening at&nbsp;Once</h2><p>Too frequently do I see AJAX-driven websites that have 100 things happening at once.  If there are a hundred things happening at once, how can you effectively communicate that to the user?  That&#8217;s quite a task.  It may be best to try to chunk requests together to better show your users &#8220;progress-by-volume.&#8221;</p><h2>Have&nbsp;More?</h2><p>I know I&#8217;m missing a few annoyances &#8212; share them!  If brave enough, cite websites that are currently making these mistakes!</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/ajax-tips">AJAX Annoyances to&nbsp;Avoid</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/ajax-rules-to-live-by' rel='bookmark' title='Permanent Link: 6 AJAX Rules To Live&nbsp;By'>6 AJAX Rules To Live&nbsp;By</a></li><li><a
href='http://davidwalsh.name/twitter-button' rel='bookmark' title='Permanent Link: Create a Twitter AJAX Button with MooTools, jQuery, or&nbsp;Dojo'>Create a Twitter AJAX Button with MooTools, jQuery, or&nbsp;Dojo</a></li><li><a
href='http://davidwalsh.name/ajax-spinner' rel='bookmark' title='Permanent Link: Form Element AJAX Spinner Attachment Using&nbsp;MooTools'>Form Element AJAX Spinner Attachment Using&nbsp;MooTools</a></li><li><a
href='http://davidwalsh.name/book-review-enterprise-ajax-strategies-building-high-performance-web-applications' rel='bookmark' title='Permanent Link: Book Review:  Enterprise AJAX &#8212; Strategies For Building High Performance Web&nbsp;Applications'>Book Review:  Enterprise AJAX &#8212; Strategies For Building High Performance Web&nbsp;Applications</a></li><li><a
href='http://davidwalsh.name/periodical-ajax-requests-mootools-12' rel='bookmark' title='Permanent Link: Periodical AJAX Requests Using MooTools&nbsp;1.2'>Periodical AJAX Requests Using MooTools&nbsp;1.2</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/ajax-tips/feed</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Confessions of a Web Developer&#160;VIII</title><link>http://davidwalsh.name/confessions-viii</link> <comments>http://davidwalsh.name/confessions-viii#comments</comments> <pubDate>Tue, 18 May 2010 13:53:10 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4956</guid> <description><![CDATA[It’s been a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash: Rock star developers get lots of schwag and job offers every day. It makes me think to myself: &#8220;If I were an actual rock star, [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-viii">Confessions of a Web Developer&nbsp;VIII</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/confessions-ix' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;IX'>Confessions of a Web Developer&nbsp;IX</a></li><li><a
href='http://davidwalsh.name/confessions-of-an-eccentric-web-developer' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web&nbsp;Developer'>Confessions of an Eccentric Web&nbsp;Developer</a></li><li><a
href='http://davidwalsh.name/confessions-v' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;V'>Confessions of a Web Developer&nbsp;V</a></li><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-iii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;III'>Confessions of an Eccentric Web Developer&nbsp;III</a></li><li><a
href='http://davidwalsh.name/confessions-vi' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VI'>Confessions of a Web Developer&nbsp;VI</a></li></ol>]]></description> <content:encoded><![CDATA[<img
class="image" src="http://davidwalsh.name/dw-content/janine.jpg" alt="Janine / Blink 182" /><p>It’s been a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash:</p><ul><li>Rock star developers get lots of schwag and job offers every day.  It makes me think to myself: &#8220;If I were an <em>actual</em> rock star, the offers would be sex and drugs.&#8221;  A very difficult decision as to what I&#8217;d rather be&#8230;..</li><li>&#8220;Webmasters&#8221; are a lot like a &#8220;Porn Star&#8221;:  both get their status before they&#8217;ve done or proven anything.</li><li>If more people knew about Dojo&#8217;s Dijit library, Dojo could be the most popular toolkit out there.  No other toolkit (<em>maybe</em> excluding Ext) available has that level of UI framework to go along with its base framework.</li><li>MooTools 1.3 is the first step in incrementing MooTools to 2.0.  Implementing Slick is a great start &#8212; there&#8217;s no more fitting name for this selector engine than that.</li><li>I spend 40+ hours a week with Dojo team members and probably another 40+ with the MooTools team.  Loads of brilliant people around me.  I sometimes feel completely out-classed&#8230;</li><li>&#8230;although it does make me feel important since, at any moment of time, I can ping the head figures of Dojo, jQuery, and MooTools.</li><li>Apple wont support Flash.  Am I the only person that doesn&#8217;t give a shit?</li><li>Don&#8217;t like Facebook&#8217;s privacy policies?  Close your account and create your own site.  Simple.  Facebook has put forth the money, time, and effort to create the site.  You are owed NOTHING.  STFU or move on.</li><li>Getting beat up by a bug all day can be frustrating but the good thing is that the given bug will never victimize you again.</li><li>I was playing the &#8220;guess which framework this business&#8217; website uses&#8221;  game and I set my target on McDonald&#8217;s.  I said it would be jQuery.  It  was.  Very fitting and an easy guess.</li><li>Sometimes I look out my window and wish I worked in the outdoors.  Then I realized that I&#8217;m a sickly, small person and that I&#8217;d probably die within a week.</li><li>Crucify Microsoft and not its current browser developer team.</li><li>It pisses me off that developers who blog are made to feel guilty for having ads on their site.  We&#8217;re giving away code for free;  we&#8217;re charging, essentially, for our time.  And our time is worth it, so don&#8217;t bitch.</li><li>There&#8217;s no better way to create instant comedy on IM than by using the &#8220;/me _____&#8221; command.  &#8220;/me&#8221; = gold.</li><li>I haven&#8217;t touched a server-side script in weeks&#8230;and I&#8217;m more than OK with that.</li><li>I felt like a total attention whore to create a <a
rel="nofollow" href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869?ref=ts">David Walsh Blog</a> page on Facebook, but a lot of people had asked for it.  So deal with it.</li></ul><p>As always I&#8217;ve lobbed the first pitch &#8212; time for you to tee off.</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-viii">Confessions of a Web Developer&nbsp;VIII</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/confessions-ix' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;IX'>Confessions of a Web Developer&nbsp;IX</a></li><li><a
href='http://davidwalsh.name/confessions-of-an-eccentric-web-developer' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web&nbsp;Developer'>Confessions of an Eccentric Web&nbsp;Developer</a></li><li><a
href='http://davidwalsh.name/confessions-v' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;V'>Confessions of a Web Developer&nbsp;V</a></li><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-iii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;III'>Confessions of an Eccentric Web Developer&nbsp;III</a></li><li><a
href='http://davidwalsh.name/confessions-vi' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VI'>Confessions of a Web Developer&nbsp;VI</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-viii/feed</wfw:commentRss> <slash:comments>30</slash:comments> </item> <item><title>4 Ways JavaScript Has Changed the Way I&#160;Code</title><link>http://davidwalsh.name/ways-javascript-changed-code</link> <comments>http://davidwalsh.name/ways-javascript-changed-code#comments</comments> <pubDate>Tue, 13 Apr 2010 13:14:42 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4946</guid> <description><![CDATA[The plot: I started teach myself web programming ten years ago; about three years ago I became infatuated with JavaScript and its practices. The bad news: in teaching myself I developed my own bad habits. The good news: my time with JavaScript and the MooTools team has opened my eyes to a better way of [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/ways-javascript-changed-code">4 Ways JavaScript Has Changed the Way I&nbsp;Code</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/contribute-javascript-framework' rel='bookmark' title='Permanent Link: 5 Ways to Contribute to Your Favorite JavaScript&nbsp;Framework'>5 Ways to Contribute to Your Favorite JavaScript&nbsp;Framework</a></li><li><a
href='http://davidwalsh.name/javascript-arrays-brackets-braces' rel='bookmark' title='Permanent Link: JavaScript Arrays: The Difference Between [] and {&nbsp;}'>JavaScript Arrays: The Difference Between [] and {&nbsp;}</a></li><li><a
href='http://davidwalsh.name/javascript-short-code' rel='bookmark' title='Permanent Link: JavaScript:  Condensed Code vs.&nbsp;Readability'>JavaScript:  Condensed Code vs.&nbsp;Readability</a></li><li><a
href='http://davidwalsh.name/firebug-console-log' rel='bookmark' title='Permanent Link: Logging Information to the Firebug JavaScript&nbsp;Console'>Logging Information to the Firebug JavaScript&nbsp;Console</a></li><li><a
href='http://davidwalsh.name/javascript-dollar-function' rel='bookmark' title='Permanent Link: Create Your Own Custom JavaScript Dollar Function To Select An&nbsp;Element'>Create Your Own Custom JavaScript Dollar Function To Select An&nbsp;Element</a></li></ol>]]></description> <content:encoded><![CDATA[<p>The plot:  I started teach myself web programming ten years ago; about three years ago I became infatuated with JavaScript and its practices.  The bad news:  in teaching myself I developed my own bad habits.  The good news:  my time with JavaScript and the MooTools team has opened my eyes to a better way of coding.  Here are a few ways JavaScript has helped me to become a better programmers.</p><h2>I Want Everything to be an Object (Screw You&nbsp;PHP!)</h2><p>Before my love affair with PHP, I was content with using static functions for everything.  I had no problem with:</p><pre class="php">
$result = explode(';',$text);
echo $result[0];
//or....
list($title,content) = explode(';',$text);
echo $title;
</pre><p>Now I vomit every time I have to code something like that.  I love that JavaScript&#8217;s &#8220;everything&#8217;s an object&#8221; philosophy allows me to quickly string together a billion operations:</p><pre class="js">
var myText = $('myElement').getFirst('a').get('text').split('.')[0].replace(' ','-');
</pre><p>JavaScript FTW!</p><h2>I CamelCase (Screw You&nbsp;Underscore!)</h2><p>I generally try to conform to the philosophies of any language when it comes to naming variable and functions.  While many would argue PHP can&#8217;t make up its damn mind about such matters, I would say PHP&#8217;s standard is the underscore.  Since I&#8217;ve coded so much JavaScript over the past few years, I&#8217;ve come to prefer camelcasing.  Same readability, a few less characters.</p><p>JavaScript FTW!</p><h2>Same-Line { for Functions (Screw You&nbsp;Pascal!)</h2><p>My first inclination as a n00b programmer when it came to braces was that they should be given their own line:</p><pre class="php">
function my_function($x)
{
	if($x) 
	{
		//..stuff
	}
	else
	{
		//..stuff
	}
}
</pre><p>I probably thought that the extra whitespace made the code easier to read.  Now I&#8217;m just annoyed with beginning braces having their own line.  Seems like a waste of space.</p><p>JavaScript FTW!</p><h2>I Require Frameworks (Screw You Vanilla&nbsp;PHP!)</h2><p>Remember the days when people would scour the web for JavaScript components and hack together their website?  I recently ran into a company that did that.  Sick.  Frameworks like MooTools make coding a billion times faster.  Your code becomes more consistent and many components are in place for you.  Working without a framework is like going into a brothel without protection.</p><p>JavaScript FTW!</p><p>So that&#8217;s how JavaScript has changed the way I code.  Am I missing something?  Have a similar experience?  Let me know!</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/ways-javascript-changed-code">4 Ways JavaScript Has Changed the Way I&nbsp;Code</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/contribute-javascript-framework' rel='bookmark' title='Permanent Link: 5 Ways to Contribute to Your Favorite JavaScript&nbsp;Framework'>5 Ways to Contribute to Your Favorite JavaScript&nbsp;Framework</a></li><li><a
href='http://davidwalsh.name/javascript-arrays-brackets-braces' rel='bookmark' title='Permanent Link: JavaScript Arrays: The Difference Between [] and {&nbsp;}'>JavaScript Arrays: The Difference Between [] and {&nbsp;}</a></li><li><a
href='http://davidwalsh.name/javascript-short-code' rel='bookmark' title='Permanent Link: JavaScript:  Condensed Code vs.&nbsp;Readability'>JavaScript:  Condensed Code vs.&nbsp;Readability</a></li><li><a
href='http://davidwalsh.name/firebug-console-log' rel='bookmark' title='Permanent Link: Logging Information to the Firebug JavaScript&nbsp;Console'>Logging Information to the Firebug JavaScript&nbsp;Console</a></li><li><a
href='http://davidwalsh.name/javascript-dollar-function' rel='bookmark' title='Permanent Link: Create Your Own Custom JavaScript Dollar Function To Select An&nbsp;Element'>Create Your Own Custom JavaScript Dollar Function To Select An&nbsp;Element</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/ways-javascript-changed-code/feed</wfw:commentRss> <slash:comments>45</slash:comments> </item> <item><title>Confessions of a Web Developer&#160;VII</title><link>http://davidwalsh.name/confessions-vii</link> <comments>http://davidwalsh.name/confessions-vii#comments</comments> <pubDate>Mon, 12 Apr 2010 13:29:24 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4937</guid> <description><![CDATA[It’s been quite a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash: Ryan Florence said something recently that I realized I completely agreed with:  the more I work on the client side, the less I enjoy [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-vii">Confessions of a Web Developer&nbsp;VII</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-iii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;III'>Confessions of an Eccentric Web Developer&nbsp;III</a></li><li><a
href='http://davidwalsh.name/confessions-vi' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VI'>Confessions of a Web Developer&nbsp;VI</a></li><li><a
href='http://davidwalsh.name/confessions-viii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VIII'>Confessions of a Web Developer&nbsp;VIII</a></li><li><a
href='http://davidwalsh.name/confessions-v' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;V'>Confessions of a Web Developer&nbsp;V</a></li><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-ii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;II'>Confessions of an Eccentric Web Developer&nbsp;II</a></li></ol>]]></description> <content:encoded><![CDATA[<img
class="image" src="http://davidwalsh.name/dw-content/usher.jpg" alt="Confessions!" /><p>It’s been quite a while since I’ve gotten a few things off of my chest  and since I’m always full of peeves and annoyances I thought it was time  to unleash:</p><ul><li><a
href="http://ryanflorence.com/" rel="nofollow">Ryan Florence</a> said something recently that I realized I completely agreed with:  <strong>the more I work on the client side, the less I enjoy working on the server side</strong>.</li><li>The iPad will be great for mothers, grandmothers, and people who don&#8217;t need to do much except play music, surf the web, check email, and manage photos.  Outside of that, <strong>I don&#8217;t see a lot of value in iPads</strong>&#8230;yet.</li><li><strong>Opera&#8217;s huge Opera Mini for iPhone campaign is really ballsy.</strong> They&#8217;re almost begging Apple to reject it and cause a major PR (and legal?) crisis.  I&#8217;m excited to see how this all shakes out.  I&#8217;m not excited at the prospect of needing to support another mobile browser.</li><li>Rule for asking for help:  if you don&#8217;t show that you&#8217;ve tried to accomplish something, <strong>you don&#8217;t deserve help</strong>.</li><li>I&#8217;ve learned a lot on one of the recent consulting projects I&#8217;ve worked on.  Completely opened my eyes to a different way of managing events with JavaScript.  Event.target FTW.</li><li>Sometimes when I&#8217;m coding something really awesome, I put on sun glasses&#8230;<strong>even though it&#8217;s night</strong>.</li><li>I&#8217;ve learned in the past three months is that if you want to speak with one of your web heroes (Moo members, Dojo members, startup founders, etc.), <strong>all you have to do is ask</strong>.  They&#8217;re much more accessible than you&#8217;d think (unless you&#8217;re just looking for support).</li><li>I probably shouldn&#8217;t but I do take pride in the fact that <strong><a
href="http://mootools.net/forge/p/scrollspy">ScrollSpy</a> is the most downloaded plugin in the MooTools Forge</strong>.</li><li>I&#8217;m not a jQuery fanboy in any capacity but <strong>I HATE when someone spells it &#8220;Jquery&#8221;</strong>.</li><li>I haven&#8217;t been able to make it to any conferences yet but that will change very soon&#8230;.and I look forward to meeting you all.</li><li>The second I find a primarily JS/CSS/HTML job, <strong>I&#8217;m taking it</strong>.  As much as I sometimes enjoy PHP, a front-end job would be perfect for me.  And if it were for an agency that did EPL websites, I will have died and gone to heaven.</li><li><strong>A tags are block level in HTML5.</strong> FTW and long overdue!</li><li>The level to which web ads are becoming obtrusive is really, really insulting.   You know the ads &#8212; the Flash-based ads that end up taking up most of your screen.  <strong>Complete fucking annoyances.</strong> CNNSI has been the worst for me.</li><li>There are whispers of a <strong>MooTools conference</strong> within a year&#8230;.</li><li>A GoDaddy support representative recently told my colleague that <strong>Java and JavaScript were the same thing</strong>.  Think about that next time you think about using them for hosting&#8230;</li><li><strong>Websites are a lot like picking women</strong>:  some look super hot but don&#8217;t have any value outside their looks;  others look really nice but have the content and user experience that keep your attention.</li></ul><p>Feels good to get that off my chest.  Now is when you flame me&#8230;.</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-vii">Confessions of a Web Developer&nbsp;VII</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-iii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;III'>Confessions of an Eccentric Web Developer&nbsp;III</a></li><li><a
href='http://davidwalsh.name/confessions-vi' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VI'>Confessions of a Web Developer&nbsp;VI</a></li><li><a
href='http://davidwalsh.name/confessions-viii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VIII'>Confessions of a Web Developer&nbsp;VIII</a></li><li><a
href='http://davidwalsh.name/confessions-v' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;V'>Confessions of a Web Developer&nbsp;V</a></li><li><a
href='http://davidwalsh.name/confessions-eccentric-web-developer-ii' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web Developer&nbsp;II'>Confessions of an Eccentric Web Developer&nbsp;II</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-vii/feed</wfw:commentRss> <slash:comments>25</slash:comments> </item> <item><title>JavaScript:  Condensed Code vs.&#160;Readability</title><link>http://davidwalsh.name/javascript-short-code</link> <comments>http://davidwalsh.name/javascript-short-code#comments</comments> <pubDate>Mon, 29 Mar 2010 13:16:53 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4939</guid> <description><![CDATA[I&#8217;ve been coding some more advanced JavaScript applications lately and they&#8217;ve made me think a lot about coding styles. More specifically: shortness of code vs. readability. My&#160;Mindset I can be a conflicted developer sometimes, so here are a few thoughts that go through my mind: &#8220;Tools like the YUI Compressor will compress my code enough.&#8221; [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/javascript-short-code">JavaScript:  Condensed Code vs.&nbsp;Readability</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/ways-javascript-changed-code' rel='bookmark' title='Permanent Link: 4 Ways JavaScript Has Changed the Way I&nbsp;Code'>4 Ways JavaScript Has Changed the Way I&nbsp;Code</a></li><li><a
href='http://davidwalsh.name/image-load-event' rel='bookmark' title='Permanent Link: Image onLoad Event + JavaScript Issue with Internet&nbsp;Explorer'>Image onLoad Event + JavaScript Issue with Internet&nbsp;Explorer</a></li><li><a
href='http://davidwalsh.name/mootools-jquery-dojo' rel='bookmark' title='Permanent Link: Accomplishing Common Tasks Using MooTools, jQuery, and&nbsp;Dojo'>Accomplishing Common Tasks Using MooTools, jQuery, and&nbsp;Dojo</a></li><li><a
href='http://davidwalsh.name/mootools-image-mouseovers' rel='bookmark' title='Permanent Link: MooTools Image MouseOvers &#8211; Cleaner JavaScript Code, Less&nbsp;Hassle'>MooTools Image MouseOvers &#8211; Cleaner JavaScript Code, Less&nbsp;Hassle</a></li><li><a
href='http://davidwalsh.name/change-text-size-onclick-with-javascript' rel='bookmark' title='Permanent Link: Change Text Size On Click With&nbsp;JavaScript'>Change Text Size On Click With&nbsp;JavaScript</a></li></ol>]]></description> <content:encoded><![CDATA[<p>I&#8217;ve been coding some more advanced JavaScript applications lately and they&#8217;ve made me think a lot about coding styles.  More specifically:  shortness of code vs. readability.</p><h2>My&nbsp;Mindset</h2><p>I can be a conflicted developer sometimes, so here are a few thoughts that go through my mind:</p><ul><li>&#8220;Tools like the YUI Compressor will compress my code enough.&#8221;</li><li>&#8220;Sure YUI Compressor will shorten the code but it wont address shortening strings as arguments.&#8221;</li><li>&#8220;With broadband internet, a few KB really wont matter.&#8221;</li><li>&#8220;With mobile bandwidth constraints, I need this JS file to be as tiny as possible.&#8221;</li><li>&#8220;I want this app to be easy enough for me to step into and understand again within 5 minutes.&#8221;</li><li>&#8220;I want to be able to reuse some of this code in future projects without a bunch of hassle.&#8221;</li><li>&#8220;How easy is it to judge 500 feet?  If I stay a reasonable distance away from Christina Ricci, can they definitively prove I broke the restraining order?&#8221;</li></ul><h2>A Quick and Easy&nbsp;Example</h2><p>Take the following verbose code snippet for example:</p><pre class="js">
myElement.addEvent('click',function() {
	var parent = myElement.getParent();
	parent.setStyle('border','1px solid #f00');
	var tag = parent.get('tag');
	if(tag == 'a') {
		myElement.setStyle('display','none');
	}
	else {
		myElement.setStyle('display','block');
	}
	parent.tween('opacity',1);
});
</pre><p>Though the snippet is very readable, it can be shortened quite a bit:</p><pre class="js">
myElement.addEvent('click',function() {
	var parent = myElement.getParent().setStyle('border','1px solid #f00').tween('opacity',1);
	myElement.setStyle('display',parent.get('tag') == 'a' ? 'none' : 'block');
});
</pre><p>The above case shows a sacrifice of readability for the sake of short code.  It would be easy to gloss over the &#8220;setStyle&#8221; added to the parent.  All things considered, which is better for you?</p><h2>The String&nbsp;Concern</h2><p>String literals aren&#8217;t addressed by the YUI Compressor.  So the following snippet&#8230;</p><pre class="js">
//more above...
myElement.addEvent('click',function() {
	var halfOpacity = 0.5, fullOpacity = 1;
	if(myElement.hasClass('opacity')) {
		myElement.setStyle('display',halfOpacity).set('text','Can you see me?');
	}
	else {
		myElement.setStyle('display',fullOpacity).set('text','You cannot miss me!');
	}
});

//more below....
</pre><p>&#8230;becomes&#8230;</p><pre class="js">
myElement.addEvent("click",function(){var b=0.5,a=1;if(myElement.hasClass("opacity")){myElement.setStyle("display",b).set("text","Can you see me?")}else{myElement.setStyle("display",a).set("text","You cannot miss me!")}});
</pre><p>Even though the &#8220;display&#8221; and &#8220;text&#8221; strings are used twice, they aren&#8217;t shortened/replaced by a variable.  Since we&#8217;re foregoing readability by using the YUI compressor and only desire to have the shortest code possible, I feel like the above is a major fail.</p><h2>The String&nbsp;Compromise</h2><p>When extreme shortness of code with readability is important, I&#8217;ll take string literals and create variables with their same name at the very top of my application.  Doing so keeps my variables readable when coding and allows YUI to really crunch the code.  Here&#8217;s the before:</p><pre class="js">
window.addEvent('domready',function() {
	
	/** settings on top; frequently used strings **/
	var _click = 'click', _opacity = 'opacity', _text = 'text';
	
	//now do everything below
	//....
	$(myElement).addEvent(_click,function() {
		var halfOpacity = 0.5, fullOpacity = 1;
		if(myElement.hasClass(_opacity)) {
			myElement.setStyle(_opacity,halfOpacity).set(_text,'Can you see me?');
		}
		else {
			myElement.setStyle(_opacity,fullOpacity).set(_text,'You cannot miss me!');
		}
	});
	//....
});
</pre><p>..and the after&#8230;</p><pre class="js">
//37% compression -- nice!!
window.addEvent("domready",function(){var b="click",a="opacity",c="text";$(myElement).addEvent(b,function(){var e=0.5,d=1;if(myElement.hasClass(a)){myElement.setStyle(a,e).set(c,"Can you see me?")}else{myElement.setStyle(a,d).set(c,"You cannot miss me!")}})});
</pre><p>Awesome &#8212; the code is still readable and frequently used strings can be compressed.  Our code&#8217;s compression ratio for this block alone becomes 37% &#8212; a very significant number</p><h2>Object Methods:  Too&nbsp;Much?</h2><p>You could stake it a step further by using Array-style syntax and variable methods to assist the YUI Compressor.  The before:</p><pre class="js">
window.addEvent('domready',function() {
	
	/** settings on top; frequently used strings **/
	var _click = 'click', _opacity = 'opacity', _text = 'text';
	var _addEvent = 'addEvent', _hasClass = 'hasClass', _setStyle = 'setStyle', _set = 'set';
	
	//now do everything below
	//....
	$(myElement).addEvent(_click,function() {
		var halfOpacity = 0.5, fullOpacity = 1;
		if(myElement[_hasClass](_opacity)) {
			myElement[_setStyle](_opacity,halfOpacity)[_set](_text,'Can you see me?');
		}
		else {
			myElement[_setStyle](_opacity,fullOpacity)[_set](_text,'You cannot miss me!');
		}
	});
	//....
});
</pre><p>&#8230;and the after&#8230;</p><pre class="js">
//47% compression!  FTW!
window.addEvent("domready",function(){var c="click",b="opacity",f="text";var e="addEvent",d="_hasClass",g="setStyle",a="set";$(myElement).addEvent(c,function(){var i=0.5,h=1;if(myElement[d](b)){myElement[g](b,i)[a](f,"Can you see me?")}else{myElement[g](b,h)[a](f,"You cannot miss me!")}})});
</pre><p>Too much?  I suppose it depends on the skill lever of the coder and the desire to make the code short.</p><h2>What Do You&nbsp;Think?</h2><p>What are your thoughts on the epic battle between readability and code compression?  I think it really depends on the developer but I&#8217;d love to hear your thoughts!</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/javascript-short-code">JavaScript:  Condensed Code vs.&nbsp;Readability</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/ways-javascript-changed-code' rel='bookmark' title='Permanent Link: 4 Ways JavaScript Has Changed the Way I&nbsp;Code'>4 Ways JavaScript Has Changed the Way I&nbsp;Code</a></li><li><a
href='http://davidwalsh.name/image-load-event' rel='bookmark' title='Permanent Link: Image onLoad Event + JavaScript Issue with Internet&nbsp;Explorer'>Image onLoad Event + JavaScript Issue with Internet&nbsp;Explorer</a></li><li><a
href='http://davidwalsh.name/mootools-jquery-dojo' rel='bookmark' title='Permanent Link: Accomplishing Common Tasks Using MooTools, jQuery, and&nbsp;Dojo'>Accomplishing Common Tasks Using MooTools, jQuery, and&nbsp;Dojo</a></li><li><a
href='http://davidwalsh.name/mootools-image-mouseovers' rel='bookmark' title='Permanent Link: MooTools Image MouseOvers &#8211; Cleaner JavaScript Code, Less&nbsp;Hassle'>MooTools Image MouseOvers &#8211; Cleaner JavaScript Code, Less&nbsp;Hassle</a></li><li><a
href='http://davidwalsh.name/change-text-size-onclick-with-javascript' rel='bookmark' title='Permanent Link: Change Text Size On Click With&nbsp;JavaScript'>Change Text Size On Click With&nbsp;JavaScript</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/javascript-short-code/feed</wfw:commentRss> <slash:comments>16</slash:comments> </item> <item><title>Confessions of a Web Developer&#160;VI</title><link>http://davidwalsh.name/confessions-vi</link> <comments>http://davidwalsh.name/confessions-vi#comments</comments> <pubDate>Thu, 21 Jan 2010 14:11:24 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4060</guid> <description><![CDATA[It’s been quite a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash: Who loses in the browser wars? Developers. Designers. Users. I hope the browser development teams are having fun though&#8230; Learning jQuery made me love [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-vi">Confessions of a Web Developer&nbsp;VI</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/confessions-viii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VIII'>Confessions of a Web Developer&nbsp;VIII</a></li><li><a
href='http://davidwalsh.name/confessions-v' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;V'>Confessions of a Web Developer&nbsp;V</a></li><li><a
href='http://davidwalsh.name/confessions-ix' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;IX'>Confessions of a Web Developer&nbsp;IX</a></li><li><a
href='http://davidwalsh.name/confessions-vii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VII'>Confessions of a Web Developer&nbsp;VII</a></li><li><a
href='http://davidwalsh.name/confessions-of-an-eccentric-web-developer' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web&nbsp;Developer'>Confessions of an Eccentric Web&nbsp;Developer</a></li></ol>]]></description> <content:encoded><![CDATA[<img
class="image" src="http://davidwalsh.name/dw-content/usher.jpg" alt="Confessions!" /><p>It’s been quite a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash:</p><ul><li>Who loses in the browser wars?  Developers.  Designers.  Users.  I hope the browser development teams are having fun though&#8230;</li><li>Learning jQuery made me love MooTools even more.   Go figure.</li><li>For those of you that have loads of trouble with your JavaScript: <strong>maybe you need to start looking at your CSS?</strong></li><li>I&#8217;m completely <strong>humbled by jQuery&#8217;s drive and organization</strong>.  They simply know how to publicize, organize, and make their community happy.  I really hope to duplicate that effort with the MooTools team.</li><li>The government-issued warnings about not using IE aren&#8217;t something us developers should get our hopes up about.  It&#8217;s a cute side note but it will have<strong> very little impact on the numbers</strong>.</li><li>You&#8217;re crazy if you don&#8217;t put your quality MooTools plugins on the MooTools Forge.  You get quality feedback, website traffic, and bug reports. <strong>It&#8217;s the most valuable tool I&#8217;ve come upon in quite a while</strong>.</li><li>As one of the moderators for <a
href="http://scriptandstyle.com">Script &amp; Style</a>, I ask roundup creators to ask themselves this when they create each post:  what value does this post bring?  Some roundups are brilliant but others offer little value, like  &#8220;25 Best jQuery Lightboxes&#8221;. <strong>Ummmm&#8230;do any of them work?</strong> If so, why do you need to list 25?</li><li>For those of you who really love your job:  consider yourselves lucky.  Some days can be such a struggle for some of us.</li><li>I&#8217;m shocked that some rich company doesn&#8217;t come and <strong>hire the entire MooTools team</strong>.  A team of brilliant developers that are used to working together&#8230;.it almost seems like a no-brainer.</li><li>Remember <a
href="http://davidwalsh.name/chrome-frame">Chrome Frame</a>?  Me either&#8230;</li><li>The <strong>lack of accountability I see from some web vendors is criminal</strong>.  Taking weeks to make basic updates or charging outrageous sums to fix problems they created.  Absolutely shocking.</li><li>I&#8217;ve concluded the IE6 issue that bothers me the most is the lack of transparent PNG support.</li><li>I&#8217;d be lying if I said the World Cup isn&#8217;t a consideration when I think about going freelance.</li><li><strong>Media Temple has treated me very well</strong>;  both as a sponsor and a customer.</li><li>I&#8217;ve never been a huge fan of pseudo code.  I understand its purpose and will see it in extreme purposes but I prefer to dive in and work it out in my head.</li><li>I consider it a gift that I can bring my work home with me.  I consider it a curse that I can bring my work home with me.</li><li>I got <strong>asked by a client for a counter</strong> last week&#8230;.</li></ul><p>You know the drill.  This is where you flame me&#8230;</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/confessions-vi">Confessions of a Web Developer&nbsp;VI</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/confessions-viii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VIII'>Confessions of a Web Developer&nbsp;VIII</a></li><li><a
href='http://davidwalsh.name/confessions-v' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;V'>Confessions of a Web Developer&nbsp;V</a></li><li><a
href='http://davidwalsh.name/confessions-ix' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;IX'>Confessions of a Web Developer&nbsp;IX</a></li><li><a
href='http://davidwalsh.name/confessions-vii' rel='bookmark' title='Permanent Link: Confessions of a Web Developer&nbsp;VII'>Confessions of a Web Developer&nbsp;VII</a></li><li><a
href='http://davidwalsh.name/confessions-of-an-eccentric-web-developer' rel='bookmark' title='Permanent Link: Confessions of an Eccentric Web&nbsp;Developer'>Confessions of an Eccentric Web&nbsp;Developer</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-vi/feed</wfw:commentRss> <slash:comments>44</slash:comments> </item> <item><title>Bold Web Predictions for&#160;2010</title><link>http://davidwalsh.name/predictions-2010</link> <comments>http://davidwalsh.name/predictions-2010#comments</comments> <pubDate>Mon, 09 Nov 2009 13:44:43 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4092</guid> <description><![CDATA[With another year coming to a close, it&#8217;s time to look toward the near future. The following are my predictions for the web in 2010. Twitter will steal a bit of Google&#8217;s search&#160;thunder. Twitter challenge Google search? You bet. The advantage twitter has over Google search is that Twitter provides almost to-the-second search results so [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/predictions-2010">Bold Web Predictions for&nbsp;2010</a></p>No related posts.]]></description> <content:encoded><![CDATA[<p>With another year coming to a close, it&#8217;s time to look toward the near future.  The following are my predictions for the web in 2010.</p><h2>Twitter will steal a bit of Google&#8217;s search&nbsp;thunder.</h2><p>Twitter challenge Google search?  You bet.  The advantage twitter has over Google search is that Twitter provides almost to-the-second search results so if you want the most recent content, you can hit Twitter.  While Google analyzes static content, Twitter provides you the &#8220;buzz&#8221;, or most recently/frequently talked about links/information in a condensed format.  Sometimes fewer options and information is a good thing.</p><h2>Gmail and GChat will slowly become Google&nbsp;Wave.</h2><p>Wave is clearly Google&#8217;s successor to vanilla email (via Gmail) and instant messaging.  Don&#8217;t look for Gmail to disappear completely during 2010 but I expect Wave to completely integrate email capabilities by the end of 2010.</p><h2>Facebook will grow in popularity despite continuing to disappointing its own users;  Your mother will join Facebook.</h2><p>Unfortunately Facebook will continue to add features that make their site more difficult to use and, in doing so, will continue to disregard the fury of its users.  Facebook will continue to &#8220;out-think the room&#8221; in the features it adds.  Facebook will also push its &#8220;Lite&#8221; version more toward an older audience.  Your mother, in turn, will join.  MySpace will continue to become the Geocities of social websites.</p><h2>Internet Explorer 6 support will finally be dropped from 90+% of&nbsp;websites.</h2><p>Many websites have already dropped IE6 support, which I feel is too soon, but we should all be able to rejoice by the end of 2010.  Windows 7 will have been out for over a year and IT departments will be pushed into upgrading from XP so as to not allow employees to be two operating system versions behind.  Persons with older PCs will also opt to upgrade to a newer system due to highly competitive pricing by Dell, Compaq, and Toshiba.</p><h2>Webkit-based browsers will overtake Firefox;  Mozilla will face a Web Designer/Developer&nbsp;rebellion.</h2><p>Google Chrome has quickly become a developer favorite during 2009 and there&#8217;s no reason to believe that affection will slow during 2010.  Expect Chrome to debut a flexible plugin system during 2010 which will meet or exceed the flexibility provided by Firefox.  As a result of Firebug&#8217;s bugs and memory problems, Mozilla will start to draw the ire of the developers that made them so popular.</p><h2>Windows 7 will be a giant success (on a Windows&nbsp;level).</h2><p>Due to the garbage OS known as Vista and continued successful marketing by Microsoft, Windows 7 will become a huge success.  Lets not discount the improvements made by Windows 7 though &#8212; its UI and functionality improvements are to be recognized.  IT departments will most definitely be pushed to update their outdated XP machines, begrudgingly or not.  Mac fanboys wont notice a thing.</p><h2>The MooTools JavaScript framework will boom in popularity thanks to the plugin forge and MooTools&nbsp;2.</h2><p>Having a central repository for quality MooTools plugins will increase the usage of the JavaScript framework.  MooTools 2, with its improvements in every piece of the framework, will turn the heads of developers using other libraries.  I also foresee users of other frameworks, looking for a more advanced OOP approach, giving MooTools a solid shot.</p><h2>Digg will completely lose its developer/designer userbase and become &#8220;just another funny pics/vids&#8221;&nbsp;site.</h2><p>Diggers&#8217; habits of promoting stupid pictures and videos will essentially ruin that last shreds of credibility the site has left and users will continue to leave.  Kevin Rose will take &#8220;less of a role&#8221; with Digg in an effort to distance himself from Digg&#8217;s direction.</p><h2>The David Walsh Blog will continue to ascend.</h2><p>More sweet MooTools, jQuery, CSS, PHP, and AJAX tutorials on the way&#8230;but then again, you already knew this.</p><p>What do you think?  Am I crazy?  Are these easy predictions?  Tell me!</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/predictions-2010">Bold Web Predictions for&nbsp;2010</a></p><p>No related posts.</p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/predictions-2010/feed</wfw:commentRss> <slash:comments>94</slash:comments> </item> <item><title>An Open Letter to You, Webmaster&#160;II</title><link>http://davidwalsh.name/open-letter-webmaster-ii</link> <comments>http://davidwalsh.name/open-letter-webmaster-ii#comments</comments> <pubDate>Mon, 02 Nov 2009 13:33:34 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4083</guid> <description><![CDATA[Dear Webmaster, It&#8217;s been over a year since I last wrote. Business is booming for me which reminded me to get in touch with you again. I&#8217;m shocked at the advancements you&#8217;ve made! Wow &#8212; you&#8217;ve gotten acquainted with JavaScript frameworks! In fact, it appears you&#8217;ve gotten so good with the popular JavaScript frameworks that [...]<p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/open-letter-webmaster-ii">An Open Letter to You, Webmaster&nbsp;II</a></p>Related posts:<ol><li><a
href='http://davidwalsh.name/open-letter-webmaster' rel='bookmark' title='Permanent Link: An Open Letter to You,&nbsp;Webmaster'>An Open Letter to You,&nbsp;Webmaster</a></li><li><a
href='http://davidwalsh.name/python-eggs' rel='bookmark' title='Permanent Link: Fixing Python&#8217;s &#8220;Python Eggs&#8221;&nbsp;Error'>Fixing Python&#8217;s &#8220;Python Eggs&#8221;&nbsp;Error</a></li><li><a
href='http://davidwalsh.name/google-reader-hath-thou-forsaken' rel='bookmark' title='Permanent Link: Google Reader, Why Hath Thou Forsaken&nbsp;Me?'>Google Reader, Why Hath Thou Forsaken&nbsp;Me?</a></li><li><a
href='http://davidwalsh.name/internet-explorer-cannot-open-internet-site' rel='bookmark' title='Permanent Link: IE Says &#8220;Internet Explorer cannot open the Internet Site ________. Operation Aborted.&#8221;  I Say&nbsp;&#8220;WTF?&#8221;'>IE Says &#8220;Internet Explorer cannot open the Internet Site ________. Operation Aborted.&#8221;  I Say&nbsp;&#8220;WTF?&#8221;</a></li><li><a
href='http://davidwalsh.name/when-webmasters-attack' rel='bookmark' title='Permanent Link: When Webmasters&nbsp;Attack!'>When Webmasters&nbsp;Attack!</a></li></ol>]]></description> <content:encoded><![CDATA[<img
src="http://davidwalsh.name/dw-content/webmastador.jpg" alt="Webmaster" /><br
/><p>Dear Webmaster,</p><p>It&#8217;s been over a year <a
href="http://davidwalsh.name/open-letter-webmaster">since I last wrote</a>. Business is booming for me which reminded me to get in touch with you again.  I&#8217;m shocked at the advancements you&#8217;ve made!</p><p>Wow &#8212; you&#8217;ve gotten acquainted with JavaScript frameworks!  In fact, it appears you&#8217;ve gotten so good with the popular JavaScript frameworks that you&#8217;re using multiple in each of your client websites.  I see jQuery, MooTools, and Dojo in the same page!  Good idea &#8212; the more frameworks you add to the page, the more plugins you can add without needing to code any JavaScript yourself.  Well thought-out.  I also see that you&#8217;re adding JavaScript frameworks for simple getElementById() selection &#8212; why not?  I&#8217;m sure you&#8217;ll use more advanced JavaScript on your client&#8217;s website at some point, so best to include the libraries now.</p><p>I also noticed that you&#8217;ve completely dropped support of Internet Explorer 6.  My favorite touch is the &#8220;upgrade your browser&#8221; message you&#8217;ve added to your client websites, no doubt without their permission.  I admire your resolve &#8212; why should you go through the hassle of spending an extra hour to make your site work in IE6?  Let the visitor suffer and the client lose business &#8212; you don&#8217;t need the headache of dealing with IE6.  Another intelligent philosophy.</p><p>You&#8217;ve obviously taken a search engine optimization class because I can see loads of keywords in every sentence within the content area.  Writing content for the user is overrated &#8212; writing content for Google?  Brilliant!  Who cares if the sentences are so bloated the visitor can&#8217;t read them;  they wouldn&#8217;t have gotten to the client&#8217;s website without Google!  And I see that despite no search engines still supporting meta keywords, you&#8217;re still selling them.  The client doesn&#8217;t know any better so we&#8217;ll keep that between you and I.  I also see that your page file names are stuff with 5-10 keywords&#8230;genius!  Those will most definitely rank highly!</p><p>I see you&#8217;ve chosen to keep your CSS verbose.  Shorthand CSS is clearly a fad that you aren&#8217;t going to get tricked into &#8212; clever thinking!  Of course shorthand CSS is less code but hell, there&#8217;s a lot to remember when you use shorthand CSS!  And using text-transform to capitalize letters?  Please!  Why use CSS when you can simply capitalize verbiage with PHP&#8217;s or easier yet, type in the text with caps-lock cemented down?</p><p>You&#8217;ve added your personal Twitter feed to your own website &#8212; great!  Sure you often cuss in your tweets and post links to inappropriate media but you SOMETIMES post web-relevant tweets which will help you gain clients.  What&#8217;s also impressive is that you&#8217;ve implemented Google Adsense on your website &#8212; extra income FTW!  Who cares if ads for other web design agencies are shown?  They already on your website so they&#8217;ve found their desired vendor &#8212; you!</p><p>Your website also states that you offer no phone support, only email support within limited hours per day.  Now that&#8217;s an idea based on convenience&#8230;not for the customer, but for you.  An overwhelming theme with your services.  And I understand completely &#8212; you have a busy life!  It&#8217;s not fair that a client call and interrupt anything you&#8217;re doing.</p><p>As always Webmaster, I appreciate what you do.  A respected Senior Web Developer like myself cannot put food on the table without help from people like you.  You&#8217;re a dying breed, Webmaster.  Stay strong my friend &#8212; serious Web Developers like me need you out there.</p><p>Sincerely,</p><p>David Walsh<br
/>Senior Web Developer</p><p><strong>Follow Me!</strong> <a
href="http://twitter.com/davidwalshblog">Twitter</a> | <a
href="http://www.facebook.com/#!/pages/David-Walsh-Blog/186644584869">Facebook</a> | <a
href="http://www.linkedin.com/in/davidjameswalsh">LinkedIn</a> | <a
href="http://mootools.net/forge/profile/davidwalsh">MooTools Forge.</a><br/><br/>Full David Walsh Blog Post: <a
href="http://davidwalsh.name/open-letter-webmaster-ii">An Open Letter to You, Webmaster&nbsp;II</a></p><p>Related posts:<ol><li><a
href='http://davidwalsh.name/open-letter-webmaster' rel='bookmark' title='Permanent Link: An Open Letter to You,&nbsp;Webmaster'>An Open Letter to You,&nbsp;Webmaster</a></li><li><a
href='http://davidwalsh.name/python-eggs' rel='bookmark' title='Permanent Link: Fixing Python&#8217;s &#8220;Python Eggs&#8221;&nbsp;Error'>Fixing Python&#8217;s &#8220;Python Eggs&#8221;&nbsp;Error</a></li><li><a
href='http://davidwalsh.name/google-reader-hath-thou-forsaken' rel='bookmark' title='Permanent Link: Google Reader, Why Hath Thou Forsaken&nbsp;Me?'>Google Reader, Why Hath Thou Forsaken&nbsp;Me?</a></li><li><a
href='http://davidwalsh.name/internet-explorer-cannot-open-internet-site' rel='bookmark' title='Permanent Link: IE Says &#8220;Internet Explorer cannot open the Internet Site ________. Operation Aborted.&#8221;  I Say&nbsp;&#8220;WTF?&#8221;'>IE Says &#8220;Internet Explorer cannot open the Internet Site ________. Operation Aborted.&#8221;  I Say&nbsp;&#8220;WTF?&#8221;</a></li><li><a
href='http://davidwalsh.name/when-webmasters-attack' rel='bookmark' title='Permanent Link: When Webmasters&nbsp;Attack!'>When Webmasters&nbsp;Attack!</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/open-letter-webmaster-ii/feed</wfw:commentRss> <slash:comments>61</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 111/300 queries in 1.915 seconds using disk

Served from: davidwalsh.name @ 2010-09-02 23:13:59 -->