rob_w changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information || Attention due to latest spam floods this channel will only allow registered users to send messages - check https://freenode.net/kb/answer/registration
orivej has joined #picolisp
ee_ks has quit [Ping timeout: 245 seconds]
ee_ks has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
rgrau has quit [*.net *.split]
rgrau_ has joined #picolisp
viaken has quit [Quit: WeeChat 2.1]
viaken has joined #picolisp
pierpal has joined #picolisp
ee_ks has quit [Ping timeout: 272 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
N3k0 has quit [*.net *.split]
N3k0 has joined #picolisp
erkin has quit [Remote host closed the connection]
alexshendi has quit [Ping timeout: 252 seconds]
pierpal has quit [Remote host closed the connection]
razzy` has joined #picolisp
razzy` has quit [Changing host]
razzy` has joined #picolisp
orivej has joined #picolisp
m_mans has joined #picolisp
xificurC has joined #picolisp
<m_mans> Hi all!
<Regenaxer> Hi m_mans!
<Regenaxer> Welcome back!! :)
<m_mans> I hope everything goes well?
<Regenaxer> I hope so too ;)
<m_mans> I'm crazy with all those microservices in our system :)
<m_mans> no time to look around
<Regenaxer> No worries!
<m_mans> btw I have a house now
<Regenaxer> Cool! It is nice to be independent
<m_mans> but we are not living there, still are in our old apartment
<Regenaxer> preparing?
<m_mans> no, just because of proximity of school and relatives of my wife
<Regenaxer> I see, hmm, but you have to care for two places now
<m_mans> yeah, that was interchange: I've sold my land allotment near the city
<m_mans> I hope we will move to the house finally :)
<Regenaxer> ok :)
<m_mans> sorry for the spam. I'm just happy to see all here
<Regenaxer> np :)
<beneroth> hi m_mans :D
<beneroth> hi Regenaxer :)
<beneroth> Good to see you, m_mans :)
<Regenaxer> Hi beneroth!
<m_mans> Hi beneroth!
<beneroth> and rick42 was here and grp was epic :D
<m_mans> ok, back to work, see you!
<beneroth> m_mans, how many technologies do you have in use in your microservice landscape?
<beneroth> ok!
<beneroth> have a nice day! don't let 'em get you!
<beneroth> Regenaxer, btw I finally solved my DIME puzzle (or so I think, its not completely finished yet but the vital parts finally work correctly)
<m_mans> uhh, Python (Django, asyncio (I hate it)), Postgres, NodeJS, React, Golang, Java
<beneroth> interesting mix. does not sound overly healthy to me :)
<m_mans> Also Rabbit, Camel (for connect to SAP) all this just for online store :D
<beneroth> lol
<m_mans> ah, MongoDB too
<beneroth> of course, haha, poor you
<m_mans> T
<Regenaxer> wow
<m_mans> and Kubernetes on Google
<beneroth> I like to re-tell the fact that at least two companies got bankrupt because of using MongoDB (both were crypto-coin trading hubs)
<m_mans> hehehe
<beneroth> (ACID is a property one should not kick overboard too lightly)
<beneroth> what do you think about Kubernetes?
<beneroth> I'm pretty sceptical about docker and its whole environment. But I never worked on a really big sharded setup. I think I would prefer vertical scaling.
<m_mans> yesterday I've showed statistics to chief person, that in 90% of time we have no more then 1 order per minute. Really crazy infrastructure for this
<beneroth> haha
<beneroth> well you can't attract (seemingly-) decent developers without offering them tech to polish their employability, so that they can leave you after two years for another shop :D
<beneroth> or so the theory goes, I guess
mtsd has joined #picolisp
<Nistur> mornin'
<mtsd> Good morning!
<Nistur> o7
<Regenaxer> Hi Nistur, mtsd
<mtsd> Hello Regenaxer!
<mtsd> A friend of mine told me yesterday that he is locking all laptops away in a cupboard to force himself to only use Penti and a smartphone :)
<Regenaxer> Wow! :)
<Regenaxer> BTW, how was your presentation?
<Regenaxer> Everybody shocked by this anarchic PicoLisp system?
<beneroth> s/anarchic/radical
<Regenaxer> right ;)
<Regenaxer> or both
<Regenaxer> power to the programmer!
<beneroth> if anything, the dumb project management methods and bloated software architecture which are PROVEN to not work (since..the 60s?) are anarchic.
<beneroth> or I mixed the word up with anachronistic...
<mtsd> It went well, some raised eyebrows perhaps when I told them about code in kilobytes and such things
<Regenaxer> Well, but there the power is hidden in the system, not with the programmer
<Regenaxer> Cool mtsd!
<beneroth> mtsd, interesting :)
<mtsd> I said many things about power to the programmer, expected to get many questions
<mtsd> And I did get some questions, but no hard ones really
<Regenaxer> So you explained it well
<mtsd> I think it may have been a bit of an eye opening experience to many
<beneroth> then you did it well!
<Regenaxer> great!
Nistur has quit [Ping timeout: 272 seconds]
<beneroth> not too much "I can't believe this can work in practice" ?
<mtsd> We don't really need to use bloated frameworks. We can lift ourselves up and move away from that way of creating software
<beneroth> from enterprise perspective, power to programmers is likely not a good hook :) they're already too demanding and cumbersome.
<beneroth> T
<mtsd> Not as much as I had expected, beneroth. I was a bit surprised, actually
<beneroth> interesting. the unbelieving-reaction is the one I'm used to when I tell about lisp. but I never did really a in-depth presentation.
<mtsd> I was ready to defend our position, but there was not many questioning the approach as such
<Regenaxer> Good news indeed
<mtsd> The harshest questions was something like "If you run unix processes, there is a max number you can use and there is a limit to number of processes" etc
<Regenaxer> OK, these are valid questions
<Regenaxer> We always have trade-offs
<mtsd> Not much of a limitation though, in practice. Such limits apply to all languages and frameworks
<Regenaxer> Yes, and they are easily understood and handled
<mtsd> And besides, how many of us are going to build software of facebook scale?
<Regenaxer> T
<beneroth> T
<mtsd> Much better to focus on giving power to the programmer to be able to work efficiently
<beneroth> but you can still do it as complex (well bloated) as for facebook-style, and imagine you are a genius because of it - then you end up with a landscape like m_mans just told us about
<beneroth> mtsd, T
Nistur has joined #picolisp
<beneroth> Hi Nistur o/
<mtsd> beneroth, that is absolutely true. And I think many in IT like seeing themselves as a genius. A genius who can understand, handle and use the most complex tools and systems imaginable. Makes them feel very smart, talks to their sense of ego
<beneroth> exactly
<mtsd> But genius to me is more like when Alexander the Great solves the gordian knot by cutting it in half with his sword :)
<beneroth> but simpler is better. hard to make, but easy to understand.
<mtsd> Picolisp could be the sword, the gordian knot is "mainstream" software.
<mtsd> No hard guess who Alexander the Great is ;)
<beneroth> haha, nice
<beneroth> well, I guess our Alexander is a much more friendlier and less violent chap :)
<beneroth> well he is, no need for guessing
<Regenaxer> uh, I hope so ;)
<beneroth> hehe :)
<Regenaxer> thanks
Nistur has quit [Ping timeout: 246 seconds]
<mtsd> Indeed. No sword brandishing around here :)
<beneroth> and I sincerely hope, that unlike the historic Alexanders the Great lifework (lebenswerk) that Regenaxers lifework will not be splitted up by his followers fighting for control after his demise ;P
<beneroth> I trust we will manage that
<mtsd> I told the group yesterday how Regenaxer had been kind enough to proof read the material. Everyone looked really surprised, don't think they had been so close to a programming language creator before
<Regenaxer> sure
<beneroth> T
<Regenaxer> Advantages of a small system
<beneroth> discipline and good principles and more discipline
<beneroth> most programmers believe there is a big gap between "normal" programmers and creators of languages/libraries
<beneroth> which is BS
<beneroth> just needs some motivations. and the history of IT shows times and times again that a single person, or a very small team, usually produces better and more stable, long-term used tech than big organisations
<mtsd> Next week is presentation number 2, this time in London. Yesterday was a good rehersal
<beneroth> nice
<beneroth> thank you for your efforts for our cause, mtsd :)
<mtsd> Anytime beneroth :)
<mtsd> I am just getting started ;)
<beneroth> I like to hear that!
orivej has quit [Ping timeout: 244 seconds]
<mtsd> I could perhaps post the material on the Wiki?
<beneroth> ah and of course I would be interested in your slides. mainly to shamelessly re-use them.
<beneroth> yes please!
<Regenaxer> yes, that would be nice
<mtsd> beneroth, can I reach you on the email address you are using here? ...@wbase.ch ?
<mtsd> Could post it to the mailing list as well, of course
<beneroth> wbase has no emails. I probably should change that :D
<beneroth> andreas@itship.ch
<mtsd> Great, thanks!
<beneroth> how did you create the slides?
Nistur has joined #picolisp
<mtsd> I used libreoffice impress, then exported to PDF
<mtsd> Easier to pass around a PDF file
<mtsd> Would of course be nicer to write a Pil application to create slides :)
<mtsd> Mine are very simple. Just bullet points
cobax has joined #picolisp
<mtsd> I never liked very advanced presentations with slide effects and God knows what. Distracting
<beneroth> T
<Regenaxer> In cases where I needed to prepare slides, I always used MagicPoint
<Nistur> last presentation I did, I used... what was that suckless.org tool... ummm... sent
<Regenaxer> Plain text sources
<Nistur> before that I wrote them in emacs org-mode and exported with LaTeX beamer
<beneroth> last time I used LaTeX beamer. was a bit effort to get all the initial code I needed, and debugging sucks. but worked very well.
<beneroth> pil app to produce a svg-pdf for presentation would indeed be nice. probably not so hard to do. I generate bills already this way.
<Nistur> that's the benefit of using emacs org-mode :P all the boilerplate setup is mostly taken care of with the org-mode export
ubLIX has joined #picolisp
<beneroth> I used code syntax highlighting, and placed the code snippets (examples) in separate files. worked well.
<beneroth> I think I made 1-2 tries once to get into org-mode and just gave up without really trying it out :)
<Nistur> I have used org-mode for a lot of things, but still only used about 10% of what it can do :P
<Nistur> my Honours dissertation was org-mode/LaTeX
<Nistur> my entire last 2 years of university work was done solely in emacs, with all notes in org-mode
<Nistur> my CV is actually in org-mode right now
<Nistur> in fact
<Nistur> https://github.com/nistur/cv the content is cv.org the LaTeX styling is mycv.sty (which I mostly 'borrowed' from something I found online, and tweaked)
<mtsd> I didn't know about MagicPoint, I am going to try it out. Thanks Regenaxer!
<Nistur> (if you want to see a silly waste of time... change the branch on my CV repository to 'demo' and look at the commits in that...)
<beneroth> you must be about my age or a bit older :)
<Nistur> me?
<Nistur> RIDDLE TIME (don't worry, it's easy, I just find it fun to not give my age explicitely)
razzy` has quit [Ping timeout: 252 seconds]
<Nistur> I had my birthday last Tuesday. It was not a significant one. Last year, however was a significant year. As a programmer the birthday I'll have next year will be a significant one also.
<beneroth> ok, so I think you are (inc (; Beneroth age))
<beneroth> :)
<beneroth> need to go for 1-2 hours. bbl :)
<Nistur> buhbyes
<beneroth> and happy birthday!
<beneroth> a bit delayed :)
* Nistur needs to define his age in pure lambda calculus next, for fun
<Nistur> hah thanks
aw- has joined #picolisp
<aw-> hi all
<Regenaxer> Hi aw-!
ubLIX has quit [Quit: ubLIX]
<aw-> hmmm i don't have (while T) in any of my code...
<aw-> it's only in a README example for nanomsg.. an example.
<aw-> :\
<tankf33der> look at this maplist and maplist-reverse
<Regenaxer> aw-, I see. Didn't check
<Regenaxer> Hi tankf33der
<Regenaxer> yes?
<aw-> rot is destructive
rob_w has joined #picolisp
<cobax> how do I build on the mac? I'm getting an error "main.c:730:34: error: fields must have a constant size: 'variable length array in structure' extension will never be supported"
<freemint> mtsd when will the slides be online?
<mtsd> Hi freemint, I'll try and get them in place next week. Some preparation to do for the trip first
<aw-> cobax: hi, i think you need gcc on newer Mac
<freemint> mhh then i will wait :(
<freemint> Mac seems to default to llvm from what i know
<aw-> freemint: yes exactly
<aw-> cobax: easiest is to setup a TinyCore Linux VM on virtualbox, and then you can compile/use picolisp 64-bit directly on there
<freemint> happy birthday beneroth
<freemint> why not take the already compiled files from the server?
<aw-> oh yeah.. i don't think that works
<aw-> seems many people tried
<aw-> oh that stuff drives me nuts
<aw-> people are such idiots
<mtsd> Python too? I remember when Django did the same thing..
<mtsd> Keeps spreading, it seems
<freemint> the best thing is Django and python have chosen different terms
<mtsd> yes, exactly, haha
<freemint> the problem is python has not enough inertia to push the change forward
<mtsd> These things drive me crazy as well. Pointless work..
<aw-> mtsd: not just pointless work, pointless discussions which snowball into more and more "politically correct" garbage
<mtsd> Does anyone really believe Python users in general support slavery due to the fact that the terms "master" and "slave" are in there?
<mtsd> Ridiculous
<aw-> eventually we won't be able to use parent/child/kill
<freemint> like most of IT? I doesn't seems to be a large burden and some people can brush their ego for this virtue signalling
<aw-> mtsd: lol exactly
<freemint> mtsd you misrepresenting their arguments be carefull
<cobax> aw-: I've never heard of tinycore but I will look into the idea as it sounds good
<mtsd> I have faith in the people in this community ;)
<aw-> cobax: it's a super "tiny" operating system you can run it with very little RAM so it's a good lightweight option for running picolisp on Mac
<mtsd> aw-, by the way, did you ride out the storm ok?
<aw-> i've yet to see a black person raise an issue with the use of the words "master/slave" in tech. In 20 years, i've never seen it. We don't care. It's such lol
<cobax> aw-: thank you, I will do that!
<mtsd> The real storm over Japan that is. Not some "usage of forbidden terms" "storm"
<aw-> mtsd: yes thanks, typhoon was pretty bad but not where I live
<mtsd> Glad to hear that
<freemint> mtsd that is not a excuse. By strawman-ing their arguments you contribute to tribalism.
<mtsd> freemint, well, I am a white, middle-aged, european guy, which seems to make me evil by definition. According to some politically correct folks
razzy` has joined #picolisp
<mtsd> There is a lot of discussion around things like that in Sweden, at least
libertas has quit [Ping timeout: 264 seconds]
gsnedders|ooo has joined #picolisp
libertas has joined #picolisp
libertas has quit [Ping timeout: 244 seconds]
gsnedders|ooo has quit [Ping timeout: 244 seconds]
<freemint> mtsd i see why it is tiring but ... it is strategicly better not to rant about them
<mtsd> yes, probably. Let's stick to Lisp discussions instead
libertas has joined #picolisp
<freemint> in related news: react maintainer removes mentions of the word blacklist from code reasons unknow https://github.com/facebook/react/commit/8a8d973d3cc5623676a84f87af66ef9259c3937c
<beneroth> re
<beneroth> freemint, Nistur had birthday, not me :)
<aw-> reason isn't unknown
<aw-> there was an issue
<beneroth> master/slave: 1) here the pull request, some great comments https://github.com/python/cpython/pull/9101 2) this SJW-thingy of changing language instead of doing anything effective (which would be more work, ofc) is horrible. By confusing language and making it imprecise (newspeak à la 1984?) we will get to the point where it is not possible to communicate about problems anymore - also kinda hides the problems, but not solving them at all.
<beneroth> 3) are those people against slavery in all forms, or (just) with humans? because I would argue that master/slave-relationship in computing IS kinda real slavery - and we want it that way, else it doesn't function anymore, no?
<aw-> freemint: in the case of React, a Chinese person made the request LOL
<Regenaxer> OK, so fork() will be chopstick() in the future!
<aw-> beneroth: hi
<beneroth> Regenaxer, nice!
<beneroth> hi aw- :D
<aw-> Regenaxer: parent/child should then be govnt/pleb
<cobax> aw-: tce-load -wi picolisp doesn't work
<Regenaxer> yeah
<aw-> cobax: which version?
<beneroth> welcome cobax !
<Regenaxer> Yes, hi cobax!
<cobax> hello all
<aw-> cobax: it exists in tinycore 64-bit: http://repo.tinycorelinux.net/9.x/x86_64/tcz/picolisp.tcz.info -- maybe you're running the wrong ISO? (32-bit instead?)
<cobax> Ok I will start over with that image, thank you!
<aw-> cobax: the ISOs for 64-bit are here: http://www.tinycorelinux.net/9.x/x86_64/release/
<aw-> hopefulyl Regenaxer doesn't fall into the terminology trap set by these PC idiots
freemint has quit [Ping timeout: 245 seconds]
freemint has joined #picolisp
<beneroth> aw-, I'm sure he will not and continue to use the terminology from MacLisp, Unix and Knuth. Which todays people also don't understand, but thats another issue :D
<aw-> beneroth: haha
<aw-> good
<aw-> i can't imagine having to use something other than 'kill' on Linux
<mtsd> Wonder what it would be?
<aw-> terminate
<aw-> hmmm maybe still too violent
<beneroth> humble-asking-for-stop-doing-it (thats for kill default / segfault)
<beneroth> s/segfault/sigterm
<aw-> haha nice one
<Regenaxer> :)
<beneroth> kill -9 / sigkill will be NO-MEANS-NO!
<beneroth> in capital!
<cobax> lol I cheated and went the docker route
<beneroth> traitor!
<beneroth> good for you :)
<beneroth> first make it run, then make it nice
<cobax> once the application is done I'll go back to ... exactly!
<beneroth> but never neglect the second step
<aw-> ahaha good
<aw-> it's running tinycore inside docker instead of running inside a vm
<aw-> except, docker is running inside a vm
<beneroth> so a tinycore inside a bad variant of container inside a vm?
<cobax> the more vms the better!
<aw-> something like that.. i don't know dont really care haha
<beneroth> yes! install java if it still runs too fast!
<beneroth> (if the old joke is still allowed. apparently it got better)
<cobax> I like you folks already
<beneroth> haha, welcome
<beneroth> we might be not as correct as the python folks, but we have less flamewars here and all in all a much friendlier community, I dare to say
<mtsd> T
<mtsd> Welcome, cobax
<cobax> beneroth: I can tell by the banter that you folks are great
<cobax> thank you for the warm welcome all :)
<beneroth> yes we are!
<cobax> as a small intro I am someone who after developing professionally for a decade and a half, have decided to try my hand at freelancing, but only if I can minimize all the pain
<cobax> and by pain I mean installing postgres, integrating all these disparate technologies, wrestling with npm... I don't want any of that.
<cobax> so I finally found picolisp to help me with those pains
<beneroth> what about politics and dealing with customers? as a freelancer you usually only get the ones with a lot of pain :)
<beneroth> (I'm a freelancer/brain for hire/consultant/hoster/whatever)
<cobax> well I want to be the greenfield type of freelancer if that makes sense
<cobax> beneroth: and you code picolisp for your clients?
<beneroth> you need to explain. I only understand greenfield as in greenfield projects = aka complete fresh new projects. those are the nicest one.
<beneroth> cobax, whenever I can talk them into it
<cobax> yes. I mean I want clients that want some website functionality but are willing to defer choice of technology to me. hence no dealing with customers. sorry if I misunderstood what you meant
<aw-> cobax: welcome, many of us are freelancing here as well
<beneroth> I'm building and maintain web-apps made with picolisp for some clients. but consulting and freelancing-work is mostly C# currently. also C.
<cobax> aw-: thank you, I can use all the tips I can get
<beneroth> cobax, yeah I working on getting more into that field
<beneroth> I'm on a slow route to go from freelancing shop to software product shop
<cobax> beneroth: yeah I really want to focus on my comfort for my freelancing side. I'm not going to go full time freelancing until I only have projects that I have control over the technology
<cobax> otherwise frankly I'm a bit burned out of doing whatever technology others want me to do
<cobax> beneroth: as in growing your own freelancing business? wow, nice
<cobax> I want to be really niche, I really don't want clients who know what javascript is, if that makes sense
<beneroth> I know the feel. but don't hope to find much relieve with picolisp. I mean you will find it, but whenever you are forced to work with a dumb tech stack the pain is much higher after knowing the picolisp way :D
<aw-> cobax: haha maybe you should come work for me ;)
<beneroth> where are you based, cobax ?
<cobax> aw-: why is that, do we have the same thought process here?
<aw-> beneroth: true
<cobax> beneroth: new york city
<cobax> beneroth: I cannot wait for that experience
<aw-> cobax: my company: 6 years, 90% picolisp coding, customers don't care what language i write in, some custom work but mostly product-based
<cobax> aw-: wow, you're there where I want to be!
<aw-> perhaps
m_mans has quit [Ping timeout: 244 seconds]
<cobax> aw-: I'll send you my resume as soon as I am half-competent with picolisp
<beneroth> aw-, did you had outside funding, or all bootstrapped/organic growth?
<aw-> cobax: good enough, do you know other lisps? or just starting lisp from scratch now?
<cobax> aw-: oh I am a long time lisper :)
<aw-> beneroth: yes USD $20K funding in my 1st year, that's all
<cobax> aw-: have read lisp in small pieces and cut my teeth on some of the exercises, etc
<cobax> I love lisp, there is no putting it into words
<aw-> long time lisper! awesome
<cobax> I've done Racket... I've done Chicken the longest
<aw-> i've seen many people struggle with PicoLisp concepts when they come from CL or Scheme
<cobax> and I know CL as well and Kernel and T
<Regenaxer> Still we need to be careful, as picolisp is rather different from other lisps
<cobax> aw-: which concepts specifically?
<aw-> cobax: i defer that answer to Regenaxer l;)
<Regenaxer> Hmm, I would say the way of thinking
<Regenaxer> statically vs dynamically
<cobax> I am familiar with Smalltalk so I am hoping that I can take that thinking to picolisp but I am curious to know the differences
<Regenaxer> Just try, and ask us
<Regenaxer> Everybody has a different view
<beneroth> Fexprs vs. macro
<Regenaxer> T
<cobax> right, I'm familiar with that
<beneroth> Code as data purity vs. let give the compiler some hints for optimization
<Regenaxer> interpreter- vs compiler oriented
<aw-> beneroth: my friend hates that (1 2 3 4) doesn't need to be quoted in PicoLisp lol
<beneroth> aw-, why?
<beneroth> aw-, he can still quote :P just a waste
<Regenaxer> right :)
<aw-> dunno, he's a CL guy now. lost for life i guess
<beneroth> aw-, how many guys are you know in your comp?
<beneroth> aw-, thanks for answering. 20k seems not like a lot to me. I kinda also had 20k savings when I started, but that is not so much here.
<aw-> still same size company.. tiny
<aw-> oh i put my own $60k savings to start
<beneroth> my friend with CL experience was stunned about the symbol type of picolisp, somehow. I don't know enough about CL to know what to think about that.
<cobax> what I don't have any experience with is prolog so I wonder how much I'll have to pick up... I only have a vague concept of what a cut is
<beneroth> ah ok, so kinda more about 80k. yeah that would be enough for 1 year here too
<Regenaxer> I would have expected that symbols are conceptually the same in CL and pil
<beneroth> cobax, get into pilog eventually. it is nice. very useful for complex database queries. and probably also useful if one would want to build a rule engine of any sort.
<Regenaxer> (as opposed to Scheme)
<beneroth> I built one 3 years ago but as OOP system in C#.
<cobax> beneroth: a rule engine, you say?
<cobax> beneroth: like the age of empires a.i. script?
<aw-> beneroth: yep, it lasted about 1 year for 2 people full-time, since 2014 it's been 100% bootstrapped
<cobax> scripting language*
<beneroth> nah. ah product configurator. input is a complex set of rules what attributes and values are allowed and how the influence each other. customer (business) can configure a product (big engines) with that. the rule engine makes sure that no of those rules are violated.
<beneroth> e.g. if you chose A = 3 then C must be 6, but only when E is not 7,8, or 9
<beneroth> such stuff
<cobax> are you saying pilog is not just for querying but also for representing business rules?
<beneroth> changing a single value as a user of this product configuration can have quite some snowballing effects changing the allowed ranges of values for many other options
<beneroth> I didn't do this with pilog. I would now.
<beneroth> yeah
<cobax> interesting. I'm really enjoying all the documentation so far
<beneroth> it's often very terse, reading it multiple times helps a lot
<cobax> I watched a video by Dr. Burger but one can't quite make out the screen
<beneroth> haha, yeah. the froscon.
<beneroth> Regenaxer is Alexander Burger
<cobax> that one
<Regenaxer> The video is not helpful
<cobax> oh, good to know, thank you for your work Dr.!
<Regenaxer> No Dr. :)
<cobax> thank you sir!
<Regenaxer> :)
<aw-> Dr.. seems fitting though
<beneroth> well... isn't Dr. loosing meaning, because of inflation?
<beneroth> I agree Regenaxer easily plays in the league of the leading computer science luminaries
<aw-> he could be honorary Dt
<Regenaxer> Oh no
<Regenaxer> pil is too small
<aw-> pil is used in hundreds of fortune 500 companies
<Regenaxer> and the thing with just standing on the shoulders of giants
<beneroth> I guess he prefers to be the friendly meteorologist who likes playing guitar and creating better software than the international CS community and IT companies? :)
<Regenaxer> haha, too bad I forgot so much about meteorology
freeemint has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
<beneroth> you should learn playing the pipe organ, than you could meet Knuth :)
<Regenaxer> Last time when explaining something to my daughter I did not recall the term "wet bulb temperature"
<Regenaxer> ok
<beneroth> apparently he only wants to meet people who play a duet on the pipe organ with him
<Regenaxer> cool
freeemint has quit [Client Quit]
freemint has joined #picolisp
<aw-> beneroth: off topic, what are internet speeds where you live?
<aw-> download
<freemint> Regenaxer do not break fork ... you introduce chopstick as optional name for fork. (setq chopstick fork) All political jonas should be optional
<Regenaxer> freemint, right
<aw-> can probably avoid all this by switching all terminology to French
<freemint> this was already done by someone
<freemint> Regenaxer do you recall who did that?
<freemint> The name was some micro i think
<freemint> aw- where do you the fortune 500 claim?
<beneroth> aw-, 40MBits and upwards. 1Gbit/s is standard in cities (fiber)
<beneroth> aw-, I have 1Gbit/s down and up
<aw-> freemint: i can't say, but I know it.
<aw-> beneroth: theoretical? what is _actual_ ?
<beneroth> I believe you aw-. But I also believe that the companies probably don't know it themselves :P
<aw-> correct
<aw-> ;)
<beneroth> aw-, right that are upper limits. I actually get this values (when the other end allows), I'm with a provider made up of hackers who would like to forbid this "up-to-x" contracts, making it mandatory to guarantee the speed. but yeah.. with the major provider, the actual speeds are lower. dunno how much, afaik it is worse with mobile (because of capacity limits, a few years ago you easily got max on mobile)
<aw-> homebrew hacker ISP ?
<aw-> that sounds so awesome
<aw-> are you sharing bandwidth throw high power wireless antennas?
<aw-> through*
<beneroth> no
<cobax> aw-: from speedtest.net just now: 350 Mbps down, 23 Mbps up
<beneroth> https://tradingeconomics.com/switzerland/internet-speed seems outdated and inaccurate to me
<beneroth> eh
<beneroth> I meant
<aw-> 350Mbps down, yikes
<aw-> beneroth: thanks
<beneroth> dunno about the tradingeconomics site
<beneroth> aw-, let me know when you need a business partner here :)
j3kyl_ has joined #picolisp
<aw-> beneroth: could be interesting, our product should be interesting for Europeans considering the focus on privacy and security..
<beneroth> yeah the laws are getting better here, slowly
<beneroth> business largely still needs to catch up afaik
freemint has quit [Ping timeout: 272 seconds]
freemint has joined #picolisp
j3kyl_ has quit [Killed (Unit193 (Spam is not permitted on freenode.))]
<beneroth> aw-, who is your target audience? internal IT people at enterprise level companies?
<aw-> no, mostly small sized IT companies (1-50 staff) who are offering their software to enterprise level companies
<beneroth> I plan to target mostly B2B and IT shops I think. we have a big small business culture here and they all need to get away from their excel wizardry.
<beneroth> ah, right
<aw-> i don't sell to enterprise, not interested
<beneroth> I see. same reasons as I don't want to go into that, I guess then.
<beneroth> so probably I will become an target audience for you :)
<aw-> B2B is best, you get to work with smart engineers in various companies, people who just want to get shit done
<beneroth> yeah. also business people who just want to get shit done.
<aw-> as opposed to enterprise it's mostly just "protecting my ass" type of people
<beneroth> enterprise is politics and fashion. too much gambling, to much work.
<aw-> or B2C is just "i want everything for free, now"
<beneroth> T
<beneroth> well some of my company customers think of themselves as enterprise and behave like B2C :)
<beneroth> worst of all :D
<aw-> AHAHAHAHA
<aw-> that made me laugh out loud, i'm also quite familiar with that
<beneroth> virtual high five o/ \o
<freemint> beneroth the thing with exel is that it is an excellent metaphor for for working with numbers.
<freemint> It is "very simple"
<beneroth> well its the tool that made the most people into programmers
<beneroth> its excellent
<beneroth> but many companies have now the problem that some internal (or external) guy set up a whole accounting system or so with excel, and that guy is gone for years, and the whole file-based work is becoming quite limited
<beneroth> many little shops with 5-30 guys selling accounting and other business software, SaaS or otherwise.
<beneroth> My plan is to either become one of them, or become the software supplier for such shops to build their solutions on it.
<aw-> ^5
<beneroth> dunno, I got more a technical vision than an actual business plan. works out well so far. I figure if one business model turns out weak I can switch to another one with my tech.
<aw-> good plan
<beneroth> thanks!
<aw-> yeah you have to adjust often
<aw-> adjust pricing, adjust business model, adjust target customers, product, etc
<beneroth> well the product I want to build (partly already have, but my vision is only like 5% implemented yet) is also a big "scratch your own hitch", mainly the difficulties I experienced working as a freelancer on legacy business apps and ERP systems
<aw-> many things you can do, depends on your long-term goals as well.. ex: grow to huge company, or grow slowly to maybe 10 people company, or stay single ffreelancer forever
<beneroth> yeah. my goal 2. maybe 1, but I guess I would split it up into multiple companies then.
<beneroth> 1 depends on fortune/opportunities. 2. is the goal. 3. I don't want to, if I can't get from 3 to 2 within the next few years I will probably stop by attempt.
<beneroth> 3. is what I have largely done the last 8 years. for 3 years now I'm working on a very slow change into 2. type.
<aw-> keep changing until you find something that works well for you
<aw-> i think i've adjusted company goals and projects a dozen times in 6 years lol
<aw-> as long as you keep making money to stay in business, it's OK ;)
<beneroth> a good friend of mine (network company, hoster, ISP) is always hovering between 3. and 2. he has great tech skill, but his business skills are so bad that all few years his company nearly crashes, reducing it to 3. stage again. I think he will never make it into 2. really, but always be able to tag along as 3.
<aw-> maybe there's no need to grow too big either?
<beneroth> yeah I earn the money to stay afloat with freelancing. and there I have some risks with having only very few clients, but yeah, I have 10-20% of revenue in hosting (not much gain there, that is more about building knowhow and reputation for me), and a growing part of revenue coming from custom software made with picolisp
<beneroth> I'm on track. it feels extremely slow at times, but I guess my feeling is more pessimistic than it actually is :)
<beneroth> different company sizes have completely different needs and different cultures.
<aw-> yep
<aw-> also don't be scared to charge more
<aw-> a lot more
<beneroth> I will build up a company to sell it (current standard silicion valley startup culture), I want to build a healthy stable prospering company.
<beneroth> yes, I know that advice well. have to work a lot on that still.
<aw-> i gotta run, bbl
<beneroth> I just lost an offer (for which I'm not unhappy, because it would have been a real stress, interesting project though) to an international (india) IT company, as they are cheaper and have more people/resources available now. but there are some doubts if they can really pull of what the client needs. Will ask again in 3 months ^^
<beneroth> yeah me too
<beneroth> nice talking to you, as always, aw-
<freemint> beneroth what do you host?
<beneroth> have a nice day!
<freemint> where can i look at your "offers"
<beneroth> standard LAMP webhosting (php). email (imap/pop). and my picolisp-based custom web-apps.
<beneroth> you can't, I haven't found the time to properly make a website yet :)
<aw-> beneroth: likewise, yes always ping back a company after a few months if they choose an outsourced IT provider.. sometimes you can come in to "save" them
<beneroth> planned for the next few months.
<beneroth> I got other channels working.
<aw-> beneroth: c u
<beneroth> cu
<beneroth> have a nice day all!I need to go too!
<beneroth> have fun with picolisp, cobax! and don't give up, its all very confusing in the beginning. come to IRC to ask for help, we like to help :)
<cobax> beneroth: thank you, I'll take you up on that offer!
<cobax> have a good one
<beneroth> do that! thanks :)(
<beneroth> (bye)
beneroth has quit [Quit: Verlassend]
mtsd has quit [Quit: Leaving]
<freemint> cobax you can just ask. Likely there is somebody around who can help. But there are two rules: Do not ask Regenaxer about Arrays and do not propose changes to the language when you you have no idea of the language
<Regenaxer> haha, thanks freemint!
<cobax> hahahah I will write down those rules to make sure I follow them at all times
razzy` has quit [Changing host]
razzy` has joined #picolisp
<cobax> Regenaxer: by the way what gave you the idea to bolt on a web gui and a database to a language?
<cobax> were you inspired by Smalltalk?
<Regenaxer> It grew historically
<cobax> oh really, so this wasn't the end goal at first?
<Regenaxer> no, though I looked at Smalltalk in the early 80s
<cobax> also tcl, or no?
<Regenaxer> Initially I had native guis
<Regenaxer> no, it was first Macintosh (the old one, on Mac II)
<Regenaxer> then plain X11
<Regenaxer> Then a Java application as frontend
Bec0 has joined #picolisp
<cobax> really? I had no idea. and what made you go with dynamic scoping? is it the ease of serialization?
<Regenaxer> So when web browsers became common, I ported the Java GUI to Java applets
<Regenaxer> I wanted an interpreter, so dynamic binding is natural
<Regenaxer> BTW, it is not "dynamic scoping"
<Regenaxer> Pil has global scope for symbols
<Regenaxer> The values are *bound* dynamically
<Regenaxer> "scope" means "visibility", and what is dynamic is how values are bound to symbols (variables)
<cobax> ok, I stand corrected, I can see that. but I am having difficulty seeing why dynamic binding is natural for interpreters
<Regenaxer> It is the fastest way
<Regenaxer> It needs no lookup at runtime
<Regenaxer> In a static Lisp, the compiler does it mostly at compile time
<cobax> doesn't it also contribute to making serialization much easier?
<Regenaxer> Serialization relates to s-exprs, right? Not the values of variables?
<Regenaxer> So I would say no
Bec0 has quit [Ping timeout: 240 seconds]
<cobax> Regenaxer: hmm, then I really have a question now. I was having a conversation on #lisp and they surmised that dynamic binding is how picolisp can serialize functions and objects and not care about serializing references
<Regenaxer> Perhaps we mean different things with "serialization" here?
<cobax> Regenaxer: perhaps, I mean being able to save to disk and then revive
<Regenaxer> For me it is (print ) and (read), or the PLIO binary format
<Regenaxer> ok, yes, same
<Regenaxer> The database uses PLIO
<Regenaxer> dynamic binding is only concerned about the values of parameters and variables
<cobax> so then they said it is very hard to serialize a common lisp lambda with lexical references, but should be effortless to serialize dynamic bound sexps
<cobax> namely with PLIO as you say
<Regenaxer> I see, yes, if they want to save the environment too
<Regenaxer> In pil the env is alway implicit from the context
<cobax> yes, you got it! like a "save-image-and-die" function
<Regenaxer> So saving it is not an issue
<cobax> ok, that's what I was trying to understand
<cobax> so for me it does have benefits in serialization
<Regenaxer> You can do it in pil though, with the 'env' function
<cobax> the dynamic binding feature, that is
<Regenaxer> ok
<cobax> just take the env then serialize it and save it, you say?
<Regenaxer> yes, just 'print' or 'pr' it
<Regenaxer> But the whole env may be more
<Regenaxer> also globals
<Regenaxer> and open files
<cobax> indeed, then it will be the degree to which I want to revive the image, so to speak
<Regenaxer> catch frames, coroutine states, and much more
<cobax> but still, pretty cool that a save-image-and-die is so simple in picolisp
<Regenaxer> I don't have a complete save currently
<Regenaxer> (there was one in an older version)
<Regenaxer> I think miniPicoLisp still has it
<Regenaxer> 'save' function iirc
<cobax> Regenaxer: not anymore? did the image-based aspect not catch on?
<Regenaxer> I never used it
<Regenaxer> And it is never complete anyway
<Regenaxer> ie. external state
<cobax> sure.
<Regenaxer> Where would you want to use such a save/restore?
<Regenaxer> An application has its persistent data in the DB
<cobax> well, I arrived at picolisp from a long journey that started with the idea of orthogonal persistence, you see
<Regenaxer> "orthogonal" in which sense? *any* data?
<cobax> Regenaxer: I agree with you that given picolisp's persistent data *and* first class treatment that that amounts to transparent persistence
<cobax> orthogonal in the sense that saving does not disturb the language, i.e. it happens transparently, as in smalltalk
<cobax> I consider gradations there, some people don't
<Regenaxer> ok, yes
<cobax> Smalltalk does truly have orthogonal persistence in my opinion, as you can save an image in the middle of debugging and it will be revived at that point
<Regenaxer> So you *can* save anything easily, but you have to decide what you want to preserve
<Regenaxer> yes, I know
<cobax> but all I need is first-class persistence really, which in my view is 95% of transparent persistence
<cobax> Regenaxer: yes, and having to decide is honestly better as it is what I planned to do anyway in Smalltalk but was afraid of Smalltalk getting "dirty" from all the usage, saving things it shouldn't, etc
<Regenaxer> So to save all functions in memory, you can (out "file.l" (for S (all) (and getd S) (pp S]
<Regenaxer> something like that
<cobax> oh wow the old ]-close-all :)
<Regenaxer> haha, yes
<cobax> also this is amazing: https://picolisp.com/wiki/?PilOS
<Regenaxer> yeah, never completed though
<Regenaxer> The above saving with 'pp' has the disadvantage that comments and read-macros are lost
<Regenaxer> And typical applications never 'load' all
<Regenaxer> but load files at runtime
<Regenaxer> ie the GUI works this way, loading only on demand
<Regenaxer> (advantage of an interpreter)
<Regenaxer> So my feeling is that the normal editing of source files is better than doing it in-memory
<cobax> well, I could explicitly save the functions I want in the image as I code them
<Regenaxer> yes, no problem
<cobax> that would be a possible workflow, right? that way no need for a save-image-and-die even
<Regenaxer> You can save them, then add comments perhaps
<Regenaxer> (not that I write much comments ;)
<Regenaxer> I would say that for me the whole Unix machine is the environment
<Regenaxer> including different snapshots of the sources
<Regenaxer> BTW, you can 'edit' functions in memory
alexshendi has joined #picolisp
<Regenaxer> both in vi or emacs mode
<Regenaxer> ie calls the real vim or emacs
<cobax> you mean while a picolisp process is running, I can change its functions?
<Regenaxer> yes
<Regenaxer> : (edit 'task)
<cobax> very late bound, makes sense
<Regenaxer> or
<Regenaxer> (: edit 'edit) :)
<Regenaxer> yes, functions are just data
<cobax> now when that PilOS page says full blown PicoLisp, it is missing the network features, right? or does it keep them?
<Regenaxer> It has no network
<Regenaxer> All I/O is done only with what is available in the BIOS
<Regenaxer> so we have only VGA, keyboard, and simple disk access
<cobax> right, but the full picolisp has network, through which the gui works, or do I misunderstand?
<Regenaxer> correct
<Regenaxer> "full" means the language here I think
<cobax> and BIOS does not offer network which is why picolisp can't have it by itself?
<cobax> you'd have to implement tcp ip in picolisp or what?
<Regenaxer> right
<Regenaxer> yes, or asm
<cobax> because it could be interesting to have a bare website on hardware
<cobax> we could take some asm tcp library
<Regenaxer> I found out too late that modern machines don't even support the full BIOS standard any mori
<Regenaxer> more
<Regenaxer> I was lucky with my notebook back then
<cobax> too late? otherwise what?
<Regenaxer> I tested only on my machine
<cobax> you wouldn't have focused on BIOS at all?
<Regenaxer> later others reported it does not work on other hardware
<cobax> oh, ok
<Regenaxer> BIOS is the only hardware abstraction available by standard
<cobax> right
<Regenaxer> Philip Orais is working on PilMCU
<Regenaxer> it is planned to be stand-alone
<Regenaxer> But it takes time ... ;)
<Regenaxer> PilOS works fine in Qemu though
<Regenaxer> Fun to play around
ee_ks has joined #picolisp
<cobax> nice! looking forward
<cobax> by the way where is the "idx" function documented?
<Regenaxer> (doc 'idx)
<Regenaxer> yes
<Regenaxer> Or (help 'idx)
<cobax> hmm, I get "w3m: Can't exec" from my docker picolisp, I guess I just instantly outgrew it
<Regenaxer> or (help 'idx T) to see examples
<Regenaxer> I see
<Regenaxer> (doc 'idx "Firefox") or so?
<Regenaxer> you can set the BROWSER env var in the shell too
<Regenaxer> Moment
<Regenaxer> interrupt, bbs
<Regenaxer> bbl
<cobax> same, but I did it to "less" and I now can see the url: less: can't open 'file:///usr/lib/picolisp/doc/refI.html#idx': No such file or directory
<cobax> Regenaxer: I have to go now as well but I'll be back tonight and probably will always try to be around
<cobax> Regenaxer: it was very nice meeting you and talking to you, thanks for your time
<freemint> cobax less is no browser
<cobax> freemint: yep, I'll do a proper install on tinycore and virtualbox tomorrow
<freemint> install w3m it works well
KnightsOfNi8 has joined #picolisp
KnightsOfNi8 has quit [Remote host closed the connection]
alexshendi has quit [Read error: Connection reset by peer]
<cobax> freemint: this is currently in a docker file so I'd have to edit it somehow to put w3m in there
<aw-> tsk tsk now you'
<aw-> now you're in the docker rabbit hole
<aw-> cobax: ;) you'll def get a better picolisp experience with a proper linux OS in a vm.
<cobax> aw-: yeah, I think I'll just install it straight on some linode box and do my development there through emacs tramp
<xificurC> not like one can't run apt update && apt install w3m in a docker container..
<Regenaxer> ret
<Regenaxer> ok, let's talk later. I have phone conf soon
ee_ks has quit [Ping timeout: 252 seconds]
<cobax> xificurC: I ran it like this: docker run -it --rm progit/docker-tinycore-picolisp
<cobax> xificurC: are you saying it's easy to change that command to give me w3m?
<cobax> Regenaxer: yep, talk soon!
<Regenaxer> ok
<xificurC> cobax: no. you can put /bin/sh at the end to get a shell running and install packages. Looking at this particular image it builds on tiny core linux which I don't know so can't tell you how to install packages or whether it has a package manager
<xificurC> picolisp has no dependencies though, there's really no harm in grabbing the tarball and following INSTALL
<Regenaxer> xificurC, the problem is that cobax is on a Mac
<xificurC> Regenaxer: ah, well... that really *is* a problem :)
<aw-> cobax: for your VM, ensure to attach a fixed storage disk as well so you can actually save your changes, otherwise they are lost on reboot because TinyCore is like a LiveCD.
jibanes has quit [Ping timeout: 244 seconds]
jibanes has joined #picolisp
ee_ks has joined #picolisp
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 252 seconds]
erkin has joined #picolisp
hgb7 has joined #picolisp
hgb7 has quit [Remote host closed the connection]
<rick42> Nistur: Happy 31st!
<rick42> hello, all!
<rick42> i enjoyed reading your banter that happened earlier. i missed that
ee_ks has quit [Ping timeout: 250 seconds]
orivej has joined #picolisp
ubLIX has joined #picolisp
joadavis has joined #picolisp
grp has joined #picolisp
NB0X-Matt-CA has quit [Excess Flood]
NB0X-Matt-CA has joined #picolisp
joadavis has quit [Remote host closed the connection]
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
razzy` has quit [Ping timeout: 240 seconds]
freemint has quit [Ping timeout: 252 seconds]
razzy` has joined #picolisp
razzy` has quit [Changing host]
razzy` has joined #picolisp
<razzy`> hi, how to debug in emacs elisp the same way as in picolisp? should be possible right?
<razzy`> btw, anyone celebrating new year?
freemint has joined #picolisp
* grp believes that question requires further elaboration
<razzy`> grp: i like (debug 'function ) in picolisp. similiar thing should work in elisp emacs, but it is for 2 hour reading
<razzy`> basic ussage should be at 1 page only
seanh19 has joined #picolisp
seanh19 has quit [Ping timeout: 244 seconds]
erkin has quit [Remote host closed the connection]
* grp still doesn't get what's the problem
<razzy`> i do not know how to use edebug and it is killing me. if somebody know
<grp> (load "@dbg.l") ?
<razzy`> in elisp, i hoped people here use emacs as well
<razzy`> nevermind
<grp> oh...
<grp> well, elisp sucks
<grp> horribly so
<razzy`> in what way?
<grp> I could rant for days
<grp> last time I had to do debugging with it, I littered prints everywhere
<grp> then checked *messages*
<grp>
<grp> I don't like elisp one bit... I find it quite clumsy
<grp> as a language
<grp> no f-exps, it's dynamic with no control over symbols reachability (you need to gensym everything), no closures
<grp> no namespaces
<grp> no datatypes
<grp> (as in structures)
<grp> every check returns bool, which is impractical
<grp> in pil I can do (+ 5 (or (num? Var) 20))
<grp> in elisp numberp returns nil or t
<grp> so you have to go an extra step
<grp>
<grp> honestly I haven't touched elisp for a looooong while so I can't recall most of it, but I sure hated it back then
<grp> same goes for alisp (AutoCAD Lisp), I curse it everytime I need to even glance at it
orgasmix18 has joined #picolisp
<grp>
<grp> anyway...
orgasmix18 has quit [Remote host closed the connection]
<razzy`> hmm
<razzy`> i have issues with debugging
<Regenaxer> Sorry, I have no idea at all about elisp. Aren't there plenty of channels for it? It would be more efficient to ask there
<grp> lixe #emacs
<grp> like*
<razzy`> i am there
<grp> and? no one answering?
<razzy`> asking
<razzy`> they have no idea it could work like in picolisp, imho
<razzy`> so they do not know what i want
<razzy`> working on it
<Regenaxer> good luck!
<grp> razzy`: how about (debug-on-entry 'function) then hitting 'd' or 'c' ?
<razzy`> grp: doing it now. there are too many information and none REPL
<razzy`> for exploring
<grp> there's 'e'
<grp> for eval in that stack point
ee_ks has joined #picolisp
<razzy`> grp: thx
<razzy`> picolisp debug is imho better
<razzy`> hmm, maybe not :] will see
freemint has quit [Ping timeout: 244 seconds]
freemint has joined #picolisp
<Nistur> rick42: thanks :P
freeemint has joined #picolisp
freemint has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp
freeemint has quit [Ping timeout: 245 seconds]
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
<freemint> does anybody have something convenient for parsing HTML, i want to exchange money in to a different currency. But the bank in question supplies an webpage with thr current exchange rate.
rob_w has quit [Quit: Leaving]
ee_ks has quit [Ping timeout: 244 seconds]
grp has quit [Quit: box shutting down...]
razzy` has left #picolisp ["ERC (IRC client for Emacs 25.1.1)"]
razzy` has joined #picolisp
razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
tianon5 has joined #picolisp
tianon5 has quit [Remote host closed the connection]
pierpal has joined #picolisp
ubLIX has quit [Quit: ubLIX]
adongy0 has joined #picolisp
pierpal has quit [Ping timeout: 240 seconds]
adongy0 has quit [Ping timeout: 240 seconds]
sdx2316 has joined #picolisp
sdx2316 has quit [Remote host closed the connection]