Simon Willison’s Weblog

Subscribe

Items in Jul, 2003

Filters: Year: 2003 × Month: Jul × Sorted by date


Python 2.3

After numerous alphas and betas, Python 2.3 has been released. Python.org has highlights of the release, while A.M. Kuchling’s What’s New in Python 2.3 goes in to a bit more detail. There’s some great new stuff, but the feature that particularly caught my eye is this:

[... 147 words]

Quality news site URLs

Nathan Ashby-Kuhlman is devoting this week on his blog to discussion and analysis of news site’s URLs.Nathan’s 5 attributes for a good URL are worth repeating here as they succintly describe my own opinions:

[... 378 words]

Superb CSS template/tutorial

I’m not sure how I missed this one. Holly Bergevin’s Perched Upon a Lily Pad is a CSS demo that shows off a 3 column layout with a flexible header, full length columns, horizontal navigation bar and complete descriptions of exactly how it all works contained within the page. It’s very educational (I’ve learnt a trick or two just by reading it) and a great example of solid, cross-browser CSS design.

[... 97 words]

Validating HTML from behind a firewall

Steve Clay’s Private Validator is a really handy tool for people who working on intranet sites who want to be able to run them through the W3C’s validator. It’s a PHP script which you install on a server behind the firewall that has access to both the intranet and the outside world. It comes with a bookmarklet which activates the script. When the script is activated, it grabs the indicated page, then uploads it to the external validator and grabs the result. It’s pretty neat, but even neater would be some kind of desktop application that did the same thing. I can almost feel a Python script coming on.

[... 117 words]

PHP XPath Implementation

This looks like it could be really useful: an XPath implementation in pure PHP (no extra modules required), via More Like This.

[... 28 words]

Let’s go ::outside

Tom Gilder has started a series of posts looking ahead to CSS3. In his first installment, he describes the awesomely powerful ::outside pseudo-element. Using this, CSS3 authors can apply multiple backgrounds and borders to single elements (at the moment doing so requires fussing around with nested divs). If you don’t instantly see the importance of this, take a look at some of the attempts to render rounded box corners using CSS. All of them require the addition of extra presentational elements, none of which would be needed if we could use the ::outside selector instead.

[... 116 words]

Better web forms

Adam Kalsey has kicked off Simplified, a new series on web usability, with some thoughts on creating usable web forms. The conversation continues on Paul Scrivens’ blog, and covers a lot of interesting ground. D. Keith Robinson also has some tips on better form design in his latest Gorilla Web Tip.

[... 62 words]

Ludicrously simple templates with Python

A long, long time ago I wrote my first ever PHP templating system. It was pretty simple; it consisted of a function that took two arguments: the name of a template file, and an associative array of replacements to make on that file.

[... 251 words]

More CSS tips and tricks

[... 93 words]

Learn to search!

Slate: Digging for Googleholes:

[... 414 words]

Mailinator and email validation

So, Mailinator (via Joel). It’s a brilliant concept; whenever a site you don’t trust insists on you giving them an email address you invent something-random@mailinator.com and give them that instead. Then you go to the Mailinator site, enter the something-random and see the emails recently sent to that address.

[... 213 words]

Comment Authentication Prototype

I’ve built a prototype of the comment signature system discussed earlier. The prototype consists of an authentication server which anyone can register with and support on this blog for verifying signatures. So far it seems to work.

[... 434 words]

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]

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.

[... 22 words]

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]

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.

[... 135 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]

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]

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]

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.

[... 52 words]

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.

[... 46 words]

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.

[... 69 words]

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.

[... 83 words]

Lots to come

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

[... 16 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]

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]

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]

In Germany

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

[... 10 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.

[... 163 words]

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.

[... 1146 words]