ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
<clacke[m]> > Windows has just spawn()
<clacke[m]> the contortions Python goes through to pretend that Windows has fork() can lead to very nasty surprises
<clacke[m]> fork() is such a useful building block
aw- has joined #picolisp
orivej_ has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 255 seconds]
aw- has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
aw- has joined #picolisp
aw- has quit [Ping timeout: 256 seconds]
aw- has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
<m_mans> Hi all!
<m_mans> The reference for 'mail states that "If the second argument is a list, it should be a structure (user password . port), and "@bin/ssl" will be called to establish an encrypted connection". But I can't find any mention of ssl in the source of 'mail in @lib/misc.l
<aw-> m_mans: cd src; make ssl
orivej has joined #picolisp
zod has joined #picolisp
<aw-> hmmm
<aw-> sorry i didn't read correctly
<m_mans> aw-: no, I mean that code of 'mail doesn't contain any mention of ssl
<aw-> right
zod is now known as Guest18251
<Regenaxer> Hi m_mans, aw-! Isn't in the source this?
<Regenaxer> (de mail (Host Port From To Sub Att . Prg)
<Regenaxer> (let? S
<Regenaxer> (if (pair Port)
<Regenaxer> (pipe (exec "@bin/ssl" Host (fin Port)))
<Regenaxer> (connect Host Port) )
<Regenaxer> 17nov17 Support SSL and AUTH in 'mail'
<m_mans> oh, then my bad again! :)). I haven't updated PicoLisp so long.
<Regenaxer> :)
<m_mans> Sorry, Regenaxer
<m_mans> I'm doing that now :)
<Regenaxer> no problem. So you looked into the wrong doc/ref
<m_mans> T
<aw-> :D
<aw-> hi Regenaxer
<Regenaxer> :)
<m_mans> I'll test 'mail with authentication against Google mail server than
<m_mans> *then
<Regenaxer> ok
<m_mans> hm, somethings goes wrong, it doesn't send mail, but I see no errors in the terminal.
<m_mans> *something
<m_mans> I do (mail "smtp.gmail.com" '("myaddr@mydomain.ru" "mypasswordhere" . 465) ...
<Regenaxer> no
<Regenaxer> moment
<Regenaxer> ah, no, correct
<Regenaxer> I use (mail server (cons myaddr pw 465) ..
<m_mans> Did you use it with google?
<aw-> m_mans: you can't use your regular password to auth to gmail
<aw-> you need to generate a "device password"
<aw-> through their UI
<m_mans> aw-: why not? It's dedicated account and I succesfully sent mail with curl yesterday
<Regenaxer> m_mans, no google
<aw-> oh maybe if you don't have 2FA enabled..
<m_mans> line : T
<m_mans> line = "220 smtp.gmail.com ESMTP s190sm4338890lfe.89 - gsmtp"
<m_mans> line : T
<m_mans> line = "250 smtp.gmail.com at your service"
<m_mans> line : T
<m_mans> line = "235 2.7.0 Accepted"
<m_mans> line : T
<m_mans> line = "555 5.5.2 Syntax error. s190sm4338890lfe.89 - gsmtp"
<m_mans> maybe it need EHLO...
<aw-> hmmm
<m_mans> hm, no
Guest18251 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
zod has joined #picolisp
zod is now known as Guest50208
<Regenaxer> I think I only tested with my provider smtp.strato.de
<m_mans> https://pastebin.com/TN0rrjG1 - example with curl
<m_mans> I mean verbose output from curl
<Regenaxer> Hmm, not sure about the protocol - perhaps something is missing in 'mail'?
<m_mans> don't we need to read all '250-' lines from server before sending AUTH PLAIN?
<Regenaxer> no idea, I haven't looked at this since a few months
<Regenaxer> can you try?
<m_mans> yes, I'm trying, but a little
<m_mans> no hurry, I'll just use curl
<Regenaxer> Isn't this an issue also for the non-ssl calls?
<m_mans> I don't know
<Regenaxer> ok, but it would be good to fix the 'mail' function in the long range
<Regenaxer> (for me it works though ;)
<m_mans> yeah, it would be nice to be able to use 'mail also with popular services
<m_mans> but curl helps much too
<Regenaxer> T
<m_mans> ha, look: you check against "250 " (with space), but Google sends "250-..."
<Regenaxer> ah
<Regenaxer> that would be easy!
<Regenaxer> Is that correct? What is in the RFC?
<Regenaxer> Just checking for "250" does not look right to me, as "2507" would also pass then. Or are the codes always 3 digits?
<Regenaxer> (Too busy to check the RFC now ;)
miskatonic has joined #picolisp
<m_mans> https://tools.ietf.org/html/rfc1869, they notice also "-" there
<Regenaxer> But why does strato send a space then?
<m_mans> But all this in case of EHLO (!)
<m_mans> that means client supports extension
<m_mans> extensions
<Regenaxer> T
<m_mans> so with HELO you are OK checking "250 " I suppose
<Regenaxer> I don't remember the details atm
<m_mans> How is the weather in Augsburg? We have -20C now
<aw-> yikes
<miskatonic> maybe the weather in the alpine valleys near Augsburg will soon reach that mark
<Regenaxer> We have it very warm all January. Max around 10 C in the daytime
<Regenaxer> at the momend 1 C though
<miskatonic> Putin is now sending some colder winds to Germany in order to increase the sales of Gazprom
<Regenaxer> haha, probably
<aw-> Regenaxer: same here
<Regenaxer> Relatively warm?
<aw-> max ~10C, nighttime down to ~3C
<Regenaxer> ok
<aw-> Regenaxer: did you visit Okinawa when you were living in Japan?
<Regenaxer> Yes, once
<Regenaxer> My wife's brother lives there
<aw-> ohhh nice
<aw-> i've never been, looks nice
<aw-> they get really bad typhoons every summer though
<miskatonic> that's why they invent so many programs with German names in Japan, such as Wanderlust
<Regenaxer> yeah
<Regenaxer> and a bit far off from the main islands
<Regenaxer> miskatonic, yep :)
<m_mans> :)
<Regenaxer> Well, it originates from medical students 100 years ago
<Regenaxer> Doctors in Japan still use German instead of Latin iirc
<Regenaxer> (docs like to obfuscate when they talk)
<miskatonic> pil should be used more for natural language processing
rob_w has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
<tankfeeder> Regenaxer: here?
miskatonic has quit [Remote host closed the connection]
Guest50208 has quit [Quit: Textual IRC Client: www.textualapp.com]
aw- has quit [Quit: Leaving.]
<Regenaxer> ret
<tankfeeder> hi
<tankfeeder> point coordination
<tankfeeder> in list (0 0)
<tankfeeder> infinite coordinations
<tankfeeder> infinite grid
<Regenaxer> ok
<tankfeeder> i will set and con on list to move cursor
<tankfeeder> i need collect uniq coordinates
<Regenaxer> extending the grid?
<tankfeeder> no, only coordinate it points
<tankfeeder> i think about:
<Regenaxer> 'collect' in a database?
<tankfeeder> push1 ‘R copy L
<Regenaxer> ok
<tankfeeder> is it ok?
<Regenaxer> Is the copy needed?
<Regenaxer> I understand you want to con or conc later
<Regenaxer> But if the list L is created new, no copy is needed
<tankfeeder> for this
<Regenaxer> ok
<tankfeeder> did it
<Regenaxer> Instead of (copy L) I would always just do (list 0 0)
<Regenaxer> no need to keep L around
<Regenaxer> (inc L) -> (inc (car L)) etc
<Regenaxer> (inc L) -> (inc (car R)) I mean
<Regenaxer> (inc (cdr L)) -> (inc (cdar R))
<Regenaxer> ...
alexshendi has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
<tankfeeder> i dont understand you idea
<tankfeeder> R is list of uniq coordinates
<tankfeeder> of L
rgrau has quit [Ping timeout: 248 seconds]
rgrau has joined #picolisp
<Regenaxer> yes
<Regenaxer> But the value of L is used *only* for the purpose of copying
<Regenaxer> it is never put somewhere
<Regenaxer> So instead of (copy L) it is better to do directly what is needed, ie. build a fresh list with (list 0 0)
<Regenaxer> Not important :)
<tankfeeder> no, this is important
<tankfeeder> you mean (push1 'R (list 0 0)) ?
<Regenaxer> yes
<Regenaxer> and later (inc (car R)), (inc (cdar R)) etc.
<Regenaxer> I always feel that something is wrong if 'copy' in needed
<tankfeeder> let me rewrite
<Regenaxer> good
<tankfeeder> Regenaxer:
<tankfeeder> so I have 8192 items in R, should be 2565
<Regenaxer> Looks good!
<tankfeeder> but wrong
<Regenaxer> hmm, why?
<Regenaxer> Why push1 ?
<Regenaxer> the value changes
<Regenaxer> and push1 checks
<tankfeeder> in your variation R have 0 and 1 and -1 in combinations
<tankfeeder> in mine version there uniq coordinates
<tankfeeder> :/
<Regenaxer> you lost one line
<Regenaxer> in the old version (push1 'R (copy L))
<Regenaxer> hmm, perhaps ok
<Regenaxer> it is at the start of until
<Regenaxer> But I see that the logic is different now
<tankfeeder> this is as I understood your idea
<Regenaxer> before you modified L
<Regenaxer> yes, I see
<tankfeeder> there is no L anymore
<Regenaxer> Maybe my proposal was not correct here
<Regenaxer> At least must be handled differently
<Regenaxer> Then stay with copy :)
<tankfeeder> ok
<tankfeeder> go forward
<tankfeeder> as is
<tankfeeder> let it go
<Regenaxer> Insted of push1 copy you would (push1 'R (list (cXXXr R ... etc.
<Regenaxer> I did not think about this algo
<Regenaxer> But considering all this, I think your copy solution was not bad
<tankfeeder> next task
<tankfeeder> adventcoins mining
<tankfeeder> :)
orivej has quit [Ping timeout: 255 seconds]
<tankfeeder> i did it :)
orivej has joined #picolisp
orivej has quit [Ping timeout: 255 seconds]
alexshendi has quit [Ping timeout: 256 seconds]
<rick42> hey peeps
<rick42> Regenaxer: type in ref. goto entry for `by` function: s/argument form the/argument from the/
<rick42> s/type/typo/
<rick42> how ironic. i typo-ed the word "typo" lol!
libertas has quit [Ping timeout: 248 seconds]
libertas has joined #picolisp
libertas has quit [Remote host closed the connection]
libertas has joined #picolisp
rob_w has quit [Read error: Connection reset by peer]