libera/#commonlisp - IRC Chatlog
Search
4:49:51
jeosol
White_Flame: this is a very interesting project. How different is it from the approach Miles and his group and working on? And is it possible to crowd fund it, gather a small team, etc
4:50:50
White_Flame
dmiles has his very specific model of the mind as parallel streams of tokenize narrative. I'm not really convinced of that model
4:51:23
White_Flame
but that's common in AI land; everybody has their own vision of what the missing/basic ingredient is
4:53:47
jeosol
mind.ai guys said they are developing a unique and new system, I don't remember the details, but they use SBCL and Lispworks I think
4:54:02
White_Flame
as well as dredging up old papers from the 60s-80s and their respective tools in the fiel
4:55:05
White_Flame
I don't talk about my system much, because I don't think it's useful to make claims about speculative AI projects until they show actual results
4:55:33
White_Flame
been too much of that over the years and it never accomplishes anything positive
4:55:48
jeosol
I have no idea. I suppose perhaps to target certain systems with Lispworks (I am not expert here) where it generates some exes?
4:56:46
White_Flame
seok: NLP is one facet of the AI understanding. this all came about as a tool in service of automated reverse engineering work I've been working on for a long time
4:57:20
jeosol
seok: I suspect that's why. They probably use SBCL where possible for dev and test, and the use Lispworks for that. I only used free Lispworks version long time ago
4:57:23
White_Flame
but I believe organized thought is rooted in language. non-language thinking/understanding exists, but does not scale without language IMO
4:57:48
seok
automated reverse engineering, like parsing major programming language code and interpreting it?
4:58:13
White_Flame
binary reverse engineering, which could also be applied to bytecodes, textual formats, et
4:59:25
White_Flame
they allow humans to do more work, but they don't do the thinking work for the humans
5:00:21
White_Flame
conceptualized, ability to dialogue about it (and learn & receive feedback/changes), and explainable
5:00:49
seok
It's interesting that you've thought that NLP will be a significant tool for binary parsing
5:01:09
White_Flame
it's not, but it's a significant tool for communicating broad information to the machine
5:01:09
Nilby
one would think it should be obvious by now, that for abiliites like language, it's not possible to have >94% person ablity, without having a person. chess, sure. driving, maybe. but language and thinking, you it can only be fake or real, and straddling the line is unethical torture
5:04:45
seok
what test? what is being measured here? how like-human an NLP machine can generate human language?
5:05:43
Nilby
but passing a secondary school test doesn't really make for acceptable language proficiency, as we can observe
5:07:03
seok
that's what I would think: that such test to quantify language ability as a percentage comparison of a human's would be extremely difficult or impossible to produce
5:08:22
White_Flame
there are nlp challenges out there, and code struggles to get over 95% accuracy, even for things like part-of-speech tagging over large corpuses
5:09:02
White_Flame
I think the state of the art is probably like 97% now, but even then that's like 1 in 30 word/phrases/etc are misunderstood
5:09:51
seok
I don't think part-of-speech is difficult, sure there are ambiguous sentences but syntax trees have been around for very long time?
5:11:32
White_Flame
and one of the biggest challenges, where AI/context/common-sense come in are resolving pronouns
5:11:55
Nilby
they will always have trouble with it, because language is deeply dependent on cognition, it doesn't make logical sense to have a person cognition which isn't a person
5:12:01
White_Flame
"The trophy would not fit in the suitcase because it was too big". What is "it"?
5:21:44
seok
It's fascinating how we have made so much progress in some areas of NLP yet made so little progress in others
5:26:47
hayley
White_Flame: You mentioned automated reverse engineering; I've had "interactive tool for de-obfuscating JS" planned for a while, but never made much of an advance on it.
5:28:08
hayley
There's some obvious stuff, like giving variables better names (in my experience, slot names are less frequently obfuscated, oddly enough), and then partial/abstract interpretation and constant folding would be useful too.
5:32:02
Nilby
yes, the difficultly of that shows there's some amount of art and thought, even in JS code
5:34:15
hayley
I disagree with that. It's more evidence that, while there are infinitely many programs that have equivalent semantics, quite few are pleasing to read.
5:36:02
hayley
The only definition I can provide is the lack of obfuscation techniques, which is not a very good definition.
5:39:44
Nilby
in one way, the asm that sbcl spits out, is more "good" at distilling my inention than my source
5:45:39
hayley
One counter-example could be constant folding, if a more complex expression conveys my intent better than a folded (yet still equivalent) expression. A compiler would try to generate code with constants folded, however.
5:46:57
seok
well, the primary motif of eastern philosophy is balance, that there are good and bad sides in everything
5:48:18
seok
There is no determined answer to these questions, but as a programmer we need to make a choice
5:49:00
Nilby
sometimes i look at disassemble, and realize a profusion of macros is just an "add" and that's what i should have wrote, but of course most looking at disassemble is struggle to figure out what it's doing
5:51:09
Nilby
sometimes, especially when i see people here arguing about what is fastest way to do X
10:24:51
beach
I recommend McCLIM for GUI applications, but some people say it doesn't look "modern" enough.
10:25:13
beach
The advantage of McCLIM is that it is written entirely in Common Lisp, so no need to do foreign functions.
10:28:48
contrapunctus
https://jabjab.de:5443/upload/a75f5b15713067434614f6d0c986f536c301cf7e/qKGVUquXiMuRW9zhMi2BLgan8QxSzGOcPDb9nHnT/XOcSmaZYTgGpfGsdZ_fVDg.mp4
10:30:40
contrapunctus
Guest94: you can check out the McCLIM website for screenshots of mature applications made in it.
10:33:14
beach
Guest94: I would not start with a GUI application then. Those are tricky in any language.
10:36:12
beach
That might require some GUI library, but I don't recommend learning an language by starting with a complex application, especially if you are new to programming. Having said that, I know that some people do it that way.
11:14:03
beach
Yesterday I hinted that I was going to avoid lengthy discussions in the channel on topics such as Common Lisp style or how to organize a system. I said that I would perhaps instead create some web pages that summarize how I prefer to do things, and then not discuss the contents further. Here: http://metamodular.com/IRC/modules.html is an example of the kind of page I had in mind.
11:18:48
beach
One lengthy discussion on one topic can easily take longer than it takes to create such a page, so I am hoping to not only avoid the frustration of some of these discussions, but also to simply save time.
11:19:48
beach
I should have said "avoid feeling that I had to participate in lengthy discussion...".
11:21:19
_death
I assumed, like you mention, it's to "avoid the frustration".. by not participating when a conflicting view is shown, the outcome may be analogous to "sulking in a corner"
11:23:37
contrapunctus
beach: nice page. A web post certainly has the advantage that you're able to communicate your preferences clearly (rather than split over a long chat), and it's easier to discover and cite than a chat log (despite the very handy log service on tymoon.eu).
11:24:01
_death
one advantage could be that you can describe potential rebuttals and resolve them in your long form text
11:34:47
jackdaniel
beach: re linked example (cluffer), it seems that it names the system with a keyword :cluffer - asdf internally downcases it and stores system names as strings (not much unlike defpackage), so perhaps #:cluffer or "cluffer" would be cleaner
11:41:29
contrapunctus
Additionally, I was splitting up source files into multiple smaller files the other day, and noticed that the existing resources on the subject of writing system definitions are a bit lacking (I checked cl-cookbook, the ASDF manual, and the "writing libraries" section on lisp-lang.org). beach's post might fill that gap to an extent, although I intend to contribute some improvements to cl-cookbook
11:42:25
jackdaniel
speaking of asdf system names, I think that using a string is better, because usually programmers will expect that strings designated by symbols will be upcased (and that is not the case in asdf, so it goes against expectations)
11:44:21
jackdaniel
I'm sure that your page will grow; I'm mostly saying it as a general remark for others
11:51:53
atgreen
Not to sound ungrateful and demanding, but I just noticed that this is the longest we've been waiting for a quicklisp update in about 5 years. Do any of you have any insight into why? Or is there's anything we can do to help move things along? Or is the CL community just slowing down.. so not much new content?
11:53:29
jackdaniel
you may either open it in a tmux or screen session, or write a service/unit/rc file to start it as a daemon
11:54:01
contrapunctus
lisp123: do you mean how to connect to a running remote SBCL process from SLIME?
12:06:40
atgreen
libffi is like quicklisp in one way... if I stopped releasing it, I'm not sure who would pick it up...
12:08:03
jackdaniel
btw if you are interested in frequent updates, there is a separate quicklisp distribution "ultralisp" that takes packages without any qa directly from repositories
12:09:03
jackdaniel
(https://ultralisp.org/ - it uses the same software quicklisp does but is not as resilent to regressions)
12:39:14
Nilby
jackdaniel: i wonder why they wouldn't use the old cheat of using the clos/loop/format/pprint in lower lisp
12:41:33
jackdaniel
if they were all macros that expand to a language subset then it would probably work, but that's not true; clos requires runtime functionality, the same applies to loop, format and pprint
12:42:06
jackdaniel
if you just use sbcl to bootstrap, then you can't rip these runtime parts and use them after the implementation is bootstrapped (but you may use it during bootstrapping of course)
12:47:42
Nilby
the initial version of all of these were written in pre-CL lisp, with any specific runtime support. of course that's not the best way to do it.
12:57:48
Nilby
this one line help me understand what they're going for in LCL: (defun eval (forms) (lua (lua-call "load" (compile-to-lua forms)) "()"))
13:26:38
White_Flame
hayley: yes, that's why programming tools at that level really requires some real measure of AI, because any good communication with humans requires nearly thinking like a human in order to generate a clear, appropriate, and understandable representation about the user-level semantics that the code is implementing
14:10:04
Bike
is there a way with CFFI's defbitfield/grovel bitfield to handle multiple-bit fields? a "flag" takes up two bits and has four distinct states in my case.
14:10:19
Bike
obviously i could break it into multiple binary fields, but then it doesn't match the C API
14:22:10
_death
like (:foo #x1100) .. cffi:foreign-bitfield-value may work as expected, though cffi:foreign-bitfield-symbols would not.. basically there's no support for such a thing afaik
14:24:11
Bike
yitzi: more or less. the C is like { LLVMDIFlagPrivate=1, LLVMDIFlagProtected=2, LLVMDIFlagPublic=3, LLVMDIFlagFwdDecl = 1 << 2, LLVMDIFlagAppleBlock = 1 << 3, etc } with the etc being more actual flags
14:33:11
yitzi
Bike: I think you could use defcenum and defbitfield separately then combine with translate-to-foreign/translation-from-foreign