CHATBOT: Programming a chatbot with Perl - perl

I'm studing Perl language. I think programming a chatbot would be a funny way of studing that language and learn it.
The description of the chatbot I am interested in can be found here.
Does anyone know any manual or website especially focused on programming chatbot in Perl language?
Thank you!

See http://poe.perl.org/?POE_Cookbook - simple bot is described here: http://poe.perl.org/?POE_Cookbook/IRC_Bots
Documentation for Bot::BasicBot, which is a wrapper around POE::Component::IRC. http://www.drdobbs.com/web-development/184416221
Source of famous bot GumbyBrain, which of course uses POE::Component::IRC and Megahal library. Megahal library uses Markov chains to reply to messages.
Don't use Net::IRC - it is not supported anymore.

You can use Chatbot::Eliza and RiveScript for inspiration.

Openclassifier on github is an opensource and has AI implementations, but its in Java though.
Still you can refer it to understand the implementations for chatbot. The reason I am referring this is, that it is a very simplified implementation, without any complex algorithms or datastructures.
You simply copypaste your data and the chatbot is operational with that knowledge. You can refer to my blog over this on below link:
http://miracleclassifier.blogspot.com/2018/02/artificial-intelligent-chatbot-you-can.html
Hope this helps.

Related

Good Scala introductory article/video to whet the appetite

What are some good online articles or videos you've seen that would be most likely to get a developer interested in Scala? I'm looking for an introduction that is brief & to the point that dives right into example code, and would leave a developer who does not know Scala wanting to learn more about it.
Try in this order:
Pragmatic Real-World Scala - This video shows off all kinds of things that would make a Java developer drool.
Programming In Scala - This is simply a great general-purpose programming book. In addition to being a gentle, clear introduction to the language, it's also a fantastic introduction to functional programming concepts and language design. Even if you hate Scala,
this book will make you a better programmer.
Scala For Java Refugees - Very well-written mostly gentle introduction to major Scala concepts.
Another tour of Scala - A Java-centric breakdown of fundamental Scala features.
i went to this talk, it was excellent. can't tell if it is still there due to our internet restrictions, if it's not i'll delete this post.
http://powerhost.powerstream.net/008/00102/100203Scala.wmv
I'd go straight to the horse's mouth, the Scala website itself: Code Examples.
http://www.escalatesoft.com/screencasts
Escalate software is in the process of creating a series of screencasts for Scala information sharing and training purposes. The first available screencasts are provided here for free and cover the new features of Scala 2.8. In the longer term we will create training materials in the form of these videos along with supporting material that will be for sale from this and other sources as well.
http://blog.jaoo.dk/2009/03/09/an-introduction-to-the-scala-programming-language-by-bill-venners/
Take a look at the following presentation by Jonas Bonér (a well known figure in the Scala community, responsible for the AKKA actors concurrency framework). I'm sure this will whet the appetite for Scala.
http://www.infoq.com/presentations/Scala-Jonas-Boner
german introduction, maybe useful for you: http://www.rheinjug.de/videos/gse.lectures.app/Player.html#Scala
I would recommend Chapter 1. Zero to Sixty: Introducing Scala of the Programming Scala book by Dean Wampler and Alex Payne. The rest of the book is also great. The book is freely available online.
EDIT
I recently bought and read the Atomic Scala book by Bruce Eckel and Dianne Marsh. This is the best book I have read so far for anyone wanting to learn Scala.

API for Wikipedia in Objective C?

Does anybody know if there is an implementation of the wikipedia api in objective c?
which can be used to access and display the information a bit nicer then with the plain website.
I'm thinking of something like the wikipanion app but not so sophisticated.
Thanks
Joerg
I know the question is very old. But just for other ppl who are dealing with the same issue. I wrote a very small library which provides basic access to the Wikipedia API.
You can get it on github:
https://github.com/prine/WikiApiObjectiveC
You can use the MediaWiki API to download the markup text.
Also, why not look at http://en.m.wikipedia.org/ ?

How to speed up TDD flow with iOS and Objective-C/Xcode

Have been searching for experiences on TDD with Objective-C and iOS development.
Previous post about "string calculator"-kata in Objective-C was useful (thanks).
But it would be nice to learn even more fluent iPhone-TDD.
Do you have some experience of how to use UISpec (based on Rspec), iCuke (based on cucumber) or similar tools?
And if you also have got the flow going with autotesting (autoiphonetest.rb) like Paul did in his his blog, it would be very interesting feedback.
Here is a good post: Test Driven Development in Objective-C with MacRuby
I found the following screencast pretty useful http://vimeo.com/9394596 to get started.
Perhaps this helps: http://pragprog.com/magazines/2010-07/tdd-on-iphone-diy

Good tutorials on XMPP? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I've been looking at some open-source XMPP servers, and am familiar with the official page http://xmpp.org/. But thus far I've not found anything in between "The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication" and a list of XEP specifications. For instance articles explaining the basics and terminology - stanzas, IQ, presence, etc, etc. Even the Wikipedia page misses this, unsurprisingly the open-source projects assume you know these things before you start digging into the code.
Is there a good, (semi-)official set of tutorials on this? Do I need to be looking for Jabber resources rather than XMPP?
Amongst other things, I'd hope to see diagrams for use-cases and flow, not just dry protocol text. I know books on XMPP exist, but generally anything in a book is available in some form online too.
This is probably way too basic, but at least it's technical: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk and the second part, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2
It explains what stanzas are, what types are available and stuff.
Here is what got me startet on XMPP Development:
A good book: XMPP The Definivie Guide
A mature Java API. I've chosen the Smack Library from Ignite Realtime and used the groovy language with a buch of small scripts to learn the basics.
Later i developed a plugin for the OpenFire XMPP Server. There are some tutorials and a forum on their site as well. I think that both the smack and the openfire api's are easy to learn.
If you are not into java: The book referes to the SkeekXMPP Python library and it uses it to create some examples (echo bot, ...).
As others have said, the specifications are a good introduction. It's true that they are technical in nature, and worded to be precise - but they are really some of the best specifications I've seen for any protocol, especially the latest RFCs (6120 and 6121) which clarify some of the grey areas in the originals.
E.g. you mention wanting to know the definition of a stanza, it's explained (with examples) in 6120 section 8.
If you have any feedback on how the specifications can be made clearer, then say so on the XMPP mailing list, where all feedback is considered for the next drafts of the specifications.
If the specifications are really too much for you (I appreciate some people like more pictures than I do), do consider the book (whether in paper or digital form) - it's designed exactly as an easy introduction to both the core specifications and the most common extensions, and written by people who help develop and implement them.
The RFCs (listed on the Wikipedia page) should be a quite good introduction to this topic.
For example: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core
This might be an old question, but I just wanted to keep the process I used in order to learn XMPP.
A few years ago, a few friends of mine and I were learning about how to leverage XMPP, and understanding how it fits into larger piece is quite a tedious task. I highly recommend starting off by reading the wikipedia page of XMPP:
http://en.wikipedia.org/wiki/XMPP
You'll be surprised how many people aren't able to answer questions about XMPP which are the most fundamental.
I also highly recommend reading this article:
http://www.infoworld.com/article/2682116/application-development/xmpp-rises-to-face-simple-standard.html
It'll give you a sense of the motivation behind XMPP, it's history, and it's protocols that used to be on par with it.
From there, it'll be best to read the sources of the wikipedia page to give a more indept understanding of any features you might be interested in with XMPP.
Use the xmpp asmack library from
http://beem-project.com/projects/beem/files
download asmack-android-7-beem-jingle.jar
and documentation of
http://www.igniterealtime.org/downloads/index.jsp
Hope it helps others like it helped me
Install openfire on server side and use qsmack on android side.

Canonical pattern reference in Actors programming model

Is there a source, which I could use to learn some of the most used and popular practices regarding Actor-/Agent-oriented programming? My primary concern is about parallelism and distribution limited to the mentioned scheme - Actors, message passing.
Should I begin with Erlang documentation or maybe there is any kind of book that describes the most important building blocks when programming Actor-oriented?
(Most useful examples would be in Scala or F#)
The Erlang and Scala's Akka are most popular and have large community. In case you want to know ML-based style there is JoCaml. They have simple intro text and collection of more formal papers. I'm using JoCaml about two years in my research work and very happy with it. Also, you can find many examples of the F# mailboxes usage to implement actor-style message passing.
For a colorful and interesting explanation I'd recommend to read some entries on this blog
Other than that, we welcome you to the Akka mailinglist!
With regards to the usage of Actors in Scala, you might want to look into the Akka framework. It has good documentation, and here they have a list of articles and presentations with many examples.
You won't find much in the Erlang documentation that explicitly talks about Actors. The documentation and recent Erlang books explain how to use concurrency/distribution/message passing in the Erlang context. As an aside we hadn't actually heard of Actors when we developed Erlang.