Epeus' epigone

Edifying exquisite equine entrapments

Wednesday, 7 May 2008

Talking about OpenSocial all over the place

I've been travelling a lot to conferences in recent months, and been interviewed by a lot of different journalists too. Here are a few links to them.
  • Cloud computing with Joyent at Web 2.0(video)
  • Chris Vallance of BBC Pods and Blogs (audio)
  • Jemima Kiss of The Guardian (audio)
  • Data Portability podcast (audio)
  • Kimberley Dykeman of web2.0 TV (video)
  • Christina Warren of Download Squad (video)
  • Caroline McCarthy of CNET (text)

For more in-depth details on OpenSocial, come along to Google I/O on May 28th-29th in San Francisco
Posted by Kevin Marks at 12:26 1 comment:
Labels: google io, OpenSocial, public speaking

Tuesday, 6 May 2008

Portable Apps, not data?

Brad Templeton has a post on Data Hosting not Data Portability that fits in neatly with the VRM proposal I discussed yesterday. In fact, what he describes is a great fit for OpenSocial.

He says:

Your data host’s job is to perform actions on your data. Rather than giving copies of your data out to a thousand companies (the Facebook and Data Portability approach) you host the data and perform actions on it, programmed by those companies who are developing useful social applications.

Which is exactly what an OpenSocial container does - mediate access to personal and friend data for 3rd party applications.

This environment has complete access to the data, and can do anything with it that you want to authorize. The developers provide little applets which run on your data host and provide the functionality. Inside the virtual machine is a Capability-based security environment which precisely controls what the applets can see and do with it.

This maps exactly on to Caja, the capability-based Javascript security model that is being used in OpenSocial.

Your database would store your own personal data, and the data your connections have decided to reveal to you. In addition, you would subscribe to a feed of changes from all friends on their data. This allows applications that just run on your immediate social network to run entirely in the data hosting server.

Again, a good match for OpenSocial's Activity Streams (and don't forget persistent app data on the server).

Currently, everybody is copying your data, just as a matter of course. That’s the default. They would have to work very hard not to keep a copy. In the data hosting model, they would have to work extra hard, and maliciously, and in violation of contract, to make a copy of your data. Changing it from implicit to overt act can make all the difference.

The situation is worse than that; asking people for their logins to other sites is widespread and dangerous. I'd hope Brad would support OAuth as a step along the way to his more secure model - especially combined with the REST APIs that are part of OpenSocial 0.8

If you're interested in these aspects of OpenSocial, do join in the linked mailing lists, and come along to the OpenSocial Summit on May 14th (just down the road from IIW).

Posted by Kevin Marks at 02:30 1 comment:
Labels: Caja, Capability-based security, Data portability, Identity, IIW, OAuth, OpenSocial, VRM

Monday, 5 May 2008

Mixing degrees of publicness in HTTP

At the Data Sharing Workshop the other day, we had a discussion about how to combine OAuth and Feeds, which I was reminded of by Tim Bray's discussion of Adriana and Alec's VRM proposal today.
The session was tersely summarized here, but let me recap the problem.

When you are browsing the web, you often encounter pages that show different things depending on who you are, such as blog, wikis, webmail or even banking sites. They do this by getting you to log in, and then using a client-side cookie to save you the bother of doing that every time. When you want to give a site access to another one's data (for example when letting Flickr check your Google Contacts for friends), you need to give it a URL to look things up at.

The easy case is public data - then the site can just fetch it, or use a service that caches public data from several places, like the Social Graph API. This is like a normal webpage, which is the same for everyone, returning a HTTP 200 response with the data.

The other common case is where the data is private. OAuth is a great way for you to delegate access to a web service for someone else, which is done by returning an HTTP 401 response with a WWW-Authenticate: OAuth header showing that authentication is needed. If the fetching site sends a valid Authorization header, it can have access to the data.

The tricky case is where there is useful data that can be returned to anyone with a 200, but additional information could be supplied to a caller with authentication (think of this like the social network case, where friends get to see your home phone number and address, but strangers just get your hometown). In this case, returning a 401 would be incorrect,as there is useful data there.

What struck me was that in this case, the server could return a 200, but include a WWW-Authenticate: OAuth header to indicate that more information is available if you authenticate correctly. This seems the minimal change that could support this duality, and much easier than requiring and signalling separate authenticated and unauthenticated endpoints through a HTML-level discovery model, or, worse, adding a new response to HTTP. What I'd like to know from people with deeper HTTP experience than me is whether this is viable, and is it likely to be benign for existing clients — will they choke on a 200 with a WWW-Authenticate header?

HTTP does have a 203 response meaning Non-Authoritative Data, but I suspect returning that is more likely to have side effects.

Posted by Kevin Marks at 15:26 1 comment:
Labels: feeds, http, OAuth, public, VRM

Tuesday, 29 April 2008

Digital publics, Conversations and Twitter

Last week, I left the Web 2.0 conference to listen to Mimi Ito, danah boyd and their colleagues talk about their research on Digital Publics.

Now if you haven't been paying attention, that plural of 'public' there may throw you. Surely things are either 'public' or 'private'? As danah explains:

Just as context is destabilized through networked publics, so is the meaning of public and private. What I learned from talked to teens is that they are living in a world where things are "public by default, private when necessary." Teens see public acts amongst peers as being key to status. Writing a public message to someone on their wall is a way of validating them amongst their peers. Likewise, teens make choices to go private to avoid humiliating one of their friends.

Yet, their idea of public is not about all people across all space and all time. They want publics of peers, not publics where creeps and parents lurk.

Bly Lauritano-Werner (17, Maine):

My mom always uses the excuse about the internet being 'public' when she defends herself. It's not like I do anything to be ashamed of, but a girl needs her privacy. I do online journals so I can communicate with my friends. Not so my mother could catch up on the latest gossip of my life.

Properties of technology have complicated what it means to be in public. We are all used to being in publics that don't include all people across all space and all time. Many of us grew up gossiping with friends out in public and stopping the moment that an adult walks over. This isn't possible when things are persistent. And it's really hard to be public to all peers and just keep certain people out. So teens are learning how to negotiate a world where the very meaning of public and private have changed. Again, this is a good thing. They're going to need these skills in the future.

The day before, at Web2Open, I had heard something similar in the Troll Whispering session. Christy Canida explained that when someone posts something trollish or otherwise dubious on her site, they get put in a state where only they can see their posts, but no-one else can (except Christy and the other conversation monitors). This damps down the flame responses until Christy and co have time to review, and maybe release them, but in their view the post is on the site, but no-one is responding.

This varying view of the web, depending on who you are, seems odd at first, but it is in fact a recognition in code of what actually exists in human attention. We don't all read the same web, we see our own reflections in what we seek through searches or filtered by our homophily-led reading.

Which is where Twitter comes in. Like Jeff, I've been twittering more than blogging recently, and while immediacy is part of it, a far stronger thing is that I have a sense of public there - a public of people I choose to follow and who chose to follow me. Everyone who uses Twitter sees a different, semi-overlapping public, which maps closer to our individual idea of the digital public we are speaking to, and listening to; one that maps more closely what the socialogist and theorists have been describing for a while.

Posted by Kevin Marks at 02:13 10 comments:
Labels: Christy Canida, danah boyd, Mimi Ito, public, Social Cloud, Twitter

Wednesday, 16 April 2008

Comcast's Bialystock and Bloom Business Model?

Tomorrow, the FCC is holding a public hearing at Stanford on Broadband network management practices. With striking timing, Comcast today managed to announce a 'Internet Bill of Rights' without inviting any users, and simultaneously cut off Dave Winer's net connection for exceeding their secret usage limits. I can't link to Comcast's policy because their website mungs the text in via javascript - here's what they say:
Excessive use means data usage that is not characteristic of a typical residential user of the service as determined by Comcast.[...]Comcast currently identifies well less than 1% of Comcast High-Speed Internet customers as excessive users each month. [...]Many excessive users consume more data than a business-class T1 line running at full capacity in a month. [T1 is 1.5 Mbit/sec - Comcast claims to offer 12 Mbit/sec for PowerBoost, and 6/8 Mbit/sec standard] [...] Currently, each month Comcast identifies the top bandwidth users of its High-Speed Internet service by determining aggregate data usage across its entire customer base nationwide.

What they are saying is that they use a crude averaging model, and penalize you if you don't fit, for example by using the connection capacity they promise more than 10% of the time. Now, this could be called Procrustean, but it reminds me of The Producers, where Bialystock and Bloom sold a hundred people 10% shares of the show, assuming it would fail. Sadly for Comcast, people like Dave are finding new uses for the net's bandwidth, and not just checking email sporadically any more.

Conventional internet service user models are based on users downloading more then they upload, from common big media sites that can be easily cached. However, as Odlyzko pointed out, citing Lesk's now decade-old work, the dominant form of data creation is photographs. Now all these photographs are actually digital, and we want to share them so others can see them. Because we aren't allowed to run our own servers by the likes of Comcast, we have to upload them to Flickr or Photobucket or Picasa to share them. This gives us an 'upload more than you download' network flow, as we send them up at full multi-megapixel resolution, but browse a few of each others' at thumbnail or reduced size. And that's before we even consider video uploading (which I've noticed Comcast throttles at 0.4 Mbit/sec for me).

Comcast hit the news before by sabotaging Bittorrent transfers by faking reset packets, but what Bittorrent is really doing is arbitraging around the asymmetric network bandwidth delivered by these outdated user models.

Bob Briscoe recently wrote an interesting proposal on handling congestion by TCP signalling to reveal the costs of congestion. This was spun by George Ou as an attack on P2P protocols, but the underlying principle of penalising those who cause congestion is an interesting one. The question I'd like answered is that if I have a gigabit network at home, and the internet backbone is multi-terabit, when Comcast throttles my uploads to 400 kilobits, aren't they the ones causing the congestion?

Posted by Kevin Marks at 23:02 1 comment:
Labels: Bittorrent, bndwidth, Comcast, FCC, internet, net neutrality

Tuesday, 19 February 2008

Be Organic, not Viral

I just got back from the VLAB Multi-platform Social Networking event, which I thought was very interesting overall. Jeremiah Owyang did a great moderating job, and Jia Shen, Sourabh Niyogi, Ken Gullicksen and Steve Cohen brought lots of different viewpoints to the discussion. Growing and deriving value from Apps within Social Networks is still full of lots of unknowns, but it was good to hear some basic shared principles come through - my summary of one point was 'before you think about a Business Model, make sure you have a Pleasure Model'.

Another point well made by Steve Cohen of Bebo was something I've been thinking for a while too - the hunger for 'Viral' growth is a mistake - what you really need is 'Organic' growth. Just as we distinguish between Organic search results and bought or spammed ones, social network sites and their users are distinguishing between the viral apps that are essentially parasitic, using their hosts as a means to their propagation, and the ones that organically become part of the social ecology, making both the site and the users richer by their presence.
I spent the last weekend fighting off a flu virus, partly by eating lots of organic fruit. I expect social networks and their users will continue to do the same.

Posted by Kevin Marks at 22:44 3 comments:
Labels: OpenSocial, organic, social networks, viral, viral marketing, vlabfeb08

Monday, 11 February 2008

The Social Cloud

My talk from LIFT is here for you to watch below (20mins, needs flash):


The others are up at the LIFT Video site
Posted by Kevin Marks at 05:11 3 comments:
Labels: Kevin Marks, Lift, OpenSocial, Social Cloud, Social Graph, social networks

Thursday, 7 February 2008

LIFT Conference starts


Geneva Sunrise
Originally uploaded by Kevin Marks
I'm in Geneva for the LIFT conference, watching Bruce Sterling riff on Carla Sarkozy as a black swan. The photo is what the sunrise looked like over the Alps at breakfast.
Posted by Kevin Marks at 00:33 No comments:

Saturday, 26 January 2008

Sheet music redux

I've long been involved with amateur theater and music performance (my boys are performing in a Schumann recital tomorrow with the rest of their piano teacher's pupils), and I grew up seeing double bass cases plastered with Musicians' Union "Keep Music Live" stickers around the place, but I always thought this was a luddite rearguard action against the tide of recorded media that began flowing about a century ago.
But this week, the news was that Rock Band  had sold 2.5 million downloaded songs for you to play along with (it comes with 58). 
Having researched this thoroughly with my boys, the fun of this game is more in the playing than the listening — the 'guitar' playing is clearly simplified, though the drumming is pretty close to reality, and the less said about my 'singing' the better.
Looking at this in the longer view, it can be seen as the return of sheet music in a new form; before recordings took over, sheet music sold for amateur performers was the dominant form. Here's Douglas Adams again:
during this century we have for the first time been dominated by non-interactive forms of entertainment: cinema, radio, recorded music and television. Before they came along all entertainment was interactive: theatre, music, sport – the performers and audience were there together, and even a respectfully silent audience exerted a powerful shaping presence on the unfolding of whatever drama they were there for. We didn’t need a special word for interactivity in the same way that we don’t (yet) need a special word for people with only one head.

I expect that history will show ‘normal’ mainstream twentieth century media to be the aberration in all this. ‘Please, miss, you mean they could only just sit there and watch? They couldn’t do anything? Didn’t everybody feel terribly isolated or alienated or ignored?’

‘Yes, child, that’s why they all went mad. Before the Restoration.’

‘What was the Restoration again, please, miss?’

‘The end of the twentieth century, child. When we started to get interactivity back.’
Posted by Kevin Marks at 01:43 No comments:
Labels: music, org-cbde, rock band, sheet music

Friday, 18 January 2008

Fear of the new - the Internet, Tea, and MapReduce

Sir Richard Dearlove, former head of MI6 said:

“Al-Qa’eda has prospered and as it were regrouped largely because of the energy and effort it has put into its propaganda, largely through the internet.”

Sir Richard added that the internet had become the main channel for “radicalisation” and coordination between al-Qa’eda cells. He said: “In dealing with this problem, there is no alternative to imposing significant controls over the internet.”


This is what I call the "cup of tea" problem, after Douglas Adams:

Newsreaders still feel it is worth a special and rather worrying mention if, for instance, a crime was planned by people 'over the Internet.' They don't bother to mention when criminals use the telephone or the M4, or discuss their dastardly plans 'over a cup of tea,' though each of these was new and controversial in their day.

Some people have been surprised that tea was controversial, but William Cobbett's 1822 'The evils of tea (and the virtues of beer)' had this to say:

It must be evident to everyone, that the practice of tea drinking, must rended the frame feeble and unfit to encounter hard labour or severe weather, while, as I have shown, it deducts from the means of replenishing the belly and covering the back. Hence, succeeds a softness, an effeminacy, a seeking for the fireside, a lurking in the bed, and in short, all the characteristics of idleness, for which, in this case, real want of strength furnishes an apology. The tea drinking fills the public-houses, makes the frequenting of it habitual, corrupts boys as soon they are able to move from home, and does little less for the girls, to whom the gossip of the tea-table is no bad preparatory school for the brothel. At the very least, it teaches them idleness.

Which brings me to the attack on MapReduce today, which spectacularly misses the point by attacking a programming technique for not being a database and contains the striking line:

Given the experimental evaluations to date, we have serious doubts about how well MapReduce applications can scale.

(MapReduce is what Google uses to run complex data-manipulation problems on lots of computers in parallel to do things that databases fail at, like building an index for all the webpages it has found, or rendering map tiles for everywhere on earth in Google maps).
Posted by Kevin Marks at 12:20 18 comments:
Labels: Luddism, MapReduce, MI6, Paradigm shift, shock of the new

Wednesday, 9 January 2008

OpenSocial Hackathon next week in SF

OpenSocial Hackathon hosted by Six Apart


Wednesday, January 16, 2008 4:00 PM - 11:00 PM
Six Apart 548 4th St,San Francisco, California

Find out the latest news about OpenSocial's 0.6 release and what Shindig and Cajoling can do for your next web application
Work with developers of OpenSocial Social Networks to get your applications up and running.
What to bring:
  • Your laptop
  • Your web application code or your social networking idea

What we provide:
  • Wifi and power
  • Help getting into OpenSocial 0.6 sandboxe
  • Developers from at least Google, MySpace, Hi5, Plaxo, and Six Apart
  • and don't forget pizza!

Hosted at Six Apart's 4th street offices, it's a short walk from Caltrain and indeed the Macworld Expo.
Six Apart's post
RSVP at Upcoming
Posted by Kevin Marks at 00:59 No comments:
Labels: code, event, hackathon, OpenSocial

Monday, 7 January 2008

Identity Theft is not a crime

Fraud however, is.

Jeremy Clarkson scoffed at the UK Government data leak debacle, and published his bank details in The Sun:

"All you'll be able to do with them is put money into my account. Not take it out. Honestly, I've never known such a palaver about nothing," he told readers.

But he was proved wrong, as the 47-year-old wrote in his Sunday Times column.

"I opened my bank statement this morning to find out that someone has set up a direct debit which automatically takes £500 from my account," he said.

"The bank cannot find out who did this because of the Data Protection Act and they cannot stop it from happening again.

"I was wrong and I have been punished for my mistake."

Police were called in to search for the two discs, which contained the entire database of child benefit claimants and apparently got lost in the post in October 2007.

They were posted from HM Revenue and Customs offices in Tyne and Wear, but never turned up at their destination - the National Audit Office.

The loss, which led to an apology from Prime Minister Gordon Brown, created fears of identity fraud.

Clarkson now says of the case: "Contrary to what I said at the time, we must go after the idiots who lost the discs and stick cocktail sticks in their eyes until they beg for mercy."

I'm amazed that the normally combative Clarkson has accepted this feeble excuse from his bank, when they have just handed out a huge sum of his money to someone else against his wishes, revealing that they are failing in their primary purpose of keeping money safely.

That their security process can fail spectacularly in this way, enabling fraudsters to siphon off money, is sadly all too common.

What is notable is that the banks have spent enormous sums of money promoting the concept of 'identity theft' through clever TV adverts, diverting their customers' attention from their security cock-ups, despite the fact that they are liable for the fraudulently dispersed funds. I don't understand why the banks continue to use "mothers maiden name" as default password, and enable debits this way, then hide behind data protection legislation when their error is pointed out. Clarkson should be railing at the idiots at his bank, too.

Update:

Thanks to Kerry Buckley in the comments for this excellent comedy sketch that sums it up perfectly:
Posted by Kevin Marks at 23:47 4 comments:
Labels: banks, data leaks, fraud, identity theft

Thursday, 3 January 2008

memes, dreams and themes

Cameo pointed me at this dada album cover meme today:
  1. The first article title on the Wikipedia Random Articles page is the name of your band.

  2. The last four words of the very last quotation on the Random Quotations page is the title of your album.

  3. The third picture in Flickr's Interesting Photos From The Last 7 Days will be your album cover.

  4. Use your graphics programme of choice to throw them together, and post the result.

I got the following via this flickr image (which I hope counts as fair use - Suw uses CC images instead)

album_meme

I just found out via Twitter that my colleague from (mumble mumble) years ago, Nikki Barton, has a blog; she's wise - read her.

Rosie asked me "Was there a Solar eclipse in Yorkshire in 1967?" - the answer was No, but I found this great NASA site, which reminded me of my Astronomy tutor at Cambridge from 1987, who at the time had booked a hotel in Cornwall for the 1999 total eclipse (I hope the clouds lifted for him). I'm re-reading Neal Stephenson's Baroque Cycle at the moment, so I am tickled that I can look up an astronomical ephemeris this easily.

Finally, the Edge question this year is What have you changed your mind about? - a lot of food for thought there.

Posted by Kevin Marks at 23:30 No comments:
Labels: album cover, change, design, eclipse, meme, mind

Wednesday, 2 January 2008

URLs are people too

There is an assumption buried in the collective mind of developers that is hard to remove, and it is that people are best represented by email addresses. Go to almost any website to sign-up, and you are prompted for an email address and password. Signing up usually involves digging out the site's reply from your spam folder and clicking on a link to get confirmed, then giving it a password. Sometimes you get to pick a username too, from whatever stock of namespace is left at the site.


Elizabeth Churchill and Ben Gross looked into this and found out that people find it easier to remember passwords than usernames, because they use the same passwords everywhere, and they end up with multiple different email accounts to handle the problem of having handed them to to all these sites and getting spammed by them.


Meanwhile, over here in the blog world, we've been using blog URLs to refer to people for years, and social network sites have proliferated URLs that are people. I have several that refer to me, my events, my music, my twitters and my photographs linked from the sidebar here. We even have XFN's rel="me" to connect them together, and OpenID to allow them to be used as logins elsewhere, instead of emails.


The underlying thing that is wrong with an email address is that it's affordance is backwards - it enables people who have it to send things to you, but there's no reliable way to know that a message is from you. Conversely, URLs have the opposite default affordance- people can go look at them and see what you have said about yourself, and computers can go and visit them and discover other ways to interact with what you have published, or ask you permission for more.


So, developers, remember that URLs are people too.


Update: This tension between email-as-identifier and email-as-way-to-be-spammed is what makes Scoble's attempt to extract 5,000 people's emails from Facebook for his own use less defensible than it appears at first. Dare Obasanjo recognises the tensions, but strangely dismisses the OpenSocial attempt to abstract out this kind of data into a common API.

Posted by Kevin Marks at 23:22 3 comments:
Labels: affordance, blogging, email, microformats, OpenID, URLs, xfn

Tuesday, 1 January 2008

Tardy blogging

Between Twitter and my Reader shared items, my blogging impulses have been diverted elsewhere recently; I'll try to rectify this in the new year by writing here more often, but do follow those two links if you want to hear more of my brief observations and recent reading respectively.
Posted by Kevin Marks at 23:58 1 comment:
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

This is my personal blog. Any views you read here are mine, and not my employers'.

Atom Feed

Support the Open Rights Group
My photoKevin Marks Me on Twitter
Me on G+

People's thoughts I read:

Daily

Rosie
San Jose Young People's Theatre
Dave Weinberger
Doc Searls
Gonzo Engaged
AKMA
Cory & friends
Denise Howell
Charles Wiltgen
Shelley Powers
James Lileks
Suw Charman
Halley Suitt

Weekly

Andrew Marks
Blogsisters
Arts & Letters Daily
Bricklin, Frankston & Reed
Steve Yost
Jeneane Sessum
Brian Micklethwait et al
Tom Matrullo
Gary Turner

Sporadically

Small Pieces
Stuart Cheshire
RageBoy
Nonzero
Neil Gaiman
Thomas Vincent
Brad deLong
Andrew Odlyzko
ProSUA

No to Mickey Mouse Computers

powered by blogger

Blog Archive

  • ▼  2023 (1)
    • ▼  September (1)
      • Plus Theory
  • ►  2017 (2)
    • ►  May (1)
    • ►  April (1)
  • ►  2015 (7)
    • ►  November (2)
    • ►  May (3)
    • ►  April (1)
    • ►  January (1)
  • ►  2014 (3)
    • ►  October (1)
    • ►  April (2)
  • ►  2013 (5)
    • ►  June (1)
    • ►  May (1)
    • ►  April (2)
    • ►  March (1)
  • ►  2012 (8)
    • ►  December (1)
    • ►  May (1)
    • ►  April (1)
    • ►  March (1)
    • ►  January (4)
  • ►  2011 (11)
    • ►  December (1)
    • ►  November (1)
    • ►  September (2)
    • ►  August (2)
    • ►  July (1)
    • ►  April (2)
    • ►  January (2)
  • ►  2010 (16)
    • ►  November (1)
    • ►  October (1)
    • ►  September (3)
    • ►  June (1)
    • ►  May (2)
    • ►  April (2)
    • ►  March (2)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (22)
    • ►  November (2)
    • ►  October (2)
    • ►  September (2)
    • ►  August (3)
    • ►  July (2)
    • ►  June (2)
    • ►  May (2)
    • ►  April (1)
    • ►  February (2)
    • ►  January (4)
  • ►  2008 (29)
    • ►  December (2)
    • ►  November (3)
    • ►  August (1)
    • ►  July (3)
    • ►  June (3)
    • ►  May (5)
    • ►  April (2)
    • ►  February (3)
    • ►  January (7)
  • ►  2007 (45)
    • ►  November (3)
    • ►  October (4)
    • ►  September (4)
    • ►  August (10)
    • ►  July (3)
    • ►  June (8)
    • ►  April (2)
    • ►  March (6)
    • ►  February (3)
    • ►  January (2)
  • ►  2006 (119)
    • ►  December (13)
    • ►  November (8)
    • ►  October (16)
    • ►  September (10)
    • ►  August (3)
    • ►  July (6)
    • ►  June (24)
    • ►  May (3)
    • ►  April (10)
    • ►  March (7)
    • ►  February (8)
    • ►  January (11)
  • ►  2005 (101)
    • ►  December (10)
    • ►  November (13)
    • ►  October (9)
    • ►  September (8)
    • ►  August (7)
    • ►  July (7)
    • ►  June (8)
    • ►  May (12)
    • ►  April (7)
    • ►  March (6)
    • ►  February (1)
    • ►  January (13)
  • ►  2004 (53)
    • ►  December (8)
    • ►  November (5)
    • ►  October (6)
    • ►  September (7)
    • ►  July (5)
    • ►  June (3)
    • ►  May (2)
    • ►  March (3)
    • ►  February (7)
    • ►  January (7)
  • ►  2003 (196)
    • ►  December (12)
    • ►  November (14)
    • ►  October (21)
    • ►  September (23)
    • ►  August (19)
    • ►  July (11)
    • ►  June (14)
    • ►  May (9)
    • ►  April (22)
    • ►  March (20)
    • ►  February (16)
    • ►  January (15)
  • ►  2002 (224)
    • ►  December (15)
    • ►  November (21)
    • ►  October (22)
    • ►  September (12)
    • ►  August (11)
    • ►  July (28)
    • ►  June (19)
    • ►  May (29)
    • ►  April (18)
    • ►  March (19)
    • ►  February (16)
    • ►  January (14)
  • ►  2001 (13)
    • ►  December (2)
    • ►  November (11)

Contributors

  • Kevin Marks
  • Kevin marks