/srv/irclogs.ubuntu.com/2014/08/27/#juju-gui.txt

hatchany vim users here? I'm trying to find out what the equivalent of 'x' is but instead of delete, backspace03:12
hatchahh upper case x03:14
hatchX03:14
hatchhmm which doesn't work03:14
hatchkadams54:  you use vim?03:14
kadams54Yes.03:14
hatchwhat is 'backspace' ?03:15
hatchx = delete03:15
hatchI found online that says X = backspace03:15
hatchbut that doesn't work03:15
hatchoh crap now it is03:15
hatch:/03:15
hatchhah03:15
hatchit's a little clumsy though I suppose03:15
kadams54hm03:17
kadams54I can't say I've ever seen it function as backspace03:17
kadams54Usually just delete03:17
kadams54But given the various navigation shortcuts, I've never really needed backspace03:18
hatchyeah I'm slowly learning vim heh03:20
hatchvery slowly03:20
hatchprobably just in time for some other editor to come out that's superior03:20
hatch:P03:20
hatchkadams54:  do you also use jj as your escape?03:21
kadams54no03:21
kadams54I use escape as my escape03:21
kadams54I do have my leader key mapped to comma03:22
kadams54http://walking-without-crutches.heroku.com/image/images/vi-vim-cheat-sheet.png03:25
hatchleader key?03:25
kadams54Yeah, it's important when you start talking about vim plugins03:25
hatchso you reach all the way up to escape every time you have to exit from insert mode?03:26
kadams54For example, there's one called NERDTree that adds a file browser on the left side, similar to what you see in a lot of the editors.03:26
kadams54You access that by hitting <leader>+n03:26
kadams54And yes, I reach all the way up03:26
hatchugh, yeah definitely couldn't do that :)03:26
kadams54I've done it enough times that it doesn't feel awkward.03:26
hatcheven the vim website has jj as the example for remapping haha03:26
hatchmy escape key is so far away I have to actually move my hands off of the keyboard :)03:27
kadams54Based on that shortcut, it looks like Shift+x is backspace03:27
hatchyeah, I figured it out, I kept hitting caps (which is remapped to ctrl)03:27
kadams54I knew someone who mapped caps to escape03:27
kadams54https://github.com/carlhuda/janus03:28
kadams54Even if you don't use Janus, there are some really good links for learning Vim in the readme03:29
hatchI need caps as ctrl for tmux03:30
hatchwell, and everything else that uses ctrl :)03:30
kadams54Alright, I'm heading to bed.03:33
kadams54Have fun learning how to be a real programmer ;-)03:33
hatchlol03:36
hatchnight03:36
=== urulama-afk is now known as urulama
urulamajujugui: https://github.com/juju/charmstore/pull/8207:43
urulamajujugui: revision-info was not under the implemented endpoints07:43
urulamajujugui: i just merged it as it was just api reordering07:51
urulamafrankban: good point, will do.08:07
frankbanurulama: great thanks08:07
frankbanrogpeppe1: could you please also take a look at https://github.com/juju/charmstore/pull/81 when you have time?08:08
urulamafrankban: added card for weekly discussion08:09
frankbanurulama: cool08:10
urulamafrankban: one more thing from the QA test ... we did not define what happens to the revision numbers when uploading the same archive. Currently, rev.num. is increased with every POST. I would suggest that it is only changed if SHA is different. 08:30
frankbanthinking08:32
frankbanurulama: that sounds reasonable. so, for series/charm-name, if a previous revision exists and has the same hash, publish is basically a no-op.08:38
frankbanrogpeppe1: ^^^08:38
urulamafrankban: i would say so, yes. no upload. no rev inc.08:38
rogpeppe1urulama: i'm not sure08:38
urulamarogpeppe1: heya, morning ... any counterexamples why we would want to inc the revision?08:39
rogpeppe1urulama: it just seems like a reasonable invariant that if i do an upload, i get a new revision08:39
rogpeppe1urulama: (changing this will also break current test logic, but i guess that's by the by)08:39
urulamarogpeppe1: on the other hand, if i double click the link in the gui (making a mistake), i get 2 versions08:40
urulamarogpeppe1: breaking test logic would be ok in this case :)08:40
frankbanrogpeppe1: FWIW a nice side effect of this change is that the ingestion logic can be simplified08:40
rogpeppe1frankban: only if the zip archives are deterministically made from the VCS info, i guess08:41
urulamarogpeppe1: that is a good point08:42
rogpeppe1urulama: i'm wondering about situations where we *want* a new revision, regardless of the content08:43
urulamarogpeppe1: i tried to find one, but couldn't08:43
rogpeppe1for example, we might want to associate some revision-info with the new revision, in extra-info08:43
urulamarogpeppe1: except that it is really easy to test everything :)08:43
rogpeppe1urulama: i don't quite get why it makes it easier to test08:44
urulamarogpeppe1: you just upload 10 same zips and can get expand-id, revision-info, charm-related, bundles-containing showing more than one ... and deleting one still returns results08:45
rogpeppe1urulama: how is that different from current?08:46
urulamarogpeppe1: no, no, current implementation is easier for testing.08:46
rogpeppe1urulama: ah yes08:46
urulamarogpeppe1, frankban: I've just made a mark in the doc about the revisions increase. And let's leave it as it is, as it is easier to understand what's happening with each POST. In case it turns out that we want a NOP POST, we can change later.08:48
rogpeppe1urulama: sgtm08:48
frankbanrogpeppe1: with that change, it would be harder the case when you need different revisions of the same charm in tests. Tests requiring different charms would still work reusing the same charm implementation. for the former case, it should not be hard to implement a factory that just increases the revision number before returning the archive impl. urulama: sounds good08:49
urulamarogpeppe1: could you take a look at this "investigate how juju-core pings for upgrades" for the next task? The aim of this is that we'd like to have a number of live charms (deployed and used) in some recent time frame.08:50
rogpeppe1frankban: yeah, it wouldn't be too hard. but i don't really see that it's that important. the important place to do this logic is at the client side (we need to make the hash of the archive available to clients, if we don't already)08:50
rogpeppe1urulama: sure08:50
frankbanrogpeppe1: sure, I mentioned that just to understand if I see the possible problems08:51
frankbanurulama: re the card "store: Update bundles to support multiple revisions and make available over api v4": it seems you confirmed this already works in your QA, I guess we can move the card to done08:52
urulamafrankban: i was looking at this already, guess Rick added it ... yes, this can be removed. done.08:54
frankbancool thanks08:54
* urulama likes when things get resolved without extra effort :)08:54
frankban:-)08:56
* frankban bbiab08:56
urulamafrankban: after PR 81, we only support https? (because conf.validate will fail if user and pwd are not set) 09:23
* urulama lunches09:53
frankbanurulama: no, we still support http, but we require auth for POST/DELETE archive10:39
frankbanurulama: so I guess we'll need to add to options to the charm10:40
urulamafrankban: to options to the charm?10:51
frankbanurulama: sorry, two options to the charm10:51
frankbanurulama: like superuser-name/superuser-password or something like that, so that the charm can generate the cnfiguration file for charmd with the proper options10:52
urulamafrankban: do we need this?10:53
=== tvansteenburgh1 is now known as tvansteenburgh
jcastrorick_h_, I'd like to feature a bundle13:04
jcastrobut it appears like I can't self feature like I can with charms13:04
urulamajcastro: rick_h_ is on well deserved holidays13:05
jcastrooh boo! :)13:05
jcastrocan any of you guys feature a bundle?13:05
urulamajcastro: not sure if such functionality is possible right now13:07
jcastrowell, we have featured bundles already, so it exists13:07
urulamajujugui: anyone with access to do featured bundles?13:08
jcastroBradCrittenden, this sounds like something you would know13:08
BradCrittendenurulama: yes i should be able to.  anyone in, what ~charmers, shoule be able13:19
=== BradCrittenden is now known as bac
bacurulama: what bundles?13:19
urulamabac: something jcastro needs ... jcastro what bundles?13:20
jcastroelasticsearch please!13:20
jcastrobac, ^13:20
jcastrobrand new and shiny!13:20
urulamabac: speaking of ES :D :D13:20
bacjcastro: this one: http://manage.jujucharms.com/bundle/~charmers/elasticsearch/cluster13:22
bacjcastro: if you login, and visit that page do you not see a "Feature" link?13:22
* bac teaches fishing13:22
* bac done13:29
bacjcastro: if you visit that link now you should see an 'unfeature'.  urulama you might try it as well to see if  you're in the correct groups.13:29
urulamabac: i am not :)13:31
urulamabac: just kidding, yes, i see unfeature link13:32
bacoh, good13:32
jcastroI was at that page, I just totally missed the link!13:32
jcastroah nuts, on my screen, the featured bundles collapses, so you can't really see it on the list. :-/13:33
jcastrothere's no way to change the order of the featured bundles is there?13:33
jcastroI'll just unfeature mongo for a bit13:34
urulamajujugui: taking the kinds to visit my parents ... be back in 20min13:42
=== urulama is now known as urulama-afk
hatchjujugui there are a ton of branches from huw from last night - I'll do one review for them all, I'll need one more, any volunteers ? 14:01
=== uru_ is now known as urulama
lazyPowerhey hatch, i'm getting some weird artifacting on the gui using Chrome Version 36.0.1985.143 -  http://i.imgur.com/a4HCoEX.png14:24
lazyPowerthis persists through a page refresh14:24
hatchlazyPower:  yeah....14:25
hatchthis appears to be a chrome bug14:25
lazyPowerok i haven't filed a bug or looked for one to contribute to - i was more confirming its known behavior14:25
hatchit only happens on some icons though14:25
hatchso we may be able to fix it by fixing some icons14:25
lazyPowerstrange that they were working fine before - any clue as to what's stemming the icon issue?14:26
lazyPowerolder svg spec?14:26
hatchlazyPower: honestly I have no idea, it displays fine in all other browsers14:26
hatchI spent a couple hours trying to track it down before but no luck14:26
hatchif you come accross something let me know....the bug is...14:27
hatchhttps://bugs.launchpad.net/juju-gui/+bug/135867114:27
mupBug #1358671: Charm icons not rendering properly <juju-gui:Triaged> <https://launchpad.net/bugs/1358671>14:27
hatchmaybe if you could add that image to the bug14:27
hatchya know - more people, higher priority :)14:27
lazyPoweralready done :)14:30
hatchgreat - but you'll see that it's only certain ones - primairly the wordpress and mysql ones14:30
lazyPoweri've seen it happen to the category icons as well - but its random14:31
lazyPowerit doesn't always rear it's head, and its not always on the same icons14:31
lazyPowerit typically happens when i'm zoomed out and zoom back in14:31
hatchhmm14:32
lazyPoweralso, moving the charm squircle appears to make it re-render the svg properly14:32
hatchyeah...odd14:33
hatchsince nothing changes in the gui14:33
hatchthe markup is identical when you drag14:33
hatchso it's definitely a chrome bug14:33
hatchjust not sure how to workaround it14:33
lazyPowerthrow more javascript at it14:34
lazyPower:P14:34
hatchhaha14:35
hatchMakyo:  jcsackett your branches ready to land now?14:39
jcsacketthatch: doing the rebase to cleanup this very moment.14:39
hatchcoolio14:40
MakyoWas hoping for another +1, but can land whenever.14:40
hatchit's going to be in a queue behind huw's branches heh14:40
hatchMakyo:  don' you have 2?14:40
MakyoDidn't last I checked.14:40
MakyoOh, there it is.14:40
MakyoSometimes GH streams comments, sometimes not.14:40
hatchyeah i've noticed that14:41
hatchwe might be back down to 0 open pr's again today :)14:45
hatchassuming of course CI doesn't totally shit the bed14:45
jcsacketthatch: big assumption.14:49
hatchlol14:52
hatchjujugui call in 214:58
hatch__kadams54: 15:00
kadams54joining15:01
kadams54Hangouts is telling me to wait :-)15:01
bacjrwren: it is an unwieldy solution15:25
=== mup_ is now known as mup
urulamabac: if you're out next week, and Friday is your product management day, could we spend some time tomorrow on ES schemas for current version and start working towards schema for charmstore v4?15:26
urulamabac: by we, i meant you, jrwren and me15:27
bacurulama: yes i think that's a good idea15:27
bacurulama: and the following week i'll be working in UTC+2, so we can collaborate like crazy!15:27
urulamabac: aaa, i misunderstood that you are offline ... ok, ok, then np, no need to change activities15:28
urulamabac: you'll be French! :D15:29
bacurulama: no you were right.  next week i'm out.  the following week i'm working from UTC+215:29
hatchworld traveler! 15:29
urulamabac: hehe, ok, then schema it is tomorrow and soon, you'll be French! 15:29
baci will not actually *be* french.  i will be in france.15:30
baci think gillam gets to spend the week working with our host guillaume in a winery, eating baguettes.15:31
bacnow that's french15:31
frankban:-)15:31
* urulama gets hungry15:31
urulamabac: but you can enjoy their lunches, where wine is of course big part of it 15:32
bacmaybe not15:33
frankbanjrwren: FYI I think the design team already has some stuff re dominant charm color (IIRC they did something on the client side). I might be worth asking them15:33
* frankban now wants escargot + bourgogne wine for dinner15:36
jrwrenfrankban: Thanks, I'll ask. Should I just email luca? That design team?15:41
frankbanjrwren: yes15:42
lucajrwren: antdillon is the best person to talk to about the colour thing15:42
antdillonjrwren, hi15:42
antdillonjrwren, are you looking for the generic icon stuff?15:43
jrwrenNow I want to make baguettes.15:45
urulamaantdillon: luca pointed at you about that dominant colour :D15:50
hatchjrwren:  need barley for that? haha15:50
rogpeppe1bac: just had a brief glance at elastigo. looks like it's just a very thin wrapper around normal http methods. doesn't look like it adds enough value to justify it as a 3rd party dep15:50
rogpeppe1bac: perhaps useful for the struct definitions15:50
jrwrenantdillon: I think so, yes.15:50
jrwrenantdillon: predominant background color of the svg.15:50
rogpeppe1bac: but i'd tend towards defining an API that we want to use and defining marshaling types as necessary, with reference to the elastic search API docs15:50
rogpeppe1s/API/Go API/15:50
antdillonurulama, oh that colour lol ... what you need jrwren ?15:51
jrwrenhatch: I've considered wheat futures too :)15:51
urulamaantdillon: just how to get it :D15:51
lucaurulama: currently what I think Ant uses is pretty simple and we would like to tweak it once we can see it’s application when running on a proper database15:51
lucaantdillon: ^15:51
bacrogpeppe1: interesting15:51
hatchjrwren:  haha15:51
antdillonurulama, jrwren currently I pick the colour of the pixel at 10x10 on the charm icon and apply that colour to the hero row background colour15:52
jrwrenantdillon: DONE! :)15:53
urulamarogpeppe1: khm. you sure it's worth it? then we have to track ES development and update that ...15:53
urulamajrwren: NONONONO! :D :D15:53
jrwren10,10 when the svg is sized to what?15:53
rogpeppe1urulama: do we really trust the author of elastigo to do that? also, isn't the elastic search API versioned?15:53
urulamaluca, antdillon: so the "better" algorithm is not used? surely we must do better than that :D15:54
hatchso I can help ya'll out with this15:54
hatchpretty simple really15:54
jrwrenurulama: luca said they would like to tweak it, so maybe we default to this but allow the value to be set via POST?15:55
hatchrender the svg to a canvas, then go pixel by pixel reading the colour data15:55
antdillonjrwren, the icons are currently displayed at 45px but when grabbing it with js it can be anysize15:55
rogpeppe1hatch: that assumes we can render svg...15:55
hatchrogpeppe1:  why can't we?15:55
hatchwhat are we? amatures!!!!!15:55
hatchno but really...why can't we15:55
hatch:)15:55
rogpeppe1hatch: maybe we can - we'd need a library for doing svg->raster in go15:56
antdillonurulama, we only wanted to select the background colour of the charm icon15:56
urulamajrwren: we have SVG code in go, why not just do something smarther ... but yes. the first implementation can take the colour of 10,10 pixel :D15:56
rogpeppe1hatch: 'cos i don't really want to write one from scratch15:56
antdillonurulama, I took an average of all colours before but if resulted in some ugly colours15:56
hatchrogpeppe1:  right - the proper tool for the job here is to use phantom/casper etc15:56
rogpeppe1if we've got a bitmap icon, it would be easy to take the majority pixel colour15:56
jrwrenI found this: https://github.com/ajstarks/svgo   I don't think CC attribution makes for a good software license :(15:57
hatchunless there is a svg to raster go tool15:57
urulamadidn't someowne in jujugui write the go code for svg already? 15:57
urulamasomeone even :D15:57
hatchMakyo:  wrote a svg renderer yes15:57
jrwrenurulama: hatch thanks.15:58
frankbanurulama: Makyo did, but generating the svg is different than converting it to a raster in order to do pixel counts15:58
rogpeppe1hatch: wasn't that something that generated svg to be rendered elsewhere?15:58
hatch^ that15:58
urulamaa, ok, generator ... not renderer. ok.15:58
hatchso anyways, to do this is pretty trivial using phantomjs buuuut that requires phantomjs dependency heh16:00
hatchcan I propose having a microservice for this task?16:00
rogpeppe1i guess this isn't *too* far away http://godoc.org/code.google.com/p/draw2d/draw2d16:02
rogpeppe1but i suspect that svg is quite involved to parse and render, as every web standard is16:03
hatchhttp://www.svgopen.org/2011/papers/34-SVGo_a_Go_Library_for_SVG_generation/16:04
jrwrenits *just* xml. :p16:04
hatchlol riiiight16:04
hatchurulama:  is a microservice an option?16:04
urulamahatch: i'd like it not to be :D16:05
hatchhaha, well it probably 'should' be, they are all the rage now :)16:05
hatcheasy to test, upgrade, etc etc :P16:05
MakyoSVGo was less than ideal, but oh well.16:06
frankbanrogpeppe1: exec.Command("convert", "input.svg", "output.png") ? ;-)16:07
urulama:D16:07
MakyoThat'd work, heh16:08
MakyoImageMagick's a heavy dependency, but probably already on the system.16:08
hatchthink so?16:08
MakyoMaaaybe?16:08
frankbanit is if the charm installs it16:08
hatchhaha16:09
jrwrenhatch: nice paper. I still find the CC attribution license strange.16:09
rogpeppe1hatch: that doesn't render it16:09
rogpeppe1hatch: it just produces svg16:09
rogpeppe1hatch: which can be rendered elsewhere16:09
rogpeppe1https://groups.google.com/forum/#!topic/golang-nuts/IonhQBFfg7o16:09
* rogpeppe1 tries to think of a way we can avoid the problem16:09
=== rogpeppe1 is now known as rogpeppe
urulamadoes anyone knows how much "cpu" does rendering of svgs take?16:09
rogpeppe*producing* svg is easy16:10
rogpeppe*consuming* it is hard16:10
hatchjrwren:  rogpeppe no idea, I just found it while googling 16:10
urulamamaybe postprocessing job is not that bad of a solution16:11
hatch:)16:11
hatchI'm not sure if go has a library for parsing png pixel data but you can do it via js and canvas 16:12
hatchbut that requires phantom or th elik16:12
hatche16:12
hatchalthough it sounds like the current winning solution requires imagemagick16:13
frankbanhatch: IIRC png handling is in the go stdlib16:13
hatchwhich also isn't very small 16:13
urulamajrwren: just do the get/post methods for the colour for now16:13
urulamajrwren: and luca will be super happy, he'll be able to test and change colours on the fly :D16:13
hatchfrankban: ahh yes there is one that returns an Image interface....nice16:14
rogpeppefrankban: yeah, that's an option, i guess16:14
rogpeppeurulama: it's probably not too bad, if you're not running an external command that's reading and writing to the filesystem :-)16:14
hatchso in that case imagemagik + that is probably the best option16:14
urulamarogpeppe: no, no ... no disk involved16:15
hatchwhy is disk bad?16:15
rogpeppewow, svg really is huge. http://www.w3.org/TR/SVG/single-page.html16:15
rogpeppehatch: bitmaps are easy to do in go16:15
hatchrogpeppe:  right but you have to get from svg to png16:16
hatchfirst16:16
rogpeppehatch: yeah16:16
urulamai guess python has svg rendering lib?16:16
jrwrenso huge it took a decade to get browser support16:16
hatchohhhh kadams54 - how goes the reviews on huws stuff?16:16
rogpeppehatch: i'm wondering if we could just do it with an external process that processes svgs and adds background colour metadata16:16
hatchrogpeppe:  thats what I suggested earlier :P16:17
rogpeppehatch: the downside of that is that you're not guaranteed a background colour in a timely way16:17
urulamahatch: and that's what it looks will be at least a short term solution ...16:17
hatchrogpeppe: what? 1s too slow? how long do you think it'll take? lol 16:17
hatchit'll only need to be done when it's updated16:18
urulamaluca: from your perspective, could we have a delay on the charm colour when uploaded?16:18
rogpeppehatch: i was thinking of something entirely external to the charm store server, that just crawls charms that needs their bg colour updating16:18
lucaurulama: I would like a small delay so it has more impact16:18
urulamaluca: can we use PNGs instead of SVGs in charms ;)16:19
hatchrogpeppe:  oh I was thinking that when a new charm is updated the charmstore would send the svg out for parsing 16:19
hatchso it'll only need to be done once per icon update16:19
lucaurulama: ooooo, I don’t know. I doubt it.16:19
rogpeppehatch: yeah, it could do that - that's essentially the "run the convert command" approach16:20
hatchrogpeppe:  yeah - imho that's the best way because it's a bunch of code/process that will sit dormant 99% of the time16:20
rogpeppeactually, i do know how we could do it in Go16:20
hatchso might as well separate it out16:20
urulamarogpeppe: with a queue. send an ID in the db, svg-renderer is a charm, related to the CS mongo, it takes the ID, process it ... 16:21
hatch^ that16:21
urulamarogpeppe, hatch: classical batch system ... 16:21
hatchyep, and if the svg has this 'major-colour' param then you can skip it 16:22
hatchyou could put it on a micro then, really16:23
rogpeppeurulama: i'm not sure exactly what you mean by "send an ID in the db"16:23
rogpeppeurulama: ah, perhaps you mean "from the db" ?16:23
urulamathat :)16:23
rogpeppeurulama: you'd have to be careful how you find the next id to send16:25
urulamawhen archive is posted?16:25
rogpeppeurulama: what happens if the charm store goes down just after that?16:25
urulamait's the same as cleaning up the blob/name mess16:26
rogpeppeurulama: i think you'd need some kind of queue in the database, holding all the ids that still need colours16:26
hatchit could just whip through the charms to find ones which are missing the metadata then send those out16:26
Makyojujugui trivial review/QA https://github.com/juju/juju-gui/pull/51816:26
hatcheven if there are 100,000 charms it'll only take seconds at most to query 16:26
urulamarogpeppe: another collection?16:26
rogpeppeurulama: yes, that's what i was thinking16:27
rogpeppeurulama: when a charm is added, you add its id to the "needs external processing" queue16:27
rogpeppeurulama: but then you run into issues trying to make it scalable16:28
rogpeppeurulama: for example, what if you want to have several workers processing requests from the queue concurrently. then you need some kind of a lease system.16:28
hatchrogpeppe:  honestly though - how long do you think it'll take that you need to do it like that? :)16:29
rogpeppejeeze, this is a lot of proposed mechanism to get 3 bytes of data.16:29
urulamarogpeppe: that's why i was first suggesting batch system 16:29
urulamarogpeppe: INDEED!16:29
urulamaluca: we don't need clours! :D16:30
jrwrenyes, I do not like these proposed mechanisms. I'd prefer to write Cgo to librsvg16:30
urulamaluca: colours even16:30
rogpeppejrwren: let's not add cgo as a dependency16:30
rogpeppejrwren: directly, at any rate16:30
rogpeppejrwren: we could perhaps have a separate binary16:30
jrwrenrogpeppe: why is that?16:30
lucaurulama: I disagree :P16:30
rogpeppejrwren: because cgo is evil :-)16:30
urulamajrwren: I don't like something that is cpu intensive (or might be) to be needed when archive is posted16:31
jrwrenurulama: do we know it is cpu intensive? Its like the clock time of the processing task will be far less than time for network xfer of the post.16:31
rogpeppejrwren: and more concretely, it admits lots of potential C loopholes like buffer overruns etc16:31
jrwrens/like/likely/16:31
urulamajrwren: /me goes and look for that, have no idea about svg rendering requirements16:33
frankbananother possibility is the client (the GUI) to do that the first time using the "print to canvas" approach, then sending the result back to the server to be stored, subsequent requests don't need recalculation, and sooner or later the billions of GUIs out there will cooperatively do the job for us16:33
hatchyou're all talking like we are writing some system to manage google scale svg parsing, when atm we have, what, 100?16:35
hatchand at what rate will they be added, max 1 per day?16:35
frankbanhatch: 100 * numSeries * numRevisions + the same for private charms16:36
hatchwe don't show icons for private charms16:36
jrwrenhatch: lets say customer X wants to sping up a new charm store, maybe they have a charmstore per department. Lets say they have these for prod, pre-prod, QA and dev envs.16:36
frankbanhatch: oh we do16:36
frankbanhatch: local charms16:36
hatchright local charms16:37
jrwrenhatch: I share your concern of overengineering. I feel it is not quite as simple as we have just 100.16:37
rogpeppeyeah, i'm thinking along jrwren's lines. when we bootstrap a new charm store, we don't really want to spend a great amount of time rendering svgs for all the charms16:37
hatchok 100 was an exaggeration 16:38
rogpeppei'm more concerned with the extra dependencies and complexity than the cpu time though, in all honesty16:38
hatchwe don't really store and need to parse svg's for all revisions do we?16:38
urulamahatch: yes, but taking some time to find a proper solution is better then just do the wrong one because we can :D16:39
hatchhaha true16:39
hatchso maybe the first step is hack something together real quick to see how long it takes to parse16:40
hatchsomething imagemagik and go 16:41
hatchthen you'll actually know, this takes X ms to parse16:41
hatchwho knows, it could be so darn fast that it doesn't matter :)16:41
urulamahatch: trying to use google for that, but we might have to do that, yes16:42
jrwrentime for i in `seq 1 1000 ` ; do rsvg-convert memcached/icon.svg > icon.png ; done  16:42
jrwrenmy stupid quick get an idea for it test ^^^16:42
jrwren19s16:42
jrwrenon my old slow server16:42
hatch19s to convert 1000svg's to pngs?16:43
jrwrenyes16:43
urulamawow!16:43
hatchthat's pretty fast :)16:43
jrwrenI know, kinda slow.16:43
hatchlol16:43
jrwrenthat also spawned 1000 processes, which is not insignificant16:43
hatchjrwren:  what's the old slow server?16:44
jrwrenE850016:44
hatchoh ok, so not really that slow16:44
jrwrenThat is a 6 year old CPU.16:45
hatchright, but doesn't your script only use a single core?16:45
jrwrenbut compared to clouds where we run, yes, its lightning fast.16:45
jrwrenyes, script is single core.16:45
hatchyeah so a person could multi-thread it16:46
urulamahatch: when you start talking about using cores, you know it's slow ;)16:46
hatchurulama:  haha16:46
hatchwell if you put it on a quad core it'll cut it by 3/4 :)16:46
jrwreni don't know how rsvg-convert is implemented.16:46
rogpeppejrwren: i was also looking at rsvg-convert16:47
hatchno idea16:47
urulamajrwren: let's stay with the get/post implementation16:47
rogpeppeit works ok even when the source and destination are pipes too16:47
jrwrenurulama: ok.16:47
urulamanot saying to stop discussing about the solution16:47
urulamajust that we'll start with that16:47
hatchMakyo:  I thought that we weren't going to show uncommitted units in the icon status bar? 16:48
hatcham I getting my discussions cross?16:48
MakyoOh, I don't know.  Was there a discussion on that?16:49
MakyoI took the path of least resistance, but can go that way, too.16:49
jrwrenIn general, do we have specific performance requirements?16:49
urulamajrwren: please take a svg from a charm and repeat the test?16:50
jrwrenurulama: that was a svg from a charm.16:50
* urulama drops a jaw on a floor16:50
urulamathat. is. slow.16:50
jrwren52/s sure is not fast.16:51
hatchluca: you here?16:51
lucahatch: hi16:51
jrwrenurulama: but again, that is a terrible test.16:51
hatchluca:  the status bar on service icons, are we supposed to show uncommitted units in there?16:51
hatchor ignore them from the status bar?16:51
urulamajujugui: see you later16:52
lucahatch: ignore them for the time being but that may change, I wanted to see how it worked16:52
hatchcya urulamau16:52
kadams54urulama: have a good one16:52
hatchluca:  I'm just asking because Makyo is working on it atm, and it's easier to show them, vs hide16:53
hatchbut from a UX standpoint....does it make sense to show them?16:53
Makyohatch, luca I can show them with one CSS tweak as uncommitted blue fwiw16:53
hatchyeah16:53
jrwrenI guess 52/s isn't THAT bad. 19ms sounds faster.16:53
hatchlol16:54
hatchjrwren:  add moar coars 16:54
MakyoI kind of like it because then I can see how much I'm going to add in proportion to how much I already have.16:54
hatchMakyo:  good point16:54
hatchI'm good with it, just want luca's approval so we don't get another bug report :PPP16:54
Makyono prob16:54
lucaMakyo: you want to show them in the bar?16:55
rogpeppejrwren: here's the source for rsvg-convert, FWIW: http://paste.ubuntu.com/8160919/16:55
jrwrenrogpeppe: https://git.gnome.org/browse/librsvg/tree/rsvg-convert.c :)16:55
rogpeppejrwren:  :-)16:55
Makyoluca, I do personally, but you're the designer :)16:56
hatchhaha16:56
rogpeppewhat i don't really get is why we can't implement this logic in the client, that's going to be rendering the svgs anyway16:56
MakyoLet me screenshot16:56
lucaMakyo: ok16:56
lucaMakyo: I wanted to see how it worked in the GUI, it might be best to play with it there and then remove if necessary16:57
jrwrenrogpeppe: its a fair question. Why is meta/color in the spec?16:57
lucaMakyo: I wanted the health bar to depict health only16:57
rogpeppecan't the client grab the svg, render it, pick out a pixel as appropriate, and use that16:57
rogpeppe?16:57
Makyoluca, that makes sense, yeah.16:57
jrwrenrogpeppe: exactly.16:57
hatchrogpeppe: jrwren: it's cpu intensive and quite a bit of overhead to do it all the time instead of just showing a provided hexcode16:58
lucaMakyo: should we try it with for the time being and then I can see how it feels and works?16:58
hatchmany cpu cycles around the world wasted for what? FOR WHAT? 16:58
Makyohttps://www.dropbox.com/s/e6z5k2betv6xoqy/Screenshot%20from%202014-08-27%2010%3A57%3A30.png?dl=016:58
Makyoluca, ^16:58
hatch;)16:58
Makyoluca, sure, it's easy to back out.16:58
lucaMakyo: cool, will the blue also show in the inspector?16:59
Makyoluca, we don't have the status bar in the inspector anymore, but it does still list uncommitted units with the blue uncommitted indicator.16:59
hatchMakyo:  that's because it's broken ;)16:59
lucaMakyo: thats a bug, the health bar should be visible in the inspector17:00
rogpeppehatch: it might be worth trying to see how much time it actually takes when done client-side17:00
MakyoOh, then yeah, it'll show there.  The CSS affects both status bars17:00
Makyo(and I'll see about fixing that)17:00
hatchrogpeppe:  it has to load the svg, render it to a canvas, read the pixel data, determine which colour is the predominant one, then set the bg colour - on every page load17:01
hatchvs, set background-color: #xxxxxx17:01
jrwrenhatch: ty, that is a good use case.17:01
Makyohatch, have the clients send the data back to the server to store, call it distributed :D17:01
jrwrenhatch: doesn't it load the svg and render it anyway?17:01
rogpeppehatch: well, on every page load that uses an svg we haven't seen before, i guess. or is it not possible to cache stuff client side?17:02
hatchwell no it caches the svgs17:02
hatchbut it'll need to render it to a canvas and do the processing every time17:02
MakyoCould dump it in localstorage17:02
MakyoOr whatever the KV pair thing is.17:03
jrwrenhatch: doesn't it do that anyway? or does it need this background color for some case where the svg is not rendered?17:03
hatchyeah, but this is all vs setting a hex code as the bg17:03
hatchjrwren:  svg is rendered as an image17:03
hatchnot into a canvas17:03
jrwrenoh! image not...17:03
jrwrenhatch: thank you. I see now.17:03
hatchI'm not saying it's not possible - just that it's a lot of overhead for every pageload vs doing it once serverside and setting the bg colour of the container element17:04
hatchcode-wise it's also pretty trivial, just cpu intensive (and we only have a single thread)17:05
hatchMakyo:  could you take a review of huw's branches?17:06
hatchI'd like to get them landed17:06
Makyohatch, sure17:06
hatchthanks17:06
rogpeppeanother possibility is to make it part of the charm uploader's responsibility17:07
hatchMakyo:  thanks for the reviews!17:23
hatchMakyo:  so you're leaving it with the uncommitted in the status bar? Just checking so I can +1 if so :)17:24
Makyohatch, yeah, it's easy enough to remove, and will give luca et al the chance to play with it.17:25
hatchcoolio17:25
MakyoWill fix the status bar in the inspector next.17:25
hatch+1'd17:25
hatchawesome17:25
lucaMakyo: hatch thanks guys17:25
hatchugh ci18:44
hatchjcsackett:  I don't know what bitch planet is but it sounds interesting.....19:28
jcsacketthatch: scifi comic by kelly sue deconnick. modern reworking of 70s era "prison planet" films.19:29
hatchinteresting, guessing it's good?19:30
jcsackettit hasn't actually started yet; launches in december.19:32
jcsackettbut everything else she's written has been awesome.19:32
jcsackettshe maintains a blog she posts art and stuff to for it, which is where that image came from.19:32
hatchahhh19:33
jcsacketthatch: also, i am now running my blog on ghost, using the charm. :)19:37
hatch*squeeeeee*19:37
hatchwhat's your setup like? haproxy? apache?19:37
jcsacketthaproxy -> ghost -> mysql19:37
jcsacketthaproxy and ghost running on the same machine.19:37
hatchcool, how much is it going to cost you per mo?19:38
jcsackett$20. it's two 1024 linode instances; used manual provider.19:38
hatchahh cool, you should blog about it :)19:38
jcsacketti did have to clone it and deploy a local version to get it out on trusty.19:39
hatchI need to figure out a way to use the charm to redirect my tumblr urls to their respective ghost ones19:39
jcsacketti intend to.19:39
hatchyeah sorry about no trusty one - I need to write amulet tests before the trusty one will get promoted19:39
jcsackettyeah, that's going to be difficult; i kept my tumblr and use ifttt to repost stuff from my blog to it.19:39
hatchbut what about people visiting the tumblr urls?19:39
hatchthey need to redirect, no?19:39
jcsackettfor me, no. i didn't get enough traffic to the individual urls to worry about redirection issues.19:40
hatchohh , I get about 5000 uniques per month so I kind of have to19:40
jcsackettwow, nice.19:40
hatchwell....I guess :) 19:41
jcsacketti ... don't. :p19:41
hatchI have no idea why I get so much traffic tbh 19:41
hatchI don't actively promote it or anything19:41
jcsackettweren't you once upon a time a biggish name in YUI community places?19:42
hatchI need to do some url rewriting or something, but I'm not sure if the apache charm supports such a thing, I'm not even sure where to start....maybe fork the apache charm and write my own?19:42
hatchI was, but I only have a couple posts about YUI19:43
jcsackettso, the apache charm takes a jinja template to set the vhost stuff.19:43
jcsackettyou could probably get it to then do rewrites that way.19:43
jcsacketti couldn't even get it to work as a front end though, so gave up and did haproxy.19:43
hatchjinja for vhosts? 19:44
hatchheh19:44
hatchno? What did it do?19:44
hatchit should 'just work' 19:44
hatchhaproxy and apache2 both accept the same relation endpoint19:44
jcsacketthatch: it did not "just work" when i related it. :p19:44
hatchhmm, interesting19:45
jcsacketthaproxy did, so i didn't bother debugging.19:45
hatchany errors or anything?19:45
hatchoh ok19:45
hatchI'll have to look into that because I don't think haproxy does url rewriting19:45
jcsacketthatch: no juju errors. the hook executed just fine.19:45
hatchI need 'something' to redirect with 301's 19:45
hatchohh maybe it does......19:46
hatchMakyo:  qa'ing20:50
hatchMakyo:  qa done, little issues20:55
Makyohatch, what do you mean 'spacing on the deployed status bar'?20:56
hatchsee the photos20:56
hatchthe gap on top is much bigger than on the bottom20:57
hatchare the photos not showing up?20:57
Makyohatch, shit, sorry, privacy badger got them.  Will fix that.20:57
hatchahh different hosts20:57
MakyoYeah.20:58
MakyoGot it20:58
MakyoStill not quite sure what you mean on spacing\20:58
hatchok on the ghost one you see the huge empty space?20:59
MakyoYeah, I see that.20:59
hatchok and the deployed one, there is a space above and below the status bar21:00
hatchthe space above it is much larger before the divider line than the one below it21:00
MakyoAlright, will see about trimming.21:01
hatchbut good work finding the issue :) 21:01
hatchthat one was a big oops21:02
MakyoYeah, didn't know about the mv flag in CSSland21:02
hatchkadams54:  did you want to pass your branch off for the time you're gone?21:56
kadams54hatch: I'm going to try to get it finished up tonight.22:28
hatchkadams54:  ok cool, if you don't plz push it up and send an email to peeps22:31
kadams54Will do22:31
hatchman the icon rendering on tokens is real broken heh22:31
hatchbeen working on it all day tracking down the issues22:31
Makyohatch, repushed, for whenever22:45
hatchMakyo:  thanks, i'll probably look at it tonight, I'm in my own special version of hell right now22:48
hatch:)22:48
Makyohatch, np, good luck22:50
huwshimiMorning22:59
hatchMakyo:  thanks, I 'think' I just got it23:02
hatchsometimes it's the smallest things.....i am beginning to hate javascript23:02
hatchlol23:02
hatchmorning huwshimi23:02
huwshimihatch, Makyo: Thanks for all the reviews!23:03
hatchnp :) the damn ci was runnin almost all day haha23:03
hatchgw23:03
hatchthanks for doing all them23:04
huwshiminp23:04
hatchhuwshimi:  hey I'm heading out for a while, need anything before I take off?23:57
huwshimihatch: I'm all good. Have a good one23:58
hatchyou too, cya23:58
huwshimibye23:58

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