ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #picolisp
<aw-> beneroth: yes I have a Proxmox server running for a while now, very useful
KingRiver has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #picolisp
patrixl has joined #picolisp
orivej_ has quit [Ping timeout: 265 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
KingRiver has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Read error: Connection reset by peer]
orivej_ has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
razzy has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
rob_w has joined #picolisp
miskatonic has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
lodsw has quit [Ping timeout: 240 seconds]
orivej_ has quit [Ping timeout: 272 seconds]
orivej has joined #picolisp
lodsw has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
patrixl has quit [Read error: No route to host]
patrixl has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
<aw-> Regenaxer: hi
orivej has quit [Ping timeout: 260 seconds]
orivej_ has joined #picolisp
<Regenaxer> Hi aw-
<rob_w> hey hey together
<rob_w> .. finally the time has come and i will return to picolisp
<Regenaxer> Hi rob_w!!
<Regenaxer> Great :)
<rob_w> the next days i will try to start on a new db model and baby step me forward from that
<Regenaxer> ok, good
<miskatonic> a nosql db model?
<Regenaxer> of course
<aw-> Regenaxer: i'm trying to run parallel tasks, but I want to control how many run concurrently
<aw-> and they are shell commands called from PicoLisp
<Regenaxer> ah, so not 'task's?
<aw-> is there an example of that?
<aw-> i was looking at (later)
<Regenaxer> later is good if you need pipes to the processes
<aw-> yes but my shell commands output to stdout :\
<Regenaxer> thats ok
<Regenaxer> 'pipe' uses stdio
<Regenaxer> But 'pipe' first forks another pil process, perhaps not necessary here
<aw-> docs say 'should not write any data to standard output'
<Regenaxer> right, because it is used for communication
<Regenaxer> I would not use 'later'
<Regenaxer> but 'pipe' with 'exec'
<aw-> hmmm i see
<Regenaxer> like in communication with the JVM
<aw-> with (pipe) i dont need to do (unless (fork) ?
<Regenaxer> right
<aw-> ok this might work
<Regenaxer> Look at the 'mail' function
<Regenaxer> pipe + exec
<aw-> ok so now I need to find how to limit how many (pipes)
<Regenaxer> yeah
<Regenaxer> You need some bookkeeping
<Regenaxer> I would read with 'task' from the pipes
<Regenaxer> if a process terminates, the task wakes up with NIL
<Regenaxer> so you decrement a counter
<Regenaxer> or just look at length of *Run
<aw-> hmmm
<Regenaxer> I have lots of such tasks
<Regenaxer> (task (pipe (exec ...)) (let S @ (in S (if (rd) (dosomething) (task (close S]
<Regenaxer> thats the basic mechanism
<Regenaxer> (task (close S)) closes the FD and removes the task from *Run
<Regenaxer> Like lib/http.l is doing too
<aw-> oh yeah i'll look at that
<rob_w> Regenaxer, well the model we used back then , dunno its name
<Regenaxer> In any case (pipe (exec "cmd")) gives you an FD to read and write
<Regenaxer> rob_w, for the torque calibrator?
<rob_w> actually i never looked at that model yet, the rid/mcu one
<Regenaxer> ah, yes, the distributed one
<Regenaxer> I don't remember well ;)
<rob_w> the knockdetect one , but that is only used as user db i think
<Regenaxer> yes
<rob_w> the basic user rights management u got
<rob_w> and i will need a nice wrap of some system librarys .. they will also introduce some data models
<aw-> Regenaxer: thanks for the help, i can work with this
<Regenaxer> good :)
orivej_ has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<beneroth> aw-, I used (pipe) with (exec) before, works well once you grokked it
<beneroth> used it to access MSSQL database, and keeping the connection open in this parallel process (to not have to create no connection for every query)
<Regenaxer> Hi beneroth! What do you think, are you ready for PilClub?
<Regenaxer> ... and your server ;)
<beneroth> dunno, lets find out :-)
<Regenaxer> :)
<beneroth> there were more updates, apparently Firefox should work better now
<Regenaxer> No risk, no fun
<Regenaxer> ah, good
<beneroth> yep!
<aw-> beneroth: yeah that's not my problem now.. im trying to figure out how to avoid making 100 (exec) commands all at once
<Regenaxer> I used Chromium as Firefox hang frequently
<miskatonic> I avoid both. Chromium has always been unusable, while FF became unusable after ditching XUL
<beneroth> apparently a single Firefox webclient in the meeting could downgrade the meeting for all participants
<beneroth> this might be fixed now
<beneroth> miskatonic, I agree, what do you use?
<Regenaxer> I see
<beneroth> I still use FF because I'm lacking a good alternative fitting my needs
<miskatonic> luakit, based on webkit2-gtk
<beneroth> I see
<Regenaxer> I used my mobile for chat, only a desktop browser for screen sharing
<miskatonic> i've heard of next, a client in lisp ; unfortunately not pil, though
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #picolisp
orivej_ has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #picolisp
orivej has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #picolisp
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
razzy has quit [Quit: Connection closed]
orivej_ has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
<tankf33der> catch throw doesnt work
<tankf33der> in pil21
<tankf33der> http://ix.io/2ob9
<tankf33der> throw cant throw a tag thru nested levels of frames.
<Regenaxer> Thanks! With 'level' you mean the 'let'?
<Regenaxer> Here it just hangs
<Regenaxer> with or without 'let"
<Regenaxer> I think this test is too early
<Regenaxer> 'unwind' is only partially there
<Regenaxer> So it is not the 'let' but the open file(s)
<Regenaxer> 'unwind' cleans up a lot of things
<Regenaxer> Currently only unbinds symbols
<Regenaxer> 'unwind' is called in all non-local go'
<Regenaxer> coroutines, throw, error handling
<tankf33der> yes, level is let
<tankf33der> ok
<tankf33der> appended to issue, so will not lost
<Regenaxer> ok
orivej has quit [Ping timeout: 260 seconds]
orivej_ has joined #picolisp
<Regenaxer> I wrote skeletons of catch/throw, co/yield, and native (and gc) at the very beginning, just to see if/how to do it in LLVM. Not operational yet.
<Regenaxer> They are critical in stack handling
lodsw has quit [Ping timeout: 260 seconds]
orivej_ has quit [Ping timeout: 264 seconds]
lodsw has joined #picolisp
<aw-> Regenaxer: question about (native)
<aw-> in the docs: (native "libcrypto.so" "SHA1" '(B . 20) "abcd" 4 0)
<aw-> what is the last 0 argument ?
<aw-> openssl API docs are horrible, i have no idea how it works :(
<Regenaxer> hehe, good question
<Regenaxer> SHA1(const unsigned char *d, size_t n, unsigned char *md);
<aw-> null ptr?
<Regenaxer> If md is NULL, the digest is placed in a static array
<Regenaxer> SHA1(3) Library Functions Manual SHA1(3)
<tankf33der> there is example in rosetta
<aw-> hmmm
<tankf33der> let me find
<tankf33der> aaaaa
<tankf33der> http://ix.io/2obu
<tankf33der> this one
<tankf33der> trivial in general.
<Regenaxer> A static buffer should also be OK in most cases
<aw-> yeah.. i'm trying to use libcrypto though
<tankf33der> aw-: should be fine
<aw-> '(NIL (20) .. that makes sense
<aw-> thanks tankf33der
miskatonic has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
orivej_ has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
rob_w has quit [Quit: Leaving]
orivej_ has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #picolisp