libera/#commonlisp - IRC Chatlog
Search
15:07:56
beach
Here is an interesting project suggestion for someone who is not too busy: Write a "magit"-like pane for McCLIM. And presumably call it "McGIT".
15:08:40
beach
Such a pane will be a nice ingredient to have in an IDE. But it could also be used independently.
15:12:44
beach
This project could be done in fairly small increments, and it could be useful very soon. I mean, many people use only very basic GIT features anyway, so it would be useful to such people almost immediately.
15:15:02
beach
The project would include an (optional) application frame so that the entire thing could be run as an application.
16:23:51
shka
ACTION wanted to implement the some of the missing functions for his ordered containers
17:35:36
pjb
jmercouris: you could probably load swank, and start a swank server from the main or initialization routine.
17:37:17
jmercouris
Are you suggesting I start a lisp image from inside the JS main thread and listen for output from lisp?
17:37:29
pjb
jmercouris: just add swank as dependency in the asd, and (swank:start-server :port <some-port>) in the run, before starting hunchentoot.
17:39:28
pjb
It would then be trivial to write a RSRPL where you read as exp, send a request to your web app with it, read the response and print it. loop.
17:39:50
lisp123
defgeneric & defmethod - are they independent of package namespaces (i.e. if I do a defgeneric in package xyz and a defmethod on same name in package abc - it will work?)
17:41:03
pjb
(progn (defgeneric #1=#:foo (x) (:method ((x t)) 'generic) (:method ((x string)) (format nil "foo-~A" x))) (mapcar '#1# '(42 "yep"))) #| --> (generic "foo-yep") |#
17:46:27
Lycurgus
cl-state-machine and finite-state-machine are the two pkgs, I've found for cl fsm, any recommendations for others
17:46:55
lisp123
jmercouris: you can use web sockets and send / receive messages (use the package :hunchensocket) - not sure if that it is too much overhead
18:10:49
jmercouris
so I guess I'll just have to run a webserver in JS, and then send JS from Lisp land
18:28:12
yitzi
Bike: Just to confirm. common-lisp-jupyter doesn't do anything with Javascript. There are some display commands to send Javascript to the frontend, but it is completely opaque from CLJ's perpective. All JS is handled by whatever frontend you have, i.e. notebook or lab.
18:30:02
yitzi
I have a kind of literate programming tool like cweb that can call whatever Jupyter kernel you want, but I haven't used it in a while. No JS, no user input. Just using the kernels to execute code. Kind of an example from the other end of the spectrum.
20:01:08
lisp123
I joined comp.lang.lisp and tried to delete the spam posts - it says only a "content moderator" has access to that
20:01:25
lisp123
Does that mean there is someone who can delete these posts? There's only 1 per day looks like
20:12:14
pjb
lisp123: posts can be cancelled by its originator, if he made prosivions to this effect (include a key that let him cancel the article). But once the nntp servers have spread the data, it cannot be deleted. Someone will have a copy.
20:14:26
pjb
Now, since there's a lot less nntp traffic, only a few servers remain. The articles could be removed or filtered in a server.
20:15:32
pjb
It's a sad situation, but technically nowadays, a single server can easily serve all the nntp users.
20:20:23
pjb
A nice thing is that there are archives of usenet, so you can integrate them to your server, so people could still read and search old news.
20:20:57
lisp123
is it possible to still have the name "comp.lang.lisp" or would you have to choose a new name?
20:22:51
pjb
Indeed you'll have to implement some way to register users and prevent posting from non-registered users.
20:23:24
pjb
Nowadays, most nntp service do that. But this doesn't prevent idiots to spam the groups.
20:23:37
lisp123
and sorry for all the stupid questions, can people read and reply via their e-mail?
20:26:09
phantomics
I.e. someone could publish a list of messages to block and others would subscribe to that list in some way and filter out spam in that manner
20:26:37
phantomics
If you didn't like one moderator's choices of what messages to block you could subscribe to a different mod's block feed
20:27:14
pjb
lisp123: yes. But usually there's an way to register automatically, and you'd be removed manually in case of bad behavior.
20:29:10
lisp123
is the current comp.lang.lisp basically google's? so it would be good to migrate away?
20:31:16
pjb
the wikipedia page is interesting too, notably the graphic that shows the existing nntp providers and their links: https://en.wikipedia.org/wiki/News_server
20:31:59
pjb
lisp123: so, indeed, subscribing to some server and slurping the archives (you may contact the administrator for the initial rsync if you want to mirror old news).
20:33:01
pjb
Also, some newsgroups receive "binary" data. Big messages uuencoded (or nowadays base64-encoded), notably picture files. So a lot of storage may be required if you want to allow it.
20:33:19
lisp123
phantomics: has the enternal-september.org newsgroup added authentication / blocked spammer?
20:34:48
phantomics
eternal-september and a lot of other servers don't host the binary groups because of the storage required
20:35:06
pjb
lisp123: this may help: https://muspin.gsfc.nasa.gov/download/docs/technical_guides/planning_a_usenet_site_2_of_2.pdf
20:35:50
pjb
lisp123: sure, 1- you can disable those newsgroups, and 2- you can filter big uuencoded/base64 encoded messages
20:36:57
pjb
The fundamental problem was that nntp server form a network and you don't own all the nodes, so if a server accepts a message from a user, it gets diffused automatically to your server.
20:44:10
lisp123
pjb: . that makes sense. but i guess if you start from scratch you don't have any nodes that could cause you problems. Which I assume is what you are saying
23:41:26
jcowan
Naturally. Writing a CL requires a bunch of students or very remarkable stick-to-it-iveness