beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
aw- has quit [Ping timeout: 260 seconds]
clacke has quit [Remote host closed the connection]
razzy has joined #picolisp
<razzy> good morning to all. How do i recognise if function is streaming data from input to output or storing wnole input in memory and processing it.
<razzy> *whole
<Regenaxer> Good morning razzy!
<razzy> yeah, read source :D
<razzy> exept reading source?
<Regenaxer> What do you mean "a function streams"? Reads and writes?
<Regenaxer> or does any I/O?
<Regenaxer> Side effects?
<razzy> imagine pure function without side effects. imagine little RAM, huge data. Streaming function can read from disk/source process save to disk/destination without handling all data at once
<Regenaxer> (echo) streams
<razzy> I like (echo) , even if i do not fully understand how
<razzy> but i do not know, which functions destroy property of (echo)
<Regenaxer> I think it is the only built-in function that reads *and* writes
<Regenaxer> Destroy in which way?
<razzy> example, (sort) will surely wait for all data to come in, before sorting
<Regenaxer> I think any such function will buffer in some way
<Regenaxer> 'echo' also buffers
<Regenaxer> But the built-in functions will not use huge amounts of RAM
<Regenaxer> a few KiB
<Regenaxer> More critical is stack perhaps
<razzy> good point. i change question. how do I know size of such buffer?
<Regenaxer> As you say, from the source, or monitoring with ltrace perhaps
<Regenaxer> The buffer size is usually BUFSIZ in stdio
<Regenaxer> But there are many buffers involved
<Regenaxer> Each open file has a buffer
<Regenaxer> See 'inFile' etc in src/dec.l
<Regenaxer> (buf BUFSIZ i8) # Buffer
<Regenaxer> BUFSIZ is 8 KiB on most systems iirc
<razzy> uf, ok. thank you.
<razzy> what do you mean by critical stack<
<razzy> ?
<Regenaxer> It is easy to overflow the stack
<Regenaxer> Infinite recursion
<Regenaxer> Stack is also in RAM
<razzy> I have no problem with that so far :]
<Regenaxer> good :)
<razzy> I build loops rather than recursions anyway :]
<Regenaxer> But if you have little RAM you need to be careful
<Regenaxer> Calling line input (in readline()) takes 6 KiB immediately
<Regenaxer> Or if you 'apply' big lists
<Regenaxer> Pil builds many structures on stack at runtime
<Regenaxer> You can monitor the used stack size with 'stack'
razzy has quit [Ping timeout: 250 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 246 seconds]
razzy has joined #picolisp
rob_w has joined #picolisp
emacsomancer has quit [*.net *.split]
anjaa has quit [*.net *.split]
mabi has quit [*.net *.split]
anjaa has joined #picolisp
emacsomancer has joined #picolisp
mabi has joined #picolisp
cranium has joined #picolisp
<beneroth> Good morning Regenaxer, razzy
<beneroth> razzy, what problems do you have or worry about?
<Regenaxer> Good morning beneroth!
<beneroth> as Regenaxer pointed out, there is no stream without buffer, somewhere there are buffers as soon a chip is involved and it isn't pure cable/radio.
<beneroth> computers involve many many buffers in quite different use cases and so possible effects/risk are also very different
<Regenaxer> I think his main concern was RAM limit on small systems
<Regenaxer> There is no other way than measuring (monitoring) it
<beneroth> oh. I would say: don't prematurely worry about it, just don't be obviously wasting memory (don't read entire big file into memory) but don't go extra lengths (read and keep one line in buffer per iteration). then test & optimize if necessary
<beneroth> chances are high that with premature optimizations (not based on actual observed limitation issues) it becomes much worse than starting with something that runs and then optimizing.
<Regenaxer> Yep
<beneroth> depends on the scale of the limitations, of course
razzy has quit [Ping timeout: 265 seconds]
aw- has joined #picolisp
razzy has joined #picolisp
razzy has quit [Ping timeout: 264 seconds]
<Regenaxer> Haha, just stumbled across an announcement from the Flat Earthers Society: "The Flat Earthers Society has members all around the globe"
<aw-> ahahahaha
<Regenaxer> Yeah, all right, thanks!
<beneroth> old but gold
<beneroth> I still wonder how they became active again. I thought they vanished in the 90s when their founder died. But they made quite a comeback.
<beneroth> their guys who try real scientific experiments to prove the earth is flat (which fail and prove the globe body) are fascinating
<Regenaxer> Yes, a real mysterium
<Regenaxer> I like to understand what drives these folks
<beneroth> me too
<beneroth> covidiots in my environment still puzzle me. They are not even interested in real arguments, only interested in emotions and stuff that supports their incoherent model of reality
<Regenaxer> yes, same case
<Regenaxer> Seems that people are in need for some religion
<beneroth> the important part to reflect is that nerdism, in the sense of holding logical arguments in higher value than even your own emotions, is not human normal. we are the freak ones.
<beneroth> right & wrong, while overlapping, is something different than true & false. right & wrong is for most people determined by what other people around them think, which makes sense as an intuitive instinct to drive for social cohesion, as we are a state-building species
<beneroth> yeah religion left a void now filled with less well-designed/well-evolved superstitions, my impressions too.
<beneroth> bbl
<Regenaxer> cu :)
<beneroth> re
<Regenaxer> If I look at https://wiki.tfes.org I don't think they take it serious themselves. They do it as an intellectual exercise maintaining their claim.
<beneroth> question is, is that a separate group using the same branding, or it's a wild mix of people, some aware of that and some absolutely not?
<Regenaxer> A mix, the dumb ones being manipulated by the weird ones
rob_w has quit [Quit: Leaving]
<beneroth> very common pattern
<Regenaxer> indeed
aw- has quit [Ping timeout: 260 seconds]
cranium has quit [Quit: Leaving]
<beneroth> [OT] JS/NPM had a RNG bug which resulted in keys mostly consisting of zero. https://github.com/juliangruber/keypair/security/advisories/GHSA-3f99-hvg4-qjwj
<beneroth> If only we had a html builtin for that. oh we had? <keygen> ? oh browser vendor never updated it to newer crypto algorithms and then (with pressure from Google) kicked it out of the standard against protests by Tim Berners-Lee himself?
<beneroth> oh the previous solution would been secure even if you cannot trust connection & the server? but but you should trust the server and all the executables it gives you.
<beneroth> srsly, the web should be forked. maybe I have to look at this gopher-remake again :-(
freemint has joined #picolisp
<freemint> Hey, i am puzzled by my vpn setup to bypass an UDP filter not working and i am not sure where i should ask. Would someone want to hear me out?
<Regenaxer> Hi freemint! Sorry, I think I can't be of help, as I don't know anything about VPNs.
<freemint> Fair ...
<freemint> Your daughter is doing great content!
<freemint> Is srqt still converting to float, call C function and convert back?
<Regenaxer> Thanks!
<Regenaxer> 'sqrt' never did that
<freemint> Oh ...
<freemint> was there something that did that?
<Regenaxer> since the earliest versions
<Regenaxer> @lib/math.l does something like that for trigonometric functions
<Regenaxer> cos, sin, tan
<Regenaxer> fixnums
<beneroth> but not callign C code :)
<beneroth> freemint, your VPN is likely using UDP for transport, so not sure if you can bypass a UDP with that. you could tunnel via SSH (TCP) maybe?
<freemint> I could try that.
<beneroth> see -D and -N arguments to ssh
<beneroth> e.g. "ssh -p <server-port> -D <localport> -f -C -N <server>", server being a proxy you have access to. then look that your local applications (e.g. browser, or whatever) uses localhost:<localport> as proxy
<freemint> What do i do with localport and server port?
<beneroth> server-port is usually 22 for SSH
<beneroth> so you can leave it away if its 22
<beneroth> localport is the port on your local host where the proxy tunnel is available
<beneroth> just chose a number
<beneroth> you've got access to a server running SSH and you know the basics of configuring a SSH server?
<beneroth> then again.. I wonder why you would be in a network where UDP is blocked/filtered but TCP working...sounds strange
<beneroth> you're sure about the issue you have?
<freemint> I am quiet sure, university network ...
<beneroth> yeah big organisations like to make weird pseudo-security stuff in their networks, I know...
<freemint> It's a student shouldn't run servers in their dorms policy
<freemint> We a gig symmetric.
<freemint> beneroth can you run iperf -c iperf.par2.as49434.net -u and tell me if it says something about a WARNING to you
<beneroth> ok
<beneroth> WARNING: did not receive ack of last datagram after 1 tries
<freemint> mhh ok, that doesn't help but thanks
<freemint> and iperf -c xn--schg-noa.de -u ?
<beneroth> no warning
<beneroth> 1.05 Mbits/sec
<beneroth> ¯\_(ツ)_/¯
<freemint> yeah ... thanks
<freemint> I try the ssh proxy thing
<beneroth> they should be able to detect big traffic spikes. but low traffic might get unnoticed.
<beneroth> whatever big means is of course relative to what the normal traffic in their monitoring is...
<beneroth> good luck
<freemint> Nah, vpn ning around the firewall is allowed *shrugg*
<beneroth> so it's all just security theater and motivating the students to learn :P
freeemint has joined #picolisp
<beneroth> did your previous IRC connection die? because I just send some privat messages to you xD
<freeemint> Yeah ...
<freeemint> i missed it
freemint has quit [Ping timeout: 250 seconds]
<beneroth> your name is like caaar, you just add more 'e
freemint__ has joined #picolisp
freeemint has quit [Ping timeout: 252 seconds]
freemint__ has quit [Ping timeout: 265 seconds]