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
pcell has joined #picolisp
alexshendi has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
orivej has quit [Ping timeout: 245 seconds]
f8l has joined #picolisp
_whitelogger has joined #picolisp
ubLIX has quit [Quit: zzz]
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
pcell has quit [Ping timeout: 245 seconds]
<tankf33der> morning
<tankf33der> lol, rust was broke on f12 too
<Regenaxer> ?
<Regenaxer> Good morning tankf33der!
<tankf33der> after abi change on freebsd12 rust didnt work
<tankf33der> issue about this.
<tankf33der> like pil.
<tankf33der> afk.
<tankf33der> pil32 doesnt compile out of box on f12.
<Regenaxer> really? Even C?
<tankf33der> yea
<tankf33der> f11 works.
<tankf33der> diff to compile pil32 on f12.
<Regenaxer> With fpic it works?
<Regenaxer> And without not?
<Regenaxer> I think then we can forget it. If it *needs* fpic, pil64 on x86-64 won't build
<Regenaxer> The old problem :(
<Regenaxer> I really should rewrite everything, but I don't want :(
<tankf33der> only this patch helps.
<Regenaxer> On Ubuntu/Debian there was a way
<Regenaxer> It is a political issue, not a technical one
<tankf33der> this diff for pil64
<tankf33der> (info) works
<tankf33der> but another issue
<tankf33der> ? (pool (tmp "d"))
<tankf33der> ?
<tankf33der> "/root/.pil/tmp/4971/d" -- Open error: No such file or directory
<tankf33der> !? (pool (tmp "d"))
<Regenaxer> Is this enough? Doesn't it need FPIC too?
<tankf33der> no
<tankf33der> only defs.
<Regenaxer> cool
<tankf33der> f11 out of box.
<Regenaxer> The tmp issue is a wrong (sys "HOME") perhaps
<tankf33der> this patch only f12.
<tankf33der> # pil +
<tankf33der> : (sys "HOME")
<tankf33der> : (pwd)
<tankf33der> -> "/root"
<tankf33der> -> "/root/.pil/tmp"
<tankf33der> : (tmp "df")
<tankf33der> -> "/root/.pil/tmp/4986/df"
<Regenaxer> is root ok?
<Regenaxer> Then the partition is read-only?
<tankf33der> no, i m roo
<tankf33der> no, i m root
<Regenaxer> first the defs
<Regenaxer> Should I patch x86-64.freeBsd.defs.l ?
<tankf33der> no
<tankf33der> f11 will be broken.
<tankf33der> this patch only for f12.
<tankf33der> truss on pool-tmp issue
<Regenaxer> Write succeeded
<Regenaxer> Then open fails?
<Regenaxer> So still syscall problems
<Regenaxer> hmm, not sure
<Regenaxer> How did you patch? Using sysdefs?
<tankf33der> yeap
<tankf33der> f11 do openat
<tankf33der> failed, and recreate file.
<tankf33der> f12 do openat and giveup and dont recreate if doesnt exist.
rob_w has joined #picolisp
freemint has joined #picolisp
<freemint> tankf33der give up if file does not exists, would make 'out s behavior OS version specific that would suck as some apps might break
<Regenaxer> freemint, we are talking about 'pool' here
<freemint> then it would break pool?
<Regenaxer> What exactly would break?
<Regenaxer> We simply have an incorrect picolisp build, so anything can go wrong
<beneroth> Good morning all
<Regenaxer> Hi beneroth!
<freemint> If pool does no longer create databases, when callin (pool "name" ) wouldn't (doc 'pool) need to be changed? (the second sentence would need an "except when you are on FreeBSD12")
<beneroth> freemint, do you know the context of what you are talking about?
<beneroth> you are in a discussion about FreeBSD12 problems, its not about changing the behaviour of pool
<freemint> I've read the messages from yesterday and today. But when you ask that way - likely no.
<beneroth> it's no discussion about changing something in picolisp. picolisp does not build/run on FreeBSD 12, which it did on 11, and even on release candidate
<beneroth> its not only a picolisp problem, rust (the language) is also affected
<beneroth> so chill down
<beneroth> :)
<beneroth> tankf33der described the faulty behaviour. nothing else.
<beneroth> anyway, do you use FreeBSD ? :)
<freemint> no, i use Solaris forks.
<freemint> and Linux
<tankf33der> important that this one works.
<Regenaxer> looks good
<Regenaxer> Why especially important? Because of stat()?
freemint has quit [Remote host closed the connection]
<tankf33der> because pool check (tmp "d") and dont create if doesnt exists
<tankf33der> and (pool "d") the same.
<tankf33der> check above show open can create if file doesnt exist.
<Regenaxer> The difference is O_EXCL
<Regenaxer> pool opens exclusively to avoid a race condition
<Regenaxer> So O_EXCL is wrong?
<tankf33der> no, its ok
<tankf33der> this is dopool
<tankf33der> f11 exec both cc open...
<tankf33der> f12 only first.
<tankf33der> thats wgy we see only 1 openat
<tankf33der> thats why we see only 1 openat
<Regenaxer> only first, so it succeeded?
<tankf33der> without EXCL
<Regenaxer> yes
<tankf33der> successed, but file don exits
<Regenaxer> and without create ofc
<tankf33der> and pool fails
<tankf33der> !? (pool "d")
<tankf33der> "d" -- Open error: No such file or directory
<tankf33der> ?
<Regenaxer> So O_RDWR is wrong?
<Regenaxer> open() should return -1 if non-existent
<tankf33der> ha
<tankf33der> trick failed, damn
<Regenaxer> thats ok
<Regenaxer> pool expects a non-empty file
<Regenaxer> header blocks must be there
<Regenaxer> On Android:
<Regenaxer> : (out "a")
<Regenaxer> : (pool "a")
<Regenaxer> DB read: Not a typewriter
<Regenaxer> -> NIL
<Regenaxer> Strange error though ;)
<beneroth> lol
<Regenaxer> Strange, but correct! ;D
<Regenaxer> hehe, yes
ubLIX has joined #picolisp
orivej has joined #picolisp
<tankf33der> ld E (L IV) # Database name (if error)
<tankf33der> call errno_A
<tankf33der> cmp A ENOENT # Non-existing?
<tankf33der> jne openErrEX # No
<tankf33der> it jumps by jne, but should skip and try open with O_CREAT...
<tankf33der> how to print A and ENOENT ?
<tankf33der> ============
<tankf33der> if i comment this 3 lines
<tankf33der> call errno_A
<tankf33der> cmp A ENOENT # Non-existing?
<tankf33der> jne openErrEX # No
<tankf33der> pool works.
<tankf33der> and
<tankf33der> pil @lib/test.l + fails now here
<tankf33der> (let N 6
<tankf33der> (alarm 1 (inc 'N))
<tankf33der> (test 6 N)
<tankf33der> (wait 2000)
<tankf33der> (test 7 N)
<tankf33der> (alarm 0) )
<tankf33der> [/root/picoLisp/test/src/main.l:11] !? (wait 2000)
<tankf33der> Select error: Interrupted system call
<tankf33der> ?
<tankf33der> it from here
<tankf33der> call errno_A
<tankf33der> cmp A EINTR # Interrupted?
<tankf33der> if ne # No
<tankf33der> ld (Run) Nil # Clear '*Run'
<tankf33der> jmp selectErrX
<tankf33der> end
<tankf33der> again errno_A.
<Regenaxer> Why nonexisting?
<Regenaxer> sys/x86-64.freeBsd.defs.l (equ ENOENT 2)
<tankf33der> yeap
<tankf33der> its ok
<Regenaxer> ah
<Regenaxer> haha
<tankf33der> __error from freebsd.code.l ok too
<Regenaxer> yes, misread
<Regenaxer> What did you change?
<tankf33der> nothing.
<tankf33der> errno_A is broken somehow.
<Regenaxer> Perhaps code.l ?
<tankf33der> call errno_A and cmp A ENONENT
<tankf33der> how to print them ?
<Regenaxer> Not so easy. wrote a small C program, and gcc -S x.c
<Regenaxer> ie asm source output
<Regenaxer> int main(void) {return errno;}
<Regenaxer> something like that
<Regenaxer> #include <stdio.h> also
<tankf33der> lets ENONENT value is 2
<tankf33der> lets assume ENONENT value is 2
<tankf33der> than A should be 2
<tankf33der> but its not!
<tankf33der> ENOENT
<tankf33der> oops
<Regenaxer> What is in A?
<tankf33der> A is from first cc open
<tankf33der> I assume.
<tankf33der> cc open -> errno -> A
<tankf33der> A is not 2.
<tankf33der> but ENONENT is 2
<tankf33der> it jumps via jne openErrEX and second open doest call.
<Regenaxer> hmm, A must be negative
<Regenaxer> if ns
<tankf33der> call errno_A
<tankf33der> ld A 2
<tankf33der> jne openErrEX # No
<tankf33der> cmp A ENOENT # Non-existing?
<tankf33der> if i do this then second open calls.
<tankf33der> and pool "d" returns T
<Regenaxer> A is -1 initially
<Regenaxer> then errno_A should return 2
<tankf33der> no its not
<Regenaxer> What is it?
<Regenaxer> after errno_A
<tankf33der> it returns any value not 2
<Regenaxer> so errno_A is not correct
<tankf33der> yes.
<Regenaxer> It was this:
<Regenaxer> call __error # Get address of 'errno'
<Regenaxer> ld A (A) # Load value
<Regenaxer> Probably it changed too
<tankf33der> no
<tankf33der> cat /usr/include/sys/errno.h | grep __err
<tankf33der> both the same on f11 and f12.
<Regenaxer> ok, good
<Regenaxer> Did you try a small C snippet?
<tankf33der> to print ?
<Regenaxer> #include <errno.h>
<Regenaxer> int main(void) {
<Regenaxer> return errno;
<Regenaxer> }
<Regenaxer> then gcc -S x.c
<Regenaxer> look into x.s
<Regenaxer> on x86 it gives (among more lines):
<Regenaxer> IcallI__errno_location@PLT
<Regenaxer> ImovlI(%rax), %eax
<Regenaxer> oops
<Regenaxer> ignore the I's
<tankf33der> identical on f11 and 12..
<Regenaxer> 14. call __error
<Regenaxer> 15. movl (%rax), %eax
<Regenaxer> ok
<Regenaxer> good to know
<Regenaxer> So we are getting closer (or not ;)
<tankf33der> call errno_A
<Regenaxer> hmm
<tankf33der> doesnt work.
<Regenaxer> movl (%rax), %eax
<Regenaxer> it loads only 4 bytes!
<Regenaxer> call __error # Get address of 'errno'
<Regenaxer> ld A (A) # Load value
<Regenaxer> is 8 bytes
<Regenaxer> needs ld4
<Regenaxer> Perhaps it was wrong all the time
<Regenaxer> Are you sure you compiled the C program in 64 bit mode?
<Regenaxer> can you try ld4 (A) # Load value
<Regenaxer> in src64/sys/x86-64.freeBsd.code.l
<Regenaxer> same with 'errnoC' probably
<Regenaxer> Perhaps src64/sys/x86-64.freeBsd.code.l was wrong all the time
<Regenaxer> and just never noticed due to alignment
<Regenaxer> or padding
<Regenaxer> movl is 4 bytes
<Regenaxer> movq would be 8
<tankf33der> i will try
<Regenaxer> This explains a lot
<Regenaxer> Some things working and some not
<tankf33der> indeed
<Regenaxer> src64/sys/x86-64.openBsd.code.l and src64/sys/x86-64.sunOs.code.l have the same
<Regenaxer> Not sure if that is correct there either
<Regenaxer> errno_A and errnoC
<tankf33der> they work
<tankf33der> i belive all copied from freebsd
<tankf33der> it was first by mansur
<tankf33der> he is guilty :)
<tankf33der> LOL
<Regenaxer> I'm guilty too, did not think and check
<Regenaxer> But what to do with the defs? They *did* change, right?
<Regenaxer> bbl
<tankf33der> Regenaxer: here ?
<tankf33der> f12 works now.
<beneroth> great, thank you! how did you solve it, tankf33der ? proper definition for ENONENT ?
<Regenaxer> ret
<Regenaxer> Cooool!
xkapastel has joined #picolisp
<Regenaxer> So it was an old sleeping bug
<tankf33der> checked ld4 on openbsd too
<tankf33der> works
<tankf33der> how errorC should be modified?
<beneroth> why was it not detected earlier?
<beneroth> (by OS)
<tankf33der> maybe other changes shift addresses
<Regenaxer> tankf33der, the same way as the linux version. Put into C and do st4
<Regenaxer> xchg A C
<Regenaxer> st4 (C) # Store new value
<tankf33der> because defs are also changed
<tankf33der> ik
<tankf33der> ok
<Regenaxer> This way only 4 bytes are stored
<Regenaxer> tankf33der, so you think it is OK if I change all 3 files?
<Regenaxer> src64/sys/x86-64.freeBsd.code.l src64/sys/x86-64.openBsd.code.l src64/sys/x86-64.sunOs.code.l
<Regenaxer> to ld4 / st4
<tankf33der> wait 5mins, checking rest
<Regenaxer> ok
<tankf33der> passed.
<Regenaxer> Great
<tankf33der> checked on f11, f12 and openbsd 6.4
<tankf33der> release.
<Regenaxer> ok, can you then compare with your versions?
<Regenaxer> SunOS too
<tankf33der> compare what ?
<Regenaxer> to your modified sources
<tankf33der> sure.
<tankf33der> its trivial
<Regenaxer> or just test again :)
<Regenaxer> ok
<Regenaxer> Released
<tankf33der> i will test one platform.
<Regenaxer> yes, enough
<Regenaxer> I did diffs of diffs
<Regenaxer> so the changes are the same in all 3 files
<tankf33der> sunos ok
<Regenaxer> 👍
<tankf33der> i will check released on openbsd, it doest required defs diff
<Regenaxer> The defs?
rob_w has quit [Remote host closed the connection]
<tankf33der> freebsd is still broken
<tankf33der> comeon!
<Regenaxer> :(
<tankf33der> ld4/st4 is not enough for f12.
<Regenaxer> Did I forget something?
<tankf33der> im posting all day diffs
<tankf33der> LOL
<Regenaxer> I don't know which were relevant
<Regenaxer> Can you send a patch I can apply to defs.l?
<tankf33der> i cant
<tankf33der> it will brake all freebsd before 12.
<Regenaxer> hmm
<Regenaxer> Thats tedious
<Regenaxer> supporting different versions
<tankf33der> of course and pil32 is broken too.
<tankf33der> lets start from pil64.
<Regenaxer> What would you recommend?
<tankf33der> this is the main patch for f12.
<tankf33der> this patch and ld4/st4 fix f12.
<tankf33der> both patches.
<tankf33der> one is released.
<tankf33der> so
<tankf33der> we should discuss how to maintain freebsd port before and after version 12 for pil64.
<tankf33der> and rick42 should delete picoLisp.tgz and apply this patch and try his code on f12.
<Regenaxer> What is the best way to apply the patch? patch <file ?
<Regenaxer> patch -p1 <...
<tankf33der> try this: copy diff to sys dir
<tankf33der> and patch -p0 < ...
<tankf33der> wow, look at this
<Regenaxer> hmm
<tankf33der> versions below FreeBSD 11.2 are not supported anymore.
<Regenaxer> It says can't open 'x86-64.freeBsd.defs.l but the file is there
<tankf33der> let me try from scratch.
<Regenaxer> I always confuse when using patch
aw- has quit [Quit: Leaving.]
<tankf33der> patch is broken
<tankf33der> somehow.
<Regenaxer> I think the problem is that I stored it directly from w3m
<beneroth> just make different .s files for <f12 and >=f12
<beneroth> ?
<tankf33der> versions below FreeBSD 11.2 are not supported anymore.
<tankf33der> so only one version :)
<tankf33der> and f12 will be mainstream soon :)
<Regenaxer> I change defs.l manually
<tankf33der> ok
<tankf33der> maybe support only one version
<tankf33der> lets say freebsd 12
<tankf33der> i ping mansur
<Regenaxer> I made the changes
<Regenaxer> So we are only F12 now?
<tankf33der> lets say yes.
<tankf33der> and pil32 is the same.
<Regenaxer> I release
<tankf33der> i will show the diff, current src/makefile doesnt work anymore.
<Regenaxer> done
<tankf33der> checking.
<Regenaxer> ok
<tankf33der> tests passed.
<tankf33der> pil64 closed.
<Regenaxer> great!
<tankf33der> You have reached your guest paste limit of 10 pastes per 24 hours.
<tankf33der> i cant use pastebin for today.
<tankf33der> -fPIC and remove -export-dynamic
<tankf33der> f11 dont required this.
<Regenaxer> ok, good, moment
<Regenaxer> released
<tankf33der> checked.
<tankf33der> so
<tankf33der> now pil32 and 64 compiles on f12 and passed tests out of box.
<tankf33der> rick42: must download picoLisp.tgz and recompile.
<tankf33der> f12 issue closed.
<Regenaxer> Thanks!!
<rick42> $ ./pil -version -bye
<rick42> 19.1.30
<rick42> $ ./pil lib/test.l -bye +
<rick42> OK
<rick42> thanks tankf33der, Regenaxer!
orivej has quit [Ping timeout: 246 seconds]
<rick42> passed here also for 19.1.30 C
ubLIX has quit [Quit: zzz]
alexshendi has joined #picolisp
namra has joined #picolisp
alexshendi has quit [Ping timeout: 244 seconds]
<rick42> ok, i just finished reading the traffic from this morning. excellent job tankf33der and Regenaxer! the dynamic duo!
<rick42> f11 bites the dust. :D
<namra> greetings
<namra> was wondering if the following is still the case (taken from the rosetta code page for "Documentation" example): "PicoLisp doesn't yet support inline documentation directly in the code."
<beneroth> Greetings namra
* beneroth tries to look up the definition of "inline documentation"
<tankf33der> beneroth: maybe this one
<tankf33der> this is not a problem.
<namra> though it doesn't look like a big deal to implement a "doc" function for ones own code. similar to the existing one.
<beneroth> *Dbg mechanism works a bit like this, when picolisp is started with + at the end, debug mode is turned on, which saves for every definition and load where it was defined
<tankf33der> sweet.
<beneroth> but yeah, strictly speaking we don't have inline documentation. one can make a system for that easily, tough.
<beneroth> I would also argue that the picolisp standpoint is that the code should be the documentation, which is helped by having short source code :) surely a comment on a more complex piece of code helps, but in general comments should describe WHY something was done in a certain way, not be a natural language representation of the same information which is in the code.
<namra> certainly agree on how things should be commented
<beneroth> yeah you're talking about having comments/descriptions available during reflection, kinda
<namra> and pico lisp is also a joy to read compared to more popular languages
<beneroth> thanks :) I agree.
<beneroth> at the beginning it might look a bit like write-only-code (perl, regex), but it absolutely is not! and just being able to reflect/look up every detail (as most in-builts are lisp code too, or well-documented pil asm) I find a big plus
<namra> gotta have some recreational coding after a working 8hs a day in python. just to keep sane :D.
<namra> i agree
<beneroth> maybe you can explain us why pyhton libraries are so big? just too many lazy coders? or somehow encouraged by the language?
<beneroth> not wanting to bash on python. but sometimes it looks a big stack of turtles.. too many turtles
<namra> maybe to many CS graduates indoctrinated with some weird understanding of OOP
<tankf33der> mansur dont use freebsd anymore.
<beneroth> namra, true, that is a general (language-agnostic) problem :) just look at XML. or UML. sometimes people are so happy with their models and rules they try to fit everything through it, forgetting that their model/rules were originally made as a tool for some purpose, not for a value in itself.
<beneroth> tankf33der, do we know of anyone using pil on freebsd even? well rick :) and?
<beneroth> maybe it would be interesting to put pil on Playstation console? they're based on freebsd I think, nice hardware for some specialised stuff
<tankf33der> beneroth: i think everybody use linux
<tankf33der> linux won.
<beneroth> (also to say, as the larger part of the pil community is only passively on the mailing list, and even many picolispers outside of the ML are also active)
<beneroth> tankf33der, aye
<beneroth> well freebsd is not copyleft, so maybe useful for some business stuff (e.g. whatsapp servers). I can see the attraction of openBSD for security/cleanliness/paranoid. but yeah, linux is the most supported. network effect plays for linux (see solaris).
<beneroth> namra, what do you code in your recreational coding time?
<beneroth> what's holding you back from diving further into picolisp? :D
<namra> just building some tools/libs for software testing purposes
<namra> what's holding me back might be the small set of available libs. but i have to make the decision if i want to learn more, meaning to implement things from scratch myself, which i guess in the long run might be more valuable. or if i want to be able to quickly build a pet project that can potentialy generate some side income.
<namra> even building a pet project should be in a language that i do enjoy. and that does the right things in my opinion.
<namra> and picolisp is certainly such a language. so beautifully simple.
<namra> though i actually don't want to crank out something quickly that just works and leave readability/maintainability behind me. have to do that at work all the time. and it just sucks.
<namra> "works" in quotes. don't really know if it works most of the time :D
<namra> though small set of libs ain't really a valid point as their is an FFI.
<Regenaxer> A small (kind of cheating) trick is to write strings in the code in places where its evaluation is not used as a value
<Regenaxer> (de f (X) "This does f()" (foo) (bar))
<Regenaxer> A little dangerous ;)
<rick42> i don't like some of the engineering choices of linux, for instance, linux kernel oops -- probably better to fail hard and fast
<beneroth> rick42, depends on the use case
<beneroth> I agree for proper software. I don't agree for most scenarios out there ;-)
<beneroth> namra, if you go more into picolisp, you will just hate your day job even more. Bad code is more frustrating if you know that it could be a single short line.
* razzy catched bad habit of not commenting code. because it changes so quickly it is waste of time :]
<Regenaxer> razzy, true, same here
<Regenaxer> a wrong comment is worse than no comment
<razzy> :D all of mine are either old, or not existent :D
<rick42> /* you are not expected to understand this */
<rick42> :)
<Regenaxer> :)
<namra> beneroth, for that it's already to late ^^. since i encountered lisp the first time. i never really wanted to go back to anything else ^^.
<namra> :D
<namra> Yeah hitting that quite often. Outdated comments that weren't removed or updated when the code changed.
<Regenaxer> I loved the concept of shadow screens in Forth (we discussed it here once shortly)
<Regenaxer> The comments are out of the way then
<Regenaxer> but still available at a single key
<Regenaxer> I must build that into Vip
<Regenaxer> at least think about it, if feasible
<Regenaxer> Modern OSes don't have "screens" any more
<Regenaxer> What comes close is the "resource forks" of MacOS (do they still exist? I used them last time 30 years ago)
<beneroth> no idea
<razzy> i do not know what do you mean by "screen"
<razzy> but i love org-like collapsable lisp code
<namra> gn8 folks. was nice meeting you.
<razzy> so you can temporarily collapse some code to "see" biger picture
<Regenaxer> The original Forth "file" system was simply a set of screens 1 KiB each
<Regenaxer> 16 lines by 64 chars
<rick42> never heard of resources forks. just read about them now. reminds me of picolisp symbol plist: attach whatever you want :)
<Regenaxer> maybe bigger
<Regenaxer> rick42, exactly
<Regenaxer> Sometimes when I get Mac zip files I see directories __Mac.
<razzy> sounds like artificial limitation/regulation
<rick42> namra: gnite
<Regenaxer> I think these are the way to store the resource forks
<razzy> namra: gn
<rick42> ok
<Regenaxer> In forth you edit code in screens. No continuous file. So it is easy to reserve a shadow screen for each source screen
<razzy> you mean general system for resource alocation when doing parael processing?
<razzy> otherwise i do not see upside
<Regenaxer> In this case only for source comments
<Regenaxer> For example, https://software-lab.de/Kernel
<Regenaxer> It is a dump from a system I wrote in the 80s
<Regenaxer> The right colums are the shadows
<Regenaxer> When editing you see the left screen, and scroll down etc.
<razzy> hmm, it would not help me write better comments :]. i would rather hide comments and forgotten about them alltogether
<Regenaxer> With a single key you toggle between the source and its shadow
<Regenaxer> so the comment overlays the source if needed
<razzy> i like collapse-able code and hide-able comments org-mode style better. so it is in one file, and client do the magic
<Regenaxer> I like comments in assembly. They are to the right and out of the way
<Regenaxer> I don't like them in Lisp or C-style langs
<rick42> Regenaxer: january and february 1987 were busy months for you writing Kernel :)
<razzy> show comments in separate screen is also possible to do with client. no need for separate files
<Regenaxer> rick42, haha, seems so
<Regenaxer> Actually, I did not write this from scratch
<Regenaxer> It is a port of the famous Laxen/Perry Forth from 8080 to 6809
<rick42> ah
<rick42> Regenaxer: do you write anything in Forth in the lasy few years?
<rick42> last*
namra has quit [Ping timeout: 256 seconds]
<Regenaxer> Nothing, except the base of a Forth in Pil
<rick42> ah neat!
<Regenaxer> well, not soo recent
<Regenaxer> Feb 2017
<Regenaxer> it is also still on software-lab
<rick42> so since software-lab has abu.key, i can send you secret messages? :)
<beneroth> can you trust this one? :P
<beneroth> I mean the one you see is not necessarily the one stored on the server :P
<rick42> so here is a question (for everybody): what do you use for key management (including backups and deployment on to clients)? curious. i'm doing mine sort of manually by stuffing keys into a lastpass DB
<beneroth> keepass
<rick42> it's a pain but it works
<rick42> ok beneroth, how do you deploy/backup?
<beneroth> the encrypted file I put in git.
<rick42> ok
<beneroth> my personal server
<rick42> makes sense!
<beneroth> private keys I encrypt, storing the encryption password in keepass too
<rick42> symmetric
<beneroth> else private keys are only on the machines where they are used
<rick42> ok
<rick42> meaning passphrase
<beneroth> aye
<beneroth> keepass is not without doubts. so far it never had an issue afaik, and its nice that it runs on windows/linux/mac.
<rick42> yes
<beneroth> but upgrading to something from tankf33der would probably be good :)
<rick42> tankpass :D
<beneroth> also I mostly work alone, so I have no real needs for a collaborative password management
<beneroth> passf33der :)
<Regenaxer> ret
<Regenaxer> beneroth, we can trust the key, as I am the only one who can decrypt with it
<Regenaxer> All my passwords are in a master password file
<Regenaxer> encrypted with 'ccrypt' inside Vip
<rick42> nice
<rick42> Regenaxer: while you were away, i was reading the sushi by Masako pages :)
orivej has joined #picolisp
<Regenaxer> Good :)
<rick42> but translations :)
<Regenaxer> You could fly over and take a course ;)
<rick42> is she still offering courses?
<Regenaxer> yes, you see the courses under Anmeldung und Termine
<rick42> yes, and recipes!
<Regenaxer> right
<beneroth> Regenaxer, when rick42 is downloading the key, it might get replaced mid-transfer :)
<beneroth> (unrelated) nice xkcd: https://xkcd.com/2102/
<Regenaxer> yes, but then I cannot decipher the mail
<Regenaxer> Only I have the private keys I hope
<Regenaxer> So the best is to first exchange some signed messages to be sure
<beneroth> well T, as long as the message from rick to you is not going through the same attacker. rick42, do you have 2 ISPs? :P
<Regenaxer> In the future I will switch all to Briar
<Regenaxer> The only messenger which makes sense to me
<rick42> i can always confirm with Regenaxer the fingerprint
<rick42> i get: DD35 EEB7 57DE 3A2F BBC7 1F15 D611 48C8 4E06 B854
<rick42> beneroth: interesting
<rick42> thanks Regenaxer
<rick42> "Our long-term plans go far beyond messaging: we'll use Briar's data synchronization capabilities to support secure, distributed applications including crisis mapping and collaborative document editing. Our goal is to enable people in any country to create safe spaces where they can debate any topic, plan events, and organise social movements."
<rick42> sounds great
<Regenaxer> yes, I have it since around half a year
<Regenaxer> But not many contacts yet, as you must meet in person
<rick42> java project
<rick42> ok thats good (meet in person)
<razzy> briar is awesome :]
<rick42> only runs on android (seems)
<rick42> no fruit phones :)
<Regenaxer> yes
<Regenaxer> In this case bad for me, daughter has only ios
<Regenaxer> (was a present from her boyfriend's father ;)
<Regenaxer> bbl
<rick42> bf father doesn't beleiev in freedom :)
<rick42> ok cu
<Regenaxer> T :)
<rick42> beneroth: even better!
<rick42> pureos looks like the "convergence" os that people talked about a few years ago
<beneroth> no idea, convergence?
<beneroth> you mean, mobile usable as pc? I don't see what should be so amazing about that.
<beneroth> a number of vendors are working on something like that at the moment
<beneroth> but yeah, universal computer is universal. its bigcorp bullshit that smartphone is practically not an universal computer...
<rick42> T
<beneroth> the amazing thing about the librem 5 is that they actually attempt to sandbox the baseband. separate it from the main cpu and even have a physical off-switch.
<rick42> purism lappys too expensive
<beneroth> that is what I once expected from android
<beneroth> T
<rick42> i like the physical switch
<beneroth> though getting just some random cheap hardware and then hoping it to work with linux drivers is not working, I found out :(
<rick42> yeah there's that :)
<beneroth> so I guess their offering has quite some value for people who are not so good in searching their hardware together themselves
<beneroth> and spreading FOSS is good and needed :)
<rick42> attacking the mac market (and the like)
<rick42> yes i agree
<rick42> i could do for a less powerful lappy that runs on arm chip (get the intel out :)
<beneroth> apple popularity is mostly fashion/status-symbol, and for IT guys that it is somewhat UNIX-compatible (devs working with linux servers but too afraid to go for linux desktop went to mac, windows tries to get them back with the subsystem etc)
<beneroth> T
<rick42> mac is just easy. good for lazy people: smart or not-so-smart
<beneroth> it used to be good hardware
<beneroth> becomes worse
<rick42> T not so anymre
<beneroth> it used to be good design. but not because it was really excellent, just the rest is even much more worse I'd say :P
<rick42> haha T
<rick42> it was always that way
<beneroth> in public market. academia was/is decades ahead at some places
<rick42> that's why i like the suckless approach of honesty: they only claim that their software sucks less (than others). :)
<Regenaxer> ret
mtsd has joined #picolisp
ubLIX has joined #picolisp
razzy has quit [Remote host closed the connection]
inara has quit [Ping timeout: 244 seconds]
inara has joined #picolisp
mtsd has quit [Quit: WeeChat 1.6]
<rick42> beneroth: pureos has picolisp pre-builts :) http://repo.pureos.net/pureos/pool/main/p/picolisp
<rick42> old though. i don't know who maintains
<beneroth> yay nice!
<beneroth> prolly taken from debian
orivej has quit [Ping timeout: 240 seconds]
orivej_ has joined #picolisp