Monday, 11 March 2013< ^ >
arjan has set the subject to: Zotonic - the Erlang Content Management Framework
Room Configuration

[01:03:37] jeff.5nines leaves the room
[08:28:25] arcusfelis joins the room
[08:35:35] Arjan joins the room
[08:45:08] Maas joins the room
[08:50:25] Andreas Stenius joins the room
[09:02:44] <Marc Worrell> @maas great! :-)
[09:03:39] <Marc Worrell> also some ideas about the body handling - we really need to control how it is read and stream big files etc directly to disk (and be able to report the progress back to the page session, for the progress bar)
[09:05:00] <Marc Worrell> and indeed nice graphs at the status.github :-)
[09:05:13] <Andreas Stenius> let's get inspired :)
[09:05:37] <Maas> That page gives a nice understandable overview of things.
[09:05:37] <Marc Worrell> haha, I thought you were already very inspired :)
[09:06:20] <Andreas Stenius> lol- well, yeah, ok. I mean; let's steal some nice ideas... :p
[09:07:14] <Maas> Supporting upgrade shouldn't be very hard. Hmm, and yes, file uploads... It now just reads whole blobs into memory.
[09:07:20] <Maas> (For elli)
[09:07:53] <Marc Worrell> yes, they also documented that "at the moment" they don't need to process big blobs
[09:08:04] <Marc Worrell> of course we can make a patch and see from there.
[09:08:09] <Maas> There is a max indeed.
[09:08:25] <Maas> It was nice playing with another project anyway.
[09:08:35] <Marc Worrell> what is the big advantage of this library over cowboy? Because cowboy has all these features
[09:09:04] <Maas> It is small.
[09:09:06] <Marc Worrell> (I like the architecture of elli though - nice and elegant)
[09:09:20] Arjan leaves the room
[09:09:59] <Maas> Cowboy is nice too, but there are some tiny things like the all small caps headers.
[09:10:14] <Marc Worrell> arggghhh, i forgot about that one
[09:10:30] <Maas> I know it is supposed to be case insensitve, but in practice nobody follows the standard.
[09:10:31] <Marc Worrell> that is a no go when working with PHP and simple external APIs
[09:10:51] <Maas> Proxies.
[09:11:07] <Andreas Stenius> Just looking at cowboy docs, it looks like a mess. Probably, the fog clears once you understand how it works...
[09:11:08] <Marc Worrell> In practice everyone uses "X-Hallo-World-How-Are-You"
[09:11:21] <Andreas Stenius> but compared to elli, it's pretty clear from start
[09:11:30] <Marc Worrell> elli is simple
[09:11:32] <Andreas Stenius> that's my experience at least
[09:11:46] <Marc Worrell> let's see if we can get that blob handling in there (and Maas' SSL patch)
[09:11:54] <Andreas Stenius> :)
[09:12:16] <Marc Worrell> we only need a small library - webzmachine does the heavy lifting
[09:12:23] <Maas> The erlang world forgets that the http world is messy. httpc also has a cookie parsing library which exactly follows the spec... not good
[09:12:38] <Marc Worrell> :p specs are a guideline :p
[09:12:50] <Marc Worrell> we also need to do some work on our SSL parameters.
[09:13:25] <Marc Worrell> https://www.ssllabs.com/ssltest/analyze.html?d=www.maxclass.com&hideResults=on
[09:13:43] <Marc Worrell> will make an issue and check those later
[09:14:51] <Maas> That should just be some config parameters.
[09:15:09] <Maas> what is a beast attack..
[09:15:16] <Maas> ow no
[09:15:20] <Maas> takes cover.
[09:17:22] <Maas> ssl is a pretty dumb way to secure things, but we don't have anything better at the moment. And browsers still have the same broken authentication built in as in the 90's.
[09:20:56] <Maas> Ssl is like a http://en.wikipedia.org/wiki/Speaking_tube. You throw something in and you hope there is somebody trusted on the other end.
[09:21:46] <Marc Worrell> yep - regretfully is the only thing we have...
[09:27:17] <Maas> Have been looking long to do something better, but it always ends up at creating a custom browser plugin.
[09:29:23] <Maas> ssl was desinged by netscape to make money by selling certificates. They wanted to become "the" ca.
[09:37:35] <Marc Worrell> https://github.com/zotonic/zotonic/issues/531
[09:38:05] <Marc Worrell> yeah - not good when economics win over technical people
[09:40:13] simon.smithies joins the room
[09:50:24] <Maas> Understandable though, but I think much more would be possible with the web with good security in place. For a lot of projects this is always an issue...
[09:57:41] <simon.smithies> guys I'm having quite a few problems with the 0.9 release
[09:57:56] <Andreas Stenius> shoot.. ;)
[09:58:38] <simon.smithies> have upgrade 6 sites and all of them are behaving oddly in one way or another
[09:58:44] <simon.smithies> problem 1
[09:58:59] <simon.smithies> I site loads fine, then when I log into admin
[09:59:12] <simon.smithies> enter user name and password, and I get a blank/empty page
[09:59:40] <simon.smithies> when I return to the admin page, it has reset itself
[09:59:57] <simon.smithies> I log back into that, and the site has died
[10:00:16] <simon.smithies> but am not seeing anything in the debug shell
[10:00:35] <Andreas Stenius> hmm... strange.
[10:00:56] <simon.smithies> live site in zotonic 0.7: http://branston.school.nz/
[10:01:15] <simon.smithies> has a jquery banner, but nothing else really out of the ordinary
[10:01:45] <Andreas Stenius> anything in your js console in the browser?
[10:02:05] <Marc Worrell> (or in priv/logs/sasl/ ? )
[10:03:02] <Andreas Stenius> Marc: the sasl stuff should show up in the debug console too...
[10:03:12] <Marc Worrell> yeah - just to be sure :-)
[10:03:29] <simon.smithies> errors in console when I land on admin/logon?p=%2Fadmin
[10:03:32] <Andreas Stenius> sure, doesn't hurt to look ;)
[10:04:30] <Andreas Stenius> sounds like simon has a js bug...
[10:04:37] <simon.smithies> uncaught type error: object is not a function
[10:04:56] <Andreas Stenius> ok, we're at least on to something..
[10:05:07] <Andreas Stenius> do you have chrome?
[10:05:15] <Andreas Stenius> (that's what I'm familiar with)
[10:05:35] <simon.smithies> yup
[10:05:38] <simon.smithies> error is in dialog.js
[10:05:56] <Andreas Stenius> in dialog.. hmm...
[10:06:10] <Andreas Stenius> full stack trace?
[10:06:16] <simon.smithies> then when I log in, no errors, seems just to be waiting
[10:06:46] <simon.smithies> just trying to work out how to get it out of chrome and into here :P
[10:06:50] <Marc Worrell> oh, do you have atatonic enabled?
[10:07:03] <simon.smithies> Uncaught TypeError: object is not a function z.notice~z.tooltip~z.dialog~z.feedback~z.formreplace~z.datepicker~z.menuedit~livevalidation-1.3~jquery.loadmask~63530104894.js:2699
(anonymous function) z.notice~z.tooltip~z.dialog~z.feedback~z.formreplace~z.datepicker~z.menuedit~livevalidation-1.3~jquery.loadmask~63530104894.js:2699
Uncaught TypeError: undefined is not a function z.notice~z.tooltip~z.dialog~z.feedback~z.formreplace~z.datepicker~z.menuedit~livevalidation-1.3~jquery.loadmask~63530104894.js:3093
addLiveValidation z.notice~z.tooltip~z.dialog~z.feedback~z.formreplace~z.datepicker~z.menuedit~livevalidation-1.3~jquery.loadmask~63530104894.js:3093
z_init_validator z.notice~z.tooltip~z.dialog~z.feedback~z.formreplace~z.datepicker~z.menuedit~livevalidation-1.3~jquery.loadmask~63530104894.js:1137
(anonymous function) logon:113
n jquery-latest.min~jquery-ui-latest.min~63522981056.js:2
o.fireWith jquery-latest.min~jquery-ui-latest.min~63522981056.js:2
e.extend.ready jquery-latest.min~jquery-ui-latest.min~63522981056.js:2
[10:07:07] <Andreas Stenius> if you have the dev tools open, you get network info (with requests and all)... check keep between requests, then you can export the whole thing
[10:07:13] <Marc Worrell> mod_atatonic gave me some problems when I was moving a site over
[10:08:09] <Marc Worrell> Back then I moved the old stuff over to mod_atatonic - and then later so much was changed that it is not doing well
[10:08:24] <simon.smithies> on the form submit I get 405
Method Not Allowed
[10:08:39] <simon.smithies> hmm I wonder if that's my problem
[10:09:22] <Andreas Stenius> clearly it's a problem.. if it's the problem... let's solve it and see :)
[10:10:03] <Andreas Stenius> but I think Marc made a good point, we should make sure you have a sane set of modules enabled...
[10:10:08] <Marc Worrell> I think the problem is mod_atatonic
[10:10:14] <Marc Worrell> we need to remove some stuff there
[10:10:22] <simon.smithies> ah
[10:10:40] <simon.smithies> I thought I was helping things by enabling it
[10:10:40] <Marc Worrell> try disabling that module and see if you can log on - if so then the problem is clear
[10:10:50] <simon.smithies> ok
[10:11:15] <Marc Worrell> it was meant to save stuff for people with old atatonic based templates - but I think it doing more harm than good
[10:11:18] <simon.smithies> question on that ... I f I'm running zootnic in debug, can I issue commands like this from that shell?
[10:11:28] <Marc Worrell> yes
[10:11:33] <simon.smithies> :)
[10:11:44] <Marc Worrell> z_module_manager:deactivate(mod_atatonic, z:c(yoursite)).
[10:11:49] <Andreas Stenius> http://zotonic.com/docs/0.9/manuals/cookbook/shell-activate-modules.html?highlight=enable%20module
[10:11:54] <Marc Worrell> (change yoursite with what you use)
[10:12:17] <simon.smithies> and "ok" means it's done?
[10:12:31] <Andreas Stenius> haha, took me 5 secs longer to grab the docs url, than for Marc to type the answer :p
[10:12:56] <Andreas Stenius> you can check with z_module_manager:active(z:c(site)).
[10:13:06] <Maas> using the mouse is so slow :-)
[10:13:07] <simon.smithies> clearly the docs are not for Marc
[10:13:15] <Andreas Stenius> :p
[10:13:24] <Marc Worrell> i use them a lot :p
[10:13:27] <Andreas Stenius> I like to point in that direction :)
[10:13:49] <Marc Worrell> Andreas knows every url from the top of his head
[10:13:59] <Andreas Stenius> is a question can't be asnwered by a link to the docs, the docs needs to be refined ;)
[10:14:07] <Andreas Stenius> if*
[10:14:17] <simon.smithies> am bookmarking that page
[10:14:44] <Andreas Stenius> you can see my keyword searched looking at the text being highlighted... ;)
[10:14:44] <simon.smithies> so mod_atatonic deactivated, here goes
[10:15:04] <simon.smithies> hmm
[10:15:27] <simon.smithies> to be sure, I restarted the site, and saw this in the debug shell:
[10:15:40] <simon.smithies> 22:19:50.692 [error] Supervisor z_site_sup had child z_mediaclass started with z_mediaclass:start_link([{enabled,false},{hostname,"branston:8000"},{dbhost,""},{dbport,5432},{dbuser,"zotonic"},...]) at <0.7133.0> exit with reason {shutdown,{gen_server,call,['z_module_indexer$branston',{find_all,template,"mediaclass.config",phone}]}} in context shutdown_error
[10:16:16] <simon.smithies> not really an error I think
[10:16:31] <simon.smithies> Woohoo!!
[10:16:38] <simon.smithies> am into admin
[10:16:43] <Andreas Stenius> nice! :)
[10:16:55] <Andreas Stenius> Marc: we need to fix mod_atatonic, or remove it from modules.zotonic.com
[10:17:13] <simon.smithies> <thinking about re-skinning 6 sites with bootstrap>
[10:17:20] <Andreas Stenius> it sure wasn't doing what it was supposed to in this case
[10:17:47] <simon.smithies> I logged an issue too last night about a js error
[10:17:52] <simon.smithies> a different one
[10:18:19] <simon.smithies> just trying to find it ... I should see if it goes away when mod_atatonic is off
[10:18:41] <Marc Worrell> ah, could it be you added it to the googlecode repo? Saw something passing by
[10:18:53] <simon.smithies> yes
[10:18:55] <Andreas Stenius> was just thinking, since I've not seen any
[10:18:58] <Andreas Stenius> ah
[10:19:04] <simon.smithies> wrong place?
[10:19:14] <Andreas Stenius> https://github.com/zotonic/zotonic/issues
[10:19:29] Andreas Stenius is going to be known url-man...
[10:20:21] <simon.smithies> I should ask known url-man instead of clicking my out of date bookmarks
[10:20:24] <Andreas Stenius> info is perhaps a bit hidden, at the far bottom of http://zotonic.com/support
[10:20:43] <Andreas Stenius> heh :)
[10:21:44] <simon.smithies> I can't find the issue I logged on google code ... their search is crap
[10:22:35] <simon.smithies> maybe I didn't log it there ... it was very late ...
[10:23:29] <Marc Worrell> maybe it was someone else - let me check my e-mail
[10:23:52] <Marc Worrell> This one? http://code.google.com/p/zotonic/issues/detail?id=197
[10:24:08] <Marc Worrell> My first thought was mod_atatonic
[10:24:10] <Maas> Is that one still active.
[10:24:15] <Marc Worrell> maybe I should just kill that module :p
[10:24:18] <simon.smithies> found mine .. https://code.google.com/p/zotonic/issues/detail?id=197&thanks=197&ts=1362920354
[10:24:32] <Marc Worrell> @maas you can't turn it off - I think
[10:25:10] <simon.smithies> what's it doing ... I get complaints about missing zp_compressed etc without it
[10:25:20] <simon.smithies> but formatting seems largely intact
[10:26:01] <Marc Worrell> it is just a dump of all atatonic related stuff that has been changed in 0.9
[10:26:36] <simon.smithies> ah Marc! sorry yes, that is the one
[10:27:53] <simon.smithies> am going to try and repro that issue with atatonic off now
[10:29:14] <Marc Worrell> I just moved an old site over (maxclass.com) - it is now in testing. when you used atatonic in your site - try to pick&choose from mod_atatonic what you need - I might have some files as well
[10:30:06] <simon.smithies> http://code.google.com/p/zotonic/issues/detail?id=197 is fixed when atatonic is disabled
[10:30:39] <Marc Worrell> :-) Good to know
[10:30:55] <simon.smithies> Will close it with that note
[10:32:06] <simon.smithies> I better start learning about atatonic ... I don't think I'm using it very extensively anyway
[10:32:17] <simon.smithies> I assume it's responsible for compressing the css?
[10:32:29] <Marc Worrell> Maybe you can move your site over to Twitter Bootstrap?
[10:32:46] <simon.smithies> yes, that's probably going to be easier
[10:33:10] <Marc Worrell> Atatonic was some css framework by Tim Benniks. But Bootstrap is way better and well maintained - so we replaced atatonic
[10:33:16] <Marc Worrell> (less is more)
[10:33:28] <simon.smithies> I know more about bootstrap than atatonic, so it seems a good move to me
[10:33:43] <Marc Worrell> You will lik bootstrap - easy to make your site work well on many devices.
[10:33:50] <Marc Worrell> like
[10:34:41] <simon.smithies> increasingly important these days
[10:35:18] <simon.smithies> there is a whole new round of work starting to appear re-doing old sites
[10:35:23] <simon.smithies> to work on mobile
[10:36:12] <simon.smithies> are you going to move maxclass to bootstrap?
[10:36:20] <Marc Worrell> yes, in due time
[10:36:36] <Marc Worrell> it was designed with its own css - but quite a lot of work to change that
[10:36:55] <Marc Worrell> I want to make a phone version though - so might just work my way upwards from there
[10:37:33] <simon.smithies> am getting 'could not find template "_l10n_country_options.tpl" '
[10:37:37] <Marc Worrell> with the device support of zotonic it will be a very workable strategy :)
[10:37:42] <Marc Worrell> mod_l10n
[10:37:52] <simon.smithies> do I need to enable that?
[10:37:56] <Marc Worrell> should be a warning though
[10:38:16] <Marc Worrell> yes, better enable it for better support of countries and languages
[10:38:18] <Andreas Stenius> that template is included as optional in latest 0.9.x
[10:38:34] <simon.smithies> but mandatory in 0.9 release?
[10:38:45] <Andreas Stenius> yeah, it was fixed after the 0.9 release
[10:39:38] <simon.smithies> has the same [info] tag as the warning messages do, but no 'warning' ... maybe is merely info?
[10:40:17] <Andreas Stenius> https://github.com/zotonic/zotonic/issues/471
[10:40:26] <Andreas Stenius> https://github.com/zotonic/zotonic/issues/500
[10:40:49] <simon.smithies> brilliant
[10:42:22] <Andreas Stenius> :)
[10:42:28] <simon.smithies> This will be a production server when I get everything sorted out ... should I take it up to latest 0.9.x? Or better to stay on the release?
[10:42:56] <Marc Worrell> try 0.9.x when you want to be stable :)
[10:43:09] <Andreas Stenius> latest 0.9.x is what's going to turn into 0.9.1 eventually... no breaking changes in there, so I'd say you could just as well upgrad to 0.9.x
[10:43:19] <Marc Worrell> earth-quacks coming to master
[10:43:29] <Andreas Stenius> indeed :)
[10:43:43] <simon.smithies> you have lost me there boys
[10:43:44] <Andreas Stenius> quakes, though, maybe.. ? :p
[10:43:54] <simon.smithies> we have a few of those down here
[10:44:01] <Marc Worrell> uh oh :p
[10:44:03] <simon.smithies> not so many altely though :)
[10:44:09] <simon.smithies> *lately
[10:44:15] <Marc Worrell> only snow here - down here is in NZ? or AUS?
[10:44:22] <Andreas Stenius> NZ
[10:44:53] <Marc Worrell> oh, bad quackes there last year, wasn't it? Christchurch and all
[10:45:30] <simon.smithies> you got it, Christchurch is where I am
[10:45:52] <Marc Worrell> oops - everything rebuild again?
[10:46:14] <simon.smithies> no, still a long way to go
[10:46:43] <Marc Worrell> what I thought, always takes a long time to even start building
[10:46:49] <simon.smithies> according to the plan, they will finish pulling down buildings in the "red zone" by June this year
[10:47:18] <simon.smithies> my house is still pretty much just as broken as it was 2 yrs ago
[10:47:37] <simon.smithies> but we're starting to see progress now :)
[10:48:34] <simon.smithies> exciting times1
[10:49:12] <Marc Worrell> :-) good, and let the earth be quiet for the coming couple of 100 years....
[10:49:28] <simon.smithies> here's hoping eh
[10:49:50] <simon.smithies> but If I want that I might have to move off the 'ring of fire'!
[10:49:55] <simon.smithies> hey I don't think I have rights to close that issue on googlecode
[10:50:41] <Marc Worrell> oh, let me try :)
[10:50:55] <simon.smithies> just commenting on it for posterity
[10:51:46] <simon.smithies> All yours
[10:52:01] <simon.smithies> nice :)
[10:52:45] <Marc Worrell> done
[10:54:46] <simon.smithies> hey another quick one - are you guys familiar with that problem with the shell commands that's caused by the introduction of short name as a the default alternative to an FQDN?
[10:55:14] <simon.smithies> eg bin/zotonic stop fails
[10:55:21] <Marc Worrell> haha, Andreas has a lot of experience with that one!
[10:55:45] <simon.smithies> it was a major pain
[10:56:19] <simon.smithies> but I think I fixed it by setting zotonic in distributed mode via an environment variable
[10:56:30] <simon.smithies> sorry - my memory not too flash on this
[10:57:02] <simon.smithies> question is ... is that the right way to fix it?
[10:57:50] <simon.smithies> because I thought running zotonic distributed may also have been causing issues
[10:59:07] <Marc Worrell> I check what erl tells me about the node name and then make sure that it is what I expect - with ENV vars, the server name etc
[10:59:14] Arjan joins the room
[10:59:16] <Marc Worrell> It is a pain
[10:59:44] <Marc Worrell> maybe we should write the node name to a file when we start and then use it from there?
[11:00:41] <Andreas Stenius> from what I've seen, erl_call isn't to picky with long vs short names...
[11:01:08] <Andreas Stenius> running on webfaction, it's been contacting the public ip of the node from a local ip that has been blocked
[11:01:52] <Andreas Stenius> I'm considering a `/bin/zotonic diagnose` command that spits out all kinds of data about the setup, with adresses, names, domains and what not to help figure out the state of affairs
[11:03:17] <simon.smithies> In this instance, the problem seems to be with referring to the shortname ... what goes wrong if we always use the FQDN?
[11:03:50] <Andreas Stenius> nothing, it's just that it can be more work to setup.. so for dev/testing it is overkill
[11:05:07] <simon.smithies> my server - a vps - reports both forms ... I don't really understand why the script fails in sname more
[11:05:14] <simon.smithies> mode
[11:06:03] <simon.smithies> I'm sure you guys will sort it out though
[11:06:07] <simon.smithies> :)
[11:11:15] <simon.smithies> everything is running waaay better without mod_atatonic
[11:25:02] simon.smithies leaves the room
[11:40:32] Maas leaves the room
[11:57:27] Marc Worrell leaves the room: Disconnected: connection closed
[11:58:07] Arjan leaves the room
[12:00:57] arcusfelis leaves the room
[12:14:13] arcusfelis joins the room
[12:38:31] Maas joins the room
[12:43:12] Maas leaves the room
[12:50:34] jeff.5nines joins the room
[13:04:45] Maas joins the room
[13:29:22] Marc Worrell joins the room
[13:31:50] Andreas Stenius leaves the room
[13:37:44] Arjan joins the room
[13:37:52] Marc Worrell leaves the room
[13:38:37] Arjan leaves the room
[14:00:35] Arjan joins the room
[14:11:55] Marc Worrell joins the room
[15:53:10] Maas leaves the room
[15:55:56] Maas joins the room
[16:31:02] Andreas Stenius joins the room
[16:59:48] <Andreas Stenius> well, thank you virtualbox and snapshots (and that I just took one :)
[17:00:25] <Andreas Stenius> managed to install some updates that caused the machine to simply abort... bah.
[17:01:15] <Maas> Oops, didn't have any problems here yet.
[17:01:24] <Andreas Stenius> nah, it's windows...
[17:01:57] Maas leaves the room
[17:02:16] <Andreas Stenius> it proposed to install some updates to a virtualbox driver (on the client machine) to fix some issue with a crashed service or something...
[17:02:22] <Andreas Stenius> well, it didn't do any good :p
[17:04:01] <Andreas Stenius> finally taking the step to fully virtualize all my windows needs to I can stay in linux land throughout the day :D
[17:15:15] Maas joins the room
[17:15:51] <Maas> :-)
[17:16:39] <Maas> Virtual crashes are better.
[17:31:45] Maas leaves the room
[18:18:23] Arjan leaves the room
[18:39:37] <Andreas Stenius> windows is seriously pooped. After a fresh vista install, and some 120 updates of 500 Mb, it tells me a few hours later that it wants to install a service pack. Hey, isn't that a bundle of all previously released updates?!
[19:01:43] <Andreas Stenius> wow, now after the sp, it got another 80 updates (445,5 Mb) to install...
[19:28:42] Arjan joins the room
[19:43:18] arcusfelis leaves the room
[19:53:12] <Arjan> after pull from master, I get this:
[19:53:13] <Arjan> {"init terminating in do_boot",{{case_clause,{error,{not_started,mochiweb}}},[{zotonic,ensure_started,1},{zotonic,start,1},{init,start_it,1},{init,start_em,1}]}}
[19:54:08] <Arjan> mochiweb is not started
[20:02:31] <Arjan> commit 45df444191cc3e590e53b792eb98bdd0928296f6
Merge: 50be1d9 b9561ab
Author: Andreas Stenius <git@astekk.se>
Date: Mon Mar 11 00:59:09 2013 -0700
Merge pull request #8 from yoonka/add-mochiweb-dependency

Add mochiweb dependency of webzmachine to the .app file
[20:02:37] <Arjan> that is the issue
[20:05:46] <Arjan> argh github y u slow
[20:15:46] <Arjan> fixed
[20:16:01] <Arjan> modified zotonic's startup sequence
[20:23:21] Arjan leaves the room
[20:32:09] Arjan joins the room
[20:50:31] Andreas Stenius leaves the room
[20:50:57] Arjan leaves the room
[20:54:10] Andreas Stenius joins the room
[20:57:50] <Andreas Stenius> hmm... that's not playing nice. That the app file is treated differently in a release than for ordinary uses..
[21:02:11] <Andreas Stenius> you made a nice fix for it, though :)
[23:01:57] Maas joins the room
[23:11:35] Maas leaves the room
[23:18:34] Andreas Stenius leaves the room
[23:24:42] Andreas Stenius joins the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!