Simon Willison’s Weblog

Subscribe

Items in Nov, 2002

Filters: Year: 2002 × Month: Nov × Sorted by date


Clean URLs

Handy bookmark for bloggers who wish to validate: cleanURL. It gives you the URL of the current page with all &s replaced with &, ready to be posted in to a blog entry. Unescaped ampersands are one of the most common causes of invalidity on my blog so this is going to come in very handy.

[... 57 words]

Object persistence

Simon Brunning talks about persistence, and how much more complicated it is now that objects are involved. The best explanation I’ve seen of how objects and relational databases can be used together was in Martin Fowler’s Patterns of Enterprise Application Architecture, but now that the book has been published he has removed the online version. IBM’s DeveloperWorks has a new article up describing persistence management in Python, which talks in details about Python’s native serialization method (pickling) but only mentions ZODB in passing. I agree with Simon—object databases just don’t seem as elegant a solution as RDBMSs. Object databases may provide persistence but they don’t seem nearly as powerful as relational databases when it comes to flexibility of accessing data.

[... 141 words]

Content to code ratio

Adrian Holovaty has been investigating the content-to-code ratio of various news sites compared to various blogs. Unsurprisingly the blogs win hands down due to the tendancy to use CSS to separate structure from presentation. Adrian has put together a PHP script to calculate the ratio which can be accessed online or downloaded for personal use. Incidentally, from the comments in the code I learnt that PHP’s strip_tags() function neglects to strip the --> at the end of an HTML comment.

[... 88 words]

URLs matter

Jeremy Zawodny talks about URLs, and describes a recent internal Yahoo discussion over how the URLs for their stock tickers should work. His points in favour of short, simple URLs are particularly worth noting:

[... 121 words]

Web services in action

All Consuming is another one of those information-about-weblogs sites, but with a heavy emphasis on books:

[... 252 words]

Javascript XML parser

I’ve added Dave Lindquist’s Javascript XML parser to my blog entry form using the code he posted in the discussion on webgraphics. It works an absolute treat—it even pops up an alert message telling me what is wrong with the post (usually ’End tag does not match opening tag’) and won’t let me submit the form until I have fixed the error. The actual XML parsing library is a truly impressive piece of work, despite the lack of documentation. Dave suggests that it is pretty much obsolete now that most modern browsers have a built in XML parser accessible through scripting, but his parser is easily fast enough for my purposes.

[... 121 words]

Validating weblog entries

webgraphics have an interesting discussion running about the need for a weblog entry XHTML validator. Dave Lindquist suggests using his JavaScript XML Parser to perform validation on the client side, which seems like an excellent solution. I already use PHP’s XML parsing functions on this blog to check my entries are valid XML when I post them (and extract links for use with my pingback client) but additional client side validation would save the round trip to the server. The discussion also covers the idea of using the W3C’s validator to check entries—as soon as they finalise their XML interface (as used by my validator web service) I can see a lot of interest forming in this kind of automated validation.

[... 136 words]

aqTree 3

Stuart has released aqTree3, an upgrade to previous aqTree versions which takes in to account some of the best ideas from both Eric Meyer’s pure CSS menus and Dave Lindquist’s recently released drop-down / expandable trees. aqTree’s great strength is that it requires no additional markup at all on top of the nested lists, other than a class definition which the script will pick up via the DOM. All presentation and positioning is now controlled with CSS applied to the list structure (previous versions of aqTree used the DOM to transform the list in to DIVs) and Stuart has included an extra script, aqdd, to handle drop down menus as well. The article includes a mini-essay on how elegant DHTML should be implemented, which is well worth reading.

[... 136 words]

IA has arrived

Christina Wodtke: Information Architecture has arrived:

[... 179 words]

CMS roundup

It seems CMS news is like buses—nothing for weeks, then three items come along at once. Jeremy Zawodny has been very impressed by Bricolage, an Open Source CMS built on mod_perl, the HTML::Mason template system and PostgreSQL. Meanwhile, Scott Andrew has been praising liveSTORYBOARD on the WaSP site. liveSTORYBOARD is a hosted solution which promises ease of use through a web based interface and fully standards compliant output (hence the plug on WaSP). Finally, Think Secret have broken the news that Macromedia are soon to announce Contribute, a new CMS built on top of their popular Dreamweaver WYSIWYG editor (via webgraphics).

[... 138 words]

Hide Mozilla Flash ads

Michel: How to hide Flash banner ads in Mozilla using a few lines of CSS added to the userContent.css file. A great example of CSS2 selectors at work.

[... 29 words]

Funky new use for CSS backgrounds

Jeffrey Zeldman points to the newly redesigned v-2 Organisation site, which features a clever technique whereby a large background image is displayed “widescreen” style with different amounts of the photo visible depending on the resolution / width of your browser. Try doing that with standard tables ;) The (unaltered) colours in the photograph cleverly match the colours of the site itself.

[... 66 words]

Asilomar Institute

The Asilomar Institute for Information Architecture—very promising organisation, great site but I have to admit I’m not too keen on the name (though I’m sure it will grow on me). The highlight of the site for me has to be the 25 Theses, which provide an excellent condensed description of what IA is and why it is necessary. The site lead me to make my first impulse buy in quite a while, so with a bit of luck from Amazon Christina Wodtke’s Information Architecture: Blueprints for the Web should be with me in the morning.

[... 102 words]

Girlfriend as a case study

I’ve been helping my girlfriend recreate her site using CSS and structural markup. She’s new to web design and has been taking to CSS like a duck to water—as a veteran of Microsoft Word globally defined styles come to her naturally and she took very little time to cotton on to the importance of seperating presentation from content. I’ve shown her tables as well but she isn’t really interested as she sees CSS as a much better solution for general presentation. I’m hoping to help run an HTML/XHTML/CSS training course at the University early next year with a heavy emphasis on structural markup, standards compliance and accessibility so it’s great to have a guinea pig to play with :)

[... 201 words]

Blogroll with a twist

Spotted in my referrals today: ReadingEd.com. A promising new blog, well worth checking out for the innovative “Outside Reading” panel which uses the DOM and some very funky javascript to pull in the RSS feed (via a PHP proxy) of the selected blog and load it in to a panel which appears on the left hand side. Browsers lacking in DOM support are served up standard links to the blog in question. The feature is explained in a bit more depth here.

[... 95 words]

Zend re-design... terrible!

Zend (the commercial company behind the PHP scripting language) have launched a redesign of Zend.com. My verdict on the new design ... terrible.

[... 161 words]

OperaShow

It’s been a while since I last looked at 30 Days to becoming an Opera Lover so it was a nice surprise to see that not only is the series now complete but Tim has started up blog to continue the momentum. Flicking through the days I hadn’t read before the single feature that impressed me most was OperaShow, described on Day 17. OperaShow is a variant of the full screen mode present in IE and Mozilla, but with the added ability to run PowerPoint style presentations. This is implemented using CSS and the projection media type, in conjunction with the page-break-before : always; CSS property. Opera defaults to rendering the page normally (with whatever screen/all stylesheet the page author has provided) but as soon as you press F11 the projection style sheet comes in to effect. PgDown / PgUp can be used to cycle through the “slides” and the whole thing works just like a PowerPoint presentation.

[... 271 words]

The semantic web explained

What the frell is the Semantic Web? (via tidakada):

[... 206 words]

Inline XML

Inline XML explains how different XML languages can be embedded in XHTML documents using namespaces, and how they can then by styled using CSS.

[... 25 words]

Joe Gillespie does CSS

Joe Gillespie has been introducing CSS to the readers of Web Page Design for Designers.

[... 210 words]

Sexy DHTML

The trend for DHTML using structural markup and the DOM continues with Using Lists for DHTML Menus. Dave Lindquist uses identical XHTML markup combined with two different sets of JavaScript and CSS to implement both a set of dropdown menus and an expandable, tree style menu. The code is standards compliant and remarkably lightweight (menuExpandable.js weighs in at less than 20 lines) and fully accessible thanks to intelligent use of the accesskey attribute.

[... 99 words]

Excellent introduction to XSLT

Rescuing XSLT from Niche Status is A Gentle Introduction to XSLT through HTML Templates. It is something of a hybrid article, consisting of a discussion of the problems involved with both teaching and learning XSLT followed by an excellent (if somewhat brief) tutorial covering the most important XSLT tags and concepts and how they can be used to convert a simple XML document in to XHTML.

[... 68 words]

Button games

Javascript form button games (via CamWorld). These have to be seen to be believed.

[... 19 words]

JSP bits and pieces

I’ve been reading up on the Jakarta Struts MVC framework, courtesy of Simon Brunning. Struts, an open-source MVC implementation is a great starting point, and the ONJava JSP/JSTL series (also found via Simon) were very informative as well.

[... 54 words]

Doc’s thoughts on Linux Lunacy

Doc Searls is back from the Linux Lunacy cruise, and has been talking about the future of the software industry in What I learned on Linux Lunacy:

[... 161 words]

Types

Years

Months

Tags