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
<viaken> Ah, (format)
<Ober> who do you distribute/deploy stuff in picolisp? is there any sort of fasl delivery?
<Ober> or just a static interpreter and a script?
<beneroth> basically static interpreter and a script (or multiple scripts)
<beneroth> usually tgz is used :)
<beneroth> unix standard way
<beneroth> what is "fasl" ? can't find anything. package format?
<beneroth> viaken, right
<beneroth> with picolisp it is always soo obvious.. in hindsight.
<beneroth> I used (any) for months before I found out about (format) xD
<viaken> I'm doing the Advent of Code to get more aquainted.
<beneroth> cool, great idea
<Ober> fast lisp
<beneroth> quicklisp?
<beneroth> Ober, there exists no library/ package management for picolisp (as of yet)
<beneroth> so far also not really required, as 1) picolisp libraries tend to be pretty small, usually a single source file suffices 2) much stuff that would be in language-specific libraries in other languages is intentionally not re-implemented in picolisp, existing libraries/tools in C/C++ can be used via (native) and everything with a cli interface can very easily be used/wrapped 3) most picolisp libraries in that sense are part of the picolisp standard distributi
<beneroth> on (see directories picolisp/lib and picolisp/misc etc). there are some (and growing!) number of libraries/repositories from developers other than Regenaxer but it's so far still a rather short list, mostly linked to from somewhere on picolisp.com, and generally easy to find on github or bitbucket
<beneroth> I think having such tooling in the longterm would be good & useful. I'm working on some stuff into that direction but only as a side-project, nothing expected to come out this anytime soon. I don't know from anyone else working on something in that area.
<beneroth> my view is that package management independent from picolisp is a pretty common use case, but all solutions appear to be pretty OS/language/stack-specific.. I would like to find an reusable universal solution.
<beneroth> I will look into quicklist, didn't stumble on it yet
<beneroth> thanks Ober !
<beneroth> quicklisp
<beneroth> argh
<beneroth> or if you indeed didn't mean quicklisp, please provide me with a link :)
beneroth is now known as away
away is now known as bene|off
<viaken> There's got to be a better way of turning a TSV into a list of numbers? (mapcar format (mapcar pack (split (line) "^I"]
<viaken> TSV == tab-separated values
<viaken> Eh, I've gotten used to it.
<Ober> fasl. fast loading
<Regenaxer> bene|off: No, I did not know that SHA-512 is easy to attack for hashed passwords
<tankfeeder> thats why special functions created like bcrypt, pbkdf, argon
<tankfeeder> harder to brute force
<tankfeeder> two function implemented on picolisp
<tankfeeder> argon binded against monocypher and libsodium to compare
miskatonic has joined #picolisp
<Regenaxer> Why is not a stronger algo then in crypt(2)? Doesn't Unix security depend on it?
Regenaxer has quit [Read error: Connection reset by peer]
Regenaxer has joined #picolisp
<tankfeeder> openbsd has bcrypt behind crypt function
<Regenaxer> not portable
<Regenaxer> Why not in glibc?
<Regenaxer> if it is really soo insecure
<tankfeeder> glibc doest care
<tankfeeder> we should ask aw
<Regenaxer> Why not?
<tankfeeder> he was first who told here about it
<Regenaxer> I see
<miskatonic> the number between parentheses refers to sections in the manpages, not to versions of the algorithm, doesn't it?
<Regenaxer> yes
<Regenaxer> man 2 crypt
<Regenaxer> hehe
<Regenaxer> man 3 crypt ;)
<Regenaxer> sorrt
<Regenaxer> sorry
<Regenaxer> How much brute force computing is necessary to find a SHA-512 hash? Is it *really* the same as storing in plain text? Can't believe!
<Regenaxer> It can't be *that* bad
<Regenaxer> Sure, a slow algo is better
<Regenaxer> But I don't want to include self-made code where there is a standary system lib
<tankfeeder> eh
<miskatonic> the password hashing is entirely unrelated to the problem of the secure transmission of passwords over the network, it seems
<Regenaxer> yep
<Regenaxer> Transmission is done via SSL in case of a PicoLisp server
<Regenaxer> bbl
<bene|off> hey
<bene|off> good morning
<bene|off> that is from 2014
<bene|off> yes it still needs a bit of a dedicated hardware setup, but the we're talking about "enthusiastic single person"-level not "NSA building bleeding edge special purpose hardware"-level
<bene|off> afaik
<bene|off> inherently because the hashing algorithms used in standard crypt are and always were meant for comparisons, not to store passwords
<bene|off> why crypt et al use such algorithms I don't know, interesting question.
<bene|off> or I might be completely wrong, but I don't think so
<bene|off> bbl
miskatonic has quit [Remote host closed the connection]
miskatonic has joined #picolisp
<bene|off> (apart from that, I would be interested if Regenaxer can put a rough number (weeks, months) for how long the initial form.l development took - I find it an extraordinary piece of craftmanship)
<bene|off> (completely your concept?)
orivej has quit [Ping timeout: 240 seconds]
<tankfeeder> any ideas ?
rob_w has joined #picolisp
<Regenaxer> ret
<Regenaxer> bene|off, yes, I've read this link
<Regenaxer> Still this is not the same at all as plaintext passwords
<Regenaxer> even rot13 would be better than plain text, protecting from short glimpses into the DB
<Regenaxer> Indeed form.l took a long time. I started using it in a project imediately, after a week or so, but I remember that after 5 years I thought "now it is round" and thought it finished (it never is finished though ;)
<Regenaxer> Yes, all my concept, but it is not the first version
<Regenaxer> First was in the 90s with a Java Form GUI
<Regenaxer> no, first was plain X11
<Regenaxer> then Java Form, as a stand-alone application
<Regenaxer> which was then ported to Java Applets in the browser
<Regenaxer> The current form.l was started in 2005 or early 2006
<Regenaxer> tankfeeder, this looks a little like Knight's tour task, not?
<miskatonic> i've even seen uuencode used as pseudo-encryption
<Regenaxer> :)
mario-goulart has quit [Read error: Connection reset by peer]
mario-goulart has joined #picolisp
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<tankfeeder> i've solve it.
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 268 seconds]
orivej has joined #picolisp
orivej_ has quit [Ping timeout: 276 seconds]
mtsd has joined #picolisp
mtsd has quit [Remote host closed the connection]
mtsd has joined #picolisp
mtsd has quit [Client Quit]
<m_mans> Hi all!
<m_mans> what can be wrong with this: (gui 3 '(+ObjVal +DbHint +TextField) '(nm +GoSe) '(nm +GoSe) 45)
mtsd has joined #picolisp
<m_mans> it's in chart (+Set +E/R +Chart) - pretty similar to demo application ord.l
<cess11_> m_mans: maybe '+DbHint needs to be first in the list
<cess11_> as prefix on a db related class rather than the html component
<Regenaxer> m_mans, the 'gui' call looks fine
<Regenaxer> cess11_
<Regenaxer> I think the order does not matter
<mtsd> Order does not seem to matter when I have used +DbHint, at least
<Regenaxer> m_mans, what problems do you get?
<m_mans> sorry, was afk. Let me check a little more, and I'll tell about the problem
<m_mans> The problem is: when I clear position deleting item name in the chart row, item object is somehow modified too, it's 'nm attribute has gone
<m_mans> maybe +ObjVal does so
<Regenaxer> yes, I would say so
<m_mans> ok, I see in form.l.
<Regenaxer> +ObjVal is for object created behind the scenes, just by entering a value
<Regenaxer> So deletion would be a consequence of that
<Regenaxer> I always made an explicit delete button though, ie. "x" in the chart
<Regenaxer> +DelRowButton
<m_mans> the idea was to have catalogue of item names, filled out "on the fly"
<m_mans> but without deleting on the fly :)
mtsd has quit [Ping timeout: 240 seconds]
<Regenaxer> oh :)
<Regenaxer> Perhaps +Dflt to ensure a value?
<m_mans> I'm switching to just +String, plus (+DbHint +TextField) etc
mtsd has joined #picolisp
<Regenaxer> +Need won't make sense in the chart I think
<m_mans> My chief was against of special interface for such +Item's so far, the problem is rooted there :)
<Regenaxer> What kind of special interface?
<m_mans> I mean dedicated form
<Regenaxer> ok
<Regenaxer> yes, might be confusing
<Regenaxer> I would try (gui 3 '(+ObjVal +DbHint +TextField)
<Regenaxer> oops
<Regenaxer> (+Dflt +ObjVal +DbHint +TextField) "Empty" ...
<Regenaxer> Then the object is never deleted this way
mtsd has quit [Ping timeout: 240 seconds]
<m_mans> no, in this case the problem is wider: Item is also modified when I change it name, not only when deleted
<Regenaxer> Hmm, I don't remember well. You mean a new object is created?
<m_mans> if I link several positions to the same item
<Regenaxer> I see. Then +ObjVal is not a good idea
<m_mans> yeah, seems so
<Regenaxer> You can create the object explicitly with +Set
<m_mans> T
<m_mans> thanks for the help!
<Regenaxer> np :)
mtsd has joined #picolisp
mtsd has quit [Ping timeout: 248 seconds]
<m_mans> btw, upd> of +Entity is called only when new field value is different from old one, right?
<Regenaxer> Yes, only when a change occurred
<Regenaxer> ah
<Regenaxer> No
<Regenaxer> No, correct ;)
<m_mans> thanks :)
<Regenaxer> I thought you mean 'upd>' of '+gui' :)
<Regenaxer> this is called more often
<m_mans> no, DB-level
<Regenaxer> yep
<Regenaxer> The whole 'put>' does nothing if the value is the same
rob_w has quit [Read error: Connection reset by peer]
mtsd has joined #picolisp
gtuser has joined #picolisp
mtsd has quit [Remote host closed the connection]
alexshendi has joined #picolisp
<tankfeeder> Regenaxer: (grid 5 5)
<tankfeeder> and (grid 500 500)
<tankfeeder> question: This 'a1 for small grids
<tankfeeder> how to start in bigger grids ?
<Regenaxer> yes, the internal symbols go only till 'z1'
<Regenaxer> beyond that you get anonymous symbols
<tankfeeder> will this work (with $34354544 ...) ?
<tankfeeder> i mean how to set This to center of (grid 500 500) ?
<tankfeeder> on anon symbols
<Regenaxer> With nth or get, as you also did for computed acceses in the cases where you used 'grid'?
<Regenaxer> It is just that the cells cannot be accessed by name any more
<tankfeeder> so it will be:
<tankfeeder> (with (car (nth Grid 250 250)) ...)
<tankfeeder> right ?
<Regenaxer> or (with (get Grid 250 250 1))
<tankfeeder> ok
<Regenaxer> sorry, bbl
chuckJ has quit [Ping timeout: 240 seconds]
<tankfeeder> uh, awesome.
alexshendi has quit [Ping timeout: 268 seconds]
<tankfeeder> you should post link to mailing list and reddit/lisp
<cess11_> not registered there i think
<cess11_> go ahead if you have time, can do later
<tankfeeder> do it yourself. :)
<cess11_> later then, need to drive home
<Regenaxer> ret
<Regenaxer> wow! I'm impressed!
<Regenaxer> First time I sei Penti in operation
<Regenaxer> s/sei/see
<viaken> It's rather nifty. I wonder how hard it would be to adapt to hardware, too: https://www.thingiverse.com/thing:6922
<viaken> Making a bluetooth keyboard you could hold/operate in one hand could be interesting.
<viaken> Also, I'd not seen (make) used before. That'll be useful.
miskatonic has joined #picolisp
<Regenaxer> viaken, I can post a picture of my original hardware
<miskatonic> the original pilos machine
<Regenaxer> well, not really pilos
<Regenaxer> but the assembler for it was written in PicoLisp
<Regenaxer> SC/MP CPU
<Regenaxer> National Semiconductor SC/MP
<viaken> Fascinating.
<miskatonic> I guess the traders of "Bares fuer Rares" would not recognize the value of such a device
<Regenaxer> haha, true :)
<Regenaxer> It did not have arpeggio, and (as you see), also no repeat key yet
<Regenaxer> I used the "forbidden" combinations, eg. #_#_# for Shift
<Regenaxer> So it had just 26 letters + space + Ctrl + Shift + Punct + Digit
<Regenaxer> makes 2 ** 5 - 1
<miskatonic> no distinction between capitals and lowercase letters
<Regenaxer> No way to exend eg. with function keys
<Regenaxer> No, Shift was there
<Regenaxer> and Shift-lock
<Regenaxer> hmm, perhaps no lock, I don't remember
<miskatonic> no meta key, so unable to implement emacs. Was the original vi possible? Or only ex?
gtuser1 has joined #picolisp
gtuser has quit [Read error: Connection reset by peer]
gtuser1 is now known as gtuser
orivej has quit [Ping timeout: 248 seconds]
alexshendi has joined #picolisp
bene|off is now known as beneroth
<beneroth> hi all
<miskatonic> hi bens
<beneroth> hallo miskatonic :)
<beneroth> Regenaxer, thanks for the history talk :)
<beneroth> initial minimal usable product after 2 weeks is... very quick :D
<beneroth> impressive
<beneroth> and yeah, I easily believe it took many years to ripen ("reifen", wie ein guter wein oder käse oder sowas)
<miskatonic> are html5 forms still compatible with html forms of 1994?
<beneroth> well I would say html forms from 1994 are still compatible to html5 forms...
<beneroth> I would guess that usually html5 forms are compatible to html from 1994.
<beneroth> forms didn't change so much afaik.
<beneroth> <datalist> and some other stuff are quite newer, but I think that even today most forms don't use much of those newer features
<beneroth> cess11_, great demo video, excellent. Thanks for creating and sharing! :D
<beneroth> cess11_, I agree you should spread this on reddit etc :)
<beneroth> cess11_, also thanks for the interesting botnet takedown link. Also another example that sabotaging crypto is not necessary to get the bad guys.
<beneroth> another Intel ME story, exploit which works even with ME disabled (requires physical access): https://twitter.com/rootkovska/status/938458875522666497
alexshendi has quit [*.net *.split]
C-Keen has quit [*.net *.split]
Regenaxer has quit [Ping timeout: 240 seconds]
clacke[m] has quit [Ping timeout: 276 seconds]
<miskatonic> and now the boss is gone
Regenaxer has joined #picolisp
<Regenaxer> ret
alexshendi has joined #picolisp
C-Keen has joined #picolisp
<Regenaxer> Sorry, was out
<Regenaxer> yes, the forms did not change at all
<miskatonic> html5 databases do not work with pil databases, do they?
<beneroth> what do you mean by "html5 databases" ? local storage in browser on client side?
<beneroth> look at it like javascript.. you can't directly program picolisp in browser (because browsers just don't execute pil), but you can produce browser-compatible javascript with your picolisp program.
<miskatonic> yeah, it was a stupid question; a browser written in pil could interact with javascript, but not in such a way
inara has quit [Quit: Leaving]
inara has joined #picolisp
<beneroth> well maybe one could make a plugin to make browsers execute pil
<beneroth> e.g. like Flash worked
<miskatonic> that sounds like a security risk
<beneroth> but than you have to make the users install that plugin somehow
<beneroth> well browsers are pretty security-critical stuff
<miskatonic> I thought of the model of luakit, where lua can format strings which get then evaluated and executed as javascript
<beneroth> could be made secure
<beneroth> sure, this can be done
gtuser has quit [Quit: gtuser]
<beneroth> much picolisp stuff (e.g. form.l) already does stuff like this
<miskatonic> is transpiling pil into js, similar to what happens with anglescript and coffeescript, a possibility for an app server?
<beneroth> well.. everything is possible as long it is express-able in a turing-machine...
<beneroth> real transpiling (vs. just generating = writing some javascript code to a file / to a http connection) is not really feasible
rgrau has joined #picolisp
<beneroth> miskatonic, you mean something like this?
<miskatonic> is emulisp for webpages or for servers such as node.js?
cess11_ has quit [*.net *.split]
yumaikas has quit [*.net *.split]
<beneroth> meant for webpages
<beneroth> but could apply the same principle to node.js
<beneroth> but would be pretty stupid, because when you can run node.js, you can probably run native picolisp VM :)
orivej has joined #picolisp
cess11_ has joined #picolisp
yumaikas has joined #picolisp
karswell has joined #picolisp
miskatonic has quit [Remote host closed the connection]
rgrau has quit [Ping timeout: 255 seconds]