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
ubLIX has quit [Quit: ubLIX]
orivej has quit [Ping timeout: 240 seconds]
alexshendi has quit [Read error: Connection reset by peer]
Nistur has quit [Ping timeout: 240 seconds]
Nistur has joined #picolisp
Nistur has quit [Remote host closed the connection]
xkapastel has quit [Quit: Connection closed for inactivity]
Nistur has joined #picolisp
aw- has joined #picolisp
freemint has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp
freemint has quit [Ping timeout: 245 seconds]
freemint has joined #picolisp
freemint has quit [Ping timeout: 268 seconds]
freemint has joined #picolisp
<Regenaxer> freemint, I would never think of editing something critical only in the heap
<Regenaxer> I start up pil every minute or so typically
rob_w has joined #picolisp
razzy has quit [Remote host closed the connection]
razzy has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 244 seconds]
freeemint has joined #picolisp
freemint has quit [Ping timeout: 268 seconds]
freemint has joined #picolisp
<freemint> Regenaxer why is that, don't you trust picolisp to do
<freemint> the right thing or don't you trust yourself?
<freemint> (that = restarting every minute)
freeemint has quit [Ping timeout: 252 seconds]
<freemint> also these habits you developed and sharpened over years would be very interesting to us newer users. (One more reason to record an hour of you working and having you comment on why you do what)
<beneroth> I have the habit to press Ctrl+S (saving) in most programs when I do work.
<beneroth> every few seconds.
<Regenaxer> freemint, nothing to do with trust
<Regenaxer> I need sources, with all their versions
<Regenaxer> and comments and read macros etc
<beneroth> T, it is not about trusting picolisp.
<Regenaxer> backups too
<Regenaxer> Restarting is because I need a frest test
<beneroth> every system has intended use cases and non-intended for which it gives no guarantees. nothing wrong with that, one just has to know the limits. but thats the case with every system.
<Regenaxer> Often also delete the DB (in an early stage) so that ib builds new
<Regenaxer> Startup is so very fast, it doesn't matter
<Regenaxer> Just hit ESC/K in bash, and repeat the ./pil .. command
freeemint has joined #picolisp
freemint has quit [Ping timeout: 240 seconds]
freeemint has quit [Ping timeout: 264 seconds]
freemint has joined #picolisp
ubLIX has joined #picolisp
orivej has joined #picolisp
freemint has quit [Ping timeout: 268 seconds]
freeemint has joined #picolisp
freeemint has quit [Ping timeout: 268 seconds]
ubLIX has quit [Quit: ubLIX]
<tankf33der> new attack against openvpn
<tankf33der> compression again
<tankf33der> the most important quote:
<tankf33der> We've been saying for years that you should be using encrypted protocols only, even when your traffic is being encrypted by OpenVPN...
<razzy> i prefer weaker encryption on multiple layers :]
freeemint has joined #picolisp
<beneroth> thanks tankf33der !
<beneroth> razzy, what do you mean by that?
freeemint has quit [Ping timeout: 245 seconds]
freemint has joined #picolisp
<beneroth> fun or satire? probably the second, but who knows.
<beneroth> good we have pilDB :P
<Regenaxer> Oh no! "First of all, love the Lord God"
<Regenaxer> wtf
<Regenaxer> Must be satyrical
<beneroth> as stated in the introduction, the coc is taken from https://en.wikipedia.org/wiki/Rule_of_Saint_Benedict
<razzy> beneroth: you could encrypt in different ways in layers that goes in series
<Regenaxer> beneroth, makes sense then ;)
<beneroth> razzy, that is exactly what the quote is about... why weaker?
<beneroth> Regenaxer, "This code of conduct has proven its mettle in thousands of diverse communities for over 1,500 years, and has served as a baseline for many civil law codes since the time of Charlemagne. "
<Regenaxer> haha, true
<razzy> beneroth: mistake is mostly made in implementation, not in weak type of encryption
<Regenaxer> razzy, weaker code is better to be able to fight "terrorists" ?!
<beneroth> razzy, you stated you prefer "weaker" encryption? Why the word "weaker" in that sentence?
<beneroth> terrorist are freedom fighters when viewed from other perspective.
<Regenaxer> yeah
<beneroth> national security is government terrorism when viewed from other perspective
<Regenaxer> We are all terorrists in some sense
<razzy> weaker from brute-force perspective.
<Regenaxer> But what is it good for except for secret spyers?
<razzy> i prefer multiple efficient implementations. not neccesarily the strongest
<beneroth> well Regenaxer where you live the government and police are allowed to imprison everyone indefinitely without a court case. :/
<beneroth> razzy, why not multiple strong ones?
<Regenaxer> Yes Bavaria
<razzy> it is costly overkill
<beneroth> then optimize the costs, don't sacrifice the goal.
<Regenaxer> razzy says also less primitives in pil would be better
<beneroth> less then 3 data types?
<beneroth> or which primitives?
<Regenaxer> no, functions
<Regenaxer> eg he proposed to omit 'unless'
<Regenaxer> (when (not ...
<beneroth> well he can make a coding guideline not to use it
<Regenaxer> So he has his special world view ;)
<razzy> i have my oppinions :]
<beneroth> I like unless. its easier to state the meaning of the code, and its also more efficient!
<Regenaxer> yeah, good so, razzy
<beneroth> T
<beneroth> well you can make razzy-lisp based on picolisp, just take picolisp and remove the primitives you don't like. you can automate it :)
<Regenaxer> exactly :)
<beneroth> no reason to criticize others, just do it yourself the way you like :) picolisp is exactly the result of Regenaxer doing so.
<beneroth> this is what upsets me so much about the CoC guys...
<Regenaxer> yes, my own strange special taste
<beneroth> no use in finger pointing.just do it.
<razzy> first you ask if other more skilled people do not want to do it for you, if it is too costly, then do it ourself
<beneroth> this is lazy and disrespectful. maybe efficient. but still
<beneroth> I view respect of other peoples lifetime as a very important value core to most hacker/programming communities, at least in my pretty limited experience.
<razzy> very efficient and very respectfull :]
<beneroth> (I'm just discussing the notion in general, not attacking you, razzy )
<razzy> from certain point of view :]
<beneroth> but then you put your certain point of view higher than any possible views by others, no? :D
<beneroth> "Clients were encouraging me to have a code of conduct. (Having
<beneroth> and everybody approved. "
<beneroth> came up with what you found, submitted the idea to the whole staff,
<beneroth> a CoC seems to be a trendy thing nowadays.) So I looked around and
<razzy> if everybody do it, everything is done more efficiently :] problem is when people demand that you do it for them
xkapastel has joined #picolisp
<razzy> if they ask politely, than it is negotiation
<beneroth> T
<razzy> i really think my way is better, so i am trying it. slowly, with multiple dead ends :]
<Regenaxer> Some in fact take it seriously
<Regenaxer> "I have to admit I was a lot more excited about the concept of SQLite having a Code of Conduct until I actually read it."
<beneroth> yes
<Regenaxer> ie. he was *excited* to see that there is one
<Regenaxer> uh
<beneroth> ironically they don't recognize that the other CoC's often look like this for the people not agreeing with it.
<Regenaxer> T
<beneroth> Regenaxer, I think the whole fad boils down to "virtue signalling" https://en.wikipedia.org/wiki/Virtue_signalling
<razzy> lol, so much fun :]
<razzy> some virtues are efficient only in special communities :]
orivej has quit [Ping timeout: 245 seconds]
<beneroth> oh very T
<beneroth> from the HN discussion "this is a stab at Linux CoC? I can see the humour in it but... Seems unprofessonal for a project as SQLite? "
<beneroth> why do people expect professionalism from a FOSS project?
<beneroth> even projects which are now mostly based on payed professional work at companies.. those project are nearly all unprofessional (not payed, no warranty) originally, no?
<beneroth> ah the Sqlite CoC is from February 2018
<beneroth> so no parody on newer developments. :)
<razzy> every project starts unprofesionally :]
<beneroth> professionalism is virtue signalling :D
<razzy> yop
groovy2shoes has joined #picolisp
freeemint has joined #picolisp
freemint has quit [Ping timeout: 264 seconds]
freeemint has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp
rob_w has quit [Quit: Leaving]
orivej has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
<freemint> I got a cheeky idea about a PicoLisp CoC and i would like to bounce it of somebody before i write a draft but do not want to spoil anything to the complete IRC Channel. If somebody would query me it would be appreciated.
<beneroth> Why would we want to adopt an CoC freemint ?
<freemint> more in query
<Regenaxer> What happened to the world so that all are in a CoC fever?
<Regenaxer> PicoLisp's CoC is: KISS
<beneroth> whose ass? ;)
<Regenaxer> haha :)
<freemint> Regenaxer it is not what you think.
<Regenaxer> ok
<freemint> But i think you will like the result.
<beneroth> nah, its bloat
<beneroth> mental masturbation and bloat.
<freemint> to bad ... that you came to that conclusion
<beneroth> well a list of frequently made mistakes/misconceptions about picolisp might be a good idea. but I don't think that confusing matters by calling that CoC would be helpful.
ubLIX has joined #picolisp
<beneroth> btw. the CoC hordes reached the GNU project. But Stallman didn't like CoC, so he instead invented "Kind Communication Guidelines" :=
<beneroth> I find this way more sane and including that the Linux Kernel CoC.
<freemint> Regenaxer did you ever have problems with to many processes so you ran out of Ile descriptors (for example on the web server)
<Regenaxer> freemint, not yet
<Regenaxer> But Henrik Sarvell did
<Regenaxer> Not too many proceses in general, but too many chidren
<Regenaxer> ie a pil issue
<Regenaxer> it can be solved with the 'detach' function
freeemint has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
freeemint has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
freemint has joined #picolisp
<freemint> Regenaxer What were the tradeoffs again when you do that?
<freemint> No proper DB in childs?
<Regenaxer> No DBs at all
<Regenaxer> won't work
<Regenaxer> These were independent processes
<Regenaxer> DB needs synchronized processes, at least when they all may modify data
<Regenaxer> Read-only is no problem though
alexshendi has joined #picolisp
<freemint> Hi alexshendi
<alexshendi> Hi freemint! How are you?
<freemint> I am kinda ill, a little sleep deprived and procrastinating. Other than that i am ok.
<freemint> alexshendi what are you up to?
<alexshendi> I'm nursing a flu and also procrastinating on IRC :) Other than that I'm fine.
<alexshendi> I should really be filling out my tax forms...
<Regenaxer> uh! Tax forms. Horror
<alexshendi> Indeed!
<Regenaxer> Elster?
<alexshendi> Might be a possibility, but no less horrible.
<Regenaxer> I find it a little easier meanwhile
<Regenaxer> The UI is horrible, but improved a little during the last few years
<alexshendi> But you still need a Windows machine, IIRC
<Regenaxer> No, Linux is fine
<Regenaxer> I do it on my Android tablet
<freemint> The processes cache DB stuff locally how are there things invalidated/updated once cached data is changed by another process in the database?
<Regenaxer> Via PLIO IPC
<Regenaxer> That's why the parent is needed
<Regenaxer> common parent
<freemint> is it update of the cache or invalidation?
<Regenaxer> It is not really a cache. Each process simplt has objects in its heap.
<Regenaxer> the object it just operates on
<Regenaxer> these objects are invalidated
<Regenaxer> so they are reloaded in case they are accessed again
<freemint> ah so they are invalidated
<Regenaxer> kind of
<Regenaxer> they are "emptied"
<Regenaxer> like freshly *read* symbols
<Regenaxer> without value and properties
<freemint> An ugly truth shows again: There are 2 hard things in computer science 1. Naming thing and 2. cache invalidation
<Regenaxer> In pil it is extremely simple
<freemint> Am i right that grand children are not part of the family?
<Regenaxer> It is just calling 'wipe' via 'tell'
<Regenaxer> only children of the process, thus grandchildren of the parent
<Regenaxer> (top level parent)
<freemint> ??? did not understand
<Regenaxer> doc tell says: Send an executable list (sym any ..) to all family members (i.e. all children of the current process, and all other children of the parent process,
<Regenaxer> "children of the parent" are siblings
<freemint> oh yeah the parent just spawns stuff i forgot
<Regenaxer> So, right, no grandchildren
<freemint> No grandchildren and keine Neffen?
<Regenaxer> keine Neffen
<Regenaxer> grandchildren yes but only those of the parent
<Regenaxer> grr, hard to explain
<freemint> only grandchildren you are the father of?
<Regenaxer> tell goes to all sisters and own children
<Regenaxer> yes
<Regenaxer> grandchildren of your father
<freemint> That is wrong i think
<Regenaxer> So it does *not* go to the parent itself
<freemint> Grandchildren of your father include Neffen
<Regenaxer> needs 'boss' for that
<Regenaxer> no, only my own children
<Regenaxer> The above def from the ref is correct
<Regenaxer> def of "family members"
<freemint> yes that's why i think "grandchildren of your father" makes sense
<Regenaxer> yes, but no cousins
<freemint> other question what happens here: ((1 2) 3) why does it segfault?
<Regenaxer> And no nephews
<freemint> i think i get it
<Regenaxer> It finds 1 as a function pointer I think
<Regenaxer> The CAR is evaluated until a function is found
<Regenaxer> (unless the CAR is directly a number)
<freemint> I see
<Regenaxer> I'm not completely sure
<freemint> that makes sense atleast
<Regenaxer> (1 2) is evaluated, giving itself
<freemint> let me check
<Regenaxer> So 1 is evaluated, giving a function pointer 1 :)
<freemint> then why does that happen:
<freemint> : prinl
<Regenaxer> I think ((1 2) ... simply gives an infinite recursion
<freemint> I do not see why?
<Regenaxer> I'm not really sure atm, but (1 2) always gives (1 2) again
<Regenaxer> hmm
<Regenaxer> so not recursion
<Regenaxer> but infinite loop
<Regenaxer> like (setq a 'b b 'c c 'a) (a)
<Regenaxer> But ((1 2) .. is not infinite recursion
<Regenaxer> it somehow finds 1 as a number
<freemint> So we just found an "unused" syntax for evaluation. any idea what useful stuff it could be used for?
<Regenaxer> and thus assumes a function pointer
<Regenaxer> Which syntax?
<freemint> If that was the case my prinl would not fail
<Regenaxer> : prin ?
<freemint> ((listonnumber) param1 param2)
<Regenaxer> yes, it calls the location of the first number
<freemint> did you get 4 lines or just one related to prinl?
<Regenaxer> : prinl
<Regenaxer> -> 22942636437
<Regenaxer> Why 4?
<freemint> and now ((2294... 2294..) 2 3) still fails
<freemint> ((4113371680 4113371680) 4) still segfaults
<Regenaxer> I'm not sure what happens. Needs to dig into the sources
<freemint> ok ... not that important
<Regenaxer> Must have some logic :)
<freemint> Maybe it is just a bug.
<freemint> a single step interpreter would be good.
<Regenaxer> Not really a bug, just a consequence of how it evaluates
<Regenaxer> How single?
<freemint> pil assembly level single
<Regenaxer> yes
<Regenaxer> you can do that in gdb
<Regenaxer> or, better, in emu
<freemint> Academic project
<Regenaxer> there is a trace mode on the instruction level
<freemint> good job
<freemint> I got enough low-level logic around my head right now. will have to wait
<Regenaxer> good :)
<Regenaxer> IIRC you need to build emu in debug mode +
<Regenaxer> then it prints every asm instruction in clear text
<Regenaxer> I needed that to debug emu initially
<Regenaxer> Never mind, not needed now
<freemint> ok nice to have such a thing
<freemint> you know what would be even nicer, gdb in pil for pilassmebly
<Regenaxer> It dumps very very long output
<Regenaxer> yes, that would be nice
<freemint> i can imagine that
<Regenaxer> In gdb we only see x86 or arm64 code, not pilasm directly
<Regenaxer> always need to map the registers
<freemint> i am aware
<Regenaxer> yeah
<freemint> also another nice thing IRC bots which do stuff. maybe like `(bot> IDEAS "gdb in pil for pilassmebly" )
<Regenaxer> Why a bot for that?
<freemint> kundschaft bei mir
<freemint> kundschaft gone
<freemint> because being helped/served by robots in the 2010's was promised by technologists and it makes for an good public interface.
<Regenaxer> ok
<freemint> But it only makes sense if the bot is connected to a service which serves all
<freemint> sometimes a remember to poke me in two months about A publicly would help too.
<freemint> ( i imagine)
<Regenaxer> Some random message of the day perhaps
<Regenaxer> motto of the day
<freemint> Or function of the day
<Regenaxer> T
<freemint> also latest version information
<freemint> such stuff could be queried too
<freemint> no need to put all in the channel
<Regenaxer> Somebody needs to maintain. Or just use ChangLog
<freemint> yeah changelog + looking daily for a new version.
<freemint> maybe also executing small snippets.
<freemint> Also a when was X here feature. last logged in: last active: last message:
<Regenaxer> nice
<freemint> another thing i am thinking about is: tell X that Y but we should limit that to 255 chars or something so that it does not try to replace email :) replacing email never works out great
<freemint> once there is such an bot we could give him privs too and when the next spam wave comes he could mute everybody until they passed a capctha or just wait a bit to unmute.
<freemint> I saw the unmuting users after 1 min somewhere and silenced all bots
<freemint> with the "pedo" links
<Regenaxer> Captcha is no good. I use a text client only
<freemint> yeah a text captcha
<freemint> that is not very bot prove but you easily write a harder one if need
<freemint> something like http://textcaptcha.com should be possible in PicoLisp too
<Regenaxer> true, very good
<Regenaxer> Anyway, I'm off for today
<freemint> But keep in mind
<freemint> You could ask e to the power of (pi times i), and reduce both spam and real users. Two birds with one stone! – Justin Morgan
<Regenaxer> Have a good night! And get well
<freemint> Good Night
<Regenaxer> :)
<Regenaxer> afp
<freemint> night
ubLIX has quit [Quit: ubLIX]
<freemint> How do you do versioning and deployment of web services?
ubLIX has joined #picolisp
ubLIX has quit [Quit: ubLIX]
ubLIX has joined #picolisp
freeemint has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
alexshendi has quit [Ping timeout: 260 seconds]
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]