| <<<Back 1 day (to 2014/12/15) | 20141216 |
guanche | hi | 09:05.35 |
ghostbot | Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line. | 09:05.35 |
guanche | guys, I'm producing a pdf programatically for a small tool meant to produce invoices from a json-alike text file, so I've done my invoice template on inkscape, and so can export it in vector format | 09:06.44 |
| my tool takes care of embedding the font, and placing, and showing text at the desired coordinates, my question is, which would be the common path to have a as raw as possible pdf vector operators so that I can embed it and show it under my text? | 09:08.01 |
kens | I don't understand the question, are you producing the PDF yourself ? | 09:08.32 |
guanche | yes, just need the graphic (in vectors) template to show under the invoice, so it actually looks like an invoice | 09:08.59 |
| right now it's just text like customer name and address, invoice number, and gods, placed at the desired coordinates on the page | 09:09.41 |
kens | I'm still unclear on the problem, why can you not write the graphic yourself as well ? | 09:09.44 |
guanche | well, because it's easier to produce and modify the template with inkscape | 09:10.25 |
kens | If you can write a PDF file, then you clearly know enough to write the graphic in terms of PDF operations | 09:10.25 |
| PDF doesn't have any concept of 'templates' | 09:10.42 |
| You could create a Form XObject if that's what you mean | 09:10.55 |
guanche | I mean the vector graphics, I'd like to handle them with inkscape, and somehow get them into my pdf | 09:11.12 |
kens | Then you need some way of translating them from Inkscape into PDF, can't help you there, I know nothing about Inkscape | 09:11.54 |
guanche | the thing is that inkscape uses cairo, and it will include font stuff and all even when exporting to postscript, so my question is how would one get an as raw as possible pdf vector graphic for embedding it afterwards | 09:12.51 |
kens | Like I said, I don't know anythign about Inkscape. Possibly you could save an EPS and use that. But otherwise you're going to have to dissect the PDF produced by Inkscape yourself. Warning: Cairo produced PDFs are inefficient and confusing to read. | 09:13.59 |
| If it was me I'd probably create an EPS, run that through Ghostscript to a PDF (using -dCompressPages=false) and see what came out. At least that'll get rid of the transparency rubbish, though it may mean it all ends up as an image | 09:15.20 |
guanche | yes, I've noticed, hence why I ask for the usual way of doing this (not need for cairo, inkscape or whatever) it's just that it's more comfortable using it because I can lay out the template graphically, and modify it | 09:15.23 |
kens | The 'usual' way of doing this is to generate the linework yourself | 09:15.51 |
guanche | but doing that programatically cuts a lot on flexibility in the long run, as a change in layout means a whole rewrite | 09:16.31 |
kens | Why are you doing it programmatically ? I was under the impression you have a fixed background, so you do it once and store it | 09:16.59 |
| Oh I see. Well that's the price you pay for using multiple tools. | 09:17.21 |
| There is no 'usual way' for what you are trying to do as far as I'm aware. | 09:17.43 |
guanche | yes, but I'm doing this for both, me and my sister, she migth know how to use inkscape, and I could adjust text positions easily, but having to do it all by hand is a real pain, also | 09:18.35 |
| the logo and all, it's just too much to be done by hand | 09:18.47 |
kens | Like I said, this is not a usual request. | 09:19.09 |
chrisl | I would think using an EPS would be as "usual" as you get when combining vector graphics from disparate applications | 09:19.23 |
guanche | well, thanks, I'll keep on looking for a solution | 09:19.28 |
| yes, I think the eps format will give me a solution, I'll look into it | 09:20.09 |
| is not that disparate, though, it's not the first time I see invoiced done like this, which is a vector template with some mono font over | 09:24.07 |
| *invoices | 09:24.16 |
kens | Yes, but its the manner of achieving the 'template', and your requirement that it be programmatically done, without having a specific application intended for that purpose, and your othre requirement that it not need to be hand-edited. | 09:25.05 |
| And this isn't something we actually do, we can talk about PostScript and PDF and so on, but *we* don't do invoices. | 09:25.47 |
guanche | that's true as well, just looking for some flexibility and integration there with the help of make, though what I think I'll do is get the template, strip it, and embed it on my program raw | 09:27.48 |
| it might change in a future, but I'll leave with it | 09:28.03 |
kens | Yes, tha'ts what I was suggesting | 09:28.08 |
guanche | well, and invoice is just one of the many applications you can give to document creation | 09:28.34 |
kens | Certainly, but we don't actually layout/create teh documents | 09:28.50 |
| Tha'ts not the business we're in | 09:28.59 |
| Stupid apostrophe.... | 09:29.07 |
guanche | the first thing I actually looked at is at ghostscript api, which is not meant for this like this either while it would be really useful | 09:30.27 |
kens | You're correct, its not meant for this, its not a general purpose page layout application. | 09:30.49 |
| You got off lightly on the jury service Chris. Hope you feel better soon though :-( | 09:41.03 |
chrisl | Yeh, it was a bit of a relief, but I'd gladly have been on a jury than have whatever gastric havoc I'm suffering instead :-( | 09:44.02 |
Robin_Watts | chrisl: Flat coke and crisps... | 09:44.35 |
chrisl | Crisps upset my stomach even normally. At the moment I have almost flat lucazade | 09:45.23 |
Robin_Watts | Dunno about lucozade. Doctors have recommended the flat coke and crisps thing for years. I think it's the sugar in the coke (plus the other stuff) and the starch/salt from the crisps that serve to rebalance what you lose. | 09:47.09 |
| I hope you feel better soon. | 09:47.23 |
pedro_mac | used to go for dry cornflakes | 09:47.37 |
kens | Sugar+salt in solution = rehydration fluid | 09:47.40 |
pedro_mac | but whatever works | 09:47.49 |
Robin_Watts | kens: yes, but rehyration fluids taste *awful*. | 09:47.56 |
kens | In the correct proportions, but those turn out to be reasonably vague | 09:47.59 |
| Robin_Watts : yeah but the principle is the same. | 09:48.13 |
guanche | what about kefir? | 09:48.16 |
Robin_Watts | indeed. | 09:48.19 |
guanche | http://en.wikipedia.org/wiki/Kefir | 09:48.37 |
Robin_Watts | guanche: He's awful in anything other than 24. | 09:48.50 |
guanche | ahm | 09:49.12 |
kens | is doubtful a fermented milk product would be good for gastric disorders | 09:49.46 |
chrisl | I have some electrolyte supplements I use when I have lots of squash to play - those are good for everything except calories. The only reason for the lucazade is that I know it's easy on my stomach (even though I don't like it). | 09:50.18 |
guanche | kefir takes your gastric system where it should be | 09:50.56 |
| plus many other benefits it has | 09:51.10 |
kens | Not if you are lactose intolerant, for example | 09:51.10 |
guanche | I don't know in that case, not an expert on kefir either | 09:51.30 |
kens | And I'm very sceptical about 'probiotic' nostrums | 09:51.33 |
| Healthy intestinal flora/fauna/bacterial populations are important, but I don't think you can get there by ingesting random fermented stuff. | 09:52.24 |
chrisl | Not even beer? Darn :-( | 09:52.42 |
guanche | well, probiotic, kefir it's been arround for eons | 09:52.45 |
kens | Though there's some good research going on with faecal transplants | 09:52.48 |
Robin_Watts | Someone did a test on actimel/danone/yakult and the like recently. | 09:52.52 |
| very few of them actually survive the stomach. | 09:53.04 |
kens | THa'ts the last research I saw too, and even if they do, the population change is tiny | 09:53.22 |
| Also it seems to be the relative proportions which is important, so you need to know which one(s) are out of bal;ance before you try and change it. | 09:53.58 |
Robin_Watts | kens: Of the lot, Actimel was the name brand that did best, but wasn't the best overall. | 09:53.59 |
| That's the one I take. | 09:54.09 |
kens | jst eats food, mostly vegetables, etc. | 09:54.20 |
chrisl | I normally just have natural yoghurt, use it in salad dressings and stuff | 09:54.47 |
guanche | me too | 09:55.14 |
| but I'd like to point out that none of those mention have nothing to do with kefir | 09:55.33 |
| *mentioned | 09:55.42 |
kens | Sinceits not available in the West (at least outside ethnic specialty delicatessens) we can't have any opinions about it | 09:56.49 |
chrisl | I don't know about most people, but when my digestion is already upset, hight lactose content doesn't work well for me. | 09:57.21 |
kens | THat's pretty much what I was saying | 09:57.31 |
| It seems doubtful to me that a fermented milk product would help with gastric distress. | 09:57.49 |
| lactose intolerance is not unusual, even in Western populations. | 09:58.07 |
guanche | yes, there might be cases where it migth not be advisable, but for sure you can find kefir in the states | 09:58.17 |
kens | We're not in the STates | 09:58.30 |
guanche | where are you then? | 09:58.38 |
kens | UK | 09:58.42 |
guanche | for sure you can find kefir there | 09:58.52 |
kens | You probably can, in specialist shops. For sure my supermarket doesn't stock it | 09:59.10 |
guanche | well, they prefer selling actimel, that's not nothing new, in any case | 09:59.39 |
kens | No, they just don't stock minority ethnic specialities | 10:00.03 |
guanche | it's completely natural, and if you don't tolerate it just throw it away, many cases where aparently would help it does | 10:00.25 |
| and it's not a minority ethnic stuff | 10:00.44 |
kens | Err, I htink you'll find it is, here. | 10:00.57 |
guanche | just get informed, kefir is as old as the beer | 10:01.25 |
kens | I never said it wasn't old | 10:01.31 |
| Kindly stay polite. | 10:01.45 |
chrisl | It's also possible that it's available under a different trade name, of course..... | 10:03.22 |
kens | Very possibly, but from the Wikipedia description, its not something *I've* heard of, and I've lived in most regions of the UK. Therefore its not an 'ordinary' UK product. Which makes it an ethnic minority food. | 10:04.30 |
guanche | kefir it's the name of the fungus, you just get into an moderately decent nutritional shop and ask for it, and you might even get it for free, as it grows and people use to give it away for free | 10:05.57 |
chrisl | There do seem to be a number of specialist on-line suppliers in the UK, which also point to it being not widely available "over the counter" | 10:05.58 |
guanche | I lived in bristol for 6 years and I used to take it there also | 10:06.25 |
kens | What you pointed to was a fermented milk drink, local to the Caucus mountains. | 10:07.02 |
Robin_Watts | I think the activate agent is Acidophilus. Holland & Barrett will sell tablets with that in. | 10:07.26 |
kens | Sure, but that's not the same thing as the milk drink, which is what I have been referring to all along. | 10:07.55 |
| Hence my commetns about lactose and fermeented milk products | 10:08.12 |
guanche | well, if you chrisl are having stomach problems and want to find out, you won't probably regret of finding out on the shop, or even trying it | 10:08.46 |
| while it's not usual on the occidental culture, it's there and does it's job despite others doing craps like actimel when they know of others | 10:09.36 |
chrisl | I'd rather try it when I'm feeling well again, rather than risk it disagreeing with me, and making my current condition worse..... | 10:10.50 |
guanche | well, ask first on the shop and tell them your problem, I know many people with stomach problems whose life quality has become normal just by it's regular use | 10:12.08 |
| there's also kefir for water/tea, besides than for milk | 10:13.39 |
| but I prefer the latter because when it's done, it's like yogourth and tastes as if it would have electrical charge, or ions | 10:14.44 |
kens | mrdocs are you actually present ? | 10:56.19 |
| Well, it seems I'm 'not a channel operator' so I can't do anything about the connect/disconnects | 11:14.20 |
| I'm guessing chrisl was up to somethign though | 11:15.05 |
chrisl | I tried, but no luck - I'm hesitant to ban him | 11:15.29 |
kens | likewise | 11:15.35 |
| Since he has automatic reconnect on, he just comes back, so kick and kill aren't helpful | 11:15.54 |
chrisl | Well, we can't kill and I already tried kick | 11:16.27 |
kens | OH yeah kill is an operator, not cahnnel op | 11:16.40 |
tor8 | aren't there temporary bans? | 11:17.25 |
chrisl | I'm not sure - I thought so, but can't find details right now | 11:17.52 |
kens | I can't find any details on bans at all | 11:18.03 |
| Well you can always set them and then remove later | 11:20.32 |
Robin_Watts | really? is it worth the effort? | 11:20.48 |
kens | Probably not, but the continual connect/disconnect is annoying | 11:21.03 |
Robin_Watts | I'm sure we're all big enough and ugly enough to ignore the messages :) | 11:21.04 |
kens | It makes a sound for me, and fills up my window | 11:21.27 |
| Both of which are irritating | 11:21.38 |
| Yes, I could silence it, and suppress the messages but then I wouldn't notice when people joined. | 11:22.00 |
Robin_Watts | kens: Making a sound is indeed irritating. | 11:22.08 |
tor8 | kens: /ignore might help | 11:23.02 |
kens | Hmm, possibly, let me try that | 11:23.17 |
| Now I just need to wait until he disconnects :-) | 11:23.45 |
| Nope, still get the messages and noise | 11:25.02 |
tor8 | kens: well, that was quick and didn't work :( | 11:25.08 |
chrisl | You might be able to have your client filter locally | 11:25.31 |
kens | Possibly, there are so *many* options in Miranda.... | 11:25.50 |
tor8 | at this point even I am getting annoyed... ban him for an hour and hope his client gives up? | 11:26.37 |
kens | Seems I am already ignoring mrdocs locally O.O | 11:26.48 |
| I guess that must have been a previous occasion | 11:27.24 |
chrisl | OKay, I'll set a ban, and rescind it after a while - I better check I know how to remove it first..... | 11:30.42 |
kens | I found a link somewhere..... | 11:30.58 |
| goggle'd for irc ban | 11:31.08 |
| Or even google'd | 11:31.16 |
tor8 | chrisl: /mode #ghostscript +b <nick> | 11:31.38 |
chrisl | and presumably -b to remove the ban? | 11:32.03 |
kens | That's what my link says yes | 11:32.35 |
chrisl | I'll remove it in an hour or so | 11:34.16 |
kens | Hopefully one of us will remember | 11:34.27 |
chrisl | I've set a reminder on my phone | 11:34.37 |
kens | Ah, technology :-) | 11:34.57 |
chrisl | Some IRC services have timed bans built-in, but not freenode, it seems | 11:35.17 |
kens | Oh well.... | 11:35.24 |
chrisl | kens: (now we can talk...) on the PCL white text issue...... | 11:36.34 |
kens | Hmm, seems we don't have access to the device in pcl_show_chars_slow | 11:36.38 |
| chrisl I plan to check the PreserveTrMode device parameter and if its true then set Tr to 3 | 11:36.56 |
| Otherwise proceed as now | 11:37.05 |
| I have a half written comment on the bug to that effect. | 11:37.15 |
chrisl | Ah, okay. I was wondering if we should educate the customer about the pattern transparency feature..... | 11:38.45 |
kens | I doubt that would help, since they are getting the PCL from elsewhere, and would have to educate *that* customer as well. And they probably can't do anything about it..... | 11:39.15 |
| But at the moment I'm getting compile time errors and can't find the device. In any case, I *am* looking at it...... | 11:39.49 |
| Oh I see, the PCL interpreter doesn't ever look inside the pointer to the gs_state, so it doesn't have the relevant .h file included. | 11:40.46 |
chrisl | it should be retrievable using gs_currentdevice - or something | 11:41.53 |
kens | I'm not sure I have the bits for that either, but now I've got the Lilypond user bleating again | 11:42.21 |
chrisl | But I'm sure henrys would prefer if you access it that way than directly..... indirection/obfuscation/confusion etc...... | 11:44.49 |
henrys | some vicious rumour got started that my vacation ended yesterday when in fact it ends tomorrow. Oh well I'm back... can't sleep anyway. | 12:20.39 |
kens | :-) | 12:20.48 |
kens | lunches | 12:22.12 |
| Hmm, the PCL interpreter doesn't understand stack_param_lists. In fact those are limited to the PS interpreter, which makes a mockery of these being interpreter-neutral | 12:23.30 |
| Ah, that's because its on the PostScript stack :-( | 12:23.53 |
kens | wonders how PCL deals with this | 12:24.16 |
| And teh answer appears to be... It doesn't. | 12:24.42 |
henrys | kens: I was very much against the monochrome color proc override but that is what prevailed. Did you find a workaround for that? | 12:24.58 |
kens | henrys its in the IRC logs and I'm halfway through a note on the bug, but I'm running into problems. | 12:25.25 |
| My idea is to interrogate the device to see if it has PreserveTrMode set, and if it does, set the Tr mode to 3 for the duration of the text | 12:25.48 |
| If not, then proceed as now. Otherwise we cannot get the rendering correct for the case of 'transparent bits' and both a black and white background. | 12:26.14 |
| However, interrogating the device requires a param list, and the PCL interpreter doesn't use those. WHich is a problem. | 12:26.50 |
henrys | kens: thinking about it now I could just issue the character for high level devices since transparency and rop doesn't work right for them anyway. | 12:27.27 |
| but I was asking about what you were looking at a few days ago. overriding the color procs. | 12:27.51 |
kens | henrys the Tr 3 would get you the text and still not draw anythign for devices which understand it. | 12:27.52 |
| henrys, I fixed the colour procs, by making the PCL interpreter descend to the terminal device before replacing the procs. | 12:28.15 |
| Its not a good solution though. | 12:28.24 |
| Really we shouldn't be replacing bits of the device like that | 12:28.48 |
| I seem to be getting m,y PCL bugs muddled :-( | 12:29.10 |
henrys | kens: no the device should be completely opaque to the languages IMHO. | 12:29.12 |
kens | I'm not familiar enough with PCL/the PCL interpreter to suggest a better emthod, other than simply chaning all the colours in the interpreter before writing them to the device. | 12:29.57 |
| Or alternatively resetting the device ProcessColorModel to DeviceGray. I'm not certain that would work anyway | 12:30.21 |
henrys | kens: I'll look at it a bit today. I've always wanted that code done differently. | 12:30.30 |
kens | Well,if you're looking for a project :-) | 12:30.45 |
| OK really lunch time now, back in a bit | 12:31.25 |
henrys | kens: sure talk to you later | 12:31.33 |
chrisl | I've unbanned mrdocs - the the noise resumes, I'll bad him for a longer period | 12:36.33 |
henrys | chrisl: yikes things weren't very quiet while I was gone. | 12:38.30 |
| oh he was just joining and quitting thought there was a brawl ;-) | 12:39.26 |
Robin_Watts | henrys: Did you get affected by the london airspace snafu? | 13:10.39 |
henrys | Robin_Watts: no I didn't even know about it. | 13:11.03 |
Robin_Watts | ah, great. How was Strasbourg? | 13:11.17 |
henrys | I really enjoyed it very "christmassy" ... the cathedral is incredible. | 13:12.08 |
| probably could have seen most everything in a couple days but it was not nice to take it slow. | 13:13.11 |
| Robin_Watts: we had one last night in London and stayed at the Alma Hotel, really nice, the restaurant was great lots of "hip" young folks if you like that sort of thing. | 13:16.48 |
Robin_Watts | henrys: cool. In 'cutting edge' Wandsworth :) | 13:17.21 |
henrys | a lot of the neighborhoods I was warned about east end and that area seem to have new money coming in. million pound closets to dwell in... | 13:18.49 |
kens | Russian mafia | 13:19.14 |
| Hmm, it seems the PCL interpreter never retrieves parameters from the device | 13:20.27 |
henrys | looked like trust fund kids but I might be mistaken I wasn't there long. | 13:20.55 |
kens | There's a lot of Chines and Malaysians too, with money. Lots of kids at London University and the parents buy a property as an investment | 13:21.32 |
henrys | kens: it used to for some arcane crd stuff and there is no reason it can't but it doesn't now. | 13:21.38 |
kens | henrys I need to retrieve the PreserveTrMode parameter from the device, and normally I do that using a param-List, which I can't create in the PCL interpreter | 13:22.13 |
| Ah, ah gs_c_param_list. OK that makes sense | 13:23.26 |
henrys | kens: you are likely to run into other problems with that since it will likely not work properly with raster operations. I really think the simple thing to do is push the character through for high level devices. | 13:25.28 |
kens | henrys, it will work fine for pdfwrite and this case. And its no worse than simply drawing the text. | 13:25.56 |
| If the device doesn't support Tr mode, then it will just be dropped, as it is now. For devices which support Tr it will go through as a non-drawing text operation. | 13:26.53 |
henrys | kens: okay let's give it a go. | 13:27.38 |
kens | Its going to take me longer to figure out how to use the stupid param stuff than anythign else :-( | 13:28.00 |
henrys | kens: do you need sample code that reads a device parameter? | 13:28.04 |
kens | henrys if you have some, yes please | 13:28.36 |
| In practice what I actually want to do is call a spec_op | 13:29.13 |
| But it takes a param list as an argument | 13:29.21 |
| I definitely don't want to do a full blown parameter read, that's too slow | 13:29.45 |
| Ah pxcsessio.c looks plausible | 13:30.17 |
henrys | kens: I was thinkiing of the removed crd stuff but that is a full parameter read. pxsessio.c reads? | 13:33.36 |
kens | I do a singel aprameter read by calling a spec_op for the device, but I need a param_list populated with teh key to pass as an argument. THat's what I'm having trouble with | 13:34.20 |
| The key being passed has to be NULL so we only get one item passed back. | 13:34.46 |
| I really don't like the param list stuff, its hard to use. | 13:35.28 |
henrys | right so the stuff in plmain.c or pxsession uses the gs_c_param_list api, it's awful yes. | 13:38.01 |
kens | I'm struggling through it now.... | 13:38.14 |
| Need to add gxdevsop.h to get the spec_ops anyway | 13:38.41 |
henrys | Robin_Watts: thanks again for the tower adventure. Sabrina and I really enjoyed it. | 13:42.37 |
| funny hardware clock is wrong henrysx6 never had a problem with it before. | 14:03.17 |
Robin_Watts | Are there any known openjpeg problems in 64bit builds? | 14:41.26 |
chrisl_ | I'm not aware of anything specific - but IIRC, most of the fuzzing bugs were found running 64 bit executables | 14:42.10 |
Robin_Watts | I have an SOT crash here dying in openjpeg in an _mm_mul_ps call. | 14:43.35 |
| The first arg is *vw, and vw is 8 byte aligned, but not 16 byte aligned. That could be a problem, right? | 14:43.57 |
chrisl_ | On what platform? | 14:44.14 |
| x86_64 doesn't really enforce alignment | 14:44.39 |
Robin_Watts | linux 64. | 14:44.44 |
chrisl_ | I doubt the alignment would cause that to crash (although, it may well be wrong) | 14:45.43 |
Robin_Watts | I wonder what vintage the openjpeg code is... | 14:46.18 |
chrisl_ | Robin_Watts: Oh, using SSE(2)? | 14:46.28 |
Robin_Watts | Yes. | 14:46.36 |
henrys | Robin_Watts: what's calling openjpeg in sot other than pdf? | 14:46.44 |
kens | WHat does GS make of the image ? | 14:46.52 |
Robin_Watts | henrys: It's PDF. | 14:46.55 |
kens | Assuming you cna turn it into a PDF or something.... | 14:47.01 |
Robin_Watts | kens: The 32bit build of SOT is fine. The 64bit build is dying here. | 14:47.14 |
chrisl_ | Ah, we disable SSE2 in Ghostscript's OpenJPEG because it caused *loads* of problems when we tried it | 14:47.17 |
kens | I was wondering about a 64-bit build of GS | 14:47.29 |
henrys | Robin_Watts: oh I assumed you were working with something you couldn't test on mupdf or gs... | 14:47.32 |
kens | suspects chirsl has put his finger on it | 14:47.51 |
Robin_Watts | henrys: I can't test this with mupdf or gs. | 14:48.13 |
| It works fine in 32bit builds of SOT. It fails in the 64bit tests. | 14:48.30 |
henrys | yes I bet chrisl_ has it. | 14:48.32 |
Robin_Watts | Therefore there is something screwed in the change from 32 to 64. | 14:48.49 |
henrys | or at least a mask for it ;-) | 14:49.00 |
Robin_Watts | Looks like the openjpeg stuff was last updated in september 2013. | 14:49.11 |
kens | Robin_Watts : why can't you test the PDF with MuPDF or GS ? | 14:49.17 |
Robin_Watts | kens: How would that help me? The problem is not with the PDF. | 14:49.56 |
| In fact, it looks like the openjpeg dates from April 2012, so it's well out of date. | 14:50.19 |
kens | Yes but we use OpenJPEG 64-bit in GS do we not ? | 14:50.27 |
Robin_Watts | There do seem to be some bugfixes in the SOT version. | 14:50.38 |
chrisl_ | I take it this is 1.5.x? | 14:51.23 |
Robin_Watts | Yes, we use OpenJPEG 64bit in gs. Hence me asking if there where known problems with it. Chrisl has possibiy nailed it by saying that gs doesn't use SSE. | 14:51.35 |
| Or it could be that somehow in the SOT 64bit build openjpeg is getting badly aligned blocks. | 14:51.55 |
| Certainly the heap lib in SOT will only be giving 8 byte aligned things, not 16 byte aligned things. | 14:52.18 |
kens | I'd be inclined to try it with GS 64-bit, if it works then its a SOT problem, one of the ones you mention. If it doesn't then its a general OpenJPEG problem | 14:52.34 |
henrys | Robin_Watts: we should check it in mupdf and gs to be sure you haven't stumbled on a general problem. | 14:52.53 |
Robin_Watts | looking to see what version it is now. | 14:53.18 |
| Possibly someone who understands this stuff should run through the bug fix commits from SOT to see if they are useful in general. | 14:54.02 |
chrisl_ | x86(_64) basically ignores alignment, so unless OPJ is doing some alignment checking itself, and throwing an assert, I doubt alignment *on its own* would be a problem | 14:54.40 |
| Grr, might be time for another banning..... | 14:54.58 |
kens | It is getting tricky to read the conversation | 14:55.20 |
henrys | chrisl_, Robin_Watts: alignment is quite important with sse though right? | 14:55.24 |
Robin_Watts | henrys: Yes. | 14:55.48 |
chrisl_ | nick chrisl | 14:56.14 |
| Grr why will it not let me be me?!?!? | 14:56.38 |
henrys | I'll create a bug with the openjpeg commit logs and changes and assign it to shelly as bountiable. That okay? | 14:56.42 |
| Robin_Watts: ^^^ | 14:56.56 |
Robin_Watts | henrys: Sure. | 14:57.16 |
chrisl_ | Robin_Watts: the latest version of the 1.5.x series was 1.5.2 and was release in March this year | 14:57.30 |
henrys | chrisl_: you missed the front / once, don't know if you caught that. | 14:57.44 |
Robin_Watts | You might want to double check that the diffs don't contain anything outside the epage/third-party/openjpeg directory | 14:57.49 |
kens | Hmm, that's irritating, a bunch of PCL files are throwing errors. I must have made a screwup | 14:57.52 |
chrisl_ | henrys: I did, then tried again | 14:57.54 |
Robin_Watts | chrisl_: Try /ghost ? | 14:58.21 |
chrisl_ | Tried it..... | 14:58.29 |
| I keep getting the message: "chrisl Nick/channel is temporarily unavailable" | 14:58.42 |
kens | What's the magic runes for getting to be channel op ? | 14:59.35 |
chrisl_ | /msg chanserv op #ghostscript <nick> | 14:59.53 |
kens | OK thanks | 15:00.19 |
chrisl_ | and "/msg chanserv deop #ghostscript <nick>" to drop channel op again | 15:00.30 |
kens | even better :-) | 15:00.39 |
Robin_Watts | How do I find what version of openjpeg this is? | 15:01.05 |
chrisl_ | Look in opj_config.h or similar | 15:01.49 |
Robin_Watts | Aha. 1.5.0 | 15:01.52 |
chrisl_ | kens: have you banned mrdocs? | 15:02.16 |
kens | Not yet, he stopped diconnecting :-) | 15:02.30 |
chrisl_ | kens: well, let me know if you do, and I'll set a reminder for 24 hours | 15:03.47 |
kens | OK, I'll say here if I do | 15:03.58 |
| In the meantime, back to normal for me. | 15:04.19 |
| coffee, brb | 15:11.32 |
rayjj | morning, all | 15:12.22 |
| kens: I noticed that you said that PCL doesn't deal with param_lists. In fact, it does. | 15:13.53 |
henrys | rayjj: we got past that. | 15:14.09 |
rayjj | kens: it uses gs_c_param_list types | 15:14.10 |
| henrys: OK. Still processing the logs | 15:14.23 |
kens | Yes, as henrys says, well past that problem now, but thanks | 15:14.30 |
| Revised patch doing cluster test now | 15:14.50 |
henrys | kens: oh wow got it going that quickly! | 15:15.09 |
kens | That's really slow | 15:15.24 |
chrisl_ | Of course, a gs_param_list is not the same as a gs_c_param_list..... | 15:15.33 |
kens | It took me ages to work out the param syntax | 15:15.36 |
rayjj | just got down to that point in the logs ;-/ | 15:15.52 |
chrisl_ | Another annoying consequence of making refs only available in Postscript :-( | 15:16.20 |
kens | I had forgotten to reset code in my first patch, which meant it was throwing surious errors, thats fixed now. | 15:16.23 |
rayjj | gah. refs for non-PS would _really_ be a pain. | 15:18.47 |
kens | Why ? | 15:18.56 |
| Provided we ref count rather than GC of course | 15:19.25 |
chrisl_ | The contents of gs_c_params lists are only slightly less complex than refs, and the implementation is slow and over complex | 15:19.55 |
rayjj | kens: right. And just de-tangling all of the macro and header BS w.r.t. refs would be a pain | 15:20.05 |
kens | No worse than the pain I go through every time I have to deal with param lists | 15:20.30 |
| And untangling the macros would be a plus too IMO | 15:20.47 |
rayjj | kens: I wouldn't object if you want to re-write the PS, etc. to use ref counting | 15:21.45 |
| and get rid of the GC altogether :-) | 15:22.09 |
kens | Not right at the moment I'm having too much fun rewriting the device interface to be less insane | 15:22.10 |
chrisl_ | Bearing in mind that param_lists need to be able to represent almost all the same object types as refs, it seems *bonkers* to have to complex implementations that essentially do the same things | 15:22.29 |
| s/to complex/two complex | 15:22.51 |
kens | three implementations, refs, param lists and C param lists.... | 15:22.58 |
chrisl_ | Even more bonkers..... | 15:23.18 |
kens | OK so the errors go away, and now I have 4 PCL files showing differences, that's unexpected. | 15:23.35 |
rayjj | kens: have you given any thought to making the clist a device in the chain (compositor ?) rather than what it is now | 15:23.54 |
kens | rayjj I would *LOVE* to do that | 15:24.07 |
rayjj | kens: seriously ??? | 15:24.18 |
kens | Oh god yes | 15:24.24 |
| make compositors and clists and everythign into a chain of linked devices | 15:24.42 |
rayjj | kens: you haven't looked into uncoupling a device from the chain, have you ? | 15:25.17 |
kens | No more polymorphing into somethign else, or slysl passing stuff round behind the scenes, or simply overwriting an existing device silently | 15:25.23 |
| I'm sure its possible to do, in a sense I do it now, very incompletely | 15:25.56 |
rayjj | right now, the pain is that once a device is in the chain, it can never be removed | 15:26.24 |
kens | Mine can :-) | 15:26.30 |
chrisl_ | rayjj: is there a known reason why a device can't be removed? | 15:27.06 |
kens | Technically I can also insret into the chain at any point, and remove a device from the chain at any point, though I haven't tried that yet. | 15:27.13 |
| NB, there must always be at least one device in the chain! | 15:27.24 |
rayjj | the problem (at least one of them) was that gstates can be laying around that have a device pointer | 15:27.34 |
kens | rayjj true, but its always the head of the chain | 15:28.01 |
rayjj | tries to dredge memory | 15:28.08 |
kens | I don't ever remove that | 15:28.12 |
Robin_Watts | kens: gs contains (or at least contained) a way to walk the devices on the stack using gs_dso's. | 15:28.21 |
kens | Robin_Watts : bet it doesn't work properly | 15:28.37 |
Robin_Watts | It's currently only used for debugging (and maybe only by me :) ) | 15:28.38 |
| Doesn't particularly matter if it gets broken, but I thought I should mention it. | 15:29.11 |
kens | The reason the device is in the gstate is because the device obeys save and restore | 15:29.22 |
henrys | I guess we can start the meeting but I just got in last night and don't have much. | 15:29.42 |
kens | But the device we store in the gstate is simply a pointer to the current device, which is (in essence) the head of a chain. | 15:29.43 |
rayjj | kens: that and the 'setgstate' operator | 15:29.53 |
kens | We can push a new device from teh itnerpreter by modifying the gstate | 15:30.01 |
| rayjj essentially the same as gsave/grestore | 15:30.17 |
Robin_Watts | henrys: avih has been helping tor8 with mujs. | 15:30.30 |
kens | We cannot (currently) push a new device from the graphics library, as we cannot alter the gstate | 15:30.43 |
| So I mimic what Robin's spy class and the 'push compositor do. | 15:31.02 |
Robin_Watts | He has been coding a mujs interface to the API for the mpv video player. | 15:31.11 |
rayjj | kens: if we save a gstate with, say the ppmraw device at the head of the chain, then do something that causes the overprint compositor (or pdf14) to become the new device, the gstate we saved doesn't point to the head | 15:31.16 |
henrys | tor8:scott would like some way to show mujs might be a better choice that other popular choices. I know footprint might be a good thing to show anything else? | 15:31.17 |
kens | Did I mention we have 4 different ways to push devices / And a whoel system in the gstate which does nothing ? | 15:31.25 |
| rayjj no it doesn't, and if we grestore back, then the compositor is no longer present at the head | 15:31.51 |
Robin_Watts | But it turns out that mpv is GPLv2, and therefore can't link with our APGLv3 code. | 15:31.55 |
rayjj | kens: not grestore, setgstate | 15:32.10 |
kens | rayjj that's the way the device is supposed to behavie in response to a gsave/grestore | 15:32.11 |
Robin_Watts | They asked if we'd consider changing the license on mujs to something more convenient for them. | 15:32.22 |
kens | rayjj What's your distinction, either way the device changes | 15:32.24 |
Robin_Watts | I personally think it's a bad idea, but I said I'd mention it. | 15:32.34 |
| Damn. got to step away for 5 mins, sorry! | 15:32.44 |
kens | shuts up ranting about devices and pays attention | 15:32.45 |
rayjj | will stop, too | 15:33.20 |
tor8 | henrys: http://mujs.com/docs/about the "Why choose MuJS?" section has a few arguments | 15:33.34 |
rayjj | Robin_Watts: is GPLv3 adequate ? I thought they wanted GPLv2 | 15:33.56 |
kens | THey do want 2 | 15:34.03 |
tor8 | rayjj: they want GPLv2, the A in AGPLv3 doesn't matter for licensing compatibility | 15:34.22 |
henrys | tor8: how do you feel about the license change? | 15:34.26 |
kens | GPL3 is no good to them either | 15:34.29 |
henrys | I'd say no as well. | 15:34.43 |
| unless it gets no traction then we can set it "free" | 15:34.58 |
tor8 | henrys: if there's no money in licensing or if we want maximum adoption, a BSD license would be best | 15:35.04 |
rayjj | henrys: or LGPL | 15:35.13 |
chrisl_ | Given where JavaScript can get used, shifting away from Affero would seem bad...... | 15:35.19 |
tor8 | henrys: (or LGPL or a similarly permissive license) | 15:35.30 |
rayjj | there's an echo here | 15:35.49 |
tor8 | henrys: any form of GPL is too strict for many people to consider when choosing a library | 15:35.51 |
| like when we pick third party libraries... | 15:36.19 |
henrys | let's give scott a chance to sell it than see what happens. If licenses don't work out we go for BSD and support contracts. sound good? | 15:36.33 |
tor8 | if there's enough money just selling support for it, I'd say go for BSD otherwise I'd be willing to wait and try licensing with AGPL | 15:37.03 |
| henrys: yeah, that's the approach I'd suggest as well | 15:37.22 |
chrisl_ | tor8: do you they want to build MuJS into mpv statically? | 15:37.28 |
rayjj | I suspect a lot of folks throwing embedded systems together don't want to pay anything -- support or license fee | 15:37.49 |
tor8 | chrisl_: I don't think any of dynamic or static (or plugin) linking is good enough for mpv, | 15:38.15 |
henrys | rayjj: so we should stop writing code? ;-) | 15:38.18 |
tor8 | they are only after maximum adoption, and are considering moving to LGPL to help them get into places where the GPLv2 is too restrictive | 15:38.37 |
rayjj | kens: do we need to ban 'stephan' as well -- I see a lot of 'joined...left' from that nick | 15:38.54 |
tor8 | so dynamic linking would still make the "package" deal GPL3, and hence not to their liking | 15:39.04 |
chrisl_ | tor8: I was wondering if we could offer an exemption allowing them to link with GPLv2 code *only* for use with mpv? | 15:39.07 |
stephan | sorry guys | 15:39.12 |
| leaving now | 15:39.15 |
kens | rayjj he's not as bad as mrdocs was | 15:39.15 |
stephan | please dont ban | 15:39.17 |
kens | NP | 15:39.21 |
henrys | I did visit guillaume and friends in strasbourg. They are getting huge increases with using GPU's just for halftoning. He said it was very straightforward to implement also, he might even give us the code. They use it with adobe and gs. | 15:40.20 |
rayjj | henrys: that makes sense. | 15:40.47 |
tor8 | chrisl_: given the maintainer's attitude issues I don't know if it's worth pursuing too far | 15:40.58 |
rayjj | it is similar to what we've done using SSE to do halftonoing | 15:41.09 |
henrys | of course they are a wide color shop I imagine we'll see less return with typical print sizes. | 15:41.24 |
chrisl_ | tor8: it just seems a shame for all avih's work to be in vane - from his point of view | 15:41.43 |
tor8 | chrisl_: agreed. and the bashing on mujs from being used in a large-ish project would also be helpful. | 15:42.12 |
henrys | chrisl_, tor8 : so he invested all this time in the project assuming you'd change the license? | 15:42.42 |
jogux | chrisl_: I suspect it would be difficult to do that without falling foul of the GPLv2's "you may not put any further restrictions on distribution" clause. | 15:43.00 |
chrisl_ | henrys: I think he just register that the license was different | 15:43.05 |
tor8 | henrys: the opposite, he thought it wouldn't be a problem for mpv to use GPL3 libraries... | 15:43.09 |
chrisl_ | jogux: you may well be right... | 15:43.39 |
rayjj | tor8: how come he can't go to GPLv3 ? | 15:44.09 |
tor8 | the GPL2 isn't that much worse from our point of view compared to LGPL/BSD, but if we're relaxing the license I'd rather go BSD and never worry about it again | 15:44.12 |
jogux | rayjj: I'm presuming the current code base is GPLv2, not "GPLv2 or later". GPLv2 and v3 aren't compatibe :( | 15:44.37 |
tor8 | rayjj: the mpv maintainer wants a less draconian license than GPL3, even though their code is GPL2+ | 15:44.53 |
rayjj | jogux: but they can release their code under GPLv3 | 15:45.07 |
tor8 | and mixing GPL2+ and GPL3 makes the result GPL3 | 15:45.09 |
| which he doesn't want | 15:45.19 |
rayjj | GPL2+ ??? | 15:45.24 |
jogux | rayjj: they can't, but my assumption was wrong anyway :-) | 15:45.26 |
tor8 | rayjj: GPL2 or later then | 15:45.37 |
henrys | tor8: I think what scott wants is some numbers for v8 and others so he can do a power point comparing. | 15:45.38 |
jogux | rayjj: GPL2 code can be 'GPL2 only' or 'GPL2 or later'. | 15:45.39 |
tor8 | the default used to be GPL2 or later, but when GPL3 was introduced many people didn't like the changes and made the move to GPL2 only | 15:46.05 |
avih | tor8: chrisl_: fwiw, i take the blame for not checking linense compatibility issues deeper and earlier. regardless, it probably won't be in vein since duktape seems to have similar api, so i should probably be able to transfer the code relatively easily. regardless, i think it's a loss for mujs to gain wider deployment. rot and robin discussed it with the mpv guys but it didn't seem that something practical is possible as it stands. | 15:46.21 |
henrys | tor8: can we change the byzantine C++ templating words to something a little more neutral? | 15:46.42 |
rayjj | tor8: so that's the "attitude problem"? Why be a stickler for GPL2 | 15:46.47 |
avih | tor* | 15:46.57 |
| and as for help with bug reports on mujs, i did that gladly even if i don't end up using it. | 15:48.01 |
jogux | rayjj: if they go GPL3, it stops them cooperating/getting incorporated with GPL2 projects. and lots of people dislike GPL3 as tor8 says :( | 15:48.20 |
henrys | I didn't have anything else for the meeting, crap I haven't even unpacked and I was supposed to be on vacation until the 17th but nobody believed it ;-) | 15:48.31 |
tor8 | rayjj: the attitude problem is more about being condescending and insulting. very abrasive personality. | 15:48.58 |
rayjj | henrys: it's not that we didn't believe you, it's just that we never pay attention to anything you say ;-) | 15:49.23 |
henrys | I know they listen to sabrina - she said I was coming back monday and that was attended to. | 15:50.23 |
jogux | would it be that bad to license mujs under the GPL2? The 'A' bit doesn't rely matter, right, as mupdf isn't really intended for servers? | 15:50.27 |
avih | tor8: agreed about attitude. sorry about that. | 15:50.39 |
tor8 | henrys: so the "why choose mujs" in pretty power point slides? | 15:50.43 |
jogux | no one is going to run node.js on top of mujs (right...)? | 15:50.51 |
tor8 | avih: not your fault. | 15:50.57 |
kens | henrys, my change to PCL works but seems to expose a problem with pdfwrite. Its not correctly setting the text rendering mode under some conditions. This will take a little longer. Do you want to vet the changes to the PCL interpreter befor I go further ? | 15:51.08 |
henrys | tor8: no he can do the slides. We need numbers for the competition. | 15:51.10 |
avih | tor8: true, but i also don't feel comfortable with it, and it happened... | 15:51.21 |
tor8 | jogux: it would be neat if they could... but no, I'm not hoping for it. | 15:51.21 |
mvrhel_laptop | rayjj: I was going to push my patch for the xpswrite device up to my repos for you to have a look but for some reason I can't push there. Something funky has happened to my repos there. (I have not used it in a very long time) | 15:52.32 |
rayjj | mvrhel_laptop: I usually do: git push -f ___ to my repo | 15:53.11 |
chrisl_ | mvrhel_laptop: do you get an error? | 15:53.11 |
henrys | tor8: scott can't take what you have there and translate it to a sales pitch. He need mujs has 10000 lines v8 has 50000 ... stuff like that. | 15:53.12 |
tor8 | henrys: okay. I'm guessing he won't care about side-by-side comparisons with how much code is needed to embed and use the v8 vs mujs api:s | 15:53.58 |
jogux | tor8: so if we took that position, is there a downside to having mujs be GPLv2+? (apologies if I skimmed over the previous conversaion on this too fast...) | 15:54.02 |
mvrhel_laptop | chrisl: it says git.exe push --force --progress "Casper_remote" master:master | 15:54.34 |
| fatal: '/home/user/mvrhel/repos/ghostpdl.git' does not appear to be a git repository | 15:54.35 |
| fatal: Could not read from remote repository. | 15:54.37 |
| Please make sure you have the correct access rights | 15:54.38 |
| and the repository exists. | 15:54.40 |
henrys | tor8: let me have him read what you have and then ask questions and we'll see. I didn't point him at that yet. | 15:54.41 |
tor8 | jogux: I don't think there's much drawback, but I can't really remember why we moved to GPL3 (I do remember why we moved to AGPL, sort of) | 15:54.59 |
rayjj | mvrhel_laptop: other than "-f" I don't have any ideas. If you want to just email the 'format-patch' to me, that's fine | 15:56.14 |
kens | mvrhel_laptop : my repos are under /home/ken/repos/ghostpdl.git, not /home/user/ etc | 15:56.19 |
henrys | AGPL was to try and fend off cloud abuses. | 15:56.23 |
mvrhel_laptop | ah | 15:56.27 |
| let me fix that | 15:56.32 |
kens | mvrhel_laptop : what does git remote -v say ? | 15:56.34 |
tor8 | henrys: I'm guessing LGPL would be out of the question for trying to sell commercial licenses | 15:56.47 |
kens | THIs is what it says for me on casper: | 15:57.06 |
| casper ken@ghostscript.com:/home/ken/repos/ghostpdl.git (fetch) | 15:57.06 |
| casper ken@ghostscript.com:/home/ken/repos/ghostpdl.git (push) | 15:57.06 |
henrys | lgpl solves avih's issue? | 15:57.29 |
rayjj | tor8: but not w.r.t. selling support | 15:57.30 |
tor8 | mvrhel_laptop: are you sure that should'nt be '/home/mvrhel/repos/ghostpdl.git'? | 15:57.49 |
avih | henrys: it might, i can ask. i don't own mpv, wm4 does | 15:57.50 |
mvrhel_laptop | yes I see that now | 15:58.01 |
| how in the world was that wrong | 15:58.05 |
tor8 | mvrhel_laptop: without the "user" | 15:58.06 |
mvrhel_laptop | I have not touched this repos in 2 years though | 15:58.22 |
| so who knows | 15:58.34 |
kens | Oddly my 'henrys' repo *does* have /user/henrys, but its using git: | 15:58.57 |
tor8 | mvrhel_laptop: /home/git/user/mvrhel/ is symlinked to /home/mvrhel/repos/ so maybe that's where the confusion came in? | 15:59.16 |
avih | henrys: it would appear that LGPL solves the issue | 15:59.58 |
tor8 | kens: yeah, those 'user' symlinks makes the git: server access the $HOME/repos directories | 16:00.04 |
rayjj | mvrhel_laptop: I'll check the logs when I get back (from taking my son to school) to see where I should look for the changes | 16:00.24 |
kens | henrys, the change in the PCL interpreter has flagged up a problem in pdfwrite (I think) where the Tr is not being set properly sometimes. I'll need to debug that, so this will take a little longer, in the meantime dfo you want ot look at the patch to the PCL interpreter ? | 16:00.37 |
mvrhel_laptop | rayjj: ok thanks | 16:00.41 |
henrys | kens: will do. | 16:00.59 |
avih | henrys: though the keyword is "appear". quoting: | 16:01.03 |
| <avih> wm4: the mujs guys ask if LGPL solves anything | 16:01.04 |
| <wm4> avih: hm, probably | 16:01.04 |
| <wm4> I can't think about license issues right now | 16:01.04 |
| <avih> k, thx | 16:01.04 |
| <wm4> maybe someone here can comment on this | 16:01.05 |
kens | henrys I'll make a patch and stick it on the bug then | 16:01.14 |
tor8 | rayjj: henrys: if going to LGPL I'd rather go all the way to BSD though | 16:01.22 |
| so my original suggestion (wait and see) still stands | 16:01.39 |
Robin_Watts | sorry, back. | 16:01.57 |
mvrhel_laptop | ok. removing usr fixed my problems. | 16:02.17 |
| thanks tor and ken | 16:02.29 |
tor8 | though I think there's a strong case to drop to GPL2+ | 16:03.14 |
henrys | mvrhel_laptop: I don't know if you saw the GPU stuff above, any reason to think that would do better than sse2 | 16:03.39 |
| ? | 16:03.46 |
avih | seems that LGPL3 is not compatible with GPLv2only: http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility | 16:03.57 |
Robin_Watts | I think that for us, the A in the AGPL is important. | 16:06.22 |
| The potential target market for mujs is in iot devices, that will be running tiny servers. | 16:06.59 |
avih | Robin_Watts: yeah, i don't disagree. | 16:07.01 |
Robin_Watts | hence any movement on the license from our end potentially hurts us businesswise. | 16:07.20 |
avih | i can't disagree with that either. | 16:07.35 |
Robin_Watts | now, if in a years time it turns out that we've not made any sales etc, then we can reconsider, but at this early juncture, I think we'd be foolish to move. | 16:07.52 |
| I do feel bad about avih having done the work though. | 16:08.03 |
avih | but since GPLv2 is quite prevalent among the gnu licenses, you should probably ask yourself how much does AGPL hurt you too | 16:08.14 |
| Robin_Watts: don't. we're adults ;) | 16:08.39 |
| as i said, duktape has a similar api and porting it would not be too hard. | 16:09.02 |
Robin_Watts | There *is* a way around this by making mpv have a plugin api, which pushes the GPLv3 decision onto the end user, but the maintainer of mpv was unwilling to even consider that (even when avih was pretty much volunteering to do the work). | 16:09.07 |
henrys | is it possible to grant a license exception? | 16:09.19 |
avih | hmm.. exception is a tough path to walk in... | 16:09.53 |
| unless it's very generic | 16:10.00 |
henrys | ie allow wm4 only to have rights. I don't know much about that and how it would work | 16:10.41 |
avih | my issue with plugin is not the lack of willingness to add plugin interface, but rather than the plugin will need to have it's own distribution independent of mpv, and therefore lots of hassle compared to integrated support | 16:11.18 |
Robin_Watts | It would have to be "a license exception for operation with mpv". | 16:11.21 |
henrys | Robin_Watts: yes that is what I meant. | 16:11.33 |
| I confused wm4 with mpv | 16:12.01 |
Robin_Watts | avih: It would be perfectly possible to keep the mujs interface code in the same place/repo as mpv, and just have the two lumps under different licenses. Then it's just doing 2 releases/2 downloads rather than 1. | 16:12.42 |
| But wm4's statement that they were opposed to the idea of a plugin interface at all, scotches the idea anyway. | 16:13.07 |
henrys | well we can explore the license exception but he may veto that as well. | 16:14.34 |
avih | Robin_Watts: you should keep in mind that while i'm very fond of mujs, my goal here is not to promote mujs. it's to add js scripting support to mpv. i wouldn't mind if the goals align, but i my goal does have a higher priority if they don't | 16:14.46 |
henrys | like to know before I look into it. | 16:14.46 |
avih | and i did start looking at duktape, which right now seems a plausible approach | 16:15.28 |
mvrhel_laptop | henrys: did not see gpu stuff. reading logs | 16:17.06 |
| henrys: that would be nice to have the code. I suspect the GPU might be be able to do more in parallel than the SSE2 implementation | 16:19.23 |
| kens: quick question for you | 16:20.28 |
kens | ? | 16:20.33 |
henrys | avih: do you want me to look into an exception or are you fairly certain that wouldn't be okay. | 16:21.14 |
| ? | 16:21.20 |
mvrhel_laptop | if I have a source pdf file, in what case(s) (if ever) do I end up with image data that is in multiple planes? I am trying to handle all the image cases for xpswrite including the odd encodings and bit depths etc. I don't quite follow when we have multiple planes | 16:21.56 |
| kens^^ | 16:22.16 |
avih | henrys: i'm not the owner of mpv, so it's hard for me to answer for them. this is something you should sort out with wm4. if he's happy with that, so am i. | 16:22.17 |
Robin_Watts | avih: Could you ask him for us? He didn't seem to... warm to me. | 16:22.42 |
kens | mvrhel_laptop : TO be honest, I don't really know. Possibly only for /Separation or DeviceN spaces ? | 16:22.43 |
henrys | avih: I was hoping you'd ask him, he seems a bit touchy to strangers. ;-) | 16:22.54 |
kens | I'd have to track through the code to figure that out | 16:22.56 |
avih | henrys: maybe childhood issues ;) but he knows his stuff... | 16:23.24 |
mvrhel_laptop | oops I scared kens off | 16:23.30 |
Robin_Watts | Quick! Ban Kens! | 16:23.32 |
chrisl | Yay! I can be me! | 16:24.03 |
kens | Grr bad time to disconnect | 16:24.24 |
henrys | chrisl: your psychologist will be pleased. | 16:24.28 |
Guest48648 | And now it's punted me to a Guest**** name - f*cking thing!! | 16:24.54 |
mvrhel_laptop | kens: ok no problem about the planes. I will dig around and see | 16:25.00 |
kens | mvrhel_laptop : the way I'd find out would be to code an error when hitting that case, then run a cluster test to find an example that triggers it. THen debug the code | 16:25.06 |
mvrhel_laptop | hehe Guest48648 | 16:25.14 |
avih | henrys: TBH, i feel a bit uncomfortable to be in the middle of this between Artifex and mpv. despite potential issues, i feel it should be sorted directly between the parties. | 16:25.15 |
mvrhel_laptop | kens: that is a great idea | 16:25.34 |
| thanks! | 16:25.41 |
kens | NP I do that sort of thing all the time | 16:25.49 |
| Sometimes even deliberately | 16:25.59 |
mvrhel_laptop | :) | 16:26.03 |
| bbiab | 16:26.10 |
Guest48648 | I need to wander out for some shopping - back in a half hour or so..... | 16:26.46 |
kens | Hmm, so chrisl can be himself only when I disconnect ? O.O | 16:26.58 |
Guest48648 | Maybe I'll be able to be me again when I get back | 16:27.08 |
henrys | avih: okay I'll talk to him if you like. You just want to be entertained ;-) | 16:27.37 |
avih | henrys: in my own opinion only, a direct exception for mpv could be an issue for libmpv, and an exception for mpv+libmpv might work better, though still blocks some future incarnations. _I_ would think that an exception for software which is used mainly for desktop (wince you're mostly worried with iot stuff) or something along these line will sound better. | 16:29.59 |
| henrys: and sure, i don't mind the entertainment ;) | 16:30.12 |
| s/wince/since/ | 16:30.43 |
Robin_Watts | avih: I think we'd want the most restrictive exception possible. We could mention both mpv and libmpv specifically. If they want to widen the exception later, they can come back to us. | 16:32.42 |
avih | Robin_Watts: sounds like a reasonable starting point, though again, wm4 should judge that. | 16:33.22 |
| Robin_Watts: and i absolutely understand where you come from. FWIW. | 16:33.48 |
henrys | Robin_Watts: do you want to ask him since you tried before? Maybe he likes you now ;-) | 16:34.19 |
avih | lol | 16:34.26 |
Robin_Watts | Sure. | 16:34.33 |
| I'm game for a laugh. | 16:34.42 |
tor8 | Robin_Watts: good luck! | 16:35.30 |
avih | Robin_Watts: fwiw, considering what i've seen with wm4 so far (haven't been hanging on #mpv too long though), i don't think he had personal issues with you. that's how i judge what happens yesterday. | 16:36.15 |
| even if he expresses himself quite bluntly, and further than that. | 16:37.24 |
henrys | avih: looks like good clean code. | 16:38.31 |
Robin_Watts | avih: no worries. I'm used to t'internet :) | 16:38.40 |
avih | Robin_Watts: :) | 16:38.46 |
| henrys: what looks like clean code? | 16:38.51 |
henrys | mpv | 16:39.05 |
avih | ah. yes, he takes good care of it. quite effectively. | 16:39.22 |
jogux | robin_watts: (apologies, lost this window for a bit). I don't see how an exception works. You can't take a GPLv2+ program (which he is not a sole copyright owner in), and add some more code that has on it "GPLv2, but only when used in mpv". | 16:40.39 |
| robin_watts: I'm not sure I follow your ioT / AGPL argument. if they distribute the device, they have to reveal source. AGPL was about proper servers in data centers, not about "software that happens to listen on a tcp port", aiui. | 16:42.12 |
Robin_Watts | jogux: You may be right about that latter thing. | 16:42.43 |
henrys | oh right that is a gpl violation. | 16:43.22 |
Robin_Watts | jogux: The idea would be that mujs had a license exception added to it that enabled it to be treated as GPLv2 code only when linked with mpv/libmpv (for the purposes of controlling mpv/libmpv) (or some language like that. IANAL) | 16:43.48 |
| mpv/libmpv wouldn't change their license at all. | 16:44.11 |
jogux | robin_watts: I'm fairly certain you can't distribute the combined result. | 16:44.26 |
Robin_Watts | We would change our license, but only when used directly in conjunction with mpv/libmpv. | 16:44.30 |
henrys | you can't restrict gpl that way. | 16:44.45 |
tor8 | the combined result though,wouldn't be plain gplv2, so no different from them just using mujs as AGPL3 | 16:44.51 |
jogux | the modding community tried all this; "you can't put *my* linux kernel patches in your linux kernel". It all got thrown out. | 16:44.53 |
Robin_Watts | So the license exception idea won't work then? | 16:45.49 |
jogux | I can't currently see a way through it. | 16:46.08 |
henrys | no it doesn't | 16:46.10 |
jogux | if he was the sole copyright owner it'd be different. | 16:46.30 |
henrys | what if we granted bsd to msv only? | 16:47.10 |
| s/msv/mpv | 16:47.20 |
Robin_Watts | henrys: Not sure that changes anything. | 16:47.30 |
| cos if I fork mpv, and add some code, and then remove all the mpv code, does the bsd license still apply? | 16:47.53 |
tor8 | henrys: thing is, the "mpv only" clause is incompatible with GPL | 16:47.59 |
jogux | aiui: it the combined work isn't distributable under plain GPLv2, it's not distributable. | 16:48.02 |
| s/it/if/ | 16:48.20 |
henrys | yeah right | 16:48.22 |
| this was forked from mplayer he's got lots of owners. | 16:48.54 |
Robin_Watts | updates graphics driver. If I fall off the net, that's why... | 16:48.59 |
jogux | henys: yup :( | 16:49.06 |
| if we can GPLv2 mujs that seems cleanest. I'm still trying to get my head around Robin's downsides to doing that. | 16:49.42 |
henrys | jogux: there is not APGLv2 is there? | 16:50.24 |
Robin_Watts | There are 2 issues; 1) the GPL v2/v3 differences and the GPLv3/AGPLv3 issues. | 16:50.49 |
henrys | and we want the embedded protection, that's the point right? | 16:50.50 |
jogux | there is: I don't think mpv could switch to that though, and GPLv2 and APLGv2 aren't compatible? | 16:50.52 |
| s/APLG/AGPL/ | 16:51.16 |
avih | jogux: while wide adoption of mujs would be nice for mujs, i personally don't think you should put that in front of your goal to monetize it. and if gpl2 (or some more permissive license) hurts you, then you probably shouldn't take that road | 16:51.24 |
| mostly because i think you can't really go back once you did | 16:51.37 |
Robin_Watts | Even if we assume I was wrong about the need for AGPL rather than GPL, we still want the protection that GPLv3 gives us over GPLv2. | 16:51.44 |
jogux | avih: yeah. I'm not pushing too much, just trying to get a handle around how much GPLv2 would hurt. | 16:51.55 |
Robin_Watts | Cos we've been bitten by that exact difference before. | 16:51.56 |
jogux | robin_watts: ah :-( | 16:52.26 |
tor8 | Robin_Watts: the patent difference? | 16:53.22 |
Robin_Watts | There is a 'serverization' difference (tivoization, possibly) too. | 16:53.57 |
avih | it's a very fine line to judge though. on one hand you want to monetize it, on the other hand it's not compatible with the mpst common gnu license which is gpl2. hard to maintain profitable and useful libre software... | 16:54.05 |
| especially since you see mujs as an independent source of monetization | 16:54.57 |
jogux | robin_watts: do we care that IoT device owners don't have the right to replace the copy of mujs with their own? | 16:54.58 |
| Tivo released source; you just couldn't put the modified source onto your tivo. | 16:55.19 |
Robin_Watts | jogux: If Tivo was doing that with our software, we'd want to get paid for it. | 16:56.09 |
jogux | robin_watts: we'd probably want to get paid even if the user could upload a modified binary though, right? :-) | 16:56.58 |
Robin_Watts | jogux: If tivo were really giving everything away completely free, then we'd live with it. | 16:57.34 |
| reboot. brb. | 16:57.59 |
kens | has had enough for one day. I'll get back to the Tr mode tomorrow. Night everyone | 17:03.06 |
Robin_Watts | I installed my shiny black-friday 1gig SSD at the weekend, and moved my sot.git tree onto it so I can build faster. | 18:07.29 |
| There is a very useful util called 'junction' from sysinternals.com that I thought I should mention. | 18:07.56 |
| It lets you do softlinks using ntfs discs. | 18:08.07 |
| so I've used that to make a link to my testdocs dir at the level above sot.git - so I get the convenience of being able to do ../Mytests/... without having to have copied all those files onto the SSD. | 18:08.54 |
| I don't mean 1gig. I mean 1TB :) | 18:09.12 |
Guest48648 | Windows comes with mklink which creates symlinks | 18:14.00 |
chrisl | Okay, I think I should stay me this time :-) | 18:14.40 |
Robin_Watts | chrisl: Given that MS bought sysinternals, it's possible that mklink is a derivation of junction :) | 18:15.40 |
chrisl | quite possibly, yeh | 18:15.51 |
Robin_Watts | yeah, junction dates from 2000, mklink from 2006 :) | 18:16.45 |
tor8 | Robin_Watts: you can do that with plain old mklink | 18:16.48 |
| oh, chrisl beat me to it | 18:17.13 |
Robin_Watts | tor8: I knew of junction, but not mklink. | 18:17.28 |
tor8 | you can also set the mount point of an entire disk to a directory instead of a drive letter | 18:17.38 |
chrisl | But apparently we should be talking about "plain old junction"..... | 18:17.47 |
Robin_Watts | well, using a built in thing is probably 'easier'. | 18:18.18 |
mvrhel_laptop | ah. for the logs. kens thanks for the suggestion about creating a crash. that pointed me to the files that I needed. | 20:32.42 |
| Forward 1 day (to 2014/12/17)>>> | |