<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en" xml:base="http://annevankesteren.nl/foo">
 <title>Anne’s Weblog</title>
 <subtitle>Weblog on W3C, WHATWG, HTML, CSS, DOM, XML, HTTP and more.</subtitle>
 <link rel="self" type="application/atom+xml" href="http://annevankesteren.nl/feeds/weblog"/>
 <link rel="alternate" type="text/html" href="http://annevankesteren.nl/"/>
 <author><name>Anne van Kesteren</name><uri>http://annevankesteren.nl/about</uri></author>
 <rights>Copyright © 2003-2007 Anne van Kesteren. All rights reserved.</rights>
 <updated>2010-02-05T16:05:18Z</updated>
 <id>tag:annevankesteren.nl,2003:/weblog</id>
 <entry>
  <title>Patagonia: Penguins</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2010/02/penguins"/>
  <summary>Penguins for everyone!</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Last month I was in the Argentinian part of Patagonia on vacation. While in Ushuaia Arjan and I partook in a one-day trip to see penguins. The penguins were living on a small island that is part of a larger set of land that was once given by the Argentina government to a British settler. The government did this because they were afraid that Chile would claim their part of Tierra del Fuego if it was uninhabited. And since the settler was planning on going home giving him lots of land that nobody was using anyway was presumably thought as an easy way to keep him around. (He and now his descendants cannot ever sell the land under the agreement.) At some point a large batch of penguins settled on this land and his descendants now earn a lot of tourist money with them. Given that their main source of income used to be cattle and that most of the cattle died in an extreme winter, I guess they are lucky!</p>
<p><a href="http://www.flickr.com/photos/annevk/4328039934/"><img src="http://farm5.static.flickr.com/4019/4328039934_5ec24f49c1.jpg" alt="[Two penguins; adult and young.]"/></a></p></div></content>
  <id>tag:annevankesteren.nl,2010-02-05:/160518/penguins</id>
  <published>2010-02-05T16:05:18Z</published>
  <updated>2010-02-05T16:05:18Z</updated>
 </entry>
 <entry>
  <title>Optimizing Optimizing HTML</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2010/01/optimizing-html"/>
  <summary>Some more tips on optimizing HTML and a short rant on XHTML.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This started as a joke, but I thought I would share the additional thoughts I have anyway in an attempt to make my blog more <span xml:lang="nl">"boeiend"</span> (ask <a href="http://krijnhoetmer.nl/">Krijn</a>). A few of these tips are only valid under HTML5, but will work everywhere else too (e.g. in HTML4 or XHTML1). Because well, as you know, HTML5 actually reflects reality. Blah blah. (In the event you have no idea what I am talking about, this is a somewhat response to <a href="http://perfectionkills.com/optimizing-html/">Optimizing HTML</a>.)</p>
<ol>
 <li><p><code>&lt;link rel="stylesheet" href="…" <strong>type="text/css"</strong>></code> — Nobody is using that <code>type</code> attribute. It is just sitting there making your <code>link</code> element less readable and makes it consume slightly more memory due to the additional attribute. You can do this right now as this is valid in all versions of HTML. Apart from the validator versions is a dead concept as far as HTML is concerned, but people seem to care about them. (And some even care enough about them to battle for introducing them in HTML5. Weird world.)</p></li>
 <li><p><code>&lt;style <strong>type="text/css"</strong>></code> — Same trick, different element. There is only one styling language for the Web in existence and that is CSS. Whenever we introduce a new one (if ever) we can start to use the <code>type</code> attribute. It is a waste of bandwidth and source code reading time to include it now. Then again, including the <code>style</code> element itself is hardly ever needed. Think again when you do it.</p></li>
 <li>
  <p><code>&lt;script <strong>type="text/javascript"</strong>></code> — The only reason you ever want to include this attribute is if you want to specify a different JavaScript version. Indeed, you do not use the <code>language</code> attribute for this. However, you probably do not want to do that either since it is very much vendor-specific. You know, dragons and all. Having said that, to enable e.g. JavaScript 1.8 in Gecko you would use <code>type="text/javascript;version=1.8"</code>.</p>
  <p>The <code>type</code> attribute can very often also be nuked from other elements, such as <code>a</code> and <code>object</code> (if your server configuration is correct). The cases mentioned above are just the most common (well, there is <code>input</code> of course, but it was already mentioned in the original post).</p>
 </li>
 <li><p><code><strong>&lt;link rel="shortcut icon"></strong></code> — While this should actually be just <code>type="icon"</code> you can remove this element altogether by simply having a <code>/favicon.ico</code> resource. This will also reduce the amount of 404 traffic you get on your site; potentially substantially. Do not worry about the extension, you can put any file format there your browser supports and configure the <code>Content-Type</code> header appropriately using your server. If you have no idea how to do that let me tell you that it does not really matter anyway since browsers will sniff the MIME type of the resource regardless. Oooh, evil. Just avoid the HTTP gods and you should be safe. (Well-known locations are evil too, but we lost this battle.)</p></li>
 <li><p><strong>Trashing Trailing Slashes</strong> — Including the space usually in front of them, to be complete! Lots of people bought into the XHTML fad and end their tags with <code> /></code> rather than <code>></code>. Besides that this is useless it takes up two more characters per element of which the only effect is that it increases the time (not noticeable though) that software will take to download and parse the document. The claim that everything is now consistently closed makes no sense since e.g. <code>script</code> does not accept this notation. You need to know exactly which elements do not have an end tag and if you already do why would you add cruft to their start tag? I know, I know, to please the XML gods. Pleasing the XML gods makes no sense in a HTML world. There.</p></li>
</ol>
<p>The original post mentions anti-patterns as well. Let me give some contradictory advice. Please do replace <code>em</code> with <code>i</code> and <code>strong</code> with <code>b</code>. The resulting markup is likely more accurate. Especially with WYSIWYG software it is extremely unlikely they will be used correctly, but also because the notion spread that they are interchangeable with the sole difference being that <code>strong</code> and <code>em</code> are semantic a lot of misuse happened. When in doubt, use <code>i</code> and <code>b</code>. And in most other cases probably too. (Does anyone know if there is a plug-in for WordPress that fixes this?)</p>
<p>As a final "tip", if you do not care much for cross-browser compatibility you can get rid of <code>&lt;link rel="stylesheet"></code> entirely. Investigate <a href="http://id.annevankesteren.nl/">id.annevankesteren.nl</a> for details.</p></div></content>
  <id>tag:annevankesteren.nl,2010-01-05:/130455/optimizing-html</id>
  <published>2010-01-05T13:04:55Z</published>
  <updated>2010-01-05T13:13:50Z</updated>
 </entry>
 <entry>
  <title>My year in places, 2009</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/12/year-in-places"/>
  <summary>Pretty good overall I think.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I had fun compiling this <a href="/2008/12/year-in-cities" title="My year in cities, 2008">last year</a> so I thought I would do it again now I am pretty sure I will not leave the country before it is 2010. This time it is in chronological order with duplicates removed, as far as I can remember anyway. I renamed it to places (rather than cities) mostly because of <a href="/2009/07/greenland-iceland">Greenland and Iceland</a>, that deserve a mention, but in neither we stayed in a city long enough. Also added some annotations here and there.</p>
<ul>
 <li>Oslo, Norway; I celebrated new year abroad</li>
 <li>Utrecht, the Netherlands; contrary to what some people believe, I actually do still live here</li>
 <li>Zeist, the Netherlands</li>
 <li>Tokyo, Japan; CSS WG, staying at <a href="http://sideshowbarker.net/">Michael(tm)</a>'s place was a lot of fun. Really want to go back to Tokyo. Hopefully in 2010.</li>
 <li>Nikkō, Japan; <a href="http://www.flickr.com/photos/annevk/sets/72157615943569583/">hiking around a lake in the snow</a>, very much awesome</li>
 <li>Lisbon, Portugal</li>
 <li>Coimbra, Portugal</li>
 <li>Madrid, Spain</li>
 <li>Maraña, Spain; I love this place</li>
 <li>New York City, NY, United States</li>
 <li>Washington, D.C., United States</li>
 <li>Sophia Antipolis, France; CSS WG</li>
 <li>Antibes, France; also went to Italy and Monaco with Alex</li>
 <li>Copenhagen, Denmark; reboot11! Stayed at <a href="http://novemberborn.net/">Mark</a>'s place, thanks!</li>
 <li>Greenland (camping/boat)</li>
 <li>Iceland (camping)</li>
 <li>Port de Couze, France; jumped off a bridge</li>
 <li>Linköping, Sweden; De Klomp for the win!</li>
 <li>Stockholm, Sweden</li>
 <li>Halmstad, Sweden; Opera's engineering seminar was held here. Went skinny dipping in the sea. Cold!</li>
 <li>Yosemite National Park, CA, United States; saw some <a href="http://www.flickr.com/photos/annevk/4077520256/">big trees</a> and hiked for twenty-five miles the day after we arrived in SFO. A little crazy, but a lot of fun too!</li>
 <li>San Francisco, CA, United States; Halloween!</li>
 <li>Santa Clara, CA, United States; W3C meeting time, lots of fun meeting friends again, though quite exhausting too.</li>
 <li>Rio de Janeiro, Brazil; this was an awesome visit, however short. Thanks a lot Patrick!</li>
 <li>São Paulo, Brazil; crazy road trip the night after I gave my presentation…</li>
 <li>Berlin, Germany</li>
 <li>Vienna, Austria</li>
</ul></div></content>
  <id>tag:annevankesteren.nl,2009-12-30:/131252/year-in-places</id>
  <published>2009-12-30T13:12:52Z</published>
  <updated>2009-12-30T13:12:52Z</updated>
 </entry>
 <entry>
  <title>Opera 10.5 pre-alpha</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/12/opera-1050-pre-alpha"/>
  <summary>Bringing Opera up to speed.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We are getting a little better at this iteration stuff. Opera 10 was released in September and now <a href="http://my.opera.com/desktopteam/blog/2009/12/22/from-all-of-us-to-all-of-you" title="From all of us to all of you">we are releasing</a> the first public build of Opera 10.5. Yay Desktop Team! <a href="http://foolip.org/">Philip</a> was on vacation so the HTML5 media elements (i.e. <code>video</code> and <code>audio</code>) are not yet in, but CSS transformations and transitions are. Hopefully we get this to final soon as it is a major improvement not just in standards support, but also in usability and speed. (And also so we get to try it on Ubuntu!)</p></div></content>
  <id>tag:annevankesteren.nl,2009-12-23:/153446/opera-1050-pre-alpha</id>
  <published>2009-12-23T15:34:46Z</published>
  <updated>2009-12-23T15:34:46Z</updated>
 </entry>
 <entry>
  <title>Google loses?</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/12/google-loses"/>
  <summary>Fail.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>On The Official Google Blog: <q cite="http://googleblog.blogspot.com/2009/12/meaning-of-open.html">Open systems win</q>. Fail.</p></div></content>
  <id>tag:annevankesteren.nl,2009-12-22:/220002/google-loses</id>
  <published>2009-12-22T22:00:02Z</published>
  <updated>2009-12-22T22:00:02Z</updated>
 </entry>
 <entry>
  <title>On HTML extensibility</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/12/on-html-extensibility"/>
  <summary>Quote from Mark Pilgrim.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Mark Pilgrim on IRC in a discussion about RDFa and Microdata: <q cite="http://krijnhoetmer.nl/irc-logs/whatwg/20091205#l-330">When people say "I want to extend HTML in arbitrary, private, and probably proprietary ways," the appropriate answer is "fuck you"</q> Made me laugh.</p></div></content>
  <id>tag:annevankesteren.nl,2009-12-05:/163821/on-html-extensibility</id>
  <published>2009-12-05T16:38:21Z</published>
  <updated>2009-12-05T16:38:21Z</updated>
 </entry>
 <entry>
  <title>W3CTP: HTML</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/11/w3ctp-html"/>
  <summary>&lt;p&gt;The meeting on HTML5!&lt;/p&gt;</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I planned to post this way earlier but travel, jetlag, and a general feel that the entry was not quite finished got in the way. It seems to slow process on posting other things though so here it is.</p>
<p>I was somewhat disappointed by the lack of fights. The W3C did their part by providing us with popcorn and nachos, but none of the discussions about accessibility, distributed extensibility, extensions to host objects that cannot be implemented by ECMAScript directly, a language specification for HTML, et cetera went beyond polite discourse. Boring!</p>
<p>It is pretty clear we are reaching the end of the process. The specification no longer has major holes and the remaining issues are around differences of perspective on how certain issues need to be tackled. Of course, if at one point we decide to go the other way on one of these the outcome may be disruptive, but it does not seem all that likely.</p>
<p>The HTML WG did run again in unconference-style and the only thing I think we should here is gauge the level of interest in certain topics before giving them a one or half an hour slot. If there is just one person talking all the time it is not that interesting and we might as well have read an email outlining his position at some other point.</p></div></content>
  <id>tag:annevankesteren.nl,2009-11-28:/160322/w3ctp-html</id>
  <published>2009-11-28T16:03:22Z</published>
  <updated>2009-11-28T16:03:22Z</updated>
 </entry>
 <entry>
  <title>W3CTP: Technical Plenary Day</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/11/w3ctp-technical-plenary-day"/>
  <summary>Thoughts on TPAC and the Technical Plenary Day.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The Plenary Day was not that interesting this year. There was a Developer Day the next day, which was probably better, but I could not make it due to a conflict with the HTML WG meeting (labeled HTML5 WG by the W3C Team for unstated reasons). There was the recurring HTML5 and extensibility panel. Organized each year since 2007 to gather some thoughts on how to solve a problem of which it is not very clear what the problem actually is. The whole debate made me think about the Hitchhiker's Guide. The answer is XML namespaces, but what is the question? Admittedly <a href="http://diveintomark.org/archives/2009/10/05/distributed-unicorns-and-ponies" title="Translation From MS-Speak to English of Selected Portions of Tony Ross’ “Distributed Extensibility Submission”">the comparison with</a> unicorns and ponies is a lot cuter and likely more accurate. Unicorns in particular dominated the entire TPAC "secret" backchannel (<code>#unicorns</code> on <code>irc.w3.org:80</code>). Actually, not just the backchannel, they appeared in Working Group meetings, questions, presentations, and editors are adding them to specifications. Lovely.</p>
<p>The problem with the Plenary Day is that there are three-hundred or so people in the room and at least half of them is not paying attention to what is happening. Running the whole thing in unconference-style (maybe even TPAC entirely as <i>Hixie</i> suggested) would probably be much more productive for most people. So while some people are debating WS-DeathStar in one room I could be having a great time discussing the intricacies of the CSSOM with just the people that care about it without having to bore anyone else or having to explain all the background information to the one person that was not prepared. I am not really persuaded that this would go against broadening your horizon because I would not really be following a discussion on WS-DeathStar anyway.</p>
<p>TPAC is supposed to be a place where groups with some overlap in interest can work together, but in practice it is only a subset of the groups that has a particular shared interest. Given that I think it is much more productive if only the subsets meet (and maybe report back) rather than having an additional thirty people in the room who could not care less and essentially just take up space that prevents the interested people from sitting closer together and communicating more directly. The uninterested can also take up a lot of time in the round for introductions. Furthermore, the uninterested could be the interested in a different room with a different topic.</p>
<p>Another thought I have had about TPAC for a while is that it might make sense to have such a meeting for all Working Groups of which the deliverables essentially evolve around Web browsers and Web authors. I realize not everyone is a fan of that characterization but when it comes down to it there are a few groups where implementations in Web browsers that can be used by Web authors are the primary goal. I.e. WebApps, HTML, CSS, Geolocation, SVG, and a few others. Having at least one event per year to coordinate on the direction of the Web Platform would be really good I think. (Come to think of it, also a good target for terrorists.)</p></div></content>
  <id>tag:annevankesteren.nl,2009-11-09:/122932/w3ctp-technical-plenary-day</id>
  <published>2009-11-09T12:29:32Z</published>
  <updated>2009-11-09T12:29:32Z</updated>
 </entry>
 <entry>
  <title>W3CTP: CSSOM</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/11/w3ctp-cssom"/>
  <summary>Some more notes on the CSSOM.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>During TPAC I discussed with various people how we should tackle CSS values within the CSSOM. I had sort of given up on this myself but it seems that in order to get rid of the current <code>CSSValue</code> interface and friends we need to find a suitable alternative. And we really want to get rid of those because they are super ugly. Ian pointed this out long ago though unfortunately only in Member-only space. I have since made it available publicly as <a href="http://lists.w3.org/Archives/Public/www-archive/2009Nov/0007.html">CSSValue replacement proposal from Ian Hickson</a> so everyone can take a look at it. Hopefully it is clear that Ian no longer stands behind everything that is stated there. In fact, it was more a proof of concept. Having said that, the idea of turning the attributes that currently return a string into some kind of object does have a certain appeal. And if we can make them behave almost identically to strings I think we can make it work. It would be pretty awesome if you can increase the pixel value of the <code>left</code> property using the following rather than using all kinds of string manipulation:</p>
<pre><code>var ele = document.getElementsByTagName("div")[0]
ele.style.left.px++</code></pre>
<p>Theoretically this model can actually work though once we are a little further in drafting the details of the proposal we do have to test it to make sure we are not going to break the Web because that would be bad. For instance, triple-equality checking for these special type of strings would no longer work.</p></div></content>
  <id>tag:annevankesteren.nl,2009-11-07:/003108/w3ctp-cssom</id>
  <published>2009-11-07T00:31:08Z</published>
  <updated>2009-11-07T00:31:08Z</updated>
 </entry>
 <entry>
  <title>W3CTP: WebApps</title>
  <link rel="alternate" type="text/html" href="http://annevankesteren.nl/2009/11/w3ctp-webapps"/>
  <summary>The WebApps WG meeting.</summary>
  <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Some noteworthy bits from the first two days during the WebApps WG (see <a href="http://lists.w3.org/Archives/Public/public-webapps/2009OctDec/" title="public-webapps@w3.org from October to December 2009 by date">the mailing list</a> for further details):</p>
<ul>
 <li>The XMLHttpRequest specification will go to Last Call again. Yay!</li>
 <li>We are removing the concept of multiple views and the default view. The members of the interfaces of DOM Level 2 Views will be supported forever of course. This was virtually not implemented at all and the implementation with limited support is removing it. On top of that a lot of the newly and DOM Level 0 APIs did not take the view concept into account so architecturally it already did not make a lot of sense.</li>
 <li>XMLHttpRequest Level 2 will define a <code>FormData</code> object which can be passed to the <code>send()</code> method. The <code>FormData</code> object will get a single method called <code>append()</code> which can be either passed a <code>Blob</code> or <code>DOMString</code>. After <code>send()</code> is invoked <code>FormData</code> is serialized as an <code>multipart/form-data</code> entity body.</li>
 <li>XMLHttpRequest Level 2 will get support for timeouts. I am not a big fan of this since I am afraid people will start using synchronous requests more while they really should not do that at all (except in Web Workers). If this turns out to be the case I do know who to blame (apart from myself for caving in) :-)</li>
</ul></div></content>
  <id>tag:annevankesteren.nl,2009-11-05:/232050/w3ctp-webapps</id>
  <published>2009-11-05T23:20:50Z</published>
  <updated>2009-11-05T23:20:50Z</updated>
 </entry>
</feed>