Categories
Toronto (a.k.a. Accordion City)

For the Love of Breasts — Saturday, November 22

Graphic: Promo graphic for 'For the Love of Breasts' gala.

Design rant

This is a good cause using bad Web design.

The site is entirely Flash, which makes it harder to access. Aside from an intro movie, which simply animates some breast cancer statistics, the site doesn’t really make use Flash’s interactive multimedia capabilities. They’d have been better served with a site that made use of good ol’ HTML. If they really wanted some multimedia flashiness, they could’ve kept the intro movie and perhaps used it to show a montage of photos from previous events.

(Speaking of photos of previous events, there are some, but they live on a completely different site. One of their links to the photos takes you to a page that requires you to find last year’s “For the Love of Breasts” event in a large menu first.)

The text embedded in Flash which means:

  • It isn’t selectable, which in turn means that you can’t cut and paste it into an email to invite your friends.
  • It also means that Google can’t index it properly.

Furthermore, the they misspell the title of their page as “For the Love of Breats“.

I’m taking the liberty of reproducing some of its content in plain ol’ searchable Web text, so it’s more easily found, and so that you can cut and paste the text into emails to invite your friends. The event sounds like fun and it’s for a good cause.

I just hope that their fundraising-fu and party-fu are much better than their web-fu.

The For the Love of Breasts site says:

  • One in nine Canadian women will contract breast cancer.
  • One in twenty-seven will die.

Mission

The mission of For the Love of Breasts is to generate the dollars that will find the cure for breast cancer and dave the lives of the women we love. We believe there is strength in numbers. Our party celebrates the momentum towards a future that is free of the ravages of breast cancer.

This Year

For the Love of Breasts is Toronto’s most anticipated fall fundraiser. An annual dress-to-impress gala, For the Love of Breats promotes breast health awareness and raises funds in support of breast cancer research and patient support. We have raised over $110,000 for breast cancer causes. In 2003, our FIFTH ANNIVERSARY, we intend to make For the Love of Breats FIVE the most successful event yet. We expect over 1,300 people in their 20s and 30s to join us as we strive to raise $60,000 on Saturday, November 22, 2003.

Toronto’s best party brings together the young, hip and aware — people committed to having a good time and to winning the battle against breast cancer. Join the party…and bring five friends.

For the Love of Breasts takes place next Saturday at the York Event Theatre, 101 Eglinton Avenue East, two blocks east of the corner jokingly referred to as “Yonge and Eligible” (for out-of-towners: “Yonge” is pronounced like “young”). You can buy tickets to For the Love of Breasts online. Tickets are $50.00 per person.

If you want to see what these events are like, visit these photo galleries from the 1999 and 2000 events.

I’m a sucker for a good cause/good time events, so I will be attending, as will my friend Eldon. This is pretty much a guarantee that hilarity (as well as fundraising) will ensue.

Categories
Toronto (a.k.a. Accordion City)

Reel Asian Film Festival — November 26 – 30

Photo: Popcorn bag with chopsticks.

Josie over at the Greater Toronto Area Bloggers blog points to the Reel Asian Film Festival, which takes place a week and a half from now. Their site says:

The 2003 Toronto Reel Asian International Film Festival runs November 26-30. Over 50 shorts and features by and about Asians all over the world will screen in 15 different programmes at four venues in the downtown core. There are also FREE workshops for both industry insiders and neophytes alike. The Opening and Closing Night Gala parties take place at two of the hottest nightspots in the Little Italy entertainment district. Last year’s festival attracted an audience of 3,000 and this year’s festival promises to be even bigger and better!

Now Magazine called it Accordion City’s “Best Small [Film] Festival” in a recent issue:

Reel Asian New-media mavens Images and Tranz-Tech define Toronto moving image art, but Reel Asian strikes the best balance between cutting edge and community. Strong programming and deep roots attract a super-hyphenated tribe, while the festival keeps a year-round presence with screenings of Thai epics, homegrown debuts or mad jolts from Japan.

Sounds like fun, and I’m sure that at least a few of us GTABloggers will be attending…

Categories
Uncategorized

I concur with Kathy

Because it’s effectively become Kathy Shaidle week at this blog (I can almost hear her yelling “Every week is Kathy Shaidle week, Accordion Chump!”) and in the interests of fairness, I’m going to point to two entries on her blog, Relapsed Catholic, with which I agree wholeheartedly.

Ain’t nothin’ wrong with a little swearing and violence in movies, a-hole, so shut up or I’ll give you something to really whine about

In this article, she pimp-slaps MovieGuide “but it’s just not Christian enough!” stance to their movie reviews. MovieGuide isn’t as over-the-top as ChildCare Action Project’s, but they’re still on the rabid side.

She writes:

“The filmmakers could have told this tale without all of this graphic content.” They’re right you know. I’m hoping for a version of Slap Shot without all the violence and swearing too. The nine minute version.

Guys, the Bible contains violence and nudity, m’kay?

Come to think of it, muses MovieGuide, “the filmmakers also should have added some spiritual, Christian insights to delve even deeper and more accurately into the theme of psychological trauma.” Too bad Potter wasn’t actually a Christian or maybe that would (ooops, I mean “should”) have occured to him. Between those hourly morphine injections.

Yeah, picture it now: pink and blue smiling teddy bears raining from the sky at the end, and Jesus nailing a touchdown, and everybody singing “God Bless America”…

She concludes:

Let’s make a deal, guys: we [Catholics] — the Scorceses and the Coppolas — will keep making the movies, and you [Protestants] keep boycottin’ them.

Daaaaaamn straight. Hey, there are days my life is like a Rob Zombie movie, and I still turned out all right.

No comments

Some people are upset that she doesn’t have comments in her blog, and some have even gone so far to say that it can’t be a “real” blog if there’s no facility for them to leave a comment.

Wrong! The only thing that really defines a blog is that it’s a log, and it’s on the Web. Everything else is an option left to the discretion of the blog’s author.

Kathy points out a list of a lot of blogs that don’t have comments, but she skipped the most important one: Captain’s Logs in Starfleet. Captain Kirk wasn’t obliged to take no steenkeeng comments in his log (“Y0 D0GG THAT GREEN CHIXOR WUZ HOTT OMFG”), and neither is Kathy.

If you really feel that you’ve got to make some kind of comment on what she says, you have all kinds of options:

  • Yell at the screen. I know some people who yell at Springer, others who yell at the McNeil/Lehrer Newshour, and I’m sure my friend Sam has yelled at one or two of the castaways on Survivor. It might make you feel better, and it might be all you need to do before you go back to whatever it was you were doing.
  • Send email to the address she’s published on her page. I’ve written, and she’s replied. Remember that a little politeness will go a long way.
  • Start your own damned blog. Link to her and say clearly why you agree or disagree. If you don’t have a blog, email me and I’ll point you in the direction of a nice reseller for Blogware, the software behind this blog, and I daresay the only blogging tool that matters.

Finally, I’d like to raise a filet mignon on a flaming sword to Kathy, for being a good sport and taking it was well as she dished it out. I do this partially because I believe in the spirit of fair play and sportsmanship, and partially because she’s thinking of moving to a condo close to where I live; the last thing I need when I’m busking is another heckler.

Categories
Uncategorized

Blogware and Categories, Part 2

(You might want to read Part 1 if you haven’t read it already.)

Finding categories on a Blogware blog if you’re a human

Navigating through categories

If you’re a human, you would typically find the list of categories for a Blogware blog by looking at the page and keeping an eye for a list called “Categories”, “Topics”, or whatever the blog’s author has decided to call them. The default templates for Blogware blog designs tend to put the list of categories in a sidebar, usually on the left side.

Let’s use Boss Ross’ blog, Random Bytes, as an example. His category list, under the design that’s in use as I write this article, appears in the left sidebar near the top of the page. It looks like this:

Screen capture: Ross' category list.

You select a category by clicking on its name, which takes you to the page for that category. You will then see articles that were classified as being under that category. For example, if you were to visit Ross’ blog and then select the Random Bytes category from his category list by clicking on it, you would see a page filled with articles that fall under that category.

The Random Bytes category contains a set of categories, and these appear in the sidebar:

Screen capture: Ross' further-down category list.

Ross enabled category “bubbling up” (see the last entry on categories for a full explanation), which means that any given category will display articles that have been classified under that category and any of its subcategories. In the case of Ross’ blog, what that means is that if you’re looking at the Random Bytes category, you’re looking at articles that have been filed under the category Random Bytes as well as under its subcategories (Stream of thoughtlessness, Code, Pop Trivia, Blathering, The Changeblog, CycleLog).

Where am I?

As a navigational aid, Blogware blogs default to showing where you are by providing a handy set of category links near the top of each page. In Ross’ blog, these links look like this:

Screen capture: Category navigation aid.

In the example above, the links indicate that you are in the Code category, which is contained within the Random Bytes category, which in turn is contained within the Main Page, the master category that contains all categories.

/You/are/here

Programmers will feel very comfortable with the concept of hierarchical categories, as they’ve been taught to organize things in terms of hierarchies. If you’ve spent any time navigating through the folders or directories in your hard drive or the directories in a web site, you’ll find the hierarchical system of categories familar. Since categories in a blog follow an organizational scheme similar to files and folders on a hard drive or pages on a web site, you might find that some people tend to use the same notation for describing them. For example:

The Code category, which is contained within the Random Bytes category, which is contained within the Main Page category

could be notated as

/Random Bytes/Code

Finding categories on a Blogware blog if you’re a computer

Screen scraping

We humans are very good at abstracting information from the medium used to deliver it. For example, if I were to change the the “look and feel” of my blog — perhaps move my blogroll over to the left side, change the logo, put the byline and posting time at the end of each article rather than at the beginning or switch from the current three-column design to two columns — you’d still be able to be read it because you can abstract that information from the layout. We humans are pretty clever that way.

On the other hand, computers are complete morons. Their strength is that although they can perform only simple tasks, they’re capable of doing them much more than we can.

Let’s first look at “screen scraping”, a term which refers to having a program “look” at the contents of a screen or web page and extract information from it. One of my first attempts are writing programs that made use of information off the Web was something that went to the local weather page, grabbed it contents, extracted the temperature data and then displayed it in a little window. The weather web page that it consulted displayed temperature like this:

Current temperature: 15 C

I wrote my program so that it looked for a block of text that began with “Current temperature:” and ended with “C”. It would grab the text between those two phrases, shave off any leading and trailing spaces, and use whatever was left as the temperature. For the first few weeks, it worked well, displaying a window that loked something like this:

Screen capture: Window of functioning weather program.

(Ignore for the moment that this window looks like one from Windows XP. It was 1997, so imagine that this is a Windows 95 window.)

This worked well, for as long as they didn’t change the phrases that I used as guides to find the temperature data. Of course, this was during that period of time when “web designer” was a hot career and you often saw them drinking Chivas out of glass slippers and lighting cigars with hundred-dollar bills. That meant that the site was redesigned often. One day, a web designer gave the weather page a brand new layout and put the temperature in a table. As far as the program was concerned, the temperature was displayed this way:

<td>Current temperature:</td><td>15 C / 59 F</td>

My program ended up displaying this:

Screen capture: Window of non-functioning weather program.

The problem was that the information on the page was attached to the way it was presented. When the web designer changed the layout of the page, s/he changed the cues that my program used to find the information I wanted — the current temperature. If she’d gone even farther and changed the wording of “Current temperature:” to “The temperature right now is:”, my program would like show either a blank or perhaps crash, depending on how I wrote it.

If the people who ran the weather page could somehow provide the temperature in a standardized form that was somehow removed from all those presentation niceties like “look and feel” and layout, and if they promised to stick to that form, I could then write a program to access that information secure in the knowledge that changes in the layout of the weather page will not “break” my program.

Enter XML

XML is short for eXtensible Markup Language, and its purpose is to mark information so that programs like my weather program can grab that information without having to worry about looking for “cues” or changes in “look and feel”. The wetaher web page could provide an URL that would hold some XML data about the current weather, perhaps something that looked like this:

<temperature>15</temperature>

(This, of course, is an incredibly simplified version of what the weather web page would probably provide.)

If XML looks sort of like HTML, it’s because both have the same parent, SGML (Structured General Markup Language), a system for marking up information. There are a number of “introduction to XML” articles on the web; this one is a pretty gentle introduction.)

RSS

Most blogs and all Blogware blogs have what is called an RSS feed. RSS, depending on whom you ask is short for either Really Simple Syndication or RDF Site Summary, but what both really mean “a standard way for marking up the content of an oft-updated web page like a blog or news site, independently of the presentation”. RSS comes in a few flavours, but it boils down to a way to present the content of a blog in XML form.

Consider the example article below (it’ll make more sense if you’ve seen any one of the Matrix movies):

Screen capture: Blog article.

For each entry, Blogware creates matching RSS data, which a program can read without having to worry about possible changes in the format of the blog. The RSS for the article shown above would look like this:

<item>

  <title>We need a new captain</title>

  <link>http://example.blogware.com/blog/_archives/2003/11/2/5518.html</link>

  <guid>http://example.blogware.com/blog/_archives/2003/11/2/5518.html</guid>

  <pubDate>Sun, 02 Nov 2003 13:40:52 -0500</pubDate>

  <description>Morpheus is really getting on my nerves. <br> <br>

  He has this annoying habit, where we'd be in a meeting going over

  some very crucial detail of the plans, and he'll suddenly break all of

  Robert's Rules of Order and launch into some prophetic monologue

  about Neo (again!) and how he's "The One" (as if the doofus didn't

  already have some kind of messiah complex) and that tonight could

  be "the battle that wins the war against the Matrix".

  That guff got old a long time ago, fatboy. <br> <br>

  And speaking of fat, how'd he get so tubby eating that pink goo

  that they feed us, anyway? It tastes like wallpaper paste.

  I eat only enough to keep the hunger pangs at bay.

  I'll bet the twerp has a secret donut making machine

  stashed away somewhere. I hate him.</description>

  <category domain="http://example.blogware.com/blog">Main Page</category>

  </item>

As I mentioned earlier, all Blogware blogs have RSS feeds. You’ll find the RSS feed for any given Blogware blog at the URL:

http://{blog url}/blog/index.xml

For instance, you’ll find the RSS feed for this blog at http://accordionguy.blogware.com/blog/index.xml. Click on the link; it’ll look much prettier if you’re viewing it in Internet Explorer or any browser that knows how to render XML.

Blogware’s RSS feeds go even farther: there’s a separate RSS feed for each category in a blogware blog — just add index.xml to the end of any category URL to get it. For instance, if you wanted to read the page for my Yeah…Girls…Geez category, you’d either click on the link for it or point your browser to http://accordionguy.blogware.com/blog/Life/Girls/. If you wanted the RSS feed for that category, you’d go to http://accordionguy.blogware.com/blog/Life/Girls/index.xml

With RSS, Blogware provides a way for software to find articles. This is useful for all sorts of applications, such as:

  • Aggregators. Aggregators are essentially programs that gather up blog content from a set of blogs that you specify into one place. If you’re a heavy blog reader or doing research, an aggregator is a time-saver.
  • Services like Technorati. Technorati is one of a new set of blog-realted services appearing on the web. It reads the RSS feeds of over a million blogs and produces reports such as who links to whom, what the most popular stories in the “blogosphere” are, which blogs are the most popular, and so on.
  • Custom applications. With blogs exposing their content in a format that’s relatively easy for computers to understand, there are all kinds of applications that can be built that collect this data and crunch it for all kinds of purposes.

OCS

With a main RSS feed, a program can find the latest articles posted to a Blogware blog. With per-category RSS, a program can drill down further and narrow its information gathering to specific categories within a blog.

The natural question is: how does a program know what categories are in a given Blogware blog?

Unfortunately, the RSS specification does not provide for a way to do this. However, since XML is a language for marking up any kind of information, it’s possible to use it to create a list of categories. We’re also lucky that someone’s already created a specific XML language for marking up content called OCS (Open Content Syndication). I won’t go into detail about it right now, but you can find more information about it here. We use it to list Blogware categories.

Consider the categories in this blog, shown is the diagram below:

As with RSS, each Blogware blog comes with a feed listing all categories. For any Blogware blog, you’ll find it at the URL:

http://{blog url}/blog/ocs.xml

For this blog, you’ll find the category listing at http://accordionguy.blogware.com/blog/ocs.xml.

Here’s the part of the ocs.xml for this blog — this part is the list of all categories. I’ve formatted it a little bit to make it easier to read:


  <directory rdf:about="http://accordionguy.blogware.com/blog">

  <dc:title>The Adventures of Accordion Guy in the 21st Century - RSS Feeds</dc:title>

  <dc:description />

  <channels>

  <rdf:Bag>

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Python" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Gadgets" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Blogosphere" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Internet" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Interface" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/apple" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Wireless" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Ruby" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/OfficeSpace" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/TheOffice" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/HOTELMIT" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Geek/Blogware" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Accordion" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Accordion/KickassKaraoke" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Accordion/KickassKaraoke/20031012" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Announcements" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Girls" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Happened" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Happened/TheBig35" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Happened/Thirtysexy" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Happened/Thirtysexy2" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/HighHorse" />

  <rdf:li

  rdf:resource="http://accordionguy.blogware.com/blog/Life/Toronto" />

  </rdf:Bag>

  </channels>

  </directory>

Immediately following this section is a section in which each channel is listed in a litte more detail. Here’s the information for the main page:

<channel rdf:about="http://accordionguy.blogware.com/blog">

  <dc:title>The Adventures of Accordion Guy in the 21st Century - Main Page</dc:title>

  <dc:description />

  <image />

  <formats>

  <rdf:Alt>

  <rdf:li>

  <rdf:Description rdf:about="http://accordionguy.blogware.com/blog/index.xml">

  <dc:language>en</dc:language>

  <format rdf:resource="http://purl.org/ocs/formats/#rss20" />

  <schedule rdf:resource="http://purl.org/ocs/schedules/#daily" />

  </rdf:Description>

  </rdf:li>

  </rdf:Alt>

  </formats>

  </channel>

Here’s the information for the Geek category:

<channel rdf:about="http://accordionguy.blogware.com/blog/Geek">

  <dc:title>The Adventures of Accordion Guy in the 21st Century - Geek</dc:title>

  <dc:description />

  <image />

  <formats>

  <rdf:Alt>

  <rdf:li>

  <rdf:Description rdf:about="http://accordionguy.blogware.com/blog/Geek/index.xml">

  <dc:language>en</dc:language>

  <format rdf:resource="http://purl.org/ocs/formats/#rss20" />

  <schedule rdf:resource="http://purl.org/ocs/schedules/#daily" />

  </rdf:Description>

  </rdf:li>

  </rdf:Alt>

  </formats>

  </channel>

And here’s the information for the Geek/Python category:

<channel rdf:about="http://accordionguy.blogware.com/blog/Geek/Python">

  <dc:title>The Adventures of Accordion Guy in the 21st Century - Python</dc:title>

  <dc:description />

  <image />

  <formats>

  <rdf:Alt>

  <rdf:li>

  <rdf:Description rdf:about="http://accordionguy.blogware.com/blog/Geek/Python/index.xml">

  <dc:language>en</dc:language>

  <format rdf:resource="http://purl.org/ocs/formats/#rss20" />

  <schedule rdf:resource="http://purl.org/ocs/schedules/#daily" />

  </rdf:Description>

  </rdf:li>

  </rdf:Alt>

  </formats>

  </channel>

Next: Some questions, including issues of compatibility.

Categories
It Happened to Me

And you thought it was windy *outside*!

Updated Thursday, November 13th 2003 at 14:51 EST: The original title was The Return Salvo, but then I thought up a cleverer one.

Kathy “Relapsed Catholic” Shaidle has a hilarious response to my “J. Jonah Jameson” post which in turn was in response to her “What ash-heap of history?” post.

My favourite line:

Anyway: I can now retire from blogging,having been called ‘over the top’ by a guy who sticks giant illegal hot tubs on wheels in his yard.

C’mon. Kathy, you were invited. David, tell her how much fun you had at the party.

Because of that “illegal hot tub”, I effectively employed a ne’er-do-well from Mississauga (without this hot tub business, I’m sure HotTubMobile Neil would be robbing gas stations in Bramalea), a couple of guys at the Upper Canada Brewery, a handful of people at Loblaws, the entire second shift at the Frito-Lay Coporation, Ontario Power Generation, the people who extract and bottle Natural Gas, two police officers, and maybe — I will neither confirm nor deny this — some employee at Zig Zag Inc. I made people happy and I contributed to the economy; what could be more conservative than that? If hot tubs are wrong, I don’t wanna be right!

Thanks, Kathy, and I’ll cobble together a worthy response later, once I’ve gotten some work done.

Categories
It Happened to Me

Photos from last night’s WiFi Meetup

Last night’s WiFi meetup at SpaHa was pretty cool, and Boss Ross got some photos too!

The venue, SpaHa, is two-storey restaurant and lounge that located in the most unlikely-semming place: inside the new graduate residence at the University of Toronto. It’s far too stylish and comfortable to be a campus pub, and the food and drinks are pretty good. They had Stella Artois on tap, and they made a pretty decent burger.

Their WiFi was provided by Spotnik. I didn’t have a Spotnik account, and Spotnik Girl, Accordion City’s local Spotnik marketing person wasn’t around to hand out those free cards that entitled you to one hour of free Spotnik WiFi. I didn’t have any pressing need to get online anyway, as the company was so good.

In attendance were:

We discussed a lot of tech, but managed to get some WiFi talk in too, thanks to Brent Ashley, who reigned supreme with the cool gadgets. He showed us his Zaurus, which had a WiFi card plugged into its PCMCIA adapter, which hangs from a hinge, sort of like the cover to Captain Kirk’s communicator on the old Star Trek. The Zaurus runs Linux, and he had a VNC window showing his home machine’s screen, as well as several terminal windows, one of which was running good old Midnight Commander. His laptop also had WiFi by way of a USB WiFi box not much larger than a box of matches. He got it for CDN$35.

I’d like to send an extra-special thanks to Brent for the birthday present he got me: a “Tank Fighter + Brick Game” handheld toy, which “plays 9999 games”. It would appear that it actually plays ten games, most of which have 100 skill levels (one must have shortchanged, having only 99). However, it does play a very challenging game of Tetris and costs a mere CDN$3. We wondered what kind of processor it held, and how much it would’ve cost back in the good old days when Brent was working at my favourite Queen Street hangout back then, Arkon Electronics, when the RCA 1802 microprocessor sold for a hundred or so dollars. You can see photos of the handheld game at Ross’ blog.

Categories
It Happened to Me

More party photos

My housemate, Paul “Peekabooty” Baranowski, has posted his photos from the party, featuring spanking, general bad behaviour, Deenster getting all Posh Spice, and this gem:

Photo: Joey behind Meryle, as she reveals the string bikini underneath her bathrobe for the first time that evening.

(Yeah, I’ve been getting a lot of email and instant messages about Meryle.)