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
orivej has joined #picolisp
alexshendi has joined #picolisp
orivej has quit [Ping timeout: 252 seconds]
_whitelogger has joined #picolisp
<tankfeeder> rick42: this is issue, never tryed free12 and zfs, i will try to repeat, free11 was ok
<cess11> rick42: Something like '(cadr (mapcar pack (split (chop Url) "/"] perhaps.
jamtho_ has quit [Ping timeout: 248 seconds]
alexshendi has quit [Ping timeout: 248 seconds]
alexshendi has joined #picolisp
orivej has joined #picolisp
aw- has joined #picolisp
<aw-> hi all! Happy New Year!
<alexshendi> Happy new year, aw-
alexshendi has quit [Remote host closed the connection]
alexshendi has joined #picolisp
beneroth has joined #picolisp
<beneroth> hi all
<beneroth> and welcome to the 1st day of Chaos in the YOLD 3184
<beneroth> Happy New Year!
<beneroth> Regenaxer, @app/loc/se seems to be missing in the current release
<Regenaxer> Hi all! Happy New Year!
<Regenaxer> beneroth, it is "sv"
<beneroth> ah, thank you!
* beneroth is updating from older version, reviewing all changes :)
<Regenaxer> great!
<beneroth> many great little improvements :) Most I remember the discussion here about it
<beneroth> e.g. thanks for adding @bin/vip and @doc/search :)
orivej has quit [Ping timeout: 264 seconds]
<Regenaxer> :)
<beneroth> oh, did you solve the bug/issue you had in pilBox startup?
<Regenaxer> Not completely yet, more a workaround. I'm changing it again
<beneroth> alright
<beneroth> there is commented-out code in @lib/xhtml.l (js visibilitychange eventlistener installation)
<beneroth> what is the function of the new global *NatTrunkPrf ?
<beneroth> (form.l / localization)
<Regenaxer> commented-out code in @lib/xhtml.l is more damaging than useful
<beneroth> ok
<beneroth> so.. just-not-removed-yet or comment-in-on-special-occasion?
<beneroth> @misc/dirTree.l (html dir listing) was removed. probably for being unnecessary (dir listing is a stupid thing, security-wise) ?
<Regenaxer> des
<Regenaxer> *NatTrunkPrf is national trunk prefix
<Regenaxer> for tel numbers
<beneroth> aaaaaaaah
<Regenaxer> 0 in Germany
<Regenaxer> Before it assumed it is 0 for all countries, which is not correct
<beneroth> oh
<beneroth> didn't know that
<beneroth> assumed 0 too
<beneroth> good to know :)
<beneroth> understood
<beneroth> thx
AcadamaeDood has joined #picolisp
<AcadamaeDood> Hi, beginner here, tried to compile miniPicoLisp on windows using gcc, can't quite get it to work as gcc throws a lot of errors regarding ram.d
<AcadamaeDood> "ram.d:310:17: error: initializer element is not constant (any)0x145ca7d, (any)(num(doZero) + 2)"
<Regenaxer> Hi AcadamaeDood! Strange
<beneroth> hi AcadamaeDood, welcome here :)
<beneroth> what OS ?
<AcadamaeDood> Windows 64-bit
<AcadamaeDood> Windows 10 64-bit*
<Regenaxer> 0x145ca7d is indeed a constant (the name)
<Regenaxer> doZero is determined at link time
<AcadamaeDood> Yeah, it's missing the ^ that indicates the problematic line
<AcadamaeDood> All the errors are about the doX things
<Regenaxer> So the linker cannot handle it it seems
<Regenaxer> a linktime value plus 2
aw- has quit [Quit: Leaving.]
jibanes has quit [Ping timeout: 248 seconds]
<Regenaxer> I don't know the Windows linker format and capabilities. It is not ELF I assume
<AcadamaeDood> I'm using gcc-7.1.0 if that helps
<Regenaxer> yes, but gcc must generate the system's binary format
jibanes has joined #picolisp
<Regenaxer> No idea here
<beneroth> Regenaxer, not ELF, exe :)
<Regenaxer> I expect every linker format to support such offsets
<Regenaxer> yes, sure
<beneroth> AcadamaeDood, no access to a linux? or maybe you can get it run in midipix or the win-10 subsystem
<Regenaxer> But it is a pity it it cannot compiled on Windows
<beneroth> T
<Regenaxer> mini used to be portable in this regard
<beneroth> I think mini worked in the past, but I'm not sure
<Regenaxer> Perhaps try mingw or so?
<Regenaxer> yes
<beneroth> or mobaXterm
<beneroth> the midipix variant of picolisp has already all capabilities which mini offers, I would guess
<Regenaxer> The RAM and ROM stuff was introduced for embedded stuff
<Regenaxer> beneroth, probably yes
<beneroth> AcadamaeDood, maybe this works for you: https://github.com/joebo/picoLisp-win-x86-64
<beneroth> afaik it still has some bugs and problems, e.g. with forking (fork) and thelike, but probably the mini capabilities all work
<beneroth> joebo might be able to tell more
<beneroth> sorry AcadamaeDood, the windows activity of our community is existing but just rather so
<AcadamaeDood> Son of a.. Avast is being a pissant :D
<AcadamaeDood> The picoLisp win x86-64 thingie is apparently a "Very rare file" so it got sent off for investigation & promptly virus chested
<AcadamaeDood> Also it automatically sandboxed the entire thing so it couldn't load the libraries
<beneroth> AcadamaeDood, well you are probably more secure without any antivir. all had exploitable security vulnerabilities so far... best use Microsofts Antivirus, at least that one is not fighting the OS
<beneroth> AntiVirus software is full of security issues. and it (by principle) can only protect you from very basic dangers - if the users of that PC don't click on every ad & attachment, you are really better off without one ;)
<beneroth> all those rather small AntiVir development teams are not really more capable than the software vendor teams.. which also have more testing usually
<beneroth> make backups & security updates & don't click on every bullshit == much more secure
<beneroth> the less software on a computer the less attack surface
<rick42> hello peeps, hny
<beneroth> hey rick42
<beneroth> rick42, can you help with picolisp on windows? you are also a windows user afaik :)
<AcadamaeDood> miniPicoLisp, rather?
<Regenaxer> Hi rick42
orivej has joined #picolisp
<rick42> only a (forced, reluctant) windoze user, thanks to my employers. the only windoze i still have is a system i sneakernet files to (i.e., i don't directly net it to the internet) so it would kinda be a pain in the ass to troubleshoot with. sorry
<rick42> AcadamaeDood uses av on win; I use "no internet" on mine. :)
<rick42> AcadamaeDood: i recall that when i had a networked winbox that (i) it was win 7 pro and (ii) it built mini with no probs. i've never seen that error before iirc
<Regenaxer> rick42, did you use gcc too?
<rick42> yes
<rick42> good point
<Regenaxer> IIRC some people used mingw
<rick42> the cygwin one at the time
<Regenaxer> ok
<AcadamaeDood> mingw-gcc to be exact, forgot those are separate
<Regenaxer> I see
<AcadamaeDood> mingw64
<rick42> mingw-gcc should work
<Regenaxer> Perhaps really rom.d makes problems now
<Regenaxer> mini is indeed meant more for embedded systems
<Regenaxer> saving precious RAM
<rick42> tankfeeder: thanks
<rick42> cess11: i was using something very close to that. thanks
<AcadamaeDood> Welp, got miniPicoLisp to compile on a Tiny Core Linux virtual machine after installing the tcompile metapackage and wgetting the mini version. :D
<rick42> \0/
<Regenaxer> wow
<rick42> tcl ftw
<Regenaxer> But then also full picolisp should compile?
<rick42> 32bit
<AcadamaeDood> 64-bit tcl :D
<rick42> nice
<AcadamaeDood> Yeah, but I wanted to make sure I'm not doing anything stupid with make and such
<AcadamaeDood> I was following the steps correctly, windows is just being a goofball for whatever reason
<AcadamaeDood> Heck, the only difficulty I had was dropping out the https from wget, because openssl isn't installed on TCL by default :D
<AcadamaeDood> But yeah, thanks for all the help :)
<AcadamaeDood> Cya
AcadamaeDood has quit [Quit: Page closed]
<tankfeeder> 3rd generation of code doesnt work too :(
<beneroth> hi tankfeeder o/
<tankfeeder> hi all
orivej has quit [Ping timeout: 240 seconds]
<rick42> hi tankfeeder!
<Regenaxer> Hi tankfeeder
<rick42> beneroth: not gonna leave you hangin': \o :)
<rick42> all, in awk, you can send a stream of text to another process in a pipeline by doing this: `print | "some-cmd"`, repeat that print statement, then finally `close("some-cmd")`. it's a bit weird (syntactically) but it works just fine. question: is something similar possible in pil?
<tankfeeder> how this 2/3 pair appers in lower level? fighting against this
* rick42 goes off to read aoc
<Regenaxer> rick42, you mean making such pipes? It is possible in pil, but syntactically not such elegant
<tankfeeder> rick42: just do everything in pil
<rick42> fam calling for late breakfast. i'll be back (still impressed at the imagination of the aoc writer)
<rick42> Regenaxer, tankfeeder: ok. just don't know how. any hints?
<rick42> bbs
<Regenaxer> there is an example
<Regenaxer> I think not in distro
<Regenaxer> So the easiest is to call a shell (in '("sh" "-c" ...
<Regenaxer> There is no function in pil *directly* connecting two child processes
<Regenaxer> So 'pipe' with 'echo' can be used
<Regenaxer> Grr, even the "new fast" Firefox is horribly slow on my Android tablet
<Regenaxer> I give up
<Regenaxer> revert to Chrome :(
<Regenaxer> Firefox takes lot of time to load any page, and *lot* of RAM it seems
<Regenaxer> Frequently Termux is killed after viewing a few pages in Firefox
<Regenaxer> Killing Termux is not good, have usually several sessions open, editing files etc.
<clacke[m]> bash cannot actually control two children
<Regenaxer> I thought it can. Process group
<Regenaxer> Signals are sent to each process in the group
<clacke[m]> it forks a child, the child forks and execs a grandchild, then execs into the other side of the pipe
<Regenaxer> Really? ok
<clacke[m]> Not sure about longer pipes
<Regenaxer> How should the child(ren) know that they must fork other process(es)?
<Regenaxer> I'd expect it forks all children, and connects the pipes
<Regenaxer> With dup2() system calls
<clacke[m]> the easy way is to create a pipe, then fork, then start communicating with one side of the pipe
<Regenaxer> That's what PicoLisp is doing all the time, for any child
<clacke[m]> it's not so hard to imagine a chain of operations that goes through fork after fork
<Regenaxer> In 'pipe' it also usese dup2
<Regenaxer> it *is* hard
<Regenaxer> bash must do it in the fork(), not the exec'ed processes
<Regenaxer> the processes don't know of each other
<clacke[m]> after each fork, one process will know that its supposed to be in one state, the other will know that it should be in another state
<clacke[m]> it's tricky to get right and easy to get lost
<Regenaxer> yep
<clacke[m]> but not conceptually like implementing some deep academic algorithm
<clacke[m]> it is "only hard work"
<Regenaxer> Within fork() it is not hard
<Regenaxer> Just that pil does not have a function for
<Regenaxer> only 'pipe' for a single child
<Regenaxer> and 'in' and 'out', also for single children
<Regenaxer> No direct way to connect two children to each other
<clacke[m]> I woukd have to look at how pil phrases it, but I am the phone and want to watch netflix until I crash :-)
<Regenaxer> Could be implemented easily
<Regenaxer> ok :)
<clacke[m]> but connecting two children would have to be done by first creating the pipe, then forking into each child, and finally closing the pipe FDs on the parent, for reasons I forget, probably for SIGPIPE confusion
<clacke[m]> I guess each child should also close the Other pipe end
<clacke[m]> and dup their end to their stdin/out FD
<clacke[m]> all the forking and piping can create a process tree that looks like the list of commands it came from
<clacke[m]> (create-long-pipe '(dothing thendothing finallything))
<clacke[m]> forks, the child runs (create-long-pipe (cdr thingstodo)), then execs into (car thingstodo)
<clacke[m]> that's what I meant by "easy"
<clacke[m]> how does it know what to do? it knows if its the child or the parent, and it's in the middle of something
<Regenaxer> You find lots of this stuff in the pil sources
<clacke[m]> the process tree is a linked list of the same depth as the list sent to create-long-pipe
<Regenaxer> it is the standard unix way
<clacke[m]> good, I'm curious to look at it now :-)
<clacke[m]> I have, fortunately and unfortunately, a lot of time on mynhands in jan and feb
<clacke[m]> but now I have a date with Lucifer
<Regenaxer> (?) ;)
<clacke[m]> Lucifer the TV series. Good stuff.
<Regenaxer> ah
<Regenaxer> have fun! :)
<clacke[m]> The Lord of Hell retires his position to become a club owner in L.A.
<clacke[m]> and being generally snarky at everyone
<beneroth> have fun :)
<beneroth> happy new year clacke[m]
<beneroth> don't become to snarky yourself, tuwat :)
<clacke[m]> happy new year, picos! kallisti!
orivej has joined #picolisp
orivej has quit [Ping timeout: 255 seconds]
alexshendi has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
alexshendi has joined #picolisp
groovy2shoes has quit [Ping timeout: 265 seconds]
groovy2shoes has joined #picolisp
<rick42> Regenaxer: i found out that the equivalent of doing what I explained earlier in awk
<rick42> ("in awk, you can send a stream of text to another process in a pipeline by doing this: `print ... | "some-cmd"`, repeat that print statement, then finally `close("some-cmd")`")
<rick42> becomes child's play in pil:
<rick42> (out '(some-cmd) (print ...) ...)
<rick42> nothing else is needed. it's almost amazing, but certainly amazingly simple!
<rick42> i was making things overly complicated, jedi-mind-tricking myself! lol :)
<rick42> thanks
<cess11> Regenaxer: Tried InBrowser?
orivej has quit [Ping timeout: 272 seconds]