Perl 6 - the future is here, just unevenly distributed

IRC log for #metacpan, 2014-02-19

| Channels | #metacpan index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:53 ether_ joined #metacpan
02:08 klapperl joined #metacpan
03:11 jnbek joined #metacpan
03:18 oalders the sponsors page looks wacky in Chrome https://metacpan.org/about/sponsors
03:18 oalders the images are tiny
03:18 dipsy [ Sponsors - metacpan.org ]
03:24 rwstauner funny
03:26 rwstauner it's the bad width value
03:27 rwstauner rats
03:27 rwstauner the one that has a comment about ie
03:27 rwstauner wth
03:29 rwstauner not sure if that's an ie hack or a typo
03:36 rwstauner well, killing that style makes the images legible, but they're still small
03:38 rwstauner if i undo all three (max-width, width, height) then they look normal
03:43 rwstauner oalders: https://github.com/CPAN-API/metacpan-web/commit/a6c370eedabeb64ed2bc00eb8163687ea9090302#commitcomment-5417076
03:43 dipsy [ update bootstrap · a6c370e · CPAN-API/metacpan-web · GitHub ]
03:45 oalders do we care about IE7-8?
03:45 oalders (good research, BTW)
03:46 rwstauner why on that page and not others?
03:48 rwstauner maybe it is the same thing that makes it start halfway down the page?
03:49 rwstauner there's a "width: 100%" on that table that makes it move for me, but that doesn't affect the images
03:59 oalders CSS is not my area of competence
05:33 ether_ joined #metacpan
05:38 ether joined #metacpan
06:42 jwang joined #metacpan
07:14 ribasushi morning
07:15 ribasushi I made a little toy that works more or less in realtime: https://gist.github.com/ribasushi/9087296/raw/523f18563d279bea73e9e3eedec03981da02f316/sample_namespace-clean_full_depgraph_5.008001.svg
07:15 dipsy [ Dependency graph for namespace::clean under perl 5.008001 ]
07:15 ribasushi wonder if we can add it as a service to metacpan (with a sane timeout/kill if someone finds a combination taking too long)
07:16 ribasushi there are a *lot* of knobs to tweak too: https://gist.github.com/ribasushi/9087296/raw/10b42dd7926cac28c29164a68d024915b166233c/depgraph.pl
07:17 ribasushi it is very very inefficient when querying metacpan (2 queries per module), but that's a SMOP to replace
07:53 kentnl I find the problem with those kinds of visualisation is too much data. For instance, having all the data available is nice, but often you want only a subset.
07:54 kentnl example: knowing the aggregate [ configure / build / runtime  => requires ]  may be more useful than knowing [ configure /  build / runtime / test => requires ], and the former is a much smaller graph.
07:55 kentnl also: GraphViz is useful, but its really fucking horrible at these sorts of graphs :/
07:56 kentnl ribasushi: once you've seen nice routing in Yed, you're spoiled
07:57 ribasushi kentnl: hence the "many knobs" comment, to reduce edges and stuff
07:57 kentnl I found a dot-to-xml converter in python that converts dot to Yedit XML, it needs post-modification, but its way nicer if you can cleanup the result =)
07:57 ribasushi kentnl: see some of the other svg's
07:58 kentnl https://bitbucket.org/dirkbaechle/dottoxml
07:58 dipsy [ dirkbaechle / dottoxml ? Bitbucket ]
07:59 ribasushi kentnl: the "seeing an aggregate" thing is already implemented fwiw, shut off point_to_version and enable concetrate_edges + optimize_deppath
08:00 * ribasushi will try to play with yed next week or somesuch
08:01 kentnl and you're probably also only evaulating "maxversion"  state for each dependency, hence why each module only has a single out-path. However, its plausible there are shorter depgraphs if you follow the minimum versions of dependencies, just computing that is hard
08:02 ribasushi kentnl: the graph for me was needed to answer "what will happen if I `cpan Foo` on a fresh brew of perl X"
08:02 ribasushi so it goes for "cpan latest"
08:02 kentnl Yeah. I'm interested in said data too =)
08:02 ribasushi writing the minimum versions is not hard, but not very practical... there is no easy way to replicate that with a client
08:03 kentnl yeah, the indexer is insanely bad for usecases other than "latest" :(
08:03 ribasushi anyway, I am too lazy to make it an app and to add a manual and stuff like that, hence throwing it out as an idea "what if we add it as a metacpan clickable linky"
08:04 ribasushi if there is interest in something like that - I'd totally be interested in adding more backend features
08:04 ribasushi I just loathe the front-end part :D
08:04 kentnl If you do it MetaCPAN side, you can cheat, because each dist can cache its own results, and you can solve the problem recursively =3
08:05 ribasushi kentnl: um... cache which results?
08:05 kentnl well, instead of going "Show me the depgraph for namespace::clean" and having to iterate the whole dependency tree, you're only having to ask for its dependents, which already have dependency trees
08:06 ribasushi ah, meh... that's insanely cheap anyhow
08:06 ribasushi once the cache of json answers is populated it takes less than a second on my shitty laptop to go through Galileo's or MojoMojo's deps
08:06 ribasushi what takes the most time is dot doing its thing
08:07 kentnl ah, right :/ graphviz sucks like that.
08:07 ribasushi in any case - I get all answers that do not involve 'develop' in 2 secs or less
08:07 ribasushi hence "near realtime"
08:07 kentnl ( most of that time iirc is in the raster layer too somewhere, I've had it eat great gobs of ram trying to emit PNG before )
08:07 ribasushi nah, graphs of such detail in raster is suicide
08:08 * kentnl has done a lot of work with graphviz, all of it very pain inducing
08:09 kentnl over 30,000 nodes => good luck, hope you have enough food and water
08:09 ribasushi shrug - if this yed thing has a batch mode - things can be rendered with it as well
08:09 ribasushi the point is I am happy with the infodensity - not way too much, but no too little to be useless
08:09 ribasushi so as far as I am concerned iterations are cosmetics at this point
08:10 kentnl sadly I don't think it does, Yed is very UI oriented, java, and you have to do manual cleanup after dottoxml translation :/
08:10 ribasushi sad
08:11 kentnl http://www.yworks.com/en/imageviewer.php?img=../img/ygucd/bd.graphml&album=ygucd&fs=1 # it emits flash applets somehow
08:11 dipsy urgh. long url. Try http://tinyurl.com/pxsg3kg
08:11 dipsy [ yEd Gallery of User-created Diagrams ]
08:12 ribasushi right... actually newer graphviz has this sort of routing
08:12 ribasushi but didn't play with it as GraphViz doesn't support the new commands, and GraphViz2 is a gargantuan joke
08:12 ribasushi ETOOMANYYAKS
08:14 ribasushi kentnl: anyhow, if you have a chance to play with it, twiddling the knobs - let me know if there's some glaring omission
08:14 kentnl neither GV1 or GV2 are what I want, but GV2 > GV1 imo. Just both of their problems are "Yay, poorly typed arbitrarily complex data structures wrapped by some basic methods"
08:15 ribasushi kentnl: the moment I saw the depchain of GV2 and looked at the API - I just threw up in my mouth and went back to GV1
08:15 ribasushi in fact I may just get comaint and patch the problematic parts, as it is a simple translation layer ffs, not a graph framework :(
08:16 kentnl but I haven't seen anything promising in any recent graphviz releases. Its still bloated and its node distribution and balancing and routing requires insane amount of wizardry to make it not look like cats threw up on it.
08:16 ribasushi well - CPAN is lucky here because the original data is nicely graphable
08:17 kentnl its just graphviz makes any amount of arbitrarily simple data look like wank
08:18 kentnl http://www.yworks.com/en/imageviewer.php?img=mppw.graphml&album=ygucd&maxWidth=800&maxHeight=800&fs=1  # Doing this in graphviz would require the combined patience and effort of several countries
08:18 dipsy urgh. long url. Try http://tinyurl.com/k6y3xew
08:18 dipsy [ yEd Gallery of User-created Diagrams ]
08:19 kentnl nb. that flash applet really pins my processor :/
08:22 kentnl http://www.yworks.com/img/ygucd/spc.png # In graphviz, this image would be just "give up and go home"
09:19 neilb joined #metacpan
09:29 neilb joined #metacpan
09:46 ilmari joined #metacpan
11:34 danaj joined #metacpan
12:26 neilb joined #metacpan
14:03 rwstauner ribasushi: have you seen the stratopan graph? example: https://stratopan.com/mikegrb/testing/master/graphs
14:03 dipsy [ mikegrb/testing/master ]
14:04 rwstauner it looks like it only graphs things you've explicitly listed, so you'd have to get the recursive list of deps first and then upload a list of hem all
14:05 rwstauner it's an interesting visualization, but i'm not sure if it actually tells you anything
14:24 gry joined #metacpan
14:24 gry 504, then 502
14:24 gry is it just me
14:25 crazedpsyc same here, but I don't actually know anything.
14:26 ranguard still?
14:26 dipsy still are ish
14:26 * ranguard just tried and was ok
14:27 crazedpsyc nope, it's back now.
14:28 ranguard wierd, I didn't actually restart anything (we have an intermitten issue we are trying to track down)
14:30 ranguard oh, just seen the monitoring email for it go down and back up
15:47 alh Busted again
15:47 gry damn, stupid umbrellas. now every time i think 'bust' i think of 'gustbuster'
15:47 alh I had a 502, others see 504s
15:48 oalders i'll have a look
15:48 alh Thanks
15:52 oalders back
15:53 alh oalders++
15:53 alh What happened?
16:03 oalders no idea.  occasionally everything just stops working. it won't restart cleanly, so you have to kill the processes and start over
16:04 oalders nobody has been able to figure it out yet
16:04 alh Ah neat
16:04 oalders and exciting!
16:04 alh Could you get a ps auxwww next time it happens? I'd be curious to see
16:04 oalders sure.  is bound to happen again soon :)
16:04 alh :|
16:48 Kovensky joined #metacpan
16:50 Kovensky joined #metacpan
16:57 ribasushi rwstauner: I have yes, have you seen what mine actually does?
16:58 rwstauner i do realize yours is different
16:58 ribasushi basically the "graph" aspect of it is not even that interesting to me, it's only drawn to find relationships that make you go "wtf"
16:58 ribasushi the main winner (for me) is the precise answer to "What will X entail installing on a virgin perl"
16:58 rwstauner right
16:58 ribasushi and more importantly "how much effort is to excise an Y dependency"
16:59 ribasushi ether: ^^ you should benefit a lot from this btw
16:59 rwstauner i hadn't looked too closely at yours but now i see the different relationships
16:59 rwstauner oh, and the version differences
16:59 rwstauner fancy
16:59 ribasushi :)
17:00 * rwstauner shouldn't look at large visualizations first thing in the morning
17:00 ribasushi rwstauner: that's why I figured I will pitch it in here - I think it is atually useful (and can work as a webpservice)
17:00 ribasushi *web-service
17:00 rwstauner indeed
17:01 rwstauner yeah, looking at yours more closely that is really nice
17:01 ribasushi rwstauner: note - with the knobs tigtened up (optimize_deppath => 1, point_to_version => 0, concetrate_edges => 1) it produces readable graphs
17:01 rwstauner cool
17:01 ribasushi even for something like Catalyst (though borderline)
17:01 rwstauner :-)
17:02 rwstauner if you turn the knobs far enough do you get (Catalyst) -> (everything) ?
17:02 ribasushi oh you can graph MojoMojo within 3 secs on a shitty laptop
17:02 ribasushi but... it doesn't look friendly
17:02 ribasushi :)
17:03 ribasushi rwstauner: just try it, not many deps on top, and it caches metacpan responses (as it says in the source the entire query mechanism is shitty, needs to be replaced)
17:03 rwstauner :-)
17:03 rwstauner i've got bigger projects on my list (like finding a new job), but i'll try to play with it later
17:03 rwstauner thanks very much
17:03 rwstauner very nice wokr
17:04 rwstauner work
17:04 ribasushi rwstauner++ # priorities straight
17:04 rwstauner :-)
17:04 ribasushi .oO( booking is hiring )
17:04 * ribasushi runs
17:04 rwstauner :-)
17:07 * rwstauner needs a remote position
17:20 neilb joined #metacpan
17:29 [Sno] joined #metacpan
17:44 ribasushi ether: speaking of metadata - the grapher I mentioned above makes sure to list all occurrences of a version, including v-objects in metadata
17:44 ribasushi so you can use it for "is my depchain v-free" kind of work ;)
17:44 ether ribasushi: er what? I saw your mention above but couldn't find the start of hte conversation thread
17:45 ribasushi ether: it's a raw script (unpackaged, no CLI opts) for producing graphviz visualisations of depchains of a random module
17:46 ribasushi ether: clone and look at the svg's https://gist.github.com/ribasushi/9087296
17:46 dipsy [ A little toy to graph CPAN deps ]
17:47 ribasushi whoops clone urls are apparently different: https://gist.github.com/9087296.git
17:53 oalders ether: http://irclog.perlgeek.de/metacpan/
17:53 dipsy [ IRC logs - Index for #metacpan ]
18:12 ranguard oalders: https://metacpan.org/account/favorite/list <- live it is limited to 250 favs, someone can add paging when it annoys them enough :)
18:13 oalders ranguard++
19:07 neilb joined #metacpan
19:33 neilb joined #metacpan
19:47 grantm joined #metacpan
20:34 neilb joined #metacpan
21:21 AirDisa joined #metacpan
22:33 AirDisa joined #metacpan
23:44 AirDisa joined #metacpan
23:54 kentnl rwstauner: I assume you if you tune the knobs right, Moose -> everything
23:54 kentnl due to develop.requires :)
23:57 rwstauner sounds about right
23:57 AirDisa joined #metacpan

| Channels | #metacpan index | Today | | Search | Google Search | Plain-Text | summary