libera/#commonlisp - IRC Chatlog
Search
2:10:55
jeosol
Good morning all! Been a while since I have been here. Hope everyone is doing well ...
3:26:43
beach
jeosol: I think phoe is taking some time off, but if there is a suggested presentation for the online Lisp meeting, I suspect he would be willing to organize it.
3:33:23
jeosol
but schedule has dropped for a few months - was just busy with some other non-CL stuff.
3:34:11
jeosol
Though software is never finished, my project is done for a few months now, I usually make small changes, and upgrade SBCL compilers at month end and fix any issues that crop up
3:35:29
jeosol
beach: thanks beach, you and the lispers here were helpful in that regard especially resolving issues with threads, CLOS, and macros
3:36:15
jeosol
I am looking to deploy the workers which are essentially CL repls. I tried docker, other's have proposed kubernetes which I hear has a high learning schedule but has benefits of auto-scaling up and down (I am a noob)
3:36:46
jeosol
I just wanted to test it by putting a worker and try to load it. I can run things on a small box and it holds well.
3:37:32
jeosol
I don't think people appreciate CL enough: so many aspects to love from developer productivity, CLOS, ..., to great performance on number crunching application
3:38:16
jeosol
but I still get people say Lisp? what is that? and why I use emacs. I have since learned not to engage anymore - can't lose brain cells to this type of arguments
3:49:45
beach
jeosol: Yes, I stopped engaging a long time ago. The only way to try to convince (some) people is to show good work.
3:50:35
beach
jeosol: SICL is making progress, but very slow progress right now. It's just a matter of lack of inspiration. I am not working on anything else very actively right now.
3:51:54
jeosol
beach: I agree, engaging in that discussion is frustrating - so I took advice from the likes of you and others. I can't be trying to convince someone who doesn't understand what I am doing. They say why I don't use python like others , lol
3:53:01
beach
One silver lining is that the people who come here are usually more open minded than the ones you are referring to.
3:53:09
jeosol
Josh_2: my project is something that will be really had to describe as it does a lot of things: Optimization, Machine Learning (limited, but can call scikit-learn libraries via exernal Python scripts, Physics Simulation, ...)
3:53:38
jeosol
seok: haha, I know. Some of the applications don't make sense to even use Python, I mean the latter has it's place
3:54:46
jeosol
beach: You mean lack of inspiration -- hopefully it can come back. I know how that is
3:55:42
Josh_2
I have been slowly chipping at some very boring code, almost done and can go work on something I started a while ago but had to put to one side
3:55:58
Josh_2
Its nice to work on newer projects where there is a lot more freedom in design, thats the fun part imo
3:56:24
jeosol
seok: many people use Python, either for DS/ML/AI work so it's common with many new developers.
3:57:06
jeosol
Josh_2: I agree, I work on different parts of my application depending on how I feel, some parts are bad to work in due to poor initial design - sometimes, I just bite the bullet and go through a day of refactoring work
3:57:15
seok
yeah, python is good when there are prebuilt libraries written in C or something that python is calling from
3:58:19
jeosol
seok: I think that's for most of the ML work, numpy, jax and tensorflow having underlying C or C++ implementation
3:59:29
seok
Deep learing is great for a lot of things but I think it's a bit too overcrowded. I don't like doing things others are doing
4:00:40
beach
jeosol: I am still working on bootstrapping with the goal of creating an executable file, but there are tons of minor things that have to be taken care of as well.
4:00:42
jeosol
seok: haha, that's funny - the different frameworks and architectures that come out everyday makes the area like a joke now. Everyone and their mother is open sourcing language models every day
4:01:56
jeosol
beach: my short coming is that I am not a compiler guy (my usual excuse) but recently finished the algorithms course so I write use appropriate data structures, write better and efficient code
4:02:57
jeosol
it's almost like the space is not much science any more, tweak this, tweak that, get 0.1 % accuracy with massive GPUs (millions of dollars compute time) and then declare victory
4:03:04
seok
I am learning linguistics slowly because I want to try developing a non-nn language parser and meaning representation someday
4:03:44
beach
jeosol: No excuse needed. It's just a matter of taking the time to read the literature. But one has to have the time and the interest in the subject, of course.
4:03:48
jeosol
someone must be working with AI here using CL. I remember a company, mind.ai said they were developing a chat bot using CL NLP
4:05:47
jeosol
beach: I agree with that. I probably be a better coder if try to get deeper on implementation side. Remember when hayley implemented some hash lib (?) in the past - I was reading about hashing and methods to avoid collisions etc
4:11:30
jeosol
seok: I don't have much NLP experience but I got an old CL book on Natural Language Process in Lisp by Gerald Gazdar and Chris Mellish
4:13:07
seok
Well if you know a book like that, I bet you are more knowledgeable than I am in the area
4:14:07
jeosol
Oh no, I just got it out of the shelf now to look at the name and authors. I have not worked with it at all. It was something I am interested in and saw on ebay
4:18:44
seok
I think it requires quite a bit of linguistic knowledge as well if you want to deal with human languages
4:19:21
jeosol
that is true. My initial focus was developing an expert system if I can capture known and use that to call my CL code to do evaluations
4:20:02
jeosol
but I will settle for a proof of concept by using Python as a front stack, and call CL
4:20:51
jeosol
It's more like, medical diagnosis tools in the 80's. Where you go with rules, if this, then that, if that, then this. .. from facts to conclusions
4:22:06
jeosol
well, I just want to use simple prompts. Please tell me input for X, I capture it, ... like that
4:23:42
jeosol
I think it's easy that way. no backtracking to catch errors. If users give a string intead of an int, agent should now and ask for better input. This is probably easy to do with some loop I guess
4:24:47
jeosol
For example, I can say: "evaluate the square of 2" and I should be able to parse it for the function and argument to the function
4:27:05
jeosol
that's true. speech to text for me is way out. Even the text to command. I don't have time to pursue it anymore
4:28:48
White_Flame
I've been wanting to build a solid gofai nlp system for years as well, still designing & reading up
4:29:04
seok
If it's done non-NN way, it means the parameters to generate voice acoustics is known, that means nobody needs voice actors anymore
4:30:53
White_Flame
their goal is to have logical representation of "common sense knowledge"about the world
4:31:44
White_Flame
jeosol: well,it's complicated. :) But certainly lisp and forward chaining systems
4:31:50
jeosol
White_Flame: that's one thing that made me interested in it, but I met a MIT AI person who said Lenat's approach is flawed
4:32:31
jeosol
White_Flame: I imagine it is, and they have been adding to it and extending it. I remember seeing a job posting like 2 years ago
4:33:40
White_Flame
basically they do a lot of inferene work per client they get in order to have it run their work quickly
4:34:18
White_Flame
in terms of finding where the inference gets confused or spins off infinitely looking for answers, an hardcoding modules to help it solve those problems more directly
4:34:55
White_Flame
their knowledge base & ontology of common sense is considered pretty complete by now, iirc
4:36:29
White_Flame
dmiles was the resident cyc expert, he worked for & with cycorp a lot, but I don't see him in here now
4:37:27
White_Flame
but anyway, the more I get into nlp, and all the implicit communication that happens between humans with it, the less I consider it a logical programming problem
4:38:50
White_Flame
so I'm trying to do more modeling of the mind, trying to have it do inductive reasoning and triggering memories of similar things (of any scale) as 2 of the more important bootstrapping facilities it seems to nee
4:41:40
White_Flame
the ultimate description of the "intelligence" I'd like to build is the ship computer from tng/voyager
4:43:02
jeosol
I did interface with him when I was trying to get into the space. I will probably get to the logicmoo discord group again
4:43:24
seok
The problem with "developing the mind" I see which seems to be popular in ML world for a while is that it is congruent with the fundamental philosophical questions
4:44:59
White_Flame
seok: there's 2 ways to word that, one is an emergent mind (ML statistical blub), the other is designing features of the mind
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