Time Nick Message 00:02 tcohen heh, sorry for the delay 00:02 tcohen that's what mate is jcamins, right! 00:10 eythian http://rednuht.org/genetic_cars_2/ <-- cool 00:11 tcohen i'll bring my mate to Reno for sure 00:14 dcook eythian: That is rather cool. 00:14 dcook Almost saw one break over the hump but they all seem to die at the same point 00:14 dcook Or rather, none can make it past that point 00:16 eythian they'll get past it eventually :) 00:19 dcook It's so sad watching them struggle sometimes :( 00:19 dcook Poor little cars 00:38 dcook MARC-- 00:38 bag HA 00:39 dcook Why yes...let's use a set of codes to indicate "Type of record" 00:39 dcook But then change them depending on the fixed field we're using 00:39 dcook Because that makes sense 00:42 dcook Hmm, maybe it's not quite THAT bad 00:43 dcook the 007 is the one that gets weird 00:43 dcook But the leader and the 006 seem in sync 00:43 dcook And the leader and the 008.. 00:43 dcook so to speak... 00:43 tcohen so, its a vacuum flask then eythian ? 00:43 tcohen is that how is it called? 00:59 dcook Sweeeet record type is indexed 01:02 eythian tcohen: yeah, or a thermos flask. 01:19 dcook Search.pm-- 01:20 eythian --++ 01:21 dcook hehe 02:15 dcook eythian: Are 3.10 the oldest set of packages we have? 02:15 eythian yep 02:15 dcook Hmm, thanks :) 02:17 dcook No time like the present to learn how to build my own packages then :) 02:39 tcohen_dinner good luck dcook, everything is there to do the job 02:39 dcook thanks, tcohen :) 02:39 dcook I've been wanting to try this for a while, so it's good to have some motivation now 02:40 tcohen_dinner debian/build-git-snapshot 02:41 tcohen_dinner i'm on the same track at UNC 02:41 tcohen_dinner (custom 3.12 in our case) 02:41 dcook Here's the instructions I'm looking at right now: http://wiki.koha-community.org/wiki/Building_Debian_Packages_-_The_Easy_Way 02:42 dcook At the moment, we still have custom 3.8 02:42 dcook If things calm down at some point, hopefully I will be able to contribute more back in so it's less customized ;) 02:43 dcook Tough sometimes. Right now, I'm working on facets for information from the leader. 02:43 dcook It's not very pretty though... 02:43 tcohen_dinner our diverged in only one patch :-D 02:44 dcook Only one difference? 02:44 * dcook is so jealous 02:44 dcook Ours is significantly more :p 02:51 mtompset Greetings, #koha. 02:54 dcook hey ya mtompset 02:54 mtompset Greetings, dcook. 02:55 mtompset I, for a change, am actually running through the coding guide lines to see if my patch meets standards. :) 02:57 mtompset YIKES! I didn't know how perl critic unfriendly my code could be. 02:58 tcohen_dinner run koha-qa.pl mtompset 02:58 tcohen_dinner c u mtompset dcook 02:58 tcohen_dinner good night! 02:58 wahanui I'll be waiting for you to come back, tcohen_dinner. 02:59 mtompset okay... but wiki.koha-community.org/wiki/Coding_Guidelines, section perl 4 says perl critic. 02:59 mtompset but thanks for the suggestion, tcohen_dinner. 02:59 tcohen_dinner koha-qa.pl gives good output for fixing things, and runs perlcritic for you of course 02:59 wizzyrea well the qa people are going to run koha-qa 02:59 wizzyrea so you might as well 03:00 mtompset um... where is koha-qa? 03:00 wahanui koha-qa is default assignee isn't it? 03:00 tcohen_dinner QA people deserve that great feeling of having no koha-qa warnings when testing other's patches 03:01 mtompset find . | grep qa returns nothing in my kohaclone. 03:02 dcook I think it might be in a different repo mtompset 03:02 dcook qa tools? 03:02 tcohen_dinner git clone git://git.koha-community.org/qa-test-tools.git 03:02 dcook qa test tools? 03:03 dcook Can anyone tell wahanui to do stuff? :p 03:03 tcohen_dinner koha-qa.pl? 03:03 wizzyrea qa tools is <reply> git://git.koha-community.org/qa-test-tools.git 03:03 wizzyrea forget qa tools 03:03 wahanui wizzyrea: I forgot qa tools 03:03 wizzyrea qa tools is <reply> git clone git://git.koha-community.org/qa-test-tools.git 03:03 wizzyrea qa tools? 03:03 wahanui git clone git://git.koha-community.org/qa-test-tools.git 03:04 wizzyrea like so? 03:04 tcohen night 03:05 dcook wizzyrea: Yep, like so 03:05 dcook qa tools? 03:05 wahanui git clone git://git.koha-community.org/qa-test-tools.git 03:05 dcook forget qa tools 03:05 wahanui dcook: I forgot qa tools 03:05 dcook :D 03:05 dcook qa tools is <reply> git clone git://git.koha-community.org/qa-test-tools.git 03:05 mtompset test/perl/critic/progressive.pm? 03:06 dcook Hmm 03:06 mtompset suggestions on where to get that? 03:06 dcook qa tools is <reply> git://git.koha-community.org/qa-test-tools.git 03:06 dcook qa tools? 03:06 wahanui git clone git://git.koha-community.org/qa-test-tools.git 03:06 dcook forget qa tools 03:06 wahanui dcook: I forgot qa tools 03:06 dcook qa tools? 03:06 dcook qa tools is <reply> git clone git://git.koha-community.org/qa-test-tools.git 03:06 dcook qa tools? 03:06 wahanui git clone git://git.koha-community.org/qa-test-tools.git 03:06 dcook Hmm. *shrug* 03:06 dcook thanks, wizzyrea :) 03:06 dcook mtompset: No idea 03:06 dcook But TT plugins are awesome 03:07 mtompset I'll try that later... going to go watch the daily show. ;) 03:43 dcook Come on genetic cars! 03:43 dcook You can surmount that hurdle! 03:44 dcook Generation 18 but Generation 8 is still top of the charts 03:44 eythian generation 53 here, 03:44 eythian I think firefox slows it down when it's not in the foreground. 03:44 dcook How're they doing? 03:45 dcook I'm wondering if Chrome does the same thing 03:45 eythian still making progress, though very incrementally 03:45 dcook Because surely there must be more than 18 generations (make that 19) by now 03:45 dcook It's really interesting watching certain designs take over 03:46 dcook Damn, I thought that big two wheeler was going to do it... 03:46 eythian heh 03:46 dcook It seems like a big wheel in front and a little one in the back with just the right back spike seems to work pretty well in this world 03:47 dcook Whoa! 03:47 dcook That little guy is awesome! 03:47 dcook He's practically all wheel! 03:48 eythian I've got a really slow one that's always the last one left. 03:48 dcook Ahh...I wondered what happened when they start looping 03:48 dcook A really slow one? 03:48 eythian looping? 03:48 dcook Interesting 03:48 wahanui well, Interesting is sometimes good and sometimes bad 03:48 dcook Yeah, he starts just flipping in a circle 03:48 dcook So he doesn't actually gain any distance 03:48 wizzyrea what on EARTH are you talking about. 03:48 eythian ah yeah 03:48 dcook http://rednuht.org/genetic_cars_2/ 03:48 dcook wizzyrea: It's pretty much the best thing ever 03:49 dcook I sent it to a bunch of students I know 03:49 dcook Poor bastards 03:49 eythian the slow one usually ends up on one wheel and a spike, rather than two wheels. 03:49 dcook Mmm, I've seen th at a bit as well 03:50 dcook It's fascinating how important the spikes are 03:50 dcook The little one that was all wheel had no real spikes, so while it could go and go...it also kept going in those circles instead of bouncing off 03:51 eythian yeah, I've had some do that 03:51 dcook What settings do you have? 03:51 dcook I played with the mutation a bit but then went back to the default 03:51 eythian all defauly 03:51 dcook What's your top score? 03:51 eythian I might regenerate with a different seed 03:51 eythian 152.3 03:52 dcook Hmm, what's the difference between those first two values? 03:52 dcook #1: 191.38 d:187.76 h:-12.45/4.69m (gen 8) 03:52 dcook points? 03:52 wahanui i guess points is how we did it other years 03:52 dcook Then distance and height 03:52 eythian I think the latter two are distance and height, I think the first one is some combination 03:53 dcook I wonder if we're on the same world 03:53 dcook Or if there is a random seed 03:53 eythian the seed is defined by the text box 03:53 eythian I think that defines the world, though the mutation etc. will be different. 03:53 dcook Right, I just wondered if there was a random one that got generated by default that the text box replaced 03:54 eythian I presume whatever was in the box to start with 03:54 dcook Hmm, so maybe we are on the same world 03:54 * dcook wonders if wizzyrea gave up on us or is captivated as well 03:54 eythian until I reset, anyway 03:55 dcook Hmm, definitely different worlds/tracks 03:55 dcook I tried in another browser window and it was different 03:56 eythian hmm right 03:56 wizzyrea i'm... not sure what to say about this 03:56 dcook wizzyrea: That's how it starts 03:57 dcook Before you know it, you'll be talking about spikes and wheels as well 03:57 dcook Same seed does make the same world though... 03:57 * dcook wonders what a seed of "koha" might do 03:57 wizzyrea heh. 03:57 wizzyrea heh. 03:57 wizzyrea heh. 03:58 eythian ah ok 03:59 wizzyrea so does the evolution begin from the winner of the last race? 04:00 dcook I'm not entirely sure. It seems like it, but it just says that the winner is copied into the new generation. 04:01 eythian elitism is when the winner of the previous generation is copied in, after that it'll use some genetic mix of the best ones (though it doesn't give the details - there's many different ways you can go about it) 04:02 wizzyrea mine has a hill in it that the cars just. cant. do. 04:02 dcook wizzyrea: I had that too at one point 04:03 dcook But I think they eventually overcame it 04:03 dcook Although at this point, they may have run into a new challenge that they haven't surmounted yet... 04:15 wizzyrea lulz 04:15 wizzyrea http://img59.imageshack.us/img59/6576/nll.png 04:16 dcook hehe 04:16 dcook I had one that looked like a penguin ^_^ 04:16 dcook Oh snap...gen 26 broke the record 04:16 dcook By .6m 04:17 dcook Pizza cutters 04:17 eythian I have a mountain that only one has ever been able to get over. 04:17 dcook My main model look like pizza cutters 04:17 wizzyrea mine are starting to look decidedly like motorbikes. 04:17 dcook I've had quite a few motorbikes as well, but the pizza cutter is pretty key, I think 04:17 dcook Something about the back wheel being smaller.. 04:17 trea indeed 04:18 dcook eythian: Interesting that they don't perform identically each time, eh? 04:18 wizzyrea 46 just won by a lot! and then... 47 got stuck in the same place again 04:18 eythian yeah. The comments mentions some non-determinism, so I assume that's that. 04:18 dcook Yeah, I think so, although he seems to think it's a problem 04:19 dcook wizzyrea: Just noticed a mountain near the end...a few have gotten over it (so sayeth the records) but I've never seen it and I have NO idea how they could do it 04:19 eythian it's arguable as to whether it is or not. 04:26 mtompset :( I can't get qa-tool to run. 04:27 mtompset and I don't understand the output of perl critic. 04:28 mtompset What is PBP? 04:28 wahanui i heard PBP was not documented in FOSS anywhere as far as I can tell. 04:28 eythian Perl Best Practices. 04:30 mtompset And where do I find that online? 04:31 eythian it's a book, though the rules themselves are explained in docs associated with perlcritic and perltidy. 04:31 eythian PBP is more about the justifications etc. 04:32 mtompset loop iterator is not lexical?! 04:33 eythian http://search.cpan.org/dist/Perl-Critic/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm 04:35 * Oak waves 04:35 Oak hello Mr Robin 04:36 eythian hi Oak 04:36 mtompset Greetings, Oak. Long time no chat. 04:37 mtompset Wait a second... I declare a my $var and have a foreach $var (@array_of_things) { ... } and the $var in the foreach loop isn't the same as outside of the loop?! 04:37 Oak :) well yes. 04:39 eythian I think that's what it's saying, yes. 04:40 mtompset What if I don't care? 04:40 mtompset My foreach variables are generally throw-aways. 04:41 eythian then they should be scoped within the foreach so they're explicitly thrown away. 04:41 eythian also, it makes for nicer code that way 04:41 mtompset putting the my in the foreach line?! 04:41 mtompset That makes it uglier to read. 04:42 eythian as opposed to having a separate one? it doesn't at all :) 04:42 * dcook just put a "my" in the foreach line 04:42 mtompset But this goes against my, "declare everything at the top of the routine, and then use it" 04:43 dcook Why would you declare throwaway type variables at the top? 04:43 eythian yeah, that's not a rule you should really have. 04:43 mtompset Because I like sometimes like explicit declarations and strong typing? :) 04:44 mtompset If I put the my in the foreach... then I am clear on the scoping. 04:45 mtompset But what if I really want that variable external to the loop? 04:46 eythian but you can't have that, because the foreach scopes it anyway. 04:46 * dcook nods 04:46 mtompset so, I'd have to my $another_var, set it inside the foreach, and then use $another_var's value? 04:46 mtompset ^my^make^ 04:46 eythian besides, relying on it seems like relying on a side effect, and that's a code smell. 04:46 eythian yeah 04:48 mtompset fine... my in the foreach's or whatever. It's clear on the scoping, but it seems strange to no be able to declare the variable ahead of time. 04:48 dcook mtompset: I don't have a lot of experience, but when can you ever use a variable from outside a foreach within a foreach 04:48 dcook Without explicitly declaring it as having a global scope? 04:49 mtompset a my at the top of the .pl file should be "global" to that file. 04:49 eythian yep. 04:49 dcook Well, in a way, I suppose it is 04:50 mtompset the forced scoping for a loop seems... arbitrary to me. 04:50 dcook Well, in a way, I suppose it is. I imagine that the foreach is still touching that $var variable you declare at the top 04:50 dcook Or does it throw an error? 04:50 mtompset I don't think it will error. 04:51 eythian mtompset: you can do pre-declare it, but it's bad form to do so, because it might confuse people who expect it to have a value based on the result of the loop. 04:51 eythian so it complains that it's bad. 04:52 eythian I'm not sure why it lexilises the loop variable, but I'm sure there's a good reason. 04:52 mtompset code before strictures are enabled? 04:53 eythian no, it came in in perl 5.004. 04:54 eythian well, actually, the ability to use my in the foreach came in then 04:54 eythian I'm not sure where the lexilisation came from. 05:02 cait good morning #koha 05:02 eythian hello cait 05:02 wahanui hello cait are you here? 05:02 cait hi eythian :) 05:02 mtompset Greetings, cait. 05:02 mtompset Nice... I finally cleaned up my code for perl critic level 5. 05:02 eythian cool :) 05:07 mtompset It would seem that perl critic hates file handles opened for a "long" time in level 4. 05:08 eythian that's not too unreasonable 05:24 mtompset it is unreasonable if three lines of open, printf, and close still trigger the message. 05:25 mtompset never mind... bad open statements. 05:25 mtompset I am so tempted to use commas. 05:26 eythian so it was right :) 05:26 mtompset almost got the code to level 4... 05:29 dcook Does anyone know the name of a sub that retrieves authorized values? 05:30 eythian GetAuthorisedValues, or something like that? 05:30 dcook Ooops, I meant authorized value descriptions 05:30 dcook Just found GetAuthorisedValueDesc 05:30 dcook Seems a bit...interesting 05:31 dcook Must be because of including authorized values in records 05:31 dcook Think this might be the one though 05:33 dcook Beautiful 05:34 dcook Added facets for shelving location and record type :) 05:34 eythian oh, useful. 05:34 dcook Plus a TT filter that shows descriptions rather than values (while still using the values for the actual search) 05:35 eythian that's a good approach 05:35 cait dcook: hm i think shelving location is already in there... because i filed a bug about it :) 05:35 * eythian makes like a tree and gets out of here 05:35 cait record type sounds aweesome 05:35 dcook Interesting.. 05:35 wahanui interesting is sometimes good and sometimes bad 05:35 dcook That's what I get for developing locally :p 05:35 cait i have wnated to work on that for a while 05:35 cait are you using the controlfields in facets? 05:36 dcook The leader in this case 05:36 dcook It's not too pretty :p 05:36 cait cool! 05:36 dcook nor extensible.. 05:36 cait bug 9801 05:36 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9801 normal, P5 - low, ---, gmcharlt, NEW , location facet shows even if no locations 05:36 dcook Not easily at least 05:36 cait bug 10078 05:36 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10078 enhancement, P5 - low, ---, gmcharlt, NEW , show location facet for all 05:36 cait and bug 10479 05:36 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10479 normal, P5 - low, ---, oleonard, NEW , Heading for location facet shows up even when there are no locations 05:36 dcook Ahh, all the bugs 05:36 mtompset looks like some duplicates. 05:37 mtompset So what exactly is the difference between croak and die? 05:37 cait yep 05:37 cait cleaned it up right now 05:40 dcook Hmm 05:47 dcook Interesting. It seems that the behaviour Nicole describes is the one that I have 05:50 * dcook has way way too many browser tabs open right now 05:50 dcook And not enough food in the belly... 06:00 bag well evening all - been here a bit but forgot to say hi 06:00 bag yeah dcook I bet you are never as bad as melia - melia is the queen of open tabs :) 06:01 dcook 44 tabs :p 06:01 dcook Fortunately, I just have the one browser open today.. 06:01 bag that's pretty good 06:03 dcook Admittedly, I can still see the favicons 06:05 bag oh you've got more to add! 06:14 cait @wunder Konstanz 06:14 huginn cait: The current temperature in Konstanz, Germany is 11.0°C (8:00 AM CEST on June 26, 2013). Conditions: Partly Cloudy. Humidity: 83%. Dew Point: 8.0°C. Pressure: 30.36 in 1028 hPa (Rising). 06:14 bag hiya cait 06:14 cait hi ba 06:14 cait hi bag 06:15 bag yo cai 06:15 bag :P 06:15 bag heh 06:15 bag I'll be hanging with khall this weekend - so I'm planning on doing some QA stuff with him if we get a little bit of time 06:17 cait cool 06:18 cait I might join you for some virtual time :) 06:19 bag coolness :) but you should enjoy some outdoors sun this weekend :D 06:27 bag oh sweet this has been signed off on!!! http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10486 06:27 huginn 04Bug 10486: enhancement, P5 - low, ---, jweaver, Signed Off , Allow external Z39.50 targets to be searched from the OPAC 06:27 bag rangi++ 06:27 bag now we just need to find someone to QA that :) 06:27 bag cause I don't think rangi khall or I could.. hmmm who's out there that QA something 06:27 bag oh cait !!!! yay!!!! 06:28 cait heh 06:28 cait i have to survive my training th next 3 days 06:28 cait then I can hopefully come back to QA that 06:29 bag oh you are doing the training or getting the training? 06:30 gaetan_B hello 06:30 wahanui bonjour, gaetan_B 06:30 bag hi gaetan_B 06:30 cait doing it 06:30 gaetan_B hi bag, how are you doing ? 06:30 bag doing quite well - how about you? 06:31 bag how was the trip to Iraq? 06:35 reiveune hello 06:36 gaetan_B bag: i am writing from Iraq actually :) 06:36 bag awesome!!!! 06:36 wahanui That'll be $1 for the awesome jar, bag 06:36 gaetan_B i am back since yesterday, to finish the project and give the training ! 06:36 bag that's so exciting! 06:36 gaetan_B pretty exciting indeed :) 06:36 bag really cool 06:37 cait gaetan_B: oh you are back there 06:37 gaetan_B i have a marc21 related question by the way, in unimarc we always link the biblionumber to the 001 field, which pretty much fits the standard 06:37 cait hope it goes well :) 06:37 cait i think don't change the lining for marc21 06:37 cait it might break things 06:37 gaetan_B but one of our customers is not satisfied with this and would like to have it somewhere else 06:38 gaetan_B seeing how marc21 uses another field for this, is anything hardcoded around these fields and biblionumbers, or can we just use another field safely ? 06:38 gaetan_B cait: what do you mean by lining ? 06:38 cait gaetan_B: I think I wouldn't change the mapping for the biblionumber, because it might have side effects 06:38 cait linking :) 06:38 cait typoed 06:39 gaetan_B ah ok 06:39 * dcook isn't sure that he understands the question 06:39 cait but i haven't tried it 06:39 dcook I think the default Koha MARC21 set up puts the biblionumber in the 999$c 06:39 cait yep 06:39 gaetan_B actually the question is for my colleague 06:39 gaetan_B yes 999$c 06:40 gaetan_B the question actually is "since the biblionumber is linked to different fields in different marc flavours, is it safe to change the linking for one specific case ?" 06:41 cait why would you want to change the linking? 06:41 cait and i think it's not, but that's more a feeling, with no actual proof 06:41 cait but if you do it and it breaks something might be hard to repair 06:41 gaetan_B yep 06:42 gaetan_B one customer wants to keep the identifier from the original provider of the record, for FRBR somehow, i totally advise against it, but then, they want to have it this way 06:42 cait but wouldn't go the original identifier in 001 then? 06:42 cait for marc21? 06:43 gaetan_B sorry i wasn't clear 06:43 gaetan_B it's a unimarc install 06:43 * magnuse waves 06:43 gaetan_B so the identifier is in 001 06:43 cait ok, now i am confused 06:43 cait :) 06:43 gaetan_B but they don't want it here 06:44 gaetan_B i first thought "nope" 06:44 cait i think if you actually change the linking, you have to change indexing too 06:44 gaetan_B but then i noticed the identifier is in 999c in marc21 06:44 gaetan_B so i thought maybe nothing is hardcoded for this 06:44 bag the only places that it's really hardcoded I think are in the indexes 06:44 gaetan_B (except stuff in the zebra configuration) 06:45 bag and just make sure that you don't have two fields with the (forgets the exact name) - control-identifier or something similar to that 06:45 gaetan_B ok so the only trick if you change the linking would be to be very careful about the indexes 06:45 gaetan_B ok thanks :) 06:46 * mtompset grumbles. 06:46 bag yeah most places it's actually just the call to biblionumber from the database 06:46 mtompset What is the friendliest perl critic way to open a file for write, dump a string, and close it? 06:46 bag so change it in frameworks and in the index configs 06:46 dcook gaetan_B, might not hurt to grep a little bit just in case 06:46 cait mtompset: do you have perl best practices? 06:47 magnuse mtompset: i always use File::Slurp for that sort of thing, not sure about perlcritic, though 06:47 magnuse tcohen++ for http://wiki.koha-community.org/wiki/Release_maintenance 06:48 cait @wunder Konstanz 06:48 huginn cait: The current temperature in Taegerwilen, Taegerwilen, Germany is 12.4°C (8:45 AM CEST on June 26, 2013). Conditions: Mostly Cloudy. Humidity: 84%. Dew Point: 10.0°C. Pressure: 30.33 in 1027 hPa (Steady). 06:49 mtompset never mind... it was the put my on the variable issue. 06:49 magnuse @wunder boo 06:49 huginn magnuse: The current temperature in Bodo, Norway is 11.0°C (8:20 AM CEST on June 26, 2013). Conditions: Mostly Cloudy. Humidity: 88%. Dew Point: 9.0°C. Pressure: 30.33 in 1027 hPa (Steady). 06:49 bag @wunder 93102 06:49 huginn bag: The current temperature in Westside, Santa Barbara, California is 16.4°C (11:48 PM PDT on June 25, 2013). Conditions: Clear. Humidity: 94%. Dew Point: 16.0°C. Pressure: 29.91 in 1013 hPa (Rising). 06:49 dcook IE-- 06:50 cait yes ie- 06:50 cait ie-- 06:52 gaetan_B @wunder sulaimani 06:52 huginn gaetan_B: Error: No such location could be found. 06:52 gaetan_B @weather sulaymaniyah 06:52 huginn gaetan_B: An error has occurred and has been logged. Please contact this bot's administrator for more information. 06:59 dcook System preference saved the day :) 07:01 bag hey magnuse 07:01 wahanui magnuse is a Norwegian giant. 07:01 bag heya matts 07:01 matts hi ! 07:02 cait hi matts and sophie_m :) bye all :) bbl 07:03 christophe_c hello #koha 07:04 bag this is one of my favorite times of day - the biblibre group shows up and it also means I'm awake too late :P 07:04 sophie_m hello :-) 07:04 dcook hehe 07:05 * dcook tries to leave work while also simultaneously fixing a bug 07:05 dcook Maybe I should just wait until tomorrow.. 07:05 magnuse kia ora bag! 07:05 bag :) 07:06 magnuse dcook: so the bug is that you are still at work? :-) 07:06 dcook hehe 07:06 dcook That would be the logical conclusion ;) 07:07 gaetan_B i'm still trying to figure out how you define what will be displayed for a specific language in the choose your language section at the bottom of the screen 07:08 magnuse gaetan_B: yeah, that is a tricky thing! 07:08 gaetan_B i toyed with the language_descriptions table, to no avail 07:08 gaetan_B you have an idea how it works magnuse ? 07:08 dcook cait was talking to me about that a little while ago 07:08 dcook Sounds like that should've done it? 07:08 magnuse i did it once for norwegian 07:08 magnuse let me see if i can find the bug 07:09 magnuse there is another table too, with a weird name 07:09 gaetan_B iso something to rfc something ? 07:09 magnuse language_rfc4646_to_iso639 07:09 magnuse i don't remember if that is involved, though 07:11 gaetan_B there could be as many as 5 tables involved actually 07:16 gaetan_B the language_subtag_registry looks like an interesting candidate... 07:16 magnuse yeah, i think that is worth a look 07:17 magnuse gaetan_B: what do you see in the language chooser when you don't see the name of the language? 07:18 gaetan_B the code i gave for the po-files (the code for the project in pootle) 07:18 gaetan_B ku-SOR 07:18 gaetan_B digging into those tables, it also appear that ku is iso639_1, when iso 639_2 should be kur 07:18 gaetan_B i wonder if this has any sort of incidence though 07:19 gaetan_B i think i just need to fill the tables with the appropriate information 07:21 dcook Well, I think it's time for me to go and find some grub 07:21 dcook En tout cas, gaetan_B, je te souhaite bonne chance! 07:21 dcook adios everyone :0 07:21 dcook :)* 07:21 magnuse gaetan_B: this is what i did when i added the "nynorsk" variant of norwegian, i think: https://github.com/MagnusEnger/kohawork/compare/master...bug6002-sample-data#L8R431 07:22 magnuse man, dcook is quick 07:22 magnuse 6 insertsinto 3 different tables 07:22 magnuse s/insertsinto/inserts into/ 07:23 magnuse i don't remember if that was actually sufficient, but it was a start at least 07:29 gaetan_B thanks magnuse :) this looks very promising 07:29 gaetan_B i might have to have a look at the language_script_mapping table too, so that koha knows that this is an rtl language 07:30 gaetan_B i'll try this :) 07:31 mtompset ARG! I knew there would be a problem with creating a new Auth_with_blah.pm file: TESTS. 07:31 mtompset Well, sleep should give me some refocus. 07:31 mtompset Have a great day (24 hour period), everyone. 08:02 * cait waves from the train 08:10 cait hi gerundio 08:22 gerundio too late to say hi back 08:26 magnuse hooray for bug 10508 - may there be many more like it :-) 08:26 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10508 normal, P5 - low, ---, kenza.zaki, ASSIGNED , UT: C4::Branch.pm needs unit tests 08:54 cait @wunder Konstanz 08:54 huginn cait: The current temperature in Taegerwilen, Taegerwilen, Germany is 12.9°C (10:50 AM CEST on June 26, 2013). Conditions: Mostly Cloudy. Humidity: 75%. Dew Point: 9.0°C. Pressure: 30.36 in 1028 hPa (Steady). 09:51 cait @wunder Konstanz 09:51 huginn cait: The current temperature in Taegerwilen, Taegerwilen, Germany is 13.2°C (11:50 AM CEST on June 26, 2013). Conditions: Mostly Cloudy. Humidity: 72%. Dew Point: 8.0°C. Pressure: 30.36 in 1028 hPa (Steady). 09:51 cait windows-- 09:57 magnuse windows_on_trains++ 09:57 magnuse otherwise you couldn't see anything 09:59 wizzyrea @wunder nzwn 09:59 huginn wizzyrea: The current temperature in Wellington, New Zealand is 10.0°C (9:00 PM NZST on June 26, 2013). Conditions: Scattered Clouds. Humidity: 82%. Dew Point: 7.0°C. Pressure: 30.18 in 1022 hPa (Falling). 09:59 wizzyrea hm not bad. 09:59 cait hehe 09:59 cait was referring to the os that wouldn't let me go online 09:59 cait i will do the final formatting in office later then :) 10:04 cait nope 10:04 cait :) 10:05 magnuse @wunder boo 10:05 huginn magnuse: The current temperature in Bodo, Norway is 14.0°C (11:50 AM CEST on June 26, 2013). Conditions: Mostly Cloudy. Humidity: 72%. Dew Point: 9.0°C. Pressure: 30.36 in 1028 hPa (Steady). 10:05 magnuse looks like a beautiful day so far... 10:06 cait @wunder Frankfurt 10:06 huginn cait: The current temperature in Frankfurt / M-Flughafen, Germany is 14.0°C (12:00 PM CEST on June 26, 2013). Conditions: Mostly Cloudy. Humidity: 42%. Dew Point: 4.0°C. Pressure: 30.38 in 1029 hPa (Rising). 10:06 cait oh 10:06 magnuse same as here! :-) 10:06 cait like boo :) 10:13 vfernandes hi guys 10:15 vfernandes One question: after doing a translation install pt-PT sobre .pref are getting weird codifications... It happen to anybody? 10:26 vfernandes OPAC, Patrons and Circulation tabs in portugues are messed up 10:27 cait what exactly is messed up? 10:37 vfernandes páginas should be páginas 10:38 cait hm have you been working with pootle or another tool? 10:38 cait and what is the version of your file? 10:38 cait hm Koha 10:39 vfernandes koha 3.10 10:39 cait hm 10:40 cait i have noticed soemtimes editing the pref file with poedit can mess up the encoding 10:40 cait but it would be all strings i gues 10:40 vfernandes I think po files are with bad encodings 10:40 cait i haven't seen problems with german umlauts so far 10:41 cait maybe try the mailing list to ask about it? 10:41 cait koha-translate 10:41 cait hm maybe it can be fixed in Pootle 10:41 wahanui koha-translate is rather handy though, isn't it? :-) 10:42 vfernandes i'm trying with new po's files 10:46 vfernandes it didn't work 10:46 vfernandes maybe the problem are with en .pref encondings? 10:47 vfernandes my worry is that this could happen in other pages than .pref 10:56 vfernandes I think I found out the problem 10:57 vfernandes en files are in us-ascii... pt-PT files are in UTF-8 10:57 vfernandes shouldn't en files be in UTF-8 too? 11:00 cait hm i would think so 11:04 vfernandes but they aren't 11:04 cait sorry, guess I am not very helpful right now 11:05 cait I am on a train and can't really check anything on the internet 11:16 vfernandes in koha 3.X there is a recent aquisitions page in OPAC? 11:23 cait that's not easy to answer 11:23 cait i think there was a page in some 3.0.x versions eventually, or 3.2.x 11:23 cait but it never made it into maaster 11:24 cait you have a lot of options tho to do display recent acquisitions 11:25 vfernandes ok thanks cait 11:57 oleonard Hi #koha 12:06 cait hi oleonard 12:13 magnuse kia ora oleonard 12:39 tcohen morning #koha! 12:40 oleonard Hi tcohen 12:40 tcohen hi oleonard 12:42 magnuse hiya tcohen 12:55 tcohen oleonard: did u have the time to think on that proposal to move the search box to bootstrap 12:56 oleonard tcohen: I'm hesitant to introduce a new dependency (Bootstrap CSS) for a visual issue which I think is very minor. 12:56 marcelr hello #koha 12:57 oleonard tcohen: I guess I just disagree that it's a problem which needs to be addressed. 12:57 tcohen ok oleonard 12:57 wahanui oleonard is probably not really here. He said so. He did! 12:58 marcelr oleonard: it seems that you were the only one interested in bug 9032 for sharing lists until now 12:58 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9032 enhancement, P5 - low, ---, m.de.rooy, Needs Signoff , Share a list (part 1: send the invitation) 12:58 jcamins oleonard: aren't we already using Bootstrap CSS? 12:58 oleonard jcamins: Unless I misremember, our Bootstrap assets don't include the grid system 12:59 jcamins oleonard: ah. 12:59 jcamins Hm. 12:59 oleonard So I wasn't exactly right to say a new dependency, just a heavier Bootstrap CSS 12:59 oleonard Maybe I worry too much 12:59 jcamins I think I used the grid system in one of my go-arounds with the vendor contacts. 12:59 tcohen on my tests I didn't include new stuff 13:00 tcohen just set different classes to the objects 13:00 * oleonard shows himself out 13:03 oleonard Yeah I'm completely wrong. tcohen: I'd be happy to look at a patch if you can work up an example. 13:05 tcohen i have a branch somewhere, I'll make a patch and email it 13:12 magnuse marcelr++ for Bug 10509 13:12 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10509 normal, P5 - low, ---, m.de.rooy, NEW , Using updates instead of inserts in translated mysql files 13:30 marcelr thx magnuse 13:53 oleonard Working on responsive handling of the user menu: http://screencast.com/t/pdNqoMvH 13:56 cait oleonard++ 13:56 marcelr oleonard: do you still have suggestions for bug 9032 ? 13:56 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9032 enhancement, P5 - low, ---, m.de.rooy, Needs Signoff , Share a list (part 1: send the invitation) 13:56 cait not nearly giving you karma often enough 13:56 tcohen oleonard++ 13:57 marcelr oleonard++ and cait++ and tcohen++ #you deserve it 13:57 * cait didn't do much 13:57 marcelr no way 13:57 cait marcelr: i got your mail - but i won#t have time before next week :( 13:57 marcelr too bad 13:57 cait still travelling and have to finish some other things today 13:57 cait june has been mad so far 13:57 marcelr well, it is over soon :) 13:59 oleonard marcelr: I can try to take another look later today 13:59 marcelr thx 13:59 cait true 14:11 gmcharlt @quote random 14:11 huginn gmcharlt: Quote #261: "<jcamins> I'm pretty sure the point of KohaCon is socialization and drinking." (added by chris at 12:30 AM, June 20, 2013) 14:12 marcelr hi gmcharlt 14:12 gmcharlt hi marcelr 14:12 marcelr could use your feedback on bug 10509 14:12 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10509 normal, P5 - low, ---, m.de.rooy, NEW , Using updates instead of inserts in translated mysql files 14:14 marcelr gmcharlt: what i more or less do now, is a sql include; but i had my reservations on adding 'source' statements in sql files 14:15 marcelr source is a sql client command 14:16 gmcharlt marcelr: I don't think using source statements is a problem; any issues could be dealt with by letting Makefile.PL paste in the path to the SQL scripts, if need be 14:16 marcelr they could make the code easier 14:17 gmcharlt and even that probably isn't needed, since it's reason to assume that any conceivable packaging arrangement will keep the SQL scripts in the same position relative to one another 14:18 marcelr the other issue is about having a global folder or just using the en folder 14:18 marcelr i wrote that on bugzilla 14:21 jcamins Based on the way we do other things (templates, etc.), an en folder would be more consistent. However, I don't have an opinion about whether it would be better. 14:23 gmcharlt marcelr: one bit I don't like is hardcoding the list of languages into load_sql() -- I feel that the installer should deducing that by examinng the SQL directory, so that we don't have to touch (much) code any time a new set of language-specfic SQL is added 14:23 marcelr i need it just temporarily for gradually converting the sql files 14:24 marcelr it would disappear again 14:25 marcelr but if i use source, i can get rid of it even faster 14:25 marcelr a lot of code is around doing that 14:26 gmcharlt why bother with the load_counterpart() processing, though? if the label-updating scripts are made mandatory, C4::Installer could be dumber, and just load en/global first, then the languages 14:26 marcelr jcamins: good point 14:26 jcamins @wunder 11375 14:26 huginn jcamins: The current temperature in Glendale, Glendale, New York is 29.9°C (10:26 AM EDT on June 26, 2013). Conditions: Scattered Clouds. Humidity: 53%. Dew Point: 19.0°C. Pressure: 29.83 in 1010 hPa (Falling). 14:26 * jcamins shouts "go down" at the thermometer. 14:27 marcelr gmcharlt: the counterpart stuff is for the 'sql include' and support the gradual conversion 14:27 marcelr so i do not need to convert 300 sql files in one run 14:27 marcelr i made a script to support that. but it needs some manual tweaking now and then 14:28 marcelr note also that some languages renamed folders and files 14:30 gmcharlt but simply updating a file at a time would have the same effect without requiring the extra load_counterpart logic -- could be down with symlinks, for example 14:30 gmcharlt e.g., replace de-DE/mandatory/userflags.sql with a symlink to the en version, then add a language update 14:31 marcelr how would you name the update? 14:31 gmcharlt eh, something like relabel_userflags.sql 14:31 marcelr will symlinks be an issue for other platforms? 14:33 marcelr if we would agree on using source, i just add a source statement on top referring to ../../en and update after that (without a lot of code around it, though) 14:33 jcamins gmcharlt: but why would you need a symlink if you're using SOURCE? 14:33 marcelr jcamins: in that case we do not need it 14:34 cait brb 14:34 marcelr jcamins: it is just that you more formally would not like to have source statements in a sql file 14:35 jcamins marcelr: ah. 14:36 marcelr not even talking about other db engines and if they have such a construct 14:36 marcelr at this time there is only a rather sad Pg folder in there 14:36 pastebot "gmcharlt" at 127.0.0.1 pasted "suggestion for marking strings in SQL and making them available for Pootle" (11 lines) at http://paste.koha-community.org/88 14:37 gmcharlt cait: since you just rejoined, http://paste.koha-community.org/88 14:37 marcelr gmcharlt: i had the idea to add concat statements around the translatable descriptions etc. to recognize them 14:38 marcelr concat(a) is just a 14:38 marcelr but i did not add them in this patch yet 14:38 cait i think it all sounded quite complicated so far 14:38 cait how does it work for the syspref file? 14:39 marcelr no changes for sysprefs 14:39 gmcharlt marcelr: yeah, but using a custom function name avoids potential confusion of use of concat() for its normal purpose 14:39 marcelr there is one general insert in root and a update in the lanuages 14:39 cait hm 14:40 marcelr gmcharlt: true, shall i insert your function in a updated patch? 14:40 cait what are we exactly trying to do? 14:40 cait move the translations out of the sql 14:40 cait or just allow for modifications of the sql files in en with the option to do a translation that way? 14:40 marcelr two things: first insert and update, second move to pod 14:40 marcelr i concentrated on point 1 now 14:41 jcamins It seems to me that it would be better to have a global insert and then the languages do updates, and then there can be a file called "usesupdates" in the language folder. 14:41 jcamins (rather than symlinks + additional file) 14:41 gmcharlt marcelr: please; meanwhle, I'm going to work on a tool to deal with .pot/.po files for the SQL scripts 14:41 marcelr ok 14:42 marcelr jcamins: we could use source and just step over some theoretical reservation 14:42 gmcharlt jcamins: as an end state, that's reasonable, but as marcelr expressed, to get there in one fell swoop means touching all of the language SQL scripts 14:42 jcamins gmcharlt: no it doesn't. My suggestion involves touching only those languages that you've decided to update anyway. 14:43 marcelr jcamins: we should do them all actually 14:43 jcamins Any language that doesn't have the usesupdates file has inserts instead of updates, and therefore gets run in the traditional fashion. 14:43 marcelr if we do them all now, we get rid of adding the insert everywhere 14:44 gmcharlt jcamins: that would mean duplicating the English inserts, unless you mean that the presence of a useupdates in a folder tells the installer to load en first 14:44 marcelr if you add a notice,m just add it in global and no longer care about languages 14:44 cait ok, so we have differnet goals - translation an allow modifications while only maintaining one set of files globally 14:44 marcelr ? 14:44 jcamins gmcharlt: exactly. If there is useupdates, load en (or global), then the update file. 14:44 jcamins If there isn't, skip the load en (or global) step. 14:45 marcelr jcamins: your usesupdates file is now in my load_counterpart code 14:46 jcamins marcelr: right. I thought the objection to that was that it involved hardcoding which languages had been changed. My suggestion is how to avoid hardcoding the languages. 14:46 marcelr only temporarily 14:46 marcelr while converting the folders 14:48 jcamins Right. But if the RM has an objection, that's a way to address it. 14:50 marcelr it seems that the RM approves using source; i just have to adjust 14:51 gmcharlt let's just say that the RM has expressed no objection to using the mysql source statement; I'm not making any final decisions whatsoever until there's a lot more testing 14:52 gmcharlt and I also feel that as much priority as possible chould be placed on making what strings can be readily translated with Pootle accessible to the translators; I grant that the multi-line notices may not be easily supported by Pootle yet 14:52 marcelr we could use concat there btw 14:53 marcelr concat(line1,line2,line3) 14:53 marcelr concat(i18n(line1),\n, etc. 14:54 gmcharlt right, although I suspect in some cases, a language manager will want to replace the notice text outright, not do a line-by-line translation, so there should still be support for that 14:54 gmcharlt (though that's easily done via an update script) 14:55 marcelr i will put i18n first around the whole thing 14:55 marcelr thx for your feedback; will return to it later 14:56 cait line by line translation is not really an option 14:56 cait it's painful 14:57 cait super painful. 14:57 cait hm, well, maybe not super painful if we could use a trick like the sysprefs do 14:58 cait hm i think i will just wait and see :) and concentrate on the writing i have to do tonight 14:59 marcelr cait: will send a new patch later, but the sql files will not change so much in de-DE/mandatory (except perhaps one source statement) 15:00 marcelr have to go now 15:04 gmcharlt \o/ \o/ \o/ # http://www.chicagotribune.com/news/chi-supreme-court-gay-marriage-20130626,0,1317682.story 15:05 cait yay! 15:07 oleonard Too bad it's just a turn of good luck rather than an indication that the court has generally good judgment. 15:10 reiveune bye 15:13 gmcharlt oleonard: indeed -- IMO, anybody who believes that the SCOTUS makes its decisions on non-political grounds is a perfect candidate... for my plan to sell them ALL THE BRIDGES! 15:14 oleonard This court is particularly bad at hiding the fact that they make decisions on political grounds. 15:20 drojf hi #koha 15:22 tcohen hi drojf 15:27 mtompset Greetings, #koha. 15:27 tcohen hi mtompset 15:27 oleonard magnuse: The login listed for http://demo.bibkat.no:8080/ is incorrect (linked to on http://wiki.koha-community.org/wiki/Koha_Demo_Installations) 15:27 mtompset greetings, tcohen oleonard. :) 15:28 oleonard gmcharlt: Equinox's Koha demo listed on that page says it follows master but is currently at 3.02.05 15:28 mtompset tcohen: I couldn't get the koha-qa-test thing to work. 15:29 gmcharlt oleonard: hmm, thought that had been switch over; I'll look into it 15:29 mtompset I did, however, get my code to perlcritic -5 nicely. :) 15:29 tcohen PERL5LIB="$PERL5LIB:/path/to/koha-qa" 15:30 mtompset Okay... I'll give that a whirl. 15:33 mtompset I did try semi-colon space and comma last night. 15:34 tcohen :) 15:36 tcohen koha-common-3.12.1~unc.deb built! 15:36 mtompset Okay, there! It worked. Thanks, tcohen 15:36 mtompset tcohen++ 15:36 * tcohen goes to dig about dput to put those deb files on the server 15:39 mtompset okay... if the tool FAILS, how do I determine what is wrong with it? 15:40 mtompset tool tells me my code FAILS. 15:40 tcohen use the paste tool 15:40 gaetan_B1 bye! 15:40 tcohen koha-qa.pl -c <number of commits to check> -v 3 15:41 mtompset -v 3? 15:41 mtompset Okay... let me try that. 15:42 mtompset Ah... that's more helpful. 15:43 mtompset YAY! Fixed. 15:43 mtompset Got to love those blank lines with 4 spaces. ;) 15:44 tcohen :D 15:45 mtompset BTW, -v 2, -v 3, etc... are all the same. Only valid values are 0,1,2. :P 15:46 tcohen heh, it happens 15:46 mtompset Next question. :) 15:47 tcohen would you test my packages? 15:47 mtompset Let's say I want to include some sample configuration in koha-conf.xml 15:47 mtompset what file do I edit? 15:48 tcohen do u have a dev setup? 15:48 mtompset Yes, a git dev set up. 15:48 * tcohen heads to enabling the indexer in his new /etc/default/koha-common file :-P 15:50 tcohen YAAAAAAAAAAAAAAAAAAAAAAAAAYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY 15:51 tcohen haaapinesssss, its a warm .deb package 15:51 gmcharlt :) 15:52 mtompset Unless you have to importing from a raring package on precise. :P 15:52 mtompset ^importing^import^ 15:52 cait happy tcohen :) 15:52 tcohen of course, but if you're building your own package for precise, and it upgrades your current 3.12 demo instances flawlessly... 15:53 mtompset Greetings, gmcharlt cait. 15:53 tcohen starting the indexer when enabled using the new config file... 15:53 gmcharlt hi mtompset 15:54 mtompset Did you see the discussion on bug 10454, gmcharlt, after the test plan I posted? 15:54 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10454 major, P5 - low, ---, mtompset, In Discussion , Duplicate card numbers may be generated 16:07 huginn New commit(s) kohagit: Bug 10379 - Followup: add koha-rebuild-zebra -q to the man page <http://git.koha-community.org/gitweb/?p=koha.git;a=commitdiff;h=114ad0015b209404b30289397646cb2f21d4aa54> / Bug 10379: silence zebra rebuild cron when no instances are enabled <http://git.koha-community.org/gitweb/?p=koha.git;a=commitdiff;h=c31e553a72d40bf0b1c099284ecbb4b95833e186> 16:12 jenkins_koha Starting build #1268 for job Koha_master (previous build: SUCCESS) 16:13 oleonard We've been getting some fun errors after getting an upgrade to 3.10.05.003 recently. 16:13 oleonard When we try to check in items which are very overdue we get this: No branchcode argument passed to Koha::Calendar->new at /home/koha/kohaclone/C4/Overdues.pm line 310. 16:14 cait why 05? 16:16 oleonard Beats me. 16:16 cait it sounds familiar 16:16 cait but i am not sure 16:16 cait you could check if the holidays in your holidays table have a branchcode set maybe, but not sure if that would help 16:21 tcohen sounds like a but 16:21 tcohen bug 16:21 tcohen i mean, that we should fix heh 16:22 oleonard In our production system very old entries in issues lack a branchcode. 16:22 oleonard 11,153 of them, to be precise. 16:22 cait tcohen: i thnk it probably has been fixed :( 16:23 tcohen a lot happened to the calendar 16:23 tcohen don't know what the problem would be 16:24 tcohen maybe bad data on the issues table 16:25 cait oleonard: oups 16:25 cait oleonard: but probably not the probem then? :( 16:25 oleonard Why not? 16:27 gmcharlt oleonard: note the question I asked in bug 9757 16:27 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9757 enhancement, P5 - low, ---, oleonard, Pushed to Master , Make staff client list contents view more like search results 16:27 huginn New commit(s) kohagit: Bug 9757: Remove duplicated action buttons. <http://git.koha-community.org/gitweb/?p=koha.git;a=commitdiff;h=1646de2cdfcd9891b075cb72454c7be0c80895ca> / Bug 9757: Make staff client list contents view more like search results <http://git.koha-community.org/gitweb/?p=koha.git;a=commitdiff;h=640124829a01bb005acea5566fd44be1caabcc32> 16:57 gmcharlt mtompset: commented on the bug 16:59 mtompset I don't like using LAST_INSERT_ID in the SQL. :) 16:59 mtompset I do think the last_insert_id in the DBI code, however, should be portable across backends. 16:59 gmcharlt @later tell rangi does HLT still use checkdigit = katipo? what about any of your other clients? 16:59 huginn gmcharlt: The operation succeeded. 17:00 mtompset That is a good question. 17:00 cait oh kohacon meeting tonight 17:01 mtompset If katipo doesn't use checkdigit, then simplifying to something closer to what you suggested is totally plausible. 17:01 gmcharlt mtompset: AFAICT, there is *no* cross-platform way of getting reliable, concurrent sequences; consequently, I don't actually have a problem with using MySQL's last_insert_id(); the main consideration for using it is just making sure to package in a reasonable fashion so that it's easy to add alternative approaches, e.g., if the Pg port gets revived 17:02 gmcharlt of course, reviving the Pg port should get easier as I'm antcipating that DBIx::Class support will be pushed in the upcoming release 17:03 gmcharlt mtompset: I think my approach can cover the katipo checkdigit too -- the sequence would just have to be initailize to start with whatever "select max(substring(borrowers.cardnumber,2,7)) as new_num from borrowers" is at the time of upgrade 17:04 mtompset gmcharlt: Though that is generally true, I think the DBI last_insert_id vs. an SQL last_insert_id is a better choice, because it puts the onus on the DBI class to get last_insert_id correct, and not use a MySQLism. 17:05 mtompset So you keep inserting into the cardnumber_sequence table until the 2,7 range matches the last one? 17:05 mtompset The problem is people can toggle the checkdigit system preference. 17:06 mtompset That's why I put the checkdigit column in. 17:06 mtompset Oh wait... I see what you are saying. 17:07 gmcharlt yeah, somebody who toggles the checkdigit syspref just for fun is ... weird 17:07 mtompset Yes, but stupid is always possible. 17:07 mtompset And we should try to handle stupid gracefully. 17:07 gmcharlt more seriously, it would be easy enough to add an admin page for managing the sequence values (with some stiffly worded help text on the consequences of getting it wrong) 17:09 gmcharlt eh, I think one (part of an) approach for managing the potential of folks randomly twidding sysprefs is to add some metadata to indicate which sysprefs are meant to be set only once 17:09 mtompset if cardnumber_sequence only stores the numberic portion of the cardnumber, then the checksum string building part could be external. 17:09 gmcharlt then add some stuff to the syspref editor to discourage folks from changing such sysprefs willy-nilly 17:09 gmcharlt mtompset: indeed, the checksum building could be moved out 17:10 cait hm just a note on the sequence thing 17:10 cait we have the optoin to use authorised values for generating stocknumbers using a plugin 17:10 cait you set the start number there and it increments and updates the number 17:11 cait i haven't fully tested it yet, but it's something that's already there 17:11 mtompset would each sequence get its own table, gmcharlt? 17:14 mtompset Or is this a single record table? 17:15 gmcharlt mtompset: thats a good question -- let me try something 17:20 magnuse thanks oleonard, fixed it now 17:21 pastebot "gmcharlt" at 127.0.0.1 pasted "mtompset: looks like we can keep all of the sequences in a single table" (42 lines) at http://paste.koha-community.org/89 17:22 tcohen can anyone try prove -v t/db_dependent/ReportsGuided.t ? 17:22 tcohen found a bug and suddenly tests are failing (at least on 21.04) 17:23 gmcharlt tcohen: works for me on Wheezy 17:23 mtompset I don't like the MySQLism, but I do like this option. 17:24 tcohen are DBD::Mock version dependent tests running? 17:25 mtompset I get DBD::Mock is too old. 17:25 tcohen cpan DBD::Mock 17:25 pastebot "magnuse" at 127.0.0.1 pasted "prove -v t/db_dependent/ReportsGuided.t on Ubuntu 12.04" (19 lines) at http://paste.koha-community.org/90 17:25 mtompset I'll cpan2deb it. :P 17:26 magnuse tcohen: that paste was for you - I get DBD::Mock is too old too 17:27 tcohen yes, read it thanks, the thing is that (on my box and server) with a newer DBD::Mock those tests are failing 17:27 tcohen guided reports creation is failing on my server because of it 17:28 mtompset After installing Test::Exception manually, and cpan2deb'ing DBD::Mock to get a newer version, I get pretty prove output. 17:28 tcohen for example, on a circulation report, choosing to filter by itemtype with <<itype|itemtype>> fails saying itemtype is not a valid authorized value 17:29 jenkins_koha Project Koha_master build #1268: UNSTABLE in 1 hr 16 min: http://jenkins.koha-community.org/job/Koha_master/1268/ 17:29 jenkins_koha * Robin Sheat: Bug 10379: silence zebra rebuild cron when no instances are enabled 17:29 tcohen which would be ok, if it wasn't actually hardcoded 17:29 jenkins_koha * Magnus Enger: Bug 10379 - Followup: add koha-rebuild-zebra -q to the man page 17:29 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10379 minor, P5 - low, ---, robin, Pushed to Master , koha-rebuild-zebra gets noisy if no instances are defined 17:29 pastebot "mtompset" at 127.0.0.1 pasted "tcohen: my prove output" (19 lines) at http://paste.koha-community.org/91 17:30 magnuse i get "DBD::Mock is too old" on an uptodate debian 6 too 17:30 jenkins_koha Starting build #1269 for job Koha_master (previous build: UNSTABLE -- last SUCCESS #1267 2 days 3 hr ago) 17:32 pastebot "magnuse" at 127.0.0.1 pasted "libdbd-mock-perl versions" (22 lines) at http://paste.koha-community.org/92 17:32 gmcharlt mtompset: I just pasted an even better test script into the bug; this one lets one store multiple sequences in a single table and add new ones at will 17:32 magnuse gmcharlt++ 17:32 gmcharlt (via insert, not alter table) 17:33 mtompset Yes, very pretty code. 17:33 magnuse huh, eythian or me broke master? 17:34 mtompset Wait a second... 17:34 mtompset if two processes run at nearly the same time... 17:34 mtompset how do I know they won't grab the same value after incrementing twice? 17:34 mtompset There's no serialization. 17:35 magnuse wow, the test suite is noisy 17:35 mtompset That's why I did the patch the way I did, gmcharlt. 17:36 pastebot "gmcharlt" at 127.0.0.1 pasted "test script showing that multiple requesters still get unique sequence values" (17 lines) at http://paste.koha-community.org/93 17:37 gmcharlt mtompset: yep, that's the purpose of (a) using MyISAM, as we specifically *want* a non-transactional table (b) the use of the "magical" form of last_insert_id() that accepts a parameter 17:38 gmcharlt magnuse: the quotes test has a known issue where it fails at midnight server time 17:38 magnuse gmcharlt: ah, fun :-) 17:38 magnuse and yes, the only failing test i could find was related to qotd 17:39 mtompset I'll take your code sample, tweak it, and see if I can generate the broken case. 17:39 mtompset You didn't try to force the broken case. 17:40 gmcharlt mtompset: also, please read the MySQL documentation link I pasted in the bug -- MySQL is asserting that the trick is multi-user safe 17:42 mtompset "The value of LAST_INSERT_ID() will remain stable in the second statement; its value for the second and later rows is not affected by the earlier row insertions." -- ah, okay. 17:44 mtompset " It is multi-user safe because multiple clients can issue the UPDATE statement and get their own sequence value with the SELECT statement (or mysql_insert_id()), without affecting or being affected by other clients that generate their own sequence values. " 17:44 gmcharlt yep 17:44 mtompset So I guess the only question is... will the MySQLism pass QA? 17:45 gmcharlt and I've just successfully completed a test that used 54 simultaneous processes to request sequence values 17:46 mtompset only 54? ;) I'd test 100 then 1000. Likelihood of 10000 is unlikely. :) 17:47 gmcharlt mtompset: from my POV it is *not* a barrier to passing QA, provided that the sequence-fetching is wrapped in a suitable OO-package that allows for plugging in a PostgreSQL or other DBMS implementation later 17:48 gmcharlt since there's no such thing (to my knowledge) as an ANSI-SQL standard sequence, it's pretty hard to avoid having implementations that aren't DBMS-specific 17:49 gmcharlt and the notino of a sequence (or simulated sequence) that has a name and integer value is trivial to port to Pg 17:50 mtompset So basically, because fetch_next can be if mysql, elsif pg else'd... just go with it? 17:51 gmcharlt that's not quite how I would implement it (I'd define a class that implements the basic setval, create sequence, and nextval operations, then simply a class that implements those for mysql, rather than doing an if/else -- but you've got the basic idea 17:53 mtompset But implementing a class meaning writing test cases. :P 17:54 mtompset I have yet to write my first test cases for my other patch I am working on. 17:54 gmcharlt er, sorry (not really) to break it to you, but test cases for fixup_cardnumber() were kinda required anyway :) 17:55 mtompset I suppose, because it plays with C4::Members. 17:56 mtompset I guess that is going to be my next learning curve. 17:57 nancyk KohaCon 13 Planning Meeting in 2 min 17:57 Brooke o/ 17:59 nancyk #startmeeting KohaCon 13 Planning June Meeting 17:59 huginn Meeting started Wed Jun 26 17:59:13 2013 UTC. The chair is nancyk. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:59 huginn Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:59 huginn The meeting name has been set to 'kohacon_13_planning_june_meeting' 17:59 nancyk #chair nancyk 17:59 huginn Current chairs: nancyk 17:59 nancyk #topic Who is here today? 18:01 magnuse oops no one around? 18:01 bag I'm here nancyk 18:01 nancyk good 18:01 bag #info Brendan Gallagher = bag ByWater Solutions 18:02 druthb #info D Ruth Bavousett 18:02 pianohacker #info Jesse Weaver - ByWater Solutions 18:02 bag heya druthb 18:02 cait #info Katrin Fischer, BSZ 18:02 JesseM #info Jesse Maseto - ByWater 18:03 JesseM Hi druthb 18:03 druthb howdy. :) 18:03 pianohacker magnuse, gmcharlt, mtompset? 18:03 mtompset Not part of meeting. Enjoy. :) 18:03 gmcharlt #info gmcharlt = Galen Charlton, ESI 18:04 John_C #info 18:04 John_C #info - John Crockett, Washoe County 18:04 nancyk ok, on with the show 18:04 * magnuse is only lurking 18:04 nancyk # topic Overall update 18:05 nancyk #info We have approx 72 people signed up for the conference, 34 signed up for Hackfest, with 44 signed up for the Saturday trip to Tahoe 18:05 cait :) 18:05 nancyk #info The schedule for presenting in finalized 18:05 nancyk #link http://wiki.koha-community.org/wiki/KohaCon13_Summary 18:06 nancyk #info what parts do we want filmed? 18:06 cait hm I think presentations of the conference, but maybe not the hackfest? 18:06 Brooke I agree 18:06 pianohacker agreed 18:07 nancyk #info We will have a professional for a while, and then Todd on the ADDHD cam 18:07 cait maybe ask presenters who will be ok with getting filmed early on 18:07 cait then you can plan better 18:07 nancyk good idea 18:08 nancyk #topic Attendee email distribution list 18:08 nancyk #info I will be sending out emails to those who have registered on a regular basis with updates 18:09 nancyk #topic Vendors doing a presentation 18:09 nancyk I would like special permission to allow someone from Itiva, our telephone notification vendor to do a 30 min presentation 18:09 nancyk It is new to Koha, and I personally want to know more about what it can do. 18:09 Brooke can it maybe go after normal conference, or before? 18:10 bag well itiva does have "stuff" in koha 18:10 bag there is a system preference for it 18:10 Brooke cause there are gobs of international folks that prolly wanna speak that aren't vendors 18:10 bag Brooke: itiva is from NZ :) 18:10 cait oh sorry, lost connection 18:10 talljoy #info Joy Nelson ByWater Solutions 18:10 cait logs? 18:10 wahanui logs is http://irc.koha-community.org/koha/ 18:10 nancyk #info we squeezed in everyone who asked 18:11 nancyk #info How about I work with the vendor for a joint presentation? 18:11 * druthb thinks that'd be awesome. Not *just* a vender preso, but a 'how we did it." 18:11 talljoy i like that idea 18:12 talljoy jinx druthb 18:12 cait hm ok for me, but vendor only owuld be nicer not in the middle but maybe beginning or end 18:12 cait so people can decide not to attend easier 18:12 cait itiva is not available in germany I think 18:12 druthb :P talljoy 18:12 nancyk ok 18:12 nancyk #topic Volunteers, what’s coming 18:12 cait and probably illegal to call people without formal consent etc. :) 18:12 cait different 18:12 nancyk #info Jobs that need to be filled are just up on the wiki. Please add your name where you will be able to help 18:13 cait can you give the link again maybe? 18:13 nancyk #link http://wiki.koha-community.org/wiki/KohaCon13_Volunteers 18:13 * druthb raises her hand for a question. 18:13 nancyk ok 18:13 nancyk go druthb 18:13 druthb How are the sponsorships going? Got enough scratch? Because I own a non-library business, and might sponsor, if sweet-talked and if you need it. 18:14 nancyk We have 4 sponsors so far, 18:15 cait nancyk: is registration desk all day? 18:15 cait nancyk: during presentations too I mean :) 18:15 nancyk enough money if we get all the hotel res I was expecting. They bring freebies 18:15 nancyk Reservations will be until we start the pres 18:15 druthb My only gripe with the sponsorship structure is the big step between the two tiers; I would sponsor somewhere *between* those two numbers, if there was a small benefit to doing so. 18:15 * cait will probably book this weekend 18:16 cait nancyk: so you just need to show up a bit earlier and get to see who is arriving? sounds like a nice job :) 18:16 nancyk I have someone asking for sponsorship, so I'll email you later 18:17 nancyk Yes cait we need someone nice to greet people 18:17 cait ah, nice... makes it harder :) 18:17 druthb puh. 18:17 nancyk #topic Flier for distribution 18:17 * druthb nominates cait for that greeter position. She's a saint. 18:17 nancyk #info We have a KohaCon 13 flier for distribution to new libraries and potential libraries. Please send them to whomever you can think of 18:18 cait hmpf 18:18 * Brooke seconds druthb's motion. 18:18 nancyk #link http://koha-community.org/files/2013/06/KOHACON13finaldraft.pdf 18:18 slef #info MJ Ray, software.coop, England 18:18 nancyk #topic Are we overlooking anything? 18:19 bag hey slef 18:19 slef hey bag 18:19 nancyk #topic Next meeting 18:19 nancyk July 24th. Is 18 UTC still ok? 18:20 cait it's perfect for europe,not sure about other places 18:20 cait maybe a little early for nz 18:20 slef it's after Europe's working day, but I guess you know that 18:21 nancyk would a couple hours earlier be better? 18:21 slef cait: it messes my dinner plans up, not that I'm much help this year ;-) :P 18:21 slef nancyk: go with whatever the active volunteers like. Don't mind me. 18:22 nancyk #info Next meeting July 24th at 81UTC 18:22 nancyk #info or 18 UTC 18:23 nancyk Did I tell you I have trouble with UTC? 18:23 slef well it's not base 100 18:23 nancyk All done? 18:24 nancyk #endmeeting 18:24 huginn Meeting ended Wed Jun 26 18:24:08 2013 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) 18:24 huginn Minutes: http://meetings.koha-community.org/2013/kohacon_13_planning_june_meeting.2013-06-26-17.59.html 18:24 huginn Minutes (text): http://meetings.koha-community.org/2013/kohacon_13_planning_june_meeting.2013-06-26-17.59.txt 18:24 huginn Log: http://meetings.koha-community.org/2013/kohacon_13_planning_june_meeting.2013-06-26-17.59.log.html 18:24 slef thanks nancyk 18:24 Brooke thanks 18:24 Brooke that was short 18:24 bag agreed thanks nancyk 18:24 slef I'd update the wiki, but the openID login has gone away :( 18:25 druthb nancyk++ 18:25 pianohacker karma! 18:25 pianohacker nancyk++ 18:26 slef migt be nice to email and ask if rangi and Mohan Raj Pradhan would like a slightly later meeting time? 18:26 slef based on http://wiki.koha-community.org/wiki/KohaCon13_Volunteers looks like most volunteers are US or west of it 18:45 jenkins_koha Yippie, build fixed! 18:45 jenkins_koha Project Koha_master build #1269: FIXED in 1 hr 15 min: http://jenkins.koha-community.org/job/Koha_master/1269/ 18:45 jenkins_koha * Owen Leonard: Bug 9757: Make staff client list contents view more like search results 18:45 jenkins_koha * Jonathan Druart: Bug 9757: Remove duplicated action buttons. 18:45 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9757 enhancement, P5 - low, ---, oleonard, Pushed to Master , Make staff client list contents view more like search results 18:46 jenkins_koha Starting build #1270 for job Koha_master (previous build: FIXED) 18:48 mtompset gmcharlt: why did you turn off autocommit in your example code? 18:48 gmcharlt mtompset: part of testing to verify that fresh sequence values will, in fact, be returned when AutoCommit is off 18:49 gmcharlt any future sequence code shouldn't count on AutoCommit always being on, as there are circumstances where you want it off 18:49 gmcharlt especially in the long run, where it would be best of Koha managed DB transactions more explicitly 18:51 mtompset But in the case of adding a sequence, deleting a sequence, getting the next value, resetting everything... should I even care about setting autocommit in my code? 18:51 gmcharlt mtompset: no, at this point I see no reason for code that uses the sequence generator to change the value of AutoCommit 18:54 mtompset I meant internally change the autocommit for the sequence_generator. 18:55 mtompset After all a _new_dbh call to C4::Context creates a separate DB handle that won't affect the old one. 18:57 * magnuse calls it a day - have fun #koha 18:57 mtompset Bye, magnuse. 18:58 mtompset Have a great day (24 hour period). :) 18:58 gmcharlt again, I don't see any reason for the sequence generator to care about the AutoCommit value; the purpose of including it in the test was just to verify that it would work it if happen to be off 19:04 drojf evening 19:08 drojf gmcharlt: i wanted to ask this before but i think i didn't (or my tired brain lost the answer)… is the "each patch needs a test plan" rule still in effect or was that jcamins-only? i'm under the impression that there are more bugs without a test plan lately 19:11 gmcharlt drojf: it's still in effect 19:11 drojf yay! 19:20 gmcharlt drojf: and I double-checked -- I haven't noticed a signficant drop in test plans for patches that reach me; if there are particular commits that you're concerned about, please let me know 19:21 drojf gmcharlt: i just browsed "needs signoff" yesterday and i think i saw a few. it was nothing dramatic, i just wanted to make sure it is still required before i answer "needs a test plan" next time i find one :) 19:23 gmcharlt drojf: gotcha -- please go forth and ask/beg/bribe for test plans, then! :) 19:24 drojf i will :) well, maybe not bribe 19:25 oleonard Demand! 19:25 drojf hehe 19:25 drojf a test plan or a duell! 19:25 cait hi drojf 19:26 drojf hi cait 19:26 drojf how are things in the südstaaten? 19:26 cait nicht so südlich heute abend - aber recht frisch 19:27 drojf oh, a duell in english is spelled duel 19:27 bag we understood you though :) 19:27 drojf :) 19:27 drojf languages… they're basically all the same 19:27 drojf lol 19:27 cait and noone wants to duel you I think :) 19:28 drojf why not? we could do it with raspberries. or cookies 19:31 * gmcharlt is all for a cookie duel 19:31 gmcharlt if you all need a judge... 19:34 drojf nice try, cookie monster ;) 19:47 oleonard Bye #koha 19:47 cait cookie duels...mmmh 19:47 cait bye oleonard :) 20:02 jenkins_koha Project Koha_master build #1270: SUCCESS in 1 hr 16 min: http://jenkins.koha-community.org/job/Koha_master/1270/ 20:07 mtompset Okay... I have a nice piece of Sequence.pm code. :) 20:09 mtompset can perlcritic -3 it without difficulties. YAY! 20:15 cait good morning kathryn 20:24 kathryn hi cait :) 20:37 mtompset greetings, kathryn. 20:37 kathryn hello mtompset! 20:38 kathryn I am a serial lurker 20:38 kathryn there! I said it! 20:40 pianohacker I'd say so. First I've heard from ya :) 20:43 kathryn hehe. I'm in wellington with the most excellent wizzyrea rangi cjh and eythian :) lucky me! 20:46 cjh :) 20:47 cait kathryn: :) 20:48 kathryn *lurk* :) 21:03 pianohacker good night is also <reply>It'll all be over soon... 21:03 wahanui okay, pianohacker. 21:03 pianohacker wahanui can be both bookmarks for lazy people and a stalker bot! convergence! 21:03 wahanui pianohacker: huh? 21:04 rangi back 21:04 rangi gmcharlt: nope they are all rfid now, it could be removed 21:05 gmcharlt rangi: OK, I'll send an inquiry to the main list 21:05 gmcharlt (just to double-check) 21:05 rangi good idea 21:07 druthb wahanui: botsnack cookie 21:07 wahanui thanks druthb :) 21:07 druthb wahanui: botsnack my_next_door_neighbor_whose_music_is_very_loud 21:07 wahanui thanks druthb :) 21:07 druthb muhahaha 21:10 cjh heh, genius 21:11 cait heh 22:20 mtompset gmcharlt: You still here? 22:21 eythian hi 22:21 mtompset Greetings, eythian. 22:21 mtompset Let's say I create a nice class library Sequence.pm 22:22 mtompset but the method function GetNextValue has a MySQLism. 22:22 mtompset How do I override that method for a different RDBMS? 22:22 pianohacker Half of C4 has MySQLisms... 22:23 pianohacker I don't really know if there's much you can do for that, mtompset. My advice would be to mark it with a comment and go on 22:23 mtompset pianohacker: That isn't really my concern as trying to understand how one would override the method with a replacement method. 22:24 mtompset I could create a Sequence::Pg (for example) and override it in a subclass. 22:24 mtompset But how does Koha code in general know to call the default GetNextValue or the Pg version? 22:25 pianohacker mtompset: You'd need an intelligent constructor in the Sequence class that looked at the currently set DBMS 22:25 pianohacker then created the correct subclass 22:25 mtompset AH! 22:26 mtompset So, the new() constructor would know which one to call out to. 22:26 mtompset Okay... that gives me an idea to tweak my Sequence.pm code then. :) 22:27 pianohacker best of luck. You'll have put more effort into Pg compatibility than the rest of C4 combined, but still a worthwhile exercise :) 22:27 mtompset Oh sucky. 22:28 mtompset C4::Context db_scheme2dbi function is hardcoded. 22:28 pianohacker yeahhhhh.... 22:29 mtompset because if that function was working properly, I'd hook into it to make an intelligent constructor. 22:29 pianohacker we've... looked at it before. There's even a slow effort to move to DBIx::Class, which would take care of most of this for us 22:29 pianohacker Just nothing firmly in place 22:29 mtompset I guess I'll just let my code stand as is. 22:30 mtompset Now to convert my test.pl into a more proper testing suite for the bug. 22:31 mtompset How do I mockup a DB connection in a test? 22:31 pianohacker mtompset: See t/Calendar.t 22:31 pianohacker DBI::Mock may or may not be flexible enough for your purposes 22:31 pianohacker if not, start looking at the db-dependent test-suite 22:51 mtompset I'll post something on bug 10454 later. I'm trying to get pod information into my Sequence.pm file, so it is super pretty. 22:51 huginn 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10454 major, P5 - low, ---, mtompset, In Discussion , Duplicate card numbers may be generated 23:12 * Guest1232 slaps clrh around a bit with a large fishbot 23:12 wizzyrea ! 23:16 pianohacker wat 23:18 * wizzyrea is not a fan of the toutslap 23:18 wizzyrea trout even. 23:19 mtompset toutslap? 23:19 mtompset troutslap? 23:19 mtompset Oh. That. 23:20 mtompset But we only know it wasn't a fish. :P 23:20 mtompset I mean was a fish. We don't know the type. 23:21 eythian it was a robot fish. 23:21 eythian clearly. 23:21 mtompset but we don't know if it was a robotic trout. :P 23:22 mtompset I could have been a snapper, catfish, tilapia, bass, or something else. 23:22 mtompset Perhaps even a robotic swordfish. 23:22 mtompset ^I could^It could^ 23:23 ibeardslee "I could" is funnier 23:23 wizzyrea fish* slap 23:23 eythian http://www.factsoffishing.com/wp-content/uploads/robot-fish.jpg <-- it looks like this 23:23 mtompset maybe... but it could have been pink. :P 23:23 wizzyrea fishbot is <reply> http://www.factsoffishing.com/wp-content/uploads/robot-fish.jpg 23:24 mtompset So, if I'm commenting up my nice new code prettily... =head2 ... =cut just before each function is sufficient? 23:25 eythian yeah 23:29 mtompset Why does perl critic want function and variable names all caps or all lowercase? 23:29 mtompset (for -2 and -1) 23:29 eythian because that's the general perl standard. 23:29 mtompset But I like things like GetNextValue. :P 23:30 eythian yes, but that's not the perl standard. 23:30 eythian (it is the koha standard, insofar as we have one) 23:30 eythian personally I prefer get_next_value, but that's just me. 23:31 mtompset And what's more annoying is... if they wanted all lower case, I'd like get_next_value, but that isn't perl critic friendly either. 23:31 eythian is it not? 23:31 mtompset I think that barfs around level 3. 23:32 mtompset I had $borrower_count, and changed it to $BorrowerCount to get an extra level of perlcritic. :) 23:32 eythian I don't think variables should start with capitals. 23:32 eythian why does it complain about the first on? 23:33 mtompset It complains about the _ 23:33 mtompset personally, if I was getting all strong-type... 23:33 mtompset $objSequence ;) 23:34 mtompset $strValue ;) 23:34 eythian perl isn't a strong typed language, and hungarian notation is a sin. 23:34 mtompset Exactly, so why force a logical format on perl when it doesn't enforce it. 23:35 mtompset Why do you call it a sin? 23:35 druthb "Sin" is the wrong word, eythian. I think more like "vile abomination." 23:35 eythian http://paste.koha-community.org/94 <-- mtompset, it doesn't complain about _ for me. 23:35 mtompset So, is it mortal or venial? ;) 23:35 eythian mtompset: definitely mortal. 23:36 mtompset Hmm... let me recheck. 23:36 druthb For most geeks, it was one of those, "oh, this is...icky" things...but I actually had to *use* it for a couple of my classes. Fricken prof was a fan. 23:36 eythian http://paste.koha-community.org/95 <-- mtompset, similarly with function names. 23:38 dcook morning #koha 23:38 druthb hi, dcook! 23:38 mtompset Strange... it stopped complaining for me. 23:38 * druthb loads her Nerf pistol. 23:38 dcook hey ya druthb :) 23:38 dcook Eeep 23:38 * dcook takes cover 23:39 druthb not for you, dcook. 23:39 dcook I was wondering what I had done ;) 23:40 druthb I'm thinking of doing a Tomb Raider cosplay with this thing. It's hefty. 23:40 mtompset Okay... _'d names it is. 23:41 mtompset IsSequence or is_sequence? 23:41 mtompset which do you prefer eythian? which is koha's standard? 23:42 mtompset By the way, no one explained WHY that naming convention is a sin. 23:42 pianohacker mtompset: more hungarian notation is a sin 23:43 pianohacker The current CamelCase standard is... weird, in comparison to everything else 23:44 eythian mtompset: I prefer is_sequence, but the koha standard is variable and leaning towards IsStandard. 23:44 eythian err 23:44 eythian IsSequence 23:44 mtompset Why can't people universally agree on a naming convention? Can't we all just get along? 23:44 eythian that's why java has a style guide that people tend to stick to :) 23:45 dcook mtompset: Given that there are so many contributors, I would think it would be difficult to get everyone to adhere to one standard at this point 23:45 druthb mtompset: Part of the reason Hungarian is considered kind of tacky, is that it doesn't *actually* do what it claims to--increase clarity. Oh, it does, I suppose, if you take a variable name out of context, and just plunk it on a page: $strName. But in real-world code, you have this amazing...thing...in the code...to give you that without all the typing. 23:45 dcook As you yourself said, you didn't even look at the coding guidelines until now 23:45 druthb ...it's called... "context." 23:46 mtompset druthb: With perl's lack of typing, sometimes telling whether something is '1' or 1 is difficult, even reading the code. 23:47 eythian mtompset: you're doing it wrong then :) 23:47 eythian '1' and 1 are the same thing 23:47 mtompset I had to read over 800 lines of code to figure out what to default a value to when a parameter wasn't passed. 23:47 druthb With perl's lack of typing, you can do this, and it's just fine: $a = 1; print $a+2; print $a.'2'; 23:47 mtompset eythian: sometimes. 23:47 druthb That's part of the awesome of perl. 23:47 eythian mtompset: no, not sometimes. 23:47 druthb In perl, always. You can treat a number like a string, and a string like a number, if it looks like one. 23:48 eythian whenever a string is evaluated as a number, it's converted to a number and that's stored along side it. 23:48 eythian (assuming it's possible to convert) 23:48 mtompset yes, but '' is usually a default for a missing parameter that is a string, whereas 0 is for a number. 23:48 eythian it should really be undef for both 23:48 mtompset Perhaps. :) 23:49 mtompset But having to scroll down lots of code to find how it is used is ugly. 23:49 eythian it's just tri-state logic, true, false, undefined. 23:49 mtompset And defaulting to '' or 0 means less code to check for undefs. ;) 23:49 eythian well that's bad code. subs should be short. 23:49 mtompset Yes, I think it was labels. 23:49 mtompset Bad code, indeed! 23:50 druthb Thing is, and I say this as someone who's *taught* programming languages--if you were in a strongly typed language, or using knuckleheaded naming conventions, you'd still be scrolling. A lot. Grokking someone else's code is still trying to reverse-engineer someone else's brain. 23:50 wizzyrea @quote add <druthb> Grokking someone else's code is still trying to reverse-engineer someone else's brain. 23:50 huginn wizzyrea: The operation succeeded. Quote #264 added. 23:51 druthb :D 23:51 druthb Thanx, wizzyrea! 23:51 dcook druthb++ 23:51 dcook That's exactly how it feels a lot of the time... 23:51 mtompset druthb: AMEN! 23:52 druthb Oh, totally. The smarter they are, the harder it is. That's why PBP is actually kind of simplistic...because it cuts down on the hard-to-decipher cleverness. 23:52 druthb But it's a good thing, for exactly that reason. 23:53 druthb That's been the frustrating part of my new gig. I'm trying to figure out stuff from the scary-smart wunderkind who wrote cPanel, and who deliberately *rejects* PBP as too simplistic. 23:55 mtompset when you say rejects, do you mean if you code to that standard, your code sucks and is rejected? 23:56 druthb If it conflicts with his wilder standards, yes. 23:58 eythian http://imgur.com/pjxFiIa 23:59 wizzyrea lol, I've been noticing this exact thing on the bus 23:59 wizzyrea what I love about mobile phones 23:59 wizzyrea is that the exact folks in that picture can do incredibly interesting things that if they were to try to do it on a computer, they'd be totally flummoxed.