IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/11/25)20141126 
Robin_Watts tor8: fz_keep_untrimmed_buffer ?00:01.13 
tor8 Robin_Watts: call fz_trim_buffer before/after keeping it where we want to00:04.23 
Robin_Watts tor8: OK.00:04.36 
tor8 Robin_Watts: the question is, where do we want to trim them? I can think of a few spots, but most of the places we use buffers they're just temporary storage for further parsing00:04.52 
  and any automatic trimming there is the wrong thing to do00:05.10 
  since we'll just free the data once we're done with it, no point in reallocing and maybe doing a full memcpy of it00:05.31 
Robin_Watts Trimming when we keep the buffer so we have more than 1 ref seems a reasonable thing to do.00:05.34 
tor8 I'm going to have a go and look through where we load buffers. I suspect it's mostly going to be for: font data, image data (compressed/uncompressed) and the pdf stream editing/creation stuff00:06.27 
  but for now I've ripped out the automatic trimming00:06.45 
Robin_Watts tor8: In the cases where we get the buffer size correct (i.e. we know it in advance), the trimming is a NOP.00:07.04 
tor8 I viewed my first .epub with mupdf 30 minutes ago :)00:07.11 
Robin_Watts It's only in the cases where we're doubling the cap etc that it matters. And then I suspect it matters.00:07.25 
  Nice.00:07.26 
henrys wow awesome tor8!00:07.32 
tor8 uglyyy! times roman without margins. but it's a step :)00:07.36 
Robin_Watts At the very least we should git blame to see if the commit message shows something.00:07.38 
tor8 it just says "trim the buffers", but there may be more than one commit00:08.16 
Robin_Watts yeah, not my finest commit message.00:08.41 
henrys wow urw owes us some fonts they are really late. sending email.00:47.59 
tor8 Robin_Watts: rats. do you know if we have any .gif code lying around?01:56.44 
Robin_Watts tor8, paulgardiner: Updated xref handling on robin/master (5 back from the head). Cluster tests pass.11:46.28 
paulgardiner I'm being dumb. I thought moving to this scheme solved the moving pointers problem without any special handling... maybe this is a different moving pointer problem11:52.18 
Knaldgas Is it reasonable that gs is using more than 2 hours on an i3-processor to convert a 10MB eps file to png?12:47.20 
chrisl Depends on what the eps contains, and what configuration it's running12:49.38 
Knaldgas The eps-file is generated from Octave. When Octave is set to output png, gs is hogging up the CPU as well, and never finishes. Outputting eps-files is reasonably fast, but when converting from eps to png with ImageMagick, gs is hogging the CPU again12:49.53 
  Importing the eps-file into GIMP is fast though...12:50.07 
  I don't know which configuration is used, as gs is called from Octave and/or convert12:50.45 
hii Hii all12:50.59 
chrisl I can't remember if gimp interprets the Postscript or just uses a preview12:51.01 
  Knaldgas: IM has a debug setting so you can see the command line options being passed to gs12:52.14 
  Knaldgas: also, what version of Ghostscript are you using?12:53.04 
Knaldgas chrisl: ghostscript Debian version 9.06~dfsg-1.1+b1, so I guess that means 9.0612:54.12 
  Yep, 9.06 (2012-08-08)12:55.25 
chrisl Knaldgas: IIRC, IM always uses anti-aliasing, and there was a bug in the anti-aliasing code that could cause gs to run indefinitely (can't remember if it was infinite, or just very, very long....)12:55.41 
Knaldgas And I don't know if IM would ever finish - I gave up after 2 hours...12:56.08 
  Would you recommend to install 9.15 instead of 9.06?12:56.31 
  9.15rc112:56.41 
chrisl 9.15 was released back in Sept12:57.16 
  And obviously we would recommend installing it - why else would we bother releasing newer versions.......12:57.41 
Knaldgas :-)12:57.48 
  Well, I've also been told to not install new versions just because there is a new version, only upgrade if you have issues...12:58.23 
  I guess I have issues, so...12:58.30 
chrisl But I would also try cutting IM out of the equation and calling gs directly, that way you can tweak the command line and possibly narrow down the issue12:58.42 
Knaldgas Is that something you have time to guide me through?12:58.57 
  I have an eps-file and are ready to execute :)12:59.47 
chrisl Well, I can give you pointers, but I don't know exactly how IM calls gs, so can't guarantee equivalent output12:59.47 
  So, you want a png out.....13:00.11 
Knaldgas I was thinking about calling gs directly, and see what we could find out13:00.25 
chrisl gs writes pngs13:00.39 
  amongst lots of other things13:00.49 
Knaldgas Well, actually I would like to end up with a nice latex-generated pdf, but even evince chokes on the eps generated, so I'm a bit lost now13:01.18 
chrisl Evince uses gs to view eps/ps files13:01.41 
Knaldgas I do expect latex will choke equally 13:01.42 
  And latex to pdf?13:01.54 
chrisl I *think* latex writes Postscript and uses gs to convert to PDF, not sure, though13:02.26 
  So, you've got an EPS - what do you want to do with?13:02.58 
Knaldgas Basically I want to be able to use it :-) - We could start with see how gs can use it, let's convert it to png for startes13:03.42 
chrisl Okay, so the command line would be something like: gs -sDEVICE=png16m -r72 -o <output file name>%03d.png <input file name>.eps13:05.19 
  Actually, for eps files, you don't need the "%03d" on the output file name.... it tells gs to append numbers to the name for multipage files13:06.18 
  I wouldn't expect that to take very long to complete.....13:07.52 
Knaldgas stand by13:08.45 
  That completed successfully quite fast13:10.28 
  chrisl: Tried to install 9.15rc1 - No change13:50.22 
Robin_Watts Knaldgas: Can you share the .eps file ?13:51.07 
Knaldgas Sure13:51.16 
  Robin_Watts: http://knaldgas.dk/~pdj/8Hz_Test_motion.eps13:55.51 
kens Big file....13:56.08 
  20MB, bet it has a load of image data13:56.23 
  Surprisingly it seems not13:56.51 
  But it seems to be mainly compolsed of billions of tiny lines13:57.09 
chrisl Stupidly long paths13:57.14 
kens Creating inordinately massive paths13:57.18 
Knaldgas It is the output from octave plotting 2 data sets of each ~500.000 datapoints13:57.28 
Robin_Watts if it uses stroking, that'll be why it's slow.13:58.00 
Knaldgas I have no idea what it does - I just wanted some plots :)13:58.23 
Robin_Watts So... use: gs -sDEVICE=png16m -r300 -dDownScaleFactor=3 -o out.png input.eps13:58.36 
kens It seems to be creating monstrous paths from many tiny lines, which will indeed be slow13:58.37 
Robin_Watts That'll give you antialiasing, but fast.13:58.48 
  Basically specify 3 times the resolution you want.13:59.08 
Knaldgas Robin_Watts: Yes, that seems to work...13:59.34 
Robin_Watts Knaldgas: So, you're sorted then ?13:59.51 
Knaldgas At least I can get on with my project, but I guess there is some thinking to do for the future...14:00.23 
  Thanks all!14:00.34 
Robin_Watts Knaldgas: fab.14:00.40 
  So, who was cruising and who's fooding?14:03.33 
kens Foodx2 here please14:03.49 
Robin_Watts I'm figuring that Michael and co will be cruising.14:03.54 
chrisl I'll be fooding....14:04.11 
Robin_Watts I suspect 15 for food.14:04.26 
jogux robin_watts: food * 214:04.28 
Robin_Watts I'm going to try for Nandos and then Zizzis.14:04.47 
kens ok14:04.53 
Robin_Watts Nandos booked for 15 people at 6:3014:06.54 
  I can adjust numbers, but I didn't want to leave it any longer.14:07.04 
kens Excellent, thanks Robin_Watts14:07.07 
Robin_Watts np.14:07.11 
jogux raobin: thanks!14:09.10 
henrys jogux, pedro_mac : I imagine someone has told you but the meeting is best with a laptop we often refer to bug reports and other stuff on the net.14:48.24 
jogux I got that impression when I suggest banning laptops during my presentation ;)14:48.48 
Robin_Watts tries to imagine Jogu in a meeting without a laptop... fails.14:48.58 
henrys I think the meeting would be much shorter - if folks couldn't play solitaire or something I imagine things would move right along ;-)14:50.14 
jogux :-)14:52.17 
Robin_Watts I think people playing solitaire stops them butting in on areas that don't concern them.14:53.00 
  never forget that it's a fundamental characteristic of a software engineer that they always know best, about everything :)14:53.19 
henrys yea probably best to have them.14:56.45 
  not sure about michael. the trip doesn't say if kids can go. I sent email and am waiting for a response but it sounds like adding 4 shouldn't be a problem.14:59.01 
Robin_Watts henrys: I'm sure it would say "no under 18s" if it was a problem.15:02.50 
henrys Robin_Watts: I would think it's "legal" but michael wanted to find out if it was a booze cruize or something...15:03.53 
  I don't know booze really settles them down.. but whatever15:05.55 
Robin_Watts henrys: depends what variety of drunk they are. Happy, Morose, Violent...15:07.22 
pedro_mac henry: I rarely go anywhere without laptop these days. Not necessarily a good thing…15:07.43 
jogux henrys: I'd take a vague guess that the prices at the bar will prevent excessive drinking :)15:08.31 
henrys I would think yes15:08.53 
jogux although really I think that about London in general. I'm getting upset that prices up here hitting the £4/pint mark.15:09.52 
tor8 henrys: nothing about epub in the agenda?15:10.15 
henrys tor8: that was the diffs it's on the original from last time.15:10.41 
tor8 right.15:10.52 
jogux btw: can I actually get a mac build of mupdf with a proper gui now?15:11.30 
  I keep on hearing rumours / things mentioned in passing :)15:11.42 
  henrys: "consolidate mupdf and sot under one Artifex account" is done, should that be removed?15:12.30 
henrys jogux: I thought we just had an iOS build and you'd use X11 for mac.15:12.54 
jogux I thought there was a qt 'thing' now?15:13.07 
henrys where X11 != proper15:13.10 
  oh right gsview15:13.28 
jogux maybe I asked the wrong question :-)15:13.54 
henrys jogux: yes I thought fred had it working.15:14.01 
  jogux:not sure if he's got it checked in properly though.15:14.38 
  jogux:account got it thanks15:16.21 
jogux wonders if it'll be on the appstore15:17.01 
  henrys: actually. no, I suck - they're still separate on Android. It's done for iOS though :-(15:17.15 
henrys jogux no problem fixed15:20.04 
  I thought I could close off the font comparison as well. Are we goog with font jogux , Robin_Watts ?15:21.29 
  s/font/fonts15:21.38 
Robin_Watts henrys: The fonts that we have, now match.15:21.59 
  I wouldn't swear that we have matches for all the fonts supplied with office though.15:22.16 
henrys Robin_Watts: so I'll leave that on, that is certainly something we can have a consultant do.15:23.21 
Robin_Watts If we can identify what fonts we *don't* have, we can possibly grab the metrics from those fonts (metrics not being protected), and try and rig something up so that we use existing fonts with forced metrics.15:24.24 
  Or we could look into getting clones of those fonts.15:24.35 
henrys Robin_Watts: I do wonder if Office has CJK, I assume we don't have good coverage there, right?15:28.10 
Robin_Watts henrys: We only have CJK in droid sans fallback, IIRC.15:29.09 
  These days, all the standard fonts like Arial have CJK glyphs too. Our clones do not.15:29.27 
henrys kens: do you thiink those guys look commercial enough to bother scott: http://bugs.ghostscript.com/show_bug.cgi?id=695699?15:29.58 
kens Well, they are a bank......15:30.15 
  I htink you've made it clear we won't fix it for them (free user, no support), and you should simply say that its up to them to alter the code in reply to their latest question. You could poitn them at Scott for a support licence though15:31.23 
henrys yeah I'm going to give them to scott. It really would take me an hour to add those two characters just by grabbing pieces of others but ....15:32.44 
kens IIRC they are part of raiffeisenbank which is a pretty big organisation, they can afford a support licence I'd say :-)15:32.46 
Robin_Watts Yeah, I'd be tempted to say explicitly "This is as far as time permits me to go at the moment for a free user. If you want me to schedule this into my work, you should consider a support contract."15:33.39 
henrys also the afpl font license is more strict than GPL15:34.12 
Robin_Watts paulgardiner: Annotations still work.15:34.14 
  Therefore I'm going to push the commit.15:34.33 
paulgardiner Wonderous. LGTM then15:34.36 
henrys my son is now in the navy so I inherited his gaming keyboard. Corsair I love it.15:36.55 
Robin_Watts henrys: For gaming or for typing?15:37.17 
henrys typing, it's got his cool tactile response.15:37.49 
  s/his/this15:38.51 
Robin_Watts but still fundamentally its a vanilla qwerty. I'm sticking with my aged Microsoft Natural Keyboard.15:39.31 
kens I broke mine years ago :-(15:39.51 
jogux I was amazed to find out recently they're still making the same MS natural keyboard I bought 10 or so years ago.15:40.49 
kens They are ? WHere can you get one ?15:41.01 
henrys ? http://www.microsoft.com/hardware/en-us/p/natural-ergonomic-keyboard-400015:42.00 
jogux https://www.amazon.co.uk/Microsoft-Natural-Keyboard-Standard-Packaging/dp/B000B9RYG8/ref=as_sl_pc_ss_til?tag=h9l-21&linkCode=w01&linkId=C2MODVADYCYRYSM6&creativeASIN=B000B9RYG815:42.09 
henrys tor8: no luck with the voyage, sorry15:42.24 
kens Hmm, not the same as my old one, but it maight be good enough15:42.27 
jogux though amazon seemed to have stopped selling temporarily. I paid £25 straight from amazon.15:42.28 
  the one I got is definitely a proper uk one with £ etc.15:43.06 
kens Amazon says there was a cusotmer problem, which is why they aren't shipping it15:43.09 
  jogux my old one was a 'cream' colour and much simpler15:43.31 
  Of course, it was also a PS/2 style keyboard connector :-)15:43.55 
jogux ah, yes, I think we have one of those in the office too :)15:44.00 
  hehe15:44.01 
  I've even got it working with the mac with everything correctly mapped15:44.24 
  (well, not all the extra 'my favourites' crap)15:44.41 
kens Not bothered by all that stuff anyway....15:44.53 
jogux ditto15:45.05 
  though the pause/play button does work and is handy :)15:45.15 
kens I could probably use that, yes15:45.38 
Robin_Watts Mine is at least 1 generation before that.15:50.24 
henrys kens: the bank folks just sent an email to scott, did you send them email?15:50.56 
kens Not me, no15:51.55 
  Robin_Watts : I bought the original MS natural keyboard, because I loved the Mac one. When that wore out I bought a newer one, and then wore that out too......15:53.05 
Diemex How can I setup multithreaded rendering on android? If I'm displaying 3 pages at a time I would like to have 3 rendering threads render 3 pages at once.15:54.02 
Robin_Watts ok, I'm going back to SOT now, unless anyone wants to argue otherwise.15:54.11 
  Diemex: MuPDF, presumably?15:54.18 
Diemex My app that uses mupdf15:54.32 
Robin_Watts Diemex: Have you read docs/overview.txt ?15:55.01 
  There is a section there "multi-threading" that you should read.15:55.20 
Diemex What is the context? The cookie I pass in when calling the MupdfCore constructor?15:58.08 
Robin_Watts No, the context is a fundamental part of the C API to MuPDF.15:58.38 
  You cannot do multi-threading with the existing java classes.15:58.51 
  You will need to make changes at the JNI level.15:59.11 
Diemex I thought quick and dumb way just create 3 MupdfCores and hope for the best :D15:59.47 
Robin_Watts Diemex. Not a chance.16:00.51 
  You have a single file that you want opened - that means a single MuPDFCore.16:01.18 
Diemex Robin_Watts: Could I export the display lists into android graphics objects and do the multithreading myself?16:03.37 
Robin_Watts Diemex: You could try, but that sounds like a lot of work, and you'd run up against things that the android graphics core doesn't cope with.16:04.31 
  The correct way to work is to understand the MuPDFCore class/JNI interface and to extend it to do the proper multithreaded calls.16:05.18 
  Only 1 thread can ever be accessing the file at a time, so you'd need to interpret the pages to MuPDF display lists one at a time.16:06.29 
  But you could then actually render them on 3 separate threads.16:06.42 
Diemex How much memory do these display lists take up roughly?16:07.41 
Robin_Watts how long is a piece of string?16:09.19 
Diemex Robin_Watts: 42 centimeter. So I get that I can only get the displaylists synchroniously, but render them asynchroniously. How do I create my render threads? Just multiple rendering devices or actually 3 threads?16:12.16 
Robin_Watts 3 threads, a context per thread, a device per thread.16:14.36 
Diemex Robin_Watts: In the example multi-threaded.c line 142. Where does FZ_LOCK_MAX come from?16:29.29 
Robin_Watts include/mupdf/fitz/context.h16:35.02 
mvrhel_laptop henrys Robin_Watts: so after talking with Stephanie I am thinking that dinner might be better for us Friday 16:35.25 
Robin_Watts mvrhel_laptop: OK. I'll call nandos and try and up the numbers to 19.16:35.41 
mvrhel_laptop Robin_Watts: ok thanks16:36.07 
Robin_Watts done.16:37.02 
mvrhel_laptop that was fast16:37.09 
Robin_Watts By The Power Of Google! :)16:37.34 
mvrhel_laptop oh a south african restaurant. sounds good.16:37.46 
jogux I've never actually been to a nandos where you can book tables :)16:38.09 
  mvrhel_laptop: it's probably not 100% technically correct to call it a restaurant...16:38.41 
mvrhel_laptop uhoh16:38.51 
Robin_Watts The only nandos I've been to have been restaurants.16:39.09 
jogux the ones in Glasgow have some weird system where you order your food at the till and pay for it upfront (unless I'm getting confused)16:42.04 
Robin_Watts jogux: That may be the same. The Nandos I went to in DC did that.16:42.49 
  And I've been to other restaurants where that happens too.16:43.03 
henrys Robin_Watts: speaking on behalf of miles ... artifex has no problem paying for a better place. this looks like kentucky fried chicken or something. But if you think it's good ...16:53.27 
Robin_Watts henrys: I would not have put Nandos in the same category as KFC.16:54.05 
henrys Robin_Watts: I just don't want you to feel we have to choose an inexpensive place.16:54.36 
Robin_Watts It's not a posh restaurant, but I wouldn't have thought of it as fast food.16:54.39 
chrisl I don't remember Nandos selling food in a bucket......16:54.46 
Robin_Watts henrys: sure.16:54.58 
jogux the food is good16:55.04 
henrys okay add us in we ain't cruisin' sabrina wants toi hang out with the gang.16:55.51 
  Robin_Watts: ^^^16:57.48 
Robin_Watts ok.16:58.09 
  Ok. Booking updated to 21 people :)16:59.12 
henrys any plans for the day, the meeting usually ends early? jogux and pedro_mac won't attend the business meeting.17:00.17 
  the girls could take them shopping17:00.36 
pedro_mac doesn’t do shopping ;)17:00.48 
jogux :-)17:00.51 
  when are the bits we're attending?17:00.58 
henrys jogux: afternoon of the technical meeting thursday? Your welcome to attend the entire thing but you said you didn't want to do mupdf or gs.17:02.10 
  s/your/you're17:03.26 
jogux henrys: sure. the penny hadn't previously quite dropped that I'd be free all Friday :)17:04.17 
henrys jogux: I just asked miles and that's what he said, but it does seem rather wasteful to have you there and not spend more time talking about SOT. Maybe I can book a little of Friday morning for you.17:06.05 
  jogux: but if you prefer friday free tell me now.17:07.01 
jogux henry: I'm very happy to contribute as much as I can17:07.22 
henrys Off the top of my head we could have a brainstorming session about potential markets for SOT friday morning. Other ideas welcome.17:09.07 
Robin_Watts jogux: It is possible that the technical meeting will run over 2 days - it has in the past.17:10.39 
henrys indeed "open source" could go 2 days.17:11.02 
Robin_Watts it seems to me that open source is a good idea if 1) the thing that miles is doing comes to fruition, and 2) we can sort the patent licenses.17:12.02 
  but without those 2 it's a non-starter.17:12.14 
jogux henrys: yeah, sounds like a good idea. maybe some talk about competitors too? (or does that fit into the techy session?)17:13.56 
henrys jogux, pedro_mac : let's plan on you guys coming friday morning, I'll sort with Miles. The only thing that he wants private are hard revenue numbers and some customers he is talking with, we can reorganize that so it's at the end.17:15.09 
jogux henrys: sure, that's understandable.17:15.31 
henrys jogux: yes I had btc on our agenda certainly that could be moved over.17:15.59 
  and we could talk about competitors17:16.15 
  Robin_Watts: you don't know when Miles' flight is leaving? I might want to organize this differently, do Miles business stuff first.17:26.17 
Robin_Watts henrys: Miles has a 3pm flight.17:26.30 
  Miles business stuff only takes 30 mins or so, right?17:26.46 
henrys I'll just talk to him.17:26.51 
  thanks17:26.53 
pedro_mac henrys: we’re around anyway so I’m happy to go with the flow and cover anything we think is useful - if Miles is off in the afternoon then I guess it makes sense to do the business stuff first17:31.27 
henrys pedro_mac: I'd like him to hear what you guys have to say about competitors and such though. So I'll talk to him.17:32.11 
pedro_mac nods - sounds worthwhile17:32.36 
Diemex Can I disable messages being written to logcat on android? They are a bit spammy17:44.21 
  *messages produced by mupdf17:47.12 
Robin_Watts Diemex: Only by editing mupdf.c, I think.17:47.25 
Diemex All methods seem to be using LOGE() for logs, regardless of loglevel. It seems like errors and debug messages use the same loglevel17:48.40 
  Oh no I'm wrong. They use the loglevel, I just have to filter the info messages.17:52.16 
  Some use LOGE that should be using LOGI like: LOGE("Goto page %d...", page);17:54.21 
Robin_Watts Diemex: Fix it, and let us have a patch ?17:56.14 
Diemex Robin_Watts: Should I make use of loglevel debug?18:00.29 
Robin_Watts Do what you think is "best practise"18:01.03 
Diemex Robin_Watts: I'm not sure if it makes any sense. I think I'll just change all messages like "Done" "going to page x" to info and leave actual errors loge. 18:02.23 
Robin_Watts ok.18:02.51 
Diemex Robin_Watts: How do I send you the patch?18:09.01 
Robin_Watts mail to robin.watts at artifex.com18:09.47 
Diemex Robin_Watts: Send the patch. Hope you can open the attachment. Apparently google thinks email attachments are a thing of the past and puts them into google drive.18:18.19 
Robin_Watts Diemex: Got it, ta.18:24.51 
  Diemex: Committed. Thank you for your contribution to mupdf :)18:45.15 
Diemex Robin_Watts: Cool :). You guys are from america so you are currently at work?18:50.32 
Robin_Watts We're from Europe and America.18:50.47 
  I'm in the UK.18:50.50 
henrys jogux: miles has okay'd what I have in the workflowy (first section)19:24.39 
Diemex Robin_Watts: I'm still staring at the source code and don't really know how I have to implement the multithreading :D. I know what needs to be done, just not how.19:54.58 
Robin_Watts Diemex: It's hard.20:31.36 
 Forward 1 day (to 2014/11/27)>>> 
ghostscript.com
Search: