freenode/#lisp - IRC Chatlog
Search
5:48:03
|3b|
(and not packages defined by systems loaded through ASDF directly or modules loaded by REQUIRE)
5:48:56
Shinmera
There's no connection between systems and packages, so there is not. You can just list all packages with list-all-packages though.
5:52:05
ober
asarch: (map nil (lambda (p) (bt:make-thread (ql:quickload (ql-dist:package-name p)))) (ql:system-list))
5:56:19
|3b|
asarch: (in case you miss the intervening discussion, what ober told you to do probably isn't a good idea, it will start a few thousand threads and try to download and load all of the things available in quicklisp)
5:59:43
|3b|
how big is ql these days? thought i remembered hearing it was over a GB, but can't find any concrete #s
6:02:54
jack_rabbit
asarch, You can't know for a particular lisp image, but you can see anything that's been downloaded in quicklisp's dists directory.
6:30:43
jackdaniel
asarch: if you want to see which packages were added after load (it is not the same, because ql may load packages which were already defined on your system!), you may compare list-all-packages before and after calling quickload
6:39:54
aeth
i.e. (let ((packages (copy-seq (list-all-packages)))) (ql:quickload :foo) (set-difference (list-all-packages) packages))
6:55:00
asarch
One last question: is there any way to know what provides a package? (e.g. "cl-glut-examples")?
7:12:57
minion
To send a memo, say something like ``minion: memo for nick: the memo''. I'll remember the memo for any nick which is the same as the given nick, +/- differences in punctuation, and any nick which is an alias for it, and give it to them when they next speak.
7:14:02
shrdlu68
dim: I'm getting an error building pgloader in a debian container: https://gist.github.com/shrdlu68/64aec53821d4d02389229bac5b638474
7:14:42
jackdaniel
v0|d: on this issue you may find how to use perf to profile ecl: https://gitlab.com/embeddable-common-lisp/ecl/issues/451 (you have command in comments and a screenshot in a descriptions)
7:16:01
dim
shrdlu68: hi! thanks for building pgloader, it denotes some interest that I like seeing ;-) the bug has been reported as a gihtub issue to, and only happens with very recent SBCL; it's either a SBCL or ironclad/nibbles bug
7:16:59
dim
can you edit the pgloader Makefile and make it download nibbles from github in QL local-projects in the build directory, copying what the Makefile does for some other packages?
7:39:11
dim
there's also this issue that only happens on sbcl/linux and PostgreSQL 10 at https://github.com/dimitri/pgloader/issues/810, shrdlu68, so if that's your environment you might want to know about it then help me fix it ;-)
7:44:28
Demosthenex
sabrac: i just noticed you did the common lisp logging comparison in addition to the postmodern examples. thank you so much for your documentation!
8:16:45
jdz
dim: I've had control stack exhaustion on some BIG inputs and funky regular expressions with cl-ppcre, so I've come up with https://github.com/jdz/cl-ppcre/commit/c407ac2947fa1a13ee59f347c4c0e83e24a75570, which seems to be working for me. But I seriously doubt this is your problem since it seems to be related to different Postgres versions. Too bad there's no backtrace (I did not notice any).
8:21:43
dim
I have been given small sources to reproduce, but of course I couldn't make the bug happen on PostgreSQL 10 on Macos (my laptop), and I'm too busy to setup a docker environment or an EC2 or something
8:22:16
dim
sometimes I wish pgloader was more part of daily job, but I also have a day job that I like and that is mostly Open Source, so...
8:23:39
dim
essay assignment: are time contraints overall beneficial or detrimental to Open Source projects maintenance? ;-)
8:24:19
Demosthenex
can i ask a second pair of eyes? https://bpaste.net/show/a829ec9980fc this worked when i had it output a concatenated string
8:24:55
dim
jdz: git clone in ~/quicklisp/local-projects? (so that you have the master's branch rather than the latest release, and when we fix bugs, you can easily git pull)
8:26:30
jdz
dim: Do you have a test case that triggers the problem and involves just Postgres, because I don't have MySQL (duh!).
8:27:54
dim
jdz: the simplest is going to be with a SQLite source, see https://github.com/dimitri/pgloader/issues/810#issuecomment-406624413
8:28:16
dim
jdz: the bugs happens when working on the source system catalogs introspection, so a database is needed to repro I think
8:28:40
dim
I think you can repro with pgloader https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite_AutoIncrementPKs.sqlite pgsql://localhost/pgloader or something
8:29:44
dim
Demosthenex: (let ((a '(("MATCHES" . "GAMEID") ("MATCHES" . "MAPID") ("MATCHES" . "QUEUEID") ("MATCHES" . "SEASONID") ("MATCHES" . "GAMEMODE")))) (remove-duplicates a :test #'string= :key #'car)) returns (("MATCHES" . "GAMEMODE"))
8:43:19
dim
(pgloader:run-commands "load database from ... into ...;" :client-min-messages :debug) is another way to do it, and you can have :data if you want the full story, but you will see every row of data twice (in/out)
8:46:20
beach
jdz: It could be justified for code that is called only internally in the library and where the safety has already been verified before that code is called.
8:46:51
jdz
FATAL: Failed to start the monitor thread. The value 338796000000 is not of type (MOD 1000000000)
9:00:19
jdz
This particular problem might be because of my changes to cl-log: https://github.com/jdz/cl-log
9:01:40
no-defun-allowed
jdz: i used (safety 0) to do a very fast weighted "blend" between two arrays i've already checked the bounds of
9:14:22
Demosthenex
dim: remove duplicates would have to operate on the complete pair, not just the car. but thats ok, i was blind to the change i made to teh function name
9:17:53
jdz
dim: I now think it's nothing to do with lparallel, but it was tricky to find the place where it is triggered because lparallel transfers errors across threads.
9:18:46
dim
yeah debugging is sometimes not as easy as it should, when running from the REPL pgloader should show you the base error though, I think
9:21:07
no-defun-allowed
this macro i wrote made me think about useless parallelisation, how do i stop it from doing that?
9:25:31
jdz
dim: OK, the problem was that in my version of cl-log the timestamp fraction is already in nsecs, and your print-object method assumes it is in internal-time-units-per-second.
10:00:50
_death
jackdaniel: heh... I've an idea to write a bbs-on-the-web thingy.. though that may take a while
10:02:46
jackdaniel
that would be cool to be able to share (say) lisp function via internet protocol and simply run it directly from clim gopher browser :)
10:09:25
jackdaniel
I think knusbaum will be able to answer such question, as asserted above I didn't dive there yet :)
10:40:32
_death
I mostly use it as a private server to do all kinds of scraping and such so there's not much content ;) .. once I'll get my bbs thing going it'll be more interesting
10:48:05
_death
looking at it though the "ansi art" is pretty terrible.. result of spending around 20m in aciddraw (I also have a project for an aciddraw clone..) after years of nonpractice.. I should replace it with older art :)
10:57:37
dim
shrdlu68: ok, so the bug isn't fixed in current HEAD/master versions of ironclad/nibbles, and depends on latest SBCL on linux?
11:00:05
russellw
is there a way to make case work with strings? Or is it just accepted that with strings, you have to fall back on cond... equal?
11:38:22
Demosthenex
i saw jackdaniel's post on cl-charms, and he used some rudimentary async keyboard io there which he said was poor. what's a better alternative?
11:40:42
jackdaniel
I have an intent (temporarily suspended due to other tasks) to make a terminal backend for McCLIM
11:41:26
jackdaniel
in such case io will be handled by McCLIM itself. that's what I meant by saying, that functions in this tutorial are ad-hoc (as a pun loosely based on greenspun 10th rule)
11:42:28
Demosthenex
i have no idea how CL would do async inputs, that's got to be a good example code
11:42:28
jackdaniel
sadly important improvements are usually mundane and unimpressive (but they enable impressive demos after they are done)
11:42:50
Demosthenex
i'm sure we've discussed before i'm just looking to make terminal CRUD interfaces for small databases
11:43:04
jackdaniel
well, event loop in McCLIM has some limitations (which we have plans to mitigate)
11:44:46
jackdaniel
(and the mentioned demo, as some people pointed out, is based on ffi and some people have ffi-o-phobia)
11:49:28
Demosthenex
though i'd expect using the upper level api to cl-charms, only a handful of basic terminal handling operations are needed if mcclim is going to manage all the other logic
11:50:29
jackdaniel
if such backend is written some day (I certainly hope so, because that will reveal many weird bugs, I'm sure about that), you wouldn't have to care about terminal at all
11:51:28
jackdaniel
you'll be able to run mcclim application in a terminal (of course terminal limitations will be still in place)
11:51:50
Demosthenex
i'm a complete noob, but if there were a way i could contribute, i'd be happy to
11:51:54
jackdaniel
I even have a screenshot somewhere, where I managed to start "Hello world" application side-by-side in a window and in a terminal
11:52:33
jackdaniel
there are many ways to contribute. first step is learning clim basics ;) there is #clim channel if you are intersted in socializing
11:52:34
Demosthenex
i'm a jaded old fart. i despise webapps, i strongly dislike gui apps, i live on the command line and in emacs. if i'm going to make a small db for personal use, it'll be there.
11:54:10
Demosthenex
i just despair regarding reinventing the wheel. i feel like a whole generation of code has been lost regarding TUIs
11:58:59
jdz
dim: BTW, this is how I set up cl-log without "monkey patching" PRINT-OBJECT for cl-log:timestamp.
12:28:11
no-defun-allowed
I'm alright with guis but there should be a good keyboard alternative after I've memorised enough of my workflow.
12:28:37
no-defun-allowed
GTK/Emacs is the first example that comes to mind since you can navigate by menus but you'll pick up keyboard chords relatively quickly.
12:38:56
Xach
PuercoPop: I am much more likely to drop asdf from quicklisp. Implementations should provide the asdf that best suits their users.
13:58:25
oni-on-ion
no-defun-allowed: i've been using no mouse for about a month. my secret is 'keynav' for the gui apps
14:03:03
jackdaniel
otoh SBCL is boostrappable from any conforming implementation, so one could build clisp with gcc, and then sbcl with clisp
14:04:02
jackdaniel
well, it is said, that everything must be possible to build from source, but they look at building ccl with ccl that way afaik
14:04:17
pfdietz
At some point in the distant past some proto-CCL must have been built from something else, but that's probably long dead.
14:15:03
oni-on-ion
makomo: got quite good with it. took me a couple days of having fun because i never learned hjkl movement. it does directionals too, and shift+(key)
14:15:33
oni-on-ion
makomo: i am happy to find that most UI elements are in that pattern of "subdivision", which is also quite interesting philosophically =)
14:16:47
makomo
oni-on-ion: hmm very nice. i wonder how efficient one could get it. at first it seems "horrible", but i suppose i would think differently after a few days of using it/practicing
14:18:33
oni-on-ion
the fingers learn which directions for which button quite quickly. ie. dark mode toggle on firefox is 3 keys to hit, or the youtube search bar is 2 key.
15:26:10
Demosthenex
no-defun-allowed: so i prefer my tiling wm with terminals pre-allocated. guis and i don't get along. yes, good hotkeys and keyboard support in a gui make it better, but if i'm writing something it'll be text only. and firefox sucks now that they've forced end user windoze hotkeys on everyone forever.
15:28:37
Demosthenex
btw, i am very impressed reading this introduction to concurrency. https://z0ltan.wordpress.com/2016/09/02/basic-concurrency-and-parallelism-in-common-lisp-part-3-concurrency-using-bordeaux-and-sbcl-threads/
15:32:20
Demosthenex
bet i could use that for async input for keyboards and a shared locked queue of input events
15:52:19
phoe
I'm designing a server for a text-based game, and I noticed that I base literally everything around queues and message-passing in there.
15:53:25
phoe
And threads that block until a message is received, at which point they parse the message, do their job, and block again, waiting for a queue to get a message again.
15:58:07
oni-on-ion
been using exwm+emacs+keynav for some time, no mouse, firefox only when necessary