00:00:09  * ircretaryjoined
00:08:54  * tmcw_quit (Remote host closed the connection)
00:11:29  * tmcwjoined
00:13:49  * dominictarrquit (Quit: dominictarr)
00:14:21  * ricardo_quit (*.net *.split)
00:14:21  * hij1nxquit (*.net *.split)
00:14:21  * Raynos_quit (*.net *.split)
00:14:21  * jan____quit (*.net *.split)
00:14:21  * creationixquit (*.net *.split)
00:15:29  * thl0joined
00:21:23  * hij1nxjoined
00:25:45  * jcrugzzquit (Quit: leaving)
00:28:23  * harrow`changed nick to harrow
00:30:29  * jcrugzzjoined
00:34:31  * tmcwquit (Remote host closed the connection)
00:36:37  * mcollinaquit (Remote host closed the connection)
00:37:13  * mcollinajoined
00:39:13  * mcollinaquit (Remote host closed the connection)
00:39:29  * mcollinajoined
00:41:07  * mcollinaquit (Remote host closed the connection)
00:41:42  * mcollinajoined
00:45:21  * ins0mniaquit (Ping timeout: 256 seconds)
00:46:10  * nicholasfquit (Read error: Connection reset by peer)
00:46:27  * nicholasfjoined
00:48:00  * ryanseddonjoined
00:56:05  * dsfadfjoined
00:57:59  * ins0mniajoined
00:59:36  * st_lukejoined
01:02:13  * Raynos_joined
01:02:14  * jan____joined
01:02:14  * creationixjoined
01:03:36  * lepahcjoined
01:03:59  * rannmannquit (Ping timeout: 245 seconds)
01:04:00  * rvaggquit (Ping timeout: 245 seconds)
01:04:00  * chapelquit (Ping timeout: 245 seconds)
01:04:02  * ircretaryquit (Ping timeout: 245 seconds)
01:04:04  * st_luke_quit (Ping timeout: 245 seconds)
01:04:25  * lepahcchanged nick to chapel
01:05:07  * rvaggjoined
01:10:11  * heathjschanged nick to heath
01:13:27  <jjjjohnnny>i can't scroll up in here on this shit box
01:17:53  <jjjjohnnny>technically, i can't page up
01:28:07  * ins0mniaquit (Ping timeout: 264 seconds)
01:29:51  * Domenic_joined
01:30:26  * sveisveijoined
01:42:42  * nicholasfquit (Read error: Connection reset by peer)
01:43:04  * nicholasfjoined
01:46:18  * stagasquit (Read error: Connection reset by peer)
02:08:25  <st_luke>heh shit box
02:11:48  * timoxleyjoined
02:15:14  <substack>http://algorave.com/
02:18:15  * Guest81397changed nick to isaacs
02:27:20  * johnkpaulquit (Quit: ZNC - http://znc.in)
03:09:22  * st_lukequit (Remote host closed the connection)
03:14:37  <jjjjohnnny>they follow me on twtr
03:14:53  <jjjjohnnny>and i follow theym
03:14:57  * blobaum_quit (Remote host closed the connection)
03:15:27  * vitor_quit (Read error: Connection reset by peer)
03:16:36  <jjjjohnnny>substack: we are invited to the cell network hacker's lab to check see what out.
03:16:55  * vitorpachecojoined
03:17:03  <jjjjohnnny>he asked if tuesday or wednesday was good
03:19:27  <jjjjohnnny>in berkeley
03:19:34  <jjjjohnnny>WE RIDE
03:19:34  <LOUDBOT>"TO FIX THE EXPIRED CERTIFICATE INSTALL ISSUE, CHANGE THE DATE ON YOUR PHONE"
03:22:28  * mintxianjoined
03:23:28  * mint_xianquit (*.net *.split)
03:23:28  * mintxianchanged nick to mint_xian
03:24:06  * thl0quit (Remote host closed the connection)
03:26:26  * dominictarrjoined
03:27:50  * ralphtheninjaquit (Ping timeout: 240 seconds)
03:36:22  * kenperkinsquit (Quit: Computer has gone to sleep.)
03:47:43  * kenperkinsjoined
03:48:48  * thl0joined
03:49:13  * thl0quit (Remote host closed the connection)
03:58:54  * Nexxyquit (Changing host)
03:58:54  * Nexxyjoined
04:17:26  * dominictarrquit (Quit: dominictarr)
04:52:10  * st_lukejoined
05:19:25  * mcollinaquit (Ping timeout: 256 seconds)
05:20:03  * wolfeidaujoined
06:05:20  * jolissquit (Quit: joliss)
06:05:45  * nk109joined
06:13:05  * wolfeidauquit (Ping timeout: 256 seconds)
06:14:16  * dominictarrjoined
06:34:45  * wolfeidaujoined
06:49:11  * st_lukequit (Remote host closed the connection)
06:54:20  * mikolalysenkoquit (Ping timeout: 256 seconds)
07:30:52  * AvianFlujoined
07:38:38  * wolfeidauquit (Remote host closed the connection)
08:00:28  * mikolalysenkojoined
08:05:19  * mikolalysenkoquit (Ping timeout: 257 seconds)
08:17:36  * stagasjoined
08:30:33  * jcrugzzquit (Read error: Connection reset by peer)
08:31:01  * jcrugzzjoined
08:39:17  * nk109quit (Quit: laters...)
08:41:10  * nk109joined
08:45:28  * wolfeidaujoined
09:03:21  * jcrugzzquit (Ping timeout: 245 seconds)
09:36:45  * dominictarrquit (Quit: dominictarr)
10:36:00  * wolfeidauquit (Remote host closed the connection)
11:28:25  * timoxleyquit (Quit: Computer has gone to sleep.)
11:38:26  * mcollinajoined
11:41:20  * mcollinaquit (Read error: Connection reset by peer)
11:45:13  * ins0mniajoined
11:45:53  * mcollinajoined
11:48:31  * mcollinaquit (Remote host closed the connection)
11:48:52  * ralphtheninjajoined
11:48:58  * ralphtheninjaquit (Client Quit)
11:49:04  * ralphtheninjajoined
11:49:08  * mcollinajoined
12:13:05  * stagasquit (Read error: Connection reset by peer)
12:16:09  * juliangruberquit (Remote host closed the connection)
12:31:16  * ins0mniaquit (Ping timeout: 245 seconds)
12:45:25  * yorickjoined
13:13:08  * mcollinaquit (Remote host closed the connection)
13:13:22  * mcollinajoined
13:16:55  * ins0mniajoined
13:17:03  <yorick>substack: protip: you can type ctrl+l instead of 'clear'
13:17:25  <yorick>(in a shell)
13:33:46  <yorick>substack: also, I would like things like 'exterminate' (and maybe testling, not sure if it does it), to try 'chromium' as a chrome executable along with 'google-chrome'
13:42:45  * nicholasfquit (Read error: Connection reset by peer)
13:43:15  * nicholasfjoined
14:07:50  * ralphtheninjaquit (Ping timeout: 256 seconds)
14:35:51  * stagasjoined
14:39:59  * juliangruberjoined
14:50:33  * thl0joined
15:02:05  * mikolalysenkojoined
15:17:29  * lepahcjoined
15:21:16  * doolsjoined
15:23:14  * Correnjoined
15:24:46  * kenperkinsquit (*.net *.split)
15:24:46  * Domenic_quit (*.net *.split)
15:24:46  * chapelquit (*.net *.split)
15:24:46  * ryanseddonquit (*.net *.split)
15:24:46  * dools_quit (*.net *.split)
15:24:46  * Raltquit (*.net *.split)
15:24:47  * lepahcchanged nick to chapel
15:26:07  * Altreus_joined
15:26:14  * substack_joined
15:26:34  * mikolaly1enkojoined
15:29:24  * jaz303_joined
15:29:38  * jaz303quit (Write error: Broken pipe)
15:29:38  * jdenchanged nick to 18WAC9JMN
15:29:39  * jdenjoined
15:29:39  * Domenic_joined
15:29:40  * Domenic_quit (Changing host)
15:29:40  * Domenic_joined
15:29:45  * Altreusquit (Write error: Broken pipe)
15:29:46  * mikolalysenkoquit (Write error: Broken pipe)
15:29:47  * 18WAC9JMNquit (Write error: Broken pipe)
15:29:49  * substackquit (Write error: Broken pipe)
15:30:57  * jdenchanged nick to Guest49967
15:32:37  * Raltjoined
15:40:12  * mikolaly1enkoquit (Ping timeout: 256 seconds)
15:41:16  * dsfadfchanged nick to rannmann
15:41:16  * rannmannquit (Changing host)
15:41:16  * rannmannjoined
15:47:44  * AvianFluquit (Remote host closed the connection)
15:50:55  * dominictarrjoined
16:03:29  <tanepiper>yorick: could be a switch
16:03:42  <tanepiper>e.g 'exterminate --chromium'
16:03:59  <yorick>tanepiper: it could be, but I guess most people have either chromium or google-chrome
16:40:09  * thl0quit (Remote host closed the connection)
16:45:32  * jcrugzzjoined
16:45:39  * jcrugzzquit (Client Quit)
16:46:42  <isaacs>Anyone know how to decrypt SSH private keys? There's a line like this: DEK-Info: DES-EDE3-CBC,0DB4541483D0EAB4
16:46:47  <isaacs>but when i do crypto.createDecipheriv('DES-EDE3-CBC', new Buffer(passphrase, 'utf8'), new Buffer('0DB4541483D0EAB4', 'hex')) I get an error that the key length is invalid
16:46:50  <isaacs>i guess there's some step that ssh does to convert my passphrase to the DES key?
16:47:00  <isaacs>substack_, pkrumins: You guys did some stuff with ssh in node, right? any idea?
16:47:24  * jcrugzzjoined
16:58:41  * jcrugzzquit (Ping timeout: 256 seconds)
17:11:53  * AvianFlujoined
17:18:00  * ryanseddonjoined
17:19:00  * yorickquit (Read error: Connection reset by peer)
17:23:43  * Altreus_changed nick to Altreus
17:24:11  * AvianFluquit (Ping timeout: 256 seconds)
17:29:39  * mikolalysenkojoined
17:39:29  * AvianFlujoined
17:47:38  <pkrumins>isaacs: i'm not sure what that line is but it doesn't look like a private key as it's so short
17:52:54  * AvianFlu_joined
17:54:45  * AvianFluquit (Ping timeout: 248 seconds)
17:55:25  <jjjjohnnny>isaacs: why not come over and ask him in person?
18:00:47  <jjjjohnnny>come over, have a salad
18:01:09  <jjjjohnnny>play some game
18:02:34  * Correnchanged nick to kenperkins
18:08:47  * ralphtheninjajoined
18:09:45  * ralphtheninjaquit (Client Quit)
18:09:51  * ralphtheninjajoined
18:12:19  <isaacs>jjjjohnnny: that's not a bad idea.
18:12:28  * dominictarrquit (Quit: dominictarr)
18:12:32  <isaacs>but i've got some stuff to do before heading to the city today around 4
18:12:45  <isaacs>pkrumins: do you have a passphrase on your ssh private key? take a look at it
18:13:19  <isaacs>pkrumins: it starts like this: https://gist.github.com/isaacs/5564414
18:13:31  <isaacs>arg, gist fail.
18:13:41  <isaacs>-----BEGIN RSA PRIVATE KEY-----
18:13:41  <isaacs>Proc-Type: 4,ENCRYPTED
18:13:41  <isaacs>DEK-Info: DES-EDE3-CBC,0DB4541483D0EAB4
18:13:41  <LOUDBOT>ACHIEVEMENT UNLOCKED: TESTICULAR FORTITUDE
18:15:25  * dominictarrjoined
18:19:39  <pkrumins>isaacs: looking
18:19:54  <pkrumins>isaacs: ah you're right
18:20:00  * dominictarrquit (Ping timeout: 264 seconds)
18:20:17  <isaacs>so, here's what i've figured out: you CAN use crypto.Decipheriv to do this.
18:20:22  <isaacs>but the passphrase isn't the DES key
18:21:05  <isaacs>to turn the ascii passphrase into the DES key, you have to zero-pad it up to 8 bytes, then set the high bits to an odd-parity bit
18:21:35  <isaacs>The DES algorithm requires an 8 byte key whose low order bits are assumed to be odd-parity bits. The ASCII key supplied by the user is zero padded to 8 bytes and the high order bits are set to be odd-parity bits. The DES algorithm then ignores the low bit of each ASCII character, but that bit's information has been preserved in the high bit due to the parity.
18:21:46  <isaacs>er, set the low-order bits to odd-parity
18:21:57  <isaacs>er, no.
18:22:01  <isaacs>i don't know
18:22:02  <isaacs>it's weird :)
18:22:23  <pkrumins>we had this issue regarding DES at browserling: http://www.catonmat.net/blog/curious-case-of-des-algorithm/
18:23:05  <pkrumins>but i'm not familiar with how that private key is encrypted using DES
18:23:26  <pkrumins>sounds like it won't be easy to figure out!
18:25:33  <isaacs>well, really, i'm just being lazy
18:25:41  <isaacs>openssh and openssl are both open. says so right in the names?
18:25:45  <isaacs>so, i should just read the source
18:25:47  <isaacs>i guess.
18:25:50  <isaacs>but it's some dense reading
18:25:55  <jjjjohnnny>isaacs: maybe https://github.com/substack/secure-peer/
18:26:26  <jjjjohnnny>has some clues
18:26:28  <jjjjohnnny>maybe
18:26:35  <jjjjohnnny>just stabbing
18:27:06  <pkrumins>isaacs: the source is pretty impossible to understand
18:30:03  <isaacs>meh. it's just c :)
18:30:51  <jaz303_>passphrase is converted to 3-key triple des key via md5 + salt with iv
18:32:31  <isaacs>jaz303_: orly? nice!
18:32:38  <isaacs>jaz303_: got any link or pointer to code that does this?
18:33:12  <jaz303_>https://github.com/openssl/openssl/blob/master/crypto/evp/evp_key.c#L115
18:33:42  <isaacs>jaz303_: nice, i'll try that
18:33:50  <isaacs>jaz303_: is it the same for ssh?
18:33:59  <isaacs>jaz303_: i guess they're both just a standard PEM format, right?
18:34:13  <jaz303_>yes that's called from the pem routines
18:34:22  <isaacs>the only special thing that you have to do to use SSH keys seems to be convert the pubkey to PEM
18:34:25  <isaacs>which is pretty straightforward.
18:35:06  <isaacs>jaz303_: so, iiuc, the "0DB4541483D0EAB4" hex bytes in this case would be the salt?
18:35:15  <jaz303_>yes
18:35:18  <tanepiper>jaz303_: have you opened sourced your game engine thingy yet? :)
18:35:31  <isaacs>jaz303_: then the DEC key is md5(my_passphrase + hex(0DB4541483D0EAB4))?
18:35:36  <isaacs>or the other way around?
18:35:44  <isaacs>md5(hex(0DB4541483D0EAB4) + my_passphrase)
18:36:04  <jaz303_>tanepiper: i'll throw it up next week, i'm dealing with a backlog of earbashing i got from ignoring clients on the lead-up to my talk
18:36:26  <tanepiper>ouch - yea, i[m trying to push out some final stuff for one of my clients
18:36:36  <tanepiper>kinda hoping I can tell them to feck off soon
18:38:30  * tanepipernever wants to see Wordpress again, but isn't hopeful
18:40:03  <jaz303_>isaacs: the algorithm is here: ftp://ftp.ulakbim.gov.tr/pub/openssl/docs/crypto/EVP_BytesToKey.html
18:40:18  <jaz303_>i find it all a bit opaque
18:41:13  <jaz303_>it says "non standard extensions" are used when digest length < key length, which i believe is true here
18:41:28  <jaz303_>128 vs 168 bits
18:42:59  * st_lukejoined
18:50:17  <jjjjohnnny>ooo a game engine from a stackvm persona
18:50:33  <jaz303_>i'm just an interloper really
18:50:54  <jaz303_>i met dominictarr on friday and he said i should come and say hi
18:53:29  <tanepiper>jaz303_: yea i never got a chance to say hello either
18:58:19  * yorickjoined
19:04:35  * thl0joined
19:04:57  * mcollinaquit (Remote host closed the connection)
19:05:31  * mcollinajoined
19:11:31  * AvianFlu_quit (Remote host closed the connection)
19:14:51  * AvianFlujoined
19:17:05  * mcollinaquit (Read error: Connection reset by peer)
19:27:54  * AvianFluquit (Read error: Connection reset by peer)
19:28:19  * AvianFlujoined
19:29:56  * AvianFluquit (Remote host closed the connection)
19:35:59  * dominictarrjoined
19:37:36  <dominictarr>http://en.wikipedia.org/wiki/List_of_ghost_towns_in_California
19:38:09  <jaz303_>i met dominictarr on friday and he said i should come and say hi
19:38:18  <dominictarr>hey!
19:38:37  <jaz303_>lol i thought i was in terminal
19:38:51  <jaz303_>how's it goin
19:40:24  <dominictarr>Oh, yeah - just taking it easy after big day trecking around edinbrugh -
19:40:30  <dominictarr>castels and whatnot
19:42:59  <mikolalysenko>check it out! finally an fft for higher dimensional typed arrays: https://github.com/mikolalysenko/ndarray-fft
19:43:21  <mikolalysenko>probably not the fastest out there, but it works for non-power-of-two arrays
19:44:44  <dominictarr>jaz303_: ^ see the kind of mad science that goes on in here!
19:44:51  <dominictarr>mikolalysenko: what is this useful for?
19:44:57  <dominictarr>image recognition?
19:45:05  <mikolalysenko>lots of stuff
19:45:18  <mikolalysenko>pdes, image processing, volume graphics stuff
19:45:24  <mikolalysenko>shape reconstruction, bin packing
19:45:47  <jjjjohnnny>mikolalysenko: cool does that work on audio?
19:46:06  <mikolalysenko>yes
19:46:06  <dominictarr>that would just be a 1d array
19:46:07  <mikolalysenko>and images
19:46:12  <jjjjohnnny>i still dont understand how to use FFTs :(
19:46:25  <mikolalysenko>the fast part isn't as important as the fourier part
19:46:38  <mikolalysenko>basically the fourier transform turns convolutions into multiplications
19:46:38  <jjjjohnnny>whats the inverse thing about
19:46:46  <mikolalysenko>inverse undoes the transform
19:46:59  <jjjjohnnny>what about the imaginary
19:47:03  <dominictarr>there is a really good article on this I read a while ago
19:47:13  <mikolalysenko>the output of the fft is a complex valued function
19:47:22  <mikolalysenko>it operates on complex signals
19:47:37  <mikolalysenko>another way to say it is that it decomposes the shift operator into its eigen basis
19:47:50  <dominictarr>jjjjohnnny: http://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
19:48:16  <mikolalysenko>brb phone
19:48:26  <jjjjohnnny>"given a smoothie, it finds the recipe"
19:48:56  <jjjjohnnny>more like finds the recipes eigen basis
19:49:00  <jjjjohnnny>:p
19:49:07  <dominictarr>jaz303_: you should publish your live coding stuff!
19:49:46  <jaz303_>dominictarr: definitely will do this week
19:50:07  <jaz303_>catching up with customer demands before i starve
19:50:13  <dominictarr>jaz303_: always publish eary
19:50:26  <dominictarr>okay, I guess that is one reasonable excuse...
19:50:49  <jaz303_>i ignored emails for about a week leading up to thursday
19:51:01  <jaz303_>there are some very angry people out there
19:58:29  * jcrugzzjoined
20:03:22  * mikolalysenkoquit (Ping timeout: 246 seconds)
20:10:18  * mikolalysenkojoined
20:11:55  * jcrugzzquit (Ping timeout: 264 seconds)
20:14:44  * mikolalysenkoquit (Ping timeout: 252 seconds)
20:19:59  * mikealjoined
20:39:54  * mikolalysenkojoined
20:40:21  * wolfeidaujoined
20:48:10  * mikolalysenkoquit (Ping timeout: 246 seconds)
20:54:10  * mikolalysenkojoined
21:09:10  * st_lukequit (Remote host closed the connection)
21:13:15  * heathchanged nick to data_scientist
21:14:08  * data_scientistchanged nick to data_astronaut
21:17:02  * st_lukejoined
21:17:37  * thl0quit (Remote host closed the connection)
21:17:47  * data_astronautchanged nick to heath
21:22:16  * mikolalysenkoquit (Ping timeout: 260 seconds)
21:38:44  * defunctzombie_zzchanged nick to defunctzombie
21:40:17  * st_lukequit (Remote host closed the connection)
21:42:20  * st_lukejoined
21:42:55  * defunctzombiechanged nick to defunctzombie_zz
21:43:10  * stagasquit (Read error: Connection reset by peer)
21:43:21  * ins0mniaquit (Remote host closed the connection)
21:44:31  * wolfeidauquit (Ping timeout: 246 seconds)
21:48:27  * mikolalysenkojoined
21:50:42  * dominictarrquit (Quit: dominictarr)
21:56:46  * mikolalysenkoquit (Ping timeout: 246 seconds)
22:22:40  <tanepiper>substack_: http://www.reddit.com/r/javascript/comments/1e754m/browserify_getting_slower_as_your_project_grows/
22:23:13  <Nexxy>you mean bundling moar code takes moar tiem?!
22:23:57  <substack_>yes and I know how to solve that problem
22:24:07  <substack_>but pruning the graph correctly is very tricky
22:25:03  <jjjjohnnny>"Congratulations on your progress, coder!"
22:25:42  <jjjjohnnny>gimme a badge says "my stream built app source takes 500ms to load"
22:27:40  <jjjjohnnny>ok, 15 seconds, on this broken chromebook
22:28:31  <jjjjohnnny>wait, wait, thats because ubuntu stupidly does an update check at only the most computationally stressful moments
22:29:17  <jjjjohnnny>still killing it
22:37:06  * dominictarrjoined
22:37:10  * mikealquit (Quit: Leaving.)
22:38:21  <jjjjohnnny>turning that off auto now
22:41:31  * mikealjoined
22:47:26  * mikolalysenkojoined
22:50:34  * thl0joined
22:52:49  * defunctzombie_zzchanged nick to defunctzombie
22:54:52  <substack_>dominictarr: finished the diamond age
22:55:09  <substack_>which book should I read next?
22:55:13  <mbalho>now read http://hackaday.com/2012/10/31/olpc-tablet-distribution-proves-concepts-laid-out-in-the-diamond-age/
22:55:32  <mbalho>substack_: im reading Anathem and it is blowing my mind
22:55:40  * substack_changed nick to substack
22:56:15  * st_lukequit (Remote host closed the connection)
23:00:03  <dominictarr>substack: haha, snow crash and cryptonomicon are also very good.
23:02:20  <mbalho>dominictarr: have you read anathem? you remind me of the character Lio
23:02:30  * defunctzombiechanged nick to defunctzombie_zz
23:02:38  <mbalho>dominictarr: and substack is like Jad
23:02:42  <dominictarr>no
23:02:53  <mbalho>dominictarr: read it now!!!
23:03:09  <mbalho>dominictarr: it is imperative to our future society that the ideas within are implanted in your head as soon as possible!
23:06:59  * st_lukejoined
23:07:03  * mikolalysenkoquit (Read error: Connection reset by peer)
23:07:24  <dominictarr>right - just brought it for kindle
23:07:52  * mikolalysenkojoined
23:09:30  <rvagg>I can highly recommend this, in a similar genre: http://www.withurwe.com/
23:10:43  <mbalho>rvagg: ooh looks good, another trio of books in that genre is the Manifold series by Stephen Baxter
23:11:11  * rvagglooks
23:11:38  <mbalho>rvagg: each book explores a different aspect of polycosms through spec-fic narrative :D
23:14:16  <mbalho>haha ". Mr. Alexander has generously agreed to donate 35% of the proceeds of Wĭthûr Wē to the Federal Government, and is prepared to donate 39.6% if President Obama requires it. "
23:20:54  * st_lukequit (Read error: Connection reset by peer)
23:21:15  * st_lukejoined
23:22:11  * wolfeidaujoined
23:23:00  * jolissjoined
23:34:18  * wolfeidauquit (Remote host closed the connection)
23:40:07  * dominictarrquit (Quit: dominictarr)
23:40:52  * thl0quit (Remote host closed the connection)
23:42:04  <jjjjohnnny>BOOK CLUB
23:42:05  <LOUDBOT>EACH PACK OF 500 BALLS WILL FILL APPROXIMATE 7.5 CUBIC FEET OF VOLUME.
23:43:26  <jjjjohnnny>mikolalysenko: what is the imaginary part my signal, if my signal is say an audio stream?
23:44:29  <jjjjohnnny>mbalho: how do i get that esprima error codes? an event?
23:45:03  * wolfeidaujoined
23:47:49  <mbalho>jjjjohnnny: dunno off the top of my head, look at my code from that repo
23:49:01  * thl0joined
23:52:02  * thl0quit (Remote host closed the connection)
23:54:31  * mikolalysenkoquit (Ping timeout: 264 seconds)