Simon Willison’s Weblog

Subscribe

Entries

Filters: Sorted by date

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.

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.

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.

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.

Lots to come

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

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.

[... 2,195 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.

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.

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]

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.

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]

Stored procedures in MySQL?

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

[... 109 words]

Clearout

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

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]

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.

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.

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.

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]

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]

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.

Filtering AOL

Burningbird starts a discussion on how much harm the addition of AOL users will cause to the blogging eco-system. She compares this development to the chaos caused when AOL users were first introduced to Usenet. I don’t see that there’s a problem. To my mind, the thing that separates blogging from the many other forms of internet discussion (forums, Usenet, mailing lists etc) is that it comes with its own built in filtering mechanisms. I’ll take myself as an example. While I don’t use an aggregator, I do use my blogroll to keep track of roughly 70 bloggers who have a very high signal to noise ratio. Through them, I am frequently directed to other bloggers of a similar calibre. I’ve seen it claimed that there are over half a million blogs on the ’net, but the social network I maintain through my blogroll means that while I only see a fraction of those, that fraction tracks most of the information of interest to me.

[... 218 words]

Textile 2

Textile 2 is now available for testing, courtesy of Dean Allen. Textile is one of the more popular structured-text style markup languages, which translate a simple markup language in to HTML. What made the original Textile special was that it concentrated squarely on structural markup, providing intuitive shortcuts for most structural XHTML elements. Textile 2 takes this further, but also introduces a number of presentational effects such as block alignment. Beta PHP code is available in addition to the demo.

[... 201 words]

Programming Language People

Via Joe Grossberg, Chris Rathman’s collection of mugshots of the creators of a large number of important programming languages. There’s actually a surprisingly low beard quotient (although it’s nice to see Unix/C gurus Ken Thompson, Dennis M. Ritchie and Brian Kernigan all sport a decent amount of facial hair). On a related note, I recently came across 99 Bottles of Beer, a simple program implemented in 571 different languages. Fascinating stuff.

Linus Interview

Linux creator an open source, an interesting interview with Linus Torvalds covering the IBM/SCO case, leaving Transmeta and his opinions of Silicon Valley.

More Java

Simon Brunning has a great selection of online Java resources. I should really give it its own category.

Handling dates in Java

I could have really done with this a few months ago: Making Sense of Java’s Dates.