libera/#commonlisp - IRC Chatlog
Search
12:44:57
Shinmera
Not really. The GLFW backend uses fond for rendering text, which has several issues. The MSDF text renderer is leagues better, but atlas generation is broken right now.
12:53:56
shka
Shinmera: well, examples look fine for me, but i don't know how they are supposed to look
13:06:07
Shinmera
not sure what you mean by widget, and also not sure I know good starter points in general.
13:07:41
Shinmera
you'll need to either define a button subclass and use presentations:define-realization, or use the :shapes initarg... if I recall right? That stuff is part of the presentations stuff, renderers/simple/presentations/
14:32:09
Josh_2
Anyone know if ChanL spawns a new thread each time pexec is called or if it grabs a running thread from a pool?
14:52:49
Guest82
Hi, I'm getting socket errors saying the network is down, but really it's because my computer is slow... Does anyone know where to change an argument to make the timeout longer so that I can run the app?
14:53:01
Alfr
You'd have to create worker threads which receive-process-loop on such channels and manage them.
14:53:45
Guest82
I had this issue with slyblime and changed it there in the settings, now I'm trying to run some lisp code from the terminal as a bash program and I don't know where to fix
14:58:00
Guest82
Does anyone know is there an argument to pass into sbcl command line to make it wait for a response longer before declaring that a network error is down or that a problem is happening?
15:15:35
etimmons
Guest82: To answer your direct question, I don't think there is one. That's likely to be something the application creating the socket is responsible for.
15:16:17
etimmons
But I also doubt that's your actual problem. The error in your pastebin is network down, not a timeout.
15:21:57
char
Does anyone know what is happening with cl-password-store. It look exactly what I want, but it looks to have some major issues
15:25:11
Alfr
Josh_2, that's not what I said. You have to create those receive-process-loop threads upfront.
15:25:25
Guest82
etimmons Thanks for getting back to me! Yeah, the reason I thought so is because I was also having problems developing on hunchenhoot in sublime text's slyblime and this solved the issue: https://github.com/s-clerc/slyblime/issues/11
15:29:33
Alfr
Josh_2, so bare bones for such a thread could be simply running the following thunk: (lambda () (loop (process (receive some-channel))))
15:30:03
Guest82
etimmons otherwise I didn't know where to go from here. I thought it reports network down because it doesn't wait long enough for a response from the server... when installing things with qlot, it happened a few times and if I ran the command right away it would work finishing the download, and would break again with another download, so I had to
15:30:03
Guest82
just run the command successively a few times till it worked, but the same didn't work with running the server...
15:31:52
Guest82
I'm new at lisp, I've been trying to use it for a project to learn it, but I keep getting bogged down by these types of errors for which I don't know where to turn for answers... I worked as a software developer doing serious back end web development with big data and a bunch of different systems, so I figured I would be able to work on lisp for a
15:31:52
Josh_2
That could be useful Alfr, allows me to easily just send commands to be executed in the background
15:32:46
etimmons
Guest82: The variables mentioned in that slyblime issue don't get passed on to the lisp process. They tell slyblime how long to sleep between starting the process, telling the process to load slynk, and then attempting to connect. See: <https://github.com/s-clerc/slyblime/blob/33c8ccceaf884655d8fbf382f9421e0b967d924d/src/sly.py#L180>
15:33:26
Alfr
Josh_2, I suspect those your process function will signal. recv blocks by default when the channel is empty.
15:34:18
etimmons
Guest82: my guess is that your something on your network is flaky. So a timeout won't help, you actually need to retry.
15:34:27
Guest82
etimmons thanks, I see that. So it could just be a problem with the app itself and not my system?
15:35:15
etimmons
First, I'd recommend not starting with qlot. Just use quicklisp directly (it's what qlot uses under the hood)
15:35:40
Alfr
Josh_2, and you likely will want to establish some catch all/most error-handlers or some error might just terminate that thread.
15:35:58
etimmons
If you keep having issues, this channel is more likely to be able to help since that's a more common configuration
15:37:58
Alfr
Josh_2, usually those things are implemented without spinning, e.g. using some trickery with memory barriers.
15:38:29
Guest82
etimmons great thanks. Will try, I was trying to use this https://github.com/fukamachi/utopian which uses qlot by default
15:38:31
char
Josh_2: Is there a repository for you rpassword store? can it easily be used in another project?
15:40:50
Josh_2
Guest82: imo you should either just use Clack or Hunchentoot and then add on functionality you need from external libraries
15:43:00
Guest82
Josh_2 thanks. I tried using Hunchentoot and it worked well, I was hoping to use something more in par with regular web dev frameworks and not feel like I have to reinvent the wheel... but probably that's more lispy, to put the system together myself?
15:44:03
Guest82
Can anyone try to replicate what I did to determine if it's an issue with my system or the software? Here are the steps I took https://pastebin.com/LGUcmUkH based on the getting started here: https://github.com/fukamachi/utopian Note that the DB part can be skipped...
15:45:18
Josh_2
Guest82: Unfortunately we dont have an epic web framework, probably because CL makes the individual so productive you dont need one
15:48:10
Guest82
Josh_2 haha thanks, yeah, that's why I'm trying to learn... but it's a bit of a bumpier road than most others so far
15:55:44
shka
https://github.com/fukamachi/utopian/blob/6ae7e09bc541e8bf5173069aaf93850786c02f6a/utopian.asd#L9
15:55:50
Guest82
hm, oh well, I guess we tried, each one got stuck at a different step, thanks again!
15:59:38
Guest82
as an aside for learning how to debug things, how would I go about finding out where in the code is this issue? https://pastebin.com/rYuT3igz
16:03:56
Guest82
Josh_2 is caveman2 also good? I tried using caveman2 for a todo app and it worked, meaning I was able to figure out how to use it, radiance seemed cool but didn't end up going through TLDR... Why is Clack more accepted? Just because it's an abstraction layer?
16:04:29
Guest82
I can put things together from external libraries, but that's exactly what it seemed that this utopian project is doing...
16:07:43
Josh_2
Personally never used roswell or any of the external tools for managing lisp projects, other than quicklisp ofc
16:09:07
Josh_2
Also I just use hunchentoot, although if I knew I had a high traffic project then I'd use clack because it supports Woo as a backend
16:09:23
Josh_2
like if I was writing an application service for Matrix then I would use Clack because Woo is so fast
16:11:31
Josh_2
Nope, not sure what sort of performance I could squeeze out of hunchentoot if I tried quux-hunchentoot
16:12:23
jackdaniel
being twice as fast as 1ms gives you 2ms, if you don't own gazillion computers with gazillion^2 connections then this doesn't matter
16:14:28
Josh_2
jackdaniel: this is why I normally just use hunchentoot, I prefer the extensibility of hunchentoot and I'm not concerned with the speed
16:14:40
Guest82
Are there any commercial projects that actually use lisp for a web app? besides the flight company?
16:20:06
contrapunctus
Guest82: Bevuta GMbH uses (and develops) CHICKEN Scheme...and for CL there's also Grammarly, if I remember correctly.
16:27:56
contrapunctus
Guest82: also, does GOAL and GOOL count? At least one of them was implemented using Common Lisp. Naughty Dog seems to use Racket these days. https://youtu.be/Ox2H3kUQByo?t=2274
16:28:49
char
Josh_2: I notice that you use a lot of CHECK-TYPE. Is there a reason for that over declare type?
16:32:08
shka
anyway, i advice to use check-type if you want portable and solid behavior on the past, current and the future SBCL versions
16:32:11
Josh_2
char: I wrote that bit of code quite a while ago :O if I went through it now I'd probably get rid of them
16:33:52
shka
anyway, does not change my statement, check-type is a better pick if you just want to check type
16:34:46
char
in terms of preformace, I think compiler can optimize on declare, but can it optimize on check-type?
16:37:01
jackdaniel
char: it can; what's more in general sense it can't optimize solely based on declare (i.e it needs to insert the type check in order to optimize), otherwise you may get segfaults and other fancy things
18:01:49
lisp123
I've herad good things about GNU Guile, its on my list to check out as I complete my transformation into a GPL / FSF supporter
18:32:49
Josh_2
Well I did make it in a couple hours as a challenge for some discord server i was in
18:53:12
char
Josh_2: I'm also not sure bringing in babel was a good idea. I'm getting a end-off-input error now
18:54:41
char
Josh_2: salt, and I'm not sure that the to-encrypt arg is supposed to be, maybe just a little more documentation and exmaple would do.
20:01:17
char
wow examples are powerful. And help me realize that this is not at all what I'm looking for. Cool project still though.
20:04:26
char
This is more for making a password manager to keep track of a single user's passwords to many different locations. I am looking for a generic way to keep track of many users' passwords for a single website. I still appreciate your updates.
20:05:39
Josh_2
Have a user as a group? Each location an entry, and a single password that you keep to decrypt them
20:07:21
char
Something like that could work. The user's password would be the "pass" arg and the and I would make sure that the decrypted result is correct
20:08:31
Josh_2
Tbf you can just hack up the source, and make it your own, the important part is the encryption/decryption of passwords, even if you just took the functions below *prng* you would off to a good start
20:09:06
Josh_2
I believe that the encryption used by default is basically the hardest ironclad has, threefish1024, a 128bit IV and a sha512 hashed key