Tuesday, 2010-01-19

../irclogs/#mantishelp.2010-01-19.log
--- scribe started ---00:00
CIA-22Mantisbt: hickseydr master-1.2.x * r077921d056b9 /core/history_api.php: Fix #11413: Product version field string not localised in history02:06
CIA-22Mantisbt: hickseydr * r0bf664474ba9 /core/history_api.php: Fix #11413: Product version field string not localised in history02:06
jojolol, is the name of the 1.1.8 release "just ask"?06:04
jojoanyone here familiar with some of the internals of the 1.1.8 branch?  got a question about the filter api06:04
dhx_mjojo: hi06:05
dhx_mjojo: please note the 1.1.x branch is not actively developed anymore, you probably want to look at the 1.2.x and/or 1.3.x branches instead06:05
dhx_mie. architectural changes only happen in the 1.3.x branch at the moment06:06
jojamesyea.  I figured.  Unfortunately we're just finishing up a project involved with using the 1.1.8 branch, and people need reports out of it.06:06
dhx_mand 1.1.x and 1.2.x are vastly different (years of development) so questions relating to 1.1.x don't necessarily apply to 1.2.x06:06
jojamesoh years huh?06:06
dhx_mand most developers here don't work with 1.1.x anymore :)06:06
jojamesdang.....06:06
dhx_mhowever06:06
dhx_mfilter_api hasn't been updated in ages AFAIK06:06
dhx_mso it might be more consistent than say, bug_api (switched -partially- to an object model)06:07
jojamesthats good.  I'm pretty sure my question is simple enough for someone familiar in building filters to answer.06:07
dhx_mif you're generating reports... what type?06:07
dhx_myeah fire away :)06:08
jojamesall I need is csv reports, as I currently have the most control on what they output06:08
jojamesthe only things I need to add to the csv report are the description and additional_information fields from the bug_text table06:08
jojamesI know why the currently implemented functions don't look there when you make the custom column title and value fetching functions06:09
jojameswhen the csv exporter script fetches the rows in order to begin building the file, the rows it gets (using a call to the filter api) don't include the table with those two fields06:09
jojamesand i'm wondering if I can take advantage of the custom filter param as passed to the filter_get_bug_rows function in order to have those two fields added06:10
jojamesin that case, all of the default functionality for building the list of column titles and values for the csv can be taken advantage of.  as it stands, I've already made up functions that the print column title function calls to print the appropriate title text for description and additional info.06:12
jojamesif i'm not being clear, please let me know how I can clarify06:12
dhx_mit'd be better to add new functions like you've already started doing06:13
dhx_mAFAIK we've had to add them in 1.2.x because they were missing in 1.1.x06:13
dhx_mjust be careful that you're properly escaping full text fields before plonking them in CSV files ;)06:13
dhx_mespecially with respect to line breaks06:13
jojamesi'm going to take a cue from how the system handles outputting the summary text and see what happens ;-).  frankly my company has been burned by using software not marked release, we didn't know the 1.1.8 branch was so old though.06:16
jojamesand reading through the get bug rows function kinda made my eye twitch06:18
jojamesthanks for the support06:18
dhx_mwell you could always make reports via drawing information directly from the database with SQL06:19
dhx_mit'd be quite easy to do :)06:20
dhx_mjojames: well 1.2.x has been in "RC" state for months now.... we've just got a few minor things to fix before release06:20
dhx_mthis RC is a *lot* more stable (and tested) than most RC software you see06:21
dhx_mactually... 1.2.0RC2 is quite old too... lots of bugs :)06:21
dhx_mwe really needed an RC3 sometime before christmas IMO06:21
jojamesi see06:22
jojamesyou're right, it probably would have been more straightforward to just write it all out myself06:23
dhx_mI'm not much of an advocate for software versioning though (I'd much sooner see all versioning disappear)... so I'm a little biased :)06:23
jojamesi'll call it a brain exercise06:23
jojamesoh yea?06:23
dhx_mI guess it depends what format you need the reports in06:23
jojamesjust csv so our windows laden customer can sort the stuff with excel.06:24
jojameswhat do you have against versioning?06:24
dhx_mjojames: every project and developer treats version numbers differently, and it says little about the quality of software... the only way IMO to measure quality is to try it yourself, or wait for a project to build up a reputation for releasing stable/bug-free software06:24
jojameswell when you put it like that06:25
dhx_min the news recently you may have heard about Firefox's plan to introduce new features in 3.6.x minor releases06:25
jojamesno actually06:25
jojamesthat.... obviously, doesn't sound right06:26
dhx_mwhere you'd normally only expect new features in 3.x releases06:26
jojamesor at least, consistent06:26
jojamespoint06:26
dhx_mmore to the point: if I find a bug in software, I prefer to fix it myself, submit a patch upstream, get it committed... and then I want to start using it straight away06:27
dhx_mdistributed version control tools like git can be used to keep new features out of the mainstream branch until they're proven stable06:27
jojamesso the leaf developer can use the feature they just added, but everyone pulling from the guy holding the canon release06:27
dhx_mmuch in the way the Linux kernel repository maintained by Linus works (patches/features are developed in other branches first and tested in those branches)06:28
dhx_mthe most stable version of software is often the latest one, depending of course on how strict upstream is about testing patches before committing them06:29
jojamesyou know, i never thought about it that way06:30
dhx_mit's a little bit radical ;)06:30
dhx_mI also tend to be from the school of thought that teaches enhancements being a subset of defects06:31
dhx_mwhereas a lot of people like to separate the two06:32
jojamesi guess its kinda like the speech that perl guy gave about how community support is different and stronger than contractual support06:32
jojamessome people do the reverse, consider new bugs to be "features"06:32
dhx_mhaha, I think the Gnome project cops that criticism a fair bit06:33
jojameslol06:33
dhx_mI guess the problem with contractual support is that it tends to be implemented extremely poorly by developers and customers06:34
jojamesthe argument the guy made in favor was that the key was love.06:35
dhx_mie. developers hire clueless drones to man helpdesks while customers don't RTFM and ask stupid questions06:35
jojameslike, theres a shinto shrine in japan that is rebuilt every thousand years06:35
dhx_mgot a link? sounds interesting :)06:35
jojamesyea hang on.06:35
jojameshttp://www.youtube.com/watch?v=Xe1TZaElTAs06:36
dhx_mthanks06:36
jojamesits a little long, but I think the speaker is engaging, and does a good job of explaining his point06:36
jojamesso what do you hack on when you're not in the mantis room06:36
dhx_mI used to spend a little bit of time getting bleeding edge packages to compile under Gentoo (a lot of software is released in a state that doesn't build, depending on what features you enable/disable at build time)06:37
dhx_msaying that, 99% of my hacking is done towards Mantis at the moment06:38
jojamesholy crap.  gentoo broke me.06:38
dhx_mso you're a Linux user then?06:39
jojamesI like to pretend06:39
jojamesi admin linux servers, lightly06:39
jojamesi have an apple, work gives me a windows laptop06:40
jojamesand I install linux on any server i'm given06:40
dhx_mGentoo gets a lot of bad press - from people that don't understand why to use it06:40
dhx_mand by "why to use it", I'm not referring to how to install it06:40
dhx_mI refer to the benefits of selecting Gentoo over another distribution06:40
jojamesright, for example I met a guy who builds data centers using gentoo, and the control the package manage gives over dropping in distros configured exactly the way you want is a really powerful thing06:41
dhx_mperformance isn't really one of them either (a lot of people think it is?)06:41
jojamesoh its not?06:42
dhx_mGentoo cops a lot of jokes about users setting their CFLAGS (compiler settings, effectively) to -O99 -funroll-loops -fmake-it-go-as-fast-as-possible06:43
jojamesi thought people went to the nines to get gentoo to perform well, hence the reason they wanted fine grained, wide sweeping controls to manipulate what features got compiled into what packages06:43
jojameslol06:43
dhx_mwhen in reality, bottlenecks aren't typically caused by the difference between a function being inlined or not06:43
dhx_mwell it's true... Gentoo is for power users that want to adjust and have control over *everything*06:44
dhx_mbut it tends to be more a case of being able to select which features you want to compile into PHP06:44
jojameswell, how knowledgeable would you say you were when you met up with gentoo06:44
dhx_mor whether you want to use pulseaudio, jackd or some other audio software06:45
dhx_mclueless ;)06:45
dhx_mwell not clueless...06:45
dhx_mbefore that I had used Ubuntu a little bit and also CentOS on servers06:46
dhx_mone of the main reasons I think I gravitated towards Gentoo is the pain of having to recompile a package like PHP to build in support for an extension not enabled by default in the CentOS RPMs06:46
dhx_mhowever I didn't know how to use sed, awk, grep, compile a kernel, etc before using Gentoo :)06:48
jojamesI was about to ask, what were the difficulties you had encountered06:48
dhx_myou tend to just pick up the details as you go along (Gentoo has great manuals/tutorials)06:48
jojamesI personally recently ran into an issue where the centos repos didn't have a more updated version of php to support my companies webmail app, so we had to migrate it off the server onto ubuntu or something else06:49
dhx_mone of the problems I find with Gentoo (and this isn't really Gentoo's problem - it tends to be the upstream projects) is incompatibility between different software06:49
jojameswhat do you mean?06:49
dhx_mfor instance, a library is updated that changes the API... and developers for software depending on that library are too slow in generating a new release06:50
dhx_mhypothetical:06:50
dhx_mSoftwareA depends on LibraryA version 106:51
dhx_mSoftwareB depends on LibraryA version 106:51
dhx_mLibraryA version 2 is developed with new features06:51
dhx_mSoftwareA is updated to use the new features of LibraryA version 206:52
dhx_myou really want to use SoftwareA version 2 because it has useful features06:52
dhx_mhowever, SoftwareB hasn't been updated yet to work with LibraryA version 206:52
jojamesoh06:53
dhx_mGentoo can solve this problem (sometimes) with "slots" (having multiple versions of a library installed at once)06:53
jojamestheres a06:53
jojamespackage manager that purports to solve that problem06:53
jojameslemme find a link.  their theory seemed to be sound, but I haven't found  the need to install it anywhere yet06:54
jojameshttp://nixos.org/06:55
jojamesi wish i could say more, like i've used it and it works great, but I read up on how the system works, and it seems like an elegant solution06:56
dhx_mit sounds like it shares a bit in common with Gentoo06:58
dhx_mbut it takes the idea of slots far further06:58
dhx_mI'm not sure how it entirely works from my brief read of their website07:00
jojamesyea like i said, from the way the manual explains how it works, it seems to make sense.07:01
dhx_mbut I'm curious to hear how a theoretical update of gcc that introduces new security features (example: stack canaries) would work with their distro07:02
dhx_mit may make sense to recompile *everything* to make use of the new feature07:02
dhx_mbut in the process, things may break07:02
jojamesyou know, I don't have an answer to that07:04
dhx_mhopefully it's not as stupid as the situation with software packaging and Windows07:06
jojameslol07:06
dhx_mif you have 5 different pieces of software on Windows depending on LibraryA version 1.107:07
jojameszomg joo need to downgrade your version of the mvc runtime07:07
dhx_mand a major security flaw is found in LibraryA, resulting in the need for a version 1.207:07
dhx_myou obviously want to ensure all 5 pieces of software immediately depend upon 1.207:07
dhx_mwith Windows (and possibly some Linux binary distributions too) you'd have to download 5 new versions of the software07:08
dhx_mit's up to the developers to go to the trouble and overheads of making a release07:08
dhx_mwith something like Gentoo, developers don't have to make a new release07:09
dhx_m(the reason you'd have to download all 5 pieces of software rather than just 1... which updates a shared library)07:09
dhx_m... is that different versions of libraries are stored individually for each application (slotting)07:10
jojamesare we assuming that the user can not recompile the programs himself?07:11
dhx_mpredominately yes07:12
jojamesoh07:12
dhx_mhowever users shouldn't have to find the 5 pieces of software depending upon the library, recompile them manually, etc07:12
dhx_mthe package manager should make it easy for them :)07:13
jojameswell sure07:13
jojamesbut, according to what you've told me, how is gentoo different from say, running some other distro's update utility on the files that have have updated dependencies?07:13
jojamesimagining that new releases of the packages have not been pushed out, updating one dependency... er....07:14
jojamesin my mind, somewhere there is a link to telling local packages that they should be recompiled because an update has been applied to a dependency...07:14
dhx_mwell in a decent distro, there wouldn't be any difference :)07:14
dhx_mI was mostly referring to the Windows approach07:15
jojamesoh07:15
jojamesgotcha07:15
dhx_mand with respect to distros, possibly like NixOS, where you have multiple concurrent version of a library in use07:16
dhx_mso you'd have to manually backport a patch to older versions of each library for users who want to use old software07:16
dhx_m= a huge amount of overhead and development work from the distro maintainers07:17
jojamesfair enough07:18
jojamesheres something interesting07:19
jojamesim still working on this csv export thing, and I've found that by adding appropriate functions, that mirror functions that print out other column header titles as stored in the database, I can print out the proper titles for the description field and the additional info field, which suggests to me that some data from the bug_text table has been incorporated into the result of the call to get rows of data to print, but mirroring the functions07:21
jojamesthat get the values of those columns results in no output07:21
jojamesso far from the time I print the column titles to the time I print the column values, I've still done only one query, but07:22
jojameseventually, this talk is going to lead up to me either writing my own completely separate routine that builds the query I want, or i 'm going to ask you how you usually debug php code live07:23
dhx_myeah AFAIK the data is all pulled from the database, but without a function to print the data, nothing is done with it07:23
dhx_mSELECT * for instance07:23
dhx_mthen Mantis checks what fields are returned, and tries to call a function for each field (if the function exists)07:24
jojamesright.  right there, I made such a function, that mirrors the function that prints out the summary07:24
jojamesin effect, a cvs_format_description function.07:24
jojamesand it gets called.  control enters the function just like it does for the summary field, and does the same thing.  but no data is getting passed to it, suggesting that I need to change the way the query gets built just slightly.  which is built using that filter api function07:25
jojamesor, to make it easier on you, how do you watch a php system live? akin to watching a binary file with a debugger07:32
dhx_msorry was just watching Clay's talk you gave me a link to before, quite interesting :)07:33
dhx_mand yes, he's a good speaker07:33
dhx_mback to debugging PHP... I'm not too sure about that07:33
jojamesso you're saying that the majority of php developers just write the code, read the standards, and when they need to debug something they walk through the code?07:35
dhx_mthe majority would use die() and var_dump() I imagine... as per this article: http://devzone.zend.com/article/293007:35
dhx_mbut that article also mentions how to use xdebug to trace/profile PHP code07:35
dhx_mthe problem I see is you need a client that can step through PHP code while it's executing07:36
dhx_mand because you probably want to test under web server conditions, you can't just load a PHP thread within the debugger of your choice (the thread/process is spawned by the web server instead)07:37
dhx_mI imagine xdebug might be able to fix that problem somehow07:37
jojameswell.. what do YOU do07:37
dhx_mmostly just check for PHP errors and fix them as they arise07:38
dhx_mor isolate a function, write some test harnesses for it, compare inputs/outputs07:38
dhx_mor for white box testing... add echo statements within a function to see what's happening throughout07:38
jojamesok07:39
dhx_mit's not that much of a big deal when you have two monitors/windows and can have code on one screen, a browser on the other (which you refresh with a single key press)07:39
dhx_mI'm certain there are much better ways of debugging PHP code though07:39
jojameshmm07:39
jojameswelwl07:39
dhx_mbut afaik nothing like gdb07:40
dhx_moops07:40
dhx_myou can heh07:40
jojameswell. millions of php developers seem to do pretty well getting by with no easy way to step through live php, so they must be doing something right07:40
dhx_mthis is the way then: http://xdebug.org/docs/remote07:40
dhx_mI've never really done enough development to have a need to look into this area properly07:40
jojameslol well then07:40
dhx_mbut yeah, PHP programmers don't have a great reputation amongst the wider programming community :)07:41
jojameswhy do you think that is?07:42
dhx_mPHP isn't a strong language07:47
dhx_mand it has traditionally been easy to program with, attracting newer and less experienced developers07:48
dhx_mI'd say the same problem affects other web scripting languages too07:48
jojamesahh07:49
dhx_mit's not like your average PHP developer is going to have to go out of their way to learn about algorithms for looking up values in b* trees07:50
jojamescertainly not07:50
jojamesaaaaaaah i found what was throwing me offffff08:48
jojameswhen printing the column titles, the print function uses the lang_get function for the words description and additional information08:49
jojamesi though it had somehow included the rutting bug text table and was pulling the wool over my eyes as to how it was doing that08:49
bolshihello08:54
bolshii've got problems running emailreporting08:55
bolshii installed the rc2 version08:55
bolshiof mantis08:55
bolshiand the latest release of MantisBT-1.2.0rc2_plugin_EmailReporting-0.7.4.rar08:56
bolshii put every plugin into the plugin folder08:57
bolshipluginmanager works fine08:57
bolshiemailreporting says nothing08:57
bolshido i have to do additional things except unpacking files in the right folder?08:58
dhx_mpluginmanager is for Mantis 1.1.x09:03
dhx_mnot 1.2.x09:03
dhx_mMantis 1.2.x introduces a new plugin system incompatible with the old one created by deboutv09:03
bolshipluginmanager was just a test09:04
bolshii only wanted to find out if different plugins work09:05
dhx_mcheck the plugins at git.mantisforge.org09:05
bolshido i need a special version using emailreporting09:05
dhx_mit's not officially supported in any way, so you'd have to ask questions about it in the bug ID or website where it is developed09:06
bolshipitty09:07
bolshithanks for your hint09:07
dhx_mdo you know where you got it from?09:12
dhx_mthe people who made that plugin should be able to help you out09:12
jojamesfyi dhx_m, I got it all working.12:08
dhx_mjojames: great :)12:08
jojamesthanks for kicking ideas around with me, and if you hear of anyone else who still needs to do this let me know.  otherwise, we'll be porting to the latest for our next project, and i'll contribute against that tree12:08
dhx_mwe love receiving patches, especially from git format-patch :)12:09
jojamesfair enough.  its about time i tried out git12:09
dhx_mafaik a lot of the CSV/column issues should be fixed in 1.2.x now12:10
jojamesthats neat.  can't wait to try all that new stuff out!  ok, i'm out.  see you around!12:10
dhx_mok cya, nice talking to you before :)12:11
jojameslikewise :-),  night12:11
bolshiWhich file do I have to call if I want to install Mantis ver. 1.2.0rc2?13:41
bolshigot it: http://www.mantisbt.org/manual/manual.installation.php14:13
felipepereirahi all18:15
felipepereirai'm need help18:15
felipepereirawith mantis18:15
felipepereira..18:17
paul__moo21:42
nuclear_eclipsehi paul__21:45
nuclear_eclipseany news on your columns fixes?21:45
paul__ldap changes first21:45
* paul__ sighs22:09
paul__dhx_m broke something else :(22:17
paul__nuclear_eclipse: what version of mysql do you run?22:22
nuclear_eclipse5.0 I think22:31
paul__next question22:31
paul__who originally added mysqli type?22:31
paul__me or victor22:31
nuclear_eclipseVersion: 5.1.37-1ubuntu522:32
nuclear_eclipseno clue22:32
nuclear_eclipsethat's been there for longer than I have22:32
paul__I think db_fetch_array needs fixing22:33
paul__i.e. should cover mysql,odbc_mssql AND mysqli22:33
nuclear_eclipsepaul__: afaik, there really isn't anything different in how mantis treats mysql vs mysqli22:34
paul__erm, there is in terms of c code22:34
nuclear_eclipseI meant more in "does mantis actually make calls to different php functions"22:35
paul__yes22:35
paul__we do22:35
nuclear_eclipselast I looked, both mysql and mysqli almost alsways hit the same case block22:35
paul__yes22:35
paul__but22:35
nuclear_eclipseoh, but adodb handles it different, eh?22:35
paul__adodb will call either mysql_ or mysqli_22:35

Generated by irclog2html.py