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
groovy2shoes has quit [Quit: Leaving]
Francesco__B has joined #picolisp
<Francesco__B> did you ever buy a web hosting? lol
karswell has joined #picolisp
orivej_ has joined #picolisp
cess11_ has joined #picolisp
orivej has quit [*.net *.split]
Regenaxer has quit [*.net *.split]
libertas has quit [*.net *.split]
cess11 has quit [*.net *.split]
libertas has joined #picolisp
Francesco__B has quit [Read error: Connection reset by peer]
Francesco__B has joined #picolisp
Francesco__B has quit [Read error: Connection reset by peer]
Francesco__B has joined #picolisp
Francesco__B has quit [Read error: Connection reset by peer]
Francesco__B has joined #picolisp
Francesco__B is now known as Guest16972
Guest16972 has quit [Read error: Connection reset by peer]
Guest16972 has joined #picolisp
Guest16972 has quit [Read error: Connection reset by peer]
Guest16972 has joined #picolisp
Guest16972 is now known as Francesco__B
orivej_ has quit [Ping timeout: 264 seconds]
Francesco__B has quit [Read error: Connection reset by peer]
Francesco__B has joined #picolisp
Francesco__B has quit [Read error: Connection reset by peer]
Francesco__B has joined #picolisp
Francesco__B has quit [Read error: Connection reset by peer]
Francesco__B has joined #picolisp
Francesco__B is now known as Guest37845
Guest37845 has quit [Read error: Connection reset by peer]
Guest37845 has joined #picolisp
orivej has joined #picolisp
nonlinear has joined #picolisp
alexshendi has joined #picolisp
Regenaxer has joined #picolisp
Guest37845 has quit []
rob_w has joined #picolisp
aw- has joined #picolisp
miskatonic has joined #picolisp
<aw-> hi all
<Regenaxer> Hi aw-
miskatonic has quit [Client Quit]
miskatonic has joined #picolisp
<beneroth> hi aw-, Regenaxer :)
<Regenaxer> Hi beneroth
<aw-> i wonder if Geo would release the source code for Pisces
<aw-> i really want to know how PicoLisp was implemented _without_ a typical processor
<aw-> Regenaxer: if I understood correctly, miniPicolisp generates "compiles" PicoLisp code, right?
<aw-> compiled*
<Regenaxer> yes, it compiles the Lisp structures of all initially loaded files to C structures
<Regenaxer> Are you still in contact with Geo?
alexshendi has quit [Read error: Connection reset by peer]
<Regenaxer> I exchange mails with him every week or so on implementation questions
<beneroth> oh, so he is moving forward
<Regenaxer> yes, he is working on it
<Regenaxer> The new 'byte' is a result of that
<Regenaxer> He needed it to access I/O ports
<beneroth> what is the difference of your verilog implementation of picolisp to his works?
<Regenaxer> It was always his
<Regenaxer> I don't have the current version though
<beneroth> does his work base on that and extend it, or are this different things actually
<beneroth> ah ok
<Regenaxer> I think it is based on that
<Regenaxer> He wrote it all initially, by taking 'emu' as an example
<beneroth> ah, I see
<Regenaxer> ie. how VM asm instructions translate to C
<Regenaxer> analog to Verilog
<aw-> oh i haven't emailed him since summer
<aw-> Regenaxer: thanks! ok i understand now
<Regenaxer> ok
<aw-> is he re-using the same asm instructions?
<Regenaxer> which else?
<Regenaxer> He translates them
<Regenaxer> to Verilog
<aw-> oh i see
<aw-> wow
<aw-> that's a lot of work
<Regenaxer> yes
<Regenaxer> I think he is also optimizing now
<aw-> if your asm could be translated directly to ELF, wouldn't that be more efficient?
<Regenaxer> it is
mtsd has joined #picolisp
<Regenaxer> it is translated by 'as' and 'ld'
<Regenaxer> on Unix I mean
<Regenaxer> For PilMCU there is no ELF of course
<aw-> oh
<aw-> so what is translated to C ?
<Regenaxer> emu
<aw-> oh ok!
<aw-> hmmm interesting.. i didn't know about 'as'
<Regenaxer> The GNU assembler
<Regenaxer> it takes the *.s files
<aw-> outputs .o
<Regenaxer> yes
<aw-> i'm looking at src64/Makefile now, instead of asking more stupid questions ;)
<Regenaxer> then 'ld' links them to ELF
<Regenaxer> no problem :)
<miskatonic> I remember the times when elf as still fairly new
<miskatonic> upgrading an aout-based distro to an elf-based was somewhat hairy
<aw-> wow
<aw-> well.. the ELF format is quite hairy
<aw-> i still can't believe Regenaxer wrote pil64 in asm
<beneroth> why not?
<aw-> difficulty level
<aw-> "can't believe" = impressed
<beneroth> I might underestimate the difficulty. but I think I can see, as Regenaxer reasoned, that some stuff was much more easier in asm than in C.
<Regenaxer> In some way it is easier than C for such a VM
<Regenaxer> T
<aw-> interesting..
<miskatonic> but then it needs to be rewritten from scratch for each architecture
<aw-> not entirely
<aw-> just some parts
<aw-> but yes
<beneroth> therefore pil asm.. pil64 is written in picolisp assembler, which is then translated to the target asm
<beneroth> gödelisierung
<aw-> the architecture-specific stuff is written in pilAsm
orivej has quit [Ping timeout: 260 seconds]
<Regenaxer> yes, only a single file per CPU
<Regenaxer> a kind of compiler, reading pil asm and outputting target assembly language
<beneroth> if you can't solve the problem on this level, then introduce a meta-level. A principle I often use. but one has to be sure that there is really no feasible solution on this level, and strictly keep to YAGNI, or else it becomes a bloated clusterfuck
<beneroth> bottom-up design. still results in less layers than the usual top-down approach, I believe.
<Regenaxer> Agreed
<Regenaxer> I think I first think top-down, but then implementation is always bottom-up
<aw-> beneroth: ? i have no idea what you just wrote
<aw-> too much buzzword
<aw-> :P
<beneroth> srsly? I don't see a buzzword ^^
<beneroth> = only do whatever you need NOW, don't implement stuff for potential (but not totally guaranteed) future use
<aw-> oh i see
<aw-> yeah i need more of that
<aw-> throw away so much code a month after writing it :\
<beneroth> it's a time management tool implemented via self-discipline
<beneroth> well that is not necessary bad. the important part is that you do the throwing away part!
<beneroth> the problem is, the usual practice is to never to do the refactoring, so the technical debt just increases, gaining interest (= maintenance becomes harder and harder)
<aw-> i see
<beneroth> and with levels/layers I meant different layers in software design / architecture. e.g. meta-programming (code producing code), what compilers etc basically do, kinda. but also stuff like building on top of a framework (another layer, comes with limitations and dependencies) or doing it where you do the rest
<beneroth> the exact border between two layers/level in software design might be fuzzy, but they're there
<beneroth> e.g. in pil DB, conceptually the DB and the application are on the same level. while in traditional SQL setup, application code is meta-programming the sql-code which gets translated/interpreted again on the DB server
<beneroth> adding a layer can allow you to express something much easier on this extra layer than on the other one. e.g. we usually don't program in assembler because it would be too much code to write, with a higher programming language we can easily use building-blocks/shortcuts like for/if/functions which translates to quite big pieces of assembler code
<beneroth> abstraction
<beneroth> but this can easily become restriction. there are intended restrictions and unintended, and sometimes stuff falls into both categories.
<miskatonic> they would already translate to quite big blocks in Fortran code, especially fortran i through iv
<beneroth> T
<beneroth> some abstractions / layer interfaces (this are also API interfaces) are better than others
<beneroth> e.g. having no direct access to pointers in Java, while the underlying layer is full of pointers, restricts you to do some stuff, but also kinda protects the programmer from some likely mistakes.
<beneroth> so when you definitely want to do something with pointers, you have to put this stuff into another layer than java, or do it with much hazzle in java.
<beneroth> in summary I believe you want to have as little different layers as necessary (because of the frictions introduced between them), but not less layers as required (e.g. doing everything in the target asm would mean probably have only one single level in the software architecture, but it would probably be silly and seriously restrict your productivity)
<Regenaxer> T
<mtsd> Isn't this very characteristic of Forth? Bottom-up design, YAGNI? Don't speculate about what MIGHT be useful, instead build what IS useful at the present time?
<mtsd> And also, hello everyone! ;)
<mtsd> Just read some of the things written by Chuck Moore. I am not a competent Forth programmer myself
<Regenaxer> Hello mtsd
<mtsd> Hello Regenaxer!
<beneroth> hi mtsd
* beneroth doesn't know enoufh Forth to guess an answer
<beneroth> s/guess/approximate :)
<beneroth> bbl
<Regenaxer> cu
<mtsd> Interesting read, I think.
jibanes has quit [Ping timeout: 240 seconds]
mtsd has quit [Ping timeout: 240 seconds]
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
alexshendi has joined #picolisp
orivej has joined #picolisp
mtsd has joined #picolisp
<beneroth> back
<beneroth> thanks for the link mtsd !
<beneroth> "I've also been distressed at the lack of concern from others about
<beneroth> problems I consider significant. It amounts to a general i
<beneroth> ndifference
<beneroth> pretty good, in any case as good as necessary. "
<beneroth> to quality; a casual attitude of confidence that one's programs are
<beneroth> OH YES
<beneroth> T
* beneroth has the same problem with people around him
<mtsd> Moore has written many insightful things :)
<beneroth> oh I just started and already fell in love with this text
<mtsd> I found the book some time ago, I like it too
<mtsd> He seems to be a true rebel, in the software world
<mtsd> Turns 80 next year, shows up at Forth meetings from time to time.
<beneroth> well I see the problem lies therein that most programmers want to be rebels, want to be extraordinary, or at least a bit different. ending up (out of comfort and laziness) only being different in bad ways.
<beneroth> the problem of software development is hard, but I consider it mostly solved. the solution is to keep to some very short simple rules with strong self discipline. this is not an appealing solution, so people ignore it.
<mtsd> I never liked the "rock star myth" when it comes to programming.
<beneroth> well what is the rock star myth? I would say it is totally true that some programmers are x-times more productive than others, and x being not a single digit but a two or three-digit number.
aw- has quit [Quit: Leaving.]
<mtsd> But how many such people really exist?
<beneroth> but I consider it a myth that this comes from some inherent "talent" or "biologically constrained capability". mostly bullshit. it comes from hard working.
<mtsd> Such people can probably be found in other areas as well. Some musicians are better than others, painters, accountants etc.
<mtsd> Yes, hard working probably has a lot to do with that
<beneroth> T. though I would say that in other areas the X in x-times better is usually not that high, cannot be that high, as the nature of software allows
<mtsd> I just don't like it when people brag about what an incredibly complicated solution they have been able to put together, just to show off
<beneroth> that is exactly cargo cult
<mtsd> Yes. Exactly
<beneroth> good solution can be complex. but complexity does not equal quality.
<mtsd> And I think a lot of the software industry is engaging in cargo cults
<beneroth> those people try to find a shortcut. there is no shortcut, just self-discipline and a lot of exercise.
<beneroth> well the commercial incentives don't favour technical quality :)
<mtsd> Very true :)
<beneroth> most programmers are not payed to produce results but to look busy.
<beneroth> I strongly believe that in software development the X factor (difference between people) can be much higher than in other fields (because software = information = easy scaling)
<mtsd> Does the end-user really care very much what sort of underlying technology is used, as long as the program solves their problems?
<beneroth> e.g. Mozart was a biological gifted genius. I think that the highest achievers in the field of computer science are mostly not more biologically gifted than the average (or slightly above-average) computer programmer
<beneroth> mtsd, no.
<mtsd> Not in my experience either
<beneroth> but the end-users problem potentially not even lies in the functionality but only in the fact to deliver a software project without getting fired... leading to hire SAP/microsoft/ibm which comes with good excuses in case of failure
<mtsd> And failure there is. Many times :)
<beneroth> maybe von Neumann and Turing where truly biologically gifted geniuses. I don't think this applies to Chuck Moore, Knuth etc.
<mtsd> Maybe not, but you do need the interest and energy in place to get started on something and continue, in order to reach a high level
<beneroth> and this is not about lowering them, but to focus on their methods. others could use their methods too and become similarly "good", I believe
<beneroth> T
<mtsd> e.g. I might have been really good at football, but I was never interested in football
<beneroth> but also.. interest is strengthened the more you work with something
<mtsd> Not always, but there is a better chance of that if you get started in a good way,perhaps?
<mtsd> I don't know from where the initial seed of interest comes. Chance, people around you etc?
<mtsd> Good video! Thanks!
<beneroth> your welcome :)
<beneroth> stumbled on this long ago and bookmarked :)
<mtsd> Bookmarked here as well now :)
<mtsd> Good discussion too, beneroth! Thanks!
<beneroth> thank you too!
<beneroth> this one (from the talk from hamming on pg's website) connected to me:
<beneroth> "The prepared mind sooner or later finds something important and does it. So yes, it is luck. The particular thing you do is luck, but that you do something is not."
<beneroth> Newton said, "If others would think as hard as I did, then they would get similar results.
<mtsd> Persistance is important, I think. Can be hard today, with such great amounts of options around
<mtsd> The paradox of choice..
<beneroth> ". Once you get your courage up and believe that you can do important problems, then you can. If you think you can't, almost surely you are not going to."
<mtsd> Oh, I remember a similar quote..
<beneroth> this one is from that hamming talk :)
<mtsd> "Whether you think you can or can't, you're right"
<beneroth> Robert Anton Wilson said similar things often
<beneroth> haha, nice one :)
<beneroth> T
<mtsd> Henry Ford
<beneroth> Fordism propelled USA to become the empire it is
<beneroth> and Ford was quite socialistic, thats the irony :)
<mtsd> That is a bit of a theme in Brave New World. "In the year of our Ford.."
<beneroth> oh I forgot that part, haha, nice
<mtsd> And the christian cross has been changed to the letter T ;)
<beneroth> unsure what came first, actually :)
<mtsd> Me too, haha
<mtsd> Makes the book even better
<beneroth> haha
<beneroth> this one is great:
<beneroth> "This brings up the subject, out of order perhaps, of working conditions. What most people think are the best working conditions, are not. Very clearly they are not because people are often most productive when working conditions are bad."
<beneroth> the point is, of course, pain (can) incentive creativity
<beneroth> like much technological progress was made during the world wars
<beneroth> no excuse for having pain, of course
alexshendi has quit [Ping timeout: 240 seconds]
aw- has joined #picolisp
<beneroth> I set restrictions for myself and sometimes throw myself into bad situations in the hope to gain from this effect
<beneroth> e.g. I took over an ill-maintained, malware- and bug-ridden webhosting setup from a company who didn't want to do webhosting business anymore
<beneroth> learned a lot
<beneroth> was hard
<beneroth> " Just hard work is not enough - it must be applied sensibly."
<beneroth> "Most people like to believe something is or is not true. Great scientists tolerate ambiguity very well."
<beneroth> ah just read the whole text yourselves, there is too much quote-worthy in it xD
<mtsd> I will
<mtsd> I was thrown in bad situations a lot lately, but I hope things will stabilise soon :)
<mtsd> Looking forward to looking back at it :)
<mtsd> But yes, you do learn a lot from times like that
<beneroth> you can
<beneroth> no guarantees, unfortinately
karswell_ has joined #picolisp
karswell has quit [Ping timeout: 250 seconds]
<beneroth> balance of (ger) "Förderung" and "Überforderung", the balance between "being challenged" and "overhelmed/over-challenged"
<mtsd> Genau :)
<beneroth> :D
<beneroth> hamming: "It is a poor workman who blames his tools — the good man gets on with the job, given what he's got, and gets the best answer he can."
alexshendi has joined #picolisp
karswell_ has quit [Ping timeout: 240 seconds]
mtsd has quit [Quit: Leaving]
<viaken> I hate that quote.
<viaken> But that's because I've had it used against me as an excuse not to replace tools that'd broken.
<viaken> Or to avoid buying tools we needed.
<viaken> Actually, to be specific, it was because I was warning them that quality would suffer without the appropriate tools. They used that quote to try and demand the same quality.
<beneroth> yeah, for this it is bullshit.
<beneroth> I think the quote is not about ignoring such a situation
<beneroth> I think it is only about not using that situation as an excuse to do nothing
<beneroth> and I think those people were not rational, not even economical. I mean, by using that quote they kinda agree that the current tools are shit. and there is a way to change it
miskatonic has joined #picolisp
aw- has quit [Quit: Leaving.]
alexshendi has quit [Ping timeout: 248 seconds]
jibanes has joined #picolisp
<viaken> I shouldn't blame the quote for disfunctional work environments, I guess.
<viaken> s/dis/dys/
alexshendi has joined #picolisp
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
groovy2shoes has joined #picolisp
libertas has quit [Ping timeout: 248 seconds]
libertas has joined #picolisp
libertas has quit [Ping timeout: 240 seconds]
libertas has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
C-Keen has quit [Quit: WeeChat 1.9.1]
C-Keen has joined #picolisp
C-Keen is now known as Guest27901
Guest27901 has quit [Changing host]
Guest27901 has joined #picolisp
Guest27901 is now known as C-Keen
orivej has joined #picolisp
libertas has quit [Ping timeout: 240 seconds]
libertas has joined #picolisp
miskatonic has joined #picolisp
rob_w has quit [Read error: Connection reset by peer]
miskatonic has quit [Remote host closed the connection]