[00:22] hey huwshimi. I tried to tweak some text in your branch. Lemme get it up, one sec. [00:27] gary_poster: Is this for the interfaces tab? [00:27] (now related charms) [00:28] huwshimi, hadn't gotten to that. was on features [00:28] ah right [00:32] rick_h: still around? [00:32] hatch: kinda [00:32] I'm trying to start up tmux with a config but it appears to be ignoring the tmux.conf [00:33] my startup command is `gnome-terminal -e tmux --maximize` [00:33] hatch: it's .tmux.conf? [00:33] it is [00:33] and in your ~ dir? [00:33] if I go `tmux source-file .tmux.conf` once it starts [00:33] so start a terminal (gnome-terminal) [00:33] then it executes it properly [00:33] and then `tmux` and see if you get any errors? [00:34] well I'm in tmux [00:34] `-e tmux` [00:34] actually if I do that again [00:34] hatch: right, just wondering if launching it that way isn't displaying some error in the conf file [00:34] it also doesn't open it [00:34] ohh [00:38] ahh there we go [00:38] cool [00:38] I had a detached session [00:39] so it wasn't re-loading it [00:39] sorry to bother :) [00:39] gotcha, cool [00:41] trying to figure out how to make a real shortcut for ctrlp [00:41] having to type :CtrlP is a little excessive [00:42] hatch: ctrl-p should do it [00:42] unless you've got something else on the keymapping [00:43] yup I had [00:43] fixed [00:43] heh [00:44] huwshimi, https://codereview.appspot.com/12734043/ LGTM with comments, only one of which might be annoying to address [00:45] gary_poster: Thanks, I'll take a look [00:45] Thanks huwshimi. I won't be around (hopefully!) so if you need to make a change to what I've done, consider yourself to have received a blanket blessing. :-) [00:46] gary_poster: Thanks :) [00:46] don't worry, I'll be back in a couple hours [00:46] so I can reject it for you [00:46] :P [00:46] :-P === schwuk_away is now known as schwuk [12:17] gary_poster: morning, do you have time for a quick call? [12:17] hey frankban, absolutely [12:18] frankban, in guichat [12:18] gary_poster: cool thanks [12:46] rick_h, thanks for taking up huw's branch. want me to take a look at it, or are you just going to land it? either would be fine [12:46] (I mean your version of the branch) [12:47] gary_poster: if you're ok with the change at the bottom of https://codereview.appspot.com/12853043/diff/1/app/subapps/browser/views/charm.js?column_width=80 I'm happy to land it from here [12:47] gary_poster: basically I think the real issue was trying to activate a non-existant tab and wanted to check/fix that [12:48] gary_poster: this means old urls will default to the summary tab vs the 'redirect' approach [12:48] rick_h, sounds good to me, and code looks good. ship it. :-) [12:48] gary_poster: rgr, thanks [13:02] gary_poster: I was thinking: do we really need to watch a single deployment or is it ok to watch them all, leaving to the client the joy to filter changes if it is interested in only one deployment? [13:09] frankban, lol [13:10] frankban, uh, I guess it could be all? And then the client remembers which one it cared about? [13:10] and if you reload the page, it doesn't matter, because it is all the same anyway? [13:11] gary_poster: hopefully quick question for you on a todo you've noted in models/charm.js. it's the bit about verifying if is_subordinate or subordinate is passed from the env. [13:11] jcsackett, gotcha, yeah? [13:11] i was wondering how to go about verifying that on both py and go? i need to verify two other things being passed up as well. [13:12] i'm *guessing* i can check py with rapi. [13:12] but i have no idea about go. [13:12] thoughts? [13:13] gary_poster: yes, and the first message when you watch all is the complete history of all the deployments, except for the completed ones, in which case you just see them in a completed status [13:13] alternatively we can punt on this and leave the checks in place for now; i've audited the code and there was no meaningful cleanup to do until we delete models.Charm, and this stood out as one possible leftover, but i suppose it's not pressing. [13:14] jcsackett, yeah you can use rapi. For go, three thoughts. First, IIRC if you start the GUI up in dev mode the log will include socket communications. You could certainly hack it to do so. Second, in Chrome I think you can see the socket communications. Third, benji added a control-shift-d option to save the websocket log to a file. I don't remember the details, but it might be ideal. [13:15] jcsackett, if it's easy and/or relatively easy and interesting, sure, let's do it. :-) [13:15] gary_poster: would that approach work in sandbox? or do i need to set up a juju deployment of some sort with gojuju? [13:15] frankban, huh...all completed deployments since the beginning of time? [13:16] jcsackett, if we have implemented this in the sandbox, then yes. actually... [13:16] one sec [13:16] looking [13:17] gary_poster: we can set a timeout to clean up old deployments, this is something we need to do also in the case we watch a single deployment [13:18] jcsackett, no sandbox is not good enough. the sandbox is the thing we need to change, if we are wrong. [13:18] gary_poster: ah, so i need to get a working gojuju and deploy out with that, then inspect a deployment. [13:18] jcsackett, right now the sandbox sends is_subordinate but I think it is wrong, for py, go, or both [13:18] jcsackett, exactly [13:18] gary_poster: did I miss the fact that Aaron was going to be out today? [13:19] gary_poster: ok. [13:19] * jcsackett goes to look up juju docs for getting a working go juju. [13:20] benji, I dunno. I don't remember Aaron being out today. jcsackett or adeuring do you happen to know? [13:20] gary_poster, benji: i don't remember him saying he was out today...next week or this friday, maybe. [13:20] * jcsackett checks canonicaladmin [13:21] I can't remeber this either... [13:21] frankban, true...I didn't think that we would need it for the single deployment case but I see what you meamn [13:21] frankban, so yeah, I caould buy that :-) [13:21] benji: he's listed out next week, not today (or any of this week). [13:22] I didn't know canonicaladmin would tell me that. Thanks. [13:22] thanks jcsackett (I was thinking I didn't have canonicaladmin visibility because I didn't manage...silly me). Yeah benji, the calendar link lets you see the next two weeks [13:22] benji: mind you, it's not always accurate. [13:22] heh [13:22] yeah [13:23] it once reported me as being out on "national holiday leave" for three months. [13:23] my holiday is not in, and none of my previous holidays are in because they have not been formally approved :-/ [13:23] benji ^^^ [13:24] k [13:26] abentley: good morning; let me know when you get settled, I'd like a quick call about my branch [13:27] benji: I'm free to chat. [13:27] abentley: cool, I have to go outside to get my camera :) one second and I'll be there [13:49] morning [13:53] morning [13:54] I set up zsh, tmux, vim yesterday [13:54] well 'started' [13:55] it's pretty cool, I can now type tgui and it opens up a new tmux window with it ready to dev on the gui [13:55] hatch, on a vm you mean [13:56] nope in ubuntu [13:56] opening up the terminal opens it up automatically in a new zsh tmux session [13:56] then I navigate to the dir I want to work in and `tgui` [13:57] wait a few seconds and then it's all set up [13:57] I still can't use vim very fast though :) [13:57] hatch, I guess I don't see what is all set up :-) other than vi in a tmux [13:58] oh well it splits the window, makes, the builds, sets the root dir for ctrlp [13:58] oh, ok, cool [13:58] and because I found I switch branches a lot [13:59] all I need to do is navigate to a new branch and type `tgui` and it opens up a new window ready to go [13:59] so I can switch between them using ctrl+b+[0-9] [13:59] I fully expect something to break because it went a little too smooth setting this all up [14:01] bcsaller, Makyo Hi, do either of you guys have sometime to help me with new relation behaviour? [14:03] antdillon: I believe your 2 to 1h early respecitvely [14:03] anything I can help you with? [14:05] I'm in, but don't know anything more about it at the moment. At least, not off the top of my head. [14:10] Makyo, hatch, Thanks, its about adding drag and touch to create a relation between the service blocks [14:10] antdillon, is there a document somewhere for this? [14:11] Makyo, hatch I have the hit detection working [14:11] Makyo, Unfortunately not, Luca asked me to create a fork of the gui and get a prototype of some thoughts working [14:12] Makyo, All he told me was he wanted to drag a server block to touch another then to wait a second or two to create a relation [14:12] antdillon, just wrt touch interaction? Touch has been on the plate since I started at Canonical almost a year ago, and I even have one of our N10s for that work :) [14:12] so what's the question? :) [14:14] hatch, Makyo Is there a simple way to create a relation between two service blocks without a line? [14:14] hatch: the issue when I tried to help him was that he can detect a hit, but he wants to create the relation line aftter that point and the code is setup that it's based off the click/drag start/end and not a good way I could see to suggest "call XXX to get the relation line going" [14:14] Makyo, Oh you have plans for this work already? [14:14] Makyo: hatch not using Ubuntu touch, nothing to do with mobile [14:15] antdillon, no, different touch. [14:15] luca, antdillon, does this take into account ambiguous relation types, or selection of available relate-able services? [14:15] Because, at the very least, all you should need to do are fire the proper events against the topo. [14:16] That will create lines, pop up menus, etc. [14:16] yeah I was just reviewing the code here [14:16] Makyo, I started to us the ambiguousAddRelationCheck function but seems tided in with the dragged line [14:16] so you want to drag one service onto another service to create a relation [14:16] the services then....bounce appart? [14:17] Makyo, I can't seem to find a function that takes 2 service ids connects them if they pass the tests [14:18] hatch, At the moment all I want is to create a relation if they overlap [14:19] antdillon, alright. hatch, you seem really eager, and I think we're going to step on each other's toes if we keep this up. You want to take this? [14:19] antdillon: see 'addRelationEnd' in topology/relation.js [14:19] * Makyo bows out. [14:19] Makyo: sure.....unelss you wanted [14:19] :) [14:19] sorry [14:19] hatch, go ahead, I'm not going to just add to this mayhem. [14:19] haha [14:19] hatch, Yes got 'addRelationEnd' [14:20] antdillon: ok then you see the db.relations.create() call [14:20] Makyo, Thanks for helping so early in your day [14:20] hatch, Yes, that does the work [14:20] antdillon, I start at 8, so 20 minutes ago, not so early :) [14:20] oh right Makyo we r on the same time [14:20] this day.... [14:21] hatch, YEah, except for one week or whatever. Yesterday was recovery from travel, so I was in an hour late, working an hour late. [14:21] oh where did ya go? [14:22] hatch, So you think creating a new function in relation.js to take two ids and just run the db code? [14:22] well no heh [14:22] Just down to Denver. [14:22] Makyo: ahh [14:22] antdillon: you also need to add relation wrt the env [14:22] so that it will update everything via the deltas [14:22] when it returns [14:23] that's the key part there [14:23] buuuut [14:23] you might be able to hack it [14:23] by copying the code on line 881 [14:23] db.relations.create() and then firing db.fire('update') [14:24] I believe that'll then fire the proper UI methods to draw the relation [14:24] hatch, antdillon - you will also have to guess at the relation type, FYI. [14:24] While we're being hacky. [14:24] Makyo: yeah I was gona say to create a relation with two services, copy those values [14:24] ^ antdillon [14:24] then use those as static values in your 'drop' method [14:24] since it's just a prototype and all [14:25] hatch, Ok I'll copy the code on and re-factor a new function [14:26] antdillon: the only catch to this approach is that you will need to always pick the same two services in your demo else it'll break :D [14:27] but it's easier to write hah [14:29] hatch, Yeah, I'll get it working for 2 services that I know can connect then get some checks in before. Think luca wants the service to grey out if they are not compatible as you drag one around [14:31] I'm a little concerned [14:32] what happens when you drag one over another one but you're just reorganizing them [14:32] or you accidentally drop it on another one [14:33] just throwing those out there :) [14:33] I actually like the idea I'm just not sure how it will work in reality [14:33] You have to be holding the service block to connect and when you touch them luca wants a timer to appear and if you keep them connected it makes the relation [14:34] I suppose the example I think of is menu items on xbox kinect [14:36] ok well the kinext interaction is irritating :P [14:36] lol [14:36] I always want to 'push' in the air to select the menu [14:36] Lol me too! but been asked to try it :) [14:37] kinext enabled gui? [14:37] :P [14:38] Think, minority report :) [14:41] hatch, Think I could fake it by calling addRelationEnd with the endpoints? [14:41] how we are talkin! [14:41] hatch, Just need to work out what module is meant to be [14:42] I think it's the environment [14:42] sec I'll start up an instance [14:43] aww crap it's not made yet....making [14:43] I've got the endpoints array to send through [14:45] ok almost there [14:46] antdillon: it's actually a RelationModule [14:46] hatch, Which would be created on start drag? [14:47] just looking that up for ya [14:48] your actually going to be IN the relation module [14:48] Thing is the hit code is in service.js which needs to call relation.js [14:50] antdillon: looks like the second param to scene {} events in relation is the relation module [14:50] in relation.js [14:50] so can you move your call there? [14:52] I can call there form service.js? [14:53] if you do that then you'll probably need to pull the relation module instance from the topology modules object [14:53] the topo stuff is organized a little odd because it's done by composition [14:54] topo is like brown playdo because it's full of all the other colours [14:54] hatch, Yeah seems like the super controller of all the modules [14:55] Odd, topo.models is undefined ? [14:57] antdillon: guichat? it'll probably be easyer :) [14:58] hatch, Sure, hangout? === BradCrittenden is now known as bac [15:11] antdillon: hangouts crashed :/ [15:11] hatch, Ah, branch is here: c [15:11] lp:~ya-bo-ng/juju-gui/test-prototype [15:11] ok on it, give me a second to look at it [15:12] and by second I mean a few minutes for it to make [15:12] heh [15:12] hatch, Thanks, I'll get tea [15:50] jujugui call in 10, kanban now [15:50] yeah....what he said! [15:53] hatch, :-) do you mind if I run today since I'll be gone a week and a half afterwards? :-) [15:54] not-at-all [15:54] thanks [15:54] it's a tough crowd [15:54] good luck [15:54] :) [15:54] lol thanks [15:54] he luca, I'll ping you for a quick call in about 35 minutes or so? [15:54] Also, is ale coming back or is she gone for day? [15:58] hey rick_h, huw's css most recent change to summary page was wrong :-( now change log and description ignores whitespace [15:58] that was something he added; it was working when I gave it to him last night [15:58] rick_h, not your problem. sorry. I'll email him [15:59] gary_poster: ah, noticed that change and meant to qa it but had your ok. sorry about that [15:59] arosales, could you take a look at charm details and see if you are OK with new "Related Charms" "Code" and "Features" tabs? Features tab has biggest diff to content [15:59] jujugui orangesquad call in 1 [15:59] np rick_h [16:00] gary_poster: Ale is out for the day [16:00] luca, darn. ok will send email [16:00] gary_poster: no problem for pinging me in a bit for a call [16:00] thx [16:03] gary_poster, will do. In a meeting atm [16:03] do you mind if i get you that feedback by eod? [16:26] arosales, not at all. I'm out for a week and half starting tomorrow, so please give it the juju-gui list [16:27] the October sprint page says to book flights by July 8. [16:27] * benji fires up the time machine. [16:27] Makyo: calling now. [16:28] Makyo: it claims you are not available. [16:28] jcsackett, probably pidgin getting in the way. [16:31] jujugui who wants to chat sticky headers? meet up in guichat [16:32] there [16:51] gary_poster, will do, thanks for the ping. [16:52] rick_h, hatch you done? if not, you want me around? [16:52] we are done [16:52] what's the resolution? [16:53] the timebox will need to be like 4 days [16:53] :) [16:53] ok [16:53] so in our oppinion it's probably low priority compared to others [16:53] would it help to pair or is this a single engineer task? I get the impression that pairing might be good on this. [16:54] wellll...it's low priority compared to getting the inspector done on time [16:54] yeah I think pairing would help [16:54] there are so many issues surrounding the dynamic content [16:54] I can run them past you if you want [16:54] i'm in guichat [16:54] do you have possible solutions? [16:54] ok I'll join [16:54] gary_poster: yea, want a summary? I'd like your feedback on if we can push back slightly for a less fluent version [16:55] rick_h, yeah, guichat? [16:55] gary_poster: rgr [17:32] hatch: so I'm going to grab that checkbox bug to get my feet wet. Let me know if there's something else you think I should hunt at [17:33] sure thing - just remember that's a little more involved because of the databinding [17:33] hatch: yea, hoping it'll get my feet wet on that stuff [17:33] and at least has some limited scope to keep inside of [17:33] a potentially easier one would be 'import config file does not work' [17:34] hatch: ok, will take your advice [17:49] benji, abentley: i'm seeing odd behavior with the enqueue script. can either of you explain http://paste.ubuntu.com/5982047/ noting that ~bac != ~abentley [17:49] bac: The prefix controls charms, but not bundles. [17:50] bac: So you will get my bundle no matter what you do. [17:50] abentley: so any running of enqueue will get all of the bundles all of the time? [17:51] bac: Yes. I consider it a minor bug, but if we get significant numbers of bundles, we'll probably want to fix it. [17:52] abentley: well it is a bit surprising. but now that i know what's happening i can adjust. === BradCrittenden is now known as bac [19:19] abentley: I'm having some late-breaking test failures on my branch, but we should probably put together our plan for the rest of thsi week and next so Gary can see/comment upon it today. [19:20] benji: let's do a call in 15. [19:20] sounds good [19:39] gary_poster: my appt got canceled so i'm not going to be out. [19:39] bac, ok, thanks for heads up [19:53] we really need to shrink the footer and header of the gui [19:54] with browser chrome on my laptop I have maybe 500px of vertical height hah [19:59] a higher resolution laptop would also solve that problem :) [20:00] does anyone remember who styled the zoom controls? [20:00] ^ rick_h it was you right? [20:01] hatch: I reviewed/landed ant's changes [20:02] ahh ok, well he isn't on the kanban so looks like you're getting the credit :P [20:02] wheee [20:02] heh [20:05] rick_h, +1 on the bugfix you are working on. Afterwards, the only big thing to do for being feature complete is to add the constraint section to the ghost inspector--or are you doing that hatch? Otherwise I'd suggest hatch giving a pre-imp on that [20:05] either or - I can preimp regardless [20:07] hatch, is it roughly separate from the rest of what you are doing? the scale up/down is post-deployment, so separate, yeah? [20:07] yeah it's totally separate [20:07] cool [20:08] there might be some template sharing [20:08] will* [20:08] right, that's where the pre-imp would come in handy [20:08] should? [20:08] heh [20:08] gary_poster: k, thanks for the heads up [20:08] :-) [20:15] now that the viewlets are split out they sure looks awesome [20:15] they have regained some of their previous glory [20:16] abentley, benji: care to do a review: https://code.launchpad.net/~bac/charmworld/bundle-results/+merge/179987 [20:16] bac: Will do. [20:17] thanks abentley [20:26] bcsaller: kickin around? [20:26] hatch: yeah, was going to eat soon though [20:26] whats up? [20:26] ok real quick [20:26] unit_count is not firing change events through the databinding when it's value is changed [20:27] was wondering the best way to track this down [20:27] the bindings are being 'added' [20:27] it was though, that is your memory as well? [20:27] so it sets the proper initial value [20:27] at first I thought so [20:27] but I'm not so sure it was ever working [20:27] hatch: that initial value isn't just the template? [20:27] nope [20:28] I'd thought it was showing the number of units when we tested scaling with the current UX [20:28] well why don't you go eat I'll work on another part and when you're back we can run through this [20:28] I'd put a log in _updateDOM and start there [20:28] ok [20:28] I'll ping later [20:28] enjoy! [20:31] bcsaller: I got it....of course right after I ask lol [20:31] enjoy your lunch [20:43] abentley: i see the ingester complains about the bonnie charm. do we give feedback to ~charmers when problems are seen? [20:43] bac: No. [20:50] hatch: what was it? [20:52] bcsaller: if you open the inspector too fast it doesn't work [20:53] hatch: our init routine is broken? [20:53] yeah I haven't had a chance to really narrow it down but if you deploy a service and right away dclick it to open the inspector it doesn't update [20:54] hmm, that will need a card if you don't track it down now, that will hit people [20:56] yeah I'm trying to find a real way to repro 'do all this really fast' isn't really an acceptable repro step :) [21:12] hatch, fwiw there is a card with this description: "ghost inspector: when you click "confirm" and successfully convert to a real service, close the ghost inspector and automatically open the service inspector (or similar)" [21:12] hatch, that's a great way to trigger the problem you describe, it sounds like :-) [21:13] * gary_poster stepping away for a bit but will be back to finish a couple of emails [21:17] abentley: thanks for the _id explanation [21:18] bac: np. [21:19] bac: I was actually wrong, in that the code you changed was already broken, because it was indexing before _id was set. [21:20] abentley: your solution sounds good [21:21] bac: Cool. [21:22] so they say that the Chevy Volt has 10M lines of code controlling it [21:22] using the mythical 10 lines per day [21:22] that would have taken 1M days [21:22] * hatch is skeptical of their claim :P [21:23] make that 1M developer days [21:25] hatch: have you seen how productive rick_h is? those detroit dudes are agile and adroit. [21:25] hatch: Did they say they wrote all the code from scratch? [21:26] bac: sure but sometimes they need a few $B from the government because they forget what they were doing for 10years :P [21:26] bac: The version I've heard is that average developers produce about 10 LOC, great developers 100 LOC and poor developers 1 LOC. [21:26] abentley: I hope not haha [21:27] 100 LOC/day? maybe for a code monkey [21:28] hatch: 100 LOC isn't absurd. I don't hit that every day, but I often do. [21:29] well I suppose [21:29] we have ~45k loc in js in the gui [21:29] which is much less than 100loc/day but I'm not sure how many ft ppl could say we were on it [21:30] 4? [21:30] but that includes comments and closing curly brackets hah [21:32] abentley: your change works. thanks. [21:38] * bac dogwalks [21:39] abentley: yeah I suppose I could see 100loc if you include curly's and comments [22:11] bcsaller: do you have any objection to me sending the prevVal through to the viewlet update method? [22:12] hatch: you have to properly pull it from POJO observe changes as well (it is there but called different) if its part of the interface [22:12] I had that in the original conflict branch as well so I think its a fair idea [22:14] oh right I forgot about the POJO stuff [22:16] bcsaller: ot: do you also use ctrlp for your file searching needs? [22:16] hatch: I use http://vim.spf13.com/ which includes CtrlP [22:17] ahh cool I'll have to look into that [22:17] I see all these fancy themes and then I look at mine [22:17] heh [22:18] using zsh and tmux I have no idea where half of the settings are coming from lol [22:18] spf13 was me not wanting to learn about the world of vim plugins, I mostly haven't had to [22:19] what does your terminal 'stack' look like? [22:24] Morning [22:25] huwshimi: morning [22:26] huwshimi: landed your branch with a tweak for the hash urls. gary_poster mentioned that the css changes broke the white-space respecting bits of the changelog and such. not sure if he emailed you about that or not [22:27] rick_h: Ah thanks. He did not :( [22:29] huwshimi, hey, sorry, yeah. The way the whitespace was for the description and changelog was intentional [22:30] and (at least somewhat) important [22:30] pre-something or other? [22:30] gary_poster: Being proken onto three lines? [22:30] broken [22:30] it looked right in my branch [22:30] huwshimi, maybe there was a case it which it was bad, and I'd be happy to look at it [22:30] huwshimi, but the goal is: [22:31] huwshimi: if there's a newline in the changelog content, or the desciption, we respect it in the html output [22:31] we honor whitespace, we still let it wrap, and we wrap long words (usually urls) if necessary [22:31] basically it was people doing - lists in changelogs and such and not having them go into a single line of output when displayed [22:32] right, and descriptions too [22:33] hatch: I didn't understand the question. I run a vim terminal with 3 or 4 windows and then on another tab I'll run a split console with make devel, make test-server and a shell each in one split using terminator. [22:33] huwshimi: see https://jujucharms.com/precise/memcached-7/ vs http://comingsoon.jujucharms.com/precise/memcached-7/ changelog output [22:33] (you have to open up the changelog to see the one in particular) [22:34] gary_poster: Ah I see [22:35] thanks huwshimi, rick_h [22:35] biab [22:36] gary_poster: Probably worth getting Luca to take a look at what we should do, it looked a bit funny having the description broken onto a new line. [22:36] Also, there where semantic html issue with that specific implementation, but that's not an issue [22:36] (as in, easily fixed) [23:32] rick_h: I ended up getting weechat to work by adding the stable ppa and installing the most recent version [23:33] just in case you were also looking at doing it, you'll want to run the same ppa [23:51] huwshimi, ack. I am out for next week and a half. Please fix up to where it was roughly before, and then shoot out an email to Luca with the other issue you see. [23:56] gary_poster: OK will do