Outline for OpenCog tutorial

512 views
Skip to first unread message

Ben Goertzel

unread,
Aug 29, 2015, 3:06:34 AM8/29/15
to opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel
I spent a couple hours thinking about what an OpenCog tutorial would
look like, and made an initial outline here

http://wiki.opencog.org/wikihome/index.php/Hands_On_With_OpenCog

linking to existing materials where relevant...

My hope is to have this tutorial actually fully exist by early next
year, say by Feb 15 as a concrete goal (and Jan 1 as an aspirational,
hopeful goal)

This takes lower priority than ridding the wiki site of obsolete
information (except on pages in the Obsolete and Deprecated)
categories; but in some cases I think tutorial material could be made
by people who don't have the knowledge yet to clean the wiki pages of
obsolete information...

At some point in the next months I will recruit/assign specific people
to make specific tutorial pages. For now, if anyone has time and
will to fill in some of the pages in the outline that would be
awesome.

Having a decent, clear and comprehensive tutorial will be important
for recruiting newbies to contribute.

Of course, having a stable release of OpenCog will also be important
--- this will help guarantee that the examples in the tutorial will
always work, if the tutorial user has installed the last stable
release

-- Ben



--
Ben Goertzel, PhD
http://goertzel.org

"The reasonable man adapts himself to the world: the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man." -- George Bernard Shaw

mandeep bhatia

unread,
Aug 29, 2015, 5:11:50 AM8/29/15
to Ben Goertzel, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel
Wow, awesome Ben.
The new tutorial will certainly be of great help. I would like to contribute to it in future as I build my understanding.
Mandeep 

Dagmawi Moges

unread,
Aug 29, 2015, 5:25:16 AM8/29/15
to Ben Goertzel, te...@icog-labs.com, Zarathustra Goertzel, Jim Rutt, opencog, hk-addis

This is wonderful. It will also pull lots of people to opening. I am happy to participate...

Joel Pitt

unread,
Aug 29, 2015, 9:25:06 PM8/29/15
to Dagmawi Moges, Ben Goertzel, te...@icog-labs.com, Zarathustra Goertzel, Jim Rutt, opencog, hk-addis
I've recently been learning Rust and have been pretty impressed with
their community engagement and documentation efforts.

Might be worth doing something like "24 days of Rust":

http://zsiciarz.github.io/24daysofrust/index.html

Rather than calling each section a "lesson" which has connotations
with the school/academic environment and is less playful.

Might also be worth publishing it as a gitbook, since dev project
wiki's have got a reputation for becoming out of date easily. Easier
to accept pull requests and manage the documention the same way as
code.

I'd also suggest choosing a couple of languages to teach to people in
the tutorial series, enough for them to do stuff. Learning the
interface bindings for each language is boring (and people will want
to skip over them .... but they won't know if they can because later
lessons might rely on what is learnt!). So maybe pick what people have
to learn - can people do everything in scheme and/or python these
days?

That doesn't mean there couldn't be useful tutorials for how to use
them, or a lesson on the atomspace linking to each binding with a
brief code snippet.

Cheers,
Joel

Ben Goertzel

unread,
Aug 30, 2015, 11:01:44 AM8/30/15
to Joel Pitt, Dagmawi Moges, te...@icog-labs.com, Zarathustra Goertzel, Jim Rutt, opencog, hk-addis
Hi Joel,

Thanks for the feedback!

> Might be worth doing something like "24 days of Rust":
>
> http://zsiciarz.github.io/24daysofrust/index.html
>
> Rather than calling each section a "lesson" which has connotations
> with the school/academic environment and is less playful.

Hmm... I'm definitely open to making the terminology funkier and
replacing the word "lessons" ... but "days" doesn't float my boat, as
people could go through each lesson/section/whatever in more or less
than a day obviously ... maybe I'm too literal-minded ;p ... other
suggestions are welcome ;)

> Might also be worth publishing it as a gitbook, since dev project
> wiki's have got a reputation for becoming out of date easily. Easier
> to accept pull requests and manage the documention the same way as
> code.

My inclination is to eventually make the tutorial a Jupyter Notebook

https://jupyter.org/

(the multi-language descendant of iPython Notebooks).... This will
be very cool, as it will mean the code examples in the tutorial will
be "live", runnable within the tutorial pages...

However, I think it will be easiest to pull together the tutorial
initially as a wiki, partly because I'll be the main initial editor
and I'm very comfortable w/ wiki syntax.... Once the whole thing is
there as a wiki, porting to Jupyter shouldn't be extremely hard,
assuming that still seems like a good idea...


> I'd also suggest choosing a couple of languages to teach to people in
> the tutorial series, enough for them to do stuff. Learning the
> interface bindings for each language is boring (and people will want
> to skip over them .... but they won't know if they can because later
> lessons might rely on what is learnt!). So maybe pick what people have
> to learn - can people do everything in scheme and/or python these
> days?

Good point!

For the first version, we're going to cannibalize existing examples
and lessons that already exist in scattered form. These are pretty
much all in either Scheme or python...

I think the issue you mentioned can be handled via being clear in the
intro to the tutorial, and in the Haskell lesson, that the Haskell
lesson can be skipped by anyone who doesn't want to use Haskell, and
the rest of the lessons will still be comprehensible...

As for doing everything in Scheme and/or python --- not quite, and I
don't think that will EVER be true.... You can do an awful lot in
Scheme or python. But e.g. if you want to customize the pattern
matcher for a certain situation, you need to make a custom callback in
C++. Or if you want to make a custom MOSES fitness function, that's
C++ ...

From a tutorial-organization perspective, we can make clear that the
main stream of the tutorial is Scheme and python based, and only
certain portions involve actually coding C++ --- and we can then
clearly demarcate these C++ based portions when they occur, so folks
who don't want to deal with C++ can skip over them. But we can't
avoid the C++ entirely at present...

...

In general, I think I can do a good job of finessing the wording and
organization in the tutorial, if other people do the "hard parts" of
filling up the tutorial pages with working code examples corresponding
to simple examples, as discussed on the tutorial outline page...

-- Ben

Fredy

unread,
Aug 30, 2015, 1:51:16 PM8/30/15
to opencog, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com
Dr. B,

This is an excellent start!  I'm thinking it may make sense to categorize the lessons into core, intermediate and advanced.  The core curriculum, 10-12 lessons, would focus on foundational concepts/exercises to get folks an end-to-end understanding of opencog.  Most folks, including myself, have specific areas of interest.  The intermediate and advanced lessons would center around key specializations: Natural Language Processing, Machine Learning(MOSES), Embodiment, etc.  Once the content has been cleaned up, it would be great to create some videos tutorials and upload them to youtube.  

Thanks.

Boh-dacious

Ben Goertzel

unread,
Aug 31, 2015, 12:50:23 AM8/31/15
to Fredy, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel
yeah -- I'm not sure the best way to organize the lessons actually...

One could categorize them into "infrastructure" versus "AI algorithms"
I guess ... but then depending on interest, not everyone would want to
go through all the infrastructure before they start playing with the
AI algorithms...

Now that I think about it, I suspect the lessons can be grouped into
multi-lesson "modules" based on similarity of content -- this might
work better than core/intermediate/advanced.... E.g. an "Atomspace"
module, a "PLN" module, an "external agent control" module, etc. ....

Anyway, grouping and organizing the content is not the hard part I guess ;p

I agree video walk-throughs of the tutorials will be great to have,
once the tutorial lessons/whatever actually exist ;-)

Amirouche Boubekki

unread,
Sep 27, 2015, 6:07:16 AM9/27/15
to opencog, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com
Héllo,

I enter the noob category so maybe my remarks can be useful. I have basic knowledge of AI (logic stuff)

I started reading OpenCog Overview and took some notes (if some else wants a quick read). I have a few remarks:

1) the text is not globish friendly. Too much adjectives and words I don't know (I know some english but not the poetry side of it)
2) it opens too much doors among other things through external links to papers (which I can't understand yet)
3) There is lack of structure and the structure is not good enough IMO

I think a way to improve the situation to target both more noob people and more people in general

1) Keep the language simple and go straight to the point. Avoid word like "much", "mostly", etc...
2) Avoid to talk and link PLN before it was actually introduced

3) The overview does:

- States key claims that makes the direction of the project

- Explain the background theory/philosophy which takes its seed in patternist theory. This leads to important downstream choices like the use AtomSpace and PatternMatching via PLN. That said, it's written as if it was obvious that "pattern -> hypergraph -> pattern matching -> PLN". Also the TOC doesn't regroup all background theory. Pattern theory of the mind and hypergraph representation of knowledge are much different topics but I think they deserve a place in the "Theory background" section.

- Instead «Clarifying key Claims», I'd rather see a more software oriented section ie. an introduction of every component of OpenCog Framewrok and explain how they match the key claims and link to the theory.

- Instead «Measuring progress» give a glimpse into the OpenCog roadmap expanding upon what was previously explained about the different achievements of an AGI (introduction).

At least that such a document I planned to build.

Also I think it's a good idea to stress the project philosophy (goal oriented, glocal) in the documentation. Current PLN documentation did not help to have a quick overview of what it's goal as an implementation? Does it share similar goals with markov logic network? How does it differ from basic backward and forward chaining? What does it mean to take into account probability and thruthness in terms of algorithm?

HTH,


Amirouche



On Saturday, August 29, 2015 at 9:06:34 AM UTC+2, Ben Goertzel wrote:
I spent a couple hours thinking about what an OpenCog tutorial would
look like, and made an initial outline here  

http://wiki.opencog.org/wikihome/index.php/Hands_On_With_OpenCog

linking to existing materials where relevant...

This is already intersting :)



Ben Goertzel

unread,
Sep 27, 2015, 11:28:36 AM9/27/15
to Amirouche Boubekki, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel
Hi Amirouche,

Thanks for your comments.

That CogPrime Overview document is intended (and explicitly presented) as a review of the CogPrime design for AGI, not of the OpenCog software system ...

However, you are correct to note that we do not currently have a good overview of the OpenCog software system available....  My current plan is to have the OpenCog Hong Kong team spend a significant fraction of their time improving the wiki/tutorial situation during December-February, after their current push toward an initial version of the OpenCog dialogue system is done...

-- Ben

Amirouche Boubekki

unread,
Sep 27, 2015, 5:34:21 PM9/27/15
to opencog, amirouche...@gmail.com, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com
Hi Ben,

It's impressive what you and your team have achieved I forgot to add that to my previous mail.


Le dimanche 27 septembre 2015 17:28:36 UTC+2, Ben Goertzel a écrit :
Thanks for your comments.

That CogPrime Overview document is intended (and explicitly presented) as a review of the CogPrime design for AGI, not of the OpenCog software system ...

This is kind of misleading. The OpenCog the framework which is FOSS and the associated service provided by Novamente.
 

However, you are correct to note that we do not currently have a good overview of the OpenCog software system available.... 

IMO the current overview is good for:

- someone that is aware of AGI and want to use it or request your services
- someone who wants a glimpse of what AGI

And for someone like me to understand that it's out of my league. Really there is big leap forward in every software that you created. Based on my research at least, there is little or no documents (wikipedia or introduction course) to bridge the gap. Except your own documents but the step is steep. The obvious example is PLN, they are research papers on similar subject, AFAICK it's not a widespread engineering practice. ReLex is in similar situations. I did not look at MOSES but I assume it's similar. You already know that and there is a lot of documentation, I should just focus on reading.
 
My current plan is to have the OpenCog Hong Kong team spend a significant fraction of their time improving the wiki/tutorial situation during December-February, after their current push toward an initial version of the OpenCog dialogue system is done...

This sounds exciting.
I don't not intent to get in the way.
I'm super grateful this project exists.

Thanks :)

Linas Vepstas

unread,
Sep 27, 2015, 5:54:44 PM9/27/15
to Amirouche Boubekki, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel
Hi Amirouche,

It takes a while (years) to get used to all of it. When you do get used to all of it, it turns out that, in fact, each little narrow area is the subject of active research by the academic community in general ... almost none of whom have ever heard of OpenCog. What is happening in opencog is that these multiple different areas are being integrated into a whole.  Thus, there's a lot of material, and each narrow area is deep, as well.

--linas

Ben Goertzel

unread,
Sep 27, 2015, 9:41:39 PM9/27/15
to Amirouche Boubekki, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel


That CogPrime Overview document is intended (and explicitly presented) as a review of the CogPrime design for AGI, not of the OpenCog software system ...

This is kind of misleading. The OpenCog the framework which is FOSS and the associated service provided by Novamente.



I agree it's confusing.  In hindsight we should have more clearly distinguished between

-- OpenCog the FOSS software framework

-- CogPrime the specific AGI architecture 

CogPrime could be implemented otherwise than on OpenCog, and OpenCog can be used for stuff other than CogPrime

The overlapping names seemed clever at the time, but seem stupid in hindsight... So it goes....   We are looking at introducing a different name for "CogPrime" when we overhaul the documentation early next year...

 

 

However, you are correct to note that we do not currently have a good overview of the OpenCog software system available.... 

IMO the current overview is good for:

- someone that is aware of AGI and want to use it or request your services
- someone who wants a glimpse of what AGI

And for someone like me to understand that it's out of my league. Really there is big leap forward in every software that you created. Based on my research at least, there is little or no documents (wikipedia or introduction course) to bridge the gap. Except your own documents but the step is steep. The obvious example is PLN, they are research papers on similar subject, AFAICK it's not a widespread engineering practice. ReLex is in similar situations. I did not look at MOSES but I assume it's similar. You already know that and there is a lot of documentation, I should just focus on reading.
 

Well if you're reasonably smart and hardworking it's not "out of your league" but it will take you time to get up to speed... That's just the way it goes....  We will try to create better educational materials but we're all busy --- at this point we have gotten bits and pieces of funding here and there for our OpenCog work, for which we're grateful; but there's no VC or sugar daddy pouring excesses of $$ into OpenCog, so we're doing the best with the time and resources we have... 

ben

Ben Goertzel

unread,
Sep 27, 2015, 9:46:53 PM9/27/15
to Linas Vepstas, Amirouche Boubekki, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel
On Mon, Sep 28, 2015 at 5:54 AM, Linas Vepstas <linasv...@gmail.com> wrote:
Hi Amirouche,

It takes a while (years) to get used to all of it. When you do get used to all of it, it turns out that, in fact, each little narrow area is the subject of active research by the academic community in general ... almost none of whom have ever heard of OpenCog. What is happening in opencog is that these multiple different areas are being integrated into a whole.  Thus, there's a lot of material, and each narrow area is deep, as well.

--linas


And further, the idea is not just to integrate ideas from different areas of AI in a collection of separate modules, but in a way that allows the different algorithms to interoperate together deeply, helping each other out when they get stuck....   It's a conceptually difficult approach.  But nobody ever said building the first thinking machine was gonna be easy.   (Well OK, actually, some people did, but they were wrong... ;p ...) 

Aleks TK

unread,
Oct 11, 2015, 7:31:00 PM10/11/15
to opencog, amirouche...@gmail.com, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com

Actually PLN was something that came to mind as I read this thread. The documentation is pretty sparse. (http://wiki.opencog.org/w/PLN_Details) And the wikipedia page doesn't shed much light on it either. Eventually I think I can cannibalize information from your (Ben) book on the subject and add it to the wiki article, forming a more comprehensive introduction.


I come from a programming background, not a math background, I'm sure many newbies can say the same. Listing the prerequisite materials one needs to learn in order to understand each of the components of CogPrime in-depth would be a great first step. Something along the lines of this MIRI page (https://intelligence.org/research-guide/).


You made a blog post that was somewhat similar (http://wp.goertzel.org/agi-curriculum/), but I don't think it gets specific enough into what branches of mathematics correspond to each area of the architecture. What would be nice is to have a 'prerequisite' template at the start of each wiki article on major opencog components. It could give a general overview of what sort of math (or computer science knowledge) is needed and links to free resources on the web.

Jim Rutt

unread,
Oct 23, 2015, 8:39:25 AM10/23/15
to opencog
Ben:  this is a GREAT idea.  Most people learn computer software technologies via aping existing examples, with real understanding coming gradually.  No reason the community as whole can't jump in with contributions.

I should also add that I'm a believer in "toy examples first" where the learner doesn't need to get their head around some detailed sample project.  Sample projects that do real work can follow toy examples that demonstrate and exercise syntax and semantics but shouldn't be the only examples. 

--
You received this message because you are subscribed to the Google Groups "opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at http://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/012efbc9-d5f3-4319-8e83-9ad6523de9bc%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Jim Rutt
JPR Ventures

Gaurav Gautam

unread,
Jun 21, 2016, 2:24:29 PM6/21/16
to opencog, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com
Hello,

I just found out about opencog today and I am downloading everything to build it. I see that the page link provided here is still blank in the building OpenCog section. I was wondering if I could fill it out for you?

Yours sincerely
Gaurav Gautam

Matt Chapman

unread,
Jun 21, 2016, 2:49:10 PM6/21/16
to opencog
The wiki used to have (has?) some small toy problems. Around 4-5 years ago, I recall working through

- Setting up the Cogita Chat bot
- Building a Hopfield Net in the Atomspace
- Doing basic PLN inference
- Parsing sentences with Relex
- Mapping Atom relations to Natural Language sentences with NLGen.

The problem was, for each exercise, somewhere between most and all of the examples failed to actually work, because the code based had evolved since they were written.

About 2 years ago, OCF hired one contributor to write some "OpenCog for Noobs" tutorials. Those are now mostly obsolete also.

So, in order for tutorials to remain useful, they must become part of the automated test suite. So I endorse the idea of using jupyter notebooks, so long as we don't forget the essential step of running them during the build, and treating failures as critical.

All the Best,

Matt

--
Standard Disclaimer:
Please interpret brevity as me valuing your time, and not as any negative intention.

Ben Goertzel

unread,
Jun 21, 2016, 11:40:16 PM6/21/16
to Gaurav Gautam, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel, Amen Belayneh
Gaurav -- That would be great!

Amen Belayneh (cc'd) can point you to the best page to start from,
regarding building and installing the system...
Super-benevolent super-intelligence is the thought the Global Brain is
currently struggling to form...

AmeBel

unread,
Jun 21, 2016, 11:49:34 PM6/21/16
to opencog, gauta...@gmail.com, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com, amenbe...@gmail.com
Hi Gaurav,


Have fun :-)

Gaurav Gautam

unread,
Jun 22, 2016, 12:07:16 AM6/22/16
to opencog, gauta...@gmail.com, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com, amenbe...@gmail.com
Hi,

I already did the building part. But I didn't use the octool. I just followed the readme and installed everything using cmake.
I did get some weird errors when I tried to compile moses on 2 processors that went away when I compiled on a single
processor. So I am assuming everything is fine for now.

Thanks for responding though. Any advise on what I should do next?

Gaurav

Nil Geisweiller

unread,
Jun 22, 2016, 12:49:25 AM6/22/16
to Gaurav Gautam, opencog, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com, amenbe...@gmail.com


On 06/22/2016 07:07 AM, Gaurav Gautam wrote:
> Hi,
>
> I already did the building part. But I didn't use the octool. I just
> followed the readme and installed everything using cmake.
> I did get some weird errors when I tried to compile moses on 2
> processors that went away when I compiled on a single
> processor. So I am assuming everything is fine for now.

Probably not enough RAM (as 2 proc may required 2 more RAM).

Nil

Linas Vepstas

unread,
Jun 22, 2016, 6:15:58 PM6/22/16
to Gaurav Gautam, opencog, hk-addis, te...@icog-labs.com, Jim Rutt, Zarathustra Goertzel, Amen Belayneh
There's an assortment of demos and examples to go through, and the need to revise the newbie/demo/example wiki pages so that they're not so horribly out of date.  --linas

Gaurav Gautam

unread,
Jun 23, 2016, 12:26:08 PM6/23/16
to opencog, gauta...@gmail.com, hk-a...@opencog.org, te...@icog-labs.com, j...@jimrutt.com, zar...@gmail.com, amenbe...@gmail.com
Hi Amen,

I thought I will build everything again using the octool before I started updating the wiki. But the script failed while adding
repositories as the keyserver timed out. Here is the error I get:

---
$ ./octool -rsdpcalv
[octool] Adding software repositories...
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.1shYqj1VLk --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/inkscape_dev-stable.gpg --keyring /etc/apt/trusted.gpg.d/mc3man-trusty-media.gpg --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
gpg: requesting key B01FA116 from hkp server ha.pool.sks-keyservers.net
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
---

After this I read a bunch of stuff about GPG keys and encryptions and I found that this command is basically trying to
get something from the server. So I tried to ping the keyserver and that did not work:

---
ping: unknown host hkp://ha.pool.sks-keyservers.net:80
---

So then I tried to ping google to see if my internet was working. And that worked. So then just to be sure, I ran an
apt-get update. And that started getting the headers from your repo:

---
Get:1 http://packages.ros.org trusty InRelease [4,031 B]                      
Ign http://packages.ros.org trusty InRelease                                  
Get:2 http://packages.ros.org trusty/main amd64 Packages [690 kB]             
Get:3 http://packages.ros.org trusty/main i386 Packages [689 kB]              
Ign http://packages.ros.org trusty/main Translation-en_IN                     
Ign http://packages.ros.org trusty/main Translation-en 
---

So now I am wondering if I should just comment out that line in the octool script or does it absolutely need the key. I
am woefully ignorant about encryption and I could read up if this is something I should understand before I
proceed. So should I comment out that line that is getting the key or do something else?

Yours sincerely
Gaurav Gautam

On Wednesday, June 22, 2016 at 9:19:34 AM UTC+5:30, AmeBel wrote:

AmeBel

unread,
Jun 23, 2016, 12:47:31 PM6/23/16
to opencog
Hi,
the error might be because of some network interuption. I am saying that b/c octool is more or less tested atleast once a month and I also just tried adding the key locally and it works. So, try running './octool -r ' and then './octool -sdpcalv'

Gaurav Gautam

unread,
Jun 23, 2016, 12:54:24 PM6/23/16
to opencog
I ran octool -r and got the same result. I also tried to run the following and got the same error:

---
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:8080 --recv-key 0xB01FA116
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:11371 --recv-key 0xB01FA116
---

Then I tried the same things again after setting a different proxy in /etc/apt/apt.conf just in case
I was getting blocked by some firewall on one proxy server. So, it seems there is something on
all my proxy servers that is stopping me from reaching this keyserver.

What do I do now?

Gaurav Gautam

unread,
Jun 23, 2016, 1:06:19 PM6/23/16
to opencog
Hi Amen,

Since you have the key with you. Isn't there a way you can send it to me via email and I could
add it to my keyring?

Ruiting Lian

unread,
Jun 23, 2016, 1:07:03 PM6/23/16
to ope...@googlegroups.com
Are you using some public wifi? I had the same problem yesterday and got solved by changing to a encrypted private wifi connection.

Ruiting Lian

--
You received this message because you are subscribed to the Google Groups "opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Gaurav Gautam

unread,
Jun 23, 2016, 1:36:10 PM6/23/16
to opencog
I am using the lan provided by the university. It could be some problem with the internet. But can't I get the key by some other means?

Gaurav Gautam

unread,
Jun 23, 2016, 2:02:56 PM6/23/16
to opencog
So I changed my internet connection. And now I am getting a different error:


gpg: requesting key B01FA116 from hkp server ha.pool.sks-keyservers.net
gpgkeys: key B01FA116 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0



On Thursday, June 23, 2016 at 10:17:31 PM UTC+5:30, AmeBel wrote:

Linas Vepstas

unread,
Jun 23, 2016, 2:11:51 PM6/23/16
to opencog
Try using a different keyserver. all keyservers out there usually sync with each other, and so they should all hold the same data.

--
You received this message because you are subscribed to the Google Groups "opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.

Gaurav Gautam

unread,
Jun 23, 2016, 2:50:04 PM6/23/16
to opencog, linasv...@gmail.com
I tried a bunch of servers:

pool.sks-keyservers.net
subkeys.pgp.net
pgp.mit.edu
keys.nayr.net
keys.gnupg.net
wwwkeys.in.pgp.net
wwwkeys.en.pgp.net

All of them either tell me that no PGP data was found:
---

gpgkeys: key B01FA116 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
---

or they just dont connect:
---
gpg: requesting key B01FA116 from hkp server wwwkeys.fr.pgp.net
?: wwwkeys.fr.pgp.net: Host not found
gpgkeys: HTTP fetch error 7: couldn't connect: Success

gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
---

Linas Vepstas

unread,
Jun 23, 2016, 2:58:38 PM6/23/16
to Gaurav Gautam, opencog

On Thu, Jun 23, 2016 at 1:50 PM, Gaurav Gautam <gauta...@gmail.com> wrote:
B01FA116

http://answers.ros.org/question/174166/verify-repositorys-key/

The first ne seems the best -- just don't use the keyserver, and get the package instead.

--linas

Gaurav Gautam

unread,
Jun 23, 2016, 3:12:37 PM6/23/16
to opencog, gauta...@gmail.com, linasv...@gmail.com
Getting the key from github worked. Thankyou.

Gaurav Gautam

unread,
Jun 23, 2016, 5:33:52 PM6/23/16
to opencog, gauta...@gmail.com, linasv...@gmail.com
Hello,

So I hit another wall. I can't get stack for haskell installed. I am listing everything I
did just in case I 'fixed' something wrong:

1. The wget command in line 616 got me a file named stack-1.1.2-linux-i386.tar.gz
which is different from what the next command tried to extract which is
stack*i386-linux.tar.gz. The order of linux and i386 is wrong.

2. After modifying the filename I was unable to run the stack command. So I modified
the command to use the full path /usr/bin/stack/stack

3. After this a library named libgmp.so.10 was not found. So I setup the LD_LIBRARY_PATH
to point to /usr/lib/x86_64-linux-gnu which is the only place I found this library.

4. Then the executable `stack` complained that:
/usr/bin/stack/stack: error while loading shared libraries: libgmp.so.10: wrong ELF class: ELFCLASS64

5. I searched around a bit and found that this happens when a 64bit library is called where a 32bit one
is required.

6. This is where I am stuck. I can't find the 32 bit version anywhere. I tried installing ia32-libs, lib32z1,
lib32ncurses5 and lib32bz2-1.0 as I read somewhere that these have 32 libararies for linux. But that
didn't work.

Yours sincerely
Gaurav Gautam

On Friday, June 24, 2016 at 12:28:38 AM UTC+5:30, linas wrote:

Linas Vepstas

unread,
Jun 23, 2016, 10:26:23 PM6/23/16
to Gaurav Gautam, opencog
On Thu, Jun 23, 2016 at 4:33 PM, Gaurav Gautam <gauta...@gmail.com> wrote:
Hello,

So I hit another wall. I can't get stack for haskell installed. I am listing everything I
did just in case I 'fixed' something wrong:

1. The wget command in line 616 got me a file named stack-1.1.2-linux-i386.tar.gz
which is different from what the next command tried to extract which is
stack*i386-linux.tar.gz. The order of linux and i386 is wrong.

OK, but by the time you get to the bottom, its clear that you need the i686 package, not the i386 package.
 

2. After modifying the filename I was unable to run the stack command. So I modified
the command to use the full path /usr/bin/stack/stack

Yuck. That's just plain wrong.  It got installed at the wrong location.
 

3. After this a library named libgmp.so.10 was not found. So I setup the LD_LIBRARY_PATH
to point to /usr/lib/x86_64-linux-gnu which is the only place I found this library.

Don't do this, ldconfig does this automatically for you. 

4. Then the executable `stack` complained that:
/usr/bin/stack/stack: error while loading shared libraries: libgmp.so.10: wrong ELF class: ELFCLASS64

Yep. no surprise, given step 3.
 

5. I searched around a bit and found that this happens when a 64bit library is called where a 32bit one
is required.

Yep. 

6. This is where I am stuck. I can't find the 32 bit version anywhere. I tried installing ia32-libs, lib32z1,
lib32ncurses5 and lib32bz2-1.0 as I read somewhere that these have 32 libararies for linux. But that
didn't work.

get a 64-bit stack. Its stupid to fiddle with 32-bit anything this day and age.  There are serious technical issues with trying to support 32-bit anythng, any more, its best left to those people who work on embedded systems.

--linas 

Gaurav Gautam

unread,
Jun 24, 2016, 12:05:15 AM6/24/16
to opencog, gauta...@gmail.com, linasv...@gmail.com
Hi,

I see the problem now. The function is_x68_64_trusty evaluated to 1 on my computer because
I am using elementary os. In this OSREL evaluates to freya instead of trusty and from there
it chose the 32 bit branch.

AmeBel

unread,
Jun 24, 2016, 3:10:44 AM6/24/16
to opencog, gauta...@gmail.com, linasv...@gmail.com

I see the problem now. The function is_x68_64_trusty evaluated to 1 on my computer because
I am using elementary os. In this OSREL evaluates to freya instead of trusty and from there
it chose the 32 bit branch.

Gaurav Gautam

unread,
Jun 25, 2016, 11:36:04 AM6/25/16
to opencog, gauta...@gmail.com, linasv...@gmail.com
Hello Amen,

I was able to build opencog using the updated octool. However, I am unable to pass it a config file.
When I run:

$ cogserver -c ./opencog.conf  

I get the server running. Using telnet I am able to get the opencog prompt but running the help command just
says that the command was not found.

When I open the opencog.log I get:

[INFO] No config file found
[2016-06-25 15:26:30:311] [INFO] Initializing ClassServer

This doesn't happen if I run the same executable from the build folder where I had previously built opencog
manually without using octool. What am I missing here? Am I supposed to set some environment variables?

Yours sincerely
Gaurav Gautam

Gaurav Gautam

unread,
Jun 25, 2016, 12:02:14 PM6/25/16
to opencog, gauta...@gmail.com, linasv...@gmail.com
Hello Amen,

I see my mistake now. I am not quite done with the installation yet. Please ignore my last post.

Yours sincerely
Gaurav Gautam

Gaurav Gautam

unread,
Jun 25, 2016, 1:14:31 PM6/25/16
to opencog, gauta...@gmail.com, linasv...@gmail.com
Hello,

I am getting errors when compiling opecog using octool's -bi options.
I have installed dependencies using `./octool -rsdpcalv`. And then ran `./octool -bi` in the root
folders of cogutils, atomspace and moses in that order.

Finally I ran `octool -bi` in opencog's root folder and I get this:
---
In file included from /home/gaurav/Codes/AI/OpenCog/OPENCOGSOFTWARE/opencog/opencog/timeoctomap/AtomOcTree.h:36:0,
from /home/gaurav/Codes/AI/OpenCog/OPENCOGSOFTWARE/opencog/opencog/timeoctomap/AtomOcTree.cc:32:
/home/gaurav/Codes/AI/OpenCog/OPENCOGSOFTWARE/opencog/opencog/timeoctomap/AtomOcTreeNode.h: In member function ‘octomap::AtomOcTreeNode* octomap::AtomOcTreeNode::getChild(unsigned int)’:
/home/gaurav/Codes/AI/OpenCog/OPENCOGSOFTWARE/opencog/opencog/timeoctomap/AtomOcTreeNode.h:60:46: error: ‘getChild’ is not a member of ‘octomap::OcTreeNode’
return static_cast<AtomOcTreeNode*> (OcTreeNode::getChild(i));
^
/home/gaurav/Codes/AI/OpenCog/OPENCOGSOFTWARE/opencog/opencog/timeoctomap/AtomOcTreeNode.h: In member function ‘const octomap::AtomOcTreeNode* octomap::AtomOcTreeNode::getChild(unsigned int) const’:
/home/gaurav/Codes/AI/OpenCog/OPENCOGSOFTWARE/opencog/opencog/timeoctomap/AtomOcTreeNode.h:64:52: error: ‘getChild’ is not a member of ‘octomap::OcTreeNode’
return static_cast<const AtomOcTreeNode*> (OcTreeNode::getChild(i)); ^

---

I don't see what I did wrong. What can I do to figure it out?

Yours sincerely
Gaurav Gautam
Message has been deleted

AmeBel

unread,
Jun 27, 2016, 2:10:06 AM6/27/16
to opencog
update your atomspace installation

Gaurav Gautam

unread,
Jun 29, 2016, 12:07:41 PM6/29/16
to opencog
Hello Amen,

Since last time, I have redone everything. I downloaded cogutils, atomspace, moses and opencog again and
did a git pull to make sure that everything was up-to-date.
Now, I am getting what looks like the same error from a different location. Everytime I am getting stuck at this
error which says getChild is not a member of octomap::OcTreeNode:
---
In file included from /home/gaurav/Codes/AI/OpenCog/SOFTWARE/opencog/opencog/spatial/3DSpaceMap/SpaceMapUtil.h:8:0,
                 from /home/gaurav/Codes/AI/OpenCog/SOFTWARE/opencog/opencog/spatial/3DSpaceMap/SpaceMapUtil.cc:8:
/home/gaurav/Codes/AI/OpenCog/SOFTWARE/opencog/opencog/spatial/3DSpaceMap/OctomapOcTree.h: In member function ‘opencog::spatial::OctomapOcTreeNode* opencog::spatial::OctomapOcTreeNode::getChild(unsigned int)’:
/home/gaurav/Codes/AI/OpenCog/SOFTWARE/opencog/opencog/spatial/3DSpaceMap/OctomapOcTree.h:73:57: error: ‘getChild’ is not a member of ‘octomap::OcTreeNode’
                 return static_cast<OctomapOcTreeNode*> (OcTreeNode::getChild(i));
                                                         ^
/home/gaurav/Codes/AI/OpenCog/SOFTWARE/opencog/opencog/spatial/3DSpaceMap/OctomapOcTree.h: In member function ‘const opencog::spatial::OctomapOcTreeNode* opencog::spatial::OctomapOcTreeNode::getChild(unsigned int) const’:
/home/gaurav/Codes/AI/OpenCog/SOFTWARE/opencog/opencog/spatial/3DSpaceMap/OctomapOcTree.h:77:63: error: ‘getChild’ is not a member of ‘octomap::OcTreeNode’
                 return static_cast<const OctomapOcTreeNode*> (OcTreeNode::getChild(i));
                                                               ^
make[2]: *** [opencog/spatial/CMakeFiles/SpaceMap.dir/3DSpaceMap/SpaceMapUtil.cc.o] Error 1
make[1]: *** [opencog/spatial/CMakeFiles/SpaceMap.dir/all] Error 2
make: *** [all] Error 2

---

If I tell you the versions of all the libraries in my installation, will that help?

Yours sincerely
Gaurav Gautam


On Monday, June 27, 2016 at 11:40:06 AM UTC+5:30, AmeBel wrote:
update your atomspace installation

Gaurav Gautam

unread,
Jun 30, 2016, 1:03:25 AM6/30/16
to opencog
Hello,

Am I being a bother? I promise I won't leave just as soon as I have built the program. I will at least contribute by updating
some documentation to make it worth your time. I know that your time is precious as you have a huge goal to accomplish. So
in an attempt to be less of a pain in the neck I have tried to trace back the cause of this error I am getting. Here is what I found:

1. I reinstalled atomspace after pulling the latest changes from master. This didn't solve the problem.
2. The error is saying that getChild is not a member of octomap::OcTreeNode
3. I checked that OcTreeNode class in octomap's OcTreeNode.h does indeed not have a getChild member
4. The OcTreeNode has the base class OcTreeDataNode whose header files again don't have a
getChild method defined.
5. The OcTreeDataNode has an abstract base class with no defined methods and a fried class OcTreeBaseImpl which again
doesn't have a getChild method.

So it seems to me that the error is correctly pointing out that this getChild method is not implemented anywhere. Am I using a
wrong version of octomap (its 1.8.0)? The getChild method of OcTreeNode is being called like OcTreeNode::getChild(i). If I am
not wrong then this has to be a static method defined in the OcTreeNode class (or one of its base classes) for the call to work.
But its not defined in octomap's source code. What am I doing wrong?

Yours sincerely
Gaurav Gautam

Nil Geisweiller

unread,
Jun 30, 2016, 2:18:09 AM6/30/16
to ope...@googlegroups.com
Hi Gaurav,

we appreciate very much that you're taking an interest in OpenCog, but
right now most members are busy completing a demo for AGI-16 in 2 weeks.
Someone we'll back to you eventually, just be patient. ;-)

Nil
> --
> You received this message because you are subscribed to the Google
> Groups "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/196827cc-8dce-4b4e-b3c7-61a8eb8b9032%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/196827cc-8dce-4b4e-b3c7-61a8eb8b9032%40googlegroups.com?utm_medium=email&utm_source=footer>.

Gaurav Gautam

unread,
Jun 30, 2016, 8:13:30 PM6/30/16
to opencog
Hello Nil,

I should have thought of that.

I just solved my problem. It turns out I was indeed using the wrong version of octomap. So now I have an installation of opencog. I will edit the wiki now.

Best of luck for AGI16.

Yours sincerely
Gaurav Gautam

Gaurav Gautam

unread,
Jul 8, 2016, 3:55:07 AM7/8/16
to opencog
Hello,

I have now installed opencog several times. And I have made some progress in understanding atomspace
and interacting with it using the scheme shell, with some invaluable help from Linas. I was wondering if I
can add some things to the Lesson2 on the wiki:

http://wiki.opencog.org/wikihome/index.php/Hands_On_With_OpenCog#Lesson_2:_Getting_started_with_Atoms_and_the_Scheme_shell_.28Amen.29

I won't remove anything that is there. But I was thinking I could put the following subheadings and some content there:
1. Atomspace and atoms (What is a hypergraph. And that atomspace implements a hypergraph. How it can be queried and changed using scheme.)
2. Atoms: Links and Nodes (A summary of link and node types. How some of the links like EvaluationLink, BindLink, PlusLink etc.
                                         can be used with cog-bind and cog-execute).
3. Interacting using c++: I haven't been successful at this myself yet. But I will add a subsection when I am done.

Would this be alright or do you want to keep it just as a set of links to other pages? All the headings on the hands on
wiki are meant to be expanded right?

Yours sincerely
Gaurav Gautam

On Monday, June 27, 2016 at 11:40:06 AM UTC+5:30, AmeBel wrote:
update your atomspace installation

Ben Goertzel

unread,
Jul 8, 2016, 3:58:18 AM7/8/16
to opencog
Sure, please do expand the tutorial page! it is supposed to be filled
out, we just haven't gotten around to it...
> --
> You received this message because you are subscribed to the Google Groups
> "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to opencog+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/7554dc70-c8b0-489e-98be-36645eb2280c%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.



Gaurav Gautam

unread,
Jul 18, 2016, 4:28:18 AM7/18/16
to opencog
Hello,

The fontsize for the scheme code in the wiki is very small. If someone with access to the stylesheet of the wiki has some time, could they please change it to make the font size bigger. Please consider enabling the bounding box that appears around the code snippets. Like the one that appears around the <pre> tag content.

Yours sincerely
Gaurav Gautam

Andi

unread,
Jul 18, 2016, 6:20:11 AM7/18/16
to opencog
Hello,
I think the fontsize was choosen intentionally.
The small fontsize helps to indentify the example code en passant and concentrating on reading and understanding the lesson as a whole.
Andi

Gaurav Gautam

unread,
Jul 18, 2016, 8:51:59 AM7/18/16
to opencog
I am new to this, but I still think that a large fontsize will help. Afterall, the code is often a part of the narrative of the chapter.

In any case, could you at least enable the bounding box? There is no reason to not have that.

Nil Geisweiller

unread,
Jul 18, 2016, 10:10:11 AM7/18/16
to ope...@googlegroups.com
Hi Gaurav,

most opencogers are pretty busy these days, however any help toward
making the wiki page more readable is very much welcome. So if you think
you can improve it, by all means do it. You could do your changes for a
small section, and then send an email to ask the community what they
think of it, and if the community approves then apply the changes to all
the pages that you'd like.

Thanks,
Nil

Gaurav Gautam

unread,
Jul 18, 2016, 3:14:30 PM7/18/16
to opencog
Hi Nil,

I know all of you are busy with AGI16. Today is the last date for that isn't it?
I'll just leave this here for anyone to take a look when they are free. Its not
urgent, but I can't do it on my own because I don't have the right permissions.

To change the appearance of code snippets the MediaWiki:Common.css page needs
to be edited (which I don't have permission to edit):
http://wiki.opencog.org/wikihome/index.php?title=MediaWiki:Common.css

The change required is just three lines and can be easily reverted, as explained here:
https://www.mediawiki.org/wiki/Extension:SyntaxHighlight#Styling

I think adding the following should work:
.mw-highlight pre {
	border: 1px dashed blue;
}

Yours sincerely
Gaurav Gautam

Andi

unread,
Jul 19, 2016, 5:02:09 AM7/19/16
to opencog
Hi Gaurav,

There are two things:

1. Different fontsizes to distinguish between different types of Text.
    I like very much the style for scheme used in the wiki

2. Readability of text.
    Text should be big enough to be read easily.
     But to achive this I always use <ctrl> mouswheel (up or down) or <ctrl>+/- for zooming in and out.
    
Maybe you can use this for achiving quick results.

Yours sincerely
Andi

Nil Geisweiller

unread,
Jul 20, 2016, 7:50:12 AM7/20/16
to ope...@googlegroups.com
Hi Gaurav,

I've tried pasting that code in the common.css page but it didn't work
(comparing with the scheme page before and after). Could you try
yourself? I think/hope you only need to create a account to have
permission to edit.

Thanks,
Nil
> --
> You received this message because you are subscribed to the Google
> Groups "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/29344464-bc7f-48f8-b1f4-8e72d0e86a0e%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/29344464-bc7f-48f8-b1f4-8e72d0e86a0e%40googlegroups.com?utm_medium=email&utm_source=footer>.

Gaurav Gautam

unread,
Jul 20, 2016, 9:26:00 AM7/20/16
to opencog
Hi Nil,

I already have an account(Gautam1168) which I have been using to expand the chapters in
http://wiki.opencog.org/wikihome/index.php/Hands_On_With_OpenCog .
I tried to use that account to edit the CSS page but I was only allowed to view the source.
I will try to figure out another way to change the style. I will get back to you if I find a way.

Yours sincerely
Gaurav Gautam
Reply all
Reply to author
Forward
0 new messages