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
f8l has quit [Ping timeout: 248 seconds]
alexshendi has quit [Read error: Connection reset by peer]
groovy2shoes has quit [Ping timeout: 265 seconds]
groovy2shoes has joined #picolisp
<clacke[m]> :-O
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 252 seconds]
aw- has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
<aw-> : (version)
<aw-> 18.1.9
<aw-> : *CPU
<aw-> -> (18 1 9)
<aw-> -> "arm64"
<aw-> : (str "12.123.23.23" "")
<aw-> -> Segmentation fault
<aw-> oh sorry! that's the GitHub repo clone, which isn't updated
<aw-> just tested with picoLisp.tgz and it seems to work now
<aw-> : (str "12.123.23.23" "")
<aw-> -> NIL
<aw-> m_mans: how often do you update github.com/picolisp/picolisp ?
<m_mans> hi aw-! It's should be updated automatically several times a day, but only "develop" branch
<aw-> hi m_mans
<aw-> great! you have a script which automates that?
<m_mans> yes
<aw-> ok! thanks
<m_mans> does something go wrong?
<aw-> i don't know? it hasn't been updated in 22 hours
<aw-> maybe github was down when it tried to update
<m_mans> I noticed before that PicoLisp hosting server gives wrong info for 'if-modified-since' requests sometimes
<m_mans> I haven't investigate more
<m_mans> The same script updates also https://bitbucket.org/mmamkin/picolisp
<m_mans> I see there more fresh update - 8 hours ago
orivej has joined #picolisp
<m_mans> hm, strange difference between bitbucket and github versions. Thanks aw-, I'll check more detail
f8l has joined #picolisp
<m_mans> Concerning downloaded tgz's - I have:
<m_mans> 1008786 Jan 2 11:06 picoLisp.tgz.20180102-080649
<m_mans> 1008818 Jan 5 14:14 picoLisp.tgz.20180105-111432
<m_mans> 1008789 Jan 2 17:25 picoLisp.tgz.20180102-142556
<m_mans> 1008827 Jan 5 20:53 picoLisp.tgz.20180105-175322
<m_mans> 1008838 Jan 8 13:39 picoLisp.tgz.20180108-103927
<m_mans> 1008859 Jan 9 10:00 picoLisp.tgz.20180109-070032
<m_mans> 1008859 Jan 9 17:32 picoLisp.tgz.20180109-143224
<m_mans> 1008900 Jan 9 19:59 picoLisp.tgz.20180109-165915
<m_mans> 1008911 Jan 9 22:28 picoLisp.tgz.20180109-192835
<m_mans> does this look OK?
<m_mans> timezone is +5
<m_mans> oops, no, +3
<aw-> hmmm
<aw-> i can't tell, what's the md5 hash of the latest?
<aw-> i have 0a0e3e1172fe2184a1af6b666e4d8dcc
<m_mans> 0a0e3e1172fe2184a1af6b666e4d8dcc picoLisp.tgz.20180109-192835
<aw-> yes i guess that's Regenaxer's latest
<aw-> but it's not on github
<aw-> strange
<m_mans> sorry that I can't check all this right now
<aw-> no problem
orivej has quit [Ping timeout: 248 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
rob_w has joined #picolisp
rob_w has quit [Changing host]
rob_w has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
mtsd has joined #picolisp
miskatonic has joined #picolisp
orivej has joined #picolisp
miskatonic has quit [Remote host closed the connection]
miskatonic has joined #picolisp
<aw-> Regenaxer: here?
<Regenaxer> yes
<aw-> hi
<Regenaxer> hi :)
<aw-> yesterday's fix is good i guess?
<aw-> should tokenizing that type of string return NIL ?
<Regenaxer> yes, I see no problems atm
<Regenaxer> yes, it is not a legal number
<aw-> yes that's what i figured
<Regenaxer> it is as the original in pil32 behaves
<aw-> because it tries to turn "numbers" into numbers
<aw-> so "32" would become 32
<aw-> yes it's good, thanks
<Regenaxer> yes, and the case hat two decimal dots
<aw-> what is the use case for coroutines in PicoLisp?
<Regenaxer> "12.34.56"
<Regenaxer> many use cases I think
<Regenaxer> I used it in GUI to display things during long imports for example
<Regenaxer> another case is recursively traversing several trees in parallel
<Regenaxer> eg. try to compare two trees
<Regenaxer> very tedious without coroutines
<cess11> basically any parallellisation, I'd say
<cess11> they can talk and also be controlled by messages while being more permanent and static than DB objects.
<Regenaxer> yep
<aw-> i see
<Regenaxer> and less overhead than processes or threads probably
<cess11> yes, that is my impression
<Regenaxer> and easier
<aw-> ok that's what i was wondering
<aw-> sounds similar to threads/proceseses
<Regenaxer> yes
<Regenaxer> but more controlled
<Regenaxer> it is a function which can be stopped and continued
<aw-> interesting..
<Regenaxer> It is similar to Pilog in that regard
<Regenaxer> In Pilog you can also generate things one by one
<Regenaxer> But coroutines are more general
<tankfeeder> ^^^ traversing trees
<Regenaxer> indeed :)
<Regenaxer> 'nextLeaf' iterates a tree recursively
<Regenaxer> generates one node at a time
<aw-> can't (diff) be used to compare two trees?
<Regenaxer> If you need to traverse a tree non-recursively, it becomes a lot more complicated
<Regenaxer> Yes, but then you must unpack both trees into lists first
<Regenaxer> What if the trees are huge?
<aw-> oh, i thought the trees were lists
<aw-> what are trees in this context? binary trees?
<Regenaxer> yes, but 'diff' works only on a flat list
<Regenaxer> here binary, yes, but might be also with more sub-branches
<aw-> i see..
<Regenaxer> Try to compare such trees in another way
<Regenaxer> Without recursion you need to keep track of the position manually
<Regenaxer> ie maintain two stacks
<aw-> right right
<aw-> ok i think i understand
<aw-> so, if I wanted to implement the nodejs in picolisp, coroutines would be good for that (event loop) ;)
<Regenaxer> perhaps, though events can be handled directly too
<Regenaxer> eg a *Run task
<aw-> yes but those require processes
<Regenaxer> ok
<aw-> no fear, it's not in my todo list
<Regenaxer> :)
<Regenaxer> later :)
<miskatonic> why would one want to implement nodejs in picolisp?
<aw-> miskatonic: hahaha *if* one wanted to
<miskatonic> implementing it in ersatz would be worse
<Regenaxer> yeah, no coroutines there
<clacke[m]> pretending this is serious, the way to implement node in picolisp would probably be to reuse libuv and integrate with that?
<aw-> clacke[m]: yes
<aw-> but that defeats the purpose
<aw-> perhaps i should have been more specific: implement libuv in picolisp
<cess11> 'co is like the event loop but with control over whether it runs and an arbitrary amount of them in the same program space, sort of
<clacke[m]> right
<Regenaxer> Knuth wrote that normal functions are a special case of coroutines
<miskatonic> at least it is not tail-recursion
<Regenaxer> T
<cess11> they are somewhat reminiscent of actor/agent models in some languages
<cess11> has anyone tried to abstract away naming of pil coroutines yet?
<Regenaxer> Abstract? They are found by tag
<Regenaxer> Very similar to catch/throw internally
<cess11> yes, automate tagging them, so an arbitrary amount could be generated and kept track of
<Regenaxer> just with persistent environments
<Regenaxer> easy
<Regenaxer> tankfeeder's example does that
<Regenaxer> "rt1" and "rt2"
<cess11> is it from Same Fringe on Rosetta?
<Regenaxer> Same?
<cess11> yes, I see
<Regenaxer> ok
<Regenaxer> yes
orivej has quit [Ping timeout: 252 seconds]
<Regenaxer> bbl
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
<m_mans> Telegram bot API is nice
<m_mans> I'm making wrapper now, using curl as helper
aw- has quit [Quit: Leaving.]
miskaton` has joined #picolisp
miskatonic has quit [Remote host closed the connection]
mtsd has quit [Ping timeout: 260 seconds]
miskaton` has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
orivej has joined #picolisp
rob_w has quit [Quit: Leaving]
<beneroth> hi all
<beneroth> interesting discussions :)
<beneroth> node.js in picolisp: maybe to make it more secure? ^^
<beneroth> if you don't yet believe that including third party code (or third party hosted code) into websites is a horrible bad idea, read this:
<beneroth> (or if you believe into node.js.. I guess you don't when you're here ^^ )
domovod has quit [Quit: WeeChat 2.0.1]
<beneroth> Google is basically the group of people which can watch/view our computer & internet activity better (browser, social media buttons, website analytics, DNS, AMP articles, android, etc etc) than everyone else (including governments).. actually their core business is to stalk us better than anyone else and to sell this ability to the marketing guys...
<beneroth> their statement is "trust us, we are good guys, and our moral values and standards are high enough that we would never abuse this insight in your lifes / power"
<beneroth> so it is interesting how good their morales really is. and that really shows when they don't like someone and hold the power against them
<Regenaxer> And most importantly if now liberal governments get autocratic in the future
* beneroth just looked at the Google internal message board screenshots from the Damore vs Google lawsuit
<Regenaxer> A horror to see what happens in China now
<beneroth> a social scoring, yeah
<Regenaxer> that, and surviellance in general
<beneroth> T
<Regenaxer> Will happen here too, the question is just "when"
<beneroth> well surveillance in general is rolled out because that is probably the biggest weakness of leaderless restistance (https://en.wikipedia.org/wiki/Leaderless_resistance)
<beneroth> and because the technology becomes cheaper and cheaper
<beneroth> I would say it is a related but separate from the issue that (pseudo-) "liberal" people (and the related "social justice warriors") claim tolerance for themselves (including on utter ridiculous issues) but behave absolutely anti-democratic and intolerant towards opposing views
<beneroth> it's like the people think that their arguments are not good enough to convince people with other views
<beneroth> so they fall back to blatant social and economic exclusion
<beneroth> which doesn't solve anything
<beneroth> only escalates the whole thing more and more
<beneroth> Regenaxer, surely within my lifetime. probably within yours.
<Regenaxer> T
<beneroth> its really surprising how easily the people forget.
<beneroth> half of germany was a police state when I was born and people now actively vote for such things which are worse
<beneroth> this all will get ugly
<Regenaxer> :(
alexshendi has joined #picolisp
<beneroth> + climate change effects (probably rendering quite some settled land inhabitable) + still rising world population & resource availability problems increasing = nice receipt
<beneroth> makes me think about the pessimistic answer to the Drake equation :(
<beneroth> hi alexshendi \o/
<beneroth> bbl
<Regenaxer> T
alexshendi has quit [Ping timeout: 260 seconds]
libertas has quit [Quit: Lost terminal]
<cess11> it will be about the same here as in China, India, our politicians will use every terrorism and otherwise criminal event to push for legislation and bigger investments in police, which basically is peace time paramilitary used on the own population
<cess11> just a little slower
<Regenaxer> exactly
<beneroth> will? already is going on. for a few years now.
<beneroth> 9/11 - the terrorist have won.
<cess11> because of this I've been thinking I might apply for work as a civilian analyst at the IT unit in the army, seemed like a fairly safe place to be, but I might have gotten lucky the last few days and found similar work in the private sector. will see if they'll have me.
<beneroth> cess11, I personally don't want to work for such an unit, nor a private surveillance company.
<beneroth> the biggest protection we have is their incompetence. skilled people with ethics should stay away from them.
<rick42> hehe T | <beneroth> the biggest protection we have is their incompetence
<rick42> hi everyone
<rick42> i've been working on Node.l based on previous discussion
<rick42> jk lol :)
<beneroth> rick42, well these scheme (skilled people mostly staying away from spying jobs) works pretty well so far in germany and switzerland
<rick42> o/
<beneroth> thanks to the hacker community
<beneroth> \o
<Regenaxer> Hi rick42!
<rick42> hi Regenaxer! :)
<viaken> beneroth: Only takes a few bad actors to ruin that, sadly.
<viaken> Like most things, honestly.
<beneroth> viaken, T
<beneroth> viaken, but I see it also as opportunity cost: less good hackers for them, more good hackers for us (e.g. writting more secure software or even FOSS crypto)
<viaken> True
* viaken hasn't built the habit of T yet.
<beneroth> My stand is: focus on defense. hacking requires software bugs. lets get rid of software bugs.
<rick42> has anybody here used/heard of bspwm (window manager)? i've been using it since late yesterday. neat thingy. you configure it with a sh script that sends the running wm messages. so tweaking it is easy: on the command line, send a message to change one thing. no need for "reload my config file" (although you can do that). reminds me of working with dynamic langs at a repl.
<rick42> so the configure file could be a pil script :D
<viaken> rick42: Yeah, it's quite an interesting thing.
<beneroth> oh sounds nice
<beneroth> rick42, haven't heard of it
<viaken> It's tiling, so if you're not used to that be forewarned.
<rick42> yes by default. but there are scripts to make some windows always floating
<rick42> in fact it's the best hybrid (float/tile) wm i've used so far
* beneroth uses i3 (i3wm.org). also supports floating.
<rick42> beneroth: yes good example
* beneroth rarely ever uses floating.
* viaken is currently using Xmonad.
<rick42> viaken: nice!
<beneroth> "I personally could not live without tabbed containers, so i3 gets my vote."
<beneroth> oh
<beneroth> "i3 manages containers and each container can have more than one window inside it, the way you switch between them is either through vertical tabs or horizontal ones"
<beneroth> yep
<beneroth> I like it
<viaken> A while back, I was looking at CLFSWM. It has an interesting tree-based window management system.
<viaken> I was thinking I could keep a branch per-project. At the time, though, I needed something I could get comfortable with quickly, so I ended up with Xmonad.
<rick42> viaken: i see the appeal of lisp-based wms right away. have a listener going and ready and tweak away, or slowly learn how the thing is constructed. very nice.
<cess11> rick42: how does it compare to i3wm would you say?
<rick42> you mean bspwm to i3? they are very similar. i like the config of bspwm of course better, but (agreeing with the reddit thing beneroth posted) there are things in i3 that are just setu pfor you ootb, especially the tabbed containers thing (which I believe you could hack up for bspwm but idk how long or involed it would be (the change)
<rick42> i've used i3 before
<rick42> so that's my basis for agreeing with those other people.
<rick42> bspwm just seems fun and it's working just fine for me now. looking fwd to twaeking more
<cess11> I see, thanks
<cess11> will probably try it out
<rick42> cess11: sorry i can't say anything more through now. i just need more time with it
<rick42> thorough
<rick42> also, i've been going kinda min for a year and a half now: dwm, spectrwm and cwm being the latest progression, so the "starkness" of my initial config of bspwm (which is the stock one / example scripts from the distro/package) does not bother me. if i needed more, i might be a bit put off :D
<rick42> getting panels / status bars is going to take me some time
<beneroth> i3wm has some out of the box. removable and customizable.
<beneroth> well one status bar at the bottom, showing usually free storage space, network connectivity, battery, system load, date + time and program trail icons
<beneroth> maybe I customized it to be so, can't remember. I think I didn't customize much.
<rick42> beneroth: yeah that's cool. bspwm has a panel ootb but it is a script that relies on other programs which I have to learn about / install. i just need some time to warn into it.
<beneroth> ah dependencies :P
<rick42> beneroth: that's what i remembered too about i3
<rick42> hehehe T
<rick42> should be manageable though (unlike the node jenga tower of deps :)
<rick42> advantage: you control what those deps are (at the end of the day) not bad
<beneroth> you always control that, even when you choose to ignore it and just copy the big pile of mud of someone else :P
<beneroth> hm..
<beneroth> well ok, no you completely give away this control when using npm, you're right.
<beneroth> read the link I posted first today :) its fun :)
<cess11> rick42: yeah, minimalism is what keeps me from going to i3 today so bspwm looks like it could be a decent compromise
<beneroth> btw. today is Knuths 80s birthday \o/
<rick42> cess11: sounds good
<rick42> beneroth: wow. "many years!" as we say in greece
<rick42> that gif from the reddit post is really a cool watch: https://github.com/windelicato/dotfiles/raw/master/why_bspwm.gif
<beneroth> is it really a gif? for some weird reason my browsers want to download it (maybe weird http header?) ?
<rick42> dood[ette] looks like [s]he's using compton (shadows and transitions)
<rick42> beneroth: i dl'ed it and open in somehting else
<beneroth> apparently in some parts of the internet they call mp4 files gifs :(
<rick42> hehehee
<rick42> i liked the resizing of groups of adjacent windows the best i think
<rick42> then after that resizing the gap spaces
<rick42> oh well back to work. booooo :(
<rick42> :)
<rick42> cu all later!
<beneroth> cya
<beneroth> why gaps?
<beneroth> looks nice.. but function?
<rick42> looks only :)
<beneroth> oh
<beneroth> kthxbye :)
orivej has quit [Ping timeout: 264 seconds]
miskatonic has joined #picolisp
miskatonic has quit [Client Quit]
rob_w has joined #picolisp
<beneroth> oops, Apple failed once more: https://openradar.appspot.com/36350507
<beneroth> I have no idea if this is really bad or not. Can some Apple user comment?
rob_w has quit [Read error: Connection reset by peer]