diff --git a/State/L.hs b/State/L.hs
--- a/State/L.hs
+++ b/State/L.hs
@@ -1,5 +1,4 @@
 module L where
-
 import Control.Applicative
 import Control.Arrow hiding (pure)
 import Control.Arrow.Operations
@@ -14,7 +13,6 @@
 import Control.Monad.Reader
 import Control.Monad.ST (ST, runST, fixST)
 import Control.Monad.State
-import Control.Monad.State
 import Control.Monad.Writer
 import Control.Parallel
 import Control.Parallel.Strategies
@@ -55,6 +53,7 @@
 import Test.QuickCheck
 import Text.PrettyPrint.HughesPJ hiding (empty)
 import Text.Printf
+import Text.Regex.Posix
 import qualified Control.Arrow.Transformer as AT
 import qualified Control.Arrow.Transformer.All as AT
 import qualified Data.ByteString as BS
diff --git a/State/Pristine.hs b/State/Pristine.hs
--- a/State/Pristine.hs
+++ b/State/Pristine.hs
@@ -1,5 +1,4 @@
 module L where
-
 import Control.Applicative
 import Control.Arrow hiding (pure)
 import Control.Arrow.Operations
@@ -14,7 +13,6 @@
 import Control.Monad.Reader
 import Control.Monad.ST (ST, runST, fixST)
 import Control.Monad.State
-import Control.Monad.State
 import Control.Monad.Writer
 import Control.Parallel
 import Control.Parallel.Strategies
@@ -55,6 +53,7 @@
 import Test.QuickCheck
 import Text.PrettyPrint.HughesPJ hiding (empty)
 import Text.Printf
+import Text.Regex.Posix
 import qualified Control.Arrow.Transformer as AT
 import qualified Control.Arrow.Transformer.All as AT
 import qualified Data.ByteString as BS
diff --git a/State/karma b/State/karma
--- a/State/karma
+++ b/State/karma
@@ -2,102 +2,291 @@
 ("\"",-1)
 ("\"\"",2)
 ("\"<!",-1)
+("\"broiling\"-",-1)
+("\"C",2)
+("\"chelo",1)
+("\"g",1)
 ("##c",3)
 ("#c",1)
 ("#cafe",1)
-("(",3)
+("#gentoo-uy",1)
+("(",7)
+("((",1)
 ("()",1)
+("(azawawi",1)
 ("(C",2)
-("+",3)
-("-",-10)
-("--",-1)
-("-----",-1)
+("(use.perl.org)",0)
+("+",6)
+("-",-21)
+("--",-2)
+("-----",-2)
+("--------------------------------------------",-1)
 ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",-1)
 ("--------8<------",-1)
+("--..",-2)
 ("-rw-r--r",-1)
-("<",-40)
-("<-",-2)
-("a",1)
+("/b/",-1)
+("420chan",-2)
+("4chan",-3)
+(";)",-1)
+(";D",1)
+("<",-155)
+("<-",-9)
+("<--",-3)
+("<--f",-1)
+("a",2)
+("abbreviations",-1)
+("ack",1)
+("adu",1)
+("ajax",-1)
+("align-regexp",1)
+("allan_holdsworth",1)
+("analworm",1)
+("anarchy)",1)
+("andy",-8)
 ("anibal",1)
+("anton",1)
+("araujo",1)
 ("arch",0)
+("artem.pilas",1)
+("ascii",2)
 ("asdasd",1)
 ("astrolabe",1)
-("audreyt",8)
+("audreyt",9)
+("augustss",1)
+("automobiles",1)
+("autounfudge",1)
 ("Auzon",8)
+("Axman6",0)
+("azawawi",46)
 ("b)",1)
+("bacek",4)
+("backlog",1)
+("bash",2)
 ("Baughn",1)
+("bayes",1)
 ("bernhard",1)
+("ble",1)
 ("Blitz",1)
-("BMeph",1)
-("br1",1)
+("BMeph",0)
+("BONUS",1)
+("bos",2)
+("br1",3)
 ("brunox",1)
-("byorgey",4)
-("c/c",1)
+("Burke)",1)
+("byorgey",5)
+("C++",0)
+("c++++",1)
+("C,C",1)
+("C--",1)
+("C/",1)
+("C/C",11)
 ("caca",1)
 ("cadillac_",1)
+("calarval",1)
+("cale",7)
+("camargo",1)
+("carlos",-1)
+("carlos_oficina",1)
+("carrito",-1)
+("case",-1)
+("cdavaz",1)
+("cdsmith",1)
+("chameleon",1)
+("chelo",3)
+("chromatic",1)
 ("chuelmo",1)
 ("ch\195\169vere",0)
+("cjfields",3)
+("cmake",-1)
+("coke",1)
 ("commitbit",1)
+("computers",0)
+("cotto",1)
+("credit",-1)
+("CryWolf",1)
+("culo",1)
+("d+",1)
+("d------------------------",-1)
+("daf",1)
+("darth_vader",1)
 ("dbertua",1)
-("dcoutts",1)
-("ddarius",2)
+("dcoutts",3)
+("ddarius",4)
 ("decobot",-1)
+("desktops",1)
+("dibblego",2)
+("dmwit",1)
 ("dolio",0)
-("dons",2)
+("dons",5)
 ("dr_df0",3)
-("elpolilla",13)
-("erg0t",3)
-("EvilTerran",2)
+("elcresta",1)
+("ELF",2)
+("elpolilla",24)
+("emos",-1)
+("envasados",1)
+("erg0t",10)
+("ernestor",1)
+("EvilTerran",3)
+("fachoness",1)
 ("fachos",1)
 ("ff3<",-1)
 ("fglock",6)
+("files",-1)
+("fish",-1)
+("fish+",1)
+("foo",1)
+("Foo)",1)
 ("frula",-2)
+("fryguy",-3)
+("fucktard",1)
+("g",4)
 ("gaal",1)
+("gallego",2)
+("geant",1)
+("ghc",0)
+("gifs",1)
 ("git",1)
+("glguy",1)
+("grant",1)
+("grub",-1)
 ("guis",0)
-("hackage",1)
+("hackage",2)
+("hackery+",1)
+("hackingshoes",1)
+("Hague)",1)
+("haskell",46)
 ("hexrays",1)
 ("hpaste",0)
+("HSOE",-1)
+("hueovo",1)
+("humans",0)
+("icfp",-1)
 ("Ikary",1)
 ("imdb",1)
 ("infinoid",5)
 ("ingy",14)
+("inkscape",1)
+("instances",-1)
+("int-e",1)
+("intel",-1)
 ("iran",-1)
+("jaynes",1)
+("JEJEJE",1)
 ("jinja",1)
-("jonathan",7)
+("jonathan",9)
+("jsn",1)
+("kolmodin",1)
+("kowey",1)
 ("kpreid",1)
-("lambdabot",3)
+("l",1)
+("ladyfeo",1)
+("lambdabot",4)
 ("lamdbabot",1)
-("larry",2)
+("larry",4)
+("laziness",4)
 ("libstdc",1)
-("lwall",24)
-("masak",1)
+("lispy",3)
+("lithyum",1)
+("logs",1)
+("luigi",1)
+("luis",1)
+("lwall",51)
+("martin",4)
+("masak",18)
+("mauke",1)
+("mckinna",1)
 ("mempty",1)
 ("merca",-1)
 ("metadata---",-1)
-("mono",1)
-("moritz",47)
+("moritz",179)
+("moritz_",6)
+("mrpolux",1)
 ("MSVC",1)
+("music",1)
 ("musica",1)
-("nachof",1)
+("MyCatVerbs",1)
+("nachof",4)
 ("ndmitchell",1)
-("pmichaud",5)
-("pmurias",22)
-("putter",5)
+("notepad",8)
+("nox",1)
+("NULL",-1)
+("obscurity)",-1)
+("oleg",4)
+("Ontolog",4)
+("Option",1)
+("paros_bancarios",-1)
+("particle",11)
+("paste_rompetodo",1)
+("perlmonks",-2)
+("perltidy",1)
+("phantomTypes",1)
+("pmichaud",41)
+("pmurias",71)
+("prettyprinter",-1)
+("progress",1)
+("putter",34)
 ("qtc",1)
-("quicksilver",2)
+("quicksilver",4)
+("quienfuera",-1)
+("rafl",2)
+("Range)",1)
 ("resaca",-1)
 ("resbalosa",1)
-("ruoso",26)
+("rjbs",1)
+("roconnor",1)
+("rsync",2)
+("ruoso",31)
 ("rurban",2)
-("s1n",3)
+("rwbarton",1)
+("RWH",1)
+("s1n",7)
+("Samus_",2)
+("scala",1)
+("scrot",1)
+("sebazzz",6)
 ("shapr",1)
-("sirete",1)
-("TimToady",1)
-("tizoc",9)
+("sijmen",1)
+("sjanssen",2)
+("skin",1)
+("slava",1)
+("software",-1)
+("spinclad",1)
+("stdc",1)
+("sudoku",-1)
+("svg",1)
+("sysadmins",-1)
+("tene",9)
+("testing)",1)
+("tests",1)
+("Text.XHtml.Strict.+",1)
+("thoughtpolice",1)
+("ticholos",1)
+("TimToady",3)
+("tizoc",24)
+("touchpad",-1)
+("trashguy",1)
+("tronik",1)
 ("tusho",1)
+("twifkak",1)
+("types",1)
+("typos",1)
+("uds",-1)
+("Ultimate",1)
+("up_the_irons",1)
+("vim",4)
 ("VIsta",-2)
 ("vixey",1)
+("Vq^",1)
+("webfag",1)
+("Whiteknight",1)
 ("xmonad",1)
+("Yea",-1)
+("yo",-2)
+("zomg",1)
+("[particle]",3)
+("^",-1)
+("^^",1)
+("_anibal",1)
 ("_Jonas_",12)
 ("\239\189\183\239\190\128--",-1)
diff --git a/State/quote b/State/quote
Binary files a/State/quote and b/State/quote differ
diff --git a/State/seen b/State/seen
Binary files a/State/seen and b/State/seen differ
diff --git a/State/system b/State/system
--- a/State/system
+++ b/State/system
@@ -1,1 +1,1 @@
-((1219971742,482623000000),TimeDiff {tdYear = 0, tdMonth = 0, tdDay = 0, tdHour = 0, tdMin = 0, tdSec = 3368669, tdPicosec = 0})
+((1223665727,565941000000),TimeDiff {tdYear = 0, tdMonth = 0, tdDay = 0, tdHour = 0, tdMin = 0, tdSec = 3368669, tdPicosec = 0})
diff --git a/State/tell b/State/tell
--- a/State/tell
+++ b/State/tell
@@ -0,0 +1,10 @@
+("bringert",(Just (1224261286,487280000000),[Note {noteSender = "kolmodin", noteContents = "har du n\229gon aning om hur l\228nge man f\229r ha kvar sin @dtek.c.se-adress efter examen?", noteTime = (1223732529,162582000000), noteType = Tell}]))
+("Cale",(Just (1223686941,960036000000),[Note {noteSender = "Samy", noteContents = "Mind adding ##FreeBSD to lambdabot?", noteTime = (1223665849,89641000000), noteType = Ask}]))
+("cjs",(Nothing,[Note {noteSender = "sclv", noteContents = "Thanks for the advice on sockets -- turned out to be a handle issue that overflowed a buffer somewhere, causing occasional segfaults as well. We'll be putting in a bug report to ghc shortly.", noteTime = (1224122474,490708000000), noteType = Tell}]))
+("dolio",(Nothing,[Note {noteSender = "vixey", noteContents = "\\neg actually also works I just noticed", noteTime = (1224332603,188022000000), noteType = Tell}]))
+("dons",(Just (1224288772,443431000000),[Note {noteSender = "Baughn", noteContents = "I'm isolating the builds that failed for not-my-fault reasons, but what should I do with the logs?", noteTime = (1223805706,194572000000), noteType = Ask},Note {noteSender = "Baughn", noteContents = "cabal-install needs to actually build packages that are mentioned in preferred-versions, if they aren't already on the system. (containers<0.2 doesn't come with ghc-6.10, but Data.Map changed its interface)", noteTime = (1223807900,244320000000), noteType = Tell},Note {noteSender = "ivanm", noteContents = "I was mistaken... the mersenne-pure64 version of my code is indeed 4-5x slower than the stdGen version... and the problem comes down to the random number generation (using randomDouble and randomInt)... could the fact that I'm on an x86 machine using -pure64 have something to do with it?", noteTime = (1224146190,97718000000), noteType = Tell},Note {noteSender = "ivanm", noteContents = "nvm, I was using v 0.1.1 of -pure64... upgrading to 0.2.0.2 makes it now half the runtime of StdGen (and 1/8th the runtime of 0.1.0.1), with random number generation no longer the main bottleneck", noteTime = (1224151913,434272000000), noteType = Tell},Note {noteSender = "gwern", noteContents = "1) hackage bytestring has some messedup haddocks - http://hackage.haskell.org/packages/archive/bytestring/0.9.1.3/doc/html/Data-ByteString-Lazy.html says things like 'O(1) Unlike cons, 'cons\\'' is strict in the ByteString that we are consing onto. ' & ' let xs = cons\\' c xs in xs'", noteTime = (1224288522,224377000000), noteType = Ask},Note {noteSender = "gwern", noteContents = "also, I've been wondering for a while, why is Data.ByteString.Lazy missing some functions like lines, unlines, and words? when it has almost all the others", noteTime = (1224288581,506372000000), noteType = Ask}]))
+("jcpetruzz",(Nothing,[Note {noteSender = "nominolo", noteContents = "here's a small snippet of transition guide: http://hpaste.org/11076", noteTime = (1223747840,840565000000), noteType = Tell}]))
+("misc/elfish/AST",(Nothing,[Note {noteSender = "pmurias", noteContents = "is supposed to contain the description of the IRx1 in Perl 6 as opposed to a strange \"DSL\"", noteTime = (1223717098,60453000000), noteType = Tell}]))
+("mncharity",(Nothing,[Note {noteSender = "TimToady", noteContents = "see backlog for answer to your question", noteTime = (1224113759,961788000000), noteType = Tell},Note {noteSender = "TimToady", noteContents = "starting at http://irclog.perlgeek.de/perl6/2008-10-15#i_623942", noteTime = (1224113868,522397000000), noteType = Tell}]))
+("moritz_",(Nothing,[Note {noteSender = "azawawi", noteContents = "im interested in http://www.nntp.perl.org/group/perl.perl6.users/2008/07/msg788.html.", noteTime = (1224314996,873317000000), noteType = Tell}]))
+("pmurias",(Just (1224007301,912469000000),[Note {noteSender = "mncharity", noteContents = "re mildew as duplication (last night), I was wrong. eg, elf doesn'", noteTime = (1224007272,309535000000), noteType = Tell}]))
diff --git a/State/where b/State/where
Binary files a/State/where and b/State/where differ
diff --git a/lambdabot.cabal b/lambdabot.cabal
--- a/lambdabot.cabal
+++ b/lambdabot.cabal
@@ -1,5 +1,5 @@
 Name:                lambdabot
-Version:             4.2.1
+Version:             4.2.2
 License:             GPL
 License-file:        LICENSE
 Author:              Don Stewart
