| <<<Back 1 day (to 2014/02/19) | 2014/02/20 |
meta4 | any mupdf developers here? | 02:34.35 |
| trying to build mupdf on netbsd; keeps dying on ../source/pdf/pdf-fontfile.c | 02:36.44 |
| okay... maybe I'll file a bug report | 03:09.03 |
Guest52012 | Hi, anyone in here associated with sales@artifex.com ie. commercial licensing of MuPDF? | 08:53.04 |
chrisl | OKay, so wait around why don't you..... | 09:05.19 |
sebras | chrisl: but this person waited around for about 5 minutes! | 09:24.44 |
chrisl | sebras: people don't seem to realise quite how IRC works these days :-( | 09:27.14 |
sebras | chrisl: no wonder. | 09:32.15 |
| boll: you were the one asking about commerical licensing for MuPDF, right? | 10:12.54 |
boll | sebras: yes! | 10:18.47 |
| sorry about the nick change, my client was acting up with its Nickserv integration | 10:19.07 |
sebras | boll: what problems are you having with contacting sales? | 10:19.29 |
boll | sebras: We've been trying to get a quote for commercial licensing of the library, but have so far struck out | 10:19.36 |
| We received, what appears to be, an automated email which asked for additional information. | 10:19.58 |
| We provided that, but never heard back. | 10:20.04 |
| sebras: The guys name is Scott Sackett | 10:22.37 |
Robin_Watts | boll: The email won't be automated. | 10:24.03 |
boll | Robin_Watts: Ok, it just looked a little boilerplate. | 10:24.20 |
Robin_Watts | It'll be a genuine email, but I appreciate that it is a huge list of questions, many of which won't apply to you. | 10:24.31 |
| Just answer it as best you can. | 10:24.39 |
boll | Robin_Watts: We did that. | 10:24.48 |
| And followed up some days later. | 10:25.03 |
Robin_Watts | We have had a couple of cases of emails to Scott going missing, but we haven't managed to figure out why. | 10:25.04 |
| Can you resend the email to both scott and to me (robin.watts@....) ? I'll make sure it gets to him. | 10:25.27 |
boll | Robin_Watts: Absolutely. Is there any way that you could give me a ball park figure though, 'cause we are a little pressed for time now. | 10:26.15 |
Robin_Watts | no, sorry, I don't have such a figure to give. | 10:26.40 |
boll | Ok. | 10:26.57 |
| I'll resend the e-mail right away. | 10:27.06 |
| Robin_Watts: Ok, it's sent. Will you be looking at it today? | 10:32.00 |
Robin_Watts | I will look at it immediately. I will try to make sure Scott sees it today too. | 10:32.20 |
| If you want, check back here in 8 hours or so. | 10:32.30 |
| I'm in the UK and Scott is in Texas, so we have to wait for him t o wake up :) | 10:34.40 |
| boll: I can confirm that I have had your mail. | 10:43.24 |
| kens, chrisl, tor8: I need to check some font stuff with you guys, but I've got a physio appointment later. Are you going to be around a bit later? | 10:44.53 |
| s/appointment later/appointment soon/ | 10:45.17 |
chrisl | Robin_Watts: I'll be our for ~1/2 hour shortly, then I should be here until ~5pm | 10:47.13 |
| s/our/out | 10:47.18 |
| Oh, actually, I should probably do a short session on the bike before lunch time, too. My ankle is really tight, need to loosen it up..... | 10:50.18 |
tor8 | Robin_Watts: sure. | 10:50.37 |
Robin_Watts | ok, back from physio | 12:41.09 |
| So, the PDF Export code in SmartOffice is doing something odd. | 12:42.00 |
| Short version: It's outputting certain lines of text using 2 byte encodings. And I think I'm right in saying that 2 byte encodings don't trigger the wordspace stuff, hence justification isn't working on those lines. | 12:43.17 |
| I've spoken to Alex (the original author) about it, and he claims to be as confused by the whole encoding thing as I am. | 12:43.59 |
| So I'm hoping I can get some clarity by talking to you people who are more experienced in fonty things than me. | 12:44.30 |
| chrisl, tor8, kens, paulgardiner: ^ | 12:45.05 |
| So, the picsel stuff holds text internally as "Unicode" strings (where Unicode = uint16_t) | 12:45.48 |
| I suspect that the contents of these strings are not really unicode though, but are actually "in whatever encoding the font is". | 12:46.34 |
chrisl | Robin_Watts: that's right, the wordspacing is only triggered by the single byte code 0x20 | 12:46.35 |
paulgardiner | It was changed from being always Unicode to allowing other encodings, but I think only the PDF agent used that feature | 12:46.50 |
Robin_Watts | paulgardiner: Oh, so I can assume that the strings are genuinely unicode? That might be helpful. | 12:47.18 |
paulgardiner | I mean EDR could contain strings in other encodings. | 12:47.19 |
chrisl | Robin_Watts: you could change it to use the TJ operator, so you could then explicitly apply the extra width | 12:47.46 |
paulgardiner | I think that was the intension for all but the PDF agent | 12:48.06 |
Robin_Watts | chrisl: I tried that and ran into problems. I'll try and explain why. | 12:48.09 |
| So, the PDFExport code works by looking at the displaylist. | 12:48.31 |
| For each displaylist text object, it looks at the chars in the string to see if any are >= 256. | 12:49.08 |
| If not, it outputs a normal truetype font and puts the text out. The justification works fine here. | 12:49.31 |
| If any are > 256 then it outputs a CIDFont, maps the unicode to glyphs ids, and outputs strings in 2 byte encodings where the contents of the strings are gids. | 12:50.13 |
chrisl | Okay, so your other option is to use a CMap/CIDFont that encodes the space glyph to a single byte code | 12:50.33 |
Robin_Watts | This means that space typically maps to (say) 1, rather than 32, and I can't easily spot that it was originally a space to output the extra word spacing. | 12:51.19 |
chrisl | Well, you're stuffed then | 12:51.47 |
Robin_Watts | chrisl: yeah. Let's just for a moment assume that my understanding of all this isn't that good :) | 12:52.22 |
paulgardiner | but the PDFExport code is something we may be able to change prsumably | 12:52.47 |
Robin_Watts | Is it really the case that PDF files can't access more than 256 chars in a truetype font? | 12:52.47 |
| paulgardiner: Yes. | 12:52.54 |
| This is in the pretty-much-sane section of the code :) | 12:53.13 |
chrisl | Robin_Watts: it's a single byte font, how would you access more than 256 glyphs? | 12:53.15 |
Robin_Watts | So truetype fonts can never have more than 256 glyphs in? | 12:53.36 |
| I don't believe that's true. | 12:53.42 |
chrisl | Ah, that's not the same thing | 12:53.45 |
| It can have as many glyphs as you like, but you can only access a subset of 256 | 12:54.04 |
Robin_Watts | So PDF has a limitation in that it can only access 256 chars from a truetype font ? | 12:54.27 |
chrisl | Single byte encodings impose that limit | 12:54.43 |
Robin_Watts | So, could I use a truetype font with a double byte encoding ? | 12:55.04 |
chrisl | That's a CIDFont, in PDF terms | 12:55.17 |
Robin_Watts | (or, perhaps better, could I use say UTF8 ?) | 12:55.28 |
chrisl | PDF doesn't understand Unicode | 12:55.44 |
Robin_Watts | ok, ignore that. | 12:55.53 |
chrisl | You have "fonts" which are single byte, and "CIDFonts" which are multi-byte | 12:56.21 |
Robin_Watts | Right. So it sounds like what the code is doing is not completely insane? | 12:56.44 |
| brb | 12:56.54 |
paulgardiner | I thought you could use any encoding you liked for CID fonts so long as you provide a cmap, but I'd imagine I'm wrong. It was a long time ago. | 12:57.56 |
chrisl | paulgardiner: you have to match the glyph ordering in the CIDFont to the ordering expected by the CMap, but you can certainly use custom CMaps | 12:58.38 |
paulgardiner | Oh okay. I guess, in any case, adding cmap generation to PDFExport is just one more unnecessary complication | 12:59.29 |
chrisl | Well, using a custom CMap wouldn't be a bad idea, *but* according to Robin_Watts he doesn't have the original encoding, so the information about which code is space is gone. | 13:00.16 |
tor8 | Robin_Watts: so, a TTF has cmaps which are byte-encoding agnostic. they just take a code point and convert it to a glyph id. in PDF there are simple fonts, and cid fonts. | 13:00.39 |
paulgardiner | I think pre-pdfexport the info is known | 13:00.40 |
tor8 | simple fonts are *always* one-byte | 13:00.48 |
| cid fonts can have multi-byte encodings that are decoded via the CMap (and then a host of other mechanisms) to get the glyph id directly | 13:01.19 |
| if you don't know which character in the input data is the space, then you're hosed... | 13:01.49 |
chrisl | To be clear TTF cmap tables have nothing to do with PDF/PS CMaps...... | 13:01.52 |
tor8 | chrisl: yes, the convention is to spell TTF cmaps with lower case, and PDF/PS with CMaps uppercase | 13:02.15 |
chrisl | tor8: yeh, but capitalisation is so variable on IRC, I thought it worth the typing | 13:02.42 |
tor8 | Robin_Watts: now, there are (slow) ways to get around it. you can look up the space character in the TTF to find out which glyph id it is and compare glyph ids | 13:02.53 |
| chrisl: yes, you're absolutely right. | 13:03.02 |
| Robin_Watts: what is the source of the TTF files you are using? | 13:03.22 |
| are they files you have from random places, or a known set, and are you embedding them in the output PDF? | 13:03.37 |
Robin_Watts | tor8: Any font that is loaded into the picsel code. | 13:03.50 |
tor8 | Robin_Watts: well, unless those fonts are stripped subset fonts, I think you should be able to ask freetype to get you the glyph id of the space character | 13:04.12 |
Robin_Watts | either from it's inbuilt font lib, or a font lib on the device, or an embedded one. | 13:04.19 |
tor8 | and then if all you have are glyph IDs you can still see which one is a space | 13:04.36 |
chrisl | *If* the output char code for space can be determined by passing 0x20 through the TTF cmap table, the I reckon using TJ would be easiest solution. | 13:04.44 |
Robin_Watts | tor8: Right. Presumably, when we do the font output, I can lookup the space char once and store that somewhere. | 13:04.45 |
| OK, this has all been very useful guys. | 13:05.00 |
tor8 | now, when outputting a CID font, if you are embedding the TTF I expect you use a two-byte Identity-H encoding? | 13:05.02 |
Robin_Watts | I didn't know if the code there was completely bonkers or not, and it sounds like it's pretty sane actually. | 13:05.20 |
| tor8: I believe so, yes. | 13:05.24 |
tor8 | Robin_Watts: where is this in the epage source tree, and do you have a sample output file I can look at? | 13:05.45 |
Robin_Watts | oh, but hold on... does this mean the PDFExported files are unsearchable ? | 13:06.04 |
tor8 | Robin_Watts: it does, unless you also emit a ToUnicode table | 13:06.13 |
| Robin_Watts: if the input string from EDR is in unicode, you can do the following: | 13:06.35 |
Robin_Watts | There is a ToUnicode table. | 13:06.46 |
chrisl | You should get the space code from that | 13:07.02 |
tor8 | emit the bytes in the pdf as UCS-2, use Identity-H and a CIDToGID array to map the unicode values to glyph IDs | 13:07.06 |
| and then an identity ToUnicode CMap | 13:07.14 |
Robin_Watts | That sounds nicer to me, but would involve me writing more code :) | 13:07.50 |
chrisl | I think using TJ to add the wordspace offset is going to be much easier than fiddling around with CMaps, cmaps and encodings | 13:07.57 |
Robin_Watts | what chrisl said./ | 13:08.06 |
| tor8: If you are interested in looking... the code is in libraries/pdf-export/ | 13:08.48 |
tor8 | chrisl: emit each word as a string, and manually just put in the space using a TJ array? yeah, that's more reliable than outputting space characters and fiddling with the space width text state | 13:08.58 |
chrisl | tor8: exactly | 13:09.11 |
Robin_Watts | I've already written the code that chrisl suggests. | 13:09.27 |
| It's just I was looking for '32' rather than 'the glyph id for 32'. | 13:09.47 |
| so i will endeavour to find that somewhere. Thanks guys! | 13:10.12 |
chrisl | Robin_Watts: good luck! | 13:10.42 |
| Back to glyph names and UFST..... :-( | 13:11.05 |
| Actually, I think I'd have lunch instead..... | 13:12.54 |
tor8 | Robin_Watts: that bit in PdfExportContents_Internal_Text_write looks odd, where it calls Uconv_fromUnicode on the non-unicode case | 13:16.47 |
| and you can write the else branch as a <ABABABABAB> Tj rather than [<AB><AB><AB>]TJ like he writes (AAAAA) Tj in the true branch | 13:18.13 |
Robin_Watts | tor8: yes, to both of those. | 13:23.21 |
| Is gid 0 ever used in a font? | 13:25.26 |
| I'm guessing no as it's probably used for 'end of string' etc? | 13:25.51 |
tor8 | Robin_Watts: no, it's used for .notdef | 13:25.58 |
Robin_Watts | perfect. thanks. | 13:26.05 |
tor8 | the square box you sometimes get | 13:26.07 |
| I mean, "no, it is used" | 13:26.23 |
| Robin_Watts: ^ | 13:26.53 |
Robin_Watts | oh. | 13:27.36 |
| How about ffff ? | 13:27.39 |
| Is there a 16 bit value that is safe to assume is not used? | 13:27.49 |
| actually, I can use a 32bit value and be safe. | 13:28.00 |
tor8 | Not with any measure of confidence, no. Any number can be used as a valid glyph ID. | 13:28.36 |
| though you're unlikely to ever find one font that has 65535 glyphs in it :) | 13:28.51 |
| I'd use MAX_INT if I were you, there can be more than 16-bit glyph ids as well | 13:29.15 |
Robin_Watts | Hmm. The Picsel font engine has Font_GID = uint16_t | 13:32.15 |
tor8 | Robin_Watts: hm, well, in TTF your assumption is safe. none of the 'cmap' table formats support more than 16-bit glyph indices | 13:35.00 |
| Robin_Watts: and for CFF as well... I guess I should revise my original statement :) | 13:37.37 |
| given that, I would say that FFFF ought to be safe enough to use if you need to pass your out-of-band data in-band | 13:38.17 |
Robin_Watts | I can use a 32bit value, so it's not a problem. | 13:38.33 |
henrys | Robin_Watts: I was hoping to see a response from the director this morning, nothing. | 14:11.43 |
Robin_Watts | director being Lesley ? | 14:16.10 |
henrys | no there is another person - when I contacted Lesley she told me she would send my questions to the "director" and he would respond, you don't know who that is? | 14:19.27 |
chrisl | henrys: it's coming, if you want it quickly I can *probably* finish it today, or I'll have it ready for you on Monday (I'm off tomorrow) | 14:35.18 |
henrys` | chrisl: take your time. | 14:36.54 |
chrisl | henrys`: It's not particularly hard, but I'm trying to get it into "nice" form that we can create repeatedly | 14:37.47 |
henrys` | chrisl:that would be best. If some of your postscript programs would be useful to others can you add them to lib/? | 14:38.56 |
chrisl | henrys`: I can do, yes | 14:39.20 |
Robin_Watts | boll: Scott says he replied to your colleagues email. And to your email. And he even forwarded questions to me that I answered. | 15:02.54 |
boll | Robin_Watts: I just received his reply, so we're all good. It's a little worrying though, that mails are disappearing. | 15:05.56 |
Robin_Watts | indeed. | 15:06.09 |
| if it was mails to us that were disappearing, then I'd be worried it was something on our end. | 15:06.36 |
| henrys, paulgardiner, anyone else with an android device: New GhostDocs.apk up. | 15:39.00 |
| This hopefully has justification working in all cases now. | 15:39.14 |
ray_laptop | Robin_Watts: What version Android should it run on ? | 15:41.26 |
Robin_Watts | ray_laptop: Any, why? | 15:42.30 |
ray_laptop | Robin_Watts: my phone has 4.1.2 | 15:42.35 |
paulgardiner | ray_laptop: >= 2.2 I believe | 15:42.44 |
Robin_Watts | I've been testing it on my phone. Which has 2.3 :) | 15:42.52 |
ray_laptop | OK. | 15:43.01 |
paulgardiner | Data must be cleared after installation, just in case anyone forgets | 15:50.15 |
henrys | Robin_Watts: testing now but I feel like we should get some regression tests in place soon, don't you think? | 15:50.34 |
Robin_Watts | paulgardiner: I was just about to say that. :) | 15:50.41 |
| henrys: Probably, yes. | 15:51.00 |
| My goal for now is to get Michael the best thing I can can by saturday. | 15:51.24 |
| paulgardiner: I just fell into the trap of forgetting to clear the data, and couldn't figure out why there were still problems. | 15:52.12 |
paulgardiner | So easily done | 15:52.34 |
| Working fine here | 15:54.38 |
ray_laptop | so the segfault I am working on is freeing a pattern instance as a result of a restore, and that should be OK because the pattern cache has no tiles, but the instance ref count was 1 at the time and there is (after the restore) still a clist device laying around that points to it :-( | 15:59.51 |
henrys | Robin_Watts: works for me. | 16:00.36 |
ray_laptop | but pattern-clist devices should be cleaned up when deleted from the cache (I thought). | 16:00.48 |
henrys | I suspect miles and michael are going to show smartoffice though. I'm not sure. | 16:01.08 |
chrisl | ray_laptop: I take it a restore takes precendence over the ref count? | 16:01.14 |
ray_laptop | chrisl: I don't suppose you've delved into that in your various memory/GC fixes ? | 16:01.19 |
chrisl | ray_laptop: it doesn't ring any bells, sorry :-( | 16:01.40 |
ray_laptop | chrisl: it effectively does because it just frees any chunks that were allocated since the save | 16:01.53 |
chrisl | henrys: I thought the trip was to demo MuPDF? | 16:01.53 |
ray_laptop | chrisl: np. I thought I'd ask just in case | 16:02.30 |
Robin_Watts | henrys: The "GhostDocs" demo should now render better than SmartOffice. | 16:02.31 |
ray_laptop | Robin_Watts: awesome! | 16:02.55 |
chrisl | ray_laptop: is the clist device being allocated from non-gc memory? | 16:03.24 |
Robin_Watts | The PDFExport should now export everything that the SmartOffice can display (at least, I don't know of anything that I'm still missing) | 16:03.25 |
henrys | Robin_Watts: it doesn't write, it's not a finished app in a store etc. | 16:03.34 |
Robin_Watts | and the doc2pdf exe that it uses contains newer fonts than SmartOffice does. | 16:03.52 |
| hence the layout should be better. | 16:03.59 |
henrys | Robin_Watts: talk to michael I've been in too many battles lately. | 16:04.10 |
Robin_Watts | Ideally, I would build Michael a new version of smart office with those new fonts in, and he'd have both things at his disposal. | 16:04.28 |
| but building a new version of smart office is tricky. | 16:05.01 |
| It requires me to figure out how to build, and to set up the appropriate tools on this machine. | 16:05.25 |
chrisl | ray_laptop: I wonder if the pattern should have a finalize method to ensure cleanup? | 16:05.35 |
Robin_Watts | I can't promise to have done that by saturday. | 16:05.43 |
| I was labouring under the idea that the purpose of the demo was twofold. | 16:06.13 |
henrys | Robin_Watts: I don't think it a big deal we just say we have layout fixes in the new code ... I doubt it comes up. | 16:06.13 |
| Robin_Watts: well I think if somebody does say hey this is wrong - then Michael can pull up ghostdocs and say yes we fixed this but it isn't yet in the app. Right? | 16:07.14 |
Robin_Watts | The primary thing as far as I was concerned when all this kicked off was to show our "MuPDF+Office" product. | 16:08.17 |
| Because they are going to visit printer companies, and the prospective customers want to be able to add printing of documents to their offerings. | 16:08.54 |
| The secondary thing was to say "and we have this app that can load and edit etc". | 16:09.13 |
| Now, the priorities have shifted a bit since then possibly, but fundamentally, AIUI, they are still going to be talking to printer people, not app people. | 16:09.46 |
| How Michael wants to handle the demo is entirely up to him. | 16:10.51 |
henrys | as of the last meeting we agreed to continue the mupdf+office project and smart office would have a life of it's own possibly using outside engineering resources. If I were doing the demo "writing" would trumph the layout changes, especially since I can point to your work if it came up. | 16:15.18 |
Robin_Watts | henrys: I think it depends on the customer you are pitching to. | 16:15.55 |
| If you are talking to someone who wants to put doc support into a printer or a projector why would they care about editing? | 16:16.22 |
| You walk up to the printer, plug your USB key in, pick a file off it and print it. | 16:16.42 |
henrys | that isn't the target audience in Miles' vision | 16:16.47 |
Robin_Watts | Right, but you tailor your pitch to the customer you are in the room with. | 16:17.18 |
henrys | Robin_Watts: yes and you want to change the date... | 16:17.19 |
Robin_Watts | And how do you manage that with the UI on a printer? :) | 16:17.36 |
| For people that want to be sold an app, then you demo SO. | 16:17.58 |
henrys | I said that is not the target audience | 16:18.06 |
chrisl | Have the meetings been rearranged to see people more in tune with the apps market, then? | 16:19.22 |
henrys | I'm not going to change my recommendation, I've thought through it as much as I think it's worth considering. Of course, you can talk to Miles or Michael, I assumed you would have discussed this on your skype call with him. | 16:19.58 |
Robin_Watts | henrys: Sure, I'm not looking for a fight. | 16:20.21 |
| I've been working to get Michael the best versions of stuff possible for him to demo. How he does the demo is up to him. | 16:20.55 |
henrys | chrisl: I'm not sure. It wouldn't matter to me. I'd want to write and have a polished app I can point to in the store for anyone. But that's just my view of it. If I show them that they'll assume we can do the rest but the other way isn't so clear. | 16:22.32 |
chrisl | henrys: it just seems odd demoing a different product to one we're actually trying to sell them...... | 16:23.22 |
paulgardiner | Not looking for a fight either, but now wondering why we are keeping the mupdf+office project going if writing is so central to our aims. I think writing will be a long way off on that path, although I'd guess we'd get there eventually. | 16:23.32 |
chrisl | At the last staff meeting viewing/printing was the big motivator, I'm not clear how/why that changed...... | 16:24.44 |
Robin_Watts | chrisl: Indeed. | 16:25.01 |
henrys | chrisl: We are willing to sell either product, what do you mean? | 16:25.12 |
chrisl | henrys: I mean exactly what I said: at the last staff meeting, editing and conversion was barely mentioned, and we needed a solution to view and print Office documents. Now that's apparently changed. | 16:26.27 |
paulgardiner | I guess the availability of the entire app is what has caused that change of focus. | 16:26.56 |
henrys | paulgardiner: because we have no engineering resources to maintain smart office, you guys don't want to work on it, and I understand that completely. If we can't get people to work on smart office (alex, bipartate) then it just dies like Robin_Watts said... | 16:28.08 |
paulgardiner | henrys: I've been meaning to say, I'm not dead against working on it. Most of my comments were mainly to make sure everyone was aware of the state of the code. | 16:29.16 |
henrys | chrisl: sure we just got a bunch of new oem's and 50K a month in app store money, that has changed the priorities, it's a whole different thing now. | 16:29.40 |
Robin_Watts | We got a while bunch of *potential* OEMs. | 16:30.21 |
| henrys: It's not that we don't want to work on it. It's that we have to be realistic about what working on it will entail. | 16:30.57 |
| Doing small fixes to the app is possible (like fiddling layout, fixing PDF export etc). | 16:31.48 |
chrisl | henrys: (leaving aside my scepticism about the 50k a month number) We presumably had potential OEMs we expected to pull in with view/print functions, too, and I had assumed we'd still be pursuing those. | 16:32.13 |
Robin_Watts | Even doing stuff like adding new formats in there is not completely impossible. | 16:32.25 |
paulgardiner | Also alterations to the UI that involve USING UE2 wont be too bad. What is hell is adding new features to UE2. | 16:32.30 |
Robin_Watts | It's just that there are areas where seemingly simple changes might hit unexpected rocks. | 16:32.56 |
| Like what paul just said. | 16:33.04 |
henrys | Robin_Watts: I see Robin_Watts + paulgardiner + other in-house expertise (fonts especially ) being a more capable force then the current maintainers. But I could be wrong. | 16:33.06 |
paulgardiner | Robin_Watts: exactly | 16:33.07 |
henrys | chrisl: (For me) you can view and print with the current app. Formatting can be fixed as demonstrated in GhostDocs. Why not have something fully capable for the demo? | 16:39.40 |
paulgardiner | henrys: difficult to judge. Picsel had some very good developers over the years, some now working for Emobix, some for Bipartite. They certainly have the advantage of familiarity with its current state | 16:39.48 |
| But anyway, for my part, I'm certainly not against giving it a go. | 16:40.24 |
henrys | I wasn't specifically saying that you can probably handle the code as well as Alex and Andrew are handling it now. | 16:40.34 |
| s/wasn't/was | 16:40.44 |
chrisl | henrys: because, for me, the target audience for the view/print on MuPDF is a different target audience than for SO, and my impression was that these meetings had been arranged with the MuPDF target audience. | 16:41.10 |
Robin_Watts | chrisl is doing a good job of expressing my understanding of things. | 16:42.07 |
chrisl | thinks: that's probably a first.... :-) | 16:42.30 |
Robin_Watts | BUT ultimately, these things need to be played by ear, with a degree of improvisation from the people in the room. | 16:42.30 |
henrys | chrisl: I'm skeptical about the 50K too, it doesn't fit with the price, their should have been more bidders at the price. | 16:42.58 |
Robin_Watts | So I think we have to trust that Michael will do the best job he can according to how he feels he is being received. | 16:43.08 |
| and by giving him both demo apps, he's in a better position to do that. | 16:43.34 |
chrisl | Obviously this stuff is not my area(!!), but I see a possibility that we're getting all excited to demo our new shiny thing, without paying attention to the people we're actually showing it to. | 16:44.48 |
henrys | to me pointing to an office suite in an app store that writes, prints, etc. is going to win *every* audience. As I said Michael can show ghostdocs and say we're going to get these layout fixes into the apps. | 16:47.19 |
| mvrhel_laptop: I guess your ears were burning | 16:48.22 |
Robin_Watts | henrys: If I was a printer customer and I saw an app that did that all, I'd be thinking: that's all very well, but I can't run an app on my printer. How much work is it for me to integrate their app with my existing print languages etc? | 16:49.36 |
mvrhel_laptop | uh oh | 16:49.36 |
Robin_Watts | GhostDocs shows that that can be done very easily. | 16:50.11 |
| but you're right, showing both things may well give a more coherent 'story'. | 16:50.44 |
| Like I say, they are both props that mvrhel_laptop can use in his pitch. He's the guy in the room, so he has to be the judge of what to do/show/say. | 16:51.42 |
henrys | yeah sure ghostdocs would be great for integration, the office parts share common code with the app, it's all good. | 16:51.46 |
mvrhel_laptop | Yes. There are applications and cases for both solutions | 16:52.34 |
henrys | mvrhel_laptop: cool you decide, I'm going back to my hole. | 16:54.12 |
paulgardiner | henrys: :-) | 16:54.32 |
mvrhel_laptop | we will be talking with some projector people I believe. There are applications for editing capability in this scenario. There may even be applications for editing on the front panel of a print kiosk station. | 16:54.40 |
| And obviously if we are doing print only then no need to have editing. | 16:55.17 |
henrys | Robin_Watts, paulgardiner : looking at the git stats (loc, %commits) I think you might underestimate your ability with this code, unless you 2 were in charge of adding and removing banners or something, I haven't looked carefully. | 16:59.29 |
ray_laptop | I'm not sure either what henrys refers to as " the target audience in Miles' vision" | 16:59.30 |
Robin_Watts | ray_laptop: I'm sure Miles will lay all this out for us at the staff meeting. | 17:02.41 |
paulgardiner | henrys: I always broke my modules down into as many files as possible. :-) | 17:04.14 |
henrys | who is hugh? | 17:04.34 |
Robin_Watts | Hugh Duggan? | 17:06.58 |
henrys | Miles has been talking at the meetings about kiosk printing and bring a usb to 7-11 and printing and stuff like that. | 17:07.27 |
| ray_laptop: ^^^ | 17:07.33 |
Robin_Watts | Hugh was an engineer at Picsel. My interactions with him were somewhat limited, as he seemed to have a complete aversion to either IM or telephone. | 17:08.30 |
henrys | Robin_Watts: he and joseph do seem to be the big hitters, but I haven't studied content. | 17:09.48 |
Robin_Watts | henrys: As a matter of interest, what are you using to generate the stats ? | 17:11.22 |
henrys | gitstats | 17:11.33 |
mvrhel_laptop | that type of kiosk printing is big in japan | 17:11.42 |
Robin_Watts | interesting to note that joseph left picsel 4 years ago. I left 3. | 17:13.18 |
henrys | I can upload the html report if you and paulgardiner want to see it. It took about an hour to generate. | 17:13.47 |
Robin_Watts | henrys: i'd love to see it (cos I'm nosey like that) | 17:14.02 |
paulgardiner | Joseph was the one person who seemed to know the whole source tree. He was the chief engineer. | 17:15.46 |
henrys | I'll post a link when it's up | 17:15.50 |
Robin_Watts | yeah. I was continually amazed by his ability to keep the whole thing in his head. | 17:16.13 |
paulgardiner | Right. So this is number of commits rather than files authored | 17:17.30 |
henrys | paulgardiner: it's lots of stuff you'll see in a minute. | 17:18.01 |
Robin_Watts | git shortlog -s -n gives number of commits, I think, but gitstats has lots more info. | 17:18.27 |
henrys | http://casper.ghostscript.com//~henrys/gitreport/ | 17:19.28 |
| let me know when you guys are done. Nothing confidential but I'd rather not leave it around. | 17:23.31 |
Robin_Watts | I'm done. | 17:23.58 |
marcosw | henrys: you should run gitstats on ghostscript... | 17:25.23 |
ray_laptop | henrys: for kiosk printing, I'd think the cost of having a $200 PC and real office would be the way to go. The last thing a kiosk vendor wants is layout problems | 17:25.32 |
henrys | marcosw: you think I haven't? | 17:27.36 |
marcosw | henrys: you haven't shared the results | 17:28.09 |
Robin_Watts | Also up for discussion at the staff meeting... a new way of calculating bonuses :) | 17:28.14 |
marcosw | I did notice that Robin_Watts was Author of the Month for the last two months in a row! | 17:29.13 |
Robin_Watts | When you're the only game in town... | 17:29.29 |
| marcosw: http://www.ohloh.net/p/ghostscript | 17:29.49 |
marcosw | paulgardiner made the top 5 in january | 17:29.51 |
paulgardiner | Strange that I can hardly remember anything about Hugh too. | 17:30.50 |
ray_laptop | Robin_Watts: I don't understand the "contributors per month" -- we've never had that many people with write access. | 17:32.28 |
marcosw | ray_laptop: yeah, I was trying to figure out how to drill down to see who the 24 contributers were in April 2010 | 17:33.41 |
ray_laptop | marcosw: yeah, that looks flawed | 17:34.02 |
Robin_Watts | ray_laptop: authors of git format patches get credited I think. | 17:34.09 |
henrys | but I need a program to find the commits with the most substance. Then I could ride my bike all day and make my hiring recommendation to Miles. | 17:34.17 |
ray_laptop | Robin_Watts: we weren't using git in 2010 were we ? | 17:34.39 |
Robin_Watts | true. | 17:34.49 |
marcosw | I particularly like the "Primary Language" column. | 17:34.49 |
| I beat ray_laptop's "First Commit" by 3 weeks, of course henrys beat us both | 17:37.02 |
henrys | trust me I've been looking at this for for a long time and anyone on the staff could easily evaluate another and get a much better result than the stats. I was looking at the git stats for piscel to get hiring ideas. | 17:37.13 |
Robin_Watts | Primary Language: Bad | 17:37.25 |
| henrys: yeah, ohloh has lots of stats, but it's basically useless for forming any sort of opinion on a project or a contributor beyond "yes, the product/contributor is still active" | 17:38.22 |
henrys | the stats are full of all kind of holes that you have to account for. | 17:38.32 |
Robin_Watts | But ain't that the case for so much of the "instrumented self" stuff? | 17:38.49 |
ray_laptop | How come the Ghostscript (OHLOH) page has evince as a similar project, but evince doesn't have ghostscript (even though it probably uses Ghostscript for PS) | 17:38.53 |
henrys | I have a very large commit that is only partially mine inflating my score, ray has changed banners etc. Just don't bother, it ain't worth it. | 17:39.17 |
marcosw | who is "gord" and why is he "Oldest Contributor" rather than Peter? | 17:39.48 |
ray_laptop | Robin_Watts: why isn't there a GhostPDL project that mentions the other languages | 17:40.02 |
henrys | probably because distributions don't pick it up | 17:40.26 |
| now you guys are going to start competing, epic comments, clean up ;-) | 17:41.25 |
ray_laptop | henrys: yeah, your famous "DeviceN." commit (01c26a73) you really outdid yourself on that log message ;-) | 17:42.30 |
henrys | ray_laptop: we had the svn history documentation somewhere. | 17:43.47 |
Robin_Watts | ray_laptop: I think you'll find the Ghostscript project actually looks at the GhostPDL.git | 18:10.43 |
henrys | marcosw: is henrysx6 okay? I noticed it crashed hard just a little after you first logged on. | 18:46.05 |
ray_laptop | Robin_Watts: I think the project description should mention GhostPDL then, and mention the other formats that it can handle (except maybe svg) | 18:46.07 |
Robin_Watts | ray_laptop: A first step towards fixing that would require me working up the energy to figure out what my ohloh password was :) | 19:24.08 |
henrys | Robin_Watts: paulgardiner From looking a bit more closely at the commits and logs, it does look like we should consider Hugh as a candidate. | 19:33.27 |
Robin_Watts | henrys: My line about him not communicating via IM or telephone wasn't a joke. | 19:34.04 |
henrys | Robin_Watts: that would be a problem in our organization | 19:34.35 |
Robin_Watts | indeed. | 19:34.55 |
henrys | artifex really can't hire a complete social misfit, we don't have access to the bulk of the engineering talent pool. | 19:37.05 |
| he could share an office at your place, and you could represent him ;-) | 19:38.29 |
Robin_Watts | Maybe I'm doing him a disservice, but if you asked me what I know about Hugh it would be: 1) he apparently says "Hmm" a lot, and 2) On the odd occasion I had to contact him, he was a pain in the ass to get to talk to. | 19:38.39 |
| henrys: I guess we'd want to look to see what areas of the code each person had committed too too. | 19:42.49 |
henrys | sure there may be some other candidates in here. Obviously joseph and alex are top choices | 19:44.10 |
| or andrew | 19:44.37 |
| but I'd like to unearth a few other choices. | 19:45.07 |
Robin_Watts | jonathanc = Jonathan Caryl, I think. No idea what he's doing now. Never really knew him | 19:45.39 |
| stever = Steve Revill, likewise. | 19:45.56 |
| simon = Simon Chisholm. He was a senior engineer, seemed quite smart. No idea what he's doing now. | 19:46.48 |
henrys | http://uk.linkedin.com/in/jonathancaryl | 19:47.27 |
Robin_Watts | malcolmh = Malcolm Hannah. Long time Picsel engineer. No idea what he's doing now, but wrote the original display manager. Probably has good knowledge of the core agent/edr/layout interactions. | 19:48.09 |
| neilk = Neil Kinnison(?) | 19:48.55 |
| graham = Graham Borland = Picsels first engineer employee. Was there even longer than me. The original Wasp engineer. | 19:49.28 |
| Now works under contract for people doing android and other mobile developments. | 19:49.52 |
| dpt = Dave Thomas. The guy behind the font engine. Funniest man in any room you put him in. Wicked dry humour. Now working for Metaforic. | 19:50.47 |
| matt = Matt Holgate. Now works for emobix. Very nice guy. Handled the Image Component. | 19:51.38 |
| neilg = Neil Galbraith. Not entirely sure what he's doing now. I get him and Gavin Reaney confused for some reason. | 19:52.56 |
henrys | I think you're fb friends with simon does it say what he's doing on his page? | 19:53.43 |
Robin_Watts | oh, so I am. Working for Linn. | 19:54.08 |
| Well, it's entirely possible that's his dream job :) | 19:54.19 |
| I suspect you have to be a hifi nut to work at Linn, and if you're a hifi nut, then why would you ever want to leave Linn? :) | 19:55.10 |
| acosgrove = Andrew Cosgrove. andrewc = presumably someone different. | 19:55.54 |
henrys | I notice that you guys have different names, you had another contributing name for example so I assumed that a case. | 19:56.47 |
Robin_Watts | did I? | 19:57.46 |
henrys | it looks like you made a few contributions as "Robin Watts" not "robin" | 19:58.45 |
Robin_Watts | Hmm. I'm listed as "Robin Watts" too. | 19:58.47 |
| I suspect that must have been right back at the very beginning. | 19:59.02 |
henrys | that's fairly common to see in history | 19:59.14 |
Robin_Watts | oh, no. That's right at the end :) | 19:59.23 |
| i.e. within the last month. | 19:59.29 |
henrys | ah right the artifex commits | 19:59.43 |
Robin_Watts | yeah. | 19:59.47 |
| The name Andrew Conway rings a bell, but I can't be sure. | 20:00.06 |
henrys | my concern with your impression of hugh is he may not have been that familiar with the code. It appears his performance really takes off just before you left. | 20:03.16 |
Robin_Watts | I cannot speak to how good an engineer he was. | 20:04.00 |
henrys | what I mean was he might have been quiet because he thought he didn't know enough and he was intimidated or you think there were real underlying comms problems? | 20:05.07 |
| s/or/or do/ | 20:05.26 |
Robin_Watts | I never got the impression from what anyone else said that he was hard to work with in an office. | 20:06.52 |
| From his commits it does look like he's experienced in the word agent. | 20:08.51 |
henrys | yes stats per module seems like a good thing to do. | 20:09.43 |
Robin_Watts | being called for food. bbl. | 20:12.54 |
| back | 20:50.33 |
| I don't think hugh had problems with communicating with people. I don't think he was shy or intimidated or anything. | 21:00.18 |
| I suspect he just disliked using IM etc. We used IM a lot at picsel to talk between the different offices. | 21:01.17 |
henrys | Robin_Watts: hmm hugh seems to be at bipartate, this company keeps growing ... | 22:09.50 |
| paulgardiner ^^^ | 22:10.34 |
| Forward 1 day (to 2014/02/21)>>> | |