21:01:52 #startmeeting crossproject 21:01:53 Meeting started Tue Aug 18 21:01:52 2015 UTC and is due to finish in 60 minutes. The chair is EmilienM. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:01:54 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:01:56 * bknudson lurks 21:01:56 The meeting name has been set to 'crossproject' 21:01:57 #link Agenda: https://wiki.openstack.org/wiki/Meetings/CrossProjectMeeting 21:01:58 o/ 21:02:03 This is my first time I'm leading this meeting, please be kind :-) 21:02:09 o/ 21:02:09 * ttx will heckle 21:02:10 \o 21:02:13 o/ 21:02:16 o/ 21:02:25 * edleafe is here but has to leave soon 21:02:26 EmilienM: we're a gentle lot 21:02:37 but only for your first time 21:02:39 o/ 21:02:39 o/ 21:02:43 #info Meeting Chairs still needed for September 1, September 29, and October 13 21:02:45 o/ 21:02:51 Hi 21:02:53 like mestery said in the previous meeting "Signups appreciated!" 21:03:06 EmilienM: +1000 :D 21:03:10 #topic Team Announcements (horizontal, vertical, diagonal) 21:03:10 please use #info ! 21:03:11 And thanks to EmilienM who signed up for 2 slots 21:03:23 Nothing specific from release management. 21:03:26 Remember liberty-3 and feature freeze come in two weeks 21:03:34 (for those stil following that) 21:03:36 +l 21:04:06 EmilienM: no courtesy ping for the tc members ? 21:04:07 I have a useful information: Puppet OpenStack CI is running Liberty packages in their CI - we are close to trunk now 21:04:12 EmilienM: just fyi, I did not get a courtesy reminder. possibly some other folks didn't too 21:04:19 lifeless: I copy pasted from other meetings, my bad if I missed you 21:04:19 #link http://lists.openstack.org/pipermail/openstack-dev/2015-August/072140.html 21:04:29 mass rename of git repos from stackforge to openstack being scheduled 21:04:36 weigh in on the thread if you have concerns/questions 21:04:37 o/ 21:04:38 #info Puppet OpenStack CI bumbed to liberty 21:04:39 ttx: 2 weeks!!! 21:04:48 EmilienM: you missed annegentle too 21:05:08 mestery: I must be getting old, but time really flies 21:05:14 lifeless: ok, sry for that 21:05:19 np 21:05:25 ttx: Greybeards :) 21:06:19 do we have any other useful and exciting team announcements? 21:06:53 sadly, no new api-wg guidelines this week 21:07:18 I guess we can go ahead into the agenda then 21:07:33 nods 21:07:56 #topic How to generate .Z version increments on stable/liberty commits 21:07:56 #link http://lists.openstack.org/pipermail/openstack-dev/2015-August/072216.html 21:08:01 ttx: o/ 21:08:02 wheeee 21:08:05 this'll be fun 21:08:11 #link http://lists.openstack.org/pipermail/openstack-dev/2015-August/072216.html 21:08:14 So this is about agreeing on the way forward for stable point releases 21:08:15 go to your corners and come out swinging 21:08:20 It feels like the recent discussion is converging toward the use of openstack/releases for stable branch releases 21:08:28 and doing "frequent", separated point releases for every service component rather than one-per-commit 21:08:38 I kindof feel that we haven't actually define the constraints and success criteria 21:08:39 The drawbacks with that option being that consumers of the stable branch are unnecessarily limited to specific tagged commits 21:08:58 err, not sure there was convergence on that.. 21:09:04 and we all depend on various project teams to remember to push them 21:09:24 Daviey: ok, good! 21:09:55 we expect project teams to care about stable? :) 21:09:58 it feels to me like the discussion on dropping stable point releases has circled back around to how to orchestrate stable point releases 21:10:17 mriedem: maybe not the entire team but surely there are a subset that care? 21:10:35 clarkb: ++ 21:10:57 I think the question needs to be, how can we enable each commit to be a release without tainting ref tag namespace but have deterministic release versions. 21:11:11 don't call me shirly 21:11:21 In Vancouver we established that frequent and/or automated releases with autogenerated release notes was the only way to sclae the stable branch point release process in bigtent world 21:11:40 we could keep squashing commits in stable branch until we feel like committing 21:11:52 that leaves us with the question that Daviey eloquently put 21:11:53 bknudson: thats ugly particularly if something breaks and you need to bisect 21:11:58 well, only way to scale it if the alternative of dropping them was off the table 21:12:14 Original proposal was tagging every commit, to which clarkb objected 21:12:26 Daviey: what about if we just release the ones people need? 21:12:40 johnthetubaguy: that's totally subjective though right? 21:12:44 johnthetubaguy: then we are back to doing release management and cutting releases? 21:12:46 part of this, i think, is examining the alternative implementations and determining if there's one that's not more absurd than just not making stable point releases 21:12:50 Daviey: true 21:13:19 mriedem: yeah, just trying to dream up a middle ground.... not sure that works 21:13:20 fungi: Sorry, can you rephrase? 21:13:32 ttx: to be fair, the original original proposal was to stop making stable point releases 21:13:47 yeah 21:13:53 fungi: but then people asked for reference points, which is a fair request 21:14:03 my team releases from stable when we need to, not based on community schedules 21:14:14 ttx: can we fix that with tooling? 21:14:16 * dims peeks in late 21:14:19 Daviey: why does that need to be the question ? :) 21:14:23 Daviey: yes, i don't feel like we've yet arrived at a proposed implementation that is less crazy than a) continuing what we already do, or b) no longer doing it 21:14:36 lifeless: Why /doesn't/ it need to be the question? :) 21:14:36 fungi: I guess a combination of none + some ref points could be "on-demand tagging" 21:14:50 ttx: that's basically what tempest does 21:14:58 tags for interesting points in time 21:14:58 Daviey: what problem does having each commit be a release solve ? 21:15:10 At this point I'm fine with that (tagging once in a while), since it's definitely an improvement 21:15:21 Daviey: where release is defined as 'has a fixed well known version number suitable for uploading to a package repository like PyPI' 21:15:27 and we need /something/ before liberty release 21:15:27 mriedem: yep. keep in mind that a lot of what the stable branch release managers were doing was taking care of that process for the majority of projects which really only cared about their master branches 21:15:29 yeah, I guess on demand tagging is what I was meaning, but that means something needs doing, rather than it being automatic 21:15:38 Daviey: (because even though we don't upload the servers, we do upload the libs) 21:15:46 fungi: yeah, hence my earlier rhetorical question 21:15:53 lifeless: The issue is that upstream + Daviey's-secret-sauce == differnet pbr version to what upstream + lifeless's-secret-sauce is.. but 'people' compare releave version numbers 21:16:18 right so this is one of the major failings in pep440 21:16:21 (not to mention semver release requirements for dep handling) 21:16:23 but that ship has sailed and we did the best we can 21:16:23 Daviey: sure. And pbr doesn't try to solve the 'distributed version number allocation' problem. 21:16:34 you can ask pbr for a specific sha1 if/when necessary 21:16:49 lifeless: Yeah, so we need a x.x.x+y thing? 21:16:52 Who is against "tagging once in a while", using the current openstack/releases framework ? 21:16:53 pbr based versions from untagged commits are simply not globally unique. 21:17:07 they are also not suitable for uploading to an index 21:17:10 lifeless: but they do have globally unique attributes that you can query 21:17:13 Daviey: no, that doesn't solve it 21:17:15 clarkb: they do 21:17:23 but yes doesn't solve the upload to index problem 21:17:25 ttx: honestly, it feels like a good starting point while we invent something better 21:17:25 ttx: Tagging once in a while is worst of all worlds, no? 21:17:36 Daviey: explain why 21:17:56 Daviey: it reduces the release all the projects now problem 21:18:01 Daviey: it's like not releasing + adding reference points that people ask for 21:18:01 (I think) 21:18:02 ttx: I think tagging is a key component in any route forward 21:18:10 "tagging once in a while" implies there's someone doing that, so a prerequisite question is whether there's someone willing to do that 21:18:12 lifeless: right 21:18:23 fungi: thats my biggest concern with it, +1 21:18:33 fungi: while True: if random()> 0.9 then git tag... 21:18:36 ttx: We still cut releases, but half assed? 21:18:46 fungi: if that's the only question, we can open up to the PTLs in the crowd and ask them if their stable release liaisons would do that 21:18:50 So the same burden, but no gain? 21:19:03 Daviey: no more stable release managers though 21:19:06 * lifeless is still fundamentally unsure of the problem we're trying to solve. 21:19:09 I watch stable for keystone and I'm willing to propose changes to releases when I think it's ready. 21:19:23 mriedem: do you fancy more work? 21:19:27 Daviey: the request would come from the project teams themselves. Also automated release notes would make them cheap 21:19:31 there are several projects that already don't really seem to care all that much about stable, so i don't see why it matters if they don't care about tagging 21:19:33 what stops folk consuming stable branches consuming them if we don't 'make every commit a release' ? 21:19:36 johnthetubaguy: sure 21:19:46 ttx: And we are sure projects will drive stable cuts? 21:19:46 why are we doing this /at all/ ? 21:20:07 Daviey: they won't 21:20:08 lifeless: because people want to be able to say "this vulnerability is fixed in X.Y.Z 21:20:10 lifeless: You've been in this debate before, no? 21:20:12 Daviey: not all 21:20:17 and I run X.Y.Z+1 21:20:38 mriedem I do think you are hitting on something there about folks not caring too much about stable right now 21:20:39 i think of this like when we do novaclient releases, 21:20:41 maybe we only backport security fixes for all things 21:20:42 so they need some reference points. At the very least around vuln fixes 21:20:43 we do them as needed/requested 21:20:52 then there would be fewer backports 21:20:56 bknudson: there are more than security fixes we need 21:20:59 like things that impact upgrades 21:21:02 ttx: ok, so its to distribute the ability to assess whether a security fix is included to a local version-check ? 21:21:17 s/security/important/ 21:21:21 lifeless: it's also about comparison between distros IIUC 21:21:36 i.e. make X.Y.Z mean the same thing everywhere 21:21:41 ok. So I'd like to make an assertion. 21:21:49 there are two well known ways to solve this. 21:21:50 lifeless + ttx: So rather than say, 2015.1.5 i'd say $release + x upstream commits ~= a semver release. 21:22:04 A) Centrally assigned numbers. 21:22:21 B) the VCS DAG. 21:22:25 umm, that is tricky 21:22:44 ttx: cross distro comparison is a deal breaker, +1 21:22:51 how much would be ~ ? 21:23:18 Do we have agreement that we're looking at either A or B; further if we want to flatten things into 'version numbers' then B is infeasible. 21:23:28 cross distro comparison is overated IMO. :) 21:23:34 lifeless: if you tell me what DAG is, maybe 21:23:38 Daviey: agreed 21:23:48 ttx: the directed acyclig graph 21:23:52 #link http://ericsink.com/vcbe/html/directed_acyclic_graphs.html 21:24:03 ttx: basically the git tree that represents the repos history 21:24:14 ttx: e.g. cross referencing git commits to determine if 'feature X is in my tree' 21:24:19 is the DAG different to your list of commits? 21:24:27 ah, hmm 21:24:27 johnthetubaguy: same same 21:24:42 the FAG is an assured list of commits, right? 21:24:47 err DAG* 21:24:48 johnthetubaguy: DAG implies more structure, but for our needs we're looking at set membership 21:25:03 lifeless: for security fixes, yeah 21:25:17 I think version numbers are the thing and downstream expects to have it 21:25:28 err 21:25:35 B is something we can do today if you query package metadata 21:25:37 I mean, are the thing upstream expects to get 21:25:40 lifeless: so if we give each commit a version off master, we can find that in other peoples trees, and find the number? 21:25:47 dammit, "downstream" 21:25:59 getting late 21:26:01 lifeless: Are you leading towards deterministic version numbers based on the upstream DAG? 21:26:23 Daviey: I don't think that is possible under pep440 21:26:36 don't distros all cherry-pick different patches on top of whatever we release? 21:26:39 because even upstream we can have >1 proposed next states 21:26:55 clarkb: SemVer based on upstream signed commits? 21:26:56 clarkb: sadly thats not preserved by e.g. dpkg or rpm 21:26:56 bknudson: they still use our version numbers as base 21:27:25 Daviey: yes we can do it based on signed tags but not the raw DAG 21:27:42 doing it based onthe raw DAG is what PBR tried to do until the pep440 mess happened last december 21:27:45 then we all had a sad 21:27:49 ah 21:27:53 johnthetubaguy: thats how (B) might work. But I think its too big a mismatch vs x.y.z style numbering 21:28:11 ttx: i assume bknudson's point though is that regardless of version you're probably getting a different set of commits from different distros 21:28:36 Daviey: I'm trying to make sure I actually have a handle on everyones concerns 21:28:45 so here's my concern 21:28:45 lifeless: I was thinking it just defines the z, the rest is based off a tag, but it seems... messy 21:28:46 mriedem: arguably with the same common base, though. 21:28:52 if I pull nova kilo 21:28:54 and do a commit 21:28:59 ttx: sure 21:29:14 that MUST NOT be confused with the next commit that lands in git.o.o/nova's kilo branch 21:29:32 or we've failed at the requirement that you can tell if you've got fixes from there 21:29:37 lifeless: yes 21:30:02 this means that regular old commits are not sufficient, even if we changed pbr 21:30:15 so we're looking at centrally assigned version numbers. 21:30:17 I see no way out of assigning version numbers through a tag. And if that results in pollution, then we should tag less often. 21:30:30 but equally, as a consumer from git.. i probably need to apply patches and have incrementing version numbers for my site (i don't) 21:30:30 lifeless: they could be if pep440 allowed a unique non sorted identifier 21:30:37 lifeless: but it doesn't so yes 21:30:49 but can't we just imply the tag from when the commit lands in master? 21:30:56 for every commit? 21:31:02 I guess I just missed a bit 21:31:02 clarkb: Even if pep-440 permitted that there'd be no way to distinguish the real thing from the local thing 21:31:10 lifeless: but yeah, central or otherwise deterministic version numbers seems to be the requirement 21:31:12 clarkb: so pep-440's limits don't alter this 21:31:19 Daviey: no, *central* specifically. 21:31:28 lifeless: you would be able to distinguish between the two, but not determine which is canonical 21:31:29 Is anyone other than Daviey against the "push a tag now and then" approach ? 21:31:33 clarkb: right 21:31:33 lifeless: why do we care if Central or distributed ? 21:31:47 clarkb: and the canonical aspect is required to answer the 'and I have importance fix X' 21:31:53 clarkb: which is an input requirement 21:31:54 lifeless: it isn't 21:32:02 Daviey: comparing across distros, for security fixes? 21:32:06 at least it isn't required ot have that encoded in the version 21:32:18 lifeless: the human can compare the non sorted unique identifier against what they know to be canonical 21:32:19 johnthetubaguy: no, even if distributed it is still deterministic 21:32:22 clarkb: I'm not smart enough to see how it would, but since you agreed that we can't do whatever you're thinking of anyway, lets move on. 21:32:43 Daviey: OK, I am not seeing the distributed one properly right now it seems 21:32:54 Daviey: if its distributed anyone can allocate numbers right ? 21:33:32 lifeless: If pbr counts OpenStack signed tags, for example... it isn't centralised.. right? 21:33:33 Daviey: but there's only one source of truth for 'security fix X in nova/kilo'. So those numbers have to be unique and clearly identifiable 21:33:41 But whatever, this is imp' detail. 21:33:58 time is running out, I suggest we close this topic shortly and maybe follow up on mailing list or during the next meeting 21:34:03 Daviey: signed tags in the git.o.o nova tree are centralised 21:34:11 Daviey: so it seems you're the only one against the "tag now and then" approach. COuld you post something on ML explaining why ? 21:34:20 And taht would be our next step forward ? 21:34:40 (and we can move on to next topic) ? 21:34:53 ttx: Sure, but TL;DR is.. it is the same problem, with no additional improvement from what i can see.. Just moving the problem along to further tooling. 21:35:14 I'll be happy to refute that on the ML. Next topic ? 21:35:35 cool 21:35:58 #action ttx to followup .Z version increments on stable/liberty commits on the ML 21:36:09 #topic How to autogenerate release notes on stable/liberty commits 21:36:14 #action Daviey to explain why "tag now and then" is the 4th knight of the apocalypse on the ML 21:36:15 #link http://lists.openstack.org/pipermail/openstack-dev/2015-August/072315.html 21:36:21 ttx: o/ again 21:36:21 So this is the side discussion -- we need to generate release notes so that if you pick a random commit on the stable branch you still have relevant release notes there 21:36:28 (and automate release notes creation for the point releases themselves) 21:36:34 Daviey suggested using git notes, and I suggested driving them from commit messages and openstack/releases change content 21:36:39 (which would allow proper code review of them) 21:36:48 that requires developing a Gerrit plugin similar to the reviewnotes plugin, and add features to pbr to generate releasenotes from git notes. 21:37:01 Yeah, probably more work than is worth. 21:37:05 But then fungi said something about git notes requiring special config 21:37:06 ttx: so I am concerned about git notes 21:37:33 ttx: if it requires special config to get git to replicate the data needed to get pbr to produce the same output in a fresh clone 21:37:42 Daviey: I fail to have a better solution, and automated release notes are critical to make the "tag now and then" painless 21:37:43 then we'll be facing regular 'waah its different' requests 21:37:46 this could help generate release notes on master, too. 21:37:55 ttx: like, I'm *really* concerned. 21:38:04 lifeless: agreed, I didn't know git notes were that encumbered 21:38:14 ttx: so I think we need to drill into the analysis that led you there much more carefully 21:38:20 fungi: can .gitnotes not support core.logAllRefUpdates or whatever it is? 21:38:23 lifeless: isn't there some default ref space that is always exported or something ? 21:38:33 ttx: with an eye to acceptable compromises that will meet our needs 21:38:42 ttx: such as roll-forward via commits 21:39:00 Daviey: i'm not sure what you're asking 21:39:04 fungi: err, .gitconfig 21:39:11 lifeless: ok, so let me redefine problem space quickly 21:39:19 Daviey: .gitconfig can. users would have to set it 21:39:37 fungi: I'm saying, can per-tree not export a git config that would pull in notes without users having to make changes 21:39:42 * we want consumers of the stable branch (from random commit and from tagged versions) to get a valid release notes document 21:39:46 Daviey: my comment about configuration was that by default git doesn't fetch refs/notes/* and you need to configure it locally to do so 21:39:47 I wouldn't be able to push the notes anyways, would I? 21:40:13 * Some things in that document (like OSSA numbers) we only know after the commit is pushed so we need a way to retroactively fix those 21:40:25 Daviey: it's a per remote config, not a per repo config 21:40:26 (i'm not that bought into notes, but it did seem an approach worth considering for this space) 21:40:32 fungi: ah 21:40:38 bknudson: my proposal was to have Gerrit push them from other things that we code review 21:40:42 see ml post 21:40:49 referenced above 21:41:00 oh, cool. 21:41:06 the git authors assume you'll pull git notes potentially from multiple remotes into differet local refspaces, and have no idea what you want them called, so punts on doing that without explicit configuration 21:41:07 git log --oneline --no-merges .. 21:41:11 couldn't we just dump that in a thing?> 21:41:17 when we do a new release 21:41:22 mriedem: that's a changelog, not release notes 21:41:33 mriedem: a) we do 21:41:35 ttx: yar 21:41:37 mriedem: b) as ttx says 21:41:46 mriedem: The issue is enumerating through announcements and issues that need to be shared. 21:41:50 yeah 21:41:53 mriedem: this is what pbr creates today - https://mock.readthedocs.org/en/latest/changelog.html 21:41:56 processing tags etc 21:41:56 mriedem: point being that if we need the release notes to mention something that we didn't know at the time a commit message was written, there's no way to go back and revise the commit message after merge 21:41:57 I mean, we can also say that we don't do release notes for stable branches point releases 21:42:10 but when we discussed that in YVR people kinda wanted them 21:42:17 ttx: so, what I've seen work well in the past is an in-tree data structure that can be updated via commits 21:42:20 EVEN if we stopped doing releases at all 21:42:30 ttx: I don't understand why that wouldn't work. 21:42:32 do we have release notes for stable releases now? (I don't remember updating any) 21:42:38 bknudson: yeah 21:42:53 when we discussed not doing stable point releases in yvr, some people basically said "that's okay as long as you can provide something else which is exactly like a stable point release" 21:42:54 lifeless: so you mlean amending backports to edit an additional document ? 21:43:20 ttx: the simplest possible implementation is a .rst file called 'RELEASENOTES.rst' in the tree. 21:43:33 lifeless: merge conflicts? 21:43:36 That was suggested on the ML and shot down, let me see why again 21:43:38 bknudson: e.g. https://wiki.openstack.org/wiki/ReleaseNotes/2015.1.1 21:43:45 Daviey++ 21:43:46 ttx: we can obviously do something much more sophisticated to address the issues that arise from using a DVCS etc etc. 21:43:50 Daviey: ^ 21:43:58 I'm not proposing the simplest possible thing 21:43:58 lifeless: The other issue is looking back and thining, OH DAMN - we need to document $THIS 21:44:08 Daviey: so you do that by editing the data structure. 21:44:19 Which is a commit. 21:44:31 we could make it so that when the commit with the release notes is merged then that gets tagged 21:44:35 SO rewrite history?(!) 21:44:39 Daviey: no 21:44:43 Daviey: release notes are not a changelog 21:44:47 Daviey: there is no conflict here. 21:45:07 lifeless: oh, YOU were the one shooting it down. Funny heh 21:45:09 would be like updating the release notes wiki after kilo is released 21:45:17 we do that frequently 21:45:19 is https://wiki.openstack.org/wiki/ReleaseNotes/2015.1.1 genereated automatically? 21:45:19 ttx: possibly :) 21:45:20 The reason i suggested notes is that it is independent of the commit itself, but tied to a commit. 21:45:22 Something with the same process as ChangeLog generation today - read 21:45:22 from git, process, output document - will be much less fragile for merges. 21:45:34 bknudson: don't think so, apevec created that 21:45:53 15 minutes left and we need to talk about 'Return request ID to caller" + Open Discussion 21:45:56 ttx: oh, merge conflicts, thats a good point... 21:46:21 johnthetubaguy: that said lifless is right that you can build a directory structure and avoid those merge conflicts 21:46:21 ttx: so no 21:46:26 ttx: that wasn't shooting it down 21:46:30 ttx: I quite liked how yours has both autogenerated stuff and overrides, maybe we but the overrides in truee 21:46:34 ttx: oh, true 21:46:40 ttx: Maybe the fix is simple as, whomever +A's has responsibility for adding an entry to the wiki... Not clean IMO, but perhaps suitable? 21:46:42 ttx: it was pointing at needing one of the more sophisticated implementations 21:46:57 hmm, ok, we need to clear the floor 21:46:59 ttx: sorry that that was unclear 21:47:07 lifeless: how about you propose a solution there ? 21:47:11 sure 21:47:18 I think I have a handle on whats needed 21:47:21 OK, we have a next step. Great 21:47:22 yeah, if updates to the release notes file drive releases, then that conflicts with one tag per commit anyway 21:47:22 ttx: go on, we will be discussing this again in Tokyo :) 21:47:25 Daviey: people forget that stuff really easily 21:47:29 I will do so by replying to the thread 21:47:31 Indeed. 21:47:39 We need that completed for Liberty release, so there is a time constraint 21:47:47 I don't think that a single release notes change should trigger a tag 21:47:53 EmilienM: I think you can switch to next topic 21:47:55 cool 21:48:00 wait.. 21:48:00 sorry we kinda overran 21:48:01 Action? 21:48:06 #topic Return request ID to caller 21:48:13 #link https://review.openstack.org/156508 21:48:16 tpatil: hello 21:48:20 We have updated the specs to include work item to mark openstack python package as private in python-*clients as decided in the last meeting 21:48:21 #action lifeless to document an in-tree solution without merge conflicts 21:48:34 Request everyone to please review the specs and give your valuable feedback 21:49:31 That's all I wanted to update here 21:50:10 tpatil: thank you 21:50:24 we have time for open discussion then 21:50:42 except if there is more to talk about the current topic 21:50:47 I guess we can spam it with extra questions on the stable point release stuff 21:51:02 #topic Open Discussion 21:51:16 ttx: spam enabled 21:51:58 the two actions we spoke about looked promising, with my optimistic hat on 21:52:01 lifeless: one drawback of the in-tree solution is that it prevents straight backports, but I guess that's a lesser evil than writing hundreds of line of Java and relying on git notes 21:52:12 I have a question - do we usually take care of actions in the following meetings? like "review past actions items" 21:52:24 if not, I would like to bring it in the next meeting 21:52:30 EmilienM: we don't, but we probably should 21:52:40 We used to :) 21:52:45 we will then :) 21:53:00 everything is less evil than hundreds of lines of java. 21:53:11 lol 21:53:28 if there is nothing else to talk about, I'll let ttx go to bed and close the meeting, otherwise rise your hand 21:53:37 EmilienM: the trick is people attend this meeting based on the agenda... and so most of the time the ACTIONed people are not around the next time 21:53:55 when it was the allhands meeting it was easier 21:54:11 :) 21:54:15 I think I can close it 21:54:20 thanks everyone and see you next week 21:54:20 I think you can 21:54:25 ttx: good night 21:54:27 #endmeeting