Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2017-04-29

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:49 ilbot3 joined #darcs
01:49 Topic for #darcs is now http://darcs.net/ | logs: http://irclog.perlgeek.de/darcs/ | darcs 2.12.5 is out http://darcs.net/Releases/2.12
03:53 leg1 joined #darcs
03:58 Riastradh joined #darcs
08:32 bfrk joined #darcs
12:24 bfrk joined #darcs
13:11 leg joined #darcs
14:22 bfrk joined #darcs
14:52 bfrk joined #darcs
15:24 pointfree ...Trying to build darcsden. Linker errors with HsOpenSSL/openssl on Arch Linux. https://pastebin.com/raw/bQKiKNfa
15:26 pointfree I tried deleting ~/.stack and ~/repo/darcsden.3/.stack-work and installing everything fresh. That didn't work which makes me think this has something to do with gcc or  the openssl C libraries.
15:27 pointfree This is a problem with ssh-0.3.2 and ssh-0.3.98 (ssh_darcshub)
15:39 amgarchIn9 joined #darcs
15:45 Heffalump does it work with cabal?
15:55 pointfree trying that right now...
16:29 sm hey all
16:29 sm maybe http://stackoverflow.com/questions/27106580/undefined-reference-to-err-load-crypto-strings ? there are some other answers on SO
16:41 pointfree So with cabal it doesn't work either.
16:43 bfrk joined #darcs
16:47 Heffalump hi bfrk
16:47 pointfree Hello bfrk!
16:52 bfrk Hi
16:56 bfrk I am currently hacking on darcs annotate to make it faster. We had a case at work where we had a very big patch in a 15000 lines file. This crashed darcs annotate (out of memory). I fixed the leak but it was still extremely slow.
16:58 bfrk And that is no wonder: instead of relying on the information that is readily available in the patches, it calls apply and then looks at the diff.
16:59 Heffalump it doesn't just use the patch index?
16:59 Heffalump or is the case where there's no index?
17:02 pointfree Speaking of performance, I've been thinking about a possible way to make character-wise/substring patches perform better.
17:02 pointfree ...Some algorithms based on compressed pattern matching. That is, running algorithms, such as substring search, on compressed files with no decompression. https://en.wikipedia.org/wiki/Compressed_pattern_matching
17:07 bfrk I believe the index is used to determine the initial sequence of patches that touch the file or its name in some way. But we also have to find out which patch last modified which line and that (I think) cannot be done with the index.
17:10 bfrk pointfree: do you mean for darcs replace?
17:12 bfrk Heffalump: the slowness can be seen with a single patch that contains a few thousand hunks, each modifying a single line.
17:12 pointfree bfrk: CPM is useful for really any stringology algorithm: search and replace, diff, finding repetitions, counting subwords, multi-pattern matching, anything.
17:13 Heffalump bfrk: ah, right
17:13 bfrk pointfree: sounds good. will look at the wikipedia entry
17:16 bfrk Heffalump: my solution is to add yet another interface (type class) for patches, so that we can direction observe the effect of a patch on the Annotated structure.
17:16 Heffalump makes sense
17:16 bfrk s/direction/directly/
17:18 bfrk Heffalump: while I did that I tried to understand how this works with the apply interface. I think this may be more complicated than necessary. we abstract over the ApplyState event though every use of ApplyMonad is with ApplyState p ~ Tree.
17:20 Riastradh joined #darcs
17:29 bfrk Besides being inefficient, using apply and then diff can mis-attribute changes if the diff algorithm that was used when the patch was recorded differs from the one that annotate used internally.
17:52 leg joined #darcs
18:10 pointfree sm: Interestingly ssh & ssh_darcshub link just fine with HsOpenSSL
18:23 Heffalump bfrk: it was invented for future repository formats, and I would also like to keep that abstraction for darcs-pijul integration
18:30 sm pointfree: did any of the SO answers help ?
18:38 pointfree sm: I tried changing "Extra-Libraries: crypto ssl" to "Extra-Libraries: ssl crypto" in HsOpenSSL.cabal and using that HsOpenSSL, but I don't think it had any effect. Possibly the ordering of the Extra-Libraries array is meaningless anyway.
18:40 pointfree Oh. I think I was using the old upstream HsOpenSSL
18:42 pointfree https://github.com/vshabanov/HsOpenSSL/issues/16
18:44 pointfree sm: I do indeed have openssl 1.1 installed on my Arch Linux laptop.
19:00 bfrk Heffalump: okay, for the moment I can accept this; I do have difficulty imagining how a different ApplyState would integrate with the rest of darcs...
19:03 Heffalump bfrk: it's not trivial :-)
19:04 Heffalump also, it may just be me, but I actually like working with more generic code: it makes it easier to know that you are not using some classes of operations
19:10 bfrk Heffalump: I like generic code, too, and for the same reason. However, there is a point where it begins to hurt (me) and that is usually when type inference breaks down and/or type signatures become large and complicated.
19:11 pointfree Hm. When are these hsc2hs bindings actually generated?...
19:11 Heffalump fair enough
19:11 Heffalump I can't really say I'm likely to produce a darcs-pijul integration very soon, so I don't have much of a case for keeping them in the meantime
19:15 bfrk Heffalump: it's not currently hurting me very much. But when i worked recently on some UI/Commands code i was almost dispairing because I couldn' get the typing right. That was something to do with Sealed and RepoJob but I forgot the details
19:16 Heffalump I guess there are the cases where the types do stop you making mistakes, and the cases where you aren't making a mistake but it's hard to persuade the typechecker
19:42 pointfree sm: Well, those symbols are indeed undefined in HsOpenSSL
19:42 pointfree grep -r undefined .stack-work/logs/darcsden-1.1.99.log | awk '{print $5}' | tr -d "\`'" | grep -f - <(nm .stack-work/install/x86_64-linux/lts-8.4/8.0.2/lib/x86_64-linux-ghc-8.0.2/HsOpenSSL-0.11.4.8-F8w7GzEG8Vv1hkMk6sY5i3/libHSHsOpenSSL-0.11.4.8-F8w7GzEG8Vv1hkMk6sY5i3.a)
19:42 pointfree This must be related to that ongoing openssl refactoring effort.
19:51 bfrk apropos SSL: two darcs network tests currently fail when they 'darcs clone --lazy http://hub.darcs.net/kowey/tabular' and say something about "Problem with the SSL CA cert (path? access rights?)"
19:58 pointfree I just noticed darcshub is now using Let's Encrypt. Awesome!
19:58 pointfree bfrk: What distro/OS are you using?
19:59 bfrk pointfree: ubuntu 16 LTS
20:00 bfrk pointfree: but it also happened on another machine (32 bit, ubuntu 14 LTS)
20:00 pointfree bfrk: Hm. https://github.com/certbot/certbot/issues/2026
20:07 bfrk pointfree: that could be it; IIUC this is a misconfiguration on the server side?
20:10 pointfree bfrk: Does 'darcs clone --lazy http://hub.darcs.net/kowey/tabular' not work for you or do I need to do something else to reproduce the error? I just ran 'darcs clone --lazy http://hub.darcs.net/kowey/tabular' on Arch Linux and it worked.
20:15 bfrk pointfree: it does not work and gives me the same error message
20:15 bfrk pointfree: I mean here on my machine
20:15 bfrk pointfree: but I can connect with my browser just fine
20:17 pointfree bfrk: afaik darcs is using curl, so maybe try this: https://askubuntu.com/a/751944
20:23 sm pointfree: correct! I quietly rolled out https for darcs hub
20:25 bfrk pointfree: adding these entries to .curlrc unfortunately didn't work for me :(
20:26 bfrk pointfree: when look into /etc/ssl/certs I see no file with a name similar to letsencrypt
20:28 pointfree bfrk: "The Let's Encrypt CA is signed by IdenTrust, which is trusted by Ubuntu." -- https://github.com/certbot/certbot/issues/2026#issuecomment-167320225
20:29 sm and that has broken darcs tests. cool.
20:32 pointfree I just submitted an issue regarding missing symbols in HsOpenSSL: https://github.com/vshabanov/HsOpenSSL/issues/25
20:33 bfrk The next sentence talks about "serve" and "depending on what server software you're using" which i took to mean that the problem is on the server side
20:33 bfrk Can anybody explain to me in layman's terms what the problem is?
20:34 pointfree btw, is anyone else on other distros with more conservative release cycles having any problems building darcsden?
20:37 sm bfrk: https://github.com/certbot/certbot/issues/2026#issuecomment-167320225 is interesting. It might be a server problem
20:37 bfrk pointfree: am I supposed to "use fullchain.pem instead of cert.pem"? How do I do that?
20:38 sm bfrk: I think that instruction is for the server operator. I could be wrong
20:38 sm this has happened because of https://hub.darcs.net/simon/darcsden/issue/142#comment-20170429T203552
20:38 pointfree bfrk: Have you tried "sudo update-ca-certificates"?
20:40 bfrk pointfree: yes, I tried that just now. also upgraded my system. no success.
20:41 sm bfrk: does curl https://hub.darcs.net/simon/darcsden/_darcs/format succeed on that machine ?
20:41 pointfree http://stackoverflow.com/questions/7179216/php-problem-with-the-ssl-ca-cert-path-access-rights
20:43 bfrk sm: yes, it says hashed and darcs-2
20:44 sm hmm, strange that darcs fails then
20:44 sm you can still reproduce it, right now ?
20:45 pointfree It must be how darcs is invoking curl?
20:46 sm when you confirm it's still happening on your system, I'll try update-ca-certificates on the server
20:50 bfrk sm: I have just tested with /usr/bin/darcs and that works. But not with my self-compiled version which is screened plus a few patches.
20:51 sm update-ca-certificates on server says "updates of cacerts keystore disabled."
20:51 bfrk BTW, /us/bin/darcs --version says: 2.10.2
20:53 sm doesn't darcs use the haskell http lib unless you explicitly tell it to use curl
20:54 pointfree So the problem could it be anywhere between 2.10.2 and your darcs-screened copy.Although it worked for me and I'm using "2.13.0 (unknown)"
20:55 sm or does it use ssh/scp/sftp. Or all of the above ? Confused
20:55 sm I guess building with libcurl is a build flag
20:57 sm and it looks like -fcurl is not the default, though cabal could silently turn it on if it felt like it
20:58 sm I'd try a build with -fcurl set
20:59 bfrk sm: I am doing that (build running)
21:03 sm but it looks to me like darcs get/clone uses scp
21:05 sm bfrk: maybe you could paste the --debug output of the failing command
21:22 leg joined #darcs
21:25 bfrk sm: building screened plus my few patches with -fcurl does't work either; will now try clean screened
21:26 bfrk sm: it cannot use scp to get things from a http:// URL
21:28 bfrk sm: scp relies on ssh access
21:30 bfrk clean screened doesn't work, even with -fcurl :(
21:33 bfrk I do have several IdenTrust certificates under /etc/ssl/certs
21:34 bfrk FWIW, here is the debug output:
21:35 bfrk ben@yuiitsu1:/tmp>darcs clone --lazy http://hub.darcs.net/kowey/tabular --debug
21:35 bfrk Starting work on clone...
21:35 bfrk URL.copyUrlWithPriority (http://hub.darcs.net/kowey/tabular/_darcs/prefs/motd
21:35 bfrk -> ./darcs1804289383846930886)
21:35 bfrk URL.waitUrl http://UhRuLb..udralrTchsr.enaedt /(khotwtepy://t/ahbuubl.adra/r_cdsa.rncest//pkroewfesy//mtoatbdu
21:35 bfrk lar/_darcs/prefs/motd
21:35 bfrk -> ./darcs1804289383846930886)
21:35 bfrk URL.requestUrl (http://hub.darcs.net/kowey/tabular/_darcs/prefs/motd
21:35 bfrk -> ./darcs1804289383846930886)
21:35 bfrk URL.waitNextUrl start
21:35 bfrk URFLa.iwlaeidt Nteox tdUorwln lfoaaidl eUdR:L  hhttttpp::////hhuubb..ddaarrccss..nneett//kkoowweeyy//ttaabbuullaarr//__ddaarrccss//pprreeffss//mmoottdd :. /Pdraorbclse1m8 0w4i2t8h9 3t8h3e8 4S6S9L3 0C8A8 6c ePrrto b(lpeamt hw?i tahc ctehses  SrSiLg hCtAs ?c)e
21:35 bfrk rtB e(gpiantnhi?n ga cicdeesnst irfiygihntgs ?r)e
21:35 bfrk pository http://hub.darcs.net/kowey/tabular
21:35 bfrk URL.copyUrlWithPriority (http://hub.darcs.net/kowey/tabular/_darcs/format
21:35 bfrk -> ./darcs16816927771714636915)
21:35 bfrk URL.waitUrl http://hub.darcs.net/kowey/tabular/_darcs/format
21:35 bfrk URL.urlThread (http://hub.darcs.net/kowey/tabular/_darcs/format
21:35 bfrk -> ./darcs16816927771714636915)
21:35 bfrk URL.requestUrl (http://hub.darcs.net/kowey/tabular/_darcs/format
21:35 bfrk -> ./darcs16816927771714636915)
21:35 bfrk URL.waitNextUrl start
21:35 bfrk URL.waitNextUrl failed: http://hub.darcs.net/kowey/tabular/_darcs/format ./darcs16816927771714636915 Problem with the SSL CA cert (path? access rights?)
21:35 bfrk Failed to download URL http://hub.darcs.net/kowey/tabular/_darcs/format: Problem with the SSL CA cert (path? access rights?)
21:35 bfrk URL.copyUrlWithPriority (http://hub.darcs.net/kowey/tabular/_darcs/inventory
21:35 bfrk -> ./darcs1957747793424238335)
21:35 bfrk URL.waitUrl http://hub.darcs.net/kowey/tabular/_darcs/inventory
21:35 bfrk URL.urlThread (http://hub.darcs.net/kowey/tabular/_darcs/inventory
21:35 bfrk -> ./darcs1957747793424238335)
21:35 bfrk URL.requestUrl (http://hub.darcs.net/kowey/tabular/_darcs/inventory
21:36 bfrk -> ./darcs1957747793424238335)
21:36 bfrk URL.waitNextUrl start
21:36 bfrk Identifying repository http://hub.darcs.net/kowey/tabular inventory
21:36 bfrk URL.waitNextUrl failed: http://hub.darcs.net/kowey/tabular/_darcs/inventory ./darcs1957747793424238335 Problem with the SSL CA cert (path? access rights?)
21:36 bfrk Failed to download URL http://hub.darcs.net/kowey/tabular/_darcs/inventory: Problem with the SSL CA cert (path? access rights?)
21:36 bfrk Done identifying repository http://hub.darcs.net/kowey/tabular
21:36 bfrk darcs failed:  Not a repository: http://hub.darcs.net/kowey/tabular (Problem with the SSL CA cert (path? access rights?))
21:36 bfrk HINT: Do you have the right URI for the repository?
21:36 bfrk (oops, have I violated netiquette now?)
21:40 pointfree sm: curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt
21:40 pointfree http://stackoverflow.com/a/28058305/44016
21:54 sm bfrk: ooh that's annoying how concurrent output obfuscates the output
21:55 sm bfrk: I guess I didn't ask if darcs clone https://hub.darcs.net/kowey/tabular works ?
21:56 bfrk sm: anyway, I think the debug output doesn't tell us more than we already new
21:57 sm yes, it's really hard to read (or trust)
21:58 sm given our propensity for imprecise networking error messages
21:58 sm so darcs clone https://hub.darcs.net/kowey/tabular also fails, right
21:59 bfrk sm: yes, that was the first thing I tried (after looking at it with a browser)
22:00 sm ok.. I guess we need an expert. Sorry!
22:01 sm tests fetching from a remote service are always going to be more fragile of course
22:02 bfrk sm: yes, that is why we have them disabled in the release branches
22:04 bfrk Also, there is an explicit test for reachability of the url using curl -fI <url> and if this fails the test is skipped. Unfortunately, the test for the test seems to succeed...
22:04 sm bfrk: thank you for reporting it, I noted on https://hub.darcs.net/simon/darcsden/issue/142
22:05 bfrk ok, bye, and thanks for helping
22:07 Cthulhux btw. how's #171? https://hub.darcs.net/simon/darcsden/issue/171
22:09 pointfree Cthulhux: I haven't posted any comments on that one, but I'm thinking about tackling it.
22:09 Cthulhux pointfree: great! :-)
22:09 Cthulhux i was hoping i could contribute myself but.. the time.. :-/
22:09 Cthulhux not before summer.
22:15 pointfree Cthulhux: darcs(den|hub)-wise, I'm currently focused on finishing the user feed feature but that's almost done.
22:15 Cthulhux no hurries
22:15 Cthulhux better good than fast :-)
22:39 pointfree Indeed, I let it sit for a little while so I could get the document design for the feed items just right. A little extra thought goes a long way towards easing forwards compatibility.
22:39 pointfree I have the feed put the information into natural sentences with a format string + icons and hyperlinking.
22:39 pointfree I want to get rid of darcsden-post-hook and just use darcsden-ssh. darcsden-ssh is not limited by the maximum size of environmental variables and it would make installation easier, etc.
22:39 pointfree Username and issue referencing/cross-referencing should be done through darcsden-ssh.
22:39 pointfree Most features could really be folded into the darcsden feed: user repo list (filter by repo init, sort by updated time), issues (filter by repo, or repo + cross references), etc.
22:39 pointfree Cthulhux: This would all inform how the mobile version of darcshub should work. I'm thinking about using Material Design Lite for the mobile view, but changing the colorscheme to make it look more like the desktop browser darcshub.
22:39 pointfree Thoughts?
22:41 Cthulhux hmm.. not a big fan of material (even on android), but that's highly subjective
22:41 Cthulhux why not just use media queries? :)
22:42 Cthulhux using a common design with just different floats/sizes?
22:44 pointfree Cthulhux: Your idea sounds simpler, which I like.
22:45 pointfree Something would have to be done about the sidebar in repo view.
22:45 pointfree I don't like horizontal scrolling on mobile.
22:45 Cthulhux i work in IT. easy solutions are my only reason to still do it ^^
22:46 Cthulhux the sidebar could be made a header bar?
23:01 pointfree Cthulhux: Now that you mentioned a header bar (good idea!) and I looked at a darcsden repo page, I noticed the available sidebar buttons change with respect to the sidebar button that was just clicked.
23:01 pointfree Why not fold these sidebar buttons into the breadcrumbs above a repo page? Right now there is both a "files" breadcrumb and a "files" sidebar button.
23:01 pointfree Why not just make them all breadcrumbs, at least in the mobile view. How about having the selected breadcrumbs on top and the available breadcrumbs below, or something similar?
23:04 Cthulhux remember that breadcrumbs may or may not be truncated on 4 inch displays
23:04 Cthulhux the sidebar buttons are hella ugly IMO :-) but that's probably just a CSS thing (i haven't analyzed that yet)
23:06 pointfree Cthulhux: The icons or the CSS?
23:06 Cthulhux the "button look"
23:07 Cthulhux afaics those are just links with a css border?
23:08 pointfree They are a bit too round IMO.
23:09 Cthulhux they shouldn't have any border IMO
23:15 pointfree Cthulhux: IMO, the button look should be reserved for actions/verbs. Most of what's on the sidebar is not an action/verb, and if it is it should go elsewhere on the page.
23:17 * Cthulhux shrugs
23:17 Cthulhux IMO, anything that's not a button should not try to look like a button
23:25 pointfree sm: darcsden is once again building for me. I had a mysterious copy of openssl on my system not owned by any package. I wonder how it got there. Apologies for the noise. https://github.com/vshabanov/HsOpenSSL/issues/25#issuecomment-298197389

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary