IRC channel logs

2022-11-10.log

back to list of logs

<dsmith>I'm no master my any means, but really does make editing s-exp code flow. Kind of like typeing in python code.
<daviid>dsmith: that sounds like a torture
<daviid>:)
<daviid>dsmith: not only do you have to manually fix paredit, but also cope with the Kind of like typeing in python code feeling ... terrible haha
<dsmith>What I mean is, it's like I just start typeing code. The parens aren't even there. They just. Happen.
<dsmith>I've only ever had to drop out of paredit about twice in about 2 years.
<dsmith>That's becuse I messed something up. Barfed when I should have slurped or something. And I coudn't undo toget back.
<dsmith>Certinaly not for everyone. And I hesitated using it for years and years.
<daviid>sure, was making fun of the situation, who wants to have the feeling of typing python code, and fixing paredit 'manually' - :)
<dsmith>Heh
<dsmith>Actually, I hate *editing* python code. Moving stuff around, etc. Just too easy to get the indentatinos wrong.
<dsmith>It's really nice to do indent-sexp and have all your code line up. And then it's easy to see if it didn't go the way you wanted.
<dsmith>Like you put something *after* that let instead of inside it.
<dsmith>Don't like editing yaml either.
<rlb>ACTION also didn't learn/use paredit for far too long...
<a12l>Is there a difference between... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/4a1dc90be89a83b88b3f8c61bcc79c9d7dfab0cd>)
<rlb>Why does that turn in to a link here...
<rlb>i.e. it's only 4 lines.
<rlb>Oh, wrong channel :)
<old>a12l: Here's the diff: https://paste.sr.ht/~old/b241ae149ed57a409e9748ae19beb63eebef142d
<old>I don't think it was optimized though because in REPL
<a12l>old: Thanks! Cool, what tool do you use for disassembly?
<old>actually it's the same. I forgot to copy/paste the last line of the second define
<old>In the REPL you do `,inspect foo` or `,i foo`
<old>you're then in another REPL
<old>type help for list of option there
<a12l>And do I interpret the disassembly correct that they're identical?
<old>but you want to `disassemble` or just `x`
<a12l>Cool, thanks!
<old>yes they are
<old>at least in the REPL
<old>Can't be certain for when compiled
<old>Maybe some wizard could help there
<old>nckx: I'm happy to see that I'm not the only one who has to turn-off paredit once in a while because of bad edit
<old>Worst thing is when you copy/paste some code and there's a missing parentheses ..
<old>Have to do something like 'C-Q )'
<old>s/C-Q/c-q/
<old>cow_2001: I learned about Scheme when I watched the MIT course at <https://youtu.be/-J_xL4IGhJA>. Much more interesting than my university courses about C++ OOP
<old>Then naturally, being a Emacs user and a free software enthusiasm I found Guile
<mwette>I love it how so many people still like emacs. I started mid 1980's.
<dsmith>In the '80's I used freemacs on dos. Closest thing to real emacs I could get.
<dsmith>It used mint instead of lisp. (Mint Is Not Trac)
<dsmith>Kind of like m4
<dsmith>In the '90s I was trying out different window managers, and got into SCWM.
<dsmith>Which is a window manager extended with Guile, quite like emacs and lisp.
<dsmith>Guile used to start really slowly back then. Especially if you loaded syncase.
<dsmith>Like about 3 seconds.
<dsmith>It was great to have a "hot" guile interpreter always running. There was an emacs mode where C-x C-e would send the expression to SCWM to be evaluated.
<dsmith>Fun times
<dsmith>To continue that story, scwm had not been kept up with changes in Guile, so I sent in some patches.
<dsmith>Somehow that got me roped into being the maintainer.
<dsmith>A poor one. I don't use scwm anymore so I havn't touched in in some years.
<dsmith>But it's scwm that got me hooked on Guile.
<dsmith>Then I saw something like ((if x + *) 3 4) and I nearly cried at the beauty of an expression language.
<mwette>I used sawmill/sawfish for a while. That was fun. I don't have the energy to dive into all that stuff now. (hahs, except working on wayland i/f in Guile.)
<mwette>wrt wayland, I have coded up guile c-api for sendmsg and recvmsg.
<dsmith>mwette: So what's the deal with wayland anyway? I've never had a problem with X. Why is everyone so hot on it?
<dsmith>Is it just that kids thing X is "old"?
<dsmith>s/thing/think/
<dsmith>old: Not about you...
<mwette>As I see it wayland allows client code to integrate more tightly with GPUs.
<iyzsong>i think it remove some layers between kernel and graphics toolkit, so it can be more effective, since linux has the gpu driver builtin.
<dsmith>Ah, GPUs
<old>dsmith: I'm getting used to it. Cool hacker name 'old' until you get ping 10 false ping a day
<daviid>curious why you picked and 'stick' with that nick :), why not oli, olid, oli_, oli_d or even not related to your name ... but a noun of the american english lang we constantly use ... :):) - may be you take it as a 'like' or something haha
<old>I've read somewhere that hacker once had to do with 3 or 4 letters do to restriction of the OS or something like that
<old>ofc this is not the case anymore, but I like that historical trivia and apply it to my alias anywhere I can
<old>There I found the historical trivial tell by an old wise man: https://youtu.be/Y4lDvkAFyps
<daviid>what ever, but there are so many other possibilities, even using only 3 letters, but a noun ... not so cool imo, as we also have to look at so many false highlights ...
<iyzsong>not necessery, nick highlight can be disabled :3
<flatwhatson>all those accidental pings must be getting.... old
<ArneBab>cow_2001: for problems I hit, you can find answers in https://www.draketo.de/py2guile
<ArneBab>later tell dsmith: AFAIK wayland was started by android devs who were annoyed that they could not get rid of the every last flickering in X11. So they decided to rewrite everything and throw out network transparency in the process.
<dsmith-work>{appropriate time} Greetings, Guilers
<dsmith-work>sneek: botsnack
<sneek>:)
<dsmith-work>!uptime
<sneek>I've been running for one day and 9 hours
<sneek>This system has been up 2 weeks, 1 day, 12 hours, 9 minutes
<dalepsmith[m]>0.Eth3rnal_: #( ) is a vector: https://www.gnu.org/software/guile/manual/html_node/Vector-Syntax.html#Vector-Syntax
<dalepsmith[m]>0.Eth3rnal_: The return is a "match structure". See https://www.gnu.org/software/guile/manual/html_node/Match-Structures.html#Match-Structures
<w0ll3q1uszxabiwo>What's the difference between symbol and string in guile? I never understood it fully
<dalepsmith[m]>0.Eth3rnal_: It's basically a fairly thin wrapper over the C lib regex code.
<w0ll3q1uszxabiwo>ACTION also didn't know that it's a vector
<dalepsmith[m]>scheme@(guile-user)> (string-match "[0-9][0-9][0-9][0-9]" "blah987654")... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/a9c388d5535c7b63e22c63e0b39dbe50dcbe6a8f>)
<dalepsmith[m]>The example is kind of bad. match:stubstring m [n] The optional n is the capture group.
<dalepsmith[m]>s/stub/sub/
<dalepsmith[m]>scheme@(guile-user)> (string-match "([a-z]*)([A-Z]*)" "abcABC")... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/ad2497557982c27fe206d28dd14e7dc236fbf971>)
<chrislck>!metaphone old
<sneek>metaphone for old is old
<chrislck>ooh a metaphone quine
<dsmith-work>nice!
<dsmith-work>!metaphone xrslkk
<sneek>metaphone for xrslkk is srsl
<xrslkk>yeah, seriously lol
<dsmith-work>!metaphone srsl
<sneek>metaphone for srsl is srsl
<dsmith-work>seek seen xrslkk?
<dsmith-work>seek, seen xrslkk?
<dsmith-work>seek, seen rlb?
<dsmith-work>!!
<dsmith-work>sneek: botsnack
<sneek>:)
<dsmith-work>seek, seen rlb?
<dsmith-work>sneek, seen rlb?
<sneek>I think I remember rlb in #guile 13 hours ago, saying: Oh, wrong channel :).
<dsmith-work>Doh!
<dsmith-work>sneek, seen xrslkk?
<sneek>xrslkk was in #guile 2 minutes and 8 seconds ago, saying: yeah, seriously lol.
<dsmith-work>sneek, seen srsl
<sneek>xrslkk?, pretty sure was seen in #guile 2 minutes and 17 seconds ago, saying: yeah, seriously lol.
<dalepsmith[m]>The text is pretty clear: "Return the portion of target matched by subexpression number n. Submatch 0 (the default) represents the entire regexp match."
<dalepsmith[m]>But yeah, the example should actually express that.
<cow_2001>ArneBab: oh you are the py2guile guy! i looked up a python to guile guide and found your stuff.
<dalepsmith[m]>Instead its shows how call string-match at non-0 start
<dalepsmith[m]>0.Eth3rnal_: BTW. Because you have not identified to nickerv, all your message are not showing in #guile (on libera)
<dsmith-work>Also
<dsmith-work>!nickometer 0.Eth3rnal_
<sneek>"0.Eth3rnal_" is 99.99% lame, because k3wlt0k, 2 extraneous symbols, 3 letter/number shifts
<spk121>janneke: there's code in wip-mingw where you try to fix absolute-file-name? file-name-separator? when cross building
<spk121>janneke: I'd like to revert it because it never worked as intended
<spk121>janneke: but then you'd have to rework that x-build *.patch you have in that tree
<dalepsmith[m]>Add some unbalanced brackets maybe
<dalepsmith[m]>{{{{
<dsmith-work>!nickometer Ethernal
<sneek>"Ethernal" is 0% lame
<janneke>spk121: sure
<janneke>spk121: fixing instead of reverting would be even better, but i obviously need(ed) some help here
<dalepsmith[m]>0.Eth3rnal_: You need /msg @NickServ:libera.chat and IDENTIFY https://libera.chat/guides/faq#can-i-connect-with-matrix
<spk121>janneke: there are some possible strategies using what (language cps intset) does. I can poke at it next time I have multiple boxes running
<janneke>spk121: great, that would be nice.
<janneke>sorry for keeping that non-working code in, i fooled myself several times in thinking it worked
<spk121>it is a non-trivial problem
<spk121>(figuring out all the issues for cross-compilation, I mean)
<dsmith-work>!nickometer xXx_0.Eth3rnal_69_xXx
<sneek>"xXx_0.Eth3rnal_69_xXx" is 100.00% lame, because k3wlt0k, matched special case /xx/, matched special case /69/, 4 extraneous symbols, 3 extraneous caps, 6 letter/number shifts, 6 case shifts
<dsmith-work>There ya go!
<ArneBab>cow_2001: I???m happy to hear that! :-)
<ArneBab>cow_2001: I should really update and clean up py2guile with the 5 more years of experience I have now. I didn???t get to that yet, though ???
<cow_2001>we're mortal
<ArneBab>yes :-)
<haugh>!nickometer haugh
<sneek>"haugh" is 0% lame
<haugh>you heard it here first folks
<old>!nickometer old
<sneek>"old" is 0% lame
<old>!nickometer sneek
<sneek>"sneek" is 0% lame
<old>Is eveyrone 0% lame?
<singpolyma>!nickometer G4R!!!!!!L0L
<sneek>"G4R!!!!!!L0L" is 100.00% lame, because k3wlt0k, 6 consecutive non-alphas, 6 extraneous symbols, 4 extraneous caps, 4 letter/number shifts
<old>awesome
<old>!nickometer (
<sneek>"(" is 15.66% lame, because 1 unbalanced bracket, 1 extraneous symbol
<old>unmatched-paren: sorry :(
<unmatched-paren>:(
<old>!nickometer (define Y (?? (f) (f (?? (x) ((Y f) x)))))
<sneek>"(define Y (?? (f) (f (?? (x) ((Y f) x)))))" is 100.00% lame, because 10 unbalanced brackets, 24 consecutive non-alphas, 27 extraneous symbols, 2 extraneous caps, 4 case shifts
<unmatched-paren>You traitor, sneek.
<dsmith-work>!nickometer unmatched-paren
<sneek>"unmatched-paren" is 0% lame
<dsmith-work>(The orginal had a penalty for a hyphenated nick. No longer)
<nckx>But ???10 unbalanced brackets???.
<dsmith-work>It uses regular expressions!
<nckx>Ah, that explains why it's broken.
<dsmith-work>!nickometer (())
<sneek>"(())" is 99.85% lame, because 4 consecutive non-alphas, 4 extraneous symbols
<dsmith-work>!nickometer ({)}
<sneek>"({)}" is 99.85% lame, because 4 consecutive non-alphas, 4 extraneous symbols
<dsmith-work>!nickometer ()()
<sneek>"()()" is 99.85% lame, because 2 unbalanced brackets, 4 consecutive non-alphas, 4 extraneous symbols
<dsmith-work>So it first strips the outer () to )(
<nckx>Oh no (o)_(o)
<stis>evening folks!
<stis>\me celbrating with some nice prosecco
<old>sneek: botsnack
<sneek>:)
<old>!nickometer botsnack
<sneek>"botsnack" is 0% lame
<dalepsmith>!nickometer testing
<sneek>"testing" is 0% lame
<old>!help
<old>sneek: help
<old>dsmith-work: any way to list bang command?
<old>!list
<dsmith-work>old: No, I don't think so
<dsmith-work>The bang commands are bobot++ commands. Most are for managing channels and users. Much like chanserv and nickserv do
<dsmith-work>(and so are not needed)
<dsmith-work>But it's fairly simple to add scheme code for new bang commands.
<dsmith-work>So for some things I'll take the cheap route
<old>okay
<dsmith-work>I'm *mostly* using bobot just as an irc lib.
<dsmith-work>!help
<dsmith>sneek: botsnack
<sneek>:)
<dsmith>goodbot
<flatwhatson>ring ring
<flatwhatson>!metaphone flatwhatson
<sneek>metaphone for flatwhatson is flthts
<dsmith>heh
<flatwhatson>still working out how to pronounce that one
<old>!uname
<old>!uptime
<old>dsmith: These does not work for none master?
<old>s/does/do
<antipode>Will sneek steal the botsnack?:
<antipode>sneek: later tell botsnack: botsnack
<sneek>Okay.
<antipode>Apparently 'later tell' has precedence, nevermind.
<botsnack>ACTION asks sneek
<botsnack>sneek?
<sneek>Welcome back botsnack, you have 1 message!
<sneek>botsnack, antipode says: botsnack
<dsmith>old: Yeah, only I can do some commands
<sneek>Yep!