/srv/irclogs.ubuntu.com/2013/12/20/#juju-gui.txt

=== gary_poster is now known as gary_poster|away
* benji does the I-finally-fixed-the-missing-bundle-from-search-bug dance. It's not pretty.13:07
=== gary_poster|away is now known as gary_poster
gary_posterawesome benji.  what was story13:07
benjigary_poster: I don't know how it happened, but the checkout of the bundle branch was updated to revno 2 (there are three revisions total) and the charmworld code looks at the number of revisions in the checkout vs the branch to decide if it needs to update the local checkout, since the local checkout has 3 (but is at 2) and the remote branch has 3 it decided there was nothing to do13:09
gary_posterbenji, oh, weird13:09
benjiit just so happened that revno 2 wouldn't pass proof so nothing would get loaded into the db or ES, but at some point in the past revno 3 had been loaded into the db (and perhaps ES as well, but had been perged from there)13:10
gary_posterinteresting13:10
benjiI will make a charmworld branch that will keep this from happening again.13:10
gary_posteris there some way to prevent that in the future?  I'm guessing we were using bzr revno or equivalent already, and that was what was broken, somehow?13:11
gary_postersounds like answer to my first question is "yes" then :-)13:11
benji:)13:11
rick_h__benji: woot!13:35
benji:)13:35
rick_h__benji: hmm, wonder if when we wiped ES during the great crash that it caused that to happen13:36
rick_h__only recent time of a greast ES purge lately13:36
rick_h__well, until all this13:36
benjiwe should just put an ES purge in cron, it would simplify things13:36
rick_h__heh, es-update turns into a "we can nuke it...and rebuild it"13:37
gary_posterhazmat, hi.  are we doing the UX catchup, with luca unavailable today?  won't be much of a UX catchup without him13:40
gary_posterhttps://floobits.com/ : looks potentially awesome for pairing (real-time collaboration across emacs, vim, sublime text, and browser-based editor) once it's working on SublimeText/Linux (https://github.com/Floobits/floobits-sublime/issues/96)13:45
gary_posternote that one person can be using vim and other person can be using sublime text simultaneously, for instance13:45
hazmatgary_poster, i was planning on it.. ale requested.. will leave up to her13:58
gary_posterhazmat, oh ok.  thx.  May ask Jeff and/or Matt to attend if it seems like meeting is going in a direction where it would be useful for them14:00
BradCrittendenrick_h__: thanks for the review14:01
=== BradCrittenden is now known as bac
bacbenji: i just discovered ingest waits a full 15 minutes between finishing and starting again if --run-forever is used.  dopey.14:02
benjipfft14:02
benjithat might put a damper on throughput14:03
rick_h__bac: sorry, qa is taking a second, proof is blowing up. A bundle by jamespage isn't getting loaded and proof seems to have syntax/json issues right now14:03
bacrick_h__: np14:03
rick_h__benji: gary_poster heads up that proof goes boom currently ^14:03
benjirick_h__: k14:04
gary_poster:-( ack14:04
benjirick_h__: do we fail open or closed?14:04
bacbenji: yeah, so the queue cronjob gets to run every 15 minutes but ingest runs much slower since time to run isn't considered14:04
rick_h__benji: not computing atm. Right now proof has a syntax error and the current proof call from the cli is getting a 500 back from mjc. I'm trying tomanually form the proof call to see if someting in the bundle causes us to 500 or if proof itself is building a bad request14:08
benjirick_h__: my intent was learn whether we reject all when proof fails or let all through when it fails.  I hope we reject everything.14:09
rick_h__benji: we should be doing whatever we do with charms I believe. I'm not 100% sure. We don't get it in the store but can't speak if it's that half 'I know it's there but don't show it' business 14:10
* rick_h__ had to go look up fail open/close14:10
benji:)14:10
hatchso hows everyones morning?14:13
bachatch: i just dropped my yogurt, but until then everything was fine.14:26
hatchoo ouch14:26
gary_posterprobably more like squish than ouch14:29
bacsplat and splurt.  landed on its side, open, and disgorged half the contents.  luckily i didn't step in it.14:33
hatchI wonder how one decides between a splat and a splurt14:34
gary_posterpure sound, I'd guess14:34
hatchanyone know how to debug this http://askubuntu.com/questions/393371/juju-gui-problem-with-login ?14:39
hatchin other news, clojure is a nice looking language https://github.com/swannodette/todomvc/blob/om/labs/architecture-examples/om/src/todomvc/app.cljs14:40
hatchpurely visual, I have no idea what it's doing :D14:40
rick_h__lol14:40
hatchI'm really not sure how all of these clojure > js compilers enforce immutability "with no cloning" 14:41
rick_h__hatch: you have to get into clojure data types14:42
benjiI like lisps, and Om sounds like it is well thought out.14:42
rick_h__because you're in that language you're using it's methods of things which is performing the operations for you in JS14:42
hatchrick_h__ well i'm thinking purely from the javascript side14:42
hatchyou either clone the object, or remake it....not much getting around that14:42
rick_h__right, but you never touch/look at the JS14:42
hatchoh so these statements are purely from the libraries point of view14:42
hatchnot the underlying functionality14:43
rick_h__how I read it but maybe I'm mistaken. I've only looked at closure and not the script side14:43
rick_h__I can't get past all the () in the lisp stuff 14:43
hatchjeesh it's a darn good thing you're in the python world lol14:44
rick_h__I chose python (or it chose me) 14:44
hatchI'm actually pretty interested in lispy stuff, I'll probably be pending some time over the break giving it a go14:44
rick_h__I did php, javascript, asp for more than a couple of years before I busted my $#@$#@ to get a job in python14:45
hatchclosure seems like the best candidate14:45
rick_h__yea, clojure (closure is the google JS framwork)14:45
benjihatch: the concept the datastructures use is called "persistence" but it's not the "store in a database" kind of persistence.  Referring you to this will save me some typing: http://en.wikipedia.org/wiki/Persistent_data_structure14:45
hatchbenji right, but in js you must clone the object to do that14:48
hatchso these docs must be referencing the higher level api's in the libraries14:49
benjihatch: I don't know how ClojureScript is implemented, but you may be right, that or they don't use the JS datastructures at all and can therefore assure true imutability14:50
hatchyeah clojure :) sorry, I was spelling things properly for once lol14:51
rick_h__jujugui added a pair of proof bugs for ingesting bundles to the board. One should be small, one medium. Got around mostly to get james's bundle to load work in jujucharms.com, but can't currently be ingested. 14:53
gary_posterack thanks.  I saw.  that's been waiting for us.14:53
rick_h__yea, he built a serious bundle there14:54
rick_h__openstack-on-openstack 14:54
gary_posterheh, wow14:54
rick_h__I think we found our new test bundle :)14:54
gary_posterawesome :-)14:54
rick_h__"if that works then $#@$#@ everything better work"14:54
gary_posterlol14:54
hatchhaha14:55
bacrick_h__: does this mean my qa is doa?14:55
rick_h__bac: no, it means I'm just now getting to it14:56
rick_h__the fire is in control on the james side. 14:56
rick_h__bac: sorry for the delay14:56
* rick_h__ needs to learn to let irc be more :)14:57
bacrick_h__: thx14:57
hatchrick_h__ "Should proof as valid"14:58
hatch;)14:58
bac'tis the season...14:58
rick_h__hatch: sssh it's friday14:58
bacto shout in a bullhorn14:58
hatchhaha14:58
bacthis week we've had noisy protests from dairy farmers and teachers and now the bus drivers are on strike14:59
rick_h__bac: I changed grocery stores for the last bit because I got sick of the bell outside of the closest one14:59
rick_h__ugh14:59
hatchoh d314:59
hatchI MIGHT have found a clean way to write d3 code15:03
hatchthe linter probably won't like it15:04
hatch    relationWrapper.append('h4')15:04
hatch                   .text(function(d) { return 'Interface: ' + d.interface; });15:04
hatchwell that didn't work15:04
MakyoYeah, the linter kinda hates chaining/.15:04
hatchand I'm with it15:06
hatchhaha15:06
rick_h__bac: are there qa instructions? From where my db is I can't upgrade I get an error that : Exodus index "charms_pending_019" does not exist.15:06
rick_h__bac: and in looking around the migrate stuff has changed a bunch and not sure if I should be able to upgrade from current state or have to do a reset?15:07
hatchannnnnnd relations tab has been converted to d315:07
hatchnow to cssify it15:07
rick_h__bac: and the makefile has no migrate commands any more :/15:07
bacrick_h__: i thought there used to be makefile support for migrate stuff.  boo.15:07
bacrick_h__: you want to chat?15:08
rick_h__bac: sure15:08
rick_h__bac: https://plus.google.com/hangouts/_/7ecpiqltgarlsn4gsp09jd6i2c?hl=en15:08
hatchholy itunes is such a garbage app15:39
hatchjujugui call in 1015:50
gary_posterty15:50
gary_posterjujugui call in 215:58
gary_posterbenji Makyo ping16:00
hatchrick_h__ I have a blog post I wrote a while ago on TDD that people have said has been really helpful16:48
hatchI think it helps answer some of your issues16:48
rick_h__hatch: linky, I'm happy to look. My point was less in theory though and what I tend to run into in practice16:49
rick_h__in theory pure TDD seems great, but in practice you end up really needing a first prototype like gary_poster mentioned to get an idea of what it should look like first16:49
rick_h__and then go back at it, but by then you've put some pre-thought more into things than without a prototype. If you sit down to add feature X to the browser and just start TDD'ing I find that really often the code api is horrible 16:50
gary_posterI think TDD embraces that, or at least some/many practitioners do16:50
rick_h__and maybe I've just had really bad experience with it :)16:50
rick_h__yea, the post-refactor should help some, so I don't really have issues with the full pure TDD in theory. 16:51
gary_posterThat is, you can do TDD without prototyping, but you can still call it TDD with it16:51
rick_h__ah, yea 16:51
hatchhttp://fromanegg.com/post/54890090207/test-driven-development-the-easy-way16:51
rick_h__hatch: yea, this kind of fits in with what I'm saying. I really find I like to sit down and work out 'what is the code I want to write to make feature XX happen'16:53
rick_h__and then write that with TDD, but establish most of an 'api' first16:53
hatchwell the TDD is supposed to help you design the api16:53
hatchif you need these X things to happen you need at least X functions16:53
hatchbecause a function should only have a single role16:53
hatch(in a perfect world)16:54
hatchit also then helps you prototype because you can use the test to send a datastructure to that function16:54
hatchso you can iterate very fast16:54
hatchTDD is hard to do because we just want to get in there and DO something :D16:55
hatchI suppose that's BDD? heh16:55
hatchgary_poster would you say that clojure is a good language to learn to get a better understanding of these persistent data structure ideas? 16:57
benjirick_h__: If you want a different perspective, I really like documentation-driven development (especially for libraries, but I consider almost everything a library even if it only has one user)16:57
benjithis guy's writing states it pretty well: http://tom.preston-werner.com/2010/08/23/readme-driven-development.html16:58
hatchTDD, BDD, DDD16:58
hatchhow many DD's are there? heh16:58
benjibut I think it should be taken one step further: your documentation should be tested so that it isn't lying about the code (https://pypi.python.org/pypi/manuel/)16:59
hatchjust write Go with godoc then ;)16:59
benjieven better than DDD, I like ZDD (zealot-driven development)17:01
rick_h__woot! how can I sign up for that17:01
benjihatch: godoc doesn't let you have a real naritive structure, think more like literate programming, but literate tests17:01
hatch:)17:02
hatchMakyo got a second to look at some d3 code? https://gist.github.com/hatched/5466e333d47b7b459486 17:02
benjirick_h__: I'm not kidding, if a group of people really like something (a language, a library, a methodology) it is a good way for the group to be very productive17:02
rick_h__I think I'm feeling like I'm missing something though because many of the quickstart reviews I've had a hard time with. 17:02
rick_h__though it seems a LOT of design/discussion has gone into them ahead of time 17:03
Makyohatch, sure.17:03
* benji stops talking about this before he suggests regex-driven-development.17:03
rick_h__so I'll get back to going through the functional JS book and see if I can open my brain up a bit more, but man sometimes I can't help but think what a different version would be written like17:03
hatchthe unitlist exit isn't working....just wondering if there is something obvious I'm missing17:03
hatchline 7117:03
Makyohatch, try storing the enter in a different variable.  line57: var units = unitList.enter(); units.append [...]17:06
hatchthe unit property is entirely going away as well, think that could be it17:06
hatchso line 52 would return undefined17:07
hatchI can try the new var though17:07
MakyoOh, hm.17:07
* Makyo goes through expenses, sheepishly submits three items :(17:09
hatchyeah that didnt help so it must be that units is undefined when there are no unit errors17:09
hatchso I'll leave that as an empty array17:09
MakyoOh, okay.17:09
MakyoYeah, that makes sense.17:09
hatchhmm ln 111 is throwing a d3 .length error...I might need to use filter there17:14
MakyoThere is no line 111.  Options are filter or empty array, seems like.17:15
Makyowhy not return d.units || [] or something?17:15
hatchthe data structure not has units as an empty array 17:18
hatchbut line 51 is throwing the error sorry17:19
hatchmy guess is that the selectAll is returning undefined17:19
hatchso it can't call length on it17:20
MakyoCan break and run it in isolation?17:23
MakyoselectAll should return an empty array.17:23
hatchcool got it working17:24
hatchman you're a good rubber duck17:24
hatch:P17:24
hatchMakyo is there a way to debug things like these select and selectAll calls? 17:26
hatchbesides console logging their output?17:26
hatchI'm hoping for some kind of debugger; injection :)17:27
MakyoDebugger line 48, relationWrappers is now in scope in the console. Don't know what else you need.17:28
hatchwell say I wanted to keep the chaining going but inspect the data as it progresses through each step17:29
hatchI could assign each to a variable of course but that's kind of a lot of work :)17:29
MakyoYou were given an up-arrow and console history for a reason :)17:30
Makyodo the .select(), then uparrow and add the .selectAll()17:30
hatchohhhhh kayyy17:30
MakyoGiven that the debugger works differently depending on browsers, actual injection would be kind of huge.17:30
hatchyeah17:40
hatcha guy can dream I suppose :)17:40
hatchmake lint......kaboom!18:02
frankbanMakyo: EOD for me, time to go. I know you are already busy mon and tue, so, the following is just for reference: my current branch is in lp:~frankban/juju-quickstart/env-manage-edit . it's almost done (some tests missing). If you want to take a look, good, if not good again, and I'll finish the work on Jan.18:23
Makyofrankban, Cool, I'll pick it up next week pending this branch.18:24
gary_posterfrankban, happy holidays!18:24
MakyoJames' brake calipers froze, going to get him to the shop in a few over lunch, will be afk during.18:24
frankbancool, thank you gary_poster, you too! happy holidays everyone!18:25
gary_posterack18:25
gary_poster:-)18:25
hatchanyone available for a quick pre-test-writing review?18:25
gary_posterhappy holidays to everyone in jujugui.  I'll see a couple of you Monday.  I'm going to go lie down18:25
hatchfrankban merry christmas!18:25
MakyoCheers.  Happy merry.18:25
hatchlol18:25
frankban:-)18:25
hatchMakyo might have jumped into the sauce a little early18:26
=== gary_poster is now known as gary_poster|away
benjigary_poster: Merry Christmas and a Happy New Year!18:26
MakyoHah!18:26
hatchhttps://github.com/hatched/juju-gui/compare/juju:develop...hatched:relation-unit-errors?expand=118:26
hatch^ Makyo wana take a quick peek? 18:27
MakyoSure.18:27
hatchthanks18:27
hatchThe tests aren't in that of course but just want to make sure you agree with the code before I write them 18:28
MakyoThat seems reasonable, yeah.18:33
hatchkewlio18:33
hatchnow to lunch18:34
* Makyo runs away to help James.18:47
bacbenji: thanks for the qa-ing18:59
benjinp18:59
* bac walks dog between downpours20:40

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!