zaquest has quit [Remote host closed the connection]
<beach>
Good morning everyone!
xkapastel has quit [Quit: Connection closed for inactivity]
vt240 has quit [Quit: WeeChat 1.9.1]
<ahungry>
mornin
<catchme>
good morning
EvW1 has joined #lisp
ebrasca has joined #lisp
gravicappa has joined #lisp
Volt_ has quit [Ping timeout: 245 seconds]
leb has joined #lisp
zaquest has joined #lisp
MrBismuth has joined #lisp
EvW1 has quit [Ping timeout: 264 seconds]
ahungry has quit [Remote host closed the connection]
vlatkoB has joined #lisp
<dmiles>
how many symbols should COMMON-LISP export?
<elderK>
ck_: Oh, I'm sorry. Shit, I didn't realize I was in the wrong channel. God, what a fool.
<dmiles>
found it 978
TENEX has joined #lisp
torbo has quit [Remote host closed the connection]
ravenous_ has joined #lisp
TENEX has quit [Remote host closed the connection]
frodef has joined #lisp
ravenous_ has quit [Ping timeout: 252 seconds]
Oladon has quit [Quit: Leaving.]
Volt_ has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
ravenous_ has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
jonatack has quit [Ping timeout: 264 seconds]
vlatkoB_ has joined #lisp
vlatkoB has quit [Ping timeout: 244 seconds]
ravenous_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jeosol has joined #lisp
reverse_light has joined #lisp
ggole has joined #lisp
ravenous_ has joined #lisp
nydel has joined #lisp
nydel has quit [Changing host]
nydel has joined #lisp
dddddd has quit [Remote host closed the connection]
nanoz has joined #lisp
ravenous_ has quit [Ping timeout: 252 seconds]
wxie has joined #lisp
Necktwi has joined #lisp
SaganMan has joined #lisp
FreeBirdLjj has joined #lisp
aindilis` has joined #lisp
FennecCode has quit [Quit: ERC (IRC client for Emacs 26.2)]
aindilis has quit [Ping timeout: 244 seconds]
frodef has quit [Ping timeout: 244 seconds]
abhixec has joined #lisp
makomo has joined #lisp
abhixec has quit [Ping timeout: 245 seconds]
jonatack has joined #lisp
jonatack has quit [Client Quit]
jonatack has joined #lisp
srji has joined #lisp
leb has quit []
namosca has joined #lisp
Lord_of_Life has quit [Ping timeout: 244 seconds]
Lord_of_Life has joined #lisp
<thijso>
Security-wise, how stupid would it be to read-from-string on incoming data on an udp port? Would there be a way to make that secure? Would using json (or other methods) to serialize stuff be better or are there security implications with that too (when used in a CL application)?
<Shinmera>
Very, no, depends, yes.
dale has quit [Quit: My computer has gone to sleep]
<Shinmera>
That is of course, assuming the connections are not controlled by you and come from the outside world.
orivej has joined #lisp
wxie has quit [Quit: wxie]
wxie has joined #lisp
namosca has quit [Ping timeout: 246 seconds]
<thijso>
Shinmera: I was afraid of that. Connections are controlled by me, but not guaranteed to be, so I'm not eager to take that risk.
<Shinmera>
It's a bad idea because READing can intern symbols, which will stick around, so someone could keep allocating new symbols until you run out of memory.
<thijso>
I'm thinking of a group of apps communicating with each other. They all speak the same lingo. But an udp port is an udp port. Anyone can talk to it if they discover where it's at.
<thijso>
Is that the only problem?
random-nick has joined #lisp
<Shinmera>
I'm sure security experts could talk about other problems, but I wouldn't know.
<thijso>
Is READing not a bigger risk target for targetted hacking attempts? Maybe I should read up on this stuff first...
<thijso>
On the other hand, maybe I'm overthinking this...
<thijso>
The data will need to be encrypted anyway, so maybe that's enough of a safety layer.
namosca has joined #lisp
orivej has quit [Ping timeout: 258 seconds]
Lycurgus has joined #lisp
nanozz has joined #lisp
<pjb>
thijso: basically: remove all reader macros, but perhaps that for ( and ", bind *read-eval* to nil and *package* to a throwable package.
nanoz has quit [Ping timeout: 245 seconds]
<pjb>
thijso: the sender can still intern symbols in other packages by qualifying them however, so it would be nice to add a reader macro on all the consitituents to disable : and :: for qualified symbols, at which point you could have as well written your own parser.
<pjb>
thijso: read Chapter 2!
<pjb>
Honestly, given that the Chapter 1 is the Introduction with nothing transcendant, I don't understand how you people haven't all read Chapter 2 already!?!? How can you use a programming language without knowing the basics?
aindilis` has quit [Remote host closed the connection]
igemnace has joined #lisp
elimik31 has joined #lisp
catchme has quit [Quit: Connection closed for inactivity]
t58 has joined #lisp
semz_ has quit [Quit: Leaving]
semz has joined #lisp
monokrom has quit [Read error: Connection reset by peer]
cosimone has quit [Quit: Leaving]
Inline__ has joined #lisp
monokrom has joined #lisp
Inline has quit [Ping timeout: 264 seconds]
<thijso>
:) I'll take a look...
orivej has quit [Ping timeout: 246 seconds]
moldybits has quit [Quit: WeeChat 2.4]
moldybits has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
orivej has joined #lisp
shifty has joined #lisp
mhinz has left #lisp [#lisp]
orivej has quit [Ping timeout: 245 seconds]
Lycurgus has quit [Quit: Exeunt]
wxie has joined #lisp
orivej has joined #lisp
wxie has quit [Quit: wxie]
jeosol has quit [Remote host closed the connection]
wxie has joined #lisp
Inline__ has quit [Quit: Leaving]
Inline has joined #lisp
wxie has quit [Quit: wxie]
orivej has quit [Ping timeout: 258 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
wxie has joined #lisp
orivej has joined #lisp
makomo has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 258 seconds]
cl-arthur has joined #lisp
cosimone has joined #lisp
orivej has joined #lisp
kamog has quit []
awolven has quit [Ping timeout: 258 seconds]
kamog has joined #lisp
EvW has joined #lisp
majeure has joined #lisp
wxie has quit [Ping timeout: 250 seconds]
namosca has quit [Remote host closed the connection]
aindilis has joined #lisp
lalitmee has joined #lisp
jeosol has joined #lisp
<jeosol>
Good morning
orivej has quit [Ping timeout: 246 seconds]
<beach>
Hello jeosol.
<jeosol>
Doing great. Been away for a while due to schedule.
<jeosol>
I recently picked up few older CL books from ebay on cased-based reasoning, and NLP to learning some symbolic AI
<beach>
Congratulations.
<jeosol>
I have a question related to running shell commands from CL. I have to call a black box application to run in a particular directory that contains the input files (written by same CL application), then I create a linux command "cd directory && exe input-file
<antoszka>
jeosol: have a look at UIOP, it's got a portable interface for running commands.
<jeosol>
I execute the command with uiop:run-program and occasionally subprocess command errors. There is probably a better way to do it
<antoszka>
oh, you're already using it
<jeosol>
antoszka; thanks for your response, that's what I use already
<antoszka>
sorry, my terminal got stuck :)
<jeosol>
It runs, but after sometime, I get some weird errors about resource. I do that operation, e.g., 2000 times during a function call (in batches of say 20-30)
<antoszka>
if UIOP's acting strangely, you can use your implementation's facilities for that. It won't be portable, but maybe more reliable.
<antoszka>
sbcl?
<antoszka>
there's sb-ext:run-program there.
<antoszka>
And most will have something similar.
<jeosol>
@beach: Regarding the books, I wanted to learn how CL is used in that space.
<semz>
jeosol: what is the exact error?
<jeosol>
antoszka: I am using SBCL mostly, actually only
<antoszka>
Norvig himself says the book is dated wrt teaching AI techniques, but it's probably still the best Common Lisp textbook.
<jeosol>
@semz: The error could be related to resource usage or something. I usually don't get these errors. Sometimes, it errors from running command to link a file, i.e., "ln -s file1 file2"
<jeosol>
antoszka: I thought on specification implemention, uiop:run-program will be using sbcl specific tools. I did that before but switch back to uiop:run-program for portability
<antoszka>
Yeah, UIOP falls back to sbcl-specific tools probably, but there may be some abstraction layer that just breaks.
<pjb>
jeosol: if you insist on @semz:, you should probably add it to the de-facto IRC standard way, since this won't be detected by normal irc clients. Try: semz: @semz: …
lalitmee has quit [Read error: Connection reset by peer]
<jeosol>
I apologize, my bad
lalitmee has joined #lisp
nanozz has quit [Ping timeout: 244 seconds]
learning has joined #lisp
Volt_ has quit [Ping timeout: 258 seconds]
lalitmee has quit [Quit: Leaving]
lalitmee has joined #lisp
lucasb has joined #lisp
lalitmee has quit [Remote host closed the connection]
lalitmee has joined #lisp
makomo has joined #lisp
<semz>
jeosol: this doesn't look like the error message, but i'd guess that the subprocess doesn't exit with code 0
<semz>
but with code 1 instead
<semz>
so something seems to be going wrong with the helper program
<semz>
if that's intended for some reason, set IGNORE-ERROR-STATUS when doing the UIOP call
lalitmee has quit [Remote host closed the connection]
SaganMan has quit [Ping timeout: 245 seconds]
shifty has quit [Ping timeout: 245 seconds]
lalitmee has joined #lisp
nadare has quit [Quit: leaving]
EvW has quit [Ping timeout: 264 seconds]
Volt_ has joined #lisp
ravenous_ has joined #lisp
ravenous_ has quit [Ping timeout: 252 seconds]
rippa has joined #lisp
EvW1 has joined #lisp
Insanity_ has quit [Quit: Connection closed for inactivity]
shka_ has joined #lisp
<learning>
I wish i was as passionate about JavaScript as I am about Lisp lol
EvW1 has quit [Ping timeout: 276 seconds]
learning has quit [Remote host closed the connection]
vaporatorius has quit [Ping timeout: 246 seconds]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
leb has joined #lisp
learning has joined #lisp
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
namosca has joined #lisp
Ankhers has joined #lisp
yoeljacobsen has joined #lisp
lalitmee has quit [Ping timeout: 246 seconds]
leb has quit []
vaporatorius has quit [Ping timeout: 246 seconds]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
reverse_light has quit [Remote host closed the connection]
lalitmee has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
nanozz has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
Insanity_ has joined #lisp
learning has quit [Remote host closed the connection]
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
random-nick has quit [Ping timeout: 245 seconds]
learning has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has quit [Read error: Connection reset by peer]
trocado has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
<mrcode_>
what's the best way to rotate the entire list by 1 with rotatef ? is that the right mechanism to do that?
vaporatorius has quit [Read error: Connection reset by peer]
<makomo>
mrcode_: no, rotatef rotates "places"
<makomo>
the alexandria library has a rotate function for sequences
<mrcode_>
makomo: so is it possible to rotate a list by rottaing places in a list or is that not how that works?
<makomo>
a place is a "syntactic construct" introduced by the SETF macro, it's not a first-class thing you can manipulate as a value
<makomo>
i.e. you can't have a list of places
lalitmee has quit [Remote host closed the connection]
<mrcode_>
hmmm
<mrcode_>
i see
<makomo>
but, if you knew the size of your list/sequence in advance, you could use rotatef i guess
<makomo>
as in, (rotatef (aref seq 0) (aref seq 1) ... (aref seq n)) :D
<makomo>
depends really on what you're looking for. my guess is that you want alexandria:rotate
lalitmee has joined #lisp
<mrcode_>
makomo: well, i kind of want a rotate but also in place :)
<mrcode_>
is that possible ?
<makomo>
sure, yeah, you just have to find the proper library (or write such a function yourself)
<makomo>
reading the alexandria:rotate docstring, it says "Note: the original sequence may be destructively altered, and result sequence may share structure with it."
scymtym has quit [Ping timeout: 250 seconds]
<mrcode_>
ok
<makomo>
so it looks like it destructively modifies the sequence, i.e. does the rotation in-place
<makomo>
hmm, "destructive" and "in-place" are not the same actually, because the rotation algorithm needs extra space to perform the rotation
<makomo>
so it's destructive (modifies the original sequence), but not completely in-place :)
awolven has joined #lisp
learning has quit [Remote host closed the connection]
<mrcode_>
makomo: gotcha. i cobbled something together real quick with rplaca/rplacd instead
<mrcode_>
at the expense of keeping a reference to the tail of the list
<mrcode_>
s/at the expense/with help of/
<makomo>
instead of using (rplaca/rplacd cons x) you can also use (setf (car/cdr cons) x)
<mrcode_>
yeah
scymtym has joined #lisp
Oladon has joined #lisp
kajo has joined #lisp
alexanderbarbosa has quit [Remote host closed the connection]
yoeljacobsen has quit [Ping timeout: 245 seconds]
lalitmee has quit [Remote host closed the connection]
lalitmee has joined #lisp
lalitmee has quit [Max SendQ exceeded]
namosca has quit [Ping timeout: 245 seconds]
<pjb>
You can rotate a list in place, but not with rotatef, with shiftf! (defun rotate-list (list) (shiftf (rest (last list)) list (rest list) nil) list) (let ((list (list 1 2 3 4))) (rotate-list list)) #| --> (2 3 4 1) |#
<pjb>
<pjb>
You can insist on rotatef, by introducting a temp variable bound to nil and from which you can retrieve the result.
<mrcode_>
thx pjb
orivej has joined #lisp
yoeljacobsen has joined #lisp
lalitmee has joined #lisp
Nomenclatura has joined #lisp
tjmaynes has joined #lisp
awolven has quit [Ping timeout: 264 seconds]
tjmaynes has quit [Remote host closed the connection]
yoeljacobsen has quit [Ping timeout: 258 seconds]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
learning has joined #lisp
torbo has joined #lisp
stylewarning has quit [Ping timeout: 252 seconds]
learning has quit [Ping timeout: 244 seconds]
stylewarning has joined #lisp
billstclair has quit [Ping timeout: 252 seconds]
wilfredh has quit [Ping timeout: 252 seconds]
billstclair has joined #lisp
wilfredh has joined #lisp
learning has joined #lisp
EvW has joined #lisp
renzhi has joined #lisp
namosca has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
gravicappa has quit [Ping timeout: 258 seconds]
niceplace has quit [Ping timeout: 244 seconds]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
cosimone has quit [Quit: Leaving]
niceplace has joined #lisp
kamog has quit []
gareppa has joined #lisp
tjmaynes has joined #lisp
tjmaynes has quit [Remote host closed the connection]
v88m has joined #lisp
namosca has quit [Ping timeout: 258 seconds]
gareppa has quit [Quit: Leaving]
<Nomenclatura>
When you can't pass a captcha, does it mean you are a robot?
<cl-arthur>
Yes.
_jrjsmrtn has joined #lisp
<Nomenclatura>
bbeep bop then
__jrjsmrtn__ has quit [Ping timeout: 245 seconds]
samlamamma has joined #lisp
monokrom has quit [Remote host closed the connection]
elimik31 has quit [Ping timeout: 252 seconds]
<aeth>
Google knows more than me so if Google thinks you're a robot...
kajo has quit [Ping timeout: 264 seconds]
xkapastel has joined #lisp
Josh_2 has joined #lisp
<Josh_2>
Hi, I just tried to ql:quickload :usocket and get an error that split-sequence can not be found
vlatkoB_ has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<Josh_2>
OH wait I think I fixed hit by cleaing the asdf config twice ʕ·͡ᴥ·ʔ
vaporatorius has quit [Ping timeout: 246 seconds]
<Josh_2>
had to delete next browser for some reason as well
saravia has joined #lisp
lalitmee has quit [Quit: Leaving]
kajo has joined #lisp
cosimone has joined #lisp
<LdBeth>
Nomenclatura: if you cannot pass captcha it’s because you are trying to troll a robot
ggole has quit [Quit: Leaving]
renzhi has quit [Ping timeout: 246 seconds]
elimik31 has joined #lisp
karlosz has quit [Quit: karlosz]
random-nick has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
saravia has quit [Remote host closed the connection]
manualcrank has joined #lisp
samlamamma has quit [Remote host closed the connection]
cl-arthur has quit [Quit: Lost terminal]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
<Josh_2>
wow finally managed to get clicking working on my app, so now can control my laptop from my mobile phone :O
<Josh_2>
had to disable async errors for my x11 connection
<Josh_2>
It's a bit primitive only supporting 1080p screens and only mouse movement with button down and up events but you can move things around highlight text click play and pause on a film :P
learning_ has joined #lisp
learning has quit [Ping timeout: 244 seconds]
<Josh_2>
Pretty chuffed with that :D
<Josh_2>
4 month old problem
shifty has joined #lisp
saravia has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
cosimone has quit [Quit: Leaving]
nanozz has quit [Read error: Connection reset by peer]
nanoz has joined #lisp
pfdietz has quit [Remote host closed the connection]
igemnace has quit [Quit: WeeChat 2.5]
sjl has quit [Quit: WeeChat 2.2-dev]
nanoz has quit [Ping timeout: 244 seconds]
<vsync>
ugh
<vsync>
just remembered paste.lisp.org is disabled somewhy
Fare has joined #lisp
saravia has quit [Remote host closed the connection]
namosca has joined #lisp
namosca has quit [Client Quit]
x[LGWs4x4i]uG2N0 has joined #lisp
frodef has quit [Ping timeout: 246 seconds]
random-nick has quit [Ping timeout: 245 seconds]
Fare has quit [Ping timeout: 252 seconds]
<notzmv>
for ages now
shifty has quit [Ping timeout: 246 seconds]
<jeosol>
antoszka: My interest is in developing cognitive systems in CL, knowledge representation, reasoning, etc -- symbolic AI. I am no expert though, but I am willing to start from extremely simple problems. Later, I will look at connectionist approaches and see how to combine them
<jeosol>
deepmind had a paper where they combined both approaches.
<antoszka>
Cool, I don't really know much about modern AI techniques either. Did some introductory courses, but not really touching upon even remotely current state of the art.
leb has joined #lisp
<dmiles>
programs like SWALE, DAYDREAMER etc are some great cognitive systems in CL
<jeosol>
not sure Norvig would have meant, but modern "modern AI" now, people tend to refer to DL/connectionist methods, while the symbolic-ai/gofai would be considered old, but there are some relatively recent improvements
vaporatorius has joined #lisp
<jeosol>
dmiles: thanks for that. I look them up.
<dmiles>
well most of the connectionist ideas from the 80s finnaly have machines capable of trying them out
Fare has joined #lisp
<dmiles>
but all the GOFAI of the 80s now have the same operatunity!
<pjb>
Notably, you can collect gigabytes of symbolic data from the web!
<jeosol>
dmiles: that is very true. I don't think it's modern, just that recent computation improvements made things feasible
<jeosol>
recent approaches are integrating neural nets and rule-based systems. I am looking to get some CL rule-based system and possibly link with Garbor melis or other CL-based NN libraries to see how far I go
akoana has joined #lisp
Oladon1 has joined #lisp
FennecCode has joined #lisp
<dmiles>
the Baysian/NN folks (i was one in 1987) said it was all just a scale problem
Oladon has quit [Ping timeout: 258 seconds]
<dmiles>
the GOFAI folks (i was one in 1990s) said it was all just a combinatorial optiizations problem
<jeosol>
dmiles: you worked a lot with CL in this space?
<dmiles>
pjb:: oh and of course a Data Collection problem
<dmiles>
jeosol: only in the last few years .. mostly before that it was in otehr languages
Fare has quit [Ping timeout: 244 seconds]
<dmiles>
out of the 3 problems: faster computer, data avaiablity, and combinatorial optimization.. this last thing is still problem
<dmiles>
well it is problem for most, except for a special project called CYC
<jeosol>
what about coupling proxies/surrogate models for the optimization, at least reduce function evaluation calls
<learning_>
i only program so that i don't feel bad about doing nothing on the internet
<dmiles>
jeosol: that is exaclty what CYC does :) it produces lazy approximators
<jeosol>
I see.
<jeosol>
What about the aspect of knowledge representation, like codifying concepts from numerical to categorial, e.g., Low, Medium, and High.
<dmiles>
for exmaple if i was to query about "all redheaded woman over 40 with cancer" .. instead of seaching over 4 billion women.. it makes up 8 groups for fake woman
<dmiles>
oh and even group of women it logically misidentifies
<pjb>
Lazy approximators can also be created with labelled SOMs.
<jeosol>
dmiles: are you referring to CYC in the above?
<dmiles>
yes
<moldybits>
learning_: are those the only two options?
<jeosol>
dmiles: Isn't CYC one of the better tools out there? I have never used it though
<dmiles>
also in CYC, we are able to represent numerical probability in a much clearer non-numerical ways
<dmiles>
well i think it is the best :) comming in second is PowerLOOM
<jeosol>
someone here mentioned CYC to me a few weeks ago.
<dmiles>
the problem with CYC/PowerLOOM though is so far they have not dealt with problems of Agency (and AI that thinks) they jsut dealt with teh infrastrucural problems it would take to make a program that thinks
<jeosol>
my use case, it so to try to develop a cognitive system that can understand some physics concepts (fluid mechanics)
<dmiles>
For example.. had we a program tht thinks.. it might store its hypothethical (immagined models) in CYC/PowerLOOM
<dmiles>
Even its physics models
<jeosol>
You mean think on it's own, or have code that reasons over a limited set of cases
<dmiles>
A Program that thinks = A program that has a particular task that it is tryinbg to make possible
<dmiles>
(Agency)
Fare has joined #lisp
<dmiles>
It's toploop might be the task to figure out how to build some device or solve some science problem
<dmiles>
OR task might be to be able to answer questions about a book it's read
<learning_>
moldybits: it's just a joke man. i'm programming in js right now and my project is an html5 game from scratch. today i've just been really unproductive so i'm just joking that the work i've done today was to not feel like i failed myself
<dmiles>
vs what CYC does is gives a relaiable set of alorithems for storing/retriving the mechanical diagrams or episodic memories of the processes it went thru while initally reading the book
<learning_>
i got an enemy on the screen, collision checking, and the ability to kill the player or the enemy. and im really happy with my top level code.
<jeosol>
dmiles: thanks for that. In your example, my use case problem is solve some science problem -- recommend optimal actions to take
lonjil has quit [Quit: No Ping reply in 180 seconds.]
<jeosol>
You recommend looking into CYC for my use case?
<pjb>
Always look into CYC!
trocado has quit [Ping timeout: 244 seconds]
leb has quit []
<jeosol>
pjb: haha. Thanks. Will do. What about it's source code/open sourced
<dmiles>
Agency helps when a program is learning new methods/actions and organizing those for itself
<dmiles>
(to solve scientific problems)
<jeosol>
So realistically, it will take more than a few function evaluations right?
<dmiles>
CYC wont do that on its own but i think would be impossible to even start gettign it done until one first created CYC
<dmiles>
jeosol: right
<jeosol>
Some guy, I was debating, say they have a system that can propose near optimal solution and only needs one evaluation to verify objective function.
<jeosol>
I smelled BS. The system he described hasn't worked for small problems.
<dmiles>
when i (or even Doug Lenat) talk abotu CYC's capabilities we to can sound very BSy to though
<jeosol>
dmiles: lol. Are there good references you recommend.
lonjil has joined #lisp
<jeosol>
Realistically, I think a system can start with some expert/physics rules (which it can use to eliminate evaluating certain invalid/infeasible cases) but it will still need some evaluation on the real problem to learn structure/surfaces, etc
<jeosol>
you and Doug Lenat worked on this. very nice.
<dmiles>
right .. that " start with some expert/physics rules (which it can use to eliminate evaluating certain invalid/infeasible cases).. " is what CYC is meant to do
Oladon1 has quit [Quit: Leaving.]
<dmiles>
not with Lenat but worked for a few of his parners on CYC
<dmiles>
it kind of sucks gettign a hold of documetnation for CYC and the Cycorp website jsut underwent a major redo so all the docs are 404
<jeosol>
ok. The wiki page is rich. I will start there. I need to learn how to encode ideas, knowledges, concepts, etc
<dmiles>
but they exist at least on archive.org for now
<dmiles>
also soem friends and i allow CYC to now run arbitrarty common lisp programs inside of it
<dmiles>
added that capability*
xkapastel has quit [Quit: Connection closed for inactivity]
<dmiles>
so that all the algrithems and infernce capabilites are inline to your code
varjag has quit [Ping timeout: 258 seconds]
<dmiles>
CYC turns out in this case to be what would happen if all the book code (of doing AI in common lisp) was built into a shared ecosystem
lonjil has quit [Quit: No Ping reply in 180 seconds.]
<jeosol>
Isn't CYC written in SubL or sth like that. There is directly compatibility with CL
<dmiles>
(and highly optimized from paying coders 800million $ to optimize it)
<dmiles>
YEah CYC is in SubL.. its a small subset made so it can be tranalated to C or C++//Java/etc eailiy
lonjil has joined #lisp
<dmiles>
inj the case of powerLOOM (it uses STELLA) to edo the same thing
<dmiles>
SubL/STELLA identifies a subset of CL .. but then adds some other features ....... in the case of STELLA tranlates to CommonLisp .. jsut havent doesn that with CYC yet
<jeosol>
so its possible to use it from within CL code or how does the integration/coupling work.
<dmiles>
so that there woiuld be no thunkage when calling each other.. .. I deleted the impl of whichever of the two overlapped and was eaker
lonjil has quit [Client Quit]
<dmiles>
whichever of the two overlappage was weaker.. sometimes preserving both
<jeosol>
thanks for the link.
<dmiles>
ABCL provided the CL reference impl so i could make sure i reatianed all of CL
<dmiles>
While still being abler to compile and run SubL programs (like CYC!)
lonjil has joined #lisp
<no-defun-allowed>
Is there a free(-ish) database for Cyc?
<dmiles>
the channel for the project is #logicmoo
<jeosol>
I see. how much effort with sbcl (naive question)
<dmiles>
well most of us are using an old research cyc licence
<dmiles>
(for the KB content)
<dmiles>
well right now it is not possible with SBCL since all the code would need tranalted back from Java to SubL or CL
<dmiles>
translated back
<dmiles>
since we only have the post-translated (SUBL2JAVA) code
<dmiles>
though there is another person that is going to work onj the JAVA2SUBL translator.. but he needs help and motivation
<jeosol>
Ok. So only possible with ABCL?
<dmiles>
since our goal is to use SBCL
lonjil has quit [Client Quit]
Kundry_Wag has joined #lisp
<dmiles>
its jsut if you waited for us to do that.. we wont get arround to it since we have too many AI-things we dong already to rewrite the system to merely do what it already does
Kundry_Wag has quit [Remote host closed the connection]
<dmiles>
yet we all stay awake dreaming at night wishing someone would do it
krwq has joined #lisp
<jeosol>
How difficult is it for someone not familiar with the code base?
<dmiles>
for me who've studies the codebase for 20 years it would take me 2 full months
lonjil has joined #lisp
<jeosol>
wow. Hmm, not easy I guess
<pjb>
So, 20 years + 2 months.
<dmiles>
well to not lose any functionallty.. to make it shippable as before
<dmiles>
someone who knows the system less might take 4 months i guess
<dmiles>
2 months to get to know the code
<dmiles>
the only thing the 20 years gained me is the knowledge that i have no reason to fix the ugly design of stuff.. i know why that ugly was there
<dmiles>
like SUBLOOP subsystem is cycorps own version of CLOS
Fare has quit [Ping timeout: 258 seconds]
nonlinear[m] has quit [Ping timeout: 252 seconds]
<dmiles>
i know better than to replace it at first is all :)
<jeosol>
So in your estimate, for this to work with SBCL, one is looking at 4 months. Full time?
<dmiles>
yes
<dmiles>
i and another would also assist part time
<jeosol>
And this is a need right? You said above, your plan is to use SBCL eventually
<dmiles>
for sure yes
<dmiles>
but it suck to spend a month and then give up
<jeosol>
#logicmoo is the channel for the project?
<jeosol>
Yeah, I agree.
<jeosol>
Not an expert in this area, but what taking a stab at it, given what it may make available to the SBCL ecosystem (not sure of the license and other issues)
<dmiles>
yeah there are otehr issues like liciencing that makes it anti-climactic to work on
<dmiles>
though we dont care.. we want the tool!
<jeosol>
like illegal for users
<dmiles>
right
<dmiles>
it not somethnig that can go into a commercial project etc
<dmiles>
well i am going to create AGI with it.. i doubt a pricetag can be placed on what can be done with CYC
<dmiles>
one plac ei worked paid 800k a year to lease cyc
notzmv has joined #lisp
<dmiles>
in other words i doubt licencing is going to be possible to even negatiate
<jeosol>
wow, that's insane. What is the difference with ResearchCYC (as in the paper) and CYC
<dmiles>
not really any differnt nowadays it costs too much money to maintain differnt vbersions
<dmiles>
more or less its how many *features* get left in
<jeosol>
From the paper, Cyc is order's of magnitude faster than other systems
<dmiles>
and still is.. it is because 10,000 hours of stupid hand optimizations went in everytime we saw cyc doing something that could have done better
Oladon has joined #lisp
<no-defun-allowed>
can you use Cyc to optimise Cyc?
<dmiles>
of course the answer is yes.. but no ones had time tro show anyone how
<no-defun-allowed>
hah
<dmiles>
it does optimize itself.. jsut not in all the ways i know how to have it optiiza itself
<dmiles>
here is a paper showing CYC using a NN to opimtize itself ..
<dmiles>
sory i have to ask spomeone where the paper is
* no-defun-allowed
was joking around, don't stress yourself
<no-defun-allowed>
O.o
<dmiles>
cyc uses many other ways to self optimize
<dmiles>
it just hard to tunes and decide the right ones to continue using
<dmiles>
erm to continue to develop
<no-defun-allowed>
right
<dmiles>
the good part it is the only system that has this infrastucture that made any of that possbile
<dmiles>
oops i lie PowerLOOM has it as well.. but its all stubs that no one has taken time to use
<dmiles>
but that infrastructure allows one to see when combinatorialism is optimizable
<jeosol>
thanks for link. Naive question: It is possible to develop a KB from scratch but for a small specific problem (e.g., weather prediction or other physics domain), or one has to use something with the power Cyc
<jeosol>
I understand the physics area of interest, but flirting with the idea of being able to encode the knowledge of an experienced engineer in that specific domain
lucasb has quit [Quit: Connection closed for inactivity]
<dmiles>
Yuo can do it without CYC but you wuill fall into Greenspuns rule
<dmiles>
you will build an ad hoc, informally-specified, bug-ridden, slow implementation of half CYC
<dmiles>
of half of* CYC
<dmiles>
i am someone that used to have to do that all the time
<jeosol>
haha. Ok. So Cyc can be used for arbitrary problems.
<dmiles>
yes.. its sort of like and Appache webserver for arbitrary webserving
<jeosol>
From the linked page, it is possible to learn new heuristics and concepts in new domain, without explicitly coding for these?
<jeosol>
ok, thx
<dmiles>
CYC is for arbirtary programs that need access to algrythems and KB-like Knowedge engineering
<jeosol>
That makes sense to understand, how Cyc is used
<dmiles>
often you might even add a new plugged in module to CYC to make it perform a specific optimized way of seeign wather radar
<dmiles>
weather radar
<dmiles>
like people have been adding chemistry simulators to CYC
<dmiles>
all the setup teardown of the experiments happen thru the KB
<dmiles>
you can perform query that changes things up and combine things
<jeosol>
ok. that sounds like the option I was thinking. I have a physics simulator that CYC could use to evaluate scenarios.
<dmiles>
also finding/results are recorded to the KB for more complex sorts of experimental aggregation.. and all experiments are described in both a high and low level that CYC can infer new things not obvious
<jeosol>
The guy I mentioned from other AI company claim they can solve the problem using a lower resolution representation of the environment and not full-physics evaluation.
<jeosol>
very nice. I think it's that sort of aggregation, combination, etc, that humans do to solve a problem.
<jeosol>
Also, does CYC do explainability? Like how the solutions was obtained and a reasoning trace/audit trace of the solution
<jeosol>
> audit trail ...
<dmiles>
well waht cyc does is makes unrelated representations (differing resolution/details) all meet at at least some level of exchangablity
<dmiles>
cyc yoilds a proof of every opteration (which is used to explain the results)
<jeosol>
very interesting. So as a CL user now (Sept 1 2019), my only hope of testing and demonstrating these features is if I use ABCL?
<dmiles>
Cyc requires all things it uses in a process to be epxlainable .. even when vauge
<jeosol>
what about making inferences on say missing features and including uncertainty in the overall process, e.g., uncertainty in the values of a feature
<dmiles>
oops wrong paper
<dmiles>
yeah t deals with undertainaty very well and doesnt hide the fact when it hyphosizes
<dmiles>
with* uncertainty
<dmiles>
it tries to keep track and understand what data might be missing
<dmiles>
in order to fill in gaps.. it also tries to track how much it doesnt know
<dmiles>
(i mean doesnt know on a deep level)
<jeosol>
In this system, does one have to encode some domain expert rules, or it can figure things on it's own, e.g., an NN learns how to recognize a dog in picture after significant training.
<dmiles>
my goal is whenever something compil;es/works on ABCL it will in CYC_CL
<jeosol>
Yeah, from your description, Cyc, really does a lot. And this chat has been very useful, and the links to papers
<dmiles>
if a NN was good at recognising dogs.. that would only be usefull at that point to plug that NN input/output to somethning like cyc
<dmiles>
in order to finally make use of some workflow that cares
<jeosol>
I see. NN case was only an example.
<jeosol>
What I have is a physics simulator that an agent, Cyc, etc. may use to evaluate a given policy, set of actions.
<dmiles>
"does one have to encode some domain expert rules" not always.. there are many ways CYC has arroudn that
<jeosol>
But compared to an experience engineer, they can pick a good, manual solution e.g., within a few % of an optimized solution.
<dmiles>
(cyc can learn rules to be induction )
<jeosol>
Some approaches have the problem of having to seat with a domain expert to encode rules, etc.
<dmiles>
well the chemistry stuff needed chemeists to explain all the rules so cyc can simulate it even without the offline imulator module.. or even be able to check the results of the offline system