soft-shell crabvietnam crab exporter

Simon Willison’s Weblog

Newsletter
Atom feed

Entries

Filters: Sorted by date

Doing more with the iSight

The iSight came close to being the biggest disappointments of my new Mac experience. It looks gorgeous and appears to integrate seamlessly with iChat AV, although as I don’t currently have any contacts with an iSight I haven’t been able to try video conferencing yet. The dissapointment is that there was no clear way of using it to capture video directly—a feature that I reasonably expected from iMovie. Apple’s knowledge base knocks the point home pretty clearly:

[... 206 words]

Backseat driving

Just one of the many gems to be found in Greg Knauss’ Devil’s Dictionary.

[... 46 words]

Mac-tastic

Sorry for the radio silence; I’ve been playing with my new Mac. It’s been an almost entirely positive experience—it’s certainly the most enjoyable computer I’ve ever owned. I’ve also only crashed an application once so far—bizarrely it was the Terminal while accidentally pasting in a whole bunch of junk. Other than that the system stability and performance is excellent—and it’s only running on 256 MB of RAM while I try and find one of those tiny screwdrivers to install the upgrade.

[... 801 words]

A hacker’s introduction to OS X

What is Max OS X by Amit Singh is hands down the best introduction to that operating system I’ve ever come across. It’s aimed at a technical audience, does a very good job of keeping a fair balance balanced when comparing OS X with other operating systems and has taught me a whole bunch of interesting things about the system.

[... 294 words]

PaWS 2004

Here’s an interesting topic for a conference: PHP and Web Standards, to be held in Manchester from February 20th to the 24th. I’ve devoted a lot of time and energy to combining the two for this blog—it’s a shame I’ll be out of the country when the conference rolls around. I should be able to make it to SXSW this year though.

Decentralised social networking

I know I’m late to the party, but my recent experiments with LinkedIn and Friendster have got me all interested in the potential of software that bulids on top of people’s own social networks. There’s just one thing that’s been bugging me, best explained by this quote from Om Malik:

[... 258 words]

Targets for 2004

Looking back on 2003, one thing really stuck out for me: I didn’t learn a new programming language. The Pragmatic Programmers recommend learning at least one new language every year, and I’ve heard similar advice from other notable authorities; Ruby’s Matz made a similar point in an article published just the other day.

[... 208 words]

Object relational mappings are over-rated...

... At least according to Tim Bray:

[... 375 words]

Happy New Year!

Happy New Year to all my friends back in the UK. Of course, here in Kansas it’s only 6pm. Gotta love those time zones (Second worst idea ever. (See DaylightSavingTime) A nightmare from which we can never escape. Think JetLag is bad? TimeZones are worse, because we all have it, and they won’t go away after a few oddly timed naps.)

Installing psycopg on Red Hat 9

Adrian Holovaty and I spent some time today figuring out how to get the psycopg Postgres module to install on Red Hat 9. It took a while, but eventually we tweaked the spec file and used it to compile our own RPM. I’ve posted our modified spec file to the psycopg mailing list. More for my own record than anything else, the arcane incantations needed to create the RPM went roughly as follows:

[... 151 words]

Professional social software

Via D. Keith Robinson, LinkedIn is a social software system that works kind of like Friendster but is targetted at professionals. You sign up, create a profile that includes your industry and geographical area and it provides you with a number of tools to find other people with similar interests. More importantly, it lets you build up a network of contacts through which you can access other people. If nothing else, it’s a great way of maintaining your CV.

[... 178 words]

Javascript from Python

In a way I’m disappointed to see python-spidermonkey released. It’s a Python wrapper around the Mozilla project’s SpiderMonkey Javascript engine which allows Python scripts to execute Javascript code in a rock-solid, battle-tested embedded interpreter.

[... 187 words]

A belated Merry Christmas

I’m back to work after enjoying that most precious of things: a holiday without computers. Comment spam has been deleted, email spam has been saved in a special folder (for rapid training of bayesian classifiers in the future) and the few emails of actual importance have all been flagged for follow up. Oh, and my Mac’s shipping date has slipped to the 2nd of January. If haven’t received it by Macworld and Apple drop the price I’ll be understandably upset.

Nielsen watch 2003

Jakob Nielsen’s Top Ten Web Design Mistakes of 2003 make interesting reading this year, covering topics including undated content, incomprehensible thumbnails and overly specific forms. In previous years Jakob’s complaints tended to center around far more obvious problems such as horizontal scroll bars and fixed size fonts. Either the field of web usability has matured to the point where the common issues are less glaringly obvious or Jakob is running out of low-hanging fruit.

XML highlights for PHP 5

XML in PHP5: An in-depth look into advanced XML features (via Keith) does exactly what it says on the tin. Here are the bits that caught my eye:

[... 155 words]

I’ve ordered my PowerBook

Thanks to everyone who provided advice on buying a Mac—it provide incredibly helpful in making my selection. I placed my order this afternoon for a 15" 1 GHz PowerBook with a SuperDrive, backlit keyboard and 60 GB of Hard Disk space. I went with the minimum possible memory (256 MB) and plan to buy an extra 512 MB from Crucial (for less than half the price Apple charge) in a few weeks time.

[... 184 words]

Atom autodiscovery test suite

Mark Pilgrim has released the Atom autodiscovery test suite, comprising 148 tests:

[... 130 words]

Open Mosix

I can’t remember how I stumbled across it, but Open Mosix looks like a really interesting project. It’s a Linux kernel extension that makes creating a Linux cluster is as simple as installing a kernel module on a number of machines and supplying each one with a shared config file.

[... 310 words]

RELAX NG now an ISO standard

Via James Robertson, RELAX NG (altogether too many caps) has been published by ISO as an International Standard. RELAX NG compact syntax is will hopefully join it soon.

[... 149 words]

More CSS trickery

Stu Nicholls dropped me a line earlier to pimp his new CSS demo site, www.s7u.co.uk. He’s got some really nice tricks and the site warrants serious exploration. There’s a good take on the classic 3 column layout with header and footer problem, a bunch of neat menus and a bunch of fun demos that defy categorisation.

Joel on Eric

Joel Spolsky’s latest essay reviews Eric Raymond’s The Art of Unix Programming (a book I really want to pick up) and uses it as background for a discussion of the cultural differences between Windows and Unix programmers. As always, it’s an insightful piece.

[... 197 words]

Mac buying advice needed

I’m in the market for a new laptop, and I’m almost 100% certain it’s going to be a Mac. I’m going to be using it as my primary personal computing platform, but the vast majority of what I do with a computer is browsing, using email and messing around Python, Apache and other geeky toys. I’m sorely tempted by one of the 14" iBooks. Since I’ll be using this thing a lot (and I’ve never been a huge fan of laptop keyboards) 12 inches seems to small, and I’m not convinced that the extra cash for a PowerBook is worthwhile now that iBooks go up to 1 GHz.

[... 417 words]

Javascript debugging: IE Option gotcha

I’ve been debugging Javascript today. I like Javascript as a language, but I doubt anyone would disagree that it’s a horrible, horrible language to debug across multiple browsers. Firebird at least has good debugging support—I currently use the Javascript Console and Jesse Ruderman’s shell bookmarklet and I really need to learn to use Venkman some day. If anyone knows a better way of debugging Javascript in IE than relying on the lame popup box I’d love to hear about it.

[... 238 words]

Grouping table data by header

Andy’s latest Javascript experiment is over a week old now but I managed to miss it the first time round. It’s an interesting twist on the sortable tables idea, allowing table data to be grouped as well as sorted by dragging each table header on to a box at the top of the table. Unfortunately the grouping feature seems unstable in IE but it works a treat in Firebird.

New Python Computer Science text book

Python Programming: An Introduction to Computer Science is a new Computer Science text book designed for use in introduction to programming classes, written by John Zelle, who’s Teaching with Python page . Kirby Urner recently posted a mostly positive review of the book to the Python Edu-SIG mailing list, which sparked an interesting discussion about Python’s place in the CS curriculum.

[... 183 words]

Static content generation

Ian Bicking has an interesting pieces on using static publishing in a CMS. The choice between static and dynamic when building software for the web is a critical one, and one that I think deserves in-depth discussion.

[... 672 words]

My first SitePoint article

Enhancing Structural Markup with JavaScript is my first published article for SitePoint, a web development portal that is also home to some of the best web design forums on the web. I’ve been a big fan of SitePoint for a number of years and it’s great to finally have contributed something to the site. The article discusses two methods of building useful Javascript effects on top of well structured markup and is based on my easytoggle and blockquote citations experiments, both previously featured on this blog.

[... 119 words]

More blogmark tweaks

I’m up to 110 blogmarks now, and from my point of view they’re the single most useful feature I’ve added to this site in a long time. I’ve modified my day archive pages to show the blogmarks added on that day, and I’m considering adding them to individual entry pages as well so that an entry is displayed along with the blogmarks added while that entry was at the top of my blog. The idea there is that I could aim to blogmark “related items” for the top entry, although obviously unrelated sites would end up in there as well.

[... 204 words]

Implementing filesystems in Python

LUFS-Python provides a relatively simple API for implementing new Linux filesystems in pure Python. You install the package, write a class implementing methods for handling filesystem operations such as creating a directory, opening/reading/writing/closing a file, creating symlinks etc and finally mount your new filesystem with some special arguments to the mount command.

[... 371 words]

Nasty new IE vulnerability

Most people reading are probably aware of the common trick whereby spammers and other assorted ne’er-do-wells publish URLs with usernames that look like hostnames to fool people in to trusting a malicious site—for example, http://www.microsoft.com&session%[email protected]. This trick is frequently used by spammers to steal people’s PayPal accounts, by tricking them in to “resetting” their password at a site owned by the spammer but disguised as PayPal.com.

[... 164 words]