| <<<Back 1 day (to 2015/01/15) | 20150116 |
Robin_Watts | mvrhel_laptop: I'm just off to bed, but I'm here for a few minutes. | 00:11.20 |
| Will look at those commits. | 00:11.24 |
| commit 1: commenting out a whole function (PrintTicket) is a bit nasty, cos without colorisation on, it's hard to spot that it's commented out. | 00:17.00 |
| #if DISABLED_FOR_NOW .... #endif seems nicer to me. | 00:17.32 |
| And in the same file there are lots of: return ....\n//throw ... | 00:17.58 |
| Is there a reason we can't just lose the // lines? | 00:18.21 |
| Are we missing the gsprint.vcxproj file from that commit? | 00:19.14 |
| Other than that (and the first two things are just me being picky), it seems fine (in so far as I understand the c# stuff) | 00:20.07 |
| second commit seems fine. | 00:20.29 |
| In the third commit, you change the fz_run_annot line to use pctm rather than &fz_identity, and you don't mention it in the commit message. | 00:22.09 |
| but actually that looks right to me, so ignore this :) | 00:22.27 |
| OK, third commit looks good to me. | 00:22.38 |
mvrhel_laptop | Robin_Watts: ok I will see if I can clean up the commented out code. need to see how to amend a commit that is 3 down... | 00:34.02 |
| any suggestions? | 00:34.09 |
| I will see if I can figure it out | 00:34.29 |
| working now on getting this windows one click installer stuff working | 00:35.18 |
graphicore | mvrhel_laptop: "git rebase -i HEAD~3" then replace the "pick" in the first line with "e" or "edit" then save the file, do your ammending, when finished do "git rebase --continue". If you get lost do "git rebase --abort" and start again. | 01:50.56 |
aaa_ | Hi All, how can I get a font's ascii/unitcode in bmp16m device ? | 03:50.29 |
| Hi All, how can I get a font's ascii/unicode in bmp16m device ? | 03:50.41 |
yidongji | Hi | 03:54.41 |
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. | 03:54.41 |
yidongji | Excuse | 03:55.31 |
| where I can fine character encoding in the ghostscript code. | 03:57.55 |
| where I can fine character encoding in the ghostscript code? | 03:58.03 |
| Is anyone there? | 05:32.26 |
yidongji_ | Is anyone there? | 05:36.54 |
| Is anyone there? | 05:55.33 |
Guest45965 | /away] | 07:24.26 |
chrisl | kens: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d6921b5c | 08:40.27 |
kens | I already found it, but thanks | 08:51.06 |
| Well I see some other problems with that commit, if we fail to allocate the pattern we don't clean up the other objects. I'll fix the whole lot | 09:00.46 |
chrisl | You may have to be a bit careful of gc in there..... | 09:01.49 |
kens | Its OK, its all gc accounted for | 09:01.59 |
| and later on a different error handler *does* free the object | 09:02.10 |
| I notice that gp_enumerate_files_close also doesn't free pfen->pden, I think that's wrong too | 09:03.39 |
| Of course, this won't be tested by the cluster :-( | 09:05.06 |
chrisl | Do none of the QL tests do a filenameforall? | 09:05.36 |
kens | Its NTFS | 09:05.44 |
chrisl | Of, of course :-( | 09:05.50 |
kens | I'll try creating a few tests, but it won't be exhaustive | 09:06.19 |
chrisl | Well, it's not really possible to be exhaustive with this - as we found when we did that work originally | 09:06.54 |
kens | I have no memory of doing this at all, which is pretty bad whne you consider it was 2013 and I obviously wrote a lot of code (or stole code possibly) | 09:07.30 |
chrisl | I *do* remember it being badly broken before..... | 09:08.22 |
kens | One up on me then ;-) | 09:08.33 |
| The commit logs make it plain it was wrong though | 09:08.54 |
chrisl | I also remember the argument(s) with someone about still not *exactly* matching Adobe.... *sigh* | 09:09.27 |
kens | Ah, I see pden doesn't need to be freed, it happens in the loop | 09:09.35 |
| Hmm, I wonder who that was.... | 09:09.55 |
| Ah, could be SaGS on bug 686853 | 09:10.40 |
chrisl | Yep, that's it | 09:11.39 |
kens | Oh drat, I'm on the wrong branhc, oh well | 09:18.06 |
sebras_ | Robin_Watts: hm.. maybe it is good if ghostbot also mentions when most of the devs are online? | 09:47.58 |
chrisl | sebras_: I rather think if people haven't the patience to wait a while, then tough.... | 09:48.39 |
sebras_ | chrisl: hm, I see no harm in ghostbot mentionting this though. but if they _still_ don't hang around... | 09:49.40 |
kens | THe message does say 'be prepared to wait for a reply' | 09:49.45 |
sebras_ | knows. | 09:49.58 |
chrisl | sebras: the thing is, I already think the message is getting long enough that some will just ignore it | 09:50.41 |
sebras | chrisl: that's a better reason. :) | 09:52.18 |
| I buy that. | 09:52.22 |
Robin_Watts | kens: You can test it using memento. | 10:01.36 |
| do a memento build, and run it until you get to that allocation. | 10:01.52 |
| When you get there, look at globals.sequence. That will tell you how many allocations have been done to that point. Let's say it is 1024. | 10:02.18 |
chrisl | Robin_Watts: the problem is more getting the input to get to that point, and all the variations it can involve | 10:02.47 |
Robin_Watts | Then you can set MEMENTO_FAILAT=1024 and rerun, and it'll fail all allocations after that number, so the cleanup code gets tested. | 10:02.57 |
| chrisl: This only fails when run interactively? | 10:03.26 |
kens | TO be honest the code looks pretty clear to me | 10:03.37 |
| I obviously intended to free the memory, I have no idea what kind of brain fart caused me to leave it commented ot (and in the wrong place). | 10:03.58 |
chrisl | Robin_Watts: No, but it's not an especially common thing to do, and the exact behaviour depends on the files on the your disk | 10:04.06 |
Robin_Watts | chrisl: Right, so the problem is that it's hard to reproduce at all? | 10:04.36 |
kens | The error condition that leaves memory allocated is also clearly incorrect, especially inspecting the other cases in the code. | 10:04.52 |
chrisl | Robin_Watts: it's easy to test a case or two, almost impossible to be comprehensive | 10:05.20 |
kens | I don't actually have any great problem with this, just an observation that the cluster doesn';t test this | 10:05.29 |
Robin_Watts | If you can make the code hit the allocation, then memento can help you test the cleanup, but yes, the first bit is hard. | 10:05.37 |
kens | has tested a few cases, including deliberately breaking stuff | 10:05.46 |
| Its easy to hit the spot, and I can break the allocation easily enough without needing memento, its pretty trivial | 10:06.26 |
| Whayt is essentially impossible to test is if I've broken garbage collection | 10:07.05 |
| If I stuffed up the GC (and I don't believe I have) it might not show up immediately | 10:07.27 |
chrisl | Okay, my findings on the disappearing 'I' glyph have been reported to the freetype devs, let's see what Werner thinks of my suggested fix/hack...... | 10:12.00 |
kens | You sent it to ft-devel ? | 10:12.15 |
chrisl | I submitted a bug | 10:12.29 |
kens | Oh fair enough | 10:12.34 |
sebras | morning tor8! | 10:52.55 |
kens | Hmm, sebras saw him several seconds before me. Odd latency | 10:53.12 |
sebras | the premonitions are strong with this one... | 10:53.53 |
kens | I have you now.... | 10:54.14 |
tor8 | morning sebras! | 10:55.19 |
kens | tor8 looking at hotel rooms near DIA, thinking of the Days Inn: | 10:58.44 |
| http://www.booking.com/hotel/us/days-inn-denver.en-gb.html?aid=323685;label=DEN-FEZ6o3QgbfM32PBxRsHt9wS30270563770%3Apl%3Ata%3Ap1%3Ap2%3Aac%3Aap1t1%3Aneg;sid=84cd9f887a3e911f7a8ef8f5e193dd89;dcid=4;checkin=2015-03-02;checkout=2015-03-03;ucfs=1;srfid=2c4c7ae0b5ffcb1336574170168e7abeb82b7550X5;highlight_room=18060202 | 10:58.44 |
tor8 | kens: it has an airport shuttle, that's probably my only criteria :) | 10:59.59 |
kens | THa'ts my main criteria :-) | 11:00.09 |
| There is 1 cheaper one but its review score is 4.7..... | 11:00.56 |
| If you're OK with the Days Inn I'll go ahead and book me in | 11:01.45 |
tor8 | is that the microtel inn? | 11:01.45 |
kens | Err, maybe, one moment | 11:01.52 |
| No it was the crossland economy studios | 11:02.06 |
| Hmm, don't see the microtel, let me expand the search | 11:02.31 |
tor8 | 4th down on the link you sent me | 11:02.44 |
kens | Wow, £36 | 11:02.47 |
kens | boggles | 11:02.54 |
| Rating seems to be 7.2 | 11:03.05 |
tor8 | half the price of everywhere else... | 11:03.10 |
kens | Looks good I guess | 11:03.19 |
tor8 | I'll leave the choice to you, I'm fine with Days Inn if you want to go with that | 11:03.56 |
kens | Hmm, one review says difficulty getting shuttle | 11:03.58 |
| Seems you have to call for it. | 11:04.09 |
tor8 | yeah, I suspect that at that price they don't run a continuous shuttle service | 11:04.27 |
kens | I'm sure you;re right. Your phone works in the US though, right ? | 11:04.43 |
| mine is not reliable I think | 11:04.51 |
tor8 | I've had difficulty with my phone in the US at times | 11:04.59 |
| some trips it works just fine, other trips it takes hours to connect :/ | 11:05.13 |
kens | I expect anywhere except the big ones will require a phone call | 11:05.18 |
| OK I@m going to go for the Microtel, its only 1 ninght after all | 11:05.51 |
tor8 | kens: okay. | 11:06.32 |
| if we're decided I'll book a room and then I have to pop out for lunch | 11:07.46 |
kens | I just booked one | 11:07.55 |
tor8 | kens: done. | 11:16.28 |
kens | Great, that's nother step done :-) | 11:16.41 |
| Now I cna go fill in the BA stalker info | 11:17.02 |
circ-user-iYUa1 | names | 11:49.35 |
kens | places | 11:49.41 |
circ-user-iYUa1 | sorry ken | 11:49.53 |
kens | :-) NP | 11:49.58 |
circ-user-iYUa1 | Hi, I have a question related to Ghostscript printers | 11:51.07 |
kens | THen you've some to the right place. | 11:51.19 |
| s/some/come | 11:51.25 |
circ-user-iYUa1 | thank you | 11:51.29 |
| while configuring the GS printer on windows 7, I am getting a prompt tht the drivers are not signed digitally | 11:52.35 |
kens | We don't supply drivers, the message is somewhat misleading. | 11:52.56 |
| We supply a .inf file which is used to install the drivers supplied with WINdows. | 11:53.10 |
| That .inf file is not signed | 11:53.24 |
circ-user-iYUa1 | right, I am wondering these days windows are forcing the drivers to be signed | 11:54.02 |
kens | Essentially, yes. | 11:54.14 |
| *everything* gets signed in the latest MS ecosystem | 11:54.26 |
| MS wants to be Google (or Apple) | 11:54.35 |
| There's a discussion here: | 11:55.42 |
| http://stackoverflow.com/questions/19520540/signed-ghostscript-postscript-print-driver | 11:55.42 |
circ-user-iYUa1 | Yes Ken, I was about to paste the same | 11:57.04 |
| currently we are using GPL version of GS | 11:57.23 |
| do you think moving to Licensed version will alleviate the problem | 11:58.12 |
kens | No. | 11:58.19 |
circ-user-iYUa1 | okay, got it | 11:58.38 |
kens | The 'Ghostscript printer' is nothing more than a convenience we supply to help people out. We do not have a certificate to sign with, not do we have plans to get one. | 11:58.57 |
| If our licenced customers want to produce a pritner under Windows, we assume they will get a licence and use it to create hteir own branded printer driver | 11:59.30 |
circ-user-iYUa1 | okay.. | 12:00.20 |
kens | Err, that hsold have been 'get a certificate' of course | 12:00.41 |
circ-user-iYUa1 | I am coming from PowerBuilder background | 12:01.37 |
| our app needs to have GS printer in certain way | 12:02.08 |
kens | You mean you work for Sybase ? | 12:03.01 |
circ-user-iYUa1 | I should definetely create a printer from GS .inf provided and name the printer Sybase Datawindow PS | 12:03.58 |
| no Ken, I working for a telecom company S | 12:04.17 |
| *am | 12:04.24 |
kens | Fair enough | 12:04.27 |
| As you can guess we aren't too happy about Sybase using GS in this way, even though its legitimate under teh GPL | 12:04.51 |
| (same for Oracle and other big name companies) | 12:05.05 |
circ-user-iYUa1 | I understand | 12:05.27 |
kens | From your poiint of view, you either need to create a signed 'thing' using the steps outlined in the SO reply, or you have to fall back to the 'usigned driver' approach | 12:06.11 |
| Or do it all manually of course | 12:06.31 |
circ-user-iYUa1 | Clear Ken, Thanks for your inputs | 12:07.06 |
kens | You're welcome | 12:07.13 |
kens | lunches | 12:07.48 |
Robin_Watts | kens: Random question then... if we paid for a certificate, how much work would it be to make a signed .inf file? | 12:38.36 |
kens | Not much, the details are in that SO reply | 12:39.02 |
Robin_Watts | So we could theoretically bung it out at a tenner a time as a convenience for people? | 12:39.26 |
| Through steam, maybe. | 12:39.30 |
kens | But, given that the WIndows print system is changing to an XPS model, its not obvious to me that its worth it | 12:39.42 |
chrisl | Seems like a lot of hassle when we don't ship a driver...... | 12:39.51 |
kens | Yes, I guess we oculd do it that way, | 12:39.56 |
| chrisl we still need to sign the .inf file in order to allow unattended installation | 12:40.20 |
| and teh warning worries people | 12:40.34 |
chrisl | Yes, but all we're doing is installing an MS driver, so..... | 12:40.55 |
kens | I know, but that doesn't matter in the wonderful world of Windows | 12:41.23 |
chrisl | I did wonder if we could automate the process on the SO page | 12:41.52 |
kens | Only by having a certificate | 12:42.02 |
chrisl | I thought there was a way to generate a "local" certificate | 12:42.58 |
kens | Hmm, I didn't think so, but let me look again | 12:43.15 |
| Seems you can, using the Certificates MMC | 12:43.56 |
| But I think you have to be the administrator to do it (or at least to add it to the trusted certificates store) which kind of seems reasonable | 12:44.54 |
| Looks like the local one is a 'per machine' certificate, so not really any better than just going down the 'untrusted' route | 12:45.59 |
chrisl | Yes, but presumably if we could automate the process, then it would avoid the warning that spooks people | 12:46.34 |
kens | But they would have to be an administrator in order to do it | 12:46.49 |
| If htey are an admin, they should understand the risks and not bother :-) | 12:47.07 |
chrisl | Surely you have to be admin to install a driver anyway? | 12:47.10 |
kens | No (or at least not in earlier versions of Windows) there are *lots* of levels of trust in Windows | 12:47.35 |
| You can be a 'print administrator' without being an 'administrator' | 12:47.53 |
chrisl | Well, if it was done with an installer, it's easy enough for the installer to demand admin rights | 12:48.02 |
kens | Well, you could try that, you would also need to ship bits of the Windows DDK as well, as those are needed to sign the local copy. And they probably differ by version of Windows. It seems like a lot of work to me | 12:48.51 |
chrisl | You'd just have the installer download the bits it needed from MS | 12:49.28 |
kens | I don't htink you can install just 'bits' of the DDK, its all or nothing | 12:49.47 |
| Which would mean shipping 'signtool' and I'm not sure MS would allow that. | 12:50.08 |
chrisl | Yeh, I meant the DDK and anything else required | 12:50.08 |
kens | THe DDK is *huge* | 12:50.15 |
chrisl | I dunno - I thought Ray was going to look into this | 12:50.21 |
kens | Was he ? Its possible.... | 12:50.33 |
chrisl | Besides, wouldn't we actually need to get "certified" by MS in order to ship something? | 12:53.22 |
kens | No, we need a certificate from a trusted certificate authority | 12:53.51 |
| Or so I understnad it. | 12:53.57 |
| Once we have that we are proving we are who we say we are, that seems to be all that matters | 12:54.13 |
chrisl | Yeh for a "normal" app, I thought for drivers, I thought you needed the full certification | 12:54.29 |
kens | But, as you point out, we aren't shipping a driver :-) | 12:54.49 |
| Just a .inf file | 12:54.53 |
| I belive the .inf file is treated as an application | 12:55.16 |
chrisl | I didn't think it complained (at least not as strongly) for a non-signed app - otherwise we'd see more people complaining about Ghostscript | 12:56.03 |
kens | I have to say, I don't know. I've never really looked into it. It strikes me as being fairly irrelevant. We supply the .inf file as a convenience to help people unable to follow the simple task themselves. For real customers they would need their own certificate. | 12:57.10 |
| While it may be an FAQ, I'm not convinced its something we need to address. Especially for a process which is obselete anyway | 12:57.40 |
| Does the 'Ghostscript printer' install RedMon ? | 12:58.08 |
chrisl | I don't see how it could | 12:58.29 |
kens | SO it can only print to file, hardly seems worthwhile | 12:58.47 |
chrisl | Yes, I think all it does is install a Postscript printer configured to emit Postscript best suitable for pdfwrite | 12:59.23 |
kens | Well in that case, it really isn't worth it | 12:59.37 |
chrisl | It's one of the reasons I find it odd that so many people seem to use the damned thing | 13:00.49 |
kens | I think its something to do with Sybase and Oracle using it as the basis for their 'PDF' support. | 13:01.13 |
| Presumably they have something which watches the file/folder and sends it on to GS. | 13:01.29 |
chrisl | Which is just *awful* :-( | 13:01.49 |
kens | It certainly is..... | 13:02.01 |
| It looks like its been lifted straight from GhostView | 13:02.51 |
chrisl | Yeh | 13:03.00 |
kens | And it doesn't use RedMon | 13:03.08 |
| Hmm, and if I choose 'Install' on WIndows 7, it refuses to do so, saying it doesn't support this kind of install | 13:04.01 |
| Finding it pretty hard to care about this, maybe the simplest solution is just to remove it. | 13:05.20 |
kens | thinks I may have said this before | 13:05.28 |
chrisl | We are likely going to need an Artifex certificate for GSView TNG at some point, so maybe revisit at that point | 13:05.36 |
kens | Indeed, if we want to sell it, or put it on the MS store, we will need a certificate for sure. | 13:06.08 |
| Maybe that was the last decision too.... | 13:06.19 |
chrisl | Well, if we already have a certificate, and it's just a case of generating a .cat file for the GS distribution, then..... | 13:07.03 |
kens | If that's all it takes then that would be fine. Easy enough to test if we have a ertificate, but certinaly don't wabt to go and buy one on the off-chance | 13:07.38 |
chrisl | Even if we knew it would work, I don't think it worth spending money on for this alone | 13:08.28 |
kens | Also a good point, though I don;t know what it costs (guessing several k) | 13:08.47 |
chrisl | goes in search of lunch....... | 13:09.01 |
novgo | hi is it posible to add a additional security handler to mupdf to handle custom encryptions? | 14:38.42 |
tor8 | novgo: not without a significant amount of coding. if you know what you're doing, should be easy though. | 14:43.10 |
| you'll have to add a special case for your security handler in pdf_new_crypt, and implement the decryption algorithm to be used as a fz_filter | 14:44.02 |
novgo | thanks for pointing me in the right direction | 14:45.37 |
| do you mean pdf_crypt_filter? | 14:50.53 |
Robin_Watts | novgo: I think tor means an fz_stream | 15:09.29 |
henrys | ray when you come in please review an error message improvement on my personal repo | 15:09.36 |
Robin_Watts | novgo: You'll probably need changes in pdf_crypt_filter to allow your new crypt method to be setup, but the actual decoding of stuff is implemented using the fz_stream mechanism. | 15:11.10 |
chrisl | henrys: doesn't PCL default to the bbox device like Ghostscript? | 15:14.14 |
novgo | ok thx. I just wondered as i could not find the fz_filter function | 15:14.42 |
henrys | chrisl: I'm not sure I simulated the problem by running pcl6 -sDEVICE=ljet4 with no output file. Kind of hard for me to set it up as the user has ... I guess I could uninstall X11 | 15:16.32 |
chrisl | henrys: no need, I just wondered - it would be nice to be consistent | 15:17.39 |
kens | I'm reasonably certain the Windows version of PCL6 defaults to the display device, I seem to remember changing that at some time. The Windows version of GS defaults to the display device as well. | 15:17.44 |
henrys | chrisl: it used to be first device in the list in the makefile - did you change that? | 15:18.52 |
tor8 | novgo: yes, sorry. I mean fz_stream, as implemented in source/fitz/filter-basic.c which has fz_open_aesd | 15:18.56 |
chrisl | henrys: I didn't change that, but I allow it to changed at run time - but only the gtk display app does that | 15:19.39 |
henrys | chrisl: I'll try it out on cygwin next time my windows box is alive - no x11 there. | 15:20.28 |
chrisl | henrys: actually, it's a setting in the makefiles - GS_DEV_DEFAULT=... - it's been that way since before I joined | 15:20.55 |
henrys | chrisl: okay I'll look, nonetheless I've wanted to change the fool error message for years... | 15:22.33 |
chrisl | henrys: entirely understandable! | 15:23.17 |
| henrys: looking at the make file (pcl6_gcc.mak) in the absence of x11, the default device for pcl and xps will be ljet4 - not really ideal.... | 15:25.15 |
Robin_Watts | Woo Hoo. Hyatt is changing it's policy to offer free wifi to guests in all guestrooms and public spaces from February. | 15:27.14 |
| No more price gouging. | 15:27.20 |
kens | Bet that doesn't include conmference/metting rooms | 15:27.44 |
| but still..... | 15:27.57 |
chrisl | henrys: I suggest the following: http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=66eafeee | 15:29.47 |
henrys | chrisl: agreed go ahead and commit | 15:43.38 |
chrisl | henrys: done! Thanks | 15:44.16 |
henrys | I'll be in and out today, nasty cold coming on. | 15:52.16 |
Robin_Watts | does the mvrhel summoning dance. | 17:41.49 |
rayjj | henrys: I looked at your patch. I think it should spit out the file it tried to open, but a null fname (the case you are adding the message for) is different, and should really be detected above. Please have a look at my patch (tested) on my repo. I've tested it a bit | 18:33.27 |
| henrys: with your patch, a failure in opening (such as -sOutputFile=/test) gives the wrong message | 18:34.17 |
| henrys: the link to my patch is: http://git.ghostscript.com/?p=user/ray/ghostpdl.git;a=commitdiff;h=7882030e49b1309c6d8ccc96b799c8eddb0cc10d | 18:35.14 |
Robin_Watts | Do any of you lot use WhatsApp? (I'm thinking it's probably cheaper to whatsapp people than SMS them :) ) | 18:49.48 |
henrys | rayjj I'm fine with your patch, thanks | 19:30.02 |
mvrhel_laptop | Hi Robin_Watts | 19:52.56 |
Robin_Watts | Morning mvrhel_laptop | 19:52.57 |
mvrhel_laptop | sorry. I have volunteer on Friday mornings | 19:53.12 |
| at school | 19:53.16 |
Robin_Watts | No problem. | 19:53.22 |
kens | mvrhel_laptop : do we have accomodation at Copper yet ? | 19:53.43 |
mvrhel_laptop | kens: I *think* ray picked a place | 19:53.57 |
Robin_Watts | (That's not my normal phone number, btw, my normal one is being ported over at the mo, so is out of action for a day or so) | 19:53.57 |
mvrhel_laptop | Robin_Watts: I was wondering | 19:54.05 |
kens | Hmm, I guess I'l have to wait for Ray to reappear then | 19:54.13 |
mvrhel_laptop | but I can't imagine who else would text me to get on IRC | 19:54.21 |
| ;) | 19:54.24 |
Robin_Watts | mvrhel_laptop: Crashlytics is reporting a bug in some code you changed, and I'm confused by it. | 19:54.37 |
mvrhel_laptop | uhoh. let me open SOT | 19:54.49 |
Robin_Watts | http://crashes.to/s/f729d60c85f/details | 19:54.52 |
| Actually... should we be doing this on skype? | 19:55.26 |
mvrhel_laptop | oh probably | 19:55.32 |
| let me open that up | 19:55.36 |
| Forward 1 day (to 2015/01/17)>>> | |