<?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>Robert Accettura&#039;s Fun With Wordage &#187; html</title>
	<atom:link href="http://robert.accettura.com/blog/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://robert.accettura.com</link>
	<description>Robert Accettura&#039;s Personal Blog on Web Development and Tech</description>
	<lastBuildDate>Thu, 09 Feb 2012 01:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://robert.accettura.com/?pushpress=hub'/>
<cloud domain='robert.accettura.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Enterprise CSS/JS/HTML</title>
		<link>http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/</link>
		<comments>http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 02:01:45 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Around The Web]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4833</guid>
		<description><![CDATA[Here&#8217;s a fantastic trilogy of websites: Enterprise HTML / JS / CSS. What makes them so brilliant is that they are actually 100% true. I spent a summer cleaning up just this type of stuff. It&#8217;s true, it&#8217;s out there, &#8230; <a href="http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fantastic trilogy of websites: Enterprise <a href="http://enterprise-html.com/">HTML</a> / <a href="http://enterprise-js.com/">JS</a> / <a href="http://enterprise-css.com/">CSS</a>.</p>
<p>What makes them so brilliant is that they are actually 100% true.  I spent a summer cleaning up just this type of stuff.  It&#8217;s true, it&#8217;s out there, it&#8217;s painful.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4833#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/10/41071a1.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adventures With document.documentElement.firstChild</title>
		<link>http://robert.accettura.com/blog/2009/12/12/adventures-with-document-documentelement-firstchild/</link>
		<comments>http://robert.accettura.com/blog/2009/12/12/adventures-with-document-documentelement-firstchild/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 20:59:12 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=3169</guid>
		<description><![CDATA[Here&#8217;s an interesting DOM test-case I ran across inadvertently yesterday. For the purpose of this post assume the following markup: &#60; !DOCTYPE html&#62; &#60;html&#62; &#60;!-- i broke the dom --&#62; &#60;head&#62; &#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;/&#62; &#60;title&#62;Testcase&#60;/title&#62; &#60;/head&#62; &#60;body&#62; &#60;p&#62;Something&#60;/p&#62; &#60;/body&#62; &#8230; <a href="http://robert.accettura.com/blog/2009/12/12/adventures-with-document-documentelement-firstchild/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an interesting DOM test-case I ran across inadvertently yesterday.</p>
<p>For the purpose of this post assume the following markup:</p>
<pre>

&lt; !DOCTYPE html&gt;
&lt;html&gt;
&lt;!-- i broke the dom --&gt;
&lt;head&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
	&lt;title&gt;Testcase&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;Something&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>If I use <code>document.documentElement.firstChild</code> I don&#8217;t get consistent behavior.  In Firefox and IE I get the <code>&lt;head/&gt;</code> element, which is what I was initially expecting.  In WebKit (Safari/Chrome) and Opera. I get the HTML comment which I wasn&#8217;t.</p>
<p><span id="more-3169"></span></p>
<p>I <em>think</em> WebKit and Opera are technically correct on this as the DOM Level 2 specs <a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-169727388">state</a>:</p>
<blockquote cite="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-169727388">
<dl>
<dt><code class="attribute-name"><a id="ID-169727388">firstChild</a></code> of type <a href="#core.html-ID-1950641247"><code>Node</code></a>, read only</dt>
<dd>The first child of this node. If there is no such node, this<br />
returns <code>null</code>.</dd>
</dl>
</blockquote>
<p>A <code>COMMENT_NODE</code> <a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1728279322">is</a> a node and therefore should have been first.  As for the position of the comment, the document is <a href="http://validator.w3.org/check?verbose=1&amp;uri=http%3A%2F%2Frobert.accettura.com%2Fwp-content%2Fuploads%2F2009%2F12%2F20091212_documentElement.firstChild.html">valid HTML5</a> and also is valid as XHTML 1.0 Strict and HTML 4 Strict.  My interpretation is that this means indeed the comment is the first valid node in the <code>documentElement</code>.</p>
<p>One of the reasons why I even thought to use <code>document.documentElement.firstChild</code> is that I saw Google doing it the other day for the new <a href="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html">asynchronous tracking code</a> for Google Analytics (currently in beta).  Originally the code was:</p>
<pre>
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script');
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
        'http://www') + '.google-analytics.com/ga.js';
    ga.setAttribute('async', 'true');
    document.documentElement.firstChild.appendChild(ga);
  })();
</pre>
<p>It has now been <a href="http://twitter.com/briankuhn/status/6594630473">updated</a> to prevent this problem.  I don&#8217;t know if I was the first to <a href="http://twitter.com/raccettura/status/6572569715">report</a> <a href="http://twitter.com/raccettura/status/6572751252">it</a> or if it was already known by the Google engineers.  The code, still in beta is now:</p>
<pre>
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();
</pre>
<p>The new code seems a bit more resilient.  They also got rid of the longhand <code>ga.setAttribute</code> in favor of just <code>ga.async</code> and added the <code>type</code> attribute.</p>
<p>There is a <a href="http://robert.accettura.com/wp-content/uploads/2009/12/20091212_documentElement.firstChild.html">test case</a> for anyone who wants to try it.  I haven&#8217;t found a relevant Mozilla bug.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=3169#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2009/12/7a98af1.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2009/12/12/adventures-with-document-documentelement-firstchild/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>view-source: Now Supports Links</title>
		<link>http://robert.accettura.com/blog/2008/11/11/view-source-now-supports-links/</link>
		<comments>http://robert.accettura.com/blog/2008/11/11/view-source-now-supports-links/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 01:42:49 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 3.1]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[view-source]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=2115</guid>
		<description><![CDATA[A very cool change landed in Firefox 3.1. View source will now create links where appropriate (a rather old bug I might add). I must have copy/pasted millions of url&#8217;s over the years out of view source so that I &#8230; <a href="http://robert.accettura.com/blog/2008/11/11/view-source-now-supports-links/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A very cool change landed in Firefox 3.1.  View source will now <a href="http://blog.johnath.com/2008/11/11/new-in-firefox-31-linkified-view-source/">create links</a> where appropriate (a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=17612">rather old bug</a> I might add).  I must have copy/pasted millions of url&#8217;s over the years out of view source so that I can look at a JS or CSS.  This is an immense help for anyone who does this quite often.</p>
<p>Just another great piece of polish for Firefox 3.1.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=2115#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2008/11/bdc4626.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2008/11/11/view-source-now-supports-links/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rebreaking The Web</title>
		<link>http://robert.accettura.com/blog/2008/05/29/rebreaking-the-web/</link>
		<comments>http://robert.accettura.com/blog/2008/05/29/rebreaking-the-web/#comments</comments>
		<pubDate>Fri, 30 May 2008 02:10:33 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[apng]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[BrowserPlus]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google-gears]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[WHATWG]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=1761</guid>
		<description><![CDATA[It&#8217;s happening again. Once upon a time, browser vendors started adding their own features without consulting with each other and agreeing upon standards. What they created was a giant mess of inconsistencies across browsers and platforms that is still in &#8230; <a href="http://robert.accettura.com/blog/2008/05/29/rebreaking-the-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s happening again.  Once upon a time, browser vendors started adding their own features without consulting with each other and agreeing upon standards.  What they created was a giant mess of inconsistencies across browsers and platforms that is still in effect today.  Ask any web developer and they can tell you of the pains that they have suffered trying to make seemingly trivial things work everywhere consistently.  It&#8217;s no easy task.  Before IE 7, even an ajax required something along the lines of:</p>
<pre>

var httpRequest;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
    httpRequest = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
}
</pre>
<p>That&#8217;s right, IE 6 didn&#8217;t support the native xmlHttpRequest object (<a href="http://developer.mozilla.org/en/docs/AJAX:Getting_Started#Step_1_.E2.80.93_How_to_Make_an_HTTP_Request">more here</a>).  This is just one of many examples in JavaScript and CSS.  <code>document.all</code> anyone?</p>
<p>The end result of this problem became to be known as the &#8220;Web Standards&#8221; movement.  Simply put it&#8217;s an idea that code should follow a standard that results in consistent output across all browsers on various platforms.  Write once, run anywhere.  While it&#8217;s taken years for this to manifest, it&#8217;s slowly become a reality.  Firefox, Safari, Opera have fairly consistent rendering (at least in comparison to the mess of just a few years ago on the browser scene.  IE 6 was fairly poor in terms of modern web development, but IE 7 made progress, and IE 8 is Microsoft&#8217;s greatest effort to date to bring their browser up to speed.</p>
<p><span id="more-1761"></span></p>
<p>Unfortunately, all that &#8220;progress&#8221; is really catch up and making specs from several years ago work across browsers as the biggest area of problems (<a href="http://www.w3.org/TR/REC-CSS2/">CSS 2</a>) become a recommendation in 1998.  10 years and a few days ago.  Web sites, and developers want to do new things.  </p>
<p>As a result groups like <a href="http://www.whatwg.org">WHATWG </a> and   <a href="http://www.w3.org/html/wg/html5/">HTML 5</a> formed with the intent to provide modern features such as 2D drawing (canvas), media playback, drag and drop, offline mode, and storage.  All things desperately desired by web developers.  Some of this stuff to date has been supplemented by the use of plugins such as Flash which can provide some of this functionality, in particular video.  It should be noted the development of standards is a historically slow process since it&#8217;s essentially a bunch of geeks arguing until their keyboards wear out.  This process takes a <a href="http://wiki.whatwg.org/wiki/FAQ#When_will_HTML_5_be_finished.3F">long time</a>.</p>
<p>To speed things up, some once again bypassed standards and instead decided to implement things on their own:</p>
<ul>
<li>Apple implemented Canvas, which has some notable <a href="http://en.wikipedia.org/wiki/Canvas_%28HTML_element%29#Reactions">concerns regarding intellectual property</a>, though can still be standardized (and is <a href="http://www.w3.org/html/wg/html5/#the-canvas">still in the HTML5 specs</a> as I&#8217;m typing this). </li>
<li>Google released <a href="http://gears.google.com/">Gears</a> which originally provided offline support for web browsers, but has since expanded to allow for better desktop integration and running javascript in the background on browsers it supports.</li>
<li>Yahoo just announced <a href="http://browserplus.yahoo.com/">BrowserPlus</a>, which is an API &#8220;that allows developers to create rich web applications with desktop capabilities&#8221; (that&#8217;s verbatim from their page).</li>
<li>Mozilla added to Firefox 3 <a href="http://developer.mozilla.org/en/docs/Online_and_offline_events">Online/Offline events</a>, <a href="http://developer.mozilla.org/en/docs/Web-based_protocol_handlers">Web-based protocol handling</a>, which are both part of the WHATWG Web Application 1.0 specs.  In addition, <a href="http://developer.mozilla.org/en/docs/Animated_PNG_graphics">APNG</a> and <a href="http://developer.mozilla.org/en/docs/Drawing_text_using_a_canvas">text extensions to Canvas</a> were added, though it&#8217;s noted that they are experimental and essentially Firefox only for now.</li>
</ul>
<p>There are dozens of other little things in various browsers that are specific to them, but I won&#8217;t even go into that.  These are just the more high profile things at this time.</p>
<p>Does anyone else see the problem here?  At the rate things are progressing, it&#8217;s going to be pretty tough to build a competitive and user-friendly web application without requiring at least one framework being installed on the client side.  This means before a user can enjoy a good web experience they will need to install:</p>
<ul>
<li>Standards Compliant Web Browser (may come with OS)</li>
<li>Latest version of Adobe Flash (essentially the video standard right now)</li>
<li>BrowserPlus (for some sites)</li>
<li>Google Gears (for some sites)</li>
</ul>
<p>This really is starting to feel like another browser-bubble, this one being more of a &#8220;browser feature bubble&#8221;.  People rapidly trying to add features to meet application needs without standardizing.  This time instead of building it all into the browser, they are also providing plugins to add the functionality.  This is marginally better at best.  While it allows for support on multiple browsers/platforms it restricts innovation since not all browsers/platforms are supported.</p>
<p>Google Gears still doesn&#8217;t support the iPhone, despite it running in Safari due to Apple&#8217;s restrictions on 3rd party software.  It also doesn&#8217;t run on all portable Linux devices, or Blackberry&#8217;s.  Not to mention Opera or Camino.  It works on other Mozilla browsers that support extensions provided you tell your users to follow <a href="http://code.google.com/support/bin/answer.py?answer=83191&#038;topic=11691">these instructions</a> (you can essentially call that &#8220;unsupported&#8221;).  </p>
<p>Yahoo&#8217;s BrowserPlus is no darling either.  As of yet, it only supports Intel Mac&#8217;s running 10.4 or later (sorry PPC millions), and only Windows / Mac running Firefox 2+ or IE 7+.  That leaves out millions of IE 6, Safari, and Opera users.  Plus all of the mobile users (who are growing in number).  Yahoo promises that will improve, but we&#8217;ve got to wait for Yahoo engineers to get around to that.  If Yahoo is acquired by someone, who knows what that companies priorities will be for this project.</p>
<p>Apple implemented Canvas in Safari, Mozilla implemented it in Firefox.  But it&#8217;s adoption has been slow from a developer&#8217;s point of view since IE doesn&#8217;t support it.    There are several libraries (<a href="http://code.google.com/p/explorercanvas/">including one by Google</a>) that attempt to add support, but they are pretty slow and don&#8217;t provide the same experience to IE users (in particular older IE 6 users).  APNG is supported in Firefox 3 and Opera 9.5, both not released just yet.  APNG degrades nicely, but if your using an animation, you want an animation for all users, not just Firefox and Opera users.</p>
<p>Yes, adoption can grow for canvas, Yahoo and Google can support more platforms and browsers, but that doesn&#8217;t fix the root problems here:</p>
<ul>
<li>The entire web is waiting on a company to update their enhancements to support a platform/browser.  Open sourcing the code doesn&#8217;t really fix the problem since distribution is still problematic.  Also just increases the chances of forking which makes it even more painful.  Installing a browser in bits and pieces sucks.  Users shouldn&#8217;t be subjected to that.</li>
<li>There are multiple API&#8217;s to essentially do the same thing (drag &#038; drop, offline support, video, etc.).</li>
</ul>
<p>Does anyone else see this new form of fragmenting to be problematic?</p>
<p>While I agree the features each vendor is adding in are desired, I don&#8217;t think this is the right way to do it.  One of a few things will happen here:</p>
<ul>
<li>After a period of time, one or more of these API&#8217;s will become deprecated as one becomes dominant.  That&#8217;s a major pain for developers who choose the &#8220;wrong&#8221; one, and an expense for companies who are in that situation.  Nobody wants to be in this situation.</li>
<li>Things will continue to fragment and we&#8217;ll be back to the &#8220;Designed For Netscape&#8221; era, but it will be &#8220;Designed for Firefox 3+, Google Gears, Flash 9.0 r124, whatever&#8221;.  I get a chill just thinking about it.</li>
<li>Horrifically complicated code that essentially supports multiple products by using a subset of their functionality.  This might be the &#8220;best&#8221; and it still sucks on a massive scale since it increases costs for development and decreases fun.  You could use a JS library to abstract functionality to a more platform neutral API, but more libraries add overhead you may not want.  Not to mention more code your relying on someone else for.</li>
</ul>
<p>None of these are a good outcome.  </p>
<p>I&#8217;m not saying that the standards route is perfect.  There&#8217;s no binding requirement for anyone to adopt anything, or even accomplish a final spec.  There are many half implemented specs, and many that never go anywhere.  Perhaps that&#8217;s part of the problem.  Perhaps it&#8217;s that standardization has historically been a closed process, though it&#8217;s slowly opening up (thanks WHATWG).  Participation is also pretty touch as not many can manage to read all that email.</p>
<p>Browser vendors are not without their faults either.  They are historically a slow to fully adopt specs, and generally don&#8217;t collaborate on where they will start their implementation.  Partial support is as good as no support unless a it&#8217;s adopted uniformly across all popular browsers.  Perhaps that&#8217;s a place that browser vendors can best help developers.  By simply agreeing to implement <code>X</code>Y.</p>
<p>That said, one could create a plugin that implements a standard.  It&#8217;s already be done.  Adobe released an <a href="http://www.adobe.com/svg/">SVG plugin</a> (prior to the whole Macromedia deal as I&#8217;m not sure what the status is considering the Flash business is a closed source competitor), there&#8217;s also an <a href="https://addons.mozilla.org/en-US/firefox/addon/824">XForms plugin</a> for Mozilla browsers.</p>
<p>I really hope some caution is used before we have a browser feature bubble.  This is just going to become a mess of technologies that nobody can keep up with.  A lot of progress has been made in the past few years to fix mistakes of the past.  Is this process of add-ons really the right method of giving web developers what they want?</p>
<p>To be fair, Google&#8217;s Aaron Boodman recently blogged regarding <a href="http://gearsblog.blogspot.com/2008/04/gears-and-standards.html">Google Gears and standards</a>.   And does indicate the desire to become become compatible with HTML5:</p>
<blockquote cite="http://gearsblog.blogspot.com/2008/04/gears-and-standards.html"><p>
Currently, the Gears Database and LocalServer modules are not fully compatible with the HTML5 proposals for the same functionality. This is only because those specs were written after Gears was released, and not because of any desire to be different. In fact, we were involved in the design of both HTML5 specs, and we are currently implementing the proposal for database access.
</p></blockquote>
<p>This is good, but it&#8217;s still a moving target on a moving target as Google Gears is in beta and still being changed to match specs which are still evolving.</p>
<p>To avoid any misconceptions, I do think these features are a good thing.  I like canvas, offline support, drag &#038; drop integration, and want to implement them myself as well.  But I don&#8217;t think the process to add them has been successful thus far.  I think it&#8217;s just asking for trouble later on and will take a long time to repair.  This isn&#8217;t about Firefox extensions, or javascript libraries like jQuery, YUI or Prototype.  I love them and use them every day.  This is about having non standard ways to do things that clearly need to be standardized (and are in the process of being standardized), and encouraging other developers to implement a method that&#8217;s tied to a particular piece of software.</p>
<p>Who is at fault here?  Pretty much everyone.  Standards bodies are to slow for a fast moving industry for starters.  Secondly browser vendors fail to coordinate their progress on spec implementations.  While nobody expects CSS 3 to be implemented overnight, of vendors would agree on milestones in which certain features would be implemented, that would greatly help implementation for web developers.  Lastly plugin developers need to ensure what they are offering is widely available, free of any licensing problems that would impede implementation in other products, and are on a parallel track for standardization.</p>
<p>The web wouldn&#8217;t have succeeded if you needed to install a plugin for a <code>&lt;a href=""/&gt;</code>, or <code>&lt;img/&gt;</code>.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=1761#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2008/05/7283518.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2008/05/29/rebreaking-the-web/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Meta Stupidity</title>
		<link>http://robert.accettura.com/blog/2008/01/22/meta-stupidity/</link>
		<comments>http://robert.accettura.com/blog/2008/01/22/meta-stupidity/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 04:38:52 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie 6]]></category>
		<category><![CDATA[ie 7]]></category>
		<category><![CDATA[ie 8]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[web-standards]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2008/01/22/meta-stupidity/</guid>
		<description><![CDATA[As Robert O&#8217;Callahan, John Resig, Anne van Kesteren all point out, this idea of using a meta tag to select a rendering engine is bad. Here are my personal thoughts on the issue. Not as a browser developer but as &#8230; <a href="http://robert.accettura.com/blog/2008/01/22/meta-stupidity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://weblogs.mozillazine.org/roc/blog/2008/01/post_2.html">Robert O&#8217;Callahan</a>, <a href="http://ejohn.org/blog/meta-madness/">John Resig</a>, <a href="http://annevankesteren.nl/2008/01/ie-lock-in">Anne van Kesteren</a> all point out, this idea of using a <a href="http://alistapart.com/articles/beyonddoctype">meta tag</a> to <a href="http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx">select a rendering engine</a> is bad.  Here are my personal thoughts on the issue.  Not as a browser developer but as a web developer.</p>
<p>Essentially the argument by the IE team is this: Rather than fix the problem, lets create a larger problem so the smaller one isn&#8217;t very noticeable.</p>
<p>Yea, that&#8217;s how I parsed the blog post.  For anyone who disagrees, perhaps I interpreted it wrong because they didn&#8217;t select the correct parser because they didn&#8217;t include the following:</p>
<pre>

&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=8;FF=3;raccettura=serious;OtherUA=4&quot; /&gt;
</pre>
<p>All joking aside it&#8217;s an insane idea guaranteed to set things back.  </p>
<p><span id="more-1626"></span></p>
<p>The problems web developers face are pretty simple:</p>
<ul>
<li>Archaic html/js often written by Java/C++ developers in the late 90&#8242;s early 00&#8242;s who knew nothing of html/js but wrote the backend and by definition were expected to figure out the frontend.  Code is massively FUBAR and was designed for IE exclusively.  Those currently maintaining it have no idea what to do to fix it and don&#8217;t want to bother.</li>
<li>Genuine attempts to keep up with standards but growing frustrated with lack of good browser support for them (looking at you IE 6, and partially at IE 7).</li>
<li>Half hearted attempt to keep up with standards, but figure all the cool kids use an XHTML 1.1 doctype, so why not?</li>
</ul>
<p>There are others, but most fall into these 3 categories.  Microsoft&#8217;s fix doesn&#8217;t help anyone of them.  It just means more broken sites and more knowledge of different issues in various versions is needed.  Let IE 6 die already.  Mozilla put Firefox 1.x to sleep already.  Encourage it to die.  IE 6 was released in 2001.  It&#8217;s perfectly acceptable at this point to EOL it.  There&#8217;s a viable alternative for Windows XP which is still supported.  IE 7, Firefox, Safari.  All of which are free.  Killing IE 6 once and for all is the first step to fixing the problem.  It will get rid of lots of ugly &#8220;hacks&#8221; on the web and let developers start to move on.  And on towards getting ready for IE 8.</p>
<p>What happens if my page is set to use 1 rendering engine, but I want to include a &#8220;widget&#8221; designed for another?  In the age of embedded content this raises a whole new set of issues.  Not everything is Flash.  What if this JS widget is designed for IE 7 and my page is designed for IE 6?  The web right now is at least encouraging people to keep up, and providing incentives (better cross browser compatibility, reduced QA and triaging issues).  This new scheme just fragments the web.  Many of those embedding these days don&#8217;t know a thing about html, js, or web standards and compatibility.  How do you explain what they need to know?  Or does my code really need to be able to handle all cases an embedder might throw?  Does anyone else see the burden this creates?</p>
<p>As Robert O&#8217;Callahan so awesomely points out, it can&#8217;t be easy for Microsoft to maintain either.  If they have so much time/resources on hand, why not just work on fixing bugs, furthering the web standards work, and starting an evangelism team to contact problematic sites and encourage them to start fixing issues.  Worked for little old Mozilla with &lt; 5% market share at the time.  I&#8217;m guessing with Microsoft&#8217;s market share, they could likely do better.</p>
<p>Why not do like WebKit, Mozilla, and Opera do and start providing nightlies so developers can actively track issues?  Why are web developers left in the dark through most of the process?  It doesn&#8217;t seem like anything is really a closely guarded secret.  You can keep the UI stuff private and just release updates to the rendering engine.  That&#8217;s essentially what WebKit does.  CSS3 isn&#8217;t exactly a business secret.  Then once things are late in the game, web developers are shown what they need to deal with.  The model the other players use is so much better from a developer perspective.  I regularly test sites I take care of in nightlies.  Not every day or even every week, but I keep up on it.  Web developers have had over 1 year to see what Firefox 3.0 was cooking up.  Various blogs have covered changes, as well.  IE 8?  Radio silence for the most part.  Exceptions for things like this.</p>
<p>There must be a better way.   Come on Microsoft, help fix the web.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2008/01/22/meta-stupidity/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2008/01/bc57386.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2008/01/22/meta-stupidity/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Secrets In Websites II</title>
		<link>http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/</link>
		<comments>http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 02:25:49 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Around The Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[akamai]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[barack obama]]></category>
		<category><![CDATA[bill richardson]]></category>
		<category><![CDATA[campaign 2008]]></category>
		<category><![CDATA[chase]]></category>
		<category><![CDATA[chris dodd]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[democrat]]></category>
		<category><![CDATA[dennis kucinich]]></category>
		<category><![CDATA[duncan hunter]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fred thompson]]></category>
		<category><![CDATA[global crossing]]></category>
		<category><![CDATA[hillary clinton]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[joe biden]]></category>
		<category><![CDATA[john edwards]]></category>
		<category><![CDATA[john mccain]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mike gravel]]></category>
		<category><![CDATA[mike huckabee]]></category>
		<category><![CDATA[mitt romney]]></category>
		<category><![CDATA[mtv]]></category>
		<category><![CDATA[myspace]]></category>
		<category><![CDATA[popurls]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[republican]]></category>
		<category><![CDATA[ron paul]]></category>
		<category><![CDATA[rudy guliani]]></category>
		<category><![CDATA[secrets in websites]]></category>
		<category><![CDATA[stephen colbert]]></category>
		<category><![CDATA[tom tancredo]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2008/01/11/secrets-in-websites-ii/</guid>
		<description><![CDATA[This post is a follow up to the first Secrets In Websites. For those who don&#8217;t remember the first time, I point out odd, interesting, funny things in other websites&#8217; code. Yes it takes some time to put a post &#8230; <a href="http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post is a follow up to the first <a href="http://robert.accettura.com/blog/2007/01/20/secrets-in-websites/">Secrets In Websites</a>.  For those who don&#8217;t remember the first time, I point out odd, interesting, funny things in other websites&#8217; code.  Yes it takes some time to put a post like this together, that&#8217;s why it&#8217;s just about a year since the last time.  Enough with the intro, read on for the code.</p>
<p><span id="more-1270"></span></p>
<h3>The Code</h3>
<h4>WordPress.com</h4>
<p>You&#8217;ll notice a comment sure to make any web developer laugh on WordPress.com&#8217;s <a href="http://wordpress.com/wp-login.php">login page</a></p>
<pre>

	&lt;link rel=&quot;stylesheet&quot; href=&quot;http://wordpress.com/wp-admin/wp-admin.css?version=MU&quot; type=&quot;text/css&quot; /&gt;
	&lt;!--[if IE]&gt;
		&lt;style type=&quot;text/css&quot;&gt;#login h1 a { margin-top: 35px; } #login #login_error { margin-bottom: 10px; }&lt;/style&gt;&lt; ![endif]--&gt;
	&lt;!-- Curse you, IE! --&gt;
</pre>
<p>The guys behind <a href="http://www.wordpress.com">WordPress</a> a <a href="http://www.webstandards.org/press/releases/20050601/">while back</a> took the site <a href="http://browsehappy.com/">BrowseHappy</a> under its wing.  WordPress has always been a strong believer in web standards, so this isn&#8217;t surprising (though still amusing).  Did you also know that the guys behind it (<a href="http://automattic.com/about/">Automattic</a>) don&#8217;t have job titles?  Unless you consider &#8220;Chief BBQ Taste Tester&#8221; to be a real job title.  <a href="http://www.photomatt.net">Matt</a>, I hope your job doesn&#8217;t kill you with a heart attack.</p>
<h4>Facebook</h4>
<p>The geniuses over at <a href="http://www.facebook.com">Facebook</a> feel the same and put the following on the top of their IE conditionally included <a href="http://static.ak.facebook.com/css/ie6.css?48:76473">stylesheets</a>:</p>
<pre>

/*  ------------------------------------------------------------------------
                    Facebook | IE/PC Hacks | getfirefox.com
    ------------------------------------------------------------------------  */
</pre>
<h4>popurls</h4>
<p>The ever so popular <a href="http://www.popurls.com">popurls</a> has the following comment in the header of the page.</p>
<pre>

&lt;!--

  __   __
 (  \,/  )
  \_ | _/  IN THE FUTURE EVERY URL WILL BE POPULAR FOR 1.5 SECONDS
  (_/ \_)                  - thomas and the wise popurls butterfly

--&gt;
</pre>
<h4>RedHat</h4>
<p><a href="http://www.redhat.com">RedHat</a> was one of the earlier corporate sites to redo itself into a standards based design.  They have great respect for those who came before them.  In their <a href="http://www.redhat.com/s/master.css">master css</a> file they have the following tribute as well as a little remark about Netscape 4.x:</p>
<pre>

/* 	redhat.com MASTER style sheet

	a tip of the red hat to Zeldman, Bowman, Meyer, Shea, Cederholm, Newhouse, Holzschlag,
	and many, many other css and web standards pioneers who have inspired us. 

	the css, layout and validation status of redhat.com is a work-in-progress. numerous
	web-building worker bees are working furiously to correct the bugs, minimize the hacks
	and validate the code. stay tuned. 

-------------------------------------------------------------------- created June 2004 */
@import url(&quot;global.css&quot;);
...
@import url(&quot;dig.css&quot;);

/* ---------------------------------------------------------------- ns4 styles - bah! */

table {
	border: 1px;
	}
...
</pre>
<h4>Panic Software</h4>
<p><a href="http://www.panic.com/">Panic Software</a> has a cool little piece of code for those who browse the product page for <a href="http://www.panic.com/coda/">Coda</a> (awesome product btw) with IE and don&#8217;t have at least version 6.0:</p>
<pre>

		&lt;!--[if lte IE 6]&gt;&lt;p id=&quot;iewarning&quot;&gt;&lt;img src=&quot;/extras/ripoff/images/ie-warning.gif&quot; alt=&quot;IE Warning&quot; title=&quot;We hear Firefox is nice!&quot; /&gt;&lt;/p&gt;&lt; ![endif]--&gt;
</pre>
<p>I hear it&#8217;s pretty nice too.</p>
<p>Panic also has a comment in the head of their homepage that reads:</p>
<pre>

&lt;!-- This homepage design is not long for this world. Enjoy it while you can! <img src='http://robert.accettura.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  --&gt;
</pre>
<h4>Twitter</h4>
<p><a href="http://twitter.com/">Twitter</a> (who redirects to drop the &#8216;www&#8217; btw) is a very popular service these days.  In their html they mark which server served up the data.  You&#8217;ll see it in the form:</p>
<pre>

  &lt;!-- served to you through a copper wire by bennu.twitter.com at 24 Nov 19:08 in 11 ms (d 0 / r 8). thank you, come again. --&gt;
</pre>
<p>Copper eh?  No fiber in your data center?  I won&#8217;t judge, as long as your bandwidth is plentiful.</p>
<h4>WordPress.com</h4>
<p>Here&#8217;s a bonus from <a href="http://wordpress.com/">WordPress</a>.  While many analytics programs use a 1px transparent &#8220;tracker gif&#8221; to manage statistics, WordPress did something a little different.  At the very bottom on the left hand side, you can see the face of WordPress analytics in all it&#8217;s tiny glory.</p>
<h4>Mozilla</h4>
<p>This technically applies to more than just Firefox.  You&#8217;d be surprised to see how many times <code>kungFuDeathGrip</code> is in the <a href="http://lxr.mozilla.org/mozilla/search?string=kungFuDeathGrip">code base</a>.</p>
<h4>Many Sites using Google Products/Services</h4>
<p>Many people have noticed strange Google tags on sites such as:</p>
<pre>

code
&lt;!--googleoff: index--&gt;
all
&lt;!--googleon: index--&gt;
over
</pre>
<p>This isn&#8217;t a &#8220;SEO&#8221; practice, despite some misconception on the web.  This is used by the Google Search Appliance, a product made by Google which many websites use to power their own search engines to tell the engine what to read and what to ignore.  It wouldn&#8217;t be practical for Google to use these &#8220;in the wild&#8221;.  The reason is that spammers could effectively hide an alternate website within those comments.  Google&#8217;s business is based largely on accurate search results.  Spammers have already tried to abuse the css property <code>display: none;</code>.  This would be even better.  You can find code like this on <a href="http://www.apple.com">Apple.com</a> among many other sites.</p>
<p>Webmasters <em>can</em> however optimize their side for AdSense using a technique <a href="http://google.com/support/adsense/bin/answer.py?answer=23168">recommended by Google</a>:</p>
<pre>

&lt;!-- google_ad_section_start --&gt;

&lt;!-- google_ad_section_end --&gt;
</pre>
<p>This tells Google to give weight to a certain part of your page when deciding what ad to display on the page.  This is good for cases where you feel other material on your page is influencing the ads and resulting in off-topic ads.</p>
<h3>Infrastructure/Platform</h3>
<h4>Microsoft</h4>
<p><a href="http://www.microsoft.com">Microsoft</a>&#8216;s offering against Linux and Apache is IIS on Windows.  Which one would expect they themselves use.  What they don&#8217;t tell you is that they also have used <a href="http://www.akamai.com/">Akamai</a> (with over <a href="http://www.akamai.com/html/about/facts_figures.html">25,000</a> servers), which uses <a href="http://news.zdnet.co.uk/software/0,1000000121,39115920,00.htm">Linux</a>.  They have used Akamai for many things like DNS, and caching files.  Rather than &#8220;Powered By Windows Server&#8221; maybe they should append &#8220;hiding behind Linux&#8221;.</p>
<h4>Myspace.com</h4>
<p><a href="http://www.myspace.com">Myspace.com</a> was previously Adobe/Macromedia&#8217;s model customer because it was written in <a href="http://www.adobe.com/products/coldfusion/">ColdFusion</a>, and said to be the biggest ColdFusion site on the net (and one of the biggest sites on the net).  Many think it still is, but it&#8217;s not.  While many url&#8217;s suggest it might be because they end in <code>.cfm</code> it&#8217;s actually running ASP.net and has been <a href="http://weblogs.asp.net/scottgu/archive/2006/03/25/Handling-1.5-Billion-Page-Views-Per-Day-Using-ASP.NET-2.0.aspx">since aprox, 2006</a>.  You can confirm this by viewing the headers on some of their pages.  You&#8217;ll see:</p>
<pre>
X-AspNet-Version: 2.0.50727
</pre>
<h4>MTV.com</h4>
<p><a href="http://www.mtv.com">MTV.com</a>&#8216;s site has search powered by a Google Search Appliance.  MTV is also owned by <a href="http://www.techcrunch.com/2007/03/13/5217/">Viacom who sued Google</a>, the parent company of YouTube.  The folks at MTV awesomely <a href="http://labsblog.mtv.com/category/site-relaunch/">admitted the irony during relaunch on their blog</a>.</p>
<h4>Global Crossing</h4>
<p>Tier 1 networking provider <a href="http://www.globalcrossing.com/">Global Crossing</a> really wants you to know how fast they are.  Doing a trace could turn up something like this:</p>
<pre>
  7    15 ms    13 ms    14 ms  COMCAST-IP-SERVICES-LLC.tengigabitethernet1-4.ar5.NYC1.gblx.net [64.208.222.58]
  8    14 ms    13 ms    13 ms  tengigabitethernet1-4.ar5.NYC1.gblx.net [64.208.222.57]
</pre>
<p>Yes that&#8217;s right, they use 10 GigE!  Just FYI.</p>
<h3>Goofy</h3>
<h4>Firefox 2.0</h4>
<p>In Firefox 2.0, go to &#8220;About Firefox&#8221; (under the help menu for Windows, under the Firefox menu for Mac), and click on credits.  You&#8217;ll notice <a href="http://www.comedycentral.com/shows/the_colbert_report/index.jhtml">Stephen Colbert</a>.  He wrote it single handedly, but added some other names because he&#8217;s a nice guy.  Bonus: I&#8217;m on the list too.  Above him because I&#8217;m <a href="http://robert.accettura.com/blog/2007/11/17/who-dropped-the-soap/">better</a> than him.  That&#8217;s right, I said it.</p>
<h3>Handy</h3>
<h4>Chase</h4>
<p>Chase for some reason puts it&#8217;s login form in plain text.  The submit url is https, but it doesn&#8217;t feel right.  They do have a SSL enabled login page, but for some reason they hide it.  Here it is for those interested:</p>
<p><a href="https://chaseonline.chase.com/online/home/sso_co_home.jsp">https://chaseonline.chase.com/online/home/sso_co_home.jsp</a></p>
<h4>Google</h4>
<p>For some reason, most of Google&#8217;s services are insecure by default.  By simply going to https, you can use SSL for added security.<br />
Gmail: <a href="https://mail.google.com">https://mail.google.com</a><br />
Google Calendar: <a href="https://www.google.com/calendar">https://www.google.com/calendar</a><br />
Google Reader: <a href="https://www.google.com/reader">https://www.google.com/reader</a></p>
<p>On the <a href="2/">next page</a> is the 2008 US Presidential Candidate Campaign sites&#8230;</p>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2008/01/11/secrets-in-websites-ii/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2008/01/c850371.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/feed/</wfw:commentRss>
		<slash:comments>69</slash:comments>
		</item>
		<item>
		<title>Coda Coolness</title>
		<link>http://robert.accettura.com/blog/2007/04/25/coda-coolness/</link>
		<comments>http://robert.accettura.com/blog/2007/04/25/coda-coolness/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 03:18:44 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[mac-os-x]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2007/04/25/coda-coolness/</guid>
		<description><![CDATA[So I downloaded and tested out Coda a little bit today. My initial impression is that I&#8217;m very impressed. It could be the new standard. A few like Alex King point out that it uses Safari as the default engine. &#8230; <a href="http://robert.accettura.com/blog/2007/04/25/coda-coolness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So I downloaded and tested out <a href="http://www.panic.com/coda/">Coda</a> a little bit today.  My initial impression is that I&#8217;m very impressed.  It could be the new standard.  A few like <a href="http://alexking.org/blog/2007/04/25/coda">Alex King</a> point out that it uses Safari as the default engine.  I don&#8217;t think that&#8217;s so bad.  Nothing stops you from using 2 windows one being Firefox (obviously running <a href="http://www.getfirebug.com">Firebug</a>).  I think the editor itself is rather well polished and very refined.  The use of Bonjour to allow for collaboration makes it perfect for multi-developer environments.  And yes, you can have more than two developers collaborating in 1 document.</p>
<p>My typical workflow is very abrupt.  I tend to have Firefox, IE, and an IDE open at all times when coding pages.  Not to mention a KVM switch to go between platforms.  This still consolidates several things, and with a much nicer UI.</p>
<p>I&#8217;ll need to try it (for actual development purposes) for a few days before I could tell if it really works as well I hope.  Panic is one of my favorite Mac developers.  Really well polished products are their specialty.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2007/04/25/coda-coolness/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2007/04/d973132.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2007/04/25/coda-coolness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE Table Border Bug?</title>
		<link>http://robert.accettura.com/blog/2007/04/04/ie-table-border-bug/</link>
		<comments>http://robert.accettura.com/blog/2007/04/04/ie-table-border-bug/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 03:16:26 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2007/04/04/ie-table-border-bug/</guid>
		<description><![CDATA[I encountered this the other day. Firefox, Safari and Opera do what I expected and believe to be correct. I&#8217;m curious if anyone can explain this, or knows of a workaround that &#8220;doesn&#8217;t suck&#8221;. Take the following testcase: &#60; !DOCTYPE &#8230; <a href="http://robert.accettura.com/blog/2007/04/04/ie-table-border-bug/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I encountered this the other day.  Firefox, Safari and Opera do what I expected and believe to be correct.  I&#8217;m curious if anyone can explain this, or knows of a workaround that &#8220;doesn&#8217;t suck&#8221;.  Take the following testcase:</p>
<pre>

&lt; !DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot;&gt;
&lt;html lang=&quot;en&quot;&gt;
 &lt;head&gt;
	&lt;title&gt;IE Table Border Bug&lt;/title&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
        &lt;style type=&quot;text/css&quot;&gt;
		table {
			background-color: green;
			border-collapse: collapse;
			border-spacing: 0px;
		}
		table td {
			width: 100px;
			border-bottom: 3px solid red;
		}
        	table td.strip {
			background-color: #fff;
			border-bottom: 3px solid #fff;
		}
	&lt;/style&gt;
&lt;/meta&gt;&lt;/head&gt;
&lt;body&gt;
&lt;table&gt;
	   &lt;tr&gt;
	   	   &lt;td&gt; Test&lt;/td&gt;
	   	   &lt;td class=&quot;strip&quot;&gt; Test&lt;/td&gt;
	   	   &lt;td&gt; Test&lt;/td&gt;
	   &lt;/tr&gt;

&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><a href="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug.html" title="IE Bug">Example</a></p>
<p>Pay attention to the bottom border.  Should be flush with the green cells.</p>
<h3>Firefox 2.0</h3>
<p><img src="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug_ff.png" alt="Firefox Render" class="centered" /></p>
<p>Close Up:<br />
<img src="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug_ff_zoom.png" alt="Firefox Render (Close Up)" class="centered" /></p>
<h3>IE 6</h3>
<p><img src="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug_ie.png" alt="IE Render" class="centered" /></p>
<p>Close Up:<br />
<img src="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug_ie_zoom.png" alt="IE Render (Close Up)" class="centered" /></p>
<h3>IE 7</h3>
<p><img src="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug_ie7.png" alt="IE7 Render" class="centered" /></p>
<p>Close Up:<br />
<img src="http://robert.accettura.com/wp-content/uploads/2007/04/20070404_iebug_ie7_zoom.png" alt="IE7 Render (Close Up)" class="centered" /></p>
<p>Strange, but interesting.  Excuse the poor quality of the screenshots.  I cut these up really quick.  Perhaps this weekend I&#8217;ll do a nicer job.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2007/04/04/ie-table-border-bug/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2007/04/33ebd5b.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2007/04/04/ie-table-border-bug/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Komodo Convert</title>
		<link>http://robert.accettura.com/blog/2007/02/15/komodo-convert/</link>
		<comments>http://robert.accettura.com/blog/2007/02/15/komodo-convert/#comments</comments>
		<pubDate>Fri, 16 Feb 2007 02:45:33 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[bbedit]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[homesite]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[komodo]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2007/02/15/komodo-convert/</guid>
		<description><![CDATA[After reading about Myk&#8217;s use of Komodo, I decided to give it a try. I&#8217;ve yet to find the truly perfect IDE, so I&#8217;m always open to good alternatives. For years I used BBEdit Lite, which was good enough for &#8230; <a href="http://robert.accettura.com/blog/2007/02/15/komodo-convert/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After reading about <a href="http://www.melez.com/mykzilla/2007/02/three-things-i-love-about-komodo.html">Myk&#8217;s use of Komodo</a>, I decided to give it a try.  I&#8217;ve yet to find the truly perfect IDE, so I&#8217;m always open to good alternatives.</p>
<p>For years I used BBEdit Lite, which was good enough for my somewhat basic needs, TextWrangler came and I moved over.  On the Windows side of things, I had tried numerous editors for years, ultimately using Eclipse, <a href="http://context.cx/">ConTEXT</a>, and (on a few occasions) jEdit.  Mainly on the Windows side it has been ConTEXT, since it didn&#8217;t have the restrictive feel many IDE&#8217;s have.  On the downside, it didn&#8217;t do much.</p>
<p>At work, I&#8217;ve been using <a href="http://www.adobe.com/products/homesite/">Macromedia HomeSite</a>.  Overall it&#8217;s not too bad, but it does have it&#8217;s quirks.  There&#8217;s definitely a bug in FTP that causes it to occasionally not show all the subdirectories when you nest to deep.  Then it sometimes randomly throws errors at you.  Most of the time they can be safely ignored, making me wonder if they are still errors when nothing bad happens.  </p>
<p>So I downloaded <a href="http://www.activestate.com/products/komodo_edit/">Komodo Edit</a> (free) on my Windows Laptop, and my Mac Mini, installed it on both, and played around.  First order of business was playing with some local files.  End result was that it handled things very well.  I didn&#8217;t have to fuss around to much to get things accomplished&#8230; I like that.  Next step was to try the FTP functionality (SFTP and SCP as I don&#8217;t like FTP).  It worked, I was able to edit a few files and it performed rather well.  Also nice was that it let you know it read the directory from cache.  Most will hide this info from you.</p>
<p>In the end I decided a few things were missing.  The most notable thing missing and preventing it from replacing HomeSite was the sidebar file manager.  I work on many files, so I need a quick way to get to them.  File &#8211;> Open wasn&#8217;t going to work.  I decided to <a href="http://bugs.activestate.com/show_bug.cgi?id=66599">file a bug</a> and request a similar feature as an enhancement.  Other editors do a similar sidebar file tree, this wasn&#8217;t something revolutionary.  </p>
<p>Ends up there is an <a href="http://support.activestate.com/forum-topic/remote-drive-tree-extensi">Remote Drive Tree Extension</a> that provides the functionality I desire.  Sweet!  The usual install process, restart and I&#8217;m going.  Works perfectly.  Only thing missing is drag/drop support so I could easily add files or move them around, renaming would also be helpful.  Perhaps those features will come in the future.</p>
<p>So after a little time with it, I&#8217;ve decided I&#8217;m ready to try it for a week, and see if it handles my needs for the week.  It has now qualified for testing.</p>
<p>I think I like it so far.  I do have a few pet-peeves though:</p>
<ul>
<li>FTP support is still a little buggy.</li>
<li>Slow startup time.</li>
<li>Prefs feel somewhat awkward and not as intuitive as one would hope.</li>
</ul>
<p>But it&#8217;s still beta, so there&#8217;s time for it to grow.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2007/02/15/komodo-convert/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2007/02/ab1a4d0.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2007/02/15/komodo-convert/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Secrets In Websites</title>
		<link>http://robert.accettura.com/blog/2007/01/20/secrets-in-websites/</link>
		<comments>http://robert.accettura.com/blog/2007/01/20/secrets-in-websites/#comments</comments>
		<pubDate>Sun, 21 Jan 2007 00:37:21 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2007/01/20/secrets-in-websites/</guid>
		<description><![CDATA[When a you browses the web, a fair amount of code is transfered from a server sitting in a cold lonely datacenter to your computer. It&#8217;s mostly serious business, but sometimes developers like to embed small jokes, and traditions. A &#8230; <a href="http://robert.accettura.com/blog/2007/01/20/secrets-in-websites/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When a you browses the web, a fair amount of code is transfered from a server sitting in a cold lonely datacenter to your computer.  It&#8217;s mostly serious business, but sometimes developers like to embed small jokes, and traditions.</p>
<p>A lot can be told by just a quick glance at a website&#8217;s design and it&#8217;s underlying data.  From Infrastructure, design methodologies, CMS (content management system), among other things.  </p>
<p>Here are some of amusing, interesting, and [in some cases] strange things I&#8217;ve seen on websites.  Everything in this post is valid as of the time of the post.  Keep in mind websites constantly change so anything seen here may be invalid as time goes on.</p>
<p><span id="more-1265"></span></p>
<h3>Yahoo! News</h3>
<p>All pages served off of <a href="http://news.yahoo.com">news.yahoo.com</a> feature a comment towards the bottom that says:</p>
<pre>

&lt;!-- This page is brought to you by the letter W, the number 1 and fe57.news.sp1.yahoo.com --&gt;
</pre>
<p>Obvious homage to <a href="http://www.sesameworkshop.org/sesamestreet/">Sesame Street&#8217;s</a> &#8220;sponsor&#8221;.</p>
<h3>Digg</h3>
<p>Digg as served up a very elusive riddle in the comment:</p>
<pre>

&lt;!-- digg is up 959595--&gt;
</pre>
<p>Some explanation can be found <a href="http://digg.com/programming/digg_source_code_959595_what">here</a>.  The best explanation is 9-5, 9-5, 9-5 or 3 days of work.  Likely related to the <a href="http://www.elance.com/p/corporate/community/resource-center/elancer-oct-06.html">$200 that it cost to develop Digg</a>.</p>
<h3>Apple</h3>
<p>Apple to this day still serves up the copyright on its website as follows:</p>
<pre>

	&lt;p class=&quot;sosumi&quot;&gt;Copyright &amp;#169; 2007 Apple Inc. All rights reserved.&lt;/p&gt;
</pre>
<p>The joke here is the class name for the paragraph (which is the copyright).  <a href="http://en.wikipedia.org/wiki/Sosumi">Sosumi</a> is known by Mac users as the System 7 sound.  It&#8217;s name is actually a joke because of the <a href="http://en.wikipedia.org/wiki/Apple_Corps_v._Apple_Computer">Apple Corp. vs. Apple Computer</a> case.  It&#8217;s pronounced &#8220;So Sue Me&#8221;.  A nice little tribute to Apple history, and poking fun at lawyers.</p>
<h3>Amazon</h3>
<p>Amazon has a peculular last few bits on it&#8217;s homepage:</p>
<pre>

&lt;!-- MEOW --&gt;
</pre>
<p>No idea what to attribute that to other than someone who likes cats.</p>
<h3>Slashdot</h3>
<p>Tech site <a href="http://www.slashdot.org">Slashdot</a> has used http headers as a way of telling a nerdy joke:</p>
<pre>
X-Leela: He opened up relations with China. He doesn't want to hear about your ding-dong.
</pre>
<p>Leela, being a reference to <a href="http://en.wikipedia.org/wiki/Turanga_Leela">Leela Turanga </a> of <a href="http://www.imdb.com/title/tt0149460/">Futurama</a>.  It&#8217;s random.  Here&#8217;s another:</p>
<pre>
X-Bender: Try this, kids at home!
</pre>
<p><a href="http://en.wikipedia.org/wiki/Bender_%28Futurama%29">Bender</a> was the robot on Futurama.</p>
<h3>FAA</h3>
<p>The FAA is running on:</p>
<pre>
X-Powered-By: Microsoft-IIS/6.0
</pre>
<p>Think they should run something that isn&#8217;t known for <em>crashing</em> quite as often?  Same goes for the <a href="http://www.ntsb.com/">NTSB</a>.</p>
<h3>FBI/NSA</h3>
<p>The FBI has a curious chunk of code:</p>
<pre>

&lt;!-- START OF Data Collection Server TAG --&gt;
&lt;script LANGUAGE=&quot;JavaScript&quot;&gt;
...
&lt;/script&gt;
&lt;noscript&gt;
&lt;img BORDER=&quot;0&quot; NAME=&quot;DCSIMG&quot; WIDTH=&quot;1&quot; HEIGHT=&quot;1&quot; SRC=&quot;//209.235.0.153/njs.gif?dcsuri=/nojavascript&amp;WT.js=No&quot;/&gt;
&lt;/noscript&gt;
&lt;!-- END OF Data Collection Server TAG --&gt;
</pre>
<p>&#8220;Data collection&#8221; eh?  The <a href="http://www.nsa.gov">NSA</a> suprisingly has no such data collection.  But perhaps that&#8217;s because they <a href="http://en.wikipedia.org/wiki/ECHELON">have no need</a>?  I would of thought by now information sharing between government agencies would have improved.</p>
<p><small>This is just a html bug just like virtually every other site on the web, just funny because of who it is&#8230;. so take off your tin foil hat</small></p>
<h3>IBM</h3>
<p>IBM invented a new version of HTML for itself.  It&#8217;s been somewhat replaced at this point, but is still visible on some pages including <a href="http://www.research.ibm.com/">IBM Research</a> as of this post in early 2007.  </p>
<p>The doctype reads:</p>
<pre>

&lt; !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd&quot;&gt;
</pre>
<p>The differences are explained as:</p>
<pre>
  IBM XHTML 1.0 Transitional DTD
   This modified DTD module is based on the W3C XHTML 1.0 Transitional DTD
   and is identified by the SYSTEM identifier:
   "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"

   The following updates have been included to support 4.x browsers:
	- &lt;noscript&gt; tag is allowed to be placed between the &lt;head&gt;&lt;/head&gt; tags
	- Border, width and height attributes are allowed within the &lt;input /&gt; tag
	- &lt;form&gt; and &lt;input /&gt; tags are allowed to be placed between the &lt;table&gt;,&lt;tr&gt; or &lt;td&gt; tags
	- Marginheight, marginwidth, topmargin and leftmargin attributes are allowed within the &lt;body&gt; tag
</pre>
<p>Think this is completely meaningless and nobody even looks at doctypes?  Well checkout what the Gecko (the rendering engine for Firefox) <a href="http://lxr.mozilla.org/mozilla/source/parser/htmlparser/src/nsParser.cpp#758">does</a>:</p>
<pre>

// Special hack for IBM's custom DOCTYPE.
if (!(resultFlags &amp; PARSE_DTD_HAVE_INTERNAL_SUBSET) &amp;&amp;
    sysIDUCS2 == NS_LITERAL_STRING(
           &quot;http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd&quot;)) {
  aParseMode = eDTDMode_quirks;
  aDocType = eHTML_Quirks;
}
</pre>
<h3>Democratic Party / Republican National Committee</h3>
<p>The <a href="http://www.democrats.org/" rel="nofollow">Democratic party website</a> uses XHTML 1.0 Transitional, CSS based layout, and runs Apache 2.x/PHP 5</p>
<p>The <a href="http://www.gop.com/" rel="nofollow">Republican National Committee website</a> uses HTML 4.01 Transitional (though some xhtml-like self-closing <code>&lt;img/&gt;</code> and <code>&lt;input/&gt;</code> appear), table based layout, and runs Microsoft IIS 6.0/ASP.NET 1.1.4322.  Source on the homepage indicates:</p>
<pre>

&lt;meta content=&quot;Microsoft Visual Studio .NET 7.1&quot; name=&quot;GENERATOR&quot; /&gt;
&lt;meta content=&quot;C#&quot; name=&quot;CODE_LANGUAGE&quot; /&gt;
</pre>
<p><small><strong>Note:</strong> Self closing added by myself due to technical limitations here.  They appear as &#8220;>&#8221; rather than &#8220;/>&#8221;</small></p>
<p>Perhaps all the above alludes to the idea of Democrats being more progressive, such as using open source php and Apache, xhtml (since xhtml was supposed to be easier to parse due to it&#8217;s relationship to xml&#8230; though that&#8217;s debatable), and the newer css based layout technique.  </p>
<p>The GOP on the other hand stuck with more traditional html4 and table based layouts.  Not sure what to make of the Microsoft use, but I guess some could link it to the <a href="http://en.wikipedia.org/wiki/United_States_v._Microsoft#Appeal">United States decision to no longer seek breaking up the company</a> during a Republican administration.</p>
<p>Ironically despite the contrasts here, the Democrats website is still showing 2006 as the copyright year, while Republicans updated to 2007.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2007/01/20/secrets-in-websites/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2007/01/0ce2ffd.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2007/01/20/secrets-in-websites/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
	</channel>
</rss>

