Xach changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook>
<_death> mcclim has several backends you can try, clx, clx-ttf, clx-fb
cosimone has quit [Ping timeout: 256 seconds]
taiju has quit [Ping timeout: 268 seconds]
thomaslewis has joined #commonlisp
<Catie> _death: how do you choose a backend? Is it something you can select at runtime, or is it a compile-time option or something like that?
<_death> (setf clim:*default-server-path* :clx)
thomaslewis has left #commonlisp [#commonlisp]
<Catie> Thank you! This is really cool to mess around with!
Inline has quit [Ping timeout: 260 seconds]
lisp123 has quit [Remote host closed the connection]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<Catie> Okay yeah, it appears that on my system the default is :CLX-TTF, and when I use just plain :CLX I get some broken font handling
<random-nick> :clx presumably uses the old X11 protocols for rendering fonts
<Catie> It's pretty gross looking. Neither of them plays well with my window manager though, they both go into a weird flickering error loop when I move the window and it resizes
<Catie> So you know. Not quite ideal
<scymtym> it is possible to use a freetype render via ffi in McCLIM: https://github.com/McCLIM/McCLIM/wiki/Freetype
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life has joined #commonlisp
karlosz_ has joined #commonlisp
thomaslewis has joined #commonlisp
<_death> here's a recent clim (on stumpwm) video mpv https://adeht.org/dump/vid-2021-06-24T1821.mp4
<_death> but yes, there's flickering (and sometimes it's really bad.. e.g., with images.. I think that got worse recently)
Jing has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
thomaslewis has left #commonlisp [#commonlisp]
igemnace has quit [Remote host closed the connection]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Jing has joined #commonlisp
Catie has quit [Quit: going home]
<_death> but Catie talked about a flickering loop, which also happens, e.g. if I switch to another window and back.. then one way to stop it is to do the same again
perrierjouet has quit [Quit: WeeChat 3.3]
s-liao has joined #commonlisp
<_death> I'm still not sure how to fix that.. requires some X mastery
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<holycow> _death: neat app. what are you building? looks like machine learning related?
<_death> holycow: it's a library for dealing (inference, learning, etc.) with bayesian networks.. in this case I wrote this tool to debug my MDL (minimum description length) structure learner
<holycow> neat!
<holycow> playing around with mcclim to see how well it works or somethign more serious?
<_death> here's an older video (don't mind the joke model ;) https://adeht.org/dump/vid-2021-01-09T2156.mp4
anddam has quit [Quit: WeeChat 3.3]
<holycow> oh heh
<holycow> you know this app in the second video?
<holycow> you just built something i wanted for years for diagramming networks when doing site surverys
<holycow> always wanted a side pane where i could use s-experssions to define hierarchical relationship and have the main window draw it out.
<holycow> and in your case, draw a ui
<holycow> nice work
<holycow> what do you think of mcclim?
<_death> it's not difficult to do that kind of stuff with mcclim.. but there are many rough edges.. for example at first I wanted to use the drei editor with syntax highlighting etc., but it was extremely slow, even with little snippets like in the video
<holycow> interesting
<holycow> i can't wait until someone wraps lem in mcclim
<holycow> does mcclim use ltk to draw the widgets or does it draw all the widgets it self?
<holycow> was just looking up lem / mcclim and ltk is reffered in a bunch of places
<_death> it does it itself
<holycow> ah, perfect.
anddam has joined #commonlisp
random-nick has quit [Ping timeout: 256 seconds]
karlosz_ has quit [Quit: karlosz_]
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
<_death> hmm, seems 97321395 broke my commands pane (inherits from command-menu-pane, and simply calls display-command-menu).. can't select commands
Guest74 has joined #commonlisp
<Guest74> TIL defstruct slots have a read-only option. I must have read the clhs page dozens of times and only learned this from reading Losh's blog about chip8.
<copec> Is there a macro to setup WITH-SLOTS to n objects simultaneously?
Qwnavery has joined #commonlisp
<copec> I think I'm doing it wrong, as I feel like if I had something that was like a let* and with-slots map from two related objects to two other objects that will be related, and that way I wont have 6 nested levels of let and with-slots
<Guest74> with-slots uses symbol-macrolet so it's instance specific.
BonnieT100 has joined #commonlisp
<_death> you could write one.. but maybe simply using accessors & keeping with one function to a function principle will do
<copec> When it gets where there are a bunch of things that need to happen I have a hard time figuring out what to roll up into functions until I write some of it imperative
<copec> I've gotten better over time
taiju has joined #commonlisp
<_death> you can always paste the code and ask for comments here
<Guest74> I wonder if anybody has written a project manager, to keep track of code and things to do?
<contrapunctus> Guest74: like Roswell? 🤔
<Guest74> Something in Lisp.
<Guest74> I try not to use any ffi.
<Guest74> and pretty much live in the repl.
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
taiju has quit [Ping timeout: 260 seconds]
taiju has joined #commonlisp
thomaslewis has joined #commonlisp
horar has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
karlosz has joined #commonlisp
jealousmonk has quit [Quit: ERC (IRC client for Emacs 27.1)]
<Guest74> anybody use flute for html generation? thoughts?
<copec> Like, you play the flute, and a trained net interprets it into html?
<Guest74> the key is in the foot movement.
taiju has quit [Ping timeout: 256 seconds]
igemnace has joined #commonlisp
<Guest74> I'm pruning my github where i've forked way too many things I thought might be useful in case they disappeared.
sander has quit [Quit: So long! :)]
sander has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
_73 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
horar has quit [Quit: Client closed]
|3b|` is now known as |3b|
s-liao has joined #commonlisp
<contrapunctus> Guest74: why not get a more unique nickname? 😀
s-liao has quit [Ping timeout: 256 seconds]
<Guest74> that's my present for when I finish my gui for irc.
<Guest74> i.e. I'm lazy and it doesn't seem important.
<contrapunctus> Huh
akoana has quit [Quit: leaving]
<mfiano> As long as you don't mind messages for you being delivered to the wrong person
<Guest74> yeah, it really wasn't supposed to take this long.
<mfiano> We have bots that relay messages, but since Guest nicks are randomly allocated to people that don't login to NickServ, a message for you may be given to someone else.
<Guest74> but then cl-irc was having issues with libera
waleee has quit [Ping timeout: 260 seconds]
<mfiano> It also makes it confusing, since others that recall your name may think you are someone else.
<Guest74> then I somehow got distracted implementing sane.
<Guest74> Has there really been many guest74s around?
<mfiano> I normally ignore guest nicks for this reason, so back to code
<Guest74> hey, mfiano: have you posted your wave collapse stuff anywhere?
<mfiano> It is not efficient, nor documented, but it's one of two texture synthesis algorithms in this repository: https://github.com/mfiano/syntex
<Guest74> that might be private, 404
igemnace has quit [Remote host closed the connection]
<mfiano> So it is. I guess I wasn't ready for the world to look at that code.
<mfiano> Fixed
<Guest74> thanks. Always nice to see other peoples approaches, especially more competent people.
<mfiano> The algorithm itself is not guaranteed to halt and very difficult to optimize for space. I have to rewrite the propagator
<mfiano> Currently it uses a naive backtracking approach, so has to store arbitrarily-sized vectors for each pixel for each iteration
<mfiano> I have ideas on how to make it more space friendly, but I am on hiatus at the moment
<Guest74> no problem. I'm sure I'll learn something from looking at it.
<beach> Good morning everyone!
<mfiano> This algorithm sort of led me on an intense interest in propagation networks and traditional AI algorithms, so have been reading papers and books for the last...8 months it seems
<mfiano> Oh make that 5...not as long as I thought, good :)
<Guest74> Do you use anything to keep track of all that?
<mfiano> The problem is this algorithm is very sensitive to state changes, and I don't full understand why it fails with some of my more sophisticated backtracking algorithms
<Guest74> I've got like a bazillion tabs open.
<mfiano> Org mode
<mfiano> Particularly, OrgRoam
<Guest74> I'll look into it.
<Guest74> Do you have visualizer for it running?
<mfiano> No
<Guest74> I often find seeing stuff in action helps to see what's going wrong.
<mfiano> I use the inspector and Sly stickers for that
<Guest74> those aren't graphical are they?
<Guest74> I have trouble with just numbers.
<mfiano> No, not really. A visualizer wasn't in my interest because of how much memory is required for small input images with the current approach. I was constantly blowing my heap, and I would like to rewrite the propagator before storing even more state for animation.
<mfiano> Like I said, it is very space-inefficient
<Guest74> ah, I guess I'll see when I try it out.
semz has quit [Ping timeout: 260 seconds]
<mfiano> I may consider rewriting that algorithm in a less awful style with generic functions soon. For now, I'm just letting the subconscious thoughts accumulate for a bit.
<mfiano> That code really wasn't meant to see the light of day :)
<Guest74> lol, i've got tons of that stuff.
<Guest74> usually gets totally rewritten after doing other things for a while.
<mfiano> Well, that code was started late last year, and I have since changed my stance on using standard classes and generic functions with proper protocols, over the minimal performance gains of heavily type-annotated functions and structure classes spread out across many mutually dependent package madness.
<Guest74> I'm a little confused, i thought it was pixel based, but I see tile everywhere.
<mfiano> Only the top-left pixel of a tile contributes to the output image.
semz has joined #commonlisp
<mfiano> Reading that code probably assumes a lot of domain knowledge on image convolution kernels and whatnot
<Guest74> It's been a while. apparently my code is 2 years old in 2 weeks. but i seem to recall doing whole tiles as a separate method.
<mfiano> But no, it isn't pixel-based. Like most texture syntesizers it uses image convolution, so the kernel is the atomic unit.
<mfiano> A tile is basically an instance of a kernel as it slides over the image, with state recording all possible patterns that can exist.
<mfiano> iirc anyway
srhm has quit [Quit: Konversation terminated!]
* mfiano adds visualization and developer documentation to long list of things for the rewrite
Oladon has quit [Quit: Leaving.]
Guest74 has quit [Ping timeout: 260 seconds]
lisp123 has joined #commonlisp
<lisp123> Is McClim and Clim (Lispworks / ACL versions) somewhat compatible? I.e. if I write a program in one, it should work mostly in the other with some adjustments?
iisi has quit [Ping timeout: 245 seconds]
d_run has quit [Ping timeout: 245 seconds]
stylewarning has quit [Ping timeout: 260 seconds]
pl has quit [Ping timeout: 260 seconds]
alanz has quit [Ping timeout: 260 seconds]
gendl has quit [Ping timeout: 260 seconds]
IUSR has quit [Ping timeout: 245 seconds]
servytor has quit [Ping timeout: 268 seconds]
iisi has joined #commonlisp
jsatk has quit [Ping timeout: 245 seconds]
drmeister has quit [Ping timeout: 260 seconds]
ullbeking has quit [Ping timeout: 260 seconds]
d_run has joined #commonlisp
elderK has quit [Ping timeout: 268 seconds]
hubvu has quit [Ping timeout: 260 seconds]
splittist has quit [Ping timeout: 260 seconds]
jmercouris has quit [Ping timeout: 260 seconds]
IUSR has joined #commonlisp
hubvu has joined #commonlisp
splittist has joined #commonlisp
stylewarning has joined #commonlisp
elderK has joined #commonlisp
jsatk has joined #commonlisp
servytor has joined #commonlisp
pl has joined #commonlisp
gendl has joined #commonlisp
drmeister has joined #commonlisp
jmercouris has joined #commonlisp
alanz has joined #commonlisp
ullbeking has joined #commonlisp
domovod has joined #commonlisp
BonnieT100 has quit [Ping timeout: 264 seconds]
<beach> lisp123: They are implementations of the same specification.
<lisp123> beach: That's what I was thinking. Thanks for confirming.
<beach> Sure.
<beach> McCLIM is a better implementation than the others, though :)
<lisp123> I'm sure :)
<beach> Scott McKay told us that the implementation of presentation types done by moore33 (Tim Moore) was like it should be done, and the reason they didn't do it that way was that CLOS wasn't stable at the time.
<beach> Scott McKay is the author of the CLIM II specification, in case that wasn't clear.
<lisp123> beach: Nice to know
<lisp123> How much effort do you think it would take to create native Cocoa or windows bindings for McClim?
<beach> I have absolutely no desire to use or even contemplate commercial operating systems.
<holycow> me neither
<lisp123> Fair
domovod has quit [Ping timeout: 260 seconds]
ebrasca has joined #commonlisp
euandreh has quit [Ping timeout: 268 seconds]
s-liao has joined #commonlisp
taiju has joined #commonlisp
pve has joined #commonlisp
aeth has quit [Read error: Connection reset by peer]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
aeth has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
taiju has quit [Ping timeout: 264 seconds]
igemnace has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
guthur has joined #commonlisp
Jing has quit [Remote host closed the connection]
shka has joined #commonlisp
<guthur> CFFI question. I have a callback function had receives a struct A and translation-from-foreign function on the type A. This works great except that CFFI complains about bare references to structs being deprecated, and that I should use (:pointer (:struct A)) but the problem there is that it does not seem to invoke the translate-from-foreign
<guthur> function if i use that form. Any suggestions?
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
igemnace has quit [Quit: WeeChat 3.3]
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
kadir has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Posterdati has quit [Ping timeout: 260 seconds]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
taiju has joined #commonlisp
Jing has quit [Remote host closed the connection]
Posterdati has joined #commonlisp
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
taiju has quit [Read error: Connection reset by peer]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
taiju has joined #commonlisp
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
hendursa1 has quit [Ping timeout: 276 seconds]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
taiju has quit [Read error: Connection reset by peer]
ebrasca has quit [Remote host closed the connection]
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
taiju has joined #commonlisp
Jing has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
hendursaga has quit [Ping timeout: 276 seconds]
taiju has quit [Read error: Connection reset by peer]
hendursaga has joined #commonlisp
kadir has left #commonlisp [WeeChat 3.3]
taiju has joined #commonlisp
aartaka has joined #commonlisp
even4voi- has left #commonlisp [#commonlisp]
gaqwas has joined #commonlisp
Qwnavery has quit [Quit: WeeChat 3.3]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
edgar-rft has quit [Quit: Leaving]
dec0d3r has joined #commonlisp
dec0d3r has quit [Remote host closed the connection]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
s-liao has joined #commonlisp
Krystof has joined #commonlisp
BonnieT100 has joined #commonlisp
Lycurgus has joined #commonlisp
Jach has quit [Quit: Leaving.]
s-liao has quit [Ping timeout: 256 seconds]
perrierjouet has joined #commonlisp
varjag has joined #commonlisp
pve has quit [Ping timeout: 245 seconds]
pve has joined #commonlisp
lisp123 has quit [Quit: Leaving...]
Lycurgus has quit [Quit: Exeunt]
even4void has joined #commonlisp
amb007 has quit [Ping timeout: 268 seconds]
amb007 has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
amb007 has quit [Ping timeout: 245 seconds]
amb007 has joined #commonlisp
karlosz has quit [Quit: karlosz]
cage has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.3]
perrierjouet has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
Inline has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.3]
BonnieT100 has quit [Remote host closed the connection]
BonnieT100 has joined #commonlisp
<guthur> I think we sort of resolved it, Just using cffi:mem-ref in the body
tyson2 has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
random-nick has joined #commonlisp
cosimone has joined #commonlisp
edgar-rft has joined #commonlisp
cosimone has quit [Ping timeout: 268 seconds]
tfeb has joined #commonlisp
cosimone has joined #commonlisp
tfeb has quit [Client Quit]
anddam has quit [Ping timeout: 256 seconds]
edgar-rft has quit [Ping timeout: 256 seconds]
edgar-rft has joined #commonlisp
<pjb> guthur: yes, this doesn't convert the structure, but it's as good.
anddam has joined #commonlisp
Jing has quit [Quit: Textual IRC Client: www.textualapp.com]
Jing has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
s-liao has joined #commonlisp
amb007 has quit [Ping timeout: 245 seconds]
amb007 has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
perrierjouet has joined #commonlisp
varjag has quit [Ping timeout: 260 seconds]
ym has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
domovod has joined #commonlisp
azimut_ has joined #commonlisp
azimut has quit [Ping timeout: 276 seconds]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
taiju has quit [Ping timeout: 245 seconds]
Bike has joined #commonlisp
_73 has quit [Ping timeout: 260 seconds]
McParen has joined #commonlisp
taiju has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
X-Scale` has joined #commonlisp
X-Scale has quit [Ping timeout: 268 seconds]
X-Scale` is now known as X-Scale
paule32 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<Xach> borodust: no luck on the fix, still fails
<borodust> hmm
<borodust> it almost seems like quicklisp didn't pick up latest tag update
<borodust> Xach: is there a way to see what commit was picked up?
<Xach> borodust: latest stable
<Xach> Hmm, let me check the specific commit
amb007 has quit [Ping timeout: 264 seconds]
<borodust> i'm using weird thing as moving tags for stable quicklisp things, i remember you added support for that weird use case
amb007 has joined #commonlisp
<borodust> can that be this feature regressed?
<Xach> possibly
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
<Xach> borodust: that was the issue, thanks, i'll see why it didn't work earlier
amb007 has quit [Ping timeout: 264 seconds]
<borodust> Xach: thanks!
X-Scale` has joined #commonlisp
<borodust> if this is something unmaintainable or hard to implement - let me know, i'll switch to stable branches
amb007 has joined #commonlisp
X-Scale has quit [Ping timeout: 268 seconds]
X-Scale` is now known as X-Scale
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
lisp123 has joined #commonlisp
taiju has quit [Ping timeout: 256 seconds]
paule32 has quit [Read error: Connection reset by peer]
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
Guest7468 has joined #commonlisp
s-liao has quit [Quit: Client closed]
cage has joined #commonlisp
tyson2 has joined #commonlisp
igemnace has joined #commonlisp
waleee has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
amb007 has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
_73 has joined #commonlisp
aartaka has joined #commonlisp
domovod has quit [Quit: WeeChat 3.3]
vats has joined #commonlisp
taiju has joined #commonlisp
hendursaga has quit [Quit: hendursaga]
hendursaga has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
vats has quit [Ping timeout: 260 seconds]
Lycurgus has joined #commonlisp
john__ has joined #commonlisp
john__ has quit [Client Quit]
rain3 has joined #commonlisp
thomaslewis has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tfeb has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
rain3 has quit [Ping timeout: 268 seconds]
Lord_of_Life has quit [Excess Flood]
Lord_of_Life has joined #commonlisp
taiju has quit [Ping timeout: 264 seconds]
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
tfeb has quit [Quit: died]
taiju has joined #commonlisp
Catie has joined #commonlisp
<Guest7468> so I didn't get any code comments from reddit. anybody got opinions on this https://github.com/JMC-design/nsane/blob/master/nsane.lisp
<Guest7468> not sure if I should add/remove the &optional (socket *socket*)
<Guest7468> or change status codes to something more verbose?
<Guest7468> and how much do you document an implementation of a documented protocol?
Lycurgus has quit [Quit: Exeunt]
pjb has quit [Read error: Connection reset by peer]
pjb has joined #commonlisp
akoana has joined #commonlisp
thomaslewis has joined #commonlisp
<Catie> You do include a link in the source to the protocol. You might describe what part of the protocol each function implements
<pjb> Guest7468: defparameter +status-codes+ --> either defparameter *status-codes* or defconstant +status-codes+ ; don't mix them, you'll have problem.
<Catie> You could also define symbolic constants for your opcodes with the same name as in the protocol. So instead of 4 it would be +get-option-descriptors+ or +sane-net-get-option-descriptors+ if you want to keep it exactly the same
<pjb> Guest7468: read-word/write-word the symetric of ldb is dpb.
<Guest7468> I guess I should mention it's the protocol with just sane_net dropped and kebobed
<Guest7468> In the readme or source?
<Guest7468> the defparameters are just development convenience so sbcl doesn't yell at me.
<pjb> Guest7468: sane-string: it would be more efficient to use replace to store stuff in your array. Also, are you sure you want to exclude unicode?
guthur has quit [Quit: Client closed]
<Guest7468> the protocol dictates only ansi.
<pjb> ansi what?
<pjb> ascii?
<Guest7468> right
<Guest7468> thats what i mean :)
<pjb> ok.
<Catie> Okay yeah I get you, with the protocol names
<Catie> Why is it openc instead of open though?
<pjb> Guest7468: read-string: you do 1+ in sane-string therefore read-string is missing 1-
thomaslewis has left #commonlisp [#commonlisp]
<Guest7468> catie: to open discussion as to whether it should be open like the protocol or change it to open-device which is what it really seems to be.
tyson2 has joined #commonlisp
<pjb> Guest7468: (aref +value-type+ (read-word stream)) while you may count on your CL implementation to signal an error, 1- it's not guaranteed with all optimization level, 2- you should still expect evil input, so validate explicitely your input:
<Guest7468> pjb: I'm not getting what you mean with the string part.
<Catie> open-device does better describe what the function does, but it also makes the naming scheme less consistent
<Guest7468> I need to read the complete string with nul byte or I've got dangling bytes in the socket.
<pjb> Guest7468: sane-string generates a null-terminate string, with a length including this nul byte. But read-string reads this nul byte, and removes it later. It's better to just allocate 1- length characters instead.
<Guest7468> catie: yeah, that was my concern. I guess open and close is better since it follows the api better.
<pjb> Guest7468: notably, remove will also remove the nul bytes in the middle of the string.
<Guest7468> I'm not sure I should be concerned with whether SANE is compromised on a persons home network.
<pjb> Guest7468: get-devices should take a socket argument too.
<Guest7468> *socket* needs to be bound for all calls besides init. I believe it's in the readme. Should I put that in the source?
<Guest7468> should I have the optional socket? or leave frontend implementors to always bind *socket*?
<pjb> No, it's good, but get-devices is not consistent with the other functions with &optional socket.
<pjb> neither get-option-descriptors
<pjb> or control-optino
<pjb> etc.
<pjb> you need to be consistent.
<Guest7468> Yes, it's there to bring up the discussion of whether or not to do it that way.
cyberbanjo has joined #commonlisp
<pjb> also, if instead of taking a socket argument, you'd take a stream argument, most of your code would be independent of usocket, and could be easily used with other API, or tested without sockets.
<Guest7468> as for the strings, I think you're missing that read-string is reading the string over the network. They're adding the nul byte.
<pjb> Indeed.
<pjb> That's why the string is 1- length long.
<Guest7468> but i'm not allocating an array for the string. just for the sequence read from the stream.
<Guest7468> interesting about taking a stream. I'll have to think about that.
<pjb> Now, in general, you could write a macro to generate all those functions, since they're all quite similar.
Inline has quit [Ping timeout: 245 seconds]
<Guest7468> Yes, but there's no point after they're all done and I hate how emacs indents and highlights macros, very difficult to read.
lisp123_ has joined #commonlisp
<Guest7468> so no opinion about whether &optional should or shouldn't be there?
dra has joined #commonlisp
lisp123_ has quit [Client Quit]
<Guest7468> catie: i thought about the constants for the opcodes, but since they'd be named exactly the same as the function I'm not sure it'd be of much use.
<pjb> Guest7468: the problem is either you put optional everywhere, or nowwhere. Be consistent.
<Guest7468> yes, and I already said it was there for discussion.
lisp123 has quit [Ping timeout: 264 seconds]
<Catie> Hmm, that's true. I generally like symbolic constants, but I can see the logic in doing it either way
<Guest7468> me too. ...and maybe I like keywords a little too much
<Catie> Oh, keywords are great, I'm with you on that one
<Guest7468> i think i'll eventually end up with the whole dictionary in the keyword package.
karlosz has joined #commonlisp
Inline has joined #commonlisp
kadir has joined #commonlisp
<Guest7468> So I've updated the readme. however what I dislike about readmes is that no one sees them when loading a package/system.
<Guest7468> Wish there was a way to add documentation to a package. or is there?
<Guest7468> oh there is
<Guest7468> I guess I'll add all that stuff there. though still not sure anybody will see it.
<Guest7468> ok, thanks guys. Maybe somebody else will chime in with preferences over option to pass sockets or just binding nsane:*socket*
<pjb> Guest7468: I told you: be consistent !
<Catie> I can't speak for anyone else, but I definitely look for package documentation
<pjb> Guest7468: you let the user choose how to use it, but functions that don't have it force to use *socket*, so it's inconsistent!
<Guest7468> and i told you it was there for discussion.
<pjb> And the discussion is to be consistent.
<Guest7468> ok pjb.
<Guest7468> catie: I don't think I've ever seen package documentation. Now I'm curious and will have to check.
<Catie> Oh I don't know that I have either, but I look for it every time in the hopes that I'll be pleasantly surprised
<Guest7468> i hope to one day pleasantly surprise you!
<Guest7468> asdf:defsystem doesn't seem to have documentation. that seems like a big miss.
<Guest7468> oh i'm looking in the wrong place.
<Catie> It would be in the package itself
<Catie> Though now I'm wondering if that's part of the standard or an SBCL extension
<Guest7468> just that most of my systems are collections of packages. It does have long-description.
<Catie> It does not appear to be an extension, CCL supports it as well
<Guest7468> package documentation is part of the standard i looked.
<Catie> Okay cool, thank you!
Bike has quit [Quit: Connection closed]
kadir has left #commonlisp [WeeChat 3.3]
<Guest7468> pjb do you know of other socket libraries, maybe something with multi-cast?
Jing has quit [Read error: Connection reset by peer]
Jing has joined #commonlisp
rgherdt has quit [Read error: Connection reset by peer]
<pjb> Guest7468: clisp has its own API.
BonnieT100 has quit [Remote host closed the connection]
<Guest7468> anything cross implementation? I'm interested in multicast for network discovery.
BonnieT100 has joined #commonlisp
namasteaks has quit [Quit: Leaving]
namasteaks has joined #commonlisp
Bike has joined #commonlisp
ecraven- is now known as ecraven
khrbt has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
rgherdt has joined #commonlisp
Devon7 has quit [Ping timeout: 260 seconds]
<Guest7468> What's the trick to add newlines in your docstrings so your code doesn't look like crap and doesn't show up when using documentation?
<random-nick> isn't broadcast usually used for network discovery?
<jackdaniel> Guest7468: #.(format nil "foo ~
<jackdaniel> bar.")
<Guest7468> thanks jd
<jackdaniel> sure
<Guest7468> random-nick: not sure. I know it's multi-cast for things like UPNP and eSCL , bonjour.
McParen has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
euandreh has joined #commonlisp
srhm has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
vats has joined #commonlisp
rogersm has joined #commonlisp
Guest7468 has quit [Quit: Connection closed]
karlosz has quit [Quit: karlosz]
_73 has quit [Remote host closed the connection]
ym has quit [Ping timeout: 268 seconds]
thomaslewis has joined #commonlisp
LoopMacro has quit [Quit: Textual IRC Client: www.textualapp.com]
thomaslewis has left #commonlisp [#commonlisp]
LoopMacro has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
cleon has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Guest71 has joined #commonlisp
Guest71 has quit [Client Quit]
BonnieT100 has quit [Ping timeout: 268 seconds]
karlosz has joined #commonlisp
thomaslewis has joined #commonlisp
cyberbanjo has quit [Ping timeout: 264 seconds]
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
gigamonkey has joined #commonlisp
cleon has quit [Quit: Using Circe, the loveliest of all IRC clients]
aartaka has quit [Ping timeout: 260 seconds]
Catie has quit [Ping timeout: 256 seconds]
Catie has joined #commonlisp
tyson2 has joined #commonlisp
dra has quit [Remote host closed the connection]
hobo has quit [Quit: ZNC 1.8.2 - https://znc.in]
Devon7 has joined #commonlisp
BonnieT100 has joined #commonlisp
hobo has joined #commonlisp
Devon7 has quit [Ping timeout: 256 seconds]
nature has joined #commonlisp
<_death> been optimizing today.. gotta brag about Lisp making zero allocation code possible https://gist.github.com/death/9b9914c76866d32c7dc15c55cc05b526
Devon7 has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
shka has quit [Ping timeout: 245 seconds]
taiju has quit [Ping timeout: 245 seconds]
taiju has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
specbot has quit [Remote host closed the connection]
minion has quit [Read error: Connection reset by peer]
specbot has joined #commonlisp
minion has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
namasteaks has quit [Ping timeout: 260 seconds]
Oladon has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Devon7 has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
Devon has joined #commonlisp
thomaslewis has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<mfiano> Nice
pve has quit [Quit: leaving]
<mfiano> I've been thinking of getting back into coding CL after a few months of reading books/papers.
cosimone has quit [Quit: ERC (IRC client for Emacs 27.1)]
taiju has quit [Read error: Connection reset by peer]
<mfiano> One reason I needed a break from coding, is designing a rendering system general enough for the things I want to visualize is incredibly difficult/time consuming. I'd like to save some time and use something like McCLIM, but that has more than a few rough edges, and I don't think it'd be great for animations anyway.
taiju has joined #commonlisp
Bike has quit [Quit: Connection closed]
<mfiano> I'm not sure what I should do yet. I am desperately trying not to be a heretic and port stuff over to Racket which has a super simple cross-platform graphics/animation system builtin.
anddam has quit [Quit: WeeChat 3.3]
anddam has joined #commonlisp
totoro has quit [Ping timeout: 260 seconds]
karlosz has quit [Ping timeout: 264 seconds]
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
<jcowan> You could port CL to Racket instead.
<hayley> Would that fix the toplevel situation?
<mfiano> Ah yeah, the toplevel situation :/
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
gaqwas has quit [Ping timeout: 264 seconds]
perrierjouet has quit [Ping timeout: 260 seconds]
<jcowan> probabbly a CL-Racket bridge would be simpler
guthur has joined #commonlisp
Spawns_Carpeting has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
perrierjouet has joined #commonlisp