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
rob_w_ has joined #picolisp
rob_w has quit [Ping timeout: 248 seconds]
<yunfan> http://robotstreamer.com/robot/102 someone's robot streaming
aw- has joined #picolisp
karswell has quit [Remote host closed the connection]
karswell has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
rob_w_ has quit [Read error: Connection reset by peer]
rob_w has joined #picolisp
<cess11> Good morning.
<Regenaxer> Good morning cess11
aw- has quit [Quit: Leaving.]
mtsd has joined #picolisp
<mtsd> Good morning everyone
<Regenaxer> Hi mtsd
<mtsd> Hi Regenaxer
<Regenaxer> :)
<mtsd> Did the meeting go well yesterday? With the client wanting to change port?
<Regenaxer> yes, but this special issue was postponed ;)
<Regenaxer> We continue testing for now on the server in my office which is open to the public
<Regenaxer> It is a nasty political issue which nobody wants to decide ;)
<mtsd> haha, I see
<mtsd> Everyone wants someone else to decide ;)
<Regenaxer> Yep
<mtsd> The Picolisp community is ready to supply arguments against port changes :)
<Regenaxer> Very good, thanks!
<Regenaxer> It is also an issue whether to VPN or not
<Regenaxer> If they insist on VPN, I don't install Let's Encrypt
<Regenaxer> After all, it is the IT deptmt of that company who wants it and who will haje to maintain all the devices then
<Regenaxer> I offered to host the application several times during the last 17 years, but they want to keep it in-house
<mtsd> 17 years. Long-term customer. Very nice
<Regenaxer> On the other hand they don't want the web app to be public
<Regenaxer> yeah
<mtsd> Do most of your clients place Pil apps behind a firewall, restricted to a LAN?
<Regenaxer> No, this is the only one
<Regenaxer> Others don't care
<Regenaxer> and also don't have an IT of their own
<Regenaxer> Well, some have
<mtsd> So, if they insist on VPN etc. they have people in-house to take care of it?
<Regenaxer> one is OK for me to host it, just with a DNS entry to my server
<Regenaxer> and one other is still in prototype stage, too early to care about
<Regenaxer> yes, they have 5 or 6 people doing admin
<mtsd> Good, less admin work for you in that case
<Regenaxer> But for me VPN is in the way
<Regenaxer> testing, and installing new users etc.
<mtsd> Ah.. of course... forgot about that aspect..
<mtsd> That very important aspect, haha ;)
<Regenaxer> I have to ask IT, and they are sooo busy so it always takes a lot of time for anything
<Regenaxer> :)
<Regenaxer> Also I don't want to mess with their VPN on my devices
<Regenaxer> I use as ssh tunnel for some tests
<Regenaxer> or test offline
<mtsd> I assume you are still using the tablet, mostly?
<Regenaxer> right
<Regenaxer> exclusively
<Regenaxer> I don't use any other machine (notebook or PC) for dev
<Regenaxer> only remote servers via ssh from the tablet
<mtsd> I am still very impressed by that. Coolest thing I have seen in years
<mtsd> Coolest thing since I stumbled upon picolisp :)
<Regenaxer> It takes some time to get used, switching between sessions, but then it is nice to be so mobile :)
<mtsd> Would be nice to let go of the laptop, indeed
<Regenaxer> right :)
<mtsd> I am slowly getting som picolisp applications in place at work, in fact. Sneaking them in under tha radar
<Regenaxer> It is heavy and the hardware is easy to give trouble (mechanics of laptop lid and keyboard)
<Regenaxer> Cool!
<mtsd> *some and *the*
<Regenaxer> Most end users don't notice and don't care
<mtsd> It is going quite well, although slow. But, one application at the time, it is getting there
<Regenaxer> Perfect
<mtsd> Exactly! The IT area is obsessed with the latest, trendy, frameworks and keep re-inventing the same applications over and over again
<Regenaxer> sadly yes
<mtsd> But the end users don't care, they just want a problem solved
<Regenaxer> T
<mtsd> They don't care whether the program solving the problem is the latest, fancy, javascript frameworks running on docker instances managed by kubernetes etc etc
<Regenaxer> Just political issues
<mtsd> Or whether it is a CGI-script in perl or something similar :)
<Regenaxer> yes, not visible
<mtsd> So, for me, picolisp is turning out to be a very good tool. I am able to write apps quicker and quicker as I learn more
<mtsd> The server setup is much easier, the code base is much smaller. And it is a very complete tool, in my opinion
<Regenaxer> Good to hear :)
<mtsd> I am thinking of writing some more docs, actually. Describing the setup a bit more regarding httpGate, backups, cron jobs etc
<mtsd> Putting into writing the things I have configured here
<Regenaxer> This would be very good. Docs are always lacking
<Regenaxer> especially the differences to other systems are not clear to newcomers
<mtsd> Yes, it may be difficult for people to see the advantages. I have experience from some other technologies, so I could write about my own experiences
<Regenaxer> Cool
<Regenaxer> I don't know much of other systems, I never cared
<mtsd> I envy you there ;)
<Regenaxer> hehe
<mtsd> Well, some other things seemed good at the time. But after encountering Pil, and some Forth, they now appear a bit clunky.
<Regenaxer> The problem is the learning curve, most people don't want to learn new things
<Regenaxer> Takes time
<Regenaxer> Same with Penti
<mtsd> My workplace made a new website recently. Python, Django, Postgres and loads of Javascript
<Regenaxer> very heterogeneous it seems
<mtsd> Codebase is over 630 Mb, spread over about 40 000 files. Counting the large number of things pulled in by NodeJS
<Regenaxer> wow!
<Regenaxer> horror ;)
<mtsd> And nobody seems to react to this, or even consider it a problem
<mtsd> I keep comparing to picolisp, where you actually have a chance to unerstand everything. Everything!
<Regenaxer> I think some people are even proud of it
<Regenaxer> managing such a mess
<mtsd> Impossible to handle. I have fixed some bugs, added some things. But it has always been a lot of work, even finding where things are
<mtsd> Annoying, really
<mtsd> I would like to dig deeper into picolisp, really understanding the low levels. The base structures, assembler code etc
<mtsd> It would be a nice challenge. A difficult one for me, but rewarding
<Regenaxer> You took already quite some steps
<mtsd> It would feel like a natural, next step
<mtsd> Really understanding what my code does :)
<mtsd> Most other languages are simply too big to get into, at that level. At least for me
<Regenaxer> Best of all is Forth in this regard
<Regenaxer> I just found it too low-level in the end for production development
<mtsd> Yes, that is what I hear from many. I would like to learn Forth well too, but I need to start somewhere
<Regenaxer> (outside of simple embedded)
<mtsd> I trust your experience there, fully
<Regenaxer> Forth gives you total access to all levels
<mtsd> I have read the books by Leo Brodie, "Starting Forth" and "Thinking Forth". Liked them, a lot
<Regenaxer> Pil is a good compromize of control and high-level structures
<Regenaxer> Very good books!
<mtsd> Yes, I really liked them
<mtsd> By the way, did you have the integrated database when you used Forth? Or is that a later addition?
<Regenaxer> Nope
<Regenaxer> I had it with Lifo later
<Regenaxer> Forth syntax with Lisp structures
<Regenaxer> I used Forth only for simple 16-bit controller applications
<Regenaxer> In original Forth there is not even a real file system
<Regenaxer> only source blocks
<mtsd> I liked the idea of running Forth on bare metal. Complete environment with no operating system
<mtsd> Very focused :)
<Regenaxer> T
<Regenaxer> and very small
<Regenaxer> But it really shines only on 8-bit
<Regenaxer> (above "16-bit" was wrong in fact)
<Regenaxer> 8-bit CPUs with 16-bit address range
<Regenaxer> I used Z80 and 6809
<mtsd> Was it a problem keeping track of the stack effect, in practice?
<Regenaxer> yes, this is the tedious part
<mtsd> Seems to be my impression too. Not that I have done much Forth
<mtsd> I often end up drawing diagrams on paper to wrap my head around what is happening
<Regenaxer> This is why I gave up with Lifo and returned to Pil
<Regenaxer> Lisp takes care of the stacks for you
<Regenaxer> but at the cost of being more expensive
<mtsd> You did some work with common lisp too, right?
<mtsd> Or is my memory playing tricks?
<Regenaxer> yes, only half a year, but I really hated it
<Regenaxer> such a mess ;)
<mtsd> Designed by committe, ending up with a compromise nobody likes, perhaps :)
<Regenaxer> T
<Regenaxer> CL is the typical example of blowing up a good small system
<Regenaxer> Lisp -> CL, C -> C++, CP/M -> MS-Windows etc.
<mtsd> I would have liked to go to that Chicken Scheme meetup some years ago, but I was unable to find the time unfortunately
<mtsd> Would have been nice to get together, I still owe you a beer for all the help :)
<Regenaxer> yess :)
<mtsd> Not that I have used Chicken Scheme, at all. But it seems interesting
<Regenaxer> The meeting in Nürnberg was very nice
<mtsd> It would be fun to arrange a picolisp meeting
<Regenaxer> yes
<Regenaxer> Should really be arranged. I'm too lazy though ;)
<mtsd> Perhaps just try to find a date, a venue and get as many people as possible to go to your place.
<Regenaxer> :)
<Regenaxer> It is a *lot* of work I'm afraid
<mtsd> Me too, haha
<Regenaxer> Let's keep it in mind
<mtsd> Or keep an eye on Chicken Scheme and cheat by going to their meetup ;)
<Regenaxer> yeah
<mtsd> I could investigate ways to arrange something here, but then everyone has to travel to Stockholm. A bit remote maybe :)
<Regenaxer> true
<Regenaxer> I'm in a village here, things are a lot cheaper
<Regenaxer> Still train connection is good
<mtsd> It would be nice. Long time now since I last visited Germany
<Regenaxer> ok :)
<Regenaxer> Finding a conference room should also be possible. Just the schedule and program etc ...
<mtsd> Yes, finding things to talk about. Penti keyboard boot camp and training session maybe? ;)
<Regenaxer> Sounds good
<Regenaxer> I'm hesitating to show my current work because I don't know (yet) how to do presentations with/on the tablet
freemint has joined #picolisp
<mtsd> I can't afford to get a new 64-bit tablet at the moment, so I will have to wait a bit. Or see if some leftover hardware turns up at the office
<Regenaxer> There are good used (not even really "used") ones available
<Regenaxer> "leftover" is better of course
<mtsd> Used would be good too
<mtsd> We have a tablet at home, but that is just a 32-bit machine
<Regenaxer> PilBox works on Arm32 too, if you download arg32.zip with 'emu'
<Regenaxer> arm32.zip
<Regenaxer> Penti works on any one
<Regenaxer> (as long as Android >= 5.0)
<Regenaxer> I used it on my wife's old one with x86-32 CPU
<mtsd> Ok, I thought it was only 64-bit
<Regenaxer> No, Penti is pure Java
<Regenaxer> Problem only if it is an old Android
<mtsd> I think our tablet is above 5.0, will check tonight.
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
<cess11> I use a cheap Lenovo Tab 3 for a lot of pil and Penti stuff, both remotely and local in Termux.
<cess11> It is 64bit and the screen is OK in sensitivity, battery runs an entire day easily. Surveillance is my main worry with it but it is fairly easy to kill the customer experience gibberish processes.
<cess11> No LTE but I use my phone for tethering anyway.
<cess11> Penti is plain awesome if one needs to do a lot of work on tablets, since one puts the 'buttons' anywhere and get good ergonomics with both hands.
<Regenaxer> Cool, I thought the Lenovo tablets are Windows devices
<Regenaxer> Ah, no, found it. OK
<Regenaxer> They seem to be available in various sizes (7 .. 10 inch)
<mtsd> Looks nice, not too expensive either.
<Regenaxer> T
<cess11> I think it cost about 200-220 euros roughly a year ago, a 10.1".
<cess11> Would be nice to have more RAM but that's what servers are for.
rob_w has quit [Quit: Leaving]
alexshendi has joined #picolisp
groovy2shoes has quit [Remote host closed the connection]
<cess11> I would come to a pil meetup in Stockholm.
<cess11> The books by Brodie and Moore on Forth are quite nice.
<cess11> Part of the reason many keep dragging around those huge code bases are that bosses like it that way, no one employee has full control over anything, and perhaps management doesn't either but if that is the case they don't think anyone else should either.
<cess11> In reality though the actual sysadmins and coders have control and can sneak in backdoors and whatnot and probably will.
<mtsd> True, and some backdoors and whatnot get in there without anyone noticing. Since the frameworks and components are so big, nobody knows exactly what gets in
<cess11> Yup. And with complexity comes vulnerability, with mathematical certainty, due to gödelish incompleteness and uncertainty.
<cess11> This is part of the reason why I'm slowly learning Forth these days, or rather adapt to it. The extremely aggressive factoring reduces overall complexity as long as one keeps track of what gets compiled and when.
<cess11> Impossible with Java or C++.
<Regenaxer> exactly
<mtsd> I have gravitated towards Forth and Picolisp as well, after working with Java, Python etc earlier
aw- has joined #picolisp
aw- has quit [Quit: Leaving.]
rob_w has joined #picolisp
mtsd has quit [Quit: Leaving]
mtsd has joined #picolisp
mtsd has quit [Quit: Leaving]
orivej has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
karswell has quit [Ping timeout: 252 seconds]
freeemint_ has joined #picolisp
<freeemint_> Regenaxer: Any thoughts on developing vip to be more like emacs (org and table mode)
<Regenaxer> No
<Regenaxer> vip is 100 % oriented on VI
<Regenaxer> You will see if you analyze the code
<freeemint_> 1. I can not find the source ... it is not in @lib/vip.l as claimed in the wiki article
<freeemint_> 2. I explained myself badly ...
<Regenaxer> No, it *is* @lib/vip.l
<Regenaxer> @bin/vip is the command line interface
<freeemint_> Do you have thoughts on (somebody) adding org-mode or a db inspector or something like that to extend vip ...
<Regenaxer> Ah, yes, Thorsten
<freeemint_> let me download the latest release ...
<Regenaxer> It was he actually who brought me to write vip
<Regenaxer> I did not want to write an editor initially ;)
<Regenaxer> Now I'm very glad to have it!
<freeemint_> I downloaded the latest release and there it is ... my other release was 16.12 a year out of date
<Regenaxer> ok
Regenaxer has left #picolisp [#picolisp]
<freeemint_> trying to build the latest (starting with src and it fails ... sys/cdefs.h: Datei oder Verzeichnis nicht gefunden)
Regenaxer has joined #picolisp
<freeemint_> trying to build the latest (starting with src and it fails ... sys/cdefs.h: Datei oder Verzeichnis nicht gefunden)
<Regenaxer> 32 bit? I not needed
<Regenaxer> If you have an old global install, it should build 64 bits immediately
<freeemint_> ah i have one
<Regenaxer> otherwise just download the x86-64-linux tgz
<freeemint_> ./mkAsm fails flood not defined
<freeemint_> autsch my global install is very,very old
<freeemint_> (screw you debian old stable)
<freeemint_> (version) 3.1.8.0
<Regenaxer> yes, this flood function is not in very old versions
<Regenaxer> just fetch the .s files
<freeemint_> ??
<Regenaxer> see INSTALL file
<freeemint_> ah
<freeemint_> i think i just want to setup this pc again
<freeemint_> purge if with fire ....
<freeemint_> Anybody recommendations what distro to pick?
<Regenaxer> Hmm, I always simply use Debian unstable
* freeemint_ waits to be spammed by all the distro crusaders crawling from their hole
<Regenaxer> has also a relatively up-to-date pil
<Regenaxer> :)
<freeemint_> I bet it is very important for you to have the uptodate version in the normal packet yource ;D
<freeemint_> Regenaxer: What to save when reinstalling the os?
<Regenaxer> It was a very stupid mistake to use the new 'flood' function in the build
<Regenaxer> I just backup /home and /root
<freeemint_> what could be in root?
<Regenaxer> Mainly .bash_history and .ssh/
<freeemint_> ah
<Regenaxer> and .bashrc and such things
<Regenaxer> .tmux.conf
<freeemint_> Regenaxer: If you had to work on a system and the only shell available is pil + , how would you start to be productive in that environment (thought experiment dismiss if you want)
<Regenaxer> In fact I do that a little in the Repl in PilBox
<Regenaxer> No other shell there
<freeemint_> i know ... but you do not use in production
<freeemint_> How would you work on pil-box
<Regenaxer> It is a kind of production work
<Regenaxer> Debugging apps, manipulating files etc
<freeemint_> How would you structure documents and files? Would you use the database if so how?
<freeemint_> (If you had pil + (as on linux) not just what pilbox does)
<Regenaxer> Yep
<Regenaxer> The 'repl' function in PilBox is actually a standard function
<Regenaxer> in @lib/form.l
<Regenaxer> So you can use it also in Linux
<Regenaxer> from a browser
<Regenaxer> (app)
<Regenaxer> (action (html 0 "REPL" "@lib.css" NIL (repl)))
<Regenaxer> put that in a file repl.l, and call
<Regenaxer> $ ./pil lib/http.l lib/xhtml.l lib/form.l --server 8080 repl.l +
<Regenaxer> You can eval Lisp expressions, edit files, and execute shell commands
<Regenaxer> I think also PilOS does what you said
<Regenaxer> using the DB as a file system
<freeemint_> Regenaxer: If you use the DB as file system can still pool other databases (which would be blobs)?
<Regenaxer> Well, it is all the same then
<freeemint_> I do not get that
<Regenaxer> Me neither :)
<freeemint_> If you (read) your source from blobs listed in a database. Can you access another blob as a database?
<Regenaxer> In PilOS there are no blobs
<Regenaxer> The blocks on the disk are organized as files
<Regenaxer> With index trees as directories
<Regenaxer> Putting a DB in a blob of another DB does not make sense as far as I can see
<Regenaxer> But theoretically possible, if it is a single-file DB
<freeemint_> ah ...
orivej has joined #picolisp
<freeemint_> If you had an familiy running on pilbox ... where would the family members be stored?
<Regenaxer> family?
<Regenaxer> the tutorial DB?
<Regenaxer> For an example for a PilBox App with DB look at https://software-lab.de/radio.zip
<freeemint_> (start (load "radio/er.l" "radio/lib.l") (call "mkdir" "-p" "db/") why call mkdir on pilbox?
<Regenaxer> To make the dir?
<freeemint_> but pilbox does not know about linux mkdir?
<Regenaxer> It calls it
<freeemint_> i thought pilbox was a standalone os running directly over the bios
<freeemint_> where does linux come in to play?
<Regenaxer> No, that is PilOS
<Regenaxer> PilBox is an Android App
<freeemint_> oowwwww
orivej has quit [Ping timeout: 268 seconds]
orivej_ has joined #picolisp
<freeemint_> Ok let me phrase that again ... if you had to work with in pilos from know on (and somebody implemented ethernet, ssl and so on) how would you work in pilOS
<Regenaxer> First an editor would be needed
<Regenaxer> And other tools and applications
<freeemint_> ... and vip
<Regenaxer> email
<Regenaxer> yes
<Regenaxer> vip is ok
<Regenaxer> a browser perhaps?
<freeemint_> ... if you had all the basics covered
<Regenaxer> right
<freeemint_> how would you organize your stuff?
<Regenaxer> A huge work all :)
<freeemint_> (thought experiment dismiss if you want)
<freeemint_> How would you organize your stuff?
<Regenaxer> Which stuff?
<freeemint_> The documents/links/account_login_data/.... you need to work
<Regenaxer> In linux I also organize everything in vip
<Regenaxer> even emails in mbox files
<freeemint_> Would you go for files again?
<Regenaxer> So editor is most important
<freeemint_> Or would you put somethings in databases
<Regenaxer> Files are in PilOS
<freeemint_> if so what would you in databases
<Regenaxer> in DB blocks
<Regenaxer> (not blobs)
<freeemint_> (mails in an mbox or as objects ... )
<Regenaxer> yes, perhaps
<freeemint_> ... i ask you tomorow .. reinstalling soon
<Regenaxer> ok :)
<Regenaxer> good luck!
<freeemint_> My question is something like: "What is the best way to store data so it would be very nice to work with it from pil, when only pil had to access it."
<freeemint_> I am curius about your insightfull answer tomorow ;)
<freeemint_> Good night
<freeemint_> , Regenaxer
<freeemint_> i've choose a debian
freeemint_ has quit [Ping timeout: 260 seconds]
<nonlinear> sys
rob_w has quit [Quit: Leaving]
orivej_ has quit [Ping timeout: 260 seconds]