<Guest74>
ugh, rethinking jsown. Keyword lists seem easier to apply than cons with strings.
s-liao has joined #commonlisp
amb007 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
karlosz has joined #commonlisp
abrahms66 has quit [Quit: Client closed]
abrahms66 has joined #commonlisp
karlosz has quit [Ping timeout: 256 seconds]
<dre>
I'm so proud of my AoC 3 solution ;u;
thomaslewis has left #commonlisp [#commonlisp]
<rotateq>
dre: great to hear :) do you already know bit-vectors? (instead of your bitstrings)
<dre>
I hadn't thought of it, but now thinking back, would that just be an array of values? #(0 1 0 1 0 1)
<rotateq>
and if you ever have the situation you want to count the ones in the binary representation of an integer, there's the standard symbol LOGCOUNT
<dre>
I could imagine it would make a few things a bit more terse and easier to read/write
<rotateq>
dre: yes, but the syntax is with #*010101
<dre>
thats interesting
<rotateq>
so that guarantees you all elements are of type bit
<dre>
oh and that's cool. if the next problem is in binary, I'll be sure to use it :P
<dre>
rotateq, I'm starting to understand lisp a little bit. hacking things together has been actually pretty fun and rewarding
<rotateq>
yes piece by piece
<dre>
it's interesting that I think I actually read the code in lisp, compared to "read what I think the code is doing" in python.
<dre>
i dunno, I'm enjoying it, that's all that matters.
<rotateq>
good
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<rotateq>
dre: and transpose could be done with ⍉ ^^
<dre>
I did see some people (remap?) the 'λ' char to lambda
<rotateq>
yes but that's another thing :)
<dre>
APL
<Guest74>
I'm on the fence but I think integers would have been good for day3.
<rotateq>
yes
<rotateq>
and the lambda maybe as a macro-character which simply expands
<rotateq>
and for typing it fast emacs key rebinding helps
<dre>
hmm
<dre>
I wonder if I could make custom compose keys
<dre>
well that looks easy.
adlai has left #commonlisp [reducing the need for noise reduction]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
igemnace has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 245 seconds]
<Guest74>
I can't believe I spent the whole figuring out json lib stuff and I might just end up using xml. I have no idea why openweather provides less information and information in incorrect objects in their json replies.
pdietz has joined #commonlisp
random-nick has quit [Ping timeout: 256 seconds]
thomaslewis has joined #commonlisp
Catie has quit [Quit: switching clients]
<semz>
Websites (especially those that one'd rather interact with through an API than the site itself) tend to be mindbogglingly broken under the hood. I once encountered one whose JSON API didn't even return valid JSON - turned out the site wasn't actually using its own API but parsed HTML responses with JS instead. The API was just there because... I have no idea why.
thomaslewis has left #commonlisp [#commonlisp]
notzmv has joined #commonlisp
<Guest74>
It's certainly frustrating. And here I thought json would be simpler than xml. tbh i don't think anybody will care about the extra information when the info will probably be displayed as a bunch of icons. I'm more upset I can't easily construct objects out of the json, instead I have to move stuff from one object to another.
taiju has quit [Ping timeout: 252 seconds]
Oladon has joined #commonlisp
ec_ has joined #commonlisp
taiju has joined #commonlisp
s-liao has quit [Quit: Client closed]
taiju has quit [Ping timeout: 252 seconds]
Catie has joined #commonlisp
kakuhen has joined #commonlisp
mrcom has quit [Quit: This computer has gone to sleep]
akoana has joined #commonlisp
waleee has quit [Ping timeout: 252 seconds]
waleee has joined #commonlisp
waleee has quit [Ping timeout: 268 seconds]
waleee has joined #commonlisp
mrcom has joined #commonlisp
<beach>
Good morning everyone!
<beach>
dre: You still have some mysterious spacing like two spaces after LET or some space after an opening parenthesis. An you have four inexplicable blank lines in the middle of your code. Finally, the standard gives advice on how many semicolons to use in different situations, and top-level comments should have three semicolons.
peterhil has joined #commonlisp
taiju has joined #commonlisp
<beach>
dre: And you have a mysterious closing parenthesis at the end of a comment.
mrcom has quit [Quit: This computer has gone to sleep]
Bike has quit [Quit: Lost terminal]
makomo has quit [Ping timeout: 256 seconds]
<Guest74>
What would be the easiest way to turn an octect vector into a stream so pngload can decode it? Wish this was an option in pngload.
makomo has joined #commonlisp
semz_ has joined #commonlisp
<beach>
You can turn it into a Gray stream.
<Guest74>
there's nothing in the standard?
<beach>
*sigh*
<Guest74>
that seems like it would be a lot slower than just saving it and then loading it.
semz has quit [Ping timeout: 252 seconds]
<hayley>
It might be, but from experience streams are the best way to abstract over retrieving data somehow.
semz_ is now known as semz
<hayley>
You might be reading from a file, in which case it would be faster to decompress the file while loading it off disk.
<beach>
Unless the vector is huge, it would seem like going to the OS to create a file, then open it and read it, would be much slower than staying in user land and main memory.
<hayley>
Yes, that is also true.
<Guest74>
pngload mmaps files and loads them really fast.
Oladon has quit [Quit: Leaving.]
thomaslewis has joined #commonlisp
<hayley>
Good news for you: pngload reads the full contents of the stream into a byte vector, and then decodes from the vector. Thus the overhead of creating a Gray stream, and reading it once is definitely lower than saving and loading a file.
mrcom has joined #commonlisp
<hayley>
The latter consists of at least six syscalls (open file, write, close, open file, read, close), and updating page tables for mmap.
<hayley>
Okay, five syscalls, since we use mmaped memory to read, rather than calling read(), but you get the idea.
akoana has quit [Quit: leaving]
waleee has quit [Quit: WeeChat 3.3]
tyson2 has quit [Remote host closed the connection]
blihp has joined #commonlisp
blihp has quit [Client Quit]
Oladon has joined #commonlisp
<Guest74>
hayley: and that's why I was wondering if there was an easy way considering I already have the byte vector.
s-liao has joined #commonlisp
<beach>
There is. You can turn it into a Gray stream.
<Guest74>
*sigh*
kennyd has quit [Quit: CGI:IRC (Session timeout)]
notzmv has quit [Ping timeout: 252 seconds]
Guest74 has quit [Ping timeout: 252 seconds]
notzmv has joined #commonlisp
asen has joined #commonlisp
peterhil has quit [Remote host closed the connection]
peterhil has joined #commonlisp
Oladon has quit [Quit: Leaving.]
ogamita has quit [Remote host closed the connection]
ogamita has joined #commonlisp
nature has joined #commonlisp
aartaka has joined #commonlisp
pve has joined #commonlisp
<hayley>
*sigh*
igemnace has joined #commonlisp
gaqwas has joined #commonlisp
<White_Flame>
"pngload can be used to load images in the PNG image format, both from files on disk, or streams in memory."
<White_Flame>
it really, really seems to be the intended use case
varjag has joined #commonlisp
<White_Flame>
however yes, looking into the code, it can probably be hacked to take an octet vector directly, but I'm not seeing a publi interface into it
shka has joined #commonlisp
Algernon69 has joined #commonlisp
lisp123 has joined #commonlisp
edgar-rft has quit [Quit: Leaving]
cage has joined #commonlisp
cage has quit [Remote host closed the connection]
<hayley>
But who cares?
Jach has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
kakuhen has quit [Read error: Connection reset by peer]
igemnace has quit [Remote host closed the connection]
<mfiano>
I'd probably accept a PR for this. This isn't the first time for this request.
lisp123 has quit [Remote host closed the connection]
gaqwas has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life_ is now known as Lord_of_Life
amb007 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
cosimone\ has joined #commonlisp
pdietz has quit [Ping timeout: 256 seconds]
karlosz has joined #commonlisp
asen has quit [Quit: Leaving]
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
waleee has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Client Quit]
Algernon69 has quit [Ping timeout: 252 seconds]
pdietz has joined #commonlisp
theothornhill has joined #commonlisp
theothornhill has quit [Remote host closed the connection]
pranavats has left #commonlisp [Error from remote client]
random-nick has joined #commonlisp
pranavats has joined #commonlisp
waleee has quit [Quit: WeeChat 3.3]
karlosz has quit [Quit: karlosz]
s-liao has quit [Ping timeout: 256 seconds]
dilated_dinosaur has quit [Quit: Leaving]
waleee has joined #commonlisp
dilated_dinosaur has joined #commonlisp
waleee has quit [Ping timeout: 252 seconds]
waleee has joined #commonlisp
cosimone` has joined #commonlisp
voltron has joined #commonlisp
cosimone\ has quit [Ping timeout: 252 seconds]
winning-luser has quit [Remote host closed the connection]
jpl01 has joined #commonlisp
<jpl01>
Is it a bad idea to use (load) to load a library instead of using ASDF or Quicklisp? if yes why?
<pjb>
No, it is not. If that libraries has only one file.
<jpl01>
Alright, thanks pjb.
<beach>
jpl01: Of course, you are going to want to use that library in your own code, so then you would write an ASDF system definition for your own code, and then you might as well make the library a dependency.
voltron has quit [Remote host closed the connection]
<beach>
jpl01: Otherwise, you will find yourself manually keeping track of what code needs what library, which is what ASDF does for you.
varjag has quit [Ping timeout: 252 seconds]
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
igemnace has joined #commonlisp
CrashTestDummy has joined #commonlisp
cosimone` has quit [Ping timeout: 256 seconds]
cosimone` has joined #commonlisp
Algernon69 has joined #commonlisp
yewscion has quit [Ping timeout: 252 seconds]
cosimone` has quit [Ping timeout: 268 seconds]
varjag has joined #commonlisp
tyson2 has joined #commonlisp
lisp123 has joined #commonlisp
<mfiano>
Not to mention hard-coding in paths, like dynamically binding *DEFAULT-PATHNAME-DEFAULTS*
aartaka has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
aartaka has joined #commonlisp
Algernon69 has quit [Ping timeout: 245 seconds]
Algernon69 has joined #commonlisp
Algernon91 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
waleee has quit [Ping timeout: 256 seconds]
Algernon69 has quit [Ping timeout: 252 seconds]
waleee has joined #commonlisp
edgar-rft has joined #commonlisp
Algernon91 has quit [Ping timeout: 240 seconds]
igemnace has quit [Ping timeout: 256 seconds]
<rotateq>
beach: After a little search I found a paper written by you about CL coding conventions. :)
<mfiano>
It is probably just an incomplete citation list from LUV
lisp123 has quit [Remote host closed the connection]
Inline has joined #commonlisp
<beach>
rotateq: Yes, I wrote that some time ago. I think some other people here have found it as well.
cage has joined #commonlisp
igemnace has joined #commonlisp
hobo has quit [Ping timeout: 256 seconds]
igemnace has quit [Remote host closed the connection]
payphone has joined #commonlisp
igemnace has joined #commonlisp
waleee has quit [Ping timeout: 268 seconds]
lisp123 has joined #commonlisp
peterhil has quit [Remote host closed the connection]
peterhil has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
MichaelRaskin has quit [Remote host closed the connection]
s-liao has quit [Quit: Client closed]
<pdietz>
Is there a CL linter? Shouldn't be too hard to walk over s-expressions and check things. It could even be done at compile time with a macroexpand hook.
<beach>
The problem is that it's too late when you have READ it. We need to catch incorrect spacing and indentation.
<jackdaniel>
things that can be commented on after reading the source code there is i.e lisp-critic
<pdietz>
Understood, but I was thinking more of checking the code itself. For example, detecting when calls to destructive builtin functions don't do anything with the return value, or assumptions that boolean functions return T for true.
Inline has quit [Read error: Connection reset by peer]
Inline has joined #commonlisp
<Xach>
nice
Inline has quit [Read error: Connection reset by peer]
Inline has joined #commonlisp
abrahms6659 has joined #commonlisp
abrahms66 has quit [Ping timeout: 256 seconds]
hineios has quit [Ping timeout: 256 seconds]
hineios has joined #commonlisp
gaqwas has joined #commonlisp
<Shinmera>
pdietz: I've wanted a "pure" attribute for functions in SBCL for a long time
hobo has joined #commonlisp
Inline has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123mobile has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
lisp123mobile has quit [Client Quit]
cosimone has joined #commonlisp
Oladon has joined #commonlisp
treflip has joined #commonlisp
Guest74 has joined #commonlisp
shka has quit [Read error: Connection reset by peer]
shka has joined #commonlisp
peterhil has quit [Ping timeout: 256 seconds]
poselyqualityles has joined #commonlisp
<Guest74>
scymtym: very nice. Can this be used without clim?
<scymtym>
Guest74: there are/will be multiple libraries. most don't know anything about the graphical presentation
<Guest74>
mfiano: is there danger of people changing *DEFAULT-PATHNAME-DEFAULTS*? I just used this to add stuff to a users directory instead of pulling in xdg stuff.
<Guest74>
scymtym: nice!
<Guest74>
oh, i see clhs says it's typically in the working dir.
<theothornhill>
Guest74: You mean apart from the others in the sidebar on that page?
aartaka has quit [Ping timeout: 256 seconds]
Nel has quit [Remote host closed the connection]
<Guest74>
yes
<theothornhill>
Then no, sorry :)
<Guest74>
I know there's some style slides somewhere. would be nice to have them all gathered somewhere for simple folk like me.
<mfiano>
Would be nice if you did /nick jmc-design or something too, but we can't all win
Lycurgus has quit [Quit: Exeunt]
<Guest74>
hopefully soon.
_73 has quit [Remote host closed the connection]
skeemer has joined #commonlisp
lisp123 has joined #commonlisp
rotateq has quit [Ping timeout: 268 seconds]
lisp123_ has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
taiju has quit [Ping timeout: 256 seconds]
jacek_ has joined #commonlisp
amb007 has joined #commonlisp
raeda__ has joined #commonlisp
lisp123 has quit [Ping timeout: 256 seconds]
raeda_ has quit [Ping timeout: 256 seconds]
mrcom has quit [Ping timeout: 256 seconds]
cage has quit [Ping timeout: 256 seconds]
jacek has quit [Ping timeout: 256 seconds]
anddam has quit [Ping timeout: 256 seconds]
anddam has joined #commonlisp
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
lisp123_ has quit [Remote host closed the connection]
<Guest74>
that Papert on Logo video was interesting. Wondering if I should add wrapping to my turtle graphics. though not quite sure how I'd do that especially if I change it to vector graphics like I'm planning.
<Guest74>
Nice. I think I'll try and put together a list if more come up.
<Guest74>
apparently my turtle-graphics has no problem with wrapping in it's current implementation on frame buffer. It's xrender that seems to be a problem. Though drawing lines with triangles with xrender is slower than drawing lines with cl-vectors and drawing individual pixels. Anybody have any fast code for changing lines into triangles?
shka has quit [Ping timeout: 252 seconds]
Algernon666 has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
varjag has quit [Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)]