freenode/#lisp - IRC Chatlog
Search
6:25:56
drmeister
Two molecules made by yours truly (well - the top one I made 25 years ago and the bottom one my student made a few months ago). Displayed in a jupyterlab notebook running in a programming environment that my group has been developing (Cando).
6:37:32
zigpaw
drmeister: looks awesome :) only thing I have noticed is that the notebook still have ipnb extension (and not something else like clnb), but I'm not a jupyter user so I don't know if that would pose a problem or not when reopening it.
6:40:20
drmeister
zigpaw: Hmm, it's not a problem because the file is a big JSON file and it contains metadata about which kernel/language created it. But I hadn't thought about that before. I'll investigate if we are stuck with that extension with jupyterlab.
6:42:28
drmeister
We had to fork some python packages that are involved in jupyterlab - they were called ipykernel and ipywidgets. We renamed them to cl-ipykernel, cl-ipywidgets - approaching maximum silliness in naming. Hi ho.
6:42:38
zigpaw
ah, didn't know jupyter holds its data as "json blob", was thinking it looks more like 'org document'.
7:05:42
drmeister
Those O'Reilly conferences are too rich for my blood. They had platinum, gold, silver and brown levels - I wouldn't even pay for brown.
7:06:14
drmeister
They even had a web page "How to convince your boss that you should go to this conference".
7:46:00
_death
personally I cannot recommend CLR.. it's the first Lisp book I gave up reading halfway
7:54:32
_death
every page has distracting footnotes, the writing is dry, it never goes deep - always feels as though the writer had too little time and has to just put down the normative conclusions.. the introduction said it's for "intermediate" level, and most of what I read I already had opinions about.. so maybe I'm not the audience
8:00:25
p_l
razzy: yes, road of least effort is to start by using ubuntu 8.04 or so in qemu/vbox/vmware
8:32:22
p_l
For snap4 port, you need an old ubuntu (I recommend 7.x or 8.x),dissble shadow passwords, install NIS and NFS v2, then you can somewhat safely run snap4 with Genera images from netwotk
11:25:25
no-defun-allowed
It appears matrix->irc just silently dies if you need to re-enter your password.
11:44:42
no-defun-allowed
Honestly the best solution was erc in Emacs but it's kinda slow and tedious to start Emacs.
11:45:47
no-defun-allowed
I wrote my copying GC too. I'm still sussing out the design but it happily collects conses and numbers.
11:51:52
jackdaniel
emacs is a painful experience on desktop; I can imagine how much worse it would be on a phone
11:52:24
no-defun-allowed
(beach: obviously it's cause they wrote their complicated decentralised protocol using Python servers.)
11:52:48
no-defun-allowed
On this phone, it takes a few seconds, but I can imagine Termux fucked something up.
11:53:36
no-defun-allowed
So, um, garbage collection. It works, and I use a linked list of pointers to pointers that must be updated when stuff is compacted.
11:56:33
no-defun-allowed
An integer offset is used with pointer arithmetic to get cells relative to the heap. I don't like it as Cee wouldn't let you keep an "integer" which can't be mixed with an actual integer like Go does.
11:58:12
no-defun-allowed
I use rainbow parens, SLIME and company mode sometimes. (Never got company working with SLIME. It just falls back to "stupid symbol spotting mode" every time.)
12:00:34
no-defun-allowed
I don't think there's anything I can improve on, but it was an interesting project to write one.
12:08:03
razzy
no-defun-allowed: i think that obvious garbage collecting has beed done. and we can argue on heuristic how to choose most beneficial garbage collecting that differentiate because of hardware and software used. those heuristic could be interesting, but shoud be accesable for programmer
14:27:22
emaczen
Bike: I'm pinging 192.168.1.* to search for services, and when I make a successful connection I store the address and the "BASIC-TCP-STREAM SOCKET"
14:27:45
emaczen
Once it is finished some of the BASIC-TCP-STREAM SOCKETS will be closed and others will not.
14:29:50
emaczen
Here is what lisp prints and what I mean by socket: #<BASIC-TCP-STREAM ISO-8859-1 (NIL/59) #x302004A8D8CD>
15:01:15
jdz
Linux also has some parameters to control TCP connection keepalive (http://www.tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html).
15:01:28
emaczen
jdz: What doesn't make sense to me is that all services are in the same state as far as I can tell but they don't all end in the same state?
15:12:12
emaczen
just map but it is a defmethod so I can't have different datastructures be mappable and for this instance spawn a bunch of threads
15:37:24
Xof
I couldn't find one. I wonder whether it was a figment of my imagination. I *did* find a half-baked Canvas backend
15:40:07
Xof
sorry! (Also, the firmware for the network card on that machine appears not to be y2k18 compliant
15:43:57
joe42
Hello. Is there a 'preferred' way to use fastcgi & common lisp? Or basically 'which ever tool suits you'?
16:09:42
Xach
joe42: i'm not sure there are a lot of options regarding fastcgi. i do not think it is often used for lisp web apps. it is more typical to use a reverse proxy to a lisp web server.
16:12:50
p_l
cheapest option if you really don't have anything else - /etc/inittab (better use runit there, though)
16:15:03
p_l
joe42: runit should work on OpenBSD, it's quite damn portable (except for writing to process name, but that's not critical feature)
16:24:25
AeroNotix
joe42: I'd recommend systemd, it solves 99% of issues but since you're on BSD and I'm not familiar at all with BSD. I don't know what to suggest.
16:25:07
AeroNotix
Seems it uses the typical https://www.freebsd.org/doc/en_US.ISO8859-1/articles/rc-scripting/index.html style though
16:27:11
AeroNotix
not entirely sure what to suggest since, like I said, not familiar at all with bsd but if runit is available then that route is probably best.
16:28:10
AeroNotix
joe42: but if you're running a web server in CL then perhaps nginx + proxy_pass and use the typical start up scripts you've probably already got for nginx
16:29:00
AeroNotix
and just configure nginx to proxy to the CL application, and write a runit script to start the CL application before nginx.
16:30:12
joe42
yeah, that part seemed pretty strait forward, and I will be testing a web server written using ningle. Thanks
16:35:11
AeroNotix
phoe: regarding the REPL. You can embed a slime listener into your application rather than needing to have access to the terminal it ran in. That's how I've always deployed CL applications. A slime repl on a non-exposed port.
16:38:02
trittweiler
AeroNotix, it should be possible (perhaps it is even done by default), that the swank socket listens on localhost only
16:39:43
trittweiler
yeah, but it means you need a firewall rule and so it's one more component that could fail, murphy's law etc.
16:40:21
AeroNotix
take out the words "non-exposed port" and replace with "non-exposed listener" then
16:40:53
AeroNotix
The way I used to have to deploy it was listening on all interfaces and use AWS firewall rules to give me access via a bounce box
16:41:36
AeroNotix
previous work didn't allow access directly to all machines, only certain ones. We'd have to get to the SLIME port via another machine