Simon Willison’s Weblog

Subscribe

July 2003

July 9, 2003

CSS drop shadows

Yet another groovy CSS demo: Drop shadow effects using only two nested divs and an alpha-transparent PNG. They look passable in IE as well. Another gem from Paul Hammond’s link blog. Incidentally, Paul has written up some interesting observations on how a previous item from his link blog spread itself around the ’net after I linked to it a few days ago.

Throwing your money around

Adam Curry is a dangerous man: He’s throwing $10,000 at a problem he clearly doesn’t understand. Quote from June 29th:

[... 183 words]

Independent Days on Daring Fireball

Daring Fireball: Independent Days. A sprawling essay that covers web design principles, corporate vs. independent sites, Mac punditry and the justification for adding Google Ads to a weblog. Well worth a read. I particularly liked this quote, although it was more of a side-point than a key point of the article:

[... 129 words]

Marketing for Geeks

This is excellent: Marketing for Geeks, a series of articles (three at the moment) by Eric Sink. I’ve never really been interested in marketing but Eric got me hooked with geek friendly examples such as Paint Shop Pro and CityDesk and I ended up learning a great deal. The writing style is similar to that of Joel Spolsky, so if you enjoy Joel on Software you’ll certainly enjoy this.

Implementing Text Editors

Via Martin Spernau, two useful resources on writing text editors. The Craft of Text Editing appears to be the definitive work on the subject, and is a whole book made available online with permission from the publishers as it is no longer available in print. Writing a Simple Word Processor (PDF) is a more recent paper with excellent overviews of the data structures and algorithms used in modern editing widgets.

Adaptive Path Redesign

Doug Bowman and Adaptive Path have launched the redesign of the Adaptive Path site. It’s well worth exploring: the site looks gorgeous, and is a great example of best practise structural markup, CSS and web standards compliance. Doug has an overview of the highlights of the new design, which includes a brief explanation of the brilliant CSS double rollover effects used for the team photos on the home page.

July 10, 2003

Terms and Conditions

So, I signed up for an AOL Instant Messenger account today. While it was relatively painless, I did get a chuckle out of the terms of use attached to the Instant Messenger installer:

[... 222 words]

Compact XML Schemas with Relax NG

Tim Bray has cooked up a RelaxNG schema for the 0.1 Necho/Pie/Fecho/!Echo snapshot (they really need to hurry up and decide on a name). I had never looked at RelaxNG before, although I had vaguely picked up that it was a lot nicer than the W3C’s XML Schema format. Tim has used RelaxNG Compact, a shorthand method of writing schemas that uses a curly-braces style language instead of XML. It’s suddenly got me very interested—the compact format is instantly readable and looks a lot more efficient to use than DTDs or an XML schema language. Best of all, there are tools to instantly convert compact syntax in to a full RelaxNG XML schema, and then convert that in to XML Schema (should you want to do so). The Compact Syntax tutorial gives a good overview of how the compact syntax works. Now if only there was a Relax NG validation tool in PHP...

Clearout

Stored procedures in MySQL?

Via Sam Buchanan, it looks like MySQL might get stored procedure support soon in a big way:

[... 109 words]

July 11, 2003

Storing Dates in MySQL

DevShed have a new article on Date Arithmetic With MySQL, which acts as a kind of missing manual for MySQL’s powerful date arithmetic functions. It reminded me of something I’ve been meaning to write about for some time: my thoughts on storing dates in a PHP application that uses a MySQL backend

[... 421 words]

RSS Links

Here’s one for budding RSS historians: Ken MacLeod’s RSS Links is a collection of links relevant to the development of RSS between March 15, 1999 and August 14, 2000. Ken also provides a distilled list of the more important discussion points. Combine that with Mark Pilgrim’s History of the RSS Fork (covering July 2000 to November 2000) and you’ve got more knowledge about RSS history than anyone could possible want to know.

Sitting nervously on the fence

Today’s hot topic is the Winer Watcher, Mark Pilgrim’s new tool that tracks and highlights edits made to Dave Winer’s Scripting News. The blogosphere is pretty much evenly split on this: some people think it is a blatant attack on Dave Winer, tantamount o blogger bullying, while others see it as a neat technical solution to a very real problem.

[... 1,146 words]

Minor bug fix in IXR

I’ve fixed a small but vital bug in the Incutio XML-RPC library. The library was causing errors when certain unicode characters were used in strings. This is because I was using PHP’s htmlentities() function to encode strings before transmission. This escapes all of the characters that need escaping (<, >, &, " and ’) but also escapes a number of other characters that have an HTML entity equivalent. The problem is that these additional entities are defined in HTML but not in XML, so XML parsers were choking on them when they tried to parse the resulting message. I’ve fixed the bug now by switching to using htmlspecialchars() instead. Thanks to the several people who reported this one (it took me a while to figure out) and to Marc Logemann who’s blog entry finally helped me crack it.

July 14, 2003

In Germany

I’m in Germany for a week. Updates may be sparse.

July 15, 2003

Netscape R.I.P.

Chances are you’ve heard this already, but Netscape is no more. MozillaZine are reporting that AOL has cut or will cut the remaining team working on Mozilla in a mass firing and are dismantling what was left of Netscape (they’ve even pulled the logos off the buildings). Today is a truly sad day.

[... 253 words]

July 17, 2003

New PHP experiment, inspired by ColdFusion

I’ve been reading up on ColdFusion MX recently, and I have to admit it looks like a really nice piece of technology. I’d previously written ColdFusion off as being too simplistic and primitive, but having seen how much its capable of I’m reconsidering my position.

[... 566 words]

The Google Browser

Anil Dash suggests Google should start sponsoring the Mozilla project, and use it as a basis for releasing their own browser. He makes a very good case:

[... 477 words]

July 22, 2003

Lots to come

Warning: I’m back from Germany with a back-log of blog postings as long as my arm.

Second year exam results

I finally got my exam results for this semester through today. The exam results are great (three 73%s and a 76% for Graphics, which was my weakest subject!) but my average is pulled down quite a bit by my coursework marks, which include a hugely disappointing 50% for the big group software project. I ended up averaging 69.8% for the whole of the second year, which is 0.2% off a First. Hopefully I can do that tiny bit better in the final year.

The Art of Unix Programming

Eric Raymond’s Art of Unix Programming is due for publication in August 2003. From skimming the online manuscript it looks like it could establish itself as a classic text book. It’s also going to be long—there’s no way I can stomach reading it from a screen so I guess I’ll have to wait until the dead tree version arrives.

PyNewbie Tutorials

Rob Hudson is publishing a series of short Python tutorials explaining language features and standard modules as he teaches himself the language. Articles so far cover Sockets and making cryptograms using the random module.

Scripting Open Office with Python

The Python-UNO bridge for Open Office 1.1 allows you to script OO using Python. At first glance, it seems to work a bit like Windows COM, which can be accessed from Python using Mark Hammond’s excellent Win32 extensions.

Python Advocacy from Bruce Eckel

Bruce Eckel is turning in to the world’s number one Python advocate. He explains his views on Python on his Weblog in Python Answers, elaborates further on the Python productivity boost in the fourth part of his Artima.com conversation, and discusses Python (amongst other topics) in an interview on the Borland Developer Network. In the latter, he has this to say about Python in education:

[... 281 words]

Scott Andrew on Typepad

Delimiter is Scott Andrew’s new TypePad blog. Unlike his primary blog which mostly talks about his adventures as a musician, Delimiter promises to cover fun and interesting Web stuff. Should be good. Congratulations to Scott for his new job at Amazon as well.

[... 86 words]

A feature request for CSS3

One of the niggles I have with CSS 2 is that I frequently have to define colours multiple times. Consider this blog: I use orange in several places (as a background to the header, a border around the sidebar and a background to the sidebar h3 elements). Should I decide to change the shade of orange, or change it to another colour, I would have to alter my stylesheet in several places.

[... 245 words]

BuyMusic, the latest sharecropper on the block

As seen on Blogzilla and Ordinary Life, BuyMusic are content to exist as a sharecropper. It looks like the restriction is due to their use of Windows Media as the format for their DRM protected files (BuyMusic is the Windows poor relative to Apple’s iTunes). Unfortunately, this could become common place in the next few years as the music industry tries to find ways of surviving in the digital age. After all, with more than 90% of PCs running Windows there’s no doubting that’s where most of the money is. I guess the music industry are happy to be sharecroppers, and anyone who choses non-Microsoft software will have to get used to being treated as second-class citizens.

Signing comments on blogs

Adrian Holovaty has implemented reserved comment names in his blog, a feature that prevents anyone apart from him from using the names “Adrian”, “Adrian H.” or “Adrian Holovaty” when posting a comment. François Nonnenmacher suggests extending the idea to allow people to “confirm” their authorship of comments on any blog using a TrackBack sent to their site that in turn causes them to be sent an alert email, which they can then use to confirm their comment. I like his idea of authentication based on URLs (email addresses are no good; they should not be publically displayed for fear of spam harvesters) but I think I’ve come up with an alternative authentication scheme that removes the need for the user to manually confirm authorship. This is pretty complicated, so bare with me.

[... 762 words]

You can’t keep a good man down

John Robb: NEVER (under any circumstances) publish a weblog to a domain that you don’t control. Nice to see he’s back.

July 23, 2003

Mozilla 1.5a and Firebird 0.6.1

Mozilla 1.5 alpha is now available for download from Mozilla.org. Changenotes here (it looks like mostly improvements to Composer, but the ability to jump from the javascript debugger straight to the view source line in question could be handy). Asa is promising a new Firebird release soon:

[... 158 words]

2003 » July

MTWTFSS
 123456
78910111213
14151617181920
21222324252627
28293031