soft-shell crabvietnam crab exporter

Simon Willison’s Weblog

Newsletter
Atom feed

Entries

Filters: Sorted by date

Ooh a mystery...

I hate to be mysterious, but I have two very exciting projects in the pipe line. I don’t even know yet if they will make it to production, but if they do they could be very cool indeed.

W3C recommendations explained

Confused about the difference between W3C Notes, Working Drafts, Candidate Recommendations, Public Recommendations and normal Recommendations? So was I, until I found this handy list of definitions on the official site.

Using CVS

Harry Fuecks on SitePoint: Harness the Power of CVS for Your Site. I’ve been wanting to get in to CVS for quite a while but I’ve been put off by the lack of a good “getting started” guide. Harry’s tutorial is everything I’ve been looking for—it explains concepts and terminology, describes when you would want to use CVS and shows exactly how to use it on a Windows machine.

Don’t expect to hear much from me for a while

My Amazon order has arrived.

Real World Style

Real World Style: These techniques work. I know, because I use them every day in my real world job. Mark Newhouse provides a whole site dedicated to CSS tips, tricks and full blown public domain layouts specifically designed to work with Netscape 4 (and Unix machines). This is an invaluable resource for web developers who want to start using modern techniques but still have to cater for an audience with troublesome browser preferences.

CETIS

CETIS is the Centre for Education Technology Interoperability Standards. Their site is regularly updated and contains a wealth of information about a whole range of interesting technologies, including metadata standards and plenty of stuff on web services and XML. It also acts as an interesting insight in to technology plans within the UK’s academic community.

I know I’m bloody well subscribed

It’s the first day of the month. I don’t believe in rabbits, but I do believe in Mailman—I just had my fourth “monthly reminder” email of the day. It beats me why the lists I am subscribed to see fit to email me once a month to remind me of my description—you would have thought the dozens of emails I get from them every day would be enough of a hint. In my opinion this is one default option the web could do without.

Ooooooooooh

placenamehere.com: Chris Casciano’s Digital Playground. I love this design—Chris uses beautiful black and white photos for page backgrounds and carefully positions the main navigational element on each page to fit in with the background image. This is a great example of the new design techniques being made possible by a combination of CSS and creative talent. I just wish I had some of the latter :)

LUMS in CSS

I’ve been messing around with CSS today, trying to convert this page to use standards compliant CSS and XHTML while keeping the overall look and feel. My efforts so far can be seen here—I’ve knocked the HTML file size down from 27KB to 7KB (although that doesn’t take the new external CSS file in to account) and it seems to work in Opera, Mozilla and IE on Windows. There is a slight issue at 800x600 (the breadcrumbs dissapear) and it looks terminally boring in Netscape 4 but on the whole it’s come out pretty well.

MySQL text limits

Today’s scary discovery: MySQL TEXT fields have a limit of 65,000 bytes. If you insert anything larger than that in to a normal TEXT field mySQL will silently truncate your data without telling you (meaning software checks are probably a good idea). MEDIUMTEXT will store 16 million characters and LONGTEXT can handle over 4 trillion, but this information does not appear to be readily available in the online mySQL manual (although it is hinted at in this table). Something to bare in mind when designing database applications.

Styles of blogging

There’s a great discussion going on at the heart of things concerning different styles of blogging and the way the format is evolving. The range of formats evident across the blogosphere fascinates me—there are as many different styles as there are blogs, and each blogger’s style is constantly evolving. Personally I want to move towards more of a unique-content-generation model (as opposed to my current link farm) but at the same time my experiments with meta data mean that the more “shallow” content I have the more chance I will get to do interesting things with relationships between entries.

CSS selectors tutorial

Since it took me a while to find this page today, here is it for future reference. Westciv’s Guide to CSS Selectors is an excellent explanation of selectors, a key element of CSS. A good understanding selectors makes styling any part of a document possible with less code and more flexibility.

Students and the web

Point. Click. Think? (via from the orient). This is an interesting, well written piece on the effect that the web is having on student learning and research habits. Looking back at my first year at Uni I am probably a text book example of the symptoms the article describes—I hardly ventured in to the library at all, getting most of my additional course information from the web. Then again a Computer Science degree is probably better suited to web research than many other courses.

My shortest entry ever

Wow.

The CSS bug ring

Killer CSS link: Position Is Everything, part of the CSS bug ring. Big John on CSS-Discuss is probably the single most helpful individual I have ever encountered on a mailing list—he explains the most complicated (and simple) of solutions quickly, comprehensibly and in easy to understand terms. Position Is Everything is his collection of common but complex CSS browser bugs, complete with full explanations and any effective workarounds. The site links in to the CSS bug ring, a small ring of five sites providing more of the same. Truly an indespensable resource for anyone with an interest in CSS.

Reasons not to use Access

I’ve never used MS Access for anything web related, and I certainly don’t intend to at any point in the future. however, I do see a lot of questions regarding Access on various forums and mailing lists. Nine Reasons NOT To Use MS Access To Power A DB-Driven Website (published 29th June 2002) is an excellent article explaining exactly why using Access on the web is a really bad idea.

aqTree2

Stuart has updated aqTree, his excellent unordered-list-to-dynamic-tree script. The script is a clever piece of Javascript that uses the DOM to turn a nested unordered list in to a Windows Explorer style tree, without needing to add any extra HTML code. The new version is rather nice and less crufty now.

Tabs are not MDI

Dave Hyatt explains why Mozilla’s tabbed browsing is different to (and better than) Opera’s MDI model:

[... 162 words]

Multi-lingual PHP

A thread on SitePoint got me thinking about how PHP’s little known parse_ini_file() function could be used to easily manage multiple language versions of web site messages. Sections could be set up for each supported language, with message definitions repeated in each section. You could even have a default message section at the top which is used when a message has not been defined for a particular language. The comments on the parse_ini_file manual page suggest that the function is not particularly suitable for large scale use—PHP exits if the ini file is malformed and it can’t handle files larger than 16,382 bytes. That said, rolling a more reliable native PHP version should be a trivial project.

Funky stuff coming soon

Peter Van Dijck has unveiled the Secret Metadata Project (here and here), so I hguess it’s time for me to come clean as well :) I’m working with him on a proof-of-concept PHP application for XFML, his markup language for exchanging faceted metadata. So far I’m really enjoying the challenge—I get to play with XML and collaborate on an exciting new project with an extremely talented information architect. The application is shaping up at an impressive rate, and we hope to have something live and doing things within a couple of weeks.

XHTML 1.1 Woes

Tim Luoma on thelist poined out this table, which details the media types that can be used when serving XHTML documents. The table shows that XHTML 1.1 should not be served with a text/html Content-Type header. Unfortunately using any of the allowed headers (application/xhtml+xml, application/xml or text/xml) will cause Netscape 4 to pop up a “download file” dialog, and is likely to cause problems in other older browsers as well. Looks like I’ll be sticking with XHTML 1.0 Strict for a good while to come. I don’t really understand the hurry to move to XHTML 1.1 exhibited by some developers—to my mind, the single biggest advantage of XHTML is the fact that it allows documents to be parsed by any XML parsing tool, and this benefit is available in XHTML 1.0.

Back to normal at diveintomark

Mark Pilgrim has made his first update since finishing his accessibility series a week ago. He has launched a new site design (as previewed on css-discuss) in an attractive shade of blue, and posted a catch up of the many events that took place over the weeks that his blog was devoted to accessibility. My favourite quote:

[... 89 words]

XHTML ODP attribution

The ODP require you to display an attribution on any page that reuses ODP data. The recommended attribution fails to validate as XHTML, so I created an XHTML compliant alternative which looks visually identical (at least in standards compliant browsers) but uses <div>s with CSS styles. ODP editor in chief rdkeating25 has informally approved my alternative version on the ODP editor forums so I’m ready to go—at least as soon as I finish writing a script to parse data from their pages ;)

Another free Python book

How to Think Like a Computer Scientist: Learning with Python is a new Python text book covered by the GNU Free Documentation License and available on the web. The thread discussing it on Slashdot gives mixed reviews, with other recommended free alternatives including Mark Pilgrim’s Dive Into Python and Thinking in Python by Bruce Eckel.

FacetMaps

Yet another interesting take on XML metadata representations: FacetMaps. A facet map (as I understand it) is a way of combining facets with hierarchies, best explained by the excellent interactive three minute concept intro on the site. One of the main contrasts to XFML is that in a Facet Map Facets, rather than Topics, are the principle categorisation element. A resource in a Facet Map is linked directly to one or more facets, rather than going through a topic. The XML format is pretty simple (a lot simpler than XTM and XFML) so I might have a go at a PHP implementation at some point.

The mind of God

Red Herring: Dinner with the mind behind the mind of God, an informal interview with Sergey Brin, cofounder of Google. The “mind of God” reference stems from this quote:

[... 74 words]

Facets understood

And suddenly I understand faceted metadata. Sometimes all you need for that final moment of insight is a good example, and Peter Van Djick’s Columbia Guide Site Map is just what I needed. A facet is simply a “flat”, mutually exclusive (at least as far as the XFML specification is concerned) way of categorising a topic—it can be described as a bottom-up method of categorisation rather than the more common hierarchical top-down approach (as seen on the ODP) which seeks to assign all topics as sub-topics of something else. Peter writes in XFML Background and Concepts that Faceted taxonomies are generally more powerful for websites than classic hierarchical taxonomies—this seems to make a great deal of sense, and it will be interesting to see this demonstrated by XFML in the near future.

[... 163 words]

Syndicating the ODP

Having looked at some of these tools for syndicating content from the ODP, it seems that the standard method is to grab and parse the actual HTML files from the site rather than grabbing the huge RDF files. This would be a lot easier if the pages of the site were valid XHTML, but unfortunately they don’t even have a DOCTYPE. Luckily I wrote a page-link parser the other day for something else which seems to do a pretty good job on the ODP, so I should be able to put together a decent script without too much trouble.

DMOZ for Bath

I’ve had my application for editorship of the DMOZ University of Bath Category accepted. Bath’s main site has notoriously bad navigation, so hopefully I’ll be able to use DMOZ to build an alternative. I’m also looking in to eventually syndicating the DMOZ category via RDF and replicating it elsewhere. Unfortunately it looks like you have to grab the whole 130MB RDF file to do this, but I’ve seen tools that syndicate smaller portions of DMOZ so it must be possible to extract only the information you are interested in.

Stanford guidelines

Stanford Guidelines for Web Credibility: