beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
brandelune has joined #picolisp
brandelune has quit [Quit: This computer has gone to sleep]
alexshendi has joined #picolisp
alexshe1 has quit [Read error: Connection reset by peer]
alexshe67 has joined #picolisp
alexshendi has quit [Remote host closed the connection]
alexshe67 has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
alexshe39 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
brandelune has joined #picolisp
alexshe39 has quit [Read error: Connection reset by peer]
alexshe72 has joined #picolisp
alexshe72 has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
alexshe34 has joined #picolisp
alexshendi has quit [Ping timeout: 265 seconds]
brandelune has quit [Read error: Connection reset by peer]
alexshe34 has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
brandelune has joined #picolisp
rob_w has joined #picolisp
rob_w has quit [Remote host closed the connection]
rob_w has joined #picolisp
brandelune has quit [Quit: Leaving]
<beneroth> hahaha, I just stumpled over the sleep sort algorithm... and someone (Regenaxer?) even did a pil implementation on rosetta: https://rosettacode.org/wiki/Sorting_algorithms/Sleep_sort
<Regenaxer> Yeah, I remember faintly. Funny algorithm :)
razzy has joined #picolisp
<razzy> i have trouble when (read) corrupted file. i want to delete all corrupted lines. can i react on error? (rd) is reading something i do not understand.
<razzy> thank anyone for help :]
<razzy> i am also looking for all public pil21 compatible code for analysis.
<razzy> I can help myself if i read by (char)
<Regenaxer> I think better process on a lower level, with (char) or (line)
<Regenaxer> You could catch errors with 'catch' though
cranium has joined #picolisp
alexshendi has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
<Regenaxer> An even lower level is reading byte by byte with (rd 1)
<beneroth> razzy, (rd) has two very distinct functionalities depending on the arguments
<beneroth> no argument or 'sym argument: PLIO (picolisp I/O, picolisps binary format used in RAM and pilDB database files)
<beneroth> then the input is actually parsed
<beneroth> 'cnt numeric argument: binary byte read (without any parsing)
<beneroth> razzy, about mobile phone surveillance: end-to-end-encryption messaging apps like Threema/Signal/etc. and have WLAN and GPS disabled when you don't use it (saves also a lot battery). that doesn't make you safe but leaks much less data about you.
<beneroth> if you want to protected against targeted attacks on you by some actor who can intervene directly at your telephone provider or has technical skill on that level (governments, including foreign ones, or disgruntled techies or who hacked the telephone company), then you must know that the telephone chipset on the phone operates with more permissions/access than the OS, and can in nearly all phones read all RAM etc... so to defend against that, use multiple
<beneroth> phones which are not tied to you at all ("burner phones") to make it harder, or do completely without mobile. though that is suspicious, too.
<beneroth> oh and don't expect your phone provider to be from your country.. that stuff is outsourced all over the world, often outsourced by the outsourcer again, so it might actually be quite hard to have any clue or assumptions about the type of people who actually administrate your phone infrastructure. read more here: https://berthub.eu/articles/posts/5g-elephant-in-the-room/
alexshendi has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
rob_w has quit [Remote host closed the connection]
concrete-houses has joined #picolisp
<concrete-houses> picolisp!!! anyone here running a production app using pico?
<Regenaxer> yes
<beneroth> yes
<beneroth> concrete-houses, welcome, how did you find us?
<aw-> yes
<concrete-houses> well I stumbled accross picolisp and wow it looks awesome
<Regenaxer> I think you've been here already some time ago?
<concrete-houses> i forget..
aw- has quit [Quit: Leaving.]
<Regenaxer> No problem :)
<concrete-houses> I hope I was nice..
<Regenaxer> Yes
<beneroth> at least 4 people here have their companies based on picolisp or use it in their job extensively
<beneroth> (and they don't work in the same companies ;-) )
<beneroth> for me it definitely lead to huge productivity gains and better maintainability
<Regenaxer> for me too
razzy has quit [Ping timeout: 245 seconds]
<concrete-houses> bombastic!! How can I learn picolisp? I am not skilled in lisp but have read a little big and started gentle intro a few times...
<concrete-houses> The scalability of a multi box database sounds spectacular
<concrete-houses> maintainability.... due to fewer moving parts?
<beneroth> picolisp is less suited for windows applications (but MacOS is now supported) and heavy number crunching (but you want to use specialized libraries for that anyway, that is well possible with picolisp)
alexshendi has quit [Quit: -a- Connection Timed Out]
<Regenaxer> concrete-houses: Perhaps you could start with the tutorial blog at https://picolisp-blog.hashnode.dev
<beneroth> scalability database: picolisp database does NOT offer horizontal scaling (aka scaling with every machine running the exact same stuff) out of the box. it could certainly be implemented on top of it, but so far picolisp database was more used in having than more smaller specialized servers if scaling is needed.
<Regenaxer> oops
<beneroth> maintainability: due to smaller code and much more flexibility (e.g. duck typing)
<beneroth> ah another disadvantage might be.. I would consider it unsuited as language for huge programming teams with all people having different skill levels all working on the same codebase (enterprise style programming)
<beneroth> but we consider this to be a bad approach in general ;-)
<Regenaxer> indeed
<beneroth> other than that.. picolisp is very powerful and very simple, and can fully be understood / transparent about even the most inner working - the number of turtles is limited and no magic happens between code text and execution
<concrete-houses> I like that
<beneroth> so if you e.g. don't know what exactly a specific behavior of a built-in function is.. you look up the source code, and its usually short and well readable, not below many layers of wrappers and bloat
<concrete-houses> I wonder could you break up enterprise task into pieces andhave team work on 1
<concrete-houses> I am interviewing at dept education for big state and they have 100+ postgresql databases version 8 9 10 etc and newest version is 14 and I bet many skeleton in closet
<concrete-houses> lol
<concrete-houses> real world is at times big mess
<concrete-houses> I wish things like picolisp replace semi throught through stuff
<concrete-houses> I get that correct application of postgresql tool could also delier better results
<concrete-houses> takes discipline and vision
<concrete-houses> I sw bumble app made billion in ipo! time for picolisp better app!
<beneroth> some things you can't, but then its because for conceptual/process reasons and not technical limitations. usually enterprise programming is constricted by technical limitations, because a mix of many different stacks/softwares/frameworks are used and people only know their corner and nobody has an overarching understanding of the whole thing. in picolisp it's many times easier to see the whole picture, by having smaller parts doing what is needed and less
<beneroth> technical cruft.
<concrete-houses> I listen to alan kay speak about seeing whole and not doing incremental which leads to not doign overall right and I love his words
<beneroth> I do business applications with picolisp, often projects which were legacy or even newly made but made by contractors with bad understanding and bad incentives so the stuff was broken at release.
<concrete-houses> I worked at financial place with .net linux and oracle I was liek WHYYY then they put on docker lol
<beneroth> why? CV-driven programming
<concrete-houses> cv driven?
<concrete-houses> resume driven?
<beneroth> technology gets selected by what sounds best on the CV for the programmers when they jump to the next job
<beneroth> exactly, resume driven
<beneroth> or hype driven on management level.. like you cannot get fired for choosing SAP even when SAP projects are famous for bankrupting companies. you cannot get fired for using hyped advertised SaaS. you can easily get fired as manager for picking an lesser known technology or for insourcing if it doesn't work out instantly or even just so.
<beneroth> but when you solve real problems, then nobody asks about the technology :)
<beneroth> just need to deliver quickly enough.
alexshendi has joined #picolisp
<beneroth> concrete-houses, play around with the given tutorial links. I found best to learn is to implement a small real project, if you have anything at hand you could use yourself. the reference documentation about the language and built-in functions is very good, but outside of that we have a big gap/mess with documentation (even for some included libraries, and more explanatory guides).. best approach is to read the actual code and ask here in IRC :)
<beneroth> and the reference is dense, meaning you have to read carefully, important information might be just a short sentence.
<Regenaxer> Yes, just ask here
<beneroth> but don't worry, sounds worse than it is. just wanted to point out we are aware. ask here or in mailing list with your specific problem and we can solve it certainly in few minutes :)
<beneroth> concrete-houses, don't worry about knowing Lisp. I didn't know any other lisp when I started with picolisp, and largely I still don't. Picolisp is closer to earlier lisps then today's mainstream flavours, so it's probably even easier to learn when you don't first have to unlearn common lisp axioms which don't apply to picolisp
<beneroth> from which languages are you coming from?
razzy has joined #picolisp
cranium has quit [Quit: Leaving]
razzy has quit [Ping timeout: 265 seconds]
alexshendi has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
<concrete-houses> tcl bash
<concrete-houses> lol
<concrete-houses> not a lot to unlearn so i have that advantage
<Regenaxer> Well, these are also interpreted languages :)
<concrete-houses> i tried a little forth too
<Regenaxer> Forth is cool
<Regenaxer> I used it a lot
<concrete-houses> I did linux admin early then some vmware n storage n project admin n mysql; n postgres
<concrete-houses> web stuff always seems crappy in java even rails
<concrete-houses> php was easier to support
<concrete-houses> but very random like greek
<concrete-houses> I think php let teh database do more which was in a way a win
<concrete-houses> ok I will dig in an come back when run over by reality
<Regenaxer> Great! Any time!
<beneroth> :D
<concrete-houses> :)
alexshe86 has joined #picolisp
alexshendi has quit [Remote host closed the connection]
alexshendi has joined #picolisp
alexshe86 has quit [Read error: Connection reset by peer]
alexshendi has quit [Read error: Connection reset by peer]
alexshe1 has joined #picolisp
razzy has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
alexshe1 has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
alexshendi has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
alexshendi has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
alexshendi has quit [Quit: -a- Connection Timed Out]
alexshendi has joined #picolisp
razzy has joined #picolisp
alexshendi has quit [Ping timeout: 245 seconds]
alexshendi has joined #picolisp
razzy has quit [Ping timeout: 246 seconds]
razzy has joined #picolisp
aw- has joined #picolisp