IRC Log for #openid on 2008-02-27
Timestamps are in UTC.
- [00:26:10] * SignpostMarv (n=Signpost@82-71-31-169.dsl.in-addr.zen.co.uk) has joined #openid
- [00:34:06] * charlenopires (n=charleno@189.12.204.223) has joined #openid
- [00:42:36] * shigeta (n=shigeta@124.32.114.226) has joined #openid
- [00:42:51] * forsaken (n=eric@c-71-62-234-185.hsd1.va.comcast.net) has joined #openid
- [01:21:37] * forsaken (n=eric@c-71-62-234-185.hsd1.va.comcast.net) Quit (Remote closed the connection)
- [01:28:52] * forsaken (n=eric@c-71-62-234-185.hsd1.va.comcast.net) has joined #openid
- [01:29:03] * SignpostMarv (n=Signpost@82-71-31-169.dsl.in-addr.zen.co.uk) Quit ("Leaving")
- [02:01:57] * TedThibodeauJr (n=Thud@c-76-119-195-179.hsd1.ma.comcast.net) has joined #openid
- [02:38:11] * ulinskie (n=yolynne@124.104.65.2) has joined #openid
- [02:42:58] * jcollie_ (n=jcollie@dsl-ppp239.isunet.net) has joined #openid
- [03:19:49] * PibbRelay (n=supybot@nat/janrain/x-53bab1fd8741b3fa) Quit (Remote closed the connection)
- [03:20:52] * PibbRelay (n=supybot@nat/janrain/x-17b898cc684b89ab) has joined #openid
- [03:21:01] * ulinskie (n=yolynne@124.104.65.2) Quit (Remote closed the connection)
- [03:22:20] * stub (n=stub@ppp-58-8-13-228.revip2.asianet.co.th) has joined #openid
- [03:25:27] * Navarr (n=navarr@adsl-75-53-193-248.dsl.hstntx.sbcglobal.net) Quit ("Yeah.. I'll see ya around...")
- [03:38:56] * stub (n=stub@canonical/launchpad/stub) Quit ("Leaving.")
- [03:39:06] * stub (n=stub@ppp-58-8-13-228.revip2.asianet.co.th) has joined #openid
- [03:59:15] * charlenopires (n=charleno@189.12.204.223) Quit ("To Saindo")
- [04:35:45] * ViperMaul^ (n=ViperMau@c-71-227-178-114.hsd1.wa.comcast.net) Quit (Read error: 110 (Connection timed out))
- [04:42:12] * shigeta_ (n=shigeta@124.32.114.226) has joined #openid
- [04:45:51] * shigeta__ (n=shigeta@124.32.114.226) has joined #openid
- [04:46:27] * shiget___ (n=shigeta@124.32.114.226) has joined #openid
- [04:53:52] * CGamesPlay is now known as `a
- [04:54:01] * `a is now known as CGamesPlay
- [04:56:16] * shigeta (n=shigeta@124.32.114.226) Quit (Read error: 110 (Connection timed out))
- [05:03:55] * shigeta_ (n=shigeta@124.32.114.226) Quit (Read error: 110 (Connection timed out))
- [05:04:40] * shigeta__ (n=shigeta@124.32.114.226) Quit (Read error: 110 (Connection timed out))
- [05:06:40] * shigeta (n=shigeta@124.32.114.226) has joined #openid
- [05:10:31] * shigeta_ (n=shigeta@124.32.114.226) has joined #openid
- [05:23:26] * shiget___ (n=shigeta@124.32.114.226) Quit (Read error: 110 (Connection timed out))
- [05:25:54] * shigeta (n=shigeta@124.32.114.226) Quit (Connection timed out)
- [05:36:46] * terrell (n=trel1023@cpe-071-065-202-118.nc.res.rr.com) Quit (Remote closed the connection)
- [06:15:22] * priidu_ (n=aa@sa-84-52-20-77.saturn.infonet.ee) has joined #openid
- [06:19:02] * shigeta (n=shigeta@124.32.114.226) has joined #openid
- [06:25:58] * lopnor (n=lopnor@nat.soffritto.org) Quit (Read error: 110 (Connection timed out))
- [06:35:59] * shigeta_ (n=shigeta@124.32.114.226) Quit (Read error: 110 (Connection timed out))
- [07:19:17] * polyonymous (n=hacker@pD953A4F5.dip0.t-ipconnect.de) Quit (Read error: 110 (Connection timed out))
- [07:22:13] * polyonymous (n=hacker@pD953ACF3.dip0.t-ipconnect.de) has joined #openid
- [07:29:31] * a9913 (n=a9913@unaffiliated/a9913) has joined #openid
- [07:46:23] * ViperMaul (n=ViperMau@c-71-227-178-114.hsd1.wa.comcast.net) has joined #OpenID
- [07:48:48] * stub (n=stub@canonical/launchpad/stub) Quit (Read error: 104 (Connection reset by peer))
- [07:49:05] * stub (n=stub@canonical/launchpad/stub) has joined #openid
- [08:04:28] * ViperMaul (n=ViperMau@c-71-227-178-114.hsd1.wa.comcast.net) Quit ()
- [08:19:54] * a9913 (n=a9913@unaffiliated/a9913) Quit ("Leaving")
- [09:12:02] * priidu_ (n=aa@sa-84-52-20-77.saturn.infonet.ee) Quit (Remote closed the connection)
- [09:31:12] * priidu_ (n=aa@sa-84-52-20-77.saturn.infonet.ee) has joined #openid
- [09:58:41] * priidu_ (n=aa@sa-84-52-20-77.saturn.infonet.ee) Quit (Remote closed the connection)
- [10:43:41] * Makenshi- (n=chaz@pix.vendia-kollegiet.dk) has joined #openid
- [10:51:02] * Makenshi (n=chaz@pix.vendia-kollegiet.dk) Quit (Read error: 60 (Operation timed out))
- [10:51:02] * Makenshi- is now known as Makenshi
- [11:01:56] * salty-horse (n=ori@pdpc/supporter/active/salty-horse) has joined #openid
- [11:02:13] <salty-horse>
hi. any python-openid developer around?
- [11:55:02] * shigeta (n=shigeta@124.32.114.226) Quit ("Leaving...")
- [12:29:41] * MrTopf (i=hidden-u@oecher.info) has joined #openid
- [12:54:56] * jcollie_ (n=jcollie@dsl-ppp239.isunet.net) Quit ("Ex-Chat")
- [13:20:47] * jcollie (n=jcollie@161.210.6.44) Quit ("Ex-Chat")
- [13:23:18] * TedThibodeauJr (n=Thud@c-76-119-195-179.hsd1.ma.comcast.net) Quit ()
- [13:30:30] * jcollie (n=jcollie@161.210.6.44) has joined #openid
- [13:50:01] * idnar (i=mithrand@unaffiliated/idnar) Quit (Read error: 110 (Connection timed out))
- [13:52:43] * idnar (i=mithrand@unaffiliated/idnar) has joined #openid
- [14:15:25] * TedThibodeauJr (n=Thud@ws2.openlinksw.com) has joined #openid
- [14:40:59] <johill>
can anybody remind me of an openid test service?
- [14:40:59] * Plouj (n=Plouj@red.cs.yorku.ca) has left #openid
- [14:48:04] * stub (n=stub@canonical/launchpad/stub) Quit ("Leaving.")
- [14:59:15] * a9913 (n=a9913@unaffiliated/a9913) has joined #openid
- [15:12:54] * priidu_ (n=aa@sa-84-52-20-77.saturn.infonet.ee) has joined #openid
- [15:15:10] * lopnor (n=lopnor@nat.soffritto.org) has joined #openid
- [15:28:16] <polyonymous>
johill, 2.0?
- [15:47:10] * a9913 (n=a9913@unaffiliated/a9913) Quit ("Leaving")
- [15:55:59] <johill>
polyonymous: preferably
- [15:56:27] <polyonymous>
johill, no idea. I only know http://openidenabled.com/resources/openid-test/diagnose-server - which is 1.0 iirc.
- [15:56:56] <polyonymous>
uhmm.. that is, if you want to test OP
- [15:58:54] <johill>
ok, thanks
- [16:01:24] <keturn>
johill: the only thing I know of for 2.0 is http://code.google.com/p/openid-test/ , and I'm not sure if that's a thing that works yet
- [16:01:54] <johill>
ok. doesn't really matter I guess since I just use pyopenid :)
- [16:02:04] <johill>
keturn: just committed the provider code to MoinMoin 1.7
- [16:02:12] <polyonymous>
Back when I looked at it, I didn't really figure out how to approach the thing :)
- [16:03:08] <keturn>
polyonymous: yeah, I had that problem too. maybe if I sit down and work through the TestSpec on the wiki there it might start to make sense.
- [16:03:32] <johill>
heh
- [16:03:37] <johill>
I'm not motivated enough for that right now
- [16:03:46] <polyonymous>
keturn, that's true. It's just that I believe both of us lack motivation ;)
- [16:03:53] <polyonymous>
ah, that makes three of us.
- [16:33:30] * forsaken (n=eric@c-71-62-234-185.hsd1.va.comcast.net) Quit (Connection timed out)
- [16:34:54] * priidu_ (n=aa@sa-84-52-20-77.saturn.infonet.ee) Quit (Remote closed the connection)
- [17:59:19] * pvandewyngaerde (n=pvandewy@74.102-245-81.adsl-dyn.isp.belgacom.be) has joined #openid
- [18:52:06] * pvandewyngaerde (n=pvandewy@74.102-245-81.adsl-dyn.isp.belgacom.be) Quit (Remote closed the connection)
- [19:11:29] * michelp (n=michelp@69-30-72-119.dq1sf.easystreet.com) Quit (Read error: 104 (Connection reset by peer))
- [19:11:54] * michelp (n=michelp@69-30-72-119.dq1sf.easystreet.com) has joined #openid
- [19:53:55] * priidu (n=aa@sa-84-52-20-77.saturn.infonet.ee) has joined #openid
- [20:21:55] * priidu__ (n=aa@sa-84-52-30-233.saturn.infonet.ee) has joined #openid
- [20:30:59] * salty-horse (n=ori@pdpc/supporter/active/salty-horse) Quit ("Leaving")
- [20:38:46] * priidu (n=aa@sa-84-52-20-77.saturn.infonet.ee) Quit (Read error: 110 (Connection timed out))
- [21:01:22] * benj3one (n=ben@adsl-75-41-185-190.dsl.spfdmo.sbcglobal.net) has joined #openid
- [21:15:11] * priidu__ (n=aa@sa-84-52-30-233.saturn.infonet.ee) Quit (Read error: 110 (Connection timed out))
- [21:35:57] * dominiek (n=dodo@194.145.194.227) Quit (Remote closed the connection)
- [21:40:40] * michelp_ (n=michelp@69-30-72-119.dq1sf.easystreet.com) has joined #openid
- [21:43:02] * michelp (n=michelp@69-30-72-119.dq1sf.easystreet.com) Quit ("Ex-Chat")
- [21:43:07] * michelp_ is now known as michelp
- [21:57:36] * chuck (i=charlie@wikimedia/cmelbye) has joined #openid
- [21:57:46] <chuck>
hi, why do i get this error:
- [21:57:53] <chuck>
Fatal error: Failed to initialize OpenID file store in /tmp/_php_consumer_test in /usr/share/php/Auth/OpenID/FileStore.php on line 73
- [21:58:41] * TedThibodeauJr (n=Thud@ws2.openlinksw.com) Quit ()
- [22:01:32] * acemtp (n=Miranda@log78-1-82-242-47-3.fbx.proxad.net) has joined #openid
- [22:01:37] <acemtp>
hi openiders
- [22:03:00] <CGamesPlay>
anyone have any word on http://trac.openidenabled.com/trac/ticket/130 ?
- [22:03:45] <chuck>
anyone know my error?
- [22:04:05] <CGamesPlay>
chuck: couldn't create /tmp/_php_consumer_test
- [22:04:17] <acemtp>
is it possible to translate myopenid. the french translation is an horror
- [22:04:44] <CGamesPlay>
acemtp: you mean myopenid.com?
- [22:04:50] <acemtp>
correct
- [22:05:06] <CGamesPlay>
k. not in ym control, just curious :)
- [22:05:08] <CGamesPlay>
my*
- [22:05:09] <acemtp>
i imagine it s not the good channel
- [22:05:21] <acemtp>
it s seems the be an openid general chat
- [22:05:37] <CGamesPlay>
you may want to email JanRain
- [22:06:30] <CGamesPlay>
https://www.myopenid.com/feedback
- [22:06:30] <acemtp>
just wonder, which provider do you use?
- [22:06:47] <CGamesPlay>
myopenid
- [22:07:22] <chuck>
CGamesPlay: i'm aware, what can i do to fix the error though is what i meant
- [22:07:34] <CGamesPlay>
chuck: delete /tmp/_php_consumer_test...
- [22:07:57] <chuck>
hmm wtf
- [22:07:58] <CGamesPlay>
ensure safe_mode is off
- [22:08:08] <CGamesPlay>
or... that /tmp has the correct perms
- [22:08:11] <chuck>
i get a permission denied when i do touch /tmp/_php_consumer_test
- [22:08:16] <chuck>
but i can ls /tmp and stuff
- [22:08:18] <CGamesPlay>
probably because you don't own i
- [22:08:30] <CGamesPlay>
ls -ld /tmp/_php_consumer*
- [22:09:03] <chuck>
oh i see, i already tested the script as a different user and i was looking for a file in /tmp
- [22:09:09] <CGamesPlay>
yeah
- [22:09:17] <CGamesPlay>
deleting it will fix though
- [22:15:19] * jcollie (n=jcollie@161.210.6.44) Quit ("Ex-Chat")
- [22:20:06] <chuck>
JanRain's openid server is failing
- [22:20:24] <acemtp>
chuck: why?
- [22:20:35] <chuck>
acemtp: Fatal error: Call to a member function needsSigning() on a non-object in /usr/share/php/Auth/OpenID/Server.php on line 1458
- [22:20:41] <acemtp>
:/
- [22:26:24] * VxJasonxV (n=jason@xmms2/troll/VxJasonxV) Quit (Remote closed the connection)
- [22:30:32] <chuck>
acemtp: do you know why it does that
- [22:30:59] <acemtp>
absolutly no idea
- [22:41:13] * TedThibodeauJr (n=Thud@c-76-119-195-179.hsd1.ma.comcast.net) has joined #openid
- [22:41:13] <jibot>
TedThibodeauJr is a Technology Evangelist from http://www.openlinksw.com/ and a Troublemaker from Way Back
- [22:43:07] <_keturn>
acemtp: myOpenID translations are mostly user provided. See http://janrain.com/translate/
- [22:43:41] <acemtp>
okay
- [22:54:02] <acemtp>
_keturn: i sent a request
- [22:59:51] * acemtp (n=Miranda@log78-1-82-242-47-3.fbx.proxad.net) Quit ("http://www.mtp-target.org")
- [23:09:59] * tav (n=tav@client-86-26-201-51.winn.adsl.virgin.net) has joined #openid
- [23:09:59] <jibot>
tav is from london, uk and can be found at plex:tav
- [23:10:39] * tav waves to GabeW, idnar, MrTopf and SteveA
- [23:10:55] <MrTopf>
Hey tav
- [23:11:04] <tav>
how goes?
- [23:11:21] <MrTopf>
tired.. ;-)
- [23:11:26] <MrTopf>
0:11 and still in the office
- [23:11:26] <idnar>
o hi
- [23:11:32] <MrTopf>
thanks to some client updates..
- [23:11:39] <MrTopf>
how are you?
- [23:12:06] <tav>
ouch.
- [23:12:29] <tav>
not bad -- down by the seaside, but still in front of a computer ;p
- [23:12:39] <MrTopf>
heh :)
- [23:12:53] <MrTopf>
well, I am not for much longer anyway, finally leaving very soon :)
- [23:12:58] <tav>
woo!
- [23:13:27] <tav>
was expecting this channel to be far busier
- [23:15:48] <tav>
trying to figure out whether to support XRIs on the application layer
- [23:16:05] <tav>
for a very basic definition of support ;p
- [23:16:28] <tav>
do openid users actually use xri identifiers ?
- [23:18:54] <polyonymous>
some of them do.
- [23:20:59] <tav>
hmz
- [23:21:39] <polyonymous>
and my guess is that xris are going to get popular.
- [23:23:42] <MrTopf>
good night! :-)
- [23:23:53] * MrTopf (i=hidden-u@oecher.info) Quit ()
- [23:25:43] <tav>
hmz, gonna have to rethink providing urls of the form: /profile/tav.myopenid.com (where the last bit after / is the openid identifier with the leading http:// stripped out) -- supporting xris means having to put lots of encoded '/' in, which looks ugly
- [23:26:12] <polyonymous>
why?
- [23:26:28] <polyonymous>
urls may be ugly as well
- [23:26:49] <polyonymous>
I think it's just fine to have /profile/=iname
- [23:26:55] <tav>
isn't /profile/http%3A%2F%2Ftav.myopenid.com a tad ugly ?
- [23:27:06] <polyonymous>
why http?
- [23:27:22] <polyonymous>
you can keep stripping http off.
- [23:27:33] <polyonymous>
But how would you distinguish between http and https then?
- [23:27:39] <tav>
hmz, maybe i misunderstood xris -- how would i distinguish ?
- [23:27:51] <tav>
you make a good point
- [23:28:01] <polyonymous>
OpenID specs section 7.2, (2)
- [23:28:20] <polyonymous>
('=','@','+','$','!') iirc.
- [23:28:33] <polyonymous>
and, perhaps, '('.
- [23:28:46] <polyonymous>
But https dilemma is worse.
- [23:28:59] <polyonymous>
BTW, why can't you /profile/http:// ?
- [23:29:24] <polyonymous>
you don't have to encode it.
- [23:30:05] <tav>
ah, i saw the wikipedia article and saw: xri://broadview.library.example.com/(urn:isbn:0-395-36341-1) and assumed that they could begin with more than just those characters?
- [23:30:54] <polyonymous>
I dunno if it's a valid xri identifier, but it's definitely not suitable for openid according to openid specs.
- [23:31:48] <polyonymous>
for what I can tell by briefly looking at xri specs, it's not a valid xri at all.
- [23:31:53] <tav>
ah, the encoding is needed, because wanting pretty urls for other parts of the application i use '/' as a delimiter for passing in further positional arguments, thus '/' has to be encoded within each "part"
- [23:32:00] <tav>
thanks polyonymous! that solves it =)
- [23:32:41] <polyonymous>
but if you're not going to add additional parameter to /profile/ component, you can work around it...
- [23:32:52] <polyonymous>
you still have http(s) problem, remember? :)
- [23:33:10] * tav pouts
- [23:33:17] <tav>
if i ignore a problem it won't go away? ;p
- [23:33:32] <polyonymous>
depends on how long are you going to ignore it.
- [23:33:39] <polyonymous>
for a short while it may go away ;-)
- [23:33:54] <polyonymous>
(I'm wrong, the above xri is valid, but not for openid)
- [23:35:56] <tav>
hmz, how about if i were to treat http and https identifiers as the same -- meaning a user cannot login using the same identifier with different protocols ?
- [23:36:29] <polyonymous>
in theory, these are different identifiers that may belong to different users.
- [23:36:58] <tav>
true, but how likely is that to happen?
- [23:37:21] <polyonymous>
in practice, it is very likely that myopenid.com will complain if they once log in with http and then can't use https :)
- [23:37:32] <polyonymous>
or vice versa :)
- [23:38:05] <polyonymous>
It depends on your userbase. And, of course, it's very unlikely that users will have the same host with different schemata :)
- [23:38:06] <tav>
but, if that part is stripped -- then why does it matter?
- [23:38:40] <tav>
e.g. i log on for the first time with https://tav.myopenid.com -- then later with just http -- the system still treats me as 'tav.myopenid.com'
- [23:39:26] <polyonymous>
ah. are you going to require that openids that differ only in schema part has to belong to the same user?
- [23:39:33] <tav>
yes
- [23:39:46] <polyonymous>
That is likely to work.
- [23:40:22] <polyonymous>
but if you really want to support openid, nowadays you should also think of yahoo openids...
- [23:40:31] <tav>
i have =(
- [23:40:35] <tav>
me.yahoo.com/hfoeahaeoieohfoaiae
- [23:40:36] <tav>
=)
- [23:40:40] <polyonymous>
yup :)
- [23:40:59] <polyonymous>
and worse - me.yahoo.com/hf952hpfhp829h52#3k54h9854--
- [23:41:00] <polyonymous>
:)
- [23:41:07] <polyonymous>
note the fragment part.
- [23:41:17] <tav>
ehm, there's a fragment part ?
- [23:41:32] <polyonymous>
here is my openid reply: claimed_id=https://me.yahoo.com/a/.IcSe7sTrdE8crbFiJ7GS0f57X.1Je3r6A--#b31d0
- [23:41:32] <polyonymous>
identity=https://me.yahoo.com/a/.IcSe7sTrdE8crbFiJ7GS0f57X.1Je3r6A--
- [23:41:34] <tav>
wtf?
- [23:42:01] <polyonymous>
the fragment part is for identifier reuse, in case someone takes ownership of the same URL.
- [23:42:25] <polyonymous>
but I can hardly imaging someone taking ownership of a/.IcSe7sTrdE8crbFiJ7GS0f57X.1Je3r6A-- url :)
- [23:42:47] <tav>
heh
- [23:42:48] <polyonymous>
so what is the idea behind yahoo's fragments I don't know :)
- [23:45:20] <tav>
so, in short, it's going to look ugly like hell =)
- [23:45:26] * tav cries
- [23:45:34] <tav>
why can't they make it pretty mama?
- [23:45:37] <polyonymous>
well, there's nothing you can do to prettify yahoo urls :)
- [23:45:45] <johnjay>
polyonymous: yes you can...
- [23:45:47] <polyonymous>
why you can get pretty urls from yahoo.
- [23:45:59] <johnjay>
There is a customization option at the provisioning stage
- [23:46:02] <polyonymous>
johnjay, on yahoo site, not once you get the ugly one.
- [23:46:11] <polyonymous>
s/site/side/
- [23:46:27] <johnjay>
polyonymous: this is not correct, if you click on on the OpenID Home link in the header it will give you the option to.
- [23:46:59] <polyonymous>
johnjay, I mean as an RP, once you get the ugly url.
- [23:48:06] <johnjay>
polyonymous: sorry I'm not following you, all I know is that it is possible to "prettify" your OpenID identifier with yahoo
- [23:48:40] <polyonymous>
johnjay, the tav's problem is displaying pretty urls for openid identifiers of users. So, it's beyond his control what identity user supplies.
- [23:48:40] <tav>
wow
- [23:49:15] <polyonymous>
but well, the user may choose to use his dynamic dialup hostname as an identity ;-))
- [23:49:19] <tav>
polyonymous: johnjay is right -- if you goto openid.yahoo.com, you get a "hidden" option to choose a me.yahoo.com/tav identity
- [23:49:52] <polyonymous>
tav, I know that. But we're talking about RP, not openid users.
- [23:50:44] <polyonymous>
and, btw, you get the fragment part with pretty url as well :)
- [23:51:19] <tav>
no fucking way
- [23:51:20] <tav>
gah!
- [23:51:32] <polyonymous>
it even makes sense for pretty ones :)
- [23:53:13] <tav>
hmz, perhaps i should just map identifier -> uuid and be done with it
- [23:53:31] <polyonymous>
always the possibility. or sha256 of identity ;-)
- [23:54:14] <polyonymous>
(this way you can generate url for identity, without your tables)
- [23:54:33] <tav>
hmz, good point
- [23:54:47] <tav>
wanna check me out? goto: /profile/ca0e914d700673e621f706d85f1d13edcd21bec0e8fdae14872c1b057e3ef62e !
- [23:55:14] <polyonymous>
how about using base64? it will shorten the url :)
- [23:56:57] <tav>
hmz, it has chars like '+/', no? ;p
- [23:57:05] <tav>
even with base32: /profile/ZIHJCTLQAZZ6MIPXA3MF6HIT5XGSDPWA5D624FEHFQNQK7R66YXA
- [23:57:05] <polyonymous>
no
- [23:57:19] <polyonymous>
base64 has '='
- [23:57:21] <tav>
those can be replaced with other chars?
- [23:57:39] <polyonymous>
but '=' is not a slash, you can keep it.
- [23:58:15] <polyonymous>
I think '=' can be safely stripped too
- [23:58:50] <polyonymous>
you only get '=' at the end, you can work around it.
- [23:58:54] <tav>
ah
- [23:58:55] <tav>
--
- [23:58:58] <tav>
For this reason, a modified Base64 for URL variant exists, where no padding '=' will be used, and the '+' and '/' characters of standard Base64 are respectively replaced by '-' and '_'
- [23:58:58] <tav>
-
- [23:59:10] <polyonymous>
aha
- [23:59:15] <polyonymous>
sounds good
These logs were automatically created by OpenIDlogbot on
chat.freenode.net
using a modified version of the Java IRC LogBot.