Simon Willison’s Weblog

Subscribe
Atom feed

Entries

Filters: Sorted by date

So long Safari?

All browsers have bugs—especially relating to fancy JavaScript stuff. Any truly complex web application is likely to run in to browser bugs, and fixing them takes a whole bunch of time. Bugs in IE and Firefox are pretty well understood, as are the workarounds for them.

[... 317 words]

Speaking gigs

I’ve been doing a fair amount of public speaking recently, based on the principle that the only way to get good at it is to get a lot of practise. My last two talks were a session on Django and Web Application Frameworks at the ACCU 2006 conference and a talk on the Yahoo! Developer Network for NMK’s Beers and Innovation series.

[... 304 words]

Exciting stuff in Python 2.5

Python 2.5 alpha 1 is out, and as usual the What’s New in Python 2.5 document provides a pleasant overview of the new features. There are some real treats in there. While I’m hoping that the syntax for conditional expressions will grow on me, I’m looking forward to Partial function application becoming a common Python idiom. Relative imports are going to make Django applications a lot easier to redistribute, and I can’t wait to see all the crazy hacks that result from the introduction of coroutines.

[... 291 words]

Naked day

Naked and proud.

Learning Flash for programmers?

I’ve decided it’s about time I learnt some Flash, mainly because of the exciting opportunities posed by the Flash-JavaScript bridge. It’s become pretty obvious now that Flash is the most practical option for dealing with audio and video on the Web, and the bridge means that anything Flash can do is now available to JavaScript as well. Google Finance and the Yahoo! JS-Flash Maps API are just two recent examples of why this stuff is worth knowing more about.

[... 138 words]

My ETech JavaScript tutorial

I gave a three hour JavaScript tutorial at ETech this morning, aimed at people with previous programming experience who hadn’t yet dived deep in to JavaScript as a programming language. It seemed to go pretty well—some good questions were asked at various points and a few people told me afterwards that they had found it interesting.

[... 247 words]

Patching Windows XP from burned CDs?

antifuse: that’s perfect, thanks. Unfortunately slipstreaming isn’t really an option—or at least I’d rather avoid it (I’d have to take her laptop home with me and return it another time).

[... 66 words]

What are some good software development/open source blogs?

http://www.thedailywtf.com/ is an endlessly entertaining guide to how not to develop software.

[... 28 words]

Yahoo! UI JavaScript treats

The Yahoo! Developer Network was updated yesterday with a veritable gold-mine of Exciting New Stuff, coinciding with the launch of the brand new Yahoo! User Interface Blog.

[... 576 words]

Notes from the summit

I’m at the Carson Workshops Future of Web Apps Summit today. It’s been a great set of talks, and some frantic SubEthaEdit action to capture the salient points. Here are the notes I’ve gathered over the course of the day (with help from various contributors; credits at the bottom of each file).

Can social bookmarking services prevent a bookmark from becoming dead links?

Yahoo!’s MyWeb 2.0 can do that. (Disclaimer: I work for Yahoo!, but not directly on that product).

[... 36 words]

Escaping regular expression characters in JavaScript

JavaScript’s support for regular expressions is generally pretty good, but there is one notable omission: an escaping mechanism for literal strings. Say for example you need to create a regular expression that removes a specific string from the end of a string. If you know the string you want to remove when you write the script this is easy:

[... 519 words]

Happy New Year!

It’s just gone midnight here in England (I’m in Exeter for the new year), so Happy New Year to all. Top weblog-related priority for 2006: upgrade this aging heap of badly written object-oriented PHP to something better. I’ll try and get some good content flowing more regularly as well.

[... 58 words]

Get tickets for filming of Jools Holland’s TV show

I was in the audience for “Later” once. I called up the BBC’s ticket office and asked for tickets—they told me there was a year long waiting list. I asked to be put on it anyway, and sure enough just over a year later I got 4 tickets in the mail. Well worth the wait!

[... 73 words]

JSON and Yahoo!’s JavaScript APIs

I had the pleasure yesterday of seeing Douglas Crockford speak about JSON, the ultra-simple data interchange format he has been promoting as an alternative to XML. JSON is a subset of JavaScript, based around that language’s array, string and object literal syntax.

[... 240 words]

Don’t be eval()

JavaScript is an interpreted language, and like so many of its peers it includes the all powerful eval() function. eval() takes a string and executes it as if it were regular JavaScript code. It’s incredibly powerful and incredibly easy to abuse in ways that make your code slower and harder to maintain. As a general rule, if you’re using eval() there’s probably something wrong with your design.

[... 431 words]

Have a webby Christmas

Sadly there’s no Perl Advent Calendar this year, but the slack has been picked up by Drew McLellan’s 24 ways to impress your friends—a neat web development tip every day until Christmas.

[... 81 words]

Notes on public speaking

I’m pretty inexperienced as a public speaker, but somehow I landed two speaking gigs in as many weeks recently and learnt some useful lessons about presenting in the process.

[... 552 words]

Google Base is interesting

I’m still trying to get my head around Google Base. Here’s a brain-dump of my thinking so far. First, some links.

[... 364 words]

Social engineering and Orange

I had a call on my mobile earlier today from a lady claiming to be from Orange (my phone service provider) who told me that my contract was about to expire. She asked me for my password.

[... 311 words]

Yahoo!’s new twist on mapping APIs

One of the most exciting things I’ve seen at Yahoo! since starting here has finally been made public: the new Yahoo Maps. The map application itself differs from many other recent map sites in being rendered entirely in Flash. This leaves far more scope for interface niceties, but doesn’t it reduce the scope for hacking that made things like Google Maps so much fun?

[... 623 words]

Taking charge of your own destiny

Scoble has posted 12 reasons that Web 2.0 entrepreneurs are steering clear of the Microsoft platform. It’s an interesting list (the comments are full of treats too) but for me it misses the key reason that open source development tools are so compelling: they put you in charge of your own destiny.

[... 367 words]

Things I learned at EuroOSCON

Last week was the first ever O’Reilly European Open Source Convention, held in the magnificent NH Grand Hotel Krasnapolsky in Amsterdam. It was the first big budget conference I’d been too (previously I’ve stuck to less expensive affairs such as SxSW Interactive and PyCon) but the money seems to have been well spent. The venue was fantastic and there was a great line-up of speakers, keynotes and panels.

[... 878 words]

Canvas demos

Jesse Andrews (of Book Burro and userscripts.org fame) has built some awesome canvas demos for users of Safari or Firefox 1.5. He has a bar chart and some animated rectangles, but the real gem is the live chart which polls a server using XMLHttpRequest and updates a line graph with live data. He also has some fun mathematical experiments: a cellular automata generator and a neat exploration of Lindenmayer systems (both static and interactive). Read more on his blog.

Maintainability, a.k.a. the CSS elephant

Now that even Slashdot has made the move to CSS it’s safe to say that the CSS advocacy battle is slowly being won. It’s time to talk about the elephant in the corner of the room: stylesheet maintainability.

[... 317 words]

Working for Yahoo!

I guess it’s about time I blogged this: Monday was my first official day working for Yahoo! I’ve joined the new Technology Development group, first mentioned by Jeremy Zawodny a couple of months ago. My first assignment is with the Flickr team, where I will be working on some Cool New Stuff. How exciting is that?

[... 82 words]

More fun with the monkey

Cory Doctorow points to America from the Great Depression to World War II: Color Photographs from the FSA-OWI, 1939-1945, with the following observation:

[... 329 words]

Firefox 1.5 developer highlights

Firefox 1.5 Beta 1 is out, and is the most exciting browser release in a very long time. It comes with the Gecko 1.8 rendering engine, which includes a ton of interesting new features. New in this version (unless you’ve been tinkering with the Deer Park series):

[... 719 words]

Change of e-mail address

If you send e-mail to my old cs1spw@bath.ac.uk address I won’t get it—that account has been closed now that I’ve graduated from University. You can get my current e-mail address by clicking the big “Reveal my Address” button on my contact page.

Poland, Dvorak and Broadband woes

My recent silence can be attributed to a number of things. I’ve been having a terrible time trying to get a ’net connection sorted out in my new flat—I can’t get cable, and it seems the local exchange can’t handle ADSL yet either. Curses. I also just got back from a fantastic ten day holiday in Gdansk, Poland with Natalie, and I’m typing this with a Dvorak keyboard (well, a PowerBook covered in post-it note fragments).

[... 344 words]