03:14:00 <stepcut> I think the crash course is around 50,000 words now
12:59:34 <donri> stepcut: what is the point of changeNickUser having User in it? you can't change that once you're connected i don't think?
13:00:13 <donri> also shouldn't it do like joinChannel and store the desired nick in an mvar for future reference in case of reconnect?
13:00:27 <donri> uh tvar
14:04:44 <donri> *** Exception: Prelude.head: empty list
14:04:47 <donri> my nemesis, we meet again.
14:17:24 <donri> stepcut: trying to set things up so i can unit test botparts but i'm getting head empty list, any ideas why? http://hpaste.org/57577
14:19:20 <donri> i should add that there's not a single Prelude.head in my codebase
14:22:24 <donri> oh i'm so stupid
14:23:03 <donri> i forgot the channel in my simulated PRIVMSG
16:26:26 <alpounet> okay, i'll try to work a bit on acid-bot today, yay
16:27:39 <donri> perhaps steal some of my code and write unit tests for the core parts :)
16:28:49 <alpounet> hey, i didn't say i had no idea about what to work on :P
16:29:04 <donri> ok :D
16:29:20 <alpounet> i may import some "parts" i wrote for an irc bot i have somewhere
19:52:35 <alpounet> ok, i admit, i liked happs. wanna write more web stuffs.
19:52:40 <alpounet> happstack*
21:00:03 <parcs`> why would you _want_ to write web stuffs? :P
21:01:48 <alpounet> because i carefully stayed away from web programming these last 4 or 5 years
21:02:09 <alpounet> i'll probably find it fun during a few days still, and then hate it again
21:07:56 <KorriX> hello everybody
21:08:04 <tazjin> Hey
21:08:04 <stepkut> KorriX: hello
21:08:21 <KorriX> i installed Crypto library
21:08:36 <KorriX> and don't know how to generate valid sha1 string hash
21:08:48 <KorriX> (valid - identical with php sha function)
21:08:58 <KorriX> do you have any ideas ?
21:09:13 <tazjin> Yes
21:09:19 <tazjin> "flooding" 4 lines of code now ;D
21:09:24 <tazjin> hashString :: String -> ByteString
21:09:30 <tazjin> Oh, so much for lines.
21:09:40 <tazjin> well, let me explain
21:09:56 <KorriX> i don't have problem with types :)
21:10:03 <KorriX> i have problem with results :)
21:10:09 <tazjin> The results are in there as well
21:10:17 <tazjin> Your result is most likely the hex value
21:10:19 <KorriX> i've tried
21:10:19 <KorriX> hash' xs = let (Word160 a b c d e) = hash xs in concatMap (toOctets 8) [a,b,c,d,e]
21:10:40 <tazjin> Which crypto library are you using?
21:10:47 <tazjin> I've found more than one on hackage
21:11:28 <tazjin> I'm using Data.ByteString.Base64 and  Crypto.Hash.SHA512 for SHA512 (not different for SHA1 though)
21:11:45 <KorriX> http://hackage.haskell.org/packages/archive/Crypto/4.2.0/doc/html/Data-Digest-SHA1.html
21:12:27 <tazjin> You want a base64 encoded sha hex value, right?
21:17:30 <alpounet> i kinda liked cryptohash
21:17:35 <alpounet> fwiw
21:33:41 <KorriX> hashString xs = let (Word160 a b c d e) = hash $ encode xs
21:33:41 <KorriX> 				in concat $ map (\x -> showIntAtBase 16 intToDigit x "") $
21:33:41 <KorriX> 				concatMap (toOctets 256) [a,b,c,d,e]
21:33:43 <KorriX> it works