[01:54] <sinzui> Launchpad UI 3.0 Question and answer meeting in #launchpad meeting in 6 minutes
[01:55] <thumper> sinzui: how long will it go for?
[01:59] <sinzui> I will linger for 45 minutes. It will really on only if people have questions that I can answer
[01:59] <thumper> sinzui: I don't have any questions, and I have to head out to meet Rachel
[02:00] <thumper> sinzui: I'm not sure who else will be around, but good luck :)
[02:00] <sinzui> fair enough
[05:16] <wgrant> One month since the open sourcing!
[05:22] <lifeless> \o/ happy birthday lp:)
[07:08] <lifeless> hmm, sourceforge has useful timelines now ><
[07:11] <wgrant> lifeless: You mean the project feed?
[07:12] <lifeless> http://sourceforge.net/projects/japt-proxy/develop for instance
[07:13] <wgrant> Yep.
[07:13] <wgrant> Google Code has had something like that for ages.
[07:14] <wgrant> Now somebody just needs to go and fix the karma system to do that.
[07:14] <lifeless> mmm
[07:15] <lifeless> 'someone needs to go and do that' +1
[07:15] <lifeless> using karma for it.... different discussion
[07:15] <wgrant> I suppose you could also just collate lots of collections of other activity records.
[07:16] <lifeless> we have rss feeds for projects
[07:16] <wgrant> But, well, there aren't such records.
[07:16] <wgrant> There are RSS feeds of new revisions and new bugs.
[07:16] <wgrant> And announcements.
[07:17] <wgrant> Stuff I miss from Google Code is changes to and comments on bugs.
[08:08] <stub> Anyone looking into what revision broke xx-productset.txt ?
[08:15] <noodles775> stub: yes...
[08:22] <adeuring> good morning
[09:03] <wgrant> Hrmph. stable is ancient.
[09:19] <mrevell> Morning compadres
[09:23] <bigjools> morgen
[09:35] <gmb> Got to love it when ec2test just sort of stops and shouts "No! Lalala, I'm not going to test your branch."
[09:36] <wgrant> Is PQM happy again?
[09:37] <wgrant> It has been a bit unhappy today.
[09:43] <allenap> wgrant: I looked into the BugTaskEditView stuff, and basically concluded that we needed to change all the other call-sites to use transitionToMilestone(). However...
[09:43] <wgrant> allenap: Hm? Why? No direct callsites should care about the schema.
[09:44] <allenap> wgrant: It may actually make more sense to change mutator_for to allow use on a read-write attribute, perhaps by passing a allow_read_write parameter, just so it's not the default.
[09:45] <elmo> ** bouncing apache on vanadium for emergency update
[09:45] <allenap> wgrant: My logic may have been flawed :) But the milestone widget was behaving weirdly in the form, and simply changing it to be handled like status and importance seemed like the simplest fix.
[09:45] <allenap> wgrant: Well, not simplest, but an already tried and working approach.
[09:46] <wgrant> allenap: status/importance are readonly=True. I was unable to work out what was magical about them to make them writable.
[09:46] <wgrant> i'm not sure that callsites outside the form need to be updated.
[09:49] <allenap> wgrant: I think it's the bit around line 1235 in browser/bugtask.py that makes sure they can be edited, then there's some juggling in updateContextFromData to apply the changes.
[09:49] <mrevell> danilo-afk: http://blog.launchpad.net/translations/screencast-sharing-translations-between-releases-of-the-same-project
[09:50] <wgrant> allenap: Right, updateContextFromData will probably need changing. But my main concern at this point is getting the right widgets to show up.
[09:50] <allenap> wgrant: Okay, I'll come back to you in a few minutes.
[09:50] <wgrant> allenap: 1235 seems to replace the writable status/importance widgets with read-only ones if the user lacks privileges.
[09:50] <wgrant> allenap: Which suggests that the writable widget is forced in place before that.
[09:51] <allenap> wgrant: In my copy it does the opposite :)
[09:51] <gmb> Did the session DB get dumped again?
[09:52] <allenap> wgrant: But I'll go and experiment some more.
[09:52] <wgrant> allenap: Thanks. I have a couple of ideas which I'll try...
[09:53] <gmb> Ooh, timeout filing a bug.
[09:53] <wgrant> gmb: Um, people have been complaining about that for weeks...
[09:53] <gmb> wgrant: s/weeks/years (on and off). True, but I'd never experienced it filing a bug on Malone before.
[09:57] <wgrant> bigjools: Why is the CoC required?
[09:57] <wgrant> It seems quite irrelevant.
[09:57] <bigjools> why?
[09:59] <wgrant> bigjools: Hm, I guess there are a couple of relevant points in it.
[09:59] <wgrant> My memory was foggy.
[09:59]  * wgrant goes back to beating formlib into submission.
[10:00] <bigjools> it needs it
[10:00] <allenap> wgrant: Heh, sorry, you're right about line 1235.
[10:00] <wgrant> bigjools: Not really. BugTaskEditView is just purest evil.
[10:00] <wgrant> allenap: Phew.
[10:01] <wgrant> allenap: Concerning that it's so hard to understand, though :/
[10:01] <bigjools> there's a lot of purest evil, most of it in old Soyuz code :(
[10:01] <mrevell> bigjools: doc fixed
[10:01] <intellectronica> wgrant, allenap: the magic is using a mutator and i agree that this is a good approach
[10:01] <wgrant> bigjools: But I can understand most of the Soyuz code.
[10:01] <bigjools> mrevell: fanks
[10:01] <wgrant> intellectronica: That's not the dark magic here.
[10:02] <wgrant> intellectronica: The real magic is making the widget editable on +editstatus.
[10:02] <wgrant> And BugTaskEditView's existing method of doing that is not transparent.
[10:02] <bigjools> wgrant: care to let your eyes bleed over the perl in the buildd? :)
[10:02] <intellectronica> wgrant: wow, you understand soyuz but not the bugtask edit view? do you also wear your socks over the shoes? :D
[10:02] <wgrant> bigjools: I've hacked sbuild before for doing archive rebuilds... not pretty.
[10:03] <wgrant> bigjools: Soyuz is easier to setup than dak/wanna-build/buildd!
[10:03] <bigjools> :)
[10:03] <noodles775> +1 for soyuz ;)
[10:03] <intellectronica> wgrant: oh right
[10:03]  * gmb genitally hates BugTaskEditView.
[10:04] <gmb> Er.
[10:04] <gmb> *genially
[10:04] <gmb> Is the word I was going for there.
[10:04] <wgrant> intellectronica: Hm?
[10:04] <bigjools> how Freudian
[10:04] <wgrant> Nicely done.
[10:04] <al-maisan> intellectronica: after all these Soyuz reviews you should know it by heart now ;)
[10:06] <intellectronica> :)
[10:07] <wgrant> So...
[10:08] <wgrant> Is there any good reason that it does things in this order: maybe overrides the status widget with something writable, maybe overrides the status and importance widgets with something read-only, then maybe overrides the importance with a writable widget?
[10:08] <wgrant> Or is that just there to confuse people?
[10:08] <allenap> wgrant: Just to confuse I think.
[10:08] <allenap> wgrant: But probably something will break if done in a different order :(
[10:09]  * wgrant finds a similarly nefarious order in which to place the milestone code.
[10:09] <allenap> wgrant: Something I noticed. On the main bug page, milestone_source is not None. On the +editstatus page it's None, so the milestone field is not replaced (at around line 1221 in browser/bugtask.py)
[10:09] <wgrant> allenap: Ahaa.
[10:09] <wgrant> So.
[10:09] <wgrant> We need to dig a restrictive milestone vocab up from somewhere.
[10:09] <wgrant> But formlib must magically do that already.
[10:10] <wgrant> As IBugTask.milestone's vocab looks global.
[10:12] <wgrant> Or we convince formlib to generate a writable widget to start with. Argh.
[10:22] <allenap> wgrant: Have a look at http://pastebin.ubuntu.com/256793/ - it seems to do something approximating correct. I haven't tested it much (and I intend to use copy_field at some point).
[10:23] <allenap> wgrant: I'm not sure if lines 30 and 31 are needed either. I just threw them in.
[10:24] <wgrant> allenap: copy_field then overriding readonly was going to be my next attempt. Let's see...
[10:24] <allenap> wgrant: The tests pass at least!
[10:24] <wgrant> allenap: I think those two are needed.
[10:24] <wgrant> Oh.
[10:24] <wgrant> So you don't need to override readonly?
[10:24] <wgrant> Ah, you're not copying yet, right.
[10:25] <allenap> wgrant: Yeah, the actual desired effect is obscured.
[10:28] <allenap> wgrant: Here's my attempt with copy_field: http://pastebin.ubuntu.com/256798/
[10:31] <wgrant> allenap: Mine is similar, although I didn't know that one could give it kwargs like that.
[10:31]  * wgrant is testing that.
[10:34]  * gmb -> restarting proxy, bbiam
[10:35] <wgrant> allenap: Now I know that copy_field kwarg trick, I've spelt it http://pastebin.ubuntu.com/256803/
[10:35]  * wgrant runs the tests.
[10:35] <wgrant> I don't think you need that 26/27 change.
[10:36] <allenap> wgrant: Cool.
[10:39] <wgrant> So it was actually easy.
[10:39] <wgrant> The existing complexity was deceptive.
[10:41] <wgrant> allenap: Thanks. Pushing the change that I pastebinned -- care to ec2test?
[10:41] <wgrant> All the failing tests pass.
[10:42] <allenap> wgrant: Cool, will do :)
[10:45] <wgrant> Now I just need to convince cprov that the failures in my other branch were because devel was broken, and that will be landing #10! Yay.
[10:49] <allenap> wgrant: Wow, that's good going.
[10:51] <deryck> Morning, all.
[11:49]  * wgrant considers looking at PPA package download counters.
[11:50] <bigjools> wgrant: that needs some more foundations work
[11:50] <wgrant> bigjools: Really? What does it need?
[11:51] <bigjools> wgrant: I don't remember exactly, but the current log parser only looks at librarian downloads
[11:51] <wgrant> bigjools: It's easy enough to refactor.
[11:51] <bigjools> oh for sure
[11:51] <bigjools> just sayin' like
[12:12] <wgrant> bigjools: So, assuming I refactor the log parser...
[12:13] <bigjools> wgrant: talk to salgado first, he wrote the existing one, he'll give you tips
[12:14] <wgrant> bigjools: Thanks.
[12:15] <wgrant> bigjools: Model-wise, I'm thinking an ArchivePackageDownloadCount, like LFDC except referring to an archive and a source or binary package. Does that sound vaguely in the right direction?
[12:17] <bigjools> wgrant: I think so, although we need to think about whether nullable foreign keys are wanted
[12:18] <wgrant> bigjools: Why wouldn't they be?
[12:18] <bigjools> APDC, with columns [source|binary]packagerelease, archive, count
[12:18] <wgrant> That's right.
[12:18] <bigjools> because you can have source and binary
[12:18] <wgrant> [sb]pr are nullable, with a constraint to ensure exactly one isn't.
[12:19] <bigjools> might be better to have 2 tables
[12:19] <wgrant> Possibly.
[12:20]  * bigjools goes back to figuring out how a change in das:+index broke das:+builds
[12:48]  * gmb lunches
[14:11] <deryck> sinzui, ping
[14:12] <sinzui> hi deryck
[14:39] <beuno> noodles775, hi
[14:39] <noodles775> hey beuno
[14:40] <beuno> noodles775, how are you today?
[14:40] <noodles775> beuno: why, well thankyou :), and how would you be?
[14:41] <noodles775> Just doing some packaging in between planning a ui change :)
[14:41] <beuno> I'm the only way I can posibly be during a 2 month ui cycle: fantastically well
[14:41] <noodles775> heh
[14:42] <beuno> noodles775, have you seen that salgado's breadcrumb changes landed?
[14:42] <beuno> for example, bug 165293
[14:42] <mup> Bug #165293: collisions through uploading same-named .pack files not handled correctly <packs> <Bazaar:Confirmed> <https://launchpad.net/bugs/165293>
[14:42] <noodles775> beuno: nope - haven't seen it, but great!
[14:43] <noodles775> beuno: very nice!
[14:43] <beuno> noodles775, while he works out some of the remaining issues, how do you feel about jumping in and moving them beneath the titles?
[14:43] <Knut-HB> Hi, it's me... again. We got some problems while uploading files. A team member wants to upload template.pot and receives this error: http://paste.ubuntu.com/256915/
[14:44] <noodles775> beuno: has the formatting been separated out from the hierarchy? That was the main issue last time I checked (the hierarchy was rendering itself manually)...
[14:44]  * noodles775 checks
[14:45] <beuno> ah, good question
[14:45] <beuno> salgado should know
[14:45] <beuno> salgado, btw:  wooooooooooooooooooooooooooo
[14:46] <salgado> noodles775, no, the hierarchy still renders itself
[14:47] <beuno> salgado, is changing that in your plans?
[14:48] <salgado> beuno, not until it gets in my way or someone convinces me it's a good idea. ;)
[14:49] <noodles775> salgado: you don't think it would be a good idea for the hierarchy to use a template to render itself, rather than the html code in the view?
[14:49]  * noodles775 hasn't looked closely - maybe there's a good reason for the way it's done.
[14:49] <salgado> noodles775, oh, absolutely!
[14:50] <salgado> I thought you were talking about moving the rendering into the breadcrumbs themselves
[14:51] <noodles775> salgado: no, just using templates to render them so it's much easier (1) to change and (2) to add the new formatting html for breadcrumbs on baselayout while letting the old template use the current breadcrumb formatting.
[14:52] <salgado> right, that makes total sense
[14:52] <salgado> but it'd be easy to fix, no?
[14:53] <noodles775> salgado: I'm not sure - it looks like quite a bit of custom html construction going on in that render method.
[14:54] <beuno> salgado, none of that HTML is needed for the 3.0 design
[14:54] <beuno> er
[14:54] <beuno> noodles775, ^
[14:54] <salgado> let's throw it away, then
[14:55] <beuno> it's simple text and links, with separators and a special rendering for the last item
[14:55] <salgado> and break all pages not yet converted to 3.0
[14:55] <noodles775> beuno, salgado: hangon - but that means all pages that *haven't* been updated to the 3-0 base-layout will go awol.
[14:55] <sinzui> UI 3.0 question and answer session in #launchpad-meeting in 6 minutes. Everyone is welcome to ask questions. (no questions about lemurs please)
[14:55] <beuno> noodles775, I think that it doesn't matter
[14:56] <beuno> this is why we're not rolling out to production
[14:56] <maxb> It turns out that mdz had a bzr branch for launchpad-dependencies back in the Dapper era (the source packages contain the bzr branch). Does anyone know where it might have gone? Did it see continued use after launchpad-dependencies went completely canonical-internal? It seems to have disappeared by the time launchpad-dependencies went to a PPA
[14:56] <beuno> it will just have breadcrumbs rendered on top instead of underneath the title
[14:57] <noodles775> beuno: no, they'll remain where they are, the formatting will just be 3.0 I assume.
[14:57] <noodles775> beuno: sorry, ignore me... that's what you said.
[14:58] <beuno> noodles775, right. I'm fine with that.
[14:58] <beuno> more pressure to move the old pages  ;)
[14:58] <noodles775> :)
[14:58] <bigjools> sinzui: what's a lemur?
[14:58] <noodles775> beuno: OK, Sounds like another fun job - just pm bigjools to talk with him.
[14:59] <beuno> noodles775, think about it this way, if we drop the current breadcrumb rendering, we drop 14 HTTP requests on all pages
[15:00] <sinzui> bigjools: A primate native Madigascar. The most famous one is King Julian played by Sasha Baron Cohen.
[15:00] <noodles775> beuno: really? how is that? (the images are all cached right?)
[15:00] <bigjools> sinzui: I should not have asked
[15:01] <beuno> noodles775, they are cached, but they are in icing, so every night, the URL changes. And, for people who come to LP from a google link, well, it's their first time visit
[15:01] <noodles775> beuno: sheesh...
[15:12] <matsubara> wgrant, around?
[15:49] <barry> beuno, sinzui can you think of any reason why /projectgroups should not be viewable by ordinary or anonymous users?
[15:50] <sinzui> I want it visible. I think we get questions about it because users cannot find it
[15:50] <barry> sinzui: it actually gives you an Unauthorized right now
[15:50] <barry> sinzui: i think i'll open that up in my /projectsgroup branch
[15:51] <sinzui> yes, but I am not sure we need to do that anymore
[15:51] <beuno> barry no reason that I can think of
[15:51] <barry> sinzui: agreed.  beuno cool
[15:57] <barry> beuno: why the 0.1% granularity in font sizes in style-3.0.css?
[15:58] <beuno> barry, I don't know, I still need to work on the font sizes  :)
[15:58] <danilos> allenap: did you not want to submit the fix in PQM to db-devel instead?
[15:59] <barry> beuno: adeuring has a good point in a review of my branch:
[15:59] <barry> >I find the 0.1% "granularity" a bit exaggerated ;) If we assume
[15:59] <barry> >that the base font size is 20 pixel on some monitor, 0.1% would
[15:59] <barry> >mean a precision of .02 pixel. I don't think that any anti-aliasing
[15:59] <allenap> danilos: Shite.
[15:59] <barry> >algorithm will produce different result for font sizes specified
[15:59] <barry> >as 24.6 and 24.62 pixel.
[15:59] <barry>  
[15:59] <danilos> allenap: it should be rejected (there are, I hope, DB changes in the db-devel you merged :), but you'll need to resubmit
[15:59] <danilos> and I can't trust your [testfix] to land, so I'll need to resubmit as well :)
[16:00] <allenap> danilos: Phew.
[16:00] <beuno> barry, valid point
[16:00] <danilos> mthaddon: perhaps, you can clean up the PQM queue (the testfix should go to db-devel, not devel, and the other one will fail anyway)
[16:01] <danilos> beuno: fwiw, we've got 'stuff to review' up on your translations page :)
[16:01] <beuno> danilos, where!?
[16:03] <danilos> beuno: on edge, try translations.edge.launchpad.net/~beuno
[16:03] <danilos> beuno: the rest of the page is still a mess, but there's one nice looking box with interesting stuff :)
[16:03] <adeuring> barry, beuno: consider my comment about the font sizes as, let's say, a nitpick about another nitpick: It really doesn't matter if we specify the font size with that precision or not. Leaving the 0.1% is fine for me, even if I find it a bit odd ;)
[16:04] <beuno> adeuring, I agree with you though
[16:05] <beuno> danilos, nais!
[16:05] <danilos> :)
[16:05] <beuno> danilos, any reason why you picked a 2 column layout?
[16:06] <danilos> beuno: it's not a 2 column layout, we've just used the max-width so it doesn't extend over the entire page... once we get to actual migration of that page, we can think it over :)
[16:06] <adeuring> beuno, barry: But it might make sense to move the relative font size into its own CSS class, it if appears not only in barry's two branches but elsewhere too.
[16:06] <beuno> danilos, awesome. Happy to see things from our sprint leaking through
[16:07] <danilos> beuno: yeah, totally
[16:18] <intellectronica> leonardr: around?
[16:18] <leonardr> intellectronica, yeah
[16:19] <intellectronica> leonardr: do you remember, by any chance, if we have an easy way of getting the _web_ url of an api object
[16:19] <intellectronica> leonardr: from javascript
[16:20] <leonardr> intellectronica: i believe bac asked that question a few days ago
[16:20] <leonardr> and ended up filing a bug for it
[16:20] <leonardr> bac, do you recall?
[16:20] <intellectronica> i think gmb also asked that question a few days ago
[16:21] <gmb> I did.
[16:21] <intellectronica> if we don't have anything in place, maybe i should do that
[16:21] <bac> leonardr: you said there was a bug already filed.  since my need was not urgent i let it go at that.
[16:21] <gmb> And I got encouraged to fetch the object as XHTML, as I recall ;)
[16:21] <gmb> (Although it made sense in context)
[16:22] <intellectronica> leonardr, bac: if the solution to the bug is not too difficult i'll pick it up now, since my need is a bit urgent
[16:22] <sinzui> beuno: can you confirm that the top-level objects (IPrimaryContext) (pillars, people) will never have breadcrumbs?
[16:22] <leonardr> intellectronica: in fact, i believe BjornT was working on a solution, but not really making it a priority
[16:22] <intellectronica> one thing i was thinking about is simply adding a web_url attribute to each object coming from the webservice
[16:22] <leonardr> or at least he was working on a way to turn a web service request into a website request, which is a prerequisite
[16:23] <intellectronica> leonardr: yes, that's done, but not sufficient
[16:23] <leonardr> intellectronica: yes, that's the consensus solution
[16:23] <intellectronica> leonardr: oright, now if you find the bug feel free to assign it to me
[16:24] <leonardr> intellectronica: actually would you call it web_link instead of web_url?
[16:24] <leonardr> that fits our naming convention
[16:25] <leonardr> or web_self_link if you want to be verbose
[16:25] <intellectronica> makes sense
[16:25] <intellectronica> my_web_self_link
[16:26] <beuno> sinzui, yes
[16:26] <beuno> I confirm
[16:26] <sinzui> okay
[16:28] <sinzui> noodles775: beuno: I think we have a rule to automatically suppress the context heading when the context is IPrimaryContext. This will drop the redundant <h2> headings and may mean no one will every need to pass to the heading-slot...the <h1> in the content with DTRT
[16:29] <beuno> sinzui, it sounds like a good idea
[16:29] <sinzui> We need to keep the slot for the templates that are using it, or update every template to not use it
[16:29] <noodles775> +1
[16:29] <sinzui> beuno: I am traveling Saturday, but I think I can do this for a Monday landing
[16:30] <beuno> sinzui, perfect
[16:30] <sinzui> beuno: noodles775. I am hiding from a beach next week
[16:30] <beuno> ooooh
[16:30] <beuno> that sounds nice
[16:30] <beuno> Florida?
[16:30] <sinzui> noodles775: thanks for helping me understand the issue
[16:30] <noodles775> sinzui: I hope you're not taking your laptop then? (if you're on holidays!)
[16:30] <noodles775> sinzui: np!
[16:30] <barry> sinzui: i thought you were alergic to the beach :)
[16:31] <sinzui> beuno: A North Carolina barrier island.
[16:31] <sinzui> I can find the vacation from hell warthogs email to remind everyone why I am hiding
[16:31] <bigjools> sinzui: I look forward to another holiday report :D
[16:31]  * bigjools still has that email
[16:32] <sinzui> I did not report that my wife set a box of crustaceans on me last year
[16:32] <beuno> sinzui, maybe you should jusst give up on holidays
[16:32]  * beuno hides
[16:32] <sinzui> I like mountains and hiking
[16:33] <noodles775> yeah, me to :)
[16:34] <bigjools> s/h/b/
[16:40] <gmb> Argh. Can we implement bug dependencies for 4.0, please?
[16:41]  * gmb wonders why he forgot to add that to his "top 3" list.
[17:09] <sinzui> bigjools: when is the DSP page landing?
[17:12] <bigjools> sinzui: when it's finished! :)  Seriously, I need a few days yet, prob a week
[17:12] <sinzui> okay
[17:12] <bigjools> I need to codify that complicated table and re-write all the tests
[17:13] <sinzui> I have been removing a lot of tests that were verify the markup structure.
[17:34] <rockstar> ALL:  I'll be ignoring IRC for the next few hours. If you need me, please SMS or call me.
[17:39] <gmb> Is anyone else finding ec2test to be massively, painfully slow to start up today?
[17:39] <gmb> It's bugging the hell out of me.
[17:50] <intellectronica> rockstar: congrats on branch->bug linking. when i use it, the spinner appears above the action icon, instead of over it. is that intentional?
[18:03] <mrevell> Okay guys, see you Monday!
[18:29] <rockstar> sinzui, what is the role of the facet property on menus?
[18:29] <barry> beuno-lunch: ping -> #launchpad-reviews when you return
[18:30] <sinzui> facet binds the menu to a specific application bugs, or answers for example
[18:30] <sinzui> rockstar: it is a dead branch in zope evolution. we should be using ILayer
[18:33] <rockstar> sinzui, so my facets should be 'answers' ?  I'm seeing things like 'overview'
[18:36] <rockstar> I'm just not sure what they do.
[19:05] <EdwinGrubbs> rockstar, abentley: Can I assign one of you a question concerning pushing a branch to LP and the user gets 'different rich-root support' errors?
[19:05] <abentley> EdwinGrubbs: Sure.
[19:06] <EdwinGrubbs> abentley: thanks
[20:14] <EdwinGrubbs> danilos: can I assign you a translations question?
[21:42] <EdwinGrubbs> abentley, rockstar: could one of you respond to the email message on launchpad-users with the subject "merge request resubmission"?
[21:42] <rockstar> EdwinGrubbs, I'll take care of it.
[21:44] <EdwinGrubbs> rockstar: thanks
[22:35] <gary_poster> have a good weekend!
[23:20] <wgrant> matsubara-afk: I am now.
[23:36] <EdwinGrubbs> bac: ping