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: 258 seconds]
aw- has quit [Quit: Leaving.]
michelp has quit [Ping timeout: 240 seconds]
michelp has joined #picolisp
beneroth_ has joined #picolisp
<Regenaxer> Hi beneroth_! Thanks, interesting to read!
<Regenaxer> It in not directly relevant for pil21, as it builds just the front end, and relies on existing optimizers
beneroth has quit [Ping timeout: 240 seconds]
jibanes has quit [Ping timeout: 240 seconds]
jibanes has joined #picolisp
aw- has joined #picolisp
<Regenaxer> I think pil21 OOP system is finished
<Regenaxer> Not well tested yet
<tankf33der> i am switching to pil21 everywhere.
<Regenaxer> Oh! Tough
<Regenaxer> I don't dare yet
<tankf33der> i have simple tests for oop too.
<Regenaxer> And usually can't, as DB is not ready yet
<Regenaxer> Cool
<Regenaxer> I just did a proof of concept with @doc/shape.l from old pil
<tankf33der> i dont understands db and gui and web.
<Regenaxer> No problem
<Regenaxer> I will see when all is ready
<Regenaxer> gui needs to be rewritten anyway
<Regenaxer> xhtml and form won't work out of the box
<Regenaxer> needs new versions for pil21
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
<beneroth_> Regenaxer, I guessed so (that it's optimization not relevant for pil21, just internal at later stage within llvm)
<beneroth_> Why would xhtml not work out of the box?
<beneroth_> because of the tag FEXPR and your changes to run?
<Regenaxer> Cause of the env offsets
<Regenaxer> and perhaps (arg)
<Regenaxer> I have a partially new version for the new gui
<Regenaxer> So, yes, run etc
<beneroth_> ok I see
<beneroth_> just a few small changes :)
<Regenaxer> I try to finish the DB functions over the next days
<Regenaxer> yes, some :)
<Regenaxer> When DB works, I can start testing applications
<Regenaxer> and then decide wether to switch to a new (JS-less) GUI
<Regenaxer> oops
<Regenaxer> not less, but "JS-dependen"
<Regenaxer> Though I learned meanwhile that some companies prohibit JS
<Regenaxer> So the old GUI is not bad
<Regenaxer> What I mainly dislike in the old GUI is that it is too complicated
<Regenaxer> and perhaps too much network overhead, but this becomes less of a problem with time
beneroth_ has quit [Quit: Leaving]
beneroth has joined #picolisp
<beneroth> Regenaxer, while you are right, you're also silly :-) you know the current top standards for websites? "less than 5k elements and less than 100 requests - per page" or something like that xD
<beneroth> don't worry about your stuff
<beneroth> (well that is why the web got slower even with all that many increases in transport and processing speed, it's a shame)
<Regenaxer> True
<aw-> beneroth: yes, a shame
<aw-> i seriously dislike what the web has become
<beneroth> same
<aw-> half the websites i try to visit just load a blank page, because i have JS disabled
<beneroth> we need get back to the paradigm that the client determines how a page is rendered, not the server
<beneroth> I think
<beneroth> but I goes there is no incentive for mainstream people
<beneroth> also any programming language which gets input from a potential malicious channel must not be turing complete, so it can actually be validated without evaluating it.
<beneroth> aw-, did you take the time to read the Doctorow piece? https://onezero.medium.com/how-to-destroy-surveillance-capitalism-8135e6744d59
<aw-> no
<aw-> i never read anything on medium
<aw-> that domain is banned in my dns server
<beneroth> I see
<beneroth> I can send you a pdf print of it (not a nice print, but readable)
<aw-> sometimes i'll try to read them through archive.is
<beneroth> aw-, try beta.trimread.com - https://beta.trimread.com/articles/35288
<beneroth> I guess it will vanish once it gets bigger, but in the meantime I find it very handy
<aw-> what is the TL;DR?
<beneroth> tech industry exceptionalism is bullshit (and also applied by the surveillance critics), the actual problem is monopoly, neo-capitalists (he doesn't use that term) like Reagan/Thatcher/Pinochet/... redefined monopoly interpretation to "it's only bad monopoly when it leads to high consumer prices", but previously monopoly (at least in US) meant definitely "too big is bad in itself", things like "bigcorp is not allowed to compete with their own customers"
<beneroth> e.g. like Amazon does with their sellers
<aw-> exceptionalism?
<beneroth> he asks for returning to the older monopoly definition and strong antitrust enforcement, but believes it's unlikely to happen because these companies just have too much power already now
<beneroth> aw-, "tech is different than other industries"
<aw-> right
<beneroth> he also sees the rise of monopolies all over the place, since the 70s
<beneroth> which of course gives compound benefits, but also compound risks
<beneroth> he also believes the "targeted ads manipulate people" is complete BS
<beneroth> it's sold like that, so both the companies and their customers certainly believe it
<beneroth> but the reason for increased spread of dangerous ideas is just the fact that bullshit looks more factual because people don't see anything else thanks to filter-bubbles
<aw-> ok
<aw-> so
<beneroth> also points out that things like "buying your competition" would have be a total no-no under original monopoly interpretation
<aw-> what's the point?
<aw-> he just talks about what would be good in a utopia? but doesn't do anything to fix it?
<beneroth> point: stop believing in unstoppable "cambridge analytica manipulation" and re-instate the old anti-monopoly regulations, break up the bigtech corps into smaller competing corps
<beneroth> so absolutely practical do-able stuff I think. just the problem of lobbyism (which he acknowledges making the outlook bad)
<beneroth> example: when you get big with a some app, bigtech is noticing (because they control the communication/market channels you will use eventually). they will either buy you or out-compete you. growth further and stop and competition. which of course also lowers pressure for progress.
<beneroth> apple is doing that a lot.
<beneroth> hell now they force gratis applications to add in-app payments so they get their cut
<beneroth> either you do as they say, or you're out of their walled gardens
<Regenaxer> Uh
<Regenaxer> Firefox on Android just became unusable for me :(
<Regenaxer> There seems no longer the possibility to configure one's Firefox Homepage
<beneroth> oh sorry I haven't warned you.. yeah the new version is horrible, I heard before
<Regenaxer> yeah
<beneroth> but I didn't know that they ditched the homepage
<beneroth> wtf
<Regenaxer> I will de-install
<beneroth> this mozilla suicide progresses much faster than I anticipated
orivej has joined #picolisp
<beneroth> maybe 'brave' browser would be an option?
<Regenaxer> The home config was the main reason I used FF (Chrome deleted that config already long ago)
<Regenaxer> No, I don't need
<beneroth> oh I never noticed
<beneroth> wtf
<Regenaxer> I use PilBox anyway most of the time
<Regenaxer> (when w3m is not enough)
<beneroth> I grew up when every website asked you to be the startpage
<Regenaxer> yeah
<aw-> beneroth: yeah, i remember guestbooks on people's web pages
<Regenaxer> The PilBox browser is ideal for me. Buttons to delete the cache and cookies on the start page
<beneroth> aw-, visitor counters!
<beneroth> webrings. I miss webrings.
<aw-> beneroth: yes!
<beneroth> Regenaxer, alles muss man selber machen.. jetzt auch browser... ;-)
<Regenaxer> exactly
<beneroth> (everything one has to make oneself)
<beneroth> so annoying
<beneroth> devolution
<Regenaxer> T
<Regenaxer> There was also no way to clear the cache
<Regenaxer> needed when testing css and js
<Regenaxer> stupid!
<Regenaxer> No problem in PilBox
<beneroth> well Mozilla kicked out the techies, now it's just bullshiters, I guess
<Regenaxer> T
ym has joined #picolisp
<aw-> lisp question: i have a list: (1 2 3 3 4 5 6), how can I quickly check if 3 is in the list twice?
<Regenaxer> Use member twice
<Regenaxer> or, if on 64 bit, memq
<Regenaxer> (memq 3 (memq 3 List))
<Regenaxer> (memq 3 (cdr (memq 3 List)))
<Regenaxer> any other idea?
<beneroth> last one I find the best
<Regenaxer> the cdr is needed
<aw-> member twice, yeah that works
<aw-> seems strange
<beneroth> remember that member returns a cdr, not a single element :)
<Regenaxer> more general is 'cnt'
<beneroth> than it makes sense :)
<Regenaxer> (= 2 (cnt = List (3 .)))
<aw-> ahhh (cnt)
<aw-> that's what i was looking for
<Regenaxer> works for exact 2 (or other values)
<Regenaxer> on pil21 also this works: (== 2 (cnt == List 3))
<aw-> wow
<Regenaxer> ie the additional args to map functions can be ayomic
<Regenaxer> atomic
<Regenaxer> Old pils will crash, the expect a list
<Regenaxer> I removed Firefox
<Regenaxer> hehe, Chrome allows setting a start page, but refuses to load it
<Regenaxer> despite storage permission
<Regenaxer> sigh
<Regenaxer> I hate it
<tankf33der> Regenaxer: your browser war on what os?
<Regenaxer> Android
<tankf33der> i see.
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<beneroth> btw. Regenaxer, as you are working on db, would you mind adding a function to return all dirty symbols?
<beneroth> or not feasible for some reason?
<tankf33der> some oop tests failed.
<tankf33der> http://ix.io/2vCb
<tankf33der> works in pil64.
<tankf33der> =================
<tankf33der> http://ix.io/2vCi
<tankf33der> this one too.
<Regenaxer> beneroth, hmm, this is quite some work
<Regenaxer> tankf33der, I check
<Regenaxer> Which of the two does not work? Or both?
<Regenaxer> ah, yes, "this one too"
<Regenaxer> sorry
<Regenaxer> OK, method call does not work
<Regenaxer> Never tried
<Regenaxer> Focused on defining, finding and inheriting
<tankf33der> both failed.
<Regenaxer> yes
<Regenaxer> I fixed the first
<Regenaxer> and know the reason for the second
<Regenaxer> moment
<Regenaxer> ok, works
<Regenaxer> released
<Regenaxer> So OOP calls did not work at all
<Regenaxer> The argument were evaluated in a shifted order, and 'This' was not set at all
<tankf33der> here works too.
<Regenaxer> great!
<Regenaxer> Probably more errors, it is complicated
<Regenaxer> all those special cases, varargs or fexprs
<Regenaxer> inheritanve variations, extra, super etc
<tankf33der> tests for this passed.
<Regenaxer> Yes, cool
<Regenaxer> All errors will show up when the gui is used
<Regenaxer> it uses most cases
<Regenaxer> and we see immediately if it is wrong ;)
<Regenaxer> DB stuff is still missing
<Regenaxer> I did not much today, only a small part of 'dbck'
<Regenaxer> I hope I find time during the rest of this month
<beneroth> no worries Regenaxer, it is coming great
<beneroth> your progression with pil21 is fast. awesome.
<Regenaxer> thanks! :)
<Regenaxer> What would you need that dirty list for?
<Regenaxer> I think it makes not much sense in the base system. Could be a separate .so perhaps
ym has quit [Quit: Leaving]
<beneroth> Regenaxer, yeah that might be an idea
<beneroth> ok ignore my request for now
<beneroth> no urgent need
<Regenaxer> ok
<Regenaxer> What would it be useful for?
<beneroth> logging, replication, statistics
<beneroth> can be done with other ways and then optimized later
<beneroth> I mean (commit) has do go through that list somehow, right?
<Regenaxer> I think such a list would be quite expensive
<Regenaxer> yes
<Regenaxer> commit, rollback, gc and others traverse the external name tree
<Regenaxer> this is tricky, as this is done non-recursively
<Regenaxer> to avoid stack overflow
<Regenaxer> So they go through the tree and modify it for the way back
<beneroth> ah okay
<beneroth> well iterator would be good enough
<beneroth> but nevermind
<Regenaxer> Single-step is not possible this way
<Regenaxer> imagine the user iterates a few and then stops
<beneroth> I see
<Regenaxer> then the tree is halfway modified
<Regenaxer> but a full list of all dirty symbols might be huge
<beneroth> T
<Regenaxer> a can of worms ;)
<beneroth> hmm right..
<beneroth> it's not just the objects, it's so much more
<beneroth> I forgot about that.
<beneroth> yeah so better do a purpose-specific version once I need it
<Regenaxer> yeah, lets collect ideas
<beneroth> thanks for the insights :)
<Regenaxer> :)
<Regenaxer> btw, Chrome home page setting worked after a restart
<Regenaxer> So Chrome won :)
<beneroth> with a windows scoring, I see
<beneroth> basically, Chrome can't do caching well... :P
<Regenaxer> I just need a fallback browser for things PilBox cannot do. Some media formats
<beneroth> well.. it's either Chrome, or a half-chrome ...
<Regenaxer> T
<beneroth> We don't know when PilOS will be usable.. but we know it will have a finished browser :P
<Regenaxer> PicBox uses Android WebView, so Chrome engine
<Regenaxer> oha
<beneroth> is it separated from your pilbox apps? or could a malicious website inject javascript and access app data?
<beneroth> just a thought...
<Regenaxer> Even a browser without PilOS is hard
<beneroth> oh yeah
<beneroth> but we will be annoyed enough to make a browser long before we're annoyed enough to complete PilOS
<Regenaxer> probably
<Regenaxer> Good question with the malicious JS
<Regenaxer> No idea
<beneroth> well then better use two separate pilbox installations, one for browsing, one for your apps...
<Regenaxer> If the WebView component had such a security hole, it would be known
<beneroth> yeah, but aren't all your apps within the same WebView component?
<beneroth> that was my question, basically
<beneroth> switching between pilbox apps == switching between WebView's ?
<Regenaxer> Only a single WebView
<Regenaxer> a single "browser" component
<Regenaxer> and a single pil process
<Regenaxer> I don't know how a WetView is implemented
<Regenaxer> and what JS can do within it
<Regenaxer> hmm, so better not use it for browsing external pages
<Regenaxer> I do most in w3m anyway
<beneroth> I would expect the Android isolation being on WebView.. so multiple instances of WebViews are isolated, but within the same one, javascript environment etc. is shared
<beneroth> dunno if that is the case
<beneroth> there still seems to be quite a load of isolation and checks.. so maybe it is not an issue at all...
_whitelogger has joined #picolisp