rbot
13 years agoPlugin rake task: specify the path the plugin was written to
Giuseppe Bilotta [Wed, 18 Aug 2010 08:45:21 +0000 (10:45 +0200)] 
Plugin rake task: specify the path the plugin was written to

13 years agoAdd a plugin skeleton generator
Raine Virta [Thu, 22 Apr 2010 20:47:36 +0000 (23:47 +0300)] 
Add a plugin skeleton generator

`rake plugin`

13 years agoFix typo
Raine Virta [Thu, 22 Apr 2010 19:29:08 +0000 (22:29 +0300)] 
Fix typo

13 years agolastfm: require spotify plugin to be enabled for spotify link info
Raine Virta [Tue, 20 Apr 2010 17:36:25 +0000 (20:36 +0300)] 
lastfm: require spotify plugin to be enabled for spotify link info

13 years agosearch: skip non-search-results link
Giuseppe Bilotta [Tue, 17 Aug 2010 07:24:12 +0000 (09:24 +0200)] 
search: skip non-search-results link

This prevents the regexp scan to grab the Google Privacy link when no
results were found.

13 years agotranslator: support both pre-1.0 and post-1.0 Mechanize namespaces
Giuseppe Bilotta [Fri, 13 Aug 2010 14:20:52 +0000 (16:20 +0200)] 
translator: support both pre-1.0 and post-1.0 Mechanize namespaces

13 years agoUNO!: replace_player() returns whether it worked or not
Giuseppe Bilotta [Thu, 5 Aug 2010 07:43:51 +0000 (09:43 +0200)] 
UNO!: replace_player() returns whether it worked or not

13 years agoUNO!: don't replace with nonexisting players
Giuseppe Bilotta [Thu, 5 Aug 2010 07:40:50 +0000 (09:40 +0200)] 
UNO!: don't replace with nonexisting players

13 years agoUNO!: prevent a challenge after a pick after a W+4
Giuseppe Bilotta [Thu, 5 Aug 2010 07:28:22 +0000 (09:28 +0200)] 
UNO!: prevent a challenge after a pick after a W+4

13 years agohangman: fix playing with a private message
Giuseppe Bilotta [Tue, 3 Aug 2010 14:56:56 +0000 (16:56 +0200)] 
hangman: fix playing with a private message

The target was being of the wrong class (String vs Irc::Channel),
busting all the hash lookups.

13 years agohangman: IRCify HTML in definitions
Giuseppe Bilotta [Tue, 3 Aug 2010 14:47:40 +0000 (16:47 +0200)] 
hangman: IRCify HTML in definitions

13 years agohangman: ensure 'hangman define' always answers
Giuseppe Bilotta [Thu, 29 Jul 2010 12:20:48 +0000 (14:20 +0200)] 
hangman: ensure 'hangman define' always answers

13 years agoimdb: fix plot detection
Giuseppe Bilotta [Sat, 24 Jul 2010 21:29:14 +0000 (23:29 +0200)] 
imdb: fix plot detection

13 years agoimdb: fix grab_info()
Giuseppe Bilotta [Sat, 24 Jul 2010 21:11:50 +0000 (23:11 +0200)] 
imdb: fix grab_info()

13 years agogeoip: massage a few messages
Giuseppe Bilotta [Tue, 20 Jul 2010 08:21:56 +0000 (10:21 +0200)] 
geoip: massage a few messages

Solve a few gettext issue, and re-introduce the commas around the
region.

13 years agohangman plugin: update a couple of messages
Giuseppe Bilotta [Sun, 18 Jul 2010 21:16:33 +0000 (23:16 +0200)] 
hangman plugin: update a couple of messages

It's 'hangman define' now, and we should only use one prefix in the
example command

13 years agofactoids plugin: more help
Giuseppe Bilotta [Sat, 10 Jul 2010 16:14:45 +0000 (18:14 +0200)] 
factoids plugin: more help

13 years agoUNO! plugin: clean join_timer when game starts
Giuseppe Bilotta [Sat, 10 Jul 2010 13:44:10 +0000 (15:44 +0200)] 
UNO! plugin: clean join_timer when game starts

This prevents spurious messages about the game join timer being
cancelled when a game is ended by all players but one dropping out.

13 years agoload-gettext: cope with ruby gettext 2.1.0
Giuseppe Bilotta [Mon, 5 Jul 2010 13:36:21 +0000 (15:36 +0200)] 
load-gettext: cope with ruby gettext 2.1.0

13 years agofreshmeat plugin: use XML news if possible
Giuseppe Bilotta [Sat, 3 Jul 2010 21:52:57 +0000 (23:52 +0200)] 
freshmeat plugin: use XML news if possible

Freshmeat now provides the news in XML form under /index.xml, which
provides more information, and in a more computer-friendly way. Use that
if possible (correctly-configured API token), fall back to RSS parsing
otherwise.

13 years agoHTTP: only set cookies for the correct domain
Giuseppe Bilotta [Sat, 3 Jul 2010 20:22:24 +0000 (22:22 +0200)] 
HTTP: only set cookies for the correct domain

When a redirect has a Set-Cookie: header, check if the cookie domain is
valid for the host we are redirected to. If not, don't set the cookie
in the new request.

13 years agoHTTP: support servers that forget to escape the redirect location
Giuseppe Bilotta [Sat, 3 Jul 2010 19:26:18 +0000 (21:26 +0200)] 
HTTP: support servers that forget to escape the redirect location

13 years agohangmang plugin: rename 'define' to 'hangman define'
Giuseppe Bilotta [Fri, 2 Jul 2010 22:09:08 +0000 (00:09 +0200)] 
hangmang plugin: rename 'define' to 'hangman define'

13 years agoRelease checklist
Giuseppe Bilotta [Fri, 2 Jul 2010 11:32:42 +0000 (13:32 +0200)] 
Release checklist

We sometimes skip releases for such a long time that we forget what
exactly we have to do, and in what order. Let's keep this list in view
and up-to-date

13 years agofiglet plugin: never prepend nick
Giuseppe Bilotta [Fri, 2 Jul 2010 11:19:48 +0000 (13:19 +0200)] 
figlet plugin: never prepend nick

13 years agoStrange error in po/en/rbot-uno.rb
Giuseppe Bilotta [Fri, 2 Jul 2010 11:08:25 +0000 (13:08 +0200)] 
Strange error in po/en/rbot-uno.rb

13 years agoUNO! plugin: prevent double wild play
Giuseppe Bilotta [Fri, 2 Jul 2010 10:55:20 +0000 (12:55 +0200)] 
UNO! plugin: prevent double wild play

This allows lazy players to specify the color after playing the wild by
pressing up-arrow and adding the color to the previous line, without
running the risk of playing their precious second wild.

13 years agoUNO! plugin: be more discreet about user failures
Giuseppe Bilotta [Fri, 2 Jul 2010 10:31:32 +0000 (12:31 +0200)] 
UNO! plugin: be more discreet about user failures

The public announcement is now a generic "can't do that", with the
specific message being notified to the user. This reduces the chance of
other players guessing what the current player has from the error
messages.

13 years agoUNO! plugin: stop join_timer on end_game
Giuseppe Bilotta [Fri, 2 Jul 2010 10:08:37 +0000 (12:08 +0200)] 
UNO! plugin: stop join_timer on end_game

This prevents a game from starting after it has ended.

13 years agoUNO! plugin: cope with pre-game drops
Giuseppe Bilotta [Fri, 2 Jul 2010 10:04:42 +0000 (12:04 +0200)] 
UNO! plugin: cope with pre-game drops

The drop is still counted, to prevent people from leaving and then
rejoining until they have nice cards.

13 years agofreshmeat plugin: use current API
Giuseppe Bilotta [Thu, 1 Jul 2010 23:09:14 +0000 (01:09 +0200)] 
freshmeat plugin: use current API

The old XML files are not accessible, sadly, and the new API requires an
auth token. But at least it works again. For updates, we use the RSS
feed, parsing it manually.

13 years agoUpdate PO files
Giuseppe Bilotta [Thu, 1 Jul 2010 22:19:58 +0000 (00:19 +0200)] 
Update PO files

13 years agoUpdate versions in manpages when tagging
Giuseppe Bilotta [Thu, 1 Jul 2010 19:51:35 +0000 (21:51 +0200)] 
Update versions in manpages when tagging

13 years agoSome man page rationalization
Giuseppe Bilotta [Thu, 1 Jul 2010 19:48:11 +0000 (21:48 +0200)] 
Some man page rationalization

Add myself, reformat, minor tuneups to the text, complete missing
information, etc

13 years agoRakefile: get rid of useless dependency
Giuseppe Bilotta [Thu, 1 Jul 2010 18:50:36 +0000 (20:50 +0200)] 
Rakefile: get rid of useless dependency

It's loaded by gempackagetask anyway ...

13 years agoIgnore man pages
Giuseppe Bilotta [Thu, 1 Jul 2010 18:43:57 +0000 (20:43 +0200)] 
Ignore man pages

13 years agoGet rid of man/Makefile
Giuseppe Bilotta [Thu, 1 Jul 2010 18:43:08 +0000 (20:43 +0200)] 
Get rid of man/Makefile

13 years agoRake manpages rule
Giuseppe Bilotta [Thu, 1 Jul 2010 18:42:54 +0000 (20:42 +0200)] 
Rake manpages rule

13 years agoPackage man files
Giuseppe Bilotta [Thu, 1 Jul 2010 18:39:46 +0000 (20:39 +0200)] 
Package man files

Define a rule in the Rakefile to generate them, and change the Dir[]
into a FileList[] into the gemspec. The latter change has the downside
of requiring Rake's FileList, but the upside of listing non-existing
files, so that Rake can create them, if possible, or complain if they
are just missing.

13 years agopoll plugin: some TODOs
Giuseppe Bilotta [Thu, 1 Jul 2010 16:22:06 +0000 (18:22 +0200)] 
poll plugin: some TODOs

13 years agopoll plugin: message fixes
Giuseppe Bilotta [Thu, 1 Jul 2010 16:05:33 +0000 (18:05 +0200)] 
poll plugin: message fixes

Set up gettext strings properly, adjust case, and cope more cleanly with
the case of multiple address prefixes.

13 years agopoll plugin: make 'start' keyword optional
Giuseppe Bilotta [Thu, 1 Jul 2010 15:18:27 +0000 (17:18 +0200)] 
poll plugin: make 'start' keyword optional

13 years agopoll plugin: message fixes
Giuseppe Bilotta [Thu, 1 Jul 2010 16:06:54 +0000 (18:06 +0200)] 
poll plugin: message fixes

13 years agopoll plugin: improve poll start handling
Giuseppe Bilotta [Thu, 1 Jul 2010 15:16:51 +0000 (17:16 +0200)] 
poll plugin: improve poll start handling

Use the time parsing routines in utils, and compute the split at blob
parse time rather than at command recognition time.

13 years agoFixed googlefight.rb regex
a7x [Tue, 29 Jun 2010 02:11:58 +0000 (04:11 +0200)] 
Fixed googlefight.rb regex

13 years agoseen: Ignore garbage phrases as a users last words.
David Gadling [Tue, 23 Mar 2010 18:24:52 +0000 (11:24 -0700)] 
seen: Ignore garbage phrases as a users last words.

13 years agourl: Add a config option to auto-shorten URLs.
David Gadling [Sat, 13 Mar 2010 05:53:06 +0000 (21:53 -0800)] 
url: Add a config option to auto-shorten URLs.
shortenurls: Add a favorite service config option.

Auto-shortening URLs is mutually exclusive with showing information about them as the output would be very confusing.

The favorite shortenting service option only really applies when other plugins call shortenurls.shorten, so they don't have to hard-code which shortening service to use.

13 years agopoll: New plugin for having polls (votes, contests, etc) running.
David Gadling [Tue, 2 Mar 2010 07:17:01 +0000 (23:17 -0800)] 
poll: New plugin for having polls (votes, contests, etc) running.

Polls can be brief (2 minutes) or longer lasting (2 weeks).

13 years agoroulette: Keep track of points and provide a hall of fame (hof)
David Gadling [Mon, 15 Feb 2010 20:16:00 +0000 (12:16 -0800)] 
roulette: Keep track of points and provide a hall of fame (hof)

13 years agoautoop: Add a 'seed' command that makes sure current ops in a channel will be autoopped.
David Gadling [Mon, 8 Feb 2010 21:10:04 +0000 (13:10 -0800)] 
autoop: Add a 'seed' command that makes sure current ops in a channel will be autoopped.

There's also a config item (autoop.seed_format) that lets you control how much, if any
of a users hostmask is globbed.

13 years agoautoop: Add a 'restore' command that will op anybody that would be autooped.
David Gadling [Wed, 3 Feb 2010 02:43:38 +0000 (18:43 -0800)] 
autoop: Add a 'restore' command that will op anybody that would be autooped.

This goes through the list of hostmasks that would be opped in the channel, and
checks to see if any of them are currently not opped. If they're not, they're opped.

Nobody is ever deopped.

13 years agoAdd missing po(t) files
Giuseppe Bilotta [Wed, 30 Jun 2010 16:59:32 +0000 (18:59 +0200)] 
Add missing po(t) files

13 years agoAdded a sed emulation plugin
melmothX [Wed, 30 Jun 2010 12:31:46 +0000 (14:31 +0200)] 
Added a sed emulation plugin

13 years agoItalian translation update
Giuseppe Bilotta [Wed, 30 Jun 2010 08:04:45 +0000 (10:04 +0200)] 
Italian translation update

13 years agoUpdate PO files
Giuseppe Bilotta [Wed, 30 Jun 2010 07:59:31 +0000 (09:59 +0200)] 
Update PO files

13 years agominor correction to help auth
Giuseppe Bilotta [Wed, 30 Jun 2010 07:57:22 +0000 (09:57 +0200)] 
minor correction to help auth

13 years agoMove English messages from po/en_US to po/en
Giuseppe Bilotta [Mon, 28 Jun 2010 22:55:10 +0000 (00:55 +0200)] 
Move English messages from po/en_US to po/en

When using gettext, the bot will look for English messages in the 'en'
locale, rather than en_US. This causes some Ruby GetText version to
not find the .mo files, which used to be stored as en_US instead. Since
Ruby's GetText seems to be too stupid to fall back to en_US when en is
not found, we move the messages to en.

This is also probably more correct from a linguistic standpoint, since
the messages are actually mostly British English due to the bot origin.

13 years agomarkov: strip lines before learning them
Giuseppe Bilotta [Mon, 28 Jun 2010 21:40:28 +0000 (23:40 +0200)] 
markov: strip lines before learning them

This prevents a dead loop when learning lines starting with whitespace,
which could otherwise happen e.g. when learning from a file.

13 years agoUpdate file list in gemspec
Giuseppe Bilotta [Mon, 28 Jun 2010 17:54:35 +0000 (19:54 +0200)] 
Update file list in gemspec

13 years agoVersion 0.9.15 rbot-0.9.15
Giuseppe Bilotta [Mon, 28 Jun 2010 16:43:02 +0000 (18:43 +0200)] 
Version 0.9.15

13 years agoThank rane_ for pestering us to release 0.9.15
Giuseppe Bilotta [Mon, 28 Jun 2010 16:35:17 +0000 (18:35 +0200)] 
Thank rane_ for pestering us to release 0.9.15

13 years agonickserv plugin: more liberal default identified string
Giuseppe Bilotta [Wed, 23 Jun 2010 21:40:28 +0000 (23:40 +0200)] 
nickserv plugin: more liberal default identified string

13 years agoNew IRC Framework: don't raise on unknown casemap
Giuseppe Bilotta [Tue, 15 Jun 2010 10:27:33 +0000 (12:27 +0200)] 
New IRC Framework: don't raise on unknown casemap

This allows us to support servers that (ab)use the CASEMAPPING
to indicate the set of allowed characters for nicks (e.g. Inspire
IRCd).

13 years agodocgen: cope with README -> README.rdoc rename a3li/master
Giuseppe Bilotta [Sat, 22 May 2010 13:44:56 +0000 (15:44 +0200)] 
docgen: cope with README -> README.rdoc rename

13 years agotranslator: fix undefined variable
Yaohan Chen [Fri, 21 May 2010 21:11:59 +0000 (17:11 -0400)] 
translator: fix undefined variable

Fix an error in commit 027b6965f5abf5d05a95 which causes @lang_list to
be undefined but used in BabelFish.

13 years agotranslator: connect to sites only when necessary
Yaohan Chen [Fri, 21 May 2010 19:59:29 +0000 (15:59 -0400)] 
translator: connect to sites only when necessary

Previously the translation services in the plugin would connect to their
respective websites on initialize. Now they will only do this when the first
time they are used. WorldLingo still connects on initialialize in order to list
the supported language pairs, but the Mechanize object is not saved here, so
the connection should be closed after initialize, and only reopened if
translation by WorldLingo is requested later.

Previously the services are assumed to fail if they raise any Exception in
initialize, and in that case the service is disabled, and its command as well
as the help translate [failed] commands state this. Now this exception catch is
done for any do_translate method call.

13 years agoSurvive active_support idiocy
Giuseppe Bilotta [Wed, 12 May 2010 10:57:40 +0000 (12:57 +0200)] 
Survive active_support idiocy

Somebody should hang the ActiveSupport developers by their balls
with barbed wire. Their MissingSourceFile extension to LoadError
_expects_ a second argument, breaking the usual Exception interface
(instead, the smart thing to do would have been to make the second
parameter optional and run the code in the from_message method if
it was missing).

14 years agoimprove README
Raine Virta [Fri, 16 Apr 2010 15:13:05 +0000 (18:13 +0300)] 
improve README

14 years agochange README's extension to rdoc
Raine Virta [Fri, 16 Apr 2010 15:08:17 +0000 (18:08 +0300)] 
change README's extension to rdoc

We get cooler github readme.

14 years agotranslator: additional help for google translate auto-detect failure
Raine Virta [Fri, 16 Apr 2010 14:36:28 +0000 (17:36 +0300)] 
translator: additional help for google translate auto-detect failure

When translate command is used without source language, "auto" as source
language is assumed. It means that google translator is used and we let
google figure out what the source language is.

Problem is that the google translator will fail if the system that the
bot is running on does not have the json gem installed. This commit
addresses that problem by showing more informative error message instead
of a weird "none of the translators supports auto to en translation".

14 years agotranslator: show info about failed translators in help
Raine Virta [Fri, 16 Apr 2010 14:17:40 +0000 (17:17 +0300)] 
translator: show info about failed translators in help

14 years agoreaction: handle :acts in can_add?
Raine Virta [Mon, 8 Mar 2010 18:29:24 +0000 (20:29 +0200)] 
reaction: handle :acts in can_add?

14 years agotranslator: decode html entities on google_translate
Raine Virta [Fri, 22 Jan 2010 09:13:15 +0000 (11:13 +0200)] 
translator: decode html entities on google_translate

14 years agoIRC: support 'CASEMAPPING=charset' from some idiotic servers
Giuseppe Bilotta [Mon, 29 Mar 2010 16:35:14 +0000 (18:35 +0200)] 
IRC: support 'CASEMAPPING=charset' from some idiotic servers

14 years agoSmall httputil.rb fix. Wrong Argument port instead of pass.
Matthias -apoc- Hecker [Thu, 18 Mar 2010 13:10:12 +0000 (14:10 +0100)] 
Small httputil.rb fix. Wrong Argument port instead of pass.

14 years agoSmall imdb plugin fix. Just changed the imdb url.
Matthias -apoc- Hecker [Thu, 18 Mar 2010 13:06:48 +0000 (14:06 +0100)] 
Small imdb plugin fix. Just changed the imdb url.

14 years agoseen: use corret 'where' in 'before' case
Giuseppe Bilotta [Tue, 16 Mar 2010 14:16:20 +0000 (15:16 +0100)] 
seen: use corret 'where' in 'before' case

For the 'before' part of the reply, make sure we use the where
from the correct Saw. Otherwise, for example, a public message
preceeding a quit would show a dangling 'in ' at the end of the reply.

14 years agoTokyo Cabinet DB backend
Voker57 [Sun, 14 Mar 2010 21:19:46 +0000 (00:19 +0300)] 
Tokyo Cabinet DB backend

14 years agoDB backend option
Voker57 [Sun, 14 Mar 2010 21:13:37 +0000 (00:13 +0300)] 
DB backend option

14 years agoMoved DB stuff to registry/bdb
Voker57 [Sun, 14 Mar 2010 21:09:10 +0000 (00:09 +0300)] 
Moved DB stuff to registry/bdb

14 years agoseen: Introduce framework for message and channel privacy. robbat/export-to-upstream
Robin H. Johnson [Sat, 13 Mar 2010 09:44:37 +0000 (09:44 +0000)] 
seen: Introduce framework for message and channel privacy.

This commit introduces the ability to note that a user was doing
something, optionally without disclosing what or where it was.

Users themselves do not get the chance to be hidden, because you can ask
the /WHOIS service if they logged on at all.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
14 years agoseen: Include the channel where the user's output was.
Robin H. Johnson [Sat, 13 Mar 2010 09:34:15 +0000 (09:34 +0000)] 
seen: Include the channel where the user's output was.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
14 years agobasics: implement a channel list status query
Robin H. Johnson [Sat, 13 Mar 2010 09:31:28 +0000 (09:31 +0000)] 
basics: implement a channel list status query

This gets the list of channels we think we are in (not what the server says we are in).

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
14 years agoFix typo in previous patch
Giuseppe Bilotta [Mon, 8 Mar 2010 13:44:23 +0000 (14:44 +0100)] 
Fix typo in previous patch

My fault for not finding it in review

14 years agoImplement penalty for WHO and PART based on eggdrop code.
Robin H. Johnson [Wed, 17 Jun 2009 22:15:59 +0000 (22:15 +0000)] 
Implement penalty for WHO and PART based on eggdrop code.

14 years agoTime parsing: also parse months and years
Giuseppe Bilotta [Sun, 7 Mar 2010 18:17:47 +0000 (19:17 +0100)] 
Time parsing: also parse months and years

14 years agorfc2812: Fix multiple RPL_WHOISCHANNELS handling
Robin H. Johnson [Sun, 7 Mar 2010 03:22:04 +0000 (03:22 +0000)] 
rfc2812: Fix multiple RPL_WHOISCHANNELS handling

The new Freenode ircd returns multiple RPL_WHOISCHANNELS lines (split
based on length), and they must be merged, otherwise only the last ends
up as the list of channels that the bot is in.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
14 years agonickserv: add a missing colon
Raine Virta [Sun, 21 Feb 2010 23:58:31 +0000 (01:58 +0200)] 
nickserv: add a missing colon

14 years agoreaction: fix can_add? method logic
Raine Virta [Sun, 21 Feb 2010 23:33:00 +0000 (01:33 +0200)] 
reaction: fix can_add? method logic

It should now follow this logic:

* Allow everyone to create basic replies
* Require specific permissions for cmd and ruby reactions

14 years agoreaction: reverse permission check
Raine Virta [Sun, 21 Feb 2010 23:32:25 +0000 (01:32 +0200)] 
reaction: reverse permission check

14 years agogeoip: Add blogama and allow for fallback options
David Gadling [Wed, 3 Feb 2010 01:02:16 +0000 (17:02 -0800)] 
geoip: Add blogama and allow for fallback options

14 years agoreact: restrict command reactions by default
Giuseppe Bilotta [Wed, 10 Feb 2010 00:25:08 +0000 (01:25 +0100)] 
react: restrict command reactions by default

Anybody can create a dangerous reaction, and then trick the owner into
triggering it.

Credits to apoc for spotting this.

14 years agomarkov: detect addressing-by-nick in channel
Voker57 [Mon, 25 Jan 2010 22:55:00 +0000 (01:55 +0300)] 
markov: detect addressing-by-nick in channel

and filter it in smart way

14 years agomarkov: fix delay
Giuseppe Bilotta [Mon, 25 Jan 2010 22:17:01 +0000 (23:17 +0100)] 
markov: fix delay

markov.delay had the wrong default, and its use didn't have any
degree of randomness in it. Set the default to 5 and use rand()
again.

14 years agomarkov: unify should_talk
Giuseppe Bilotta [Mon, 25 Jan 2010 22:11:43 +0000 (23:11 +0100)] 
markov: unify should_talk

Unify probability check for addressed and non-addressed case by
passing the message as a parameter to should_talk and picking the
probability accordingly.

14 years agomarkov: whitespace cleanup
Giuseppe Bilotta [Mon, 25 Jan 2010 22:11:30 +0000 (23:11 +0100)] 
markov: whitespace cleanup

14 years agomarkov: removed unnecessary mutexes gitorious/1 voker57/markov
Voker57 [Sat, 19 Dec 2009 15:50:56 +0000 (18:50 +0300)] 
markov: removed unnecessary mutexes

These were slowing down learning process greatly and do not make sense as far
as I can see: learning is always done only by single thread anyway.

14 years agomarkov: close registry correctly
Voker57 [Sat, 19 Dec 2009 15:47:43 +0000 (18:47 +0300)] 
markov: close registry correctly

14 years agomarkov: Intern only when it makes sense
Voker57 [Sat, 19 Dec 2009 15:44:41 +0000 (18:44 +0300)] 
markov: Intern only when it makes sense

14 years agomarkov: stats
Voker57 [Sat, 19 Dec 2009 14:36:48 +0000 (17:36 +0300)] 
markov: stats