=== ursula is now known as Ursinha | ||
=== Ursinha is now known as Ursinha-afk | ||
=== Ursinha-afk is now known as Ursinha-nsakf | ||
=== Ursinha-nsakf is now known as Ursinha-nsafk | ||
=== Ursinha-nsafk is now known as Ursinha-afk | ||
=== gmb-sprinting is now known as gmb | ||
=== Ursinha-afk is now known as Ursinha | ||
barry | #startmeeting | 14:00 |
---|---|---|
MootBot | Meeting started at 09:00. The chair is barry. | 14:00 |
MootBot | Commands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE] | 14:00 |
barry | hello and welcome to this week's ameu reviewers meeting. who's here today? | 14:00 |
flacoste | me | 14:00 |
sinzui | me | 14:00 |
vednis | me | 14:00 |
vednis | gah | 14:01 |
=== vednis is now known as mars | ||
mars | me | 14:01 |
bac | me | 14:01 |
salgado | me | 14:01 |
mars | so, the team on sprint is all here | 14:01 |
barry | [TOPIC] agenda | 14:02 |
MootBot | New Topic: agenda | 14:02 |
barry | == Agenda == | 14:02 |
barry | * Roll call | 14:02 |
barry | * barry to miss the next two weeks | 14:02 |
barry | * plurals, curtis | 14:02 |
barry | * Peanut gallery (anything not on the agenda) | 14:02 |
barry | * Action items | 14:02 |
barry | * Mentoring update | 14:02 |
barry | [TOPIC] * barry to miss the next two weeks | 14:02 |
MootBot | New Topic: * barry to miss the next two weeks | 14:02 |
EdwinGrubbs | me | 14:02 |
barry | so, i'll be at pycon the next two weeks and won't be able to meet. does someone want to take over chair duties for the next two weeks or should we bag the meeting? | 14:03 |
* barry can guess based on today's stellar attendance :) | 14:03 | |
barry | i guess i'll send a message to the ml and we can just meet up again in 3 weeks | 14:04 |
=== mrevell_ is now known as mrevell | ||
barry | [TOPIC] * plurals, curtis | 14:04 |
MootBot | New Topic: * plurals, curtis | 14:04 |
barry | sinzui: do you want to take this one? | 14:04 |
bigjools | me | 14:04 |
sinzui | I have struggled without how to write code in a clean and consisent fashion to handle cases where the page will say 1 member or 2 members. | 14:05 |
gmb | barry: Bugs team is sprinting this week, so BjornT, intellectronica, allenap, adeuring and I won't be here... | 14:05 |
barry | gmb: thanks | 14:06 |
=== gmb is now known as gmb-not-here-no- | ||
sinzui | I once used ngettext, but I was told to remove it | 14:06 |
sinzui | should we have a tale formatter to handle this in the template? | 14:06 |
bigjools | how would it handle irregular plurals? | 14:06 |
sinzui | view/count/fmt:singular/member/members | 14:06 |
mars | sinzui, probably | 14:07 |
bac | what is the rationale for not using ngettext? | 14:07 |
mars | sinzui, since every other web framework has said formatter, we may take that as a hint ;) | 14:07 |
sinzui | bigjools: I do not know | 14:07 |
bigjools | sinzui: you answered me already with your example, you just provide the alternative. np. | 14:07 |
barry | does zpt (or whatever sidnei is experimenting with) support this? | 14:07 |
sinzui | TALES i18n does not support ngettext either :( | 14:08 |
barry | flacoste: what do you think? | 14:08 |
flacoste | well | 14:08 |
flacoste | i think ngetttext is the way to go | 14:09 |
flacoste | but | 14:09 |
flacoste | curtis' suggestion is a good worst-solution | 14:09 |
flacoste | why can't we use ngetttext? | 14:09 |
* sinzui nods | 14:09 | |
flacoste | hmm, i wish gary was here | 14:09 |
sinzui | I don't recall the reason I was told to remove it | 14:09 |
sinzui | danilos: was kind enough to tell me to use it | 14:10 |
gary_poster | me, sorry | 14:10 |
sinzui | My concern is that we void this situation my writing mediocre text like members: 1 | 14:10 |
barry | gary_poster: hi. we're asking about plural forms and ngettext in templates | 14:10 |
flacoste | gary_poster: we are discussing how to do plurals | 14:10 |
sinzui | s/void/avoid/ | 14:10 |
flacoste | gary_poster: zope.i18n doesn't have any support for it i htink | 14:11 |
danilos | if are ever going to do proper i18n, we'd have to extend zope.i18n | 14:11 |
gary_poster | barry, flacoste: ok, thanks. no support for plurals? that's surprising | 14:11 |
danilos | if we are not interested in l10n as well, coming up with a simpler alternative might do the trick | 14:11 |
barry | gary_poster: sinzui suggested a formater, e.g. view/count/fmt:singular/member/members | 14:12 |
flacoste | barry: the problem with that is that it hurs i18n | 14:12 |
barry | flacoste: agreed! | 14:12 |
flacoste | barry: since that only supports english | 14:12 |
gary_poster | I'd want to go to the author (Stephan Richter, IIRC) and verify before going too far; I'd also strongly believe that Zope would be very interested in this if we were working on it | 14:12 |
barry | flacoste: i'd much rather use the zopey way if there is one | 14:12 |
barry | gary_poster: could you ping stephan and see what he recommends? | 14:13 |
gary_poster | I know of a zopey way for i18n collation...but don't know anything about plurals | 14:13 |
gary_poster | barry: yes will do | 14:13 |
danilos | everybody should note that ngettext-style depends on an argument (a number) being passed, so that's likely going to live in the view anyway | 14:13 |
barry | gary_poster: awesome, thanks | 14:13 |
flacoste | yes | 14:14 |
danilos | if it's going to be in the template, it's going to be pretty awkward I assume | 14:14 |
barry | [ACTION] gary_poster to check w/stephan richter about the best way to do plurals | 14:14 |
MootBot | ACTION received: gary_poster to check w/stephan richter about the best way to do plurals | 14:14 |
flacoste | danilos: zope.i18n isn't about templates | 14:14 |
flacoste | danilos: tales uses zope.i18n for tempalte tranlsation | 14:14 |
danilos | flacoste: right, but people are mostly interested in how it can be applied in templates, if I am not mistaken | 14:14 |
flacoste | danilos: i think view/templates | 14:15 |
flacoste | danilos: you can't format a message like that in templates | 14:15 |
flacoste | since grammar might have to change also | 14:15 |
gary_poster | yes | 14:15 |
danilos | flacoste: you certainly can, but TAL would not really work too well with it | 14:15 |
flacoste | agreed | 14:15 |
gary_poster | danilos: have you seen a solution in another template language that works well? | 14:16 |
danilos | gary_poster: work well, plenty, look good, none :) | 14:16 |
gary_poster | s/language/system or whatever/ | 14:16 |
* barry wants to ask if there are any template languages that actually do i18n well ;) | 14:16 | |
gary_poster | danilos: heh :-) | 14:16 |
gary_poster | :-) | 14:16 |
danilos | I've usually had to extend systems with my own formatters (did that ages ago for smarty and cheetahtemplates) | 14:17 |
barry | okay cool. gary_poster thanks for looking into that for us | 14:17 |
gary_poster | barry: sure, np. | 14:17 |
barry | [TOPIC] * Peanut gallery (anything not on the agenda) | 14:17 |
MootBot | New Topic: * Peanut gallery (anything not on the agenda) | 14:17 |
barry | does anybody have anything not already on the agenda? | 14:18 |
barry | phew | 14:18 |
barry | [TOPIC] action items | 14:18 |
MootBot | New Topic: action items | 14:18 |
barry | * gary_poster to add `getStore()` as an alias for `_get_store()` | 14:19 |
gary_poster | that was locally, which I did | 14:19 |
gary_poster | (or at least that's how I interpreted it ;-) ) | 14:19 |
barry | gary_poster: you landed that in a branch already, right? | 14:19 |
gary_poster | yeah | 14:19 |
barry | gary_poster: awesome, thanks | 14:19 |
gary_poster | cool, np | 14:19 |
barry | * gary_poster will check to see if there's a bug open for adding a hook to `bzr send`, and submit one if there isn't | 14:19 |
gary_poster | nope :-( | 14:19 |
barry | np | 14:20 |
barry | * flacoste to look into storm/sqlobject result set compatibility | 14:20 |
barry | * flacoste to work on API reviewer cheat sheet | 14:20 |
flacoste | hmm | 14:20 |
barry | flacoste: r.u.hoover? | 14:20 |
flacoste | yeah | 14:20 |
flacoste | but i think allenap solved the first one | 14:20 |
flacoste | iirc | 14:20 |
allenap | flacoste: It should be in, or nearly merged into storm trunk. It should be an easy backport to our storm branch. | 14:21 |
allenap | flacoste: Yes, it is merged into storm trunk. | 14:23 |
sinzui | are we here? | 14:24 |
bac | yes we are | 14:24 |
sinzui | barry is gone? | 14:24 |
barry_ | i'm back i guess | 14:25 |
barry_ | flacoste: keep these items or drop 'em? | 14:25 |
flacoste | barry: keep the hoover one | 14:25 |
barry_ | you got it | 14:25 |
flacoste | allenap: should we drop the other one? | 14:25 |
allenap | flacoste: I don't follow... | 14:26 |
flacoste | allenap: storm result set compatibility | 14:26 |
allenap | I think we should have a new task to backport that change into the LP storm branch. | 14:26 |
allenap | I'll do that next week. | 14:27 |
barry_ | allenap, flacoste cool, let's keep this on the agenda then | 14:27 |
flacoste | shouldn't we jsut try pdating storm? | 14:27 |
flacoste | i think jtv was also interested in changes on trunk | 14:27 |
allenap | I tried that once and there was lots of breakage, and I didn't have the fu to understand and fix. | 14:27 |
allenap | But we should do it. The longer we leave it, the greater the breakage. | 14:28 |
barry_ | bigjools: i have your branch to review, thaks for working on those helper functions | 14:29 |
bigjools | no worries | 14:29 |
bigjools | it wasn't too hard | 14:29 |
barry_ | [TOPIC] mentoring updates | 14:29 |
barry_ | anything here? | 14:29 |
barry_ | well, i think we're done | 14:30 |
barry_ | #endmeeting | 14:30 |
barry_ | thanks everyone (except you mootbot) | 14:30 |
gary_poster | :-) Thanks barry | 14:30 |
=== salgado is now known as salgado-lunch | ||
=== salgado-lunch is now known as salgado | ||
=== thumper_laptop is now known as thumper | ||
=== thumper_laptop is now known as thumper | ||
=== salgado is now known as salgado-afk | ||
=== gmb-not-here-no- is now known as gmb | ||
jml | rock. rock. rock. rock. rock. | 22:24 |
mwhudson | soil? | 22:28 |
jml | Ha | 22:30 |
jml | Are we having a meeting? | 22:30 |
thumper | here | 22:31 |
thumper | paper? | 22:31 |
barry | #startmeeting | 22:32 |
MootBot | barry, There is already a meeting in progress. | 22:32 |
jml | tee hee | 22:32 |
barry | thank you mootbot | 22:32 |
barry | /msg mootbot shut up | 22:32 |
barry | okay okay, so... welcome to this week's asiapac reviewers meeting. who's here today? | 22:33 |
jml | I am. | 22:33 |
barry | jml: hi! | 22:33 |
mwhudson | i am too | 22:33 |
thumper | me | 22:33 |
barry | [TOPIC] agenda | 22:33 |
MootBot | New Topic: agenda | 22:33 |
thumper | although I have about 13 minutes | 22:33 |
barry | * Roll call | 22:34 |
barry | * barry to miss the next two weeks | 22:34 |
barry | * plurals, curtis | 22:34 |
barry | * Peanut gallery (anything not on the agenda) | 22:34 |
barry | * Action items | 22:34 |
barry | * Mentoring update | 22:34 |
barry | [TOPIC] * barry to miss the next two weeks | 22:34 |
MootBot | New Topic: * barry to miss the next two weeks | 22:34 |
mwhudson | the one it two weeks time is pycon, right? | 22:34 |
barry | so i'll be gone for the next two meetings. it sounded like ameu didn't want to meet while i'm gone. what say you? | 22:34 |
jml | probably not. | 22:34 |
jml | the main benefit of this meeting is connecting with AMEU. | 22:34 |
barry | mwhudson: actually next week i'll be at pycon too | 22:35 |
mwhudson | right | 22:35 |
mwhudson | oh right | 22:35 |
mwhudson | i won't quite have left in 7 days time | 22:35 |
mwhudson | i leave in about 7.25 days i guess :) | 22:35 |
barry | :) | 22:35 |
mwhudson | anyway, no meetings for two weeks, ok, next | 22:35 |
barry | [TOPIC] * plurals, curtis | 22:35 |
MootBot | New Topic: * plurals, curtis | 22:35 |
barry | so in ameu sinzui brought up the problem of plural forms in zpts | 22:36 |
barry | which really aren't supported well | 22:36 |
mwhudson | ugh yes | 22:36 |
barry | after the meeting we discussed alternatives with gary (who did some research) | 22:36 |
barry | and sinzui proposed something like... | 22:36 |
barry | view/count/fmt:singular/message/messages | 22:37 |
barry | which we all kind of thought was okay | 22:37 |
barry | done. any thoughts? | 22:37 |
jml | umm | 22:38 |
thumper | ick | 22:38 |
mwhudson | so fmt:singular adapts integers? | 22:38 |
jml | barry: I'd like to see a complete example, I think. | 22:38 |
* barry delurks sinzui | 22:38 | |
thumper | I've used a plural helper in the view code | 22:38 |
jml | (because I have questions like mwhudson's) | 22:38 |
thumper | I don't like the idea of a tal formatter | 22:38 |
mwhudson | fmt:singular is a pretty crummy name | 22:38 |
sinzui | It's the same nasty for of ngettext(n, singular, plural) | 22:38 |
sinzui | it will not be pretty in templates | 22:39 |
sinzui | It may help us to avoid writing mediorce phrases like | 22:39 |
sinzui | proposed member: 1 | 22:39 |
* thumper abstains | 22:39 | |
jml | sinzui: so what is 'message' in that example? | 22:39 |
sinzui | fmt:singular/member/members | 22:40 |
sinzui | It does not help anyone that the 'member' text is move into a tag | 22:40 |
* jml feels a bit dense | 22:41 | |
thumper | sinzui: what about fmt:singular/approved branch/approved branches/ | 22:41 |
mwhudson | tal needs a switch construct | 22:41 |
thumper | do spaces kill it? | 22:41 |
sinzui | thumper: I would *love* that, but path adapters do not alolow spaces | 22:41 |
barry | s/approved// | 22:41 |
barry | well, we all agree it's not great, but there are limited options | 22:42 |
thumper | barry: I'm sure there are cases where we want two words | 22:42 |
thumper | approved in the tal wouldn't be translated | 22:42 |
jml | sinzui: so <p>You have <tal:flibble tal:replace="view/count/fmt:singular/flibble/flibbles"/></p> | 22:42 |
jml | ? | 22:42 |
sinzui | yes | 22:42 |
* thumper really has to run soon | 22:42 | |
barry | thumper: a quick skip ahead to action items then... | 22:43 |
* mwhudson finds where he wrote "job<tal:s condition="python: job_count != 1">s</tal:s>" | 22:43 | |
barry | * thumper to open bug on `webservice` pagetests globs problem | 22:43 |
barry | mwhudson: ug, i'm not sure that's better :/ | 22:43 |
jml | anyway | 22:43 |
mwhudson | it's not | 22:43 |
* thumper tries to remember what it was | 22:43 | |
thumper | havent' filed one | 22:43 |
mwhudson | thumper: salgado is an admin | 22:44 |
thumper | was it that they are all salgado? | 22:44 |
mwhudson | in the sample data | 22:44 |
thumper | right | 22:44 |
thumper | not done | 22:44 |
barry | thumper: keep on the agenda or not's all i care about <wink> | 22:44 |
thumper | keep | 22:44 |
barry | thumper: got it | 22:44 |
barry | thx | 22:44 |
barry | anyway, just to close the loop on the plurals thing: if you guys have better ideas, please email the list. nobody especially happy about the tal formatter, but we don't have better ideas | 22:45 |
jml | ok. | 22:45 |
mwhudson | has an email been sent to the list yet? | 22:45 |
barry | mwhudson: i don't think so. i /think/ it was discussed in a review | 22:46 |
mwhudson | ok | 22:46 |
jml | it would be good if someone sent an email, I think. | 22:46 |
* barry hopes sinzui will email about it | 22:46 | |
mwhudson | maybe we can trick sinzui into writing a mail | 22:46 |
barry | :) | 22:46 |
barry | mwhudson: i'll slip something into his coffee tomorrow morning | 22:46 |
barry | anyway... | 22:46 |
mwhudson | ok | 22:46 |
barry | [TOPIC] * Peanut gallery (anything not on the agenda) | 22:46 |
MootBot | New Topic: * Peanut gallery (anything not on the agenda) | 22:46 |
barry | do you guys have anything not on the agenda today? | 22:47 |
jml | I have some things | 22:47 |
jml | * assertFoo vs failUnlessFoo | 22:47 |
jml | * messages in assertions & TestStyleGuide | 22:47 |
jml | * super vs upcalling | 22:47 |
* thumper leaves | 22:47 | |
barry | jml: floor is yours | 22:47 |
jml | These all came up in reviews. | 22:47 |
barry | thumper: bye | 22:47 |
thumper | jml: I'll talk to you later about these | 22:47 |
jml | thumper: ok. | 22:47 |
jml | grepping shows assertFoo is currently preferred to failUnlessFoo. | 22:47 |
jml | I think we should lean that way. | 22:47 |
barry | jml: lean toward assertFoo? | 22:48 |
jml | barry: yeah. no need to use the failUnless methods at all, I reckon. | 22:48 |
barry | jml: very occasionally i find failUnless reads better, but generally i agree | 22:48 |
jml | cool. | 22:49 |
mwhudson | yes | 22:49 |
jml | apparently the TestStyleGuide recommends using messages in assertions | 22:49 |
mwhudson | sometimes i feel failFoo reads better for guard assertions | 22:49 |
barry | [ACTION] barry will add the preference for assertFoo to the TSG | 22:49 |
MootBot | ACTION received: barry will add the preference for assertFoo to the TSG | 22:49 |
barry | mwhudson: agreed. it shouldn't be a hard and fast rule, but a strong preference | 22:50 |
jml | to do this properly with the default TestCase, you need to do your own string substitution of values. | 22:50 |
barry | all else being equal | 22:50 |
jml | barry: +1 | 22:50 |
mwhudson | jml: yeah, think often messages are superfluous | 22:50 |
mwhudson | barry: +1 | 22:50 |
jml | superfluous and paradoxically confusing | 22:50 |
jml | I had a whole bunch of really useful arguments for this that I wielded in a review. | 22:50 |
jml | oh. | 22:50 |
barry | jml: i *really* like (informative) assert messages | 22:50 |
jml | barry: but wait, there's more :) | 22:50 |
jml | barry: I changed the default implementation of assertEqual in our base TestCase class (canonical.launchpad.testing.TestCase -- you're all using that, right?) | 22:51 |
mwhudson | given that we have tracebacks and assertFoo methods that produce reasonable messages on their own.... | 22:51 |
jml | mwhudson: exactly | 22:51 |
jml | mwhudson: a message is often a cheap substitute for a domain-specific assert method. | 22:51 |
jml | anyway | 22:51 |
jml | the default implementation now includes the message *and* the two compared values, pretty printed, in the exception | 22:52 |
jml | just like bzrlib. | 22:52 |
barry | jml: wait. you're not talking about assert statements! | 22:52 |
jml | barry: no, not assert statements, assertions in tests. | 22:52 |
jml | barry: sorry for the confusion. | 22:53 |
barry | jml: ah. i think i'm starting to agree with you then :) | 22:53 |
jml | anyway. | 22:53 |
mwhudson | (we shouldn't write assert statements, probably, a different bikeshed though) | 22:53 |
jml | basically, the TSG should be updated to say a) we use *our* base TestCase, b) you don't need to provide a third parameter to assertEqual | 22:54 |
barry | jml: +1 | 22:54 |
mwhudson | jml: +1 | 22:54 |
jml | and the final thing is upcalling vs super. | 22:54 |
barry | jml: though i think we very often /don't/ use our TestCase :( | 22:55 |
jml | barry: TestCaseWithFactory is more commonly used, and it's a subclass. | 22:55 |
barry | [ACTION] barry to update TSG to state we should use our TestCase base and not use 3rd args to assertFoo() | 22:55 |
MootBot | ACTION received: barry to update TSG to state we should use our TestCase base and not use 3rd args to assertFoo() | 22:55 |
jml | barry: my secret squirrel plan is to add testtools to rf deps and then make that the base of our base :) | 22:55 |
barry | jml: jfdi | 22:55 |
jml | need to RT & all that. | 22:56 |
jml | (which reminds me, can you please merge testtools into python trunk pls?) | 22:56 |
* barry coughs: zc.buildout | 22:56 | |
jml | anyway, upcalls | 22:56 |
jml | personally, I think they are clearer. also, mostly in tests & Twisted-using code, you are forced to use them. | 22:56 |
barry | jml: i recall a long discussion with SteveA about this and that z3 basically requires you to super() | 22:57 |
jml | barry: and Twisted requires you to upcall :) | 22:57 |
barry | jml: there's no "up" in "super" | 22:57 |
barry | oh wait | 22:58 |
jml | barry: I haven't seen any subclassing APIs in z3 | 22:58 |
mwhudson | jml: look at the request code sometime :) | 22:58 |
jml | as in z3 things you need to subclass to work. | 22:58 |
jml | mwhudson: I use my third eye for that stuff :) | 22:58 |
jml | almost everything in Launchpad isn't the request code though. | 22:59 |
barry | jml: how often does twisted and zope intersect? | 22:59 |
jml | anyway, I suggest that the review attitude to upcall vs super be, officially, "chill Winston". | 22:59 |
jml | barry: mostly in tests. | 22:59 |
jml | (where you have to upcall because most of the base classes are old-style) | 23:00 |
mwhudson | jml: heh | 23:00 |
barry | jml: yeah. old-styles /have/ to upcall | 23:00 |
jml | barry: there's a lot of old-style code out there | 23:00 |
barry | jml: 'cept all our own classes are always new-style | 23:00 |
jml | Twisted, for one, hasn't switched because it *changes the API of the class* | 23:00 |
jml | barry: I have a Python riddle | 23:01 |
jml | class A | 23:01 |
jml | is oldstyle | 23:01 |
* barry only does haikus | 23:01 | |
jml | __metaclass__ = type | 23:01 |
jml | class B(A): | 23:01 |
jml | class B is _____? | 23:01 |
jml | newstyle/ | 23:02 |
jml | should it upcall or use super? | 23:02 |
jml | class C(B): | 23:02 |
jml | should it upcall or use super? | 23:02 |
jml | (Python is the ideal teaching language) | 23:02 |
mwhudson | jml: B is oldstyle | 23:03 |
mwhudson | jml: none of our exceptions would work if this wasn't true :) | 23:03 |
barry | it has to be because new style classes can't have only classic class bases | 23:03 |
jml | oh of course :) | 23:03 |
barry | so it has to upcall | 23:04 |
jml | anyway, I renew my request to relax the review attitude toward upcalling. :) | 23:04 |
barry | jml: so basically your suggestion is to chillax and let the dev do what they want? | 23:04 |
jml | barry: yes. | 23:04 |
jml | barry: as long as it works. | 23:04 |
mwhudson | +1 | 23:04 |
barry | i'm okay with that | 23:04 |
jml | barry: cool. | 23:05 |
jml | that's all I have to say :) | 23:05 |
jml | [] | 23:05 |
barry | jml: great, thanks! | 23:05 |
jml | barry: np. | 23:05 |
barry | i have nothing else for today. how 'bout you? | 23:05 |
jml | not I. | 23:06 |
mwhudson | barry: i'm good | 23:06 |
mwhudson | barry: thanks | 23:06 |
barry | awesome, thanks guys. | 23:06 |
barry | #endmeeting | 23:06 |
MootBot | Meeting finished at 18:06. | 23:06 |
barry | mwhudson: see you next week :) | 23:06 |
mwhudson | barry: yeah! | 23:06 |
barry | sinzui, bac, barry -> dinner | 23:07 |
mwhudson | barry: i arrive fairly late the night before the conf starts | 23:07 |
barry | mwhudson: thursday? | 23:07 |
mwhudson | barry: land at 2000 or so | 23:07 |
mwhudson | barry: yeah | 23:07 |
mwhudson | barry: i shall investigate hotel bars until i find someone i recognise :) | 23:07 |
barry | mwhudson: sounds like a plan! | 23:07 |
barry | mwhudson: i'll keep an eye out for ya | 23:07 |
barry | bye guys | 23:08 |
mwhudson | barry: cool | 23:08 |
mwhudson | bye | 23:08 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!