20:02:27 <TheSnide> #startmeeting 20:02:27 <MeetBot> Meeting started Wed Jan 21 20:02:27 2015 UTC. The chair is TheSnide. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:02:27 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 20:02:36 <TheSnide> #chair ss 20:02:36 <MeetBot> Current chairs: TheSnide ss 20:02:44 <TheSnide> #chair ssm 20:02:44 <MeetBot> Current chairs: TheSnide ss ssm 20:04:27 <TheSnide> chteuchteu, ssm: sorry to be late. 20:04:41 <chteuchteu> No problem! 20:04:57 <TheSnide> #topic 2.1 20:05:41 <TheSnide> well, chteuchteu proposed a new CSS, which is quite good. And even merged already in devel 20:06:19 <chteuchteu> As said before, this is open for discussion: if anyone has any idea about how to improve it, please don't hesitate! 20:06:34 <chteuchteu> Thank you for having merged! 20:07:37 <ssm> It's a very nice improvement. 20:08:14 <chteuchteu> Thank you! As said before too, I'd like to enhance the dynazoom report page as well (both HTML structure and CSS) 20:09:26 <TheSnide> yeah, i know chteuchteu from before the css, and he's quite nice. so please don't scare him off right now. 20:09:43 <chteuchteu> :D 20:09:50 <TheSnide> ... wait until he invested a substantial amount of time :-P 20:09:51 <ssm> . o O { do not scare away contributors, check } 20:09:56 <chteuchteu> :D :D 20:10:09 <chteuchteu> For those who don't know me, I'd like to introduce myself in two words 20:10:18 <chteuchteu> (or a bit more actually) 20:10:19 <TheSnide> ... specially since he's much more css gifted than us ;) 20:11:22 <chteuchteu> I'm a computing student from France, and begun Android development 3 years ago (by myself). I used Munin to check my home server and wanted to check the graphs on my phone, but the munin report page wasn't (and still is, // TODO) readable on mobiles 20:12:07 <chteuchteu> So I created Munin for Android, which was awful at the start but became better from update to update :P 20:12:30 <m-r-b> <Bushmills@freenode> yes, much less buggy now :) 20:12:44 <chteuchteu> There are still bugs, but less than before indeed :P 20:12:58 <chteuchteu> A few days ago, I decided to make it open-source so people could contribute: https://github.com/chteuchteu/Munin-for-Android 20:13:22 <chteuchteu> And also because after 3 month on cleaning code and refactoring, I'm finally proud of its code :D 20:14:07 <chteuchteu> I also decided that it would be cool to contribute to the main project (munin), so I started easy by writing some CSS 20:14:36 <chteuchteu> And here we are :) 20:14:42 * TheSnide thinks that CSS isn't the easy part. :) 20:14:53 <TheSnide> *clap* *clap* *clap* 20:14:58 <chteuchteu> It is for me! :) Thank you :) 20:14:58 <ssm> Welcome :D 20:15:07 <chteuchteu> Thanks :) 20:15:30 <micah> ssm: lol 20:15:57 * ssm is a sysadmin, who dabbles in perl, python, ruby. More fond of writing tests and documentation than actual code, but gets something done from time to time. 20:16:00 <TheSnide> chteuchteu: i'd be more than happy if you want to contribute further. Even better if it's the UI! 20:16:44 <chteuchteu> ssm: Nobody wants to write tests and documentations usually, you must a hero or something? :D 20:17:07 * ssm is in hiding in #munin, don't tell anyone 20:17:07 <TheSnide> chteuchteu: he his. but don't tell him. 20:17:21 <chteuchteu> :D 20:17:46 <chteuchteu> TheSnide: Since I don't have any knowledge in Perl and some in HTML, CSS, JS (Jquery), I would be glad to enhance the UI! :) 20:18:22 * TheSnide is just a random guy with very crazy ideas. And some abilities to pass them to others :) 20:18:25 <chteuchteu> BTW, I know that this is out of topic, but I saw that vanilla JS is used in the dynazoom page. Wouldn't it be better to use Jquery? less code, more maintenability, better compatibility 20:18:40 <ssm> "there is room for improvement" 20:18:45 <TheSnide> ... *ehem* ... 20:18:52 <TheSnide> #topic UI 20:19:05 <TheSnide> ok, move on =) 20:19:30 <chteuchteu> Just wanted to know if there was a special reason to use vanilla JS instead of Jquery :) (avoiding loading jquery js file for example) 20:19:41 <TheSnide> "vanilla JS" is mine. And i have as much knowledge in JS as you in Perl. So. 20:20:19 <TheSnide> basically, if you want to depend on some well-known lib, i won't object. 20:20:24 <TheSnide> just be sure that: 20:20:41 <TheSnide> 1. it is allowed to do so (usually it is) 20:21:15 <TheSnide> 2. the lib is "well-known" (jquery is. bootstrap also. something random on github not really) 20:22:33 <ssm> …and that we are allowed to distribute it with munin? 20:22:34 <TheSnide> 3. it _does_ improve the code. here also, jquery is a no-brainer, but i try to avoid deps that only "looks" interesting. 20:22:51 <chteuchteu> I really think that we could benefit from using Jquery on this: less code, more browser compatibility, and even better performances (even if dynazoom-related JS isn't heavy) 20:23:06 <TheSnide> ssm: yes, that's basically the 1. (not lawyer-clear, but IANAL) 20:23:12 <chteuchteu> Also, we should indeed check that we can distribute it with munin. I think it is, but we have to check irst 20:23:39 <TheSnide> chteuchteu: i think we already use jquery anyway. 20:23:50 <ssm> Lots and lots of javascript libraries are packaged for Debian, so they will be symlinked when installed with a .deb package 20:23:58 <TheSnide> https://github.com/munin-monitoring/munin/blob/devel/master/static/jquery-1.8.3.js 20:24:31 <chteuchteu> It may be used somewhere, but dynazoom uses vanilla JS :) Good to hear that it is already included! 20:24:32 <TheSnide> oh, and 4. Do *not* use the .min.js of JS libs. 20:24:51 <chteuchteu> What's the reason? I'm curious :) 20:25:19 <TheSnide> chteuchteu: i care more about the source readability than serving a yahoo-sized audience. 20:25:28 <chteuchteu> You're right! 20:25:50 <chteuchteu> Also, the minified vs standard files don't have much difference in terms of file size 20:26:03 <chteuchteu> ... and those files are cached by the client anyway 20:26:22 <TheSnide> anyway, any yahoo-sized munin install will have a decent sysadm with an minify himself 20:26:31 <ssm> it is probably better to enable compression in the web server before rewriting scripts 20:26:38 <TheSnide> ssm: +1 20:27:23 <chteuchteu> My next PR will be about the dynazoom page, I will prepare something great :) 20:27:36 <TheSnide> so, chteuchteu, you just got the official title of "our UI guy" ? :) 20:27:47 <chteuchteu> I'm OK with this! :D 20:27:56 <chteuchteu> And quite glad :) 20:28:09 <chteuchteu> Has anybody special ideas about the dynazoom page V2? 20:28:34 <TheSnide> ssm: feeew. he's even glad. /me smiles :) 20:28:45 <ssm> It should probably as the normal pages 20:28:52 <ssm> …look the same as… 20:29:02 <TheSnide> templated 20:29:11 <TheSnide> cause for now it's static 20:29:37 <TheSnide> chteuchteu: did you look at how the templates works ? 20:32:52 <chteuchteu> That's a good idea! 20:33:04 <chteuchteu> I didn't checked for now, but it doesn't looks too complicated 20:33:15 <chteuchteu> Is there any documentation here about how it works? 20:33:31 <TheSnide> http://search.cpan.org/~wonko/HTML-Template-2.95/lib/HTML/Template.pm 20:34:42 <TheSnide> but basically it's a very simple templating engine. 20:35:38 <TheSnide> the fact that it is quite simple is a good thing IMHO. 20:36:00 <ssm> the simplest one would be to include the "head" page template to get the page to look right, and then just write html/css/js as normal for the page content. 20:36:07 <ssm> I think... 20:36:24 <TheSnide> ssm: just reuse a existing template, yes. 20:36:55 <ssm> isn't https://github.com/munin-monitoring/munin/blob/devel/master/www/munin-dynazoom.tmpl used? 20:37:00 <TheSnide> nope. 20:37:29 <TheSnide> it should. but isn't. i don't remember why. maybe just lazyness from me. 20:37:58 <chteuchteu> Shouldn't it be deleted if not used then? 20:38:05 <ssm> or moved to a branch 20:38:06 <chteuchteu> Thank you for the link! :) 20:38:13 <chteuchteu> Yep 20:38:37 <TheSnide> chteuchteu: i do agree to "delete if not used". 20:38:56 <TheSnide> ... as with git it isn't lost forever 20:39:42 <chteuchteu> Haha just found a Google Plus post from TheSnide, that was a very old prototype of mine about a new Munin interface :P https://plus.google.com/+SteveSchnepp/posts/dcqdK6Woz7Y 20:39:49 <chteuchteu> (sorry for the off-topic...) 20:40:48 <TheSnide> yup. 20:41:27 <TheSnide> 1.5y != very old. 20:41:35 <TheSnide> ... well not in #munin time 20:41:38 <chteuchteu> It is for my in my contribution scale :P 20:42:06 <TheSnide> but the JSON API is here now. 20:42:37 <chteuchteu> OK so I'll work on the dynazoom page and give some feedback here! (screenshots) 20:42:37 <TheSnide> as in http://demo.munin-monitoring.org/munin/munin-monitoring.org/demo.munin-monitoring.org.json 20:43:00 <TheSnide> chteuchteu: as i said before, just create as many PR as you want. 20:43:54 <chteuchteu> I will! 20:44:26 <chteuchteu> Wait - in the SERVICES node, the "NAME" attribute has a null value 20:44:33 <TheSnide> (sidenote... the JSON api is randomly ordering the struct each call... just keep hitting refresh and enjoy!) 20:44:36 <chteuchteu> Isn't this the source of the issue I posted today? 20:45:08 <chteuchteu> (issue is https://github.com/munin-monitoring/munin/issues/332) 20:45:32 <TheSnide> oh, ALT not filled ? 20:45:46 <chteuchteu> Yes 20:46:07 <chteuchteu> The alt should contain the plugin's pretty name 20:48:17 <TheSnide> ssm: i created a new label for bugs "component: cgi-rewrite" 20:49:06 <TheSnide> ssm: it's obviously for bugs that were introduced by the whole cgi-sql rewrite; 20:49:32 <chteuchteu> Should I mention this as a comment in the issue on GitHub? 20:49:52 <TheSnide> nah, it's obvious enough 20:49:57 <chteuchteu> Ok :) 20:50:02 <TheSnide> ok, about the meeting... anything more to add ? 20:50:18 <ssm> yup 20:50:19 <chteuchteu> Nothing for me :) 20:50:26 <TheSnide> oh... sss, what about Buildpm ? 20:51:05 <TheSnide> ssm: go ahead 20:52:02 <ssm> first, we need some input sanitation, or html escaping, for graph_category, and other plugin attributes that are rendered on the web page. "graph_category <script>alert("foo")</script>" works in a plugin, and an alert pops up on the web interface. 20:52:51 * ssm played with graph_category after a question just before the meeting 20:53:30 <TheSnide> ssm: html escaping seems much better to me than input sanitation. 20:54:01 * ssm would like both, but html escaping is probably a good first step 20:54:18 <TheSnide> ssm: i mean, i don't want to mangle user data, unless it isn't spec-ok. 20:55:13 <ssm> just make sure it is de-fanged? 20:55:21 <TheSnide> de-fanged ? 20:55:57 <ssm> old idiom. "fangs removed" → "venomous snake no longer dangerous to handle" 20:56:02 <TheSnide> graph_category <script>alert("foo")</script> <---- this should write <script>alert("foo")</script> in the web page 20:56:07 <ssm> yes 20:56:12 <TheSnide> i mean, the user should see <script>alert("foo")</script> 20:56:26 <TheSnide> the html code is left as exercise to the reader 20:57:06 <chteuchteu> Yes, if special chars (<) are translated to their HTML equivalent (<), that would be perfect and won't be interpreted as JS client-side 20:57:07 <ssm> HTML::Template has an "escape" attribute 20:57:15 <TheSnide> [a-Z0-9_-] --> HTML entities. 20:57:16 <ssm> which will do that for variables 20:57:31 <TheSnide> [^a-Z0-9_-] --> HTML entities. 20:57:34 <ssm> search for "escape" at http://search.cpan.org/~wonko/HTML-Template-2.95/lib/HTML/Template.pm 20:58:03 <TheSnide> ssm: reusing some escaping code from HTML::Template seem a very valid strategy to me. 20:58:40 <ssm> <TMPL_VAR FOO> → <TMPL_VAR FOO ESCAPE=HTML> in the templates 20:58:54 <TheSnide> +1 21:01:32 * TheSnide thinks of many valid usecases for that buggy behavior :) 21:02:40 <ssm> regarding "build refactoring", it is where I left it in early December. Perl module and most commands / perl scripts are handled by Build.PM. @@MACROS@@ mostly removed, but have not renamed .in files yet. Makefile rewritten from scratch, will re-add things as they are needed to build and support development. 21:03:01 <TheSnide> #agreed reusing escaping code from HTML::Template to avoid "graph_category <script>alert("foo")</script>" 21:03:09 <ssm> Looking forward to start working on that this week and the next. 21:03:27 <TheSnide> ssm: sounds like a plan. 21:03:58 <TheSnide> ... i'll be looking at a homebrew formula closely, since I'll need one next week. 21:04:06 <ssm> Found an interesting bug when building on a case insensitive file system, re "build" directory, and "Build" script generated from Build.PL :) 21:04:22 <TheSnide> case insensitive file system <-- OSX ? 21:04:25 <ssm> yup 21:04:37 <TheSnide> "you case insensitive clod" ! :D 21:04:47 <ssm> :P 21:05:12 <kjetilho> ssm: dind't you see Linus' rant about that (and its Unicode normalisation)? 21:05:29 <TheSnide> kjetilho: that's what i meant :D 21:05:38 <ssm> WTF-8? 21:05:49 <TheSnide> lol 21:06:11 <kjetilho> TheSnide: ah :) (I didn't memorise it ;) 21:07:02 <ssm> kjetilho: http://www.itworld.com/article/2868393/linus-torvalds-apples-hfs-is-probably-the-worst-file-system-ever.html ? 21:07:05 * ssm will read that 21:07:32 <TheSnide> kjetilho: he didn't say that AFAIK. but it felt appropriate. 21:07:49 <kjetilho> yeah, or the direct source. https://plus.google.com/+JunioCHamano/posts/1Bpaj3e3Rru 21:10:01 <kjetilho> whoa, one of the comments in the thread: "Probably because of some original AZERTY screw-up, many French people (wrongly) think uppercase characters should not have accents. Microsoft Word has a special toggle so let each user pick his favorite side. Now I wonder which side HFS picked...?" 21:10:42 <kjetilho> ah, I misread, s/I wonder/guess/. not necessarily so bad, then. 21:10:55 <kjetilho> but I'll shut up with my off-topic links :) 21:12:32 <TheSnide> kjetilho: actually, it's both officialy accepted. uppercase characters with or without accent. but accented uppercase is considered much more "pure" :) 21:13:47 * ssm has nothing more for the meeting 21:16:00 <chteuchteu> Nothing more neither :) 21:18:22 <TheSnide> ok, thx all 21:18:28 <TheSnide> see you next week 21:18:34 <TheSnide> #endmeeting