Wednesday, 2009-05-20

../irclogs/#mantishelp.2009-05-20.log
--- scribe started ---00:00
mantisbotNew bug: Bug 10504 - elvinhau - open - new02:38
mantisbotNew bug: New feature suggestion: Upload file in 'Add Note' ? - http://www.mantisbt.org/bugs/view.php?id=1050402:38
CIA-31Mantisbt: vboctor * r7106957595c3 /admin/install_functions.php: Fixed undefined variable warning in setup.06:00
ruslanhi all06:27
ruslanany hint how to setup integration of mantis to SVN like I see this on this bugtracker06:27
ruslanI use 1.2a already06:27
CIA-31Mantisbt: vboctor * rac71e94db3a0 / (login.php login_page.php): Fixes #10505: On Login failure, keep user name populated and place the focus in the password field.06:32
mantisbotNew bug: Bug 10505 - vboctor - fixed - resolved06:34
mantisbotNew bug: On Login failure, keep user name populated and place the focus in the password field - http://www.mantisbt.org/bugs/view.php?id=1050506:34
mantisbotNew bug: Bug 10506 - vboctor - open - assigned07:19
mantisbotNew bug: Provide the ability to disable the News feature - http://www.mantisbt.org/bugs/view.php?id=1050607:19
CIA-31Mantisbt: vboctor * rfe66a365f8b0 / (12 files in 3 dirs): Fixes #10506: Provide the ability to disable the News feature.07:37
moto-moinice07:39
moto-moithat feature is of no use at all at our site :)07:39
dhx_mthanks! :)07:43
dhx_malso useful for me07:43
CIA-31Mantisbt: vboctor * ra5e402bf6c35 /core/ (php_api.php relationship_api.php): Fixes #9086: email_queue_add fails with long UTF-8 relationship text.08:10
paulrgiallu: can't until tonight :(09:04
giallupaulr, no hurry09:04
* paulr wishes victor used irc ;/09:05
gialluML is better09:05
paulryou'd get bored of 5 mails a day :P09:06
paulri'm specifically thinking about the lines of:09:07
* paulr sighs09:07
gialluI'm subcribed to MLs with hundreds email/day09:07
paulrwindows clipboard is broken09:07
paulr2 days ago, I passed wiki_enabled() function in here and saying I saw want to get rid of functions like that e.g. wiki_enabled { return config_get_global('wiki' == ON)09:07
kenguests/clipboard//09:07
paulrjohn said +109:08
paulrand dhx just lol'd09:08
paulr48 hours later we have09:08
paulrnews_enabled ( return news == on)09:08
giallupaulr, see peaple have a life. they can't be here all the time09:09
gialluif you have alternative, discuss them on the ML09:10
paulrsure, but one can read scrollback09:10
gialluyoi're dreaming09:10
paulrI get daily logs mailed to me of some irc channels09:11
paulrtake the commit earlier fixing warning in install_functions.php09:12
paulrit alters09:12
paulrif( <foo> ) {09:12
paulrto09:12
paulrif ( <foo> ) {09:12
paulri've not looked but i'd guess half the code base is if( and the other half is if (09:13
paulrhaving said that09:15
paulrthere's only 457 occurences of if(09:15
paulrand 3000+ of if (09:15
dhx_mboth the ML and IRC are bad IMO for discussing bugs in detail09:27
dhx_mthe primary place IMO should be on the official Mantis tracker09:28
dhx_mI'm not sure if Mantis interfaces at all with email/mailing lists, but that'd be a nice idea for the future09:28
dhx_mso that it is a pseudo-mailing-list where you can use email clients (MUCH better than using a web browser interface) for discussing bugs09:29
dhx_mthe Mantis tracker has the advantage of allowing you to merge all sorts of extra information into one place (not possible on the ML/IRC)09:29
dhx_mwhat commits are related to the bug? what other bugs are related/blocking/etc?09:30
dhx_mI know when I've been looking through LKML archives, I've found it hard to find the information I'm interested in09:32
dhx_mand it is much harder to create a timeline of events that occurred... ie. bug identified, someone made a patch, people reviewed it and called it a load of rubbish, someone fixed the patch, it got committed, it was closed for 2 months... someone then found a bug that resulted from the fix applied, etc09:33
dhx_mwith a ML you have to manually search through the archives finding related emails... and you'll often miss stuff or stumble across a lot of things you're not interested in09:36
dhx_mwith IRC the situation is even worse :)09:36
[KK]Kirillpaulr: you around?11:21
nuclear_eclipsemorning all12:32
kenguestafternoon :p12:39
dhx_mhi13:10
dhx_mpaulr: I'm looking at ISO 9075.2:2005 now (on the SQL DATETIME data type)... what a headache!13:34
dhx_mpaulr: I just thought about this... in the DB upgrade, are you checking for any dates prior to 1970?13:45
dhx_mpaulr: The problem I see is what happens if someone wants to add a capability (via a plugin, etc) for Mantis to use dates < 197013:45
dhx_mbirth dates, some custom date field that needs to store historical values, etc13:46
* nuclear_eclipse slaps dhx_m 13:46
dhx_m:)13:46
dhx_mnuclear_eclipse: I want to write a source code repository plugin for my source code dating back to 1965 :p j/k13:47
dhx_mthen I want to add a new birthdays feature into Mantis :p13:47
nuclear_eclipsedon't make me get out my ban hammer.....13:48
dhx_mDATETIME just seems like a high overhead feature filled hack when a lot of the time you're only interested in the raw number (signed 64bit?)13:50
dhx_mespecially if you're using something like sqlite where performance is more important13:51
paulrdhx_m: if you want to write a plugin17:49
paulryou can store dob as a string17:49
paulrin terms of dates <197017:49
paulrwhat I do atm17:49
paulris if a date is between 0 and 86400 or something17:49
paulrI assume it's 017:49
dhx_mpaulr: I was joking, not trying to be an ass :D17:49
paulri.e. I need to deal with duedates being broken17:49
paulrass = my job17:50
dhx_mI can't say I use duedates... but are you referring to people entering invalid due dates (< current time)?17:50
paulrno17:51
paulr+$t_due_date = gpc_get_string( 'due_date', null );17:51
paulr+17:51
paulr+if( $t_due_date !== null) {17:51
paulr+if ( is_blank ( $t_due_date ) ) {17:51
paulr+$t_bug_data->due_date = 1;17:51
paulr+} else {17:51
paulr+$t_bug_data->due_date = strtotime( $t_due_date );17:51
paulr+} }17:51
* paulr thinks that might be what we want to do17:51
paulroh visiting cat brb :P17:51
dhx_mah, so that broke after the merge?17:51
dhx_mok :)17:51
nuclear_eclipseno, he's talking about the terrible date-handling code that somehow made it into the repo from a random contributer, that should have never made it into mantis....17:51
paulrback17:52
dhx_myeah the main reason I don't use duedates is because it looked unstable17:52
dhx_m(and I didn't have a need for it either)17:53
nuclear_eclipseit tried to do some over-clever, yet inherently broken, processing to emulate the use of "null" dates without just plain using a null value in the database, which just broke it for almost anyone and everyone17:53
paulrvs2010 beta1 today :)17:53
paulrnuclear_eclipse: I'm still trying to work out what i've broken/fixed17:53
paulrbtw whats ISO 9075.2:2005 ?17:53
dhx_mSQL standards17:54
dhx_mwas trying to work out what the best way of storing dates is17:55
paulrwhat did you conclude?17:55
dhx_maccording to the SQL brains17:55
dhx_mI don't know lol17:55
dhx_msome crap about intervals?17:55
paulranyway, I need to focus on dates a bit17:56
paulrand how we use them17:56
dhx_mI like the idea of using datetime... but unless it has an inbuilt integer conversion of some sorts... it isn't much use17:56
dhx_mcomputer programs don't internally work on plaintext data17:57
dhx_mie. it'd be stored as a signed x bit value17:57
dhx_mwhere x is the number of bits you need to have your time span over17:57
dhx_mit may be 256bit if you're talking about theoretical physics or some other branch of science where you calculate times 1x10^(some large number) of years into the future17:58
dhx_mif you were wanting to store these "extreme" datestamps into a database, you wouldn't use datetime ;)17:59
dhx_malthough one could argue time zones, leap years, etc don't mean anything in those cases, because you simply don't know what will happen that far in advance ;)18:00
dhx_m(or in the past)18:00
dhx_mand on the other end of the scale, I'm not sure how you're meant to store your experiment results (on the scale of nanoseconds) in a database using the usual timestamp data type18:01
dhx_mso I agree with you that using datestamp/timestamp aren't always a good option18:02
* nuclear_eclipse waits for dhx_m to finish rambling...18:02
paulrLOG_DATABASE18:03
dhx_mdone :)18:03
paulrgood idea?18:03
* paulr slaps nuclear_eclipse 18:03
nuclear_eclipsepaulr: eg, log every SQL query sent to the db?18:03
paulrwow18:03
paulramerica woke up18:03
paulrffs18:03
dhx_mlogarithmic scale? :)18:03
dhx_mohhh18:03
paulrnuclear_eclipse: yea18:03
nuclear_eclipse14:03 < paulr> america woke up18:03
nuclear_eclipse?\18:03
paulrI'm trying to downlaod vstudio2010 beta18:04
paulrwas getting 700kb/s18:04
paulrnow getting 10kb/s18:04
nuclear_eclipseah, lol18:04
paulr== people woke up18:04
nuclear_eclipsethat's what you get for using garbage like VS :P18:04
dhx_mlol... they don't have many free 10Gbps mirrors around the world like Ubuntu does :)18:04
paulrso log_database=good idea?18:04
dhx_mI like the idea for debugging purposes18:04
paulrdhx_m: i'm sure they'd have them18:05
nuclear_eclipsepaulr: I think not so much, log_db would grow log files *really* fast.....18:05
paulrthey probably can't use them18:05
paulrnuclear_eclipse: you saw I added support for firebug?18:05
paulras a log method18:05
dhx_mpaulr: not as much I imagine (especially not in Europe)18:05
dhx_mI can't believe they don't just setup torrent distribution18:06
nuclear_eclipsedhx_m: you can't expect MS, best known for being the most proprietary and over-protective software house, to use a method where *anyone* could get a copy of beta software...18:06
paulrdhx_m: mirrorservice.org used to mirror ftp.microsoft.com years ago18:07
dhx_mnuclear_eclipse: you can setup the tracker to ignore peers that aren't signed in18:07
paulranyway18:07
paulrlog_Database18:07
dhx_mnuclear_eclipse: I suppose if they are just giving it out to "professionals", they're not going to help by using a torrent client18:08
* paulr adds18:08
paulrbtw, I want to change logging api18:08
paulrneed a info/warn/debug level for each section18:08
paulr:)18:08
dhx_mwhat is logged?18:08
dhx_mare we talking about "new account created", "bug note created", etc18:09
dhx_mor debugging information?18:09
paulrdebug queries18:09
dhx_mnuclear_eclipse: BTW, I thought VS2010 was free for all? http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&displaylang=en18:10
paulrit is18:10
dhx_m(that is the old link BTW)18:10
paulr4kb/sec18:10
dhx_moh ouch... no mirrors?18:10
nuclear_eclipsedhx_m: I assume the beta still requires an activation key, like all their other betas in the past 10 years...18:11
dhx_mnuclear_eclipse: yeah, but that doesn't affect distribution of the installation files :)18:11
nuclear_eclipsedhx_m: well, right, but my point is torrents remove the control from Microsoft18:12
paulrdo you think that having a function18:12
paulrprint_date18:12
paulrthat calls18:12
paulrecho date(18:12
paulris silly?18:12
paulror useful18:13
nuclear_eclipsenot if it automatically applies configured date formatting strings18:13
dhx_mnuclear_eclipse: they can kill whatever torrent tracker they are using... which pretty much stops distribution (with a longer delay I must admit)18:13
paulr<?php print_date( config_get( 'normal_date_format' ), $t_bug->date_submitted ) ?>18:13
nuclear_eclipsehmm, that seems much less useful18:13
dhx_mnuclear_eclipse: or they can use online activation (as they have in the past) to control installation... my point is that activation/license keys control distribution :)18:14
paulronly reason for keeping it would be if we wanted to do timezones within18:14
paulrbut I think BIN18:14
nuclear_eclipseI was thinking `function print_date( $p_date ) { echo date( config_get( 'normal_date_format' ), $p_date ); }` type of implementation18:14
dhx_mpaulr: I thought you were the one complaining about functions that return a single configuration value? :)18:15
paulrjohn is even better18:15
dhx_mexcept nuclear_eclipse's idea justifies a function for increasing readability of code elsewhere18:15
paulrhe does18:15
paulrecho print_date(18:16
paulrso that's18:16
paulrecho echo date18:16
paulr<td><?php echo date( config_get( 'normal_date_format' ), $t_tag_row['date_created'] ) ?></td>18:16
paulr<td><?php echo date( config_get( 'normal_date_format' ), $t_tag_row['date_updated'] ) ?></td>18:16
nuclear_eclipsewhere do I do `echo print_date()` ?18:16
paulrdhx_m: I dont like stuff like that18:16
paulrnuclear_eclipse: c:\mantis\git\mantisbt\manage_tags_page.php (2 hits) Line 161: <td><?php echo print_date( config_get( 'normal_date_format' ), $t_tag_row['date_created'] ) ?></td>18:16
nuclear_eclipseoh, that's not my code :P18:16
nuclear_eclipsecheck the `git blame` on that one...18:16
paulri'm also not sure about things like wiki_enabled as a function18:19
paulrpart of me thinks that functions that just call config_get18:20
dhx_mno use for that18:20
paulrcould just be config_get calls18:20
dhx_mit hides what those functions are really doing18:20
paulrwell also18:20
dhx_mmeaning you have to now find the wiki_enabled function to see what it does18:20
paulrif config_get('wiki_enabled' == OFF18:20
nuclear_eclipsepaulr: the only reason for them was to maintain API compatibility with 1.1.x18:20
paulrwe can skip require_once'ing the wiki api18:20
paulranyway18:21
paulrI have a question for you guys about due dates18:21
paulrpay attention now18:21
nuclear_eclipsehuh? what?18:21
paulrif something is due on the 16th May18:21
nuclear_eclipsewho's talking?18:21
paulrwhen is it due?18:22
paulrI mean18:22
nuclear_eclipsepaulr: that depends on who you ask :P18:22
dhx_mhaha18:22
nuclear_eclipseI'd assume that means it's due by the end of the day on the 16th18:22
dhx_mmanagers: 1 second after the end of the 15th18:22
paulrGMT or localised? :)18:22
nuclear_eclipseothers would assume it's due by the morning of the 16th18:22
dhx_mprogrammers: 1 second before the start of the 17th... in the most desirable timezone18:22
dhx_mit should be localised, but stored as GMT18:23
dhx_mso whatever you set it as, is converted and stored as GMT18:23
dhx_mthen it is retrieved and put in local time for everyone else18:23
dhx_m?18:23
paulrso18:24
paulrif i18:24
paulrGMT+1 set a dueday at 5pm for 17th18:24
paulrthat might mean18:24
paulr17th May 00:00:0018:24
paulror more we store "17th May 00:00:00" GMT18:25
paulrthen account for the offset?18:25
paulrso your duedate is different to mine?18:25
nuclear_eclipsepaulr: if you handle timezones correctly, due_date could be both a date and time, and then when localised, it could be 5pm GMT, and noon EST18:26
paulrmy point is18:27
paulrwe set 2009-05-19 => 2009-05-2018:27
paulrfor example18:27
paulryour 20th starts at different time to me18:27
nuclear_eclipseright, that's my point18:27
paulror are we basically saying we should add/subtract timezone offset?18:28
nuclear_eclipseif you convert the user input for due_date to GMT based on their timezone, then all users will share the same due date, appropriately localised to their own timezone18:28
dhx_mthis is the "use case" I'm thinking of:18:28
nuclear_eclipseI guess it would make it more of a due *time*...18:28
paulrso basically18:29
dhx_m1) I am in GMT+1 and I set the due date for the 17th of May 5PM18:29
dhx_m2) Mantis stores this due date as May 17th 4PM GMT18:30
paulrnonono18:30
paulryou dont atm though18:30
paulr:)18:30
paulrdue times would be easy :P18:30
nuclear_eclipsepaulr: I think our point is that's how it *should* work...18:30
paulrso we want to make it duedatetime?18:30
dhx_mI think that is better18:30
nuclear_eclipsethat would *certainly* resolves any ambiguities as to whether "due on the 16th" means overdue on the 16th or overdue on the 17th....18:31
dhx_mwhere there is a default due time?18:31
dhx_mmaybe a config option to specify what the normal due time is?18:31
dhx_mand you can change it if you want18:31
dhx_mit'd be annoying having to set the time manually each time when your development team always has things due at the same time18:32
paulrerm18:32
paulrerm18:32
dhx_m... that made no sense lol18:32
paulrerm!18:32
dhx_mtoo many "times"18:32
paulrdhx_m: find a good open source jscript calendar please18:33
paulr:)18:33
dhx_mthere is one already in Mantis?18:33
paulryep18:33
paulrreplace it18:33
dhx_mnot sure if you'd call it "good" heh18:33
dhx_mit'd still be possible to use it without javascript right?18:34
dhx_mby manually typing in the date/time?18:34
paulrdunno I just want to replace calendar atm :)18:34
dhx_mthere are lots of them18:35
dhx_malso how would it handle due times?18:36
paulrhttp://cuwebd.ning.com/group/calendars/forum/topics/1763934:Topic:1168318:36
paulrthink we stuck with current one :(18:38
dhx_mthis is very ugly... but a good idea of a time chooser: http://www.java2s.com/Code/JavaScript/GUI-Components/FancyTimePicker.htm18:40
dhx_ma lot of them manually ask you to type a time... which is stupid18:40
dhx_mI like the idea of having 30min increments shown18:41
dhx_ma more fancy example: http://pttimeselect.sourceforge.net/example/index.html18:42
dhx_malthough I still find them hard to use (non-intuitive)18:42
thraxisppaulr: A couple of comments on dates:19:41
thraxispwe should use a long int (64 bits) so the 2038 problem isn't.19:42
thraxispCan you also verify that all of the graphs still work. As I recall, they do some date rounding.19:42
DirtyAlnucler_eclipse are you here?19:49
nuclear_eclipseyo19:49
DirtyAlI've found and small bug on the souce pluin19:49
nuclear_eclipseawesome :)19:50
DirtyAlim funciont         static function load_by_name( $p_repo_name ) {19:50
DirtyAlin the query to get the repo ID19:50
DirtyAlyou use like19:50
DirtyAli have to repos like this19:50
DirtyAlnagios19:50
DirtyAlnagios-plugins19:50
DirtyAland19:50
DirtyAlthe commit is not goind ot mantis because th elike query return the ID for nagios-plguins19:50
DirtyAland it should be mnagios19:50
DirtyAldue to tje LIKE19:51
DirtyAlmaybe it soulhd by =19:51
nuclear_eclipseah, it's the wildcards from the the %name% that's bugging it up19:51
DirtyAlI was goind crazy here, everthing working great, just commits to the repo nagios would not show19:51
nuclear_eclipseDirtyAl: mind reporting a new issue on http://leetcode.net/mantis/ ?19:52
DirtyAlyes, that's it19:52
DirtyAlno problem, will do19:52
DirtyAlnow19:52
nuclear_eclipseI should also be using db_like() for that as well19:52
DirtyAlI almost used Trac, glad I found your plugins, I like mantis very much19:54
DirtyAlI tried to register to yout mantis19:56
nuclear_eclipseI'm glad I helped save more people from Trac :P19:56
DirtyAldid get the email to set up the passwod19:56
DirtyAlclicking in reset password gives this message19:57
DirtyAlAPPLICATION WARNING #2702: Your session has become invalidated.19:57
nuclear_eclipseare you behind a proxy server?19:57
DirtyAltransparent squid19:59
DirtyAlI am behinf 4 diffente links20:00
DirtyAland the conection my switch between them20:00
nuclear_eclipseyep20:02
nuclear_eclipsethat's why20:02
nuclear_eclipseI just disabled the session validation on my site; try again please20:03
* nuclear_eclipse thinks proxy servers shouldn't load balance between different outbound nodes for a single endpoint; it's really ugly from a security aspect... =\20:04
DirtyAlits a linux box with multiple links20:05
nuclear_eclipseeg, all connections to site X should always go through proxy node A; connections to site Y always go through node B, etc20:05
DirtyAlthe conntack does that20:05
DirtyAlbut for HTTP20:05
DirtyAlit has a timeout for the connection on conntrack20:05
nuclear_eclipseDirtyAl: my point is that from a security point of view, multiple connections from the same user from multiple IP addresses looks exactly like a session hijacking attempt, and you really have no way of knowing if it is or it isn't ]20:06
DirtyAli know, I switched to HTTPS and got to the lsto password20:07
DirtyAlnow got this error20:07
DirtyAlAPPLICATION ERROR #200A required parameter to this page (confirm_hash) was not found.20:07
nuclear_eclipsehmm20:08
nuclear_eclipselet me try updating my install :P20:08
nuclear_eclipseok, try again :)20:09
DirtyAlhehe20:09
nuclear_eclipseit's apparently been a while since I synced my tracker to latest git...20:09
* nuclear_eclipse makes a note to make session validation an option to the user at login time...20:10
DirtyAlsame problem20:11
DirtyAlAPPLICATION ERROR #200A required parameter to this page (confirm_hash) was not found.20:11
nuclear_eclipsetry doing a lost-password reset; I wonder if the session validation bit nullified your ability to use that hash... =\20:12
paulrthraxisp: i'm tempted to say we do that in 10 years :)20:12
paulr(move to long ints)20:12
DirtyAlI did20:12
DirtyAlgot the URL via email20:12
paulr(By then, OS's will be 64bit and it'll be clearer what (if anything) we need to do20:12
DirtyAlclickin on it gives me this error20:12
nuclear_eclipseDirtyAl: I'll just force it set for you; I wonder if the proxy is munging something weird... =\20:14
DirtyAlit workd, submitting the bug20:19
nuclear_eclipsethanks DirtyAl  :)20:20
DirtyAldone, isse 3920:21
DirtyAlissue 39 with the solution I am using here.20:21
--- scribe started ---20:32
paul___back20:33
nuclear_eclipsepaul___: your server dead?20:33
paul___no20:34
nuclear_eclipseok, it was :P20:34
paul___I rebooted host for kernel update20:34
paul___is the sshd for git up?20:34
nuclear_eclipsejreese@iowa[/space/workspace/plugins/source-integration/Source] git fetch                                                             < 16:3520:35
nuclear_eclipsessh: connect to host git.mantisforge.org port 22: Connection refused20:35
nuclear_eclipsefatal: The remote end hung up unexpectedly20:35
nuclear_eclipsezsh: exit 128   git fetch20:35
paul___@reboot /root/sshd.sh20:36
paul___well20:36
paul___obviously that attempt at a cronjob doesn't work20:36
paul___dhx_m?21:47
* paul___ sighs21:54
paul___I really hate the way mantis does stuff sometimes21:54
* paul___ thinks 21:59
paul___thraxisp: what did you ask earlier21:59
nuclear_eclipse@seen thraxisp21:59
nuclear_eclipsebah, stupid bot21:59
paul___nuclear_eclipse: can I whinge at you? :)22:00
paul___why do we allow users to customise date formats ;/22:01
nuclear_eclipsebecause not everybody likes the ISO standard, unfortunately, even though I think it's the most logical date format available, and not just because it "sorts correctly"22:02
paul___but :(22:03
* paul___ carries on defining 2 more date formats22:03
paul___oh22:04
paul___I also hate how our git repo is organised22:04
nuclear_eclipsewhat do you mean?22:04
paul___to which bit22:04
nuclear_eclipse18:04 < paul___> I also hate how our git repo is organised22:04
paul___well22:05
paul___it would be nice to have a project for adodb22:05
paul___then have the central thing pull in the adodb thing (like a tree)22:05
paul___I know you can do that in svn/hg22:05
paul___now in an ideal world, you'd have something where you can filter what you include in that22:06
paul___I also want to know how to edit manual22:06
nuclear_eclipsethere is an ability to use "submodules" in git, but it's got a rather poor interface22:07
* paul___ still wonders if it would be easier if we migrated manual to docbook5xml format stuff22:07
nuclear_eclipsepaul___: I keep telling you, the manual's a damn text file, just look at the the tags and you'll instantly figure it out exactly the same as html22:07
paul___nod but the build setups i've got for docbook are all xml ;/22:08
paul___and editors i've found ;p22:08
nuclear_eclipseso use the build system we've already created for the sgml docbook; it's really not that difficult...22:08
paul___mm22:24
paul___how do you include % in a config variable22:24
nuclear_eclipsepaul___: good freaking question :P23:30

Generated by irclog2html.py