...more recent posts
Eric Meyer on the deficiencies of CSS for layout. I've linked to a bunch of similar posts from others, and again I couldn't agree more. I'm linking again here because Meyer is the man; he explains the issue very well; and it's kind of funny how frustrated he is (in a "thank god someone else is this frustrated too" sort of way.)
Very good presentation (audio with slides): An Intensive Exploration Of jQuery. Assuming you know a little something about javascript and the DOM this is a great place to start.
Wow. Very cool. Google introduces canonical URLs. This solves the problem of losing google juice due to identical (or largely identical) pages being accessible through different URLs. You decide which URL is canonnical, and then put a special <link> tag on the other pages pointing to the cannonical URL. Now google knows to return the cannonical page in search results rather than any of the similar ones, and all your google juice flows to that one page.
The big example would be http://www.example.com and http://example.com. If your site is reachable at both addresses, and both are linked to from external sites, then your rank in google until now has been split between the two (this is simplified a bit, but still.) Now you can decide that you want http://example.com to be the "main" (or canonical) URL, so you just put a <link rel="canonical" href="http://example.com/"> tag in the <head> section of the www.example.com page.
But this is useful in tons of other situations since we're slicing our data up so much these days. Take blogs for instance. A certain post might be accessible from the front page of a blog, from a permalink, from a comment page, from a trackback page, from a search page, from a tag or category page, etc. In the past all of these different views of the "same thing" would be seen as separate by google; now you can pick one view to be canonical. This just really makes sense to me. Thanks google.
Cool, slightly depressing, and thoroughly comprehensive tables highlighting the readiness of major browsers to correctly handle advanced web techniques from PNG alpha transparency to all the fancy CSS3 stuff. That must have been a ton of work to put together. Just glancing at the page is a pretty damming indictment of Internet Explorer.
Check out the final table for the grand scorecard for each browser. Note that Chrome has an advantage in the "Past" category since it's a brand new browser with no past. Otherwise Safari has a slight lead over Firefox and Chrome although they all do pretty well. Opera does okay and IE sucks.
Cross browser javascript vector graphics library:
Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.I like the js syntax - pretty intuitive:
Raphaël uses the SVG W3C Recommendation and VML (mostly equivalent Internet Explorer implementation) as a base for creatinggraphics. This means every graphical object you create is also a DOM object, so you can attach JavaScript event handlers or modify them later. Raphaël’s goal is to provide an adapter that will make drawing vectorart (similar to Flash) compatible cross-browser and easy.
Raphaël currently supports Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+.
// Creates canvas 320 × 200 at 10, 50Check the demos, they're pretty nice looking.
var paper = Raphael(10, 50, 320, 200);
// Creates circle at x = 50, y = 40, with radius 10
var circle = paper.circle(50, 40, 10);
// Sets the fill attribute of the circle to red (#f00)
circle.attr("fill", "#f00");
// Sets the stroke attribute of the circle to white (#fff)
circle.attr("stroke", "#fff");
WebKit is the browser engine behind Apple's Safari and a host of other browsers (on the desktop, and increasingly on mobile devices.) They are really pushing the boundaries of what can be done while making sure these new capabilities are defined as open standards (so, for instance, really pushing new ideas and technology into CSS3 and HTML5.) This post discusses new CSS animation capabilities which seem like another shot at knocking down Adobe controlled Flash (as well as a preemptive shot at Microsoft's somewhat similar SilverLight.) Presumably, if there is a free and open way to create some effect then developers will use that way rather than resort to a proprietary solution that costs money.
That's all great. And it's smart of Apple to be backing this sort of thing. But why oh why don't they leverage QuickTime better? If there were just decent javascript hooks into the QuickTime player it would take away the massive advantage that Flash has in terms of embedding media (especially video) into web pages. Absolutely everyone uses Flash to do this, even though (thanks to iPods and iPhones and iTunes) everyone has QuickTime installed on their computers. But there is just no reasonable and reliable way to create javascript controls for the player. I cannot understand why Apple doesn't fix this.
Appropriately ugly site of command line one-liners: commandlinefu.com.
These days I feel like computers and the web are in a period of cooling. We've gone through a highly innovative stage where change was happening at an amazing rate, and now we are trying to integrate all that and not much new is happening. Except this change to the client / server model is quietly becoming a big deal:
The HTML 5 specification provides a new mechanism for client-side data storage: JavaScript database support. HTML 5 is currently in development by the Web Hypertext Application Technology Working Group (WHATWG). JavaScript database support is available in Safari 3.1 and later, and in iPhone OS 2.0 and later. You should read this documentation if you are a web developer who wants to store data locally on a user’s computer in amounts beyond what can reasonably be stored in an HTTP cookie.Google Gears, of course, is doing very similar things.
Today I came across a sentence I would never write:
There have been many times since 2002 that I’ve regretted not building my own publishing system from scratch.For some reason reading that is very funny to me in a sort of "I can't believe I've been working on my publishing system since 1999" sort of way.