20160206 Log
Jump to navigation
Jump to search
[18:01] <chaosgoblin> ###################### [18:01] <chaosgoblin> Meeting started Sat Feb 6 17:01:22 2016 UTC. The chair is paroneayea. Information about the meeting agenda at http://wiki.mediagoblin.org/Meeting#Next_Meeting [18:01] <chaosgoblin> Useful Commands: #action #agreed #info #idea #link #topic. [18:01] <-- marxistvegan left (Ping timeout: 264 seconds) [18:01] <paroneayea> hello, *! [18:01] <paroneayea> (maybe I should do a qquick reminder of the meeting on the social networks?) [18:01] <paroneayea> meanwhile, everyone say hi! [18:02] <ayleph> o/ [18:04] <paroneayea> okay [18:04] <paroneayea> whoo! [18:04] -*- paroneayea pulls up the topics [18:04] -*- paroneayea blasted out a reminder, also [18:05] <paroneayea> okay [18:05] <paroneayea> so first item is: [18:05] <paroneayea> #topic Continuous integration / Commit Notifications [18:06] <paroneayea> does someone want to step forward to lead this part of the meeting? [18:06] <paroneayea> no? :) I can do it, though I might not be the best fit :) [18:07] <paroneayea> ok [18:07] -*- ayleph doesn't know anything about this one [18:07] <paroneayea> so, we had continuous integration at one point, which was generously donated by asheesh, but asheesh isn't running that anymore, and that's okay because we're just glad he did it at one point! [18:08] <paroneayea> so if we want to do it again, what do we do? [18:08] <paroneayea> if someone wants to step forward to do this, and commit notifications, I'm like: "great" [18:08] <paroneayea> though [18:08] <paroneayea> I don't want to set up hosting for that until we have a more community-manage'able way of handling servers. [18:09] <paroneayea> it's one more thing to manage, and clearly I'm not the best sysadmin, and simonft is busy already [18:09] <ayleph> if someone were to mirror the mediagoblin project on github, would that somehow give us automatic travis-ci capabilities? [18:09] <ayleph> less of a suggestion and more of a question [18:10] <paroneayea> ayleph: it might, I dunno [18:10] <paroneayea> ayleph: having an "official-ish" mirror could cause problems: my experience is that everyone starts to try to submit changes through github there [18:10] <breton> what are the requirements for the server to host it? [18:10] <ayleph> paroneayea: yeah, roger that [18:11] <paroneayea> breton: we could do it on mediagoblin.org, it's not too expensive iirc, the main thing is that it's one more thing to maintain [18:11] <breton> is there a one-... ./configure-make-makeinstall for it? [18:11] <paroneayea> breton: jenkins is pretty standard in distros these days [18:11] <paroneayea> but I think the config takes a bit of work [18:11] <paroneayea> my personal opinion is: if someone wants to step forward to do this on their own server, great [18:12] <paroneayea> and if not, let's wait until we have a way to do community sysadmin stuff, via some config managmeent system [18:12] <paroneayea> otherwise I'm going to just have less time to work on mediagoblin itself and probably will do a bad job of running it [18:13] -*- breton is a bad sysadmin [18:14] <paroneayea> ok [18:14] <paroneayea> everyone agree with that generally? [18:14] <paroneayea> time to move on? [18:14] <ayleph> sure, and sure [18:14] <paroneayea> cool [18:14] <paroneayea> so the next one is a pretty big one... [18:14] <paroneayea> #topic Move sqlite to development-only? (no more migrations) [18:15] <paroneayea> so, a few things: [18:15] <breton> *(no more migrations for sqlite) [18:15] <paroneayea> right [18:15] <paroneayea> 1) this wouldn't happen until after 0.9.0 is out [18:15] <paroneayea> 2) we probably need to raise this on-list, because it's a pretty big change and may affect people, and we might need some way to help people transition from sqlite -> postgres [18:16] <paroneayea> but... I think there's good reason to do this [18:16] <ayleph> for the record, what issues are prompting this? [18:16] <paroneayea> one of the reasons the federation switchover took so long is that sqlite doesn't have proper alter table support [18:16] <paroneayea> and we've been plagued by stuff like that for ages [18:16] --> jamilgnu joined #mediagoblin [18:16] <paroneayea> ayleph: mostly: migrations are insane to write with sqlite and break all the time and result in really bad code [18:17] <ayleph> i don't suppose moving to alembic helps this then? [18:17] <paroneayea> ayleph: I guess I don't know [18:17] <paroneayea> we could wait and see [18:18] <paroneayea> the alembic developers are fairly negative about sqlite themselves [18:18] <paroneayea> for this very reason [18:18] <paroneayea> I've talked to them about it [18:18] <paroneayea> in fact the reason we initially went with sqlalchemy-migrate was because the alembic people at that point didn't have and were disinterested in sqlite [18:18] <paroneayea> and well, now they have sqlite support [18:19] <paroneayea> so [18:19] <paroneayea> I guess maybe the answer is, we should look a bit more post-release at alembic [18:19] <paroneayea> and how well it does [18:19] <paroneayea> and raise this on list if we do decide to deprecate [18:20] <paroneayea> ayleph: breton: to be clear, do either of you feel strongly on this one way or another? [18:20] <ayleph> i'm for deprecating sqlite if it makes for a better product, but it would be nice if we could maybe support a sqlite branch with some bugfixes for a while, for those who won't/can't migrate [18:20] <paroneayea> ayleph: yeah, maybe it could be a slow deprecation [18:20] <paroneayea> or [18:20] <paroneayea> support the branch [18:20] <-- Spacedogg_iie left (Ping timeout: 264 seconds) [18:20] --> Spacedog_ie joined a #mediagoblin [18:20] <paroneayea> 0.9.0 supported with fixes for a bit, I dunno [18:20] <ayleph> you mentioned looking into a migration tool, which i think would be wise [18:20] <paroneayea> we've never done that before but I guess a LTS-ish branch in this case makes sense [18:21] <paroneayea> ayleph: yes I think so [18:21] <breton> ayleph: the problem is not in supporting running on sqlite [18:22] <breton> but in upgrades [18:22] <breton> supporting sqlite branch means that we shall have to write migrations for it [18:22] <breton> which is our pain point [18:23] <ayleph> yeah, understood. but if mainline gets security fixes after a migration, maybe we could just cherry-pick the security fixes back to the sqlite branch, and not the migrations. [18:23] <ayleph> guess it depends on whether migrations are involved/required for fixes. [18:23] <breton> if we don't cherry-pick the migrations, the databses will differ in sqlite and non-sqlite cases [18:23] <paroneayea> supporting security updates for a while that are easy to support would be okay [18:23] <paroneayea> the sqlite branch would probably kind of bitrot away [18:23] <paroneayea> and I think that would be the goal [18:24] <breton> from my point of view [18:24] <ayleph> you mentioned having sqlite for development still [18:24] <breton> oh, will describe my pov later [18:24] <ayleph> does that mean that we'd still support rolling out a new mediagoblin instance with sqlite for testing, but it just wouldn't received migration updates? [18:24] <breton> yep [18:24] <ayleph> i think that's okay [18:25] <breton> to run a migration, you'll have to rm your mediagoblin.db [18:25] <breton> so [18:25] <breton> from my point of view [18:26] <breton> sqlite is the simplest thing for the user [18:26] <breton> postresql is the most complex [18:26] <breton> because by default it requires signing in with another user with su [18:27] <breton> and it took me a lot of time to figure out how to manage it [18:27] <breton> if we drop sqlite, I think we should support mysql [18:27] <ayleph> that sounds like a whole lot of work :) [18:27] <paroneayea> ahhhhh [18:27] <paroneayea> mysql would add a whole different kind of work [18:28] <ayleph> the more i use postgresql, the more i prefer it to mysql [18:28] <breton> which is more popular and has more unofficial docs, like blogposts [18:28] <breton> yeah, yeah, we all know that postgresql is better [18:28] <paroneayea> yeah I think mysql is pretty much "living in the past" [18:28] <paroneayea> ok, well [18:28] <paroneayea> I'm going to declare this conversation a "tentative maybe" [18:29] <paroneayea> and we'll explore it after the next release [18:29] <paroneayea> to see for feasibility [18:29] <ayleph> i like the general direction of moving toward postgresql as default [18:29] <ayleph> perhaps we could scriptify the postgresql commands to make it easier for users [18:29] --> hijkhgr joined #mediagoblin [18:29] <paroneayea> ayleph: that's a good idea [18:29] <paroneayea> ok! [18:29] <paroneayea> how about next topic? :) [18:29] <breton> (btw, in openstack we DO NOT support postresql) [18:30] <breton> (like, at all) [18:30] <paroneayea> breton: what does that mean? [18:30] <breton> paroneayea: no one tests, no one runs [18:30] <breton> paroneayea: no installator/manager sets up posgresql or has an option for that [18:31] <paroneayea> hm [18:31] <paroneayea> well [18:31] <paroneayea> I still say we move on :) [18:31] <paroneayea> I think we've drained this topic :) [18:32] <paroneayea> and we'll see post 0.9.0 [18:32] <paroneayea> speaking of! [18:32] <paroneayea> #topic Upcoming 0.9.0 release [18:32] <paroneayea> so, I said I was going to freeze yesterday and I didn't, because I packaged the last piece I needed to go fulltime on guixsd as my host distro yesterday ;) [18:32] <paroneayea> but [18:32] <paroneayea> I'll freeze today. [18:33] <paroneayea> any and all "make mediagoblin work on python 3" bugs are fair game during freeze though [18:33] <paroneayea> as bugs usually are, but *especially* those are, even if they look like features :) [18:33] <paroneayea> I think python 3 as a first class citizen is going to be a major feature of 0.9.0 [18:33] <ayleph> we're not dropping py2 yet, are we? [18:33] <paroneayea> nope [18:34] <paroneayea> py2.7 will be around for some time [18:34] <ayleph> okay cool [18:34] <paroneayea> we're just saying "yes, we finally support python 3 as an option" [18:34] <-- hijkhgr left #mediagoblin ("Leaving") [18:34] <paroneayea> freedeb has suggested "The Three Goblineers" as a release name [18:34] <paroneayea> as a play on The Three Musketeers [18:34] <paroneayea> I like it [18:34] <ayleph> bd [18:35] <paroneayea> :) [18:35] --> hijkhgr joined #mediagoblin [18:35] <paroneayea> so I guess we should aim for a date. We usually aim for a week and then don't hit it ;) [18:35] <ayleph> i don't think a week sounds realistic at all, given how many tickets are associated with 0.8.2 and 0.9.0 [18:36] <ayleph> 19 at the moment [18:36] <paroneayea> how about the 22nd? [18:36] <breton> given that 0.9.0 is mainly a bugfixing release [18:36] <paroneayea> well right, there are some bugs there we can move over, because we're moving into bugs-only mode [18:36] <paroneayea> er, some features [18:36] <paroneayea> we can roll the features over into next release [18:37] <breton> I think that we can move bugs to the next release too [18:37] <-- hijkhgr left (Quit: Leaving) [18:37] --> hijkhgr joined #mediagoblin [18:37] <ayleph> there are still some potential big issues with the federation migrations that have been ongoing. [18:37] <ayleph> things that cause server crashes when you click on links or load pages [18:38] <paroneayea> ayleph: yes I'm concerned about those... [18:38] <paroneayea> ayleph: I'll try to help with them.... eg the comment on postgres one [18:38] <ayleph> unfortunately i seem to be experiencing them more than others, with my big existing database [18:38] -*- paroneayea nods [18:39] <breton> mark them as critical [18:39] <paroneayea> yes [18:39] <ayleph> i believe i have, but i'll check [18:39] <ayleph> actually, i was marking some as blockers [18:39] <paroneayea> blockers is also good [18:39] <breton> ugh. [18:39] <paroneayea> ugh? [18:39] <breton> it's bad that we don't fix critical/blocker bugs :( [18:40] <paroneayea> yeah [18:40] <paroneayea> so I'm going to do my best to dig in and help with that [18:40] <ayleph> tsyesika_ and paroneayea have been trying to replicate the issues, but they haven't had luck [18:40] <paroneayea> ayleph: I also didn't try with postgres [18:40] <ayleph> and i've been working out of town since the end of 2015, so i haven't had much time to figure them out yet [18:40] <paroneayea> I'm going to try with postgres today [18:40] <-- hijkhgr left (Client Quit) [18:40] <ayleph> (I'm on-site in an aircraft factory right now, slacking off on the job) [18:40] <paroneayea> ayleph: oh, cool :) [18:41] <paroneayea> (what are you doing there?) [18:41] <paroneayea> I guess that can be discussed post meeting if you like :) [18:41] <ayleph> haha, sure. maybe don't want that in the meeting notes :) [18:41] <paroneayea> yeah [18:41] <paroneayea> ok! [18:41] <paroneayea> so is everyone ok with tentative date of the 22nd? [18:41] <paroneayea> for the release? [18:42] <paroneayea> I'll make working on these db issues my #1 priority. [18:42] <breton> tes [18:42] <breton> *yes [18:42] <paroneayea> cool [18:42] <ayleph> yep [18:42] <paroneayea> onwards and upwards toward 0.9.0, then! :) [18:42] <paroneayea> next topic? [18:43] <paroneayea> #topic Path to 1.0 [18:43] <paroneayea> I didn't see any objections, but we can backtrack if there's still 0.9.0 stuff [18:43] <paroneayea> so my goal is to get 1.0 out in the next couple of months, which is a tight timeline! This means that we need tsyesika_ really focused on federation totally [18:44] <paroneayea> since we only have the funds to pay her till end of march especially ... :( [18:44] --> pizzaiolo joined #mediagoblin [18:44] <paroneayea> so we'll see [18:44] <pizzaiolo> am I late to the meeting? [18:44] <paroneayea> hi pizzaiolo, yes, but welcome! [18:44] <paroneayea> we're talking about the work towards the 1.0 release [18:44] <pizzaiolo> oh, cool! [18:45] <pizzaiolo> any tl;dr of the meeting? :P [18:45] <paroneayea> so, after 0.9.0 comes out, I think I'll be hunkering down and helping tsyesika_ with 1.0 as much as possible [18:45] <paroneayea> pizzaiolo: https://wiki.mediagoblin.org/Meeting#Next_Meeting topics [18:45] <chaosgoblin> Title: Meeting - GNU MediaGoblin Wiki (at wiki.mediagoblin.org) [18:45] <pizzaiolo> coolio [18:45] <paroneayea> I dunno, is there anything more to talk about on this subject? breton, ayleph ? [18:45] <paroneayea> other than "1.0 is the initial federation release" [18:46] <ayleph> anyone heard from sapienTech recently? [18:46] <paroneayea> which is a pretty bold thing to say we'll hit in a couple of months, but the big db challenges are over at least... [18:46] <pizzaiolo> paroneayea: anything on the activitypub protocol? [18:46] <paroneayea> ayleph: ah.... I haven't [18:46] <paroneayea> pizzaiolo: that's later in the meeting, see the topics [18:46] <ayleph> curious what we'll need to do to get his app working with the 1.0 release, if things change. [18:46] <paroneayea> ayleph: well [18:46] <paroneayea> I did [18:46] <paroneayea> actually [18:46] <paroneayea> I blanked out for a second [18:46] <paroneayea> we met up a few weeks ago! [18:46] <paroneayea> sorry, my brain is not working [18:46] <ayleph> oh cool! [18:46] <pizzaiolo> okie [18:46] <paroneayea> he showed me a live demo of the latest goblinoid release [18:46] <paroneayea> it's looking *very* nice [18:47] <paroneayea> and he's super interested in getting things updated to work with things as we do them [18:47] <pizzaiolo> paroneayea: would love to see this go forward https://f-droid.org/forums/topic/goblinoid-mediagoblin-app/ [18:47] <pizzaiolo> :) [18:47] <paroneayea> pizzaiolo: yes that would be really useful [18:47] <paroneayea> what's the current status? I think they're still hung up on building kivy applications? [18:48] <pizzaiolo> https://gitlab.com/fdroid/fdroiddata/merge_requests/1034 [18:48] --> j1mc joined #mediagoblin [18:48] <chaosgoblin> Title: Add MediaGoblin to F-Droid repository (#1034) · Merge Requests · F-Droid / Data · GitLab (at gitlab.com) [18:48] <ayleph> Last I heard, sapienTech had been trying to weeks or months to get onto F-Droid, but they weren't ready for kivy builds [18:48] <ayleph> I had a little trouble building the app myself, so I resorted to having sapienTech send me binaries to host [18:48] <paroneayea> https://gitlab.com/fdroid/fdroiddata/commit/dbb7e3f2ea73132454fd1f089412e507741fbd91 wait [18:49] <chaosgoblin> "Title: Merge branch 'master' into 'master'\r (dbb7e3f2) \xc2\xb7 Commits \xc2\xb7 F-Droid / Data \xc2\xb7 GitLab (at gitlab.com)" [18:49] <ayleph> I couldn't get the same filesize or hash as him on the binaries, so I'm not sure I had the right code. [18:49] <paroneayea> did it get added??? [18:49] <paroneayea> a few days ago? [18:50] <pizzaiolo> paroneayea: a quick search does not show it in F-Droid [18:50] <paroneayea> pizzaiolo: it might be in git master [18:50] <pizzaiolo> hmm [18:50] <paroneayea> anyway, this is something to check up on post-meeting I think [18:50] <paroneayea> we have a lot of topics still and only 10 mins left [18:50] <paroneayea> so I'm taking initiative to blast ahead on topics [18:51] <paroneayea> #topic Stripe retreat update [18:51] <paroneayea> so the first week I was here I worked on getting ActivityPub to First Public Working Draft (it is now!) [18:51] <paroneayea> and second week I spent at and preparing for FOSDEM mostly [18:52] <paroneayea> and I've done some tickets and have updated my system to GuixSD (important, davexunit and I hope to do a live demo of mediagoblin deployed on guixsd at libreplanet next month) [18:52] <pizzaiolo> woo! [18:52] <paroneayea> and from here on out my main thing is "focus on mediagoblin code itself, while also trying to advance activitypub mostly on weekends" [18:52] <paroneayea> so it's been very productive so far. [18:52] <paroneayea> also FOSDEM was incredible [18:53] <paroneayea> 80 people capacity in the guile/guix room and full almost the whole time [18:53] <ayleph> I saw a little chatter in here during FOSDEM. sounds like a great time. [18:53] <paroneayea> lots of other good things came out of it but we don't have time to go into it right now :) [18:53] <paroneayea> yes [18:53] <paroneayea> it was super great [18:53] <paroneayea> anyway, I wanted to blast through that rundown [18:53] <paroneayea> I'll be mostly head down on mediagoblin from here on out, excepting being at libreplanet and working on activitypub [18:54] <paroneayea> I'm also going to blast forward on topic again unless there's a question [18:54] <paroneayea> #topic ActivityPub update (related!) [18:54] <paroneayea> https://identi.ca/mediagoblin/note/CkpUdPDaSryfybqolTkUSg says most of it all :) [18:54] <chaosgoblin> Title: First Public Working Drafts of ActivityPub and Micropub published - Identi.ca (at identi.ca) [18:54] <pizzaiolo> sorry, you mentioned stripe, is that stripe.js? [18:54] <paroneayea> pizzaiolo: I'm at the Stripe Open Source Retreat [18:55] <pizzaiolo> oh ok nvm [18:55] <paroneayea> they're paying me to work on mediagoblin out of their office for a few months [18:55] <pizzaiolo> that's incredible [18:55] <paroneayea> pretty cool, like "coder in resident" [18:55] <paroneayea> so, ActivityPub is at FPWD status, which means we have a real w3c url now [18:55] <paroneayea> http://www.w3.org/TR/activitypub/ [18:55] <chaosgoblin> Title: ActivityPub (at www.w3.org) [18:55] <paroneayea> I'm going to keep it short: there's a ton to do in working on the spec still [18:56] <paroneayea> and right before libreplanet is the next w3c face to face [18:56] <paroneayea> so it's a good thing stripe's office is so nice because between that and gmg I'll be pulling a lot of long nights here :) [18:56] <paroneayea> sorry to textwall on these updates, they were mostly from-me updates [18:56] <paroneayea> and I really wanted to get to this next topic [18:56] <ayleph> wow, that's really cool seeing your name and tsyesika_'s name as editors on a w3c draft [18:57] <paroneayea> ayleph: yeah :) [18:57] <paroneayea> it's happeniningggggg [18:57] <paroneayea> #topic GSOC ideas, and volunteers? [18:57] <paroneayea> unless there are any questions on the last topic [18:57] <paroneayea> but we only have a few minutes for this, so :) [18:57] <paroneayea> we had a wiki link somewhere right? [18:58] <paroneayea> https://wiki.mediagoblin.org/GSOC_2016 [18:58] <chaosgoblin> Title: GSOC 2016 - GNU MediaGoblin Wiki (at wiki.mediagoblin.org) [18:58] <paroneayea> right now breton and I are listed as possible mentors [18:58] <paroneayea> gnu still needs to be accepted to gsoc, but it probably will be [18:58] <paroneayea> does anyone else want to mentor something? :) [18:58] <paroneayea> or anything else to say? [18:59] <ayleph> ooh, can i ask an unrelated question? [18:59] <paroneayea> ayleph: go for ti [18:59] <paroneayea> it [18:59] <ayleph> do the last fundraiser rewards fit into the 1.0 schedule anywhere? [18:59] <ayleph> i guess that was mostly federation anyway [18:59] <ayleph> but also premium hosting? [19:00] <paroneayea> ayleph: premium hosting is what motivated me to work on guixsd [19:00] <ayleph> ah okay [19:00] <paroneayea> because I realized there's no way I can manage to maintain servers in the current state of affairs [19:00] <ayleph> yeah [19:00] <paroneayea> so in a sense, the libreplanet demo [19:00] <paroneayea> is on track for that :) [19:00] <ayleph> cool [19:00] <paroneayea> I haven't forgotten! [19:00] <paroneayea> I was glad to hear breton thought I was mostly sane in my persual of that [19:00] <paroneayea> I think we're all tired of the fear of server upgrades [19:00] <ayleph> hehe [19:01] --> marxistvegan joined #mediagoblin [19:01] <-- marxistvegan left (Changing host) [19:01] --> marxistvegan joined #mediagoblin [19:01] <paroneayea> okay, I guess no gsoc update questions eh? [19:01] <pizzaiolo> paroneayea: too bad I can't follow cwebber@identi.ca from nicolasmaia@quitter.se (hopefully it's something activitypub will fix) [19:01] <breton> I wonder [19:01] <paroneayea> pizzaiolo: I'm hoping activitypub will be integrated into statusnet [19:02] <paroneayea> er [19:02] <paroneayea> gnu social :) [19:02] <breton> how do we advertise our GSoC [19:02] <breton> because last year we didn't have many participants [19:02] <paroneayea> breton: last year I also failed to promote it [19:02] <paroneayea> this year we'll promote it a lot better, once it's clear we're accepted [19:02] <paroneayea> it's easier because I'm fulltime on mediagoblin again right now [19:03] <paroneayea> which means I can justify that time a bit better [19:03] <breton> and I would like to have a situations with more proposals than tasks [19:03] <ayleph> i think svetlana mentioned something about promoting it to students locally [19:03] <paroneayea> ah right :) [19:03] <paroneayea> svetlana: that'd be cool :) [19:03] <paroneayea> so anything more on that, or are we done? [19:04] <-- depate_ left (Ping timeout: 245 seconds) [19:04] -*- breton thinks we're done [19:04] <paroneayea> cool [19:04] <paroneayea> how about an ascii art to seal the meeting? [19:04] <paroneayea> *INCOMING ASCII* [19:04] <paroneayea> * .-. . [19:04] <paroneayea> ( ) . * * [19:04] <paroneayea> _ '-' , , , [19:04] <paroneayea> (_) _ / \.--.\ . \\___// . [19:05] <paroneayea> _ >(_) " ;" _ ; o o\ _ [19:05] <paroneayea> (_) ( / ) / '------' \ [19:05] <paroneayea> ;._/." . O () "._o_o_o_o." [19:05] <paroneayea> * \.' . . * [19:05] <paroneayea> . [19:05] <paroneayea> HAVE A COSMIC HAPPY GNU YEAR 2016! [19:05] <paroneayea> a bit late, that was my supporter ascii art for this year's fsf new years email :) [19:05] <paroneayea> and we're done! [19:05] <paroneayea> thank you all for coming, breton, ayleph, pizzaiolo! [19:05] <paroneayea> #endmeeting [19:05] <chaosgoblin> Meeting ended Sat Feb 6 18:05:37 2016 UTC. Minutes: http://mediagoblin.org/irclogs/irc_meeting-2016-02-06.html [19:05] <chaosgoblin> Minutes (text): http://mediagoblin.org/irclogs/irc_meeting-2016-02-06.txt [19:05] <chaosgoblin> Log: http://mediagoblin.org/irclogs/irc_meeting-2016-02-06.log.html [19:05] <chaosgoblin> ######################