00:04:45  * tilgovi_quit (Ping timeout: 244 seconds)
00:11:36  * TheJHquit (Ping timeout: 246 seconds)
00:18:26  * tilgovijoined
00:30:09  * mikealquit (Quit: Leaving.)
00:46:51  * maxogdenquit (Quit: Lost terminal)
00:47:32  * maxogdenjoined
00:48:29  * wiwilliaquit (Ping timeout: 272 seconds)
00:49:18  * mikealjoined
00:54:14  * tilgoviquit (Remote host closed the connection)
00:58:29  <rowbit>Hourly usage stats: [free: 10]
01:21:17  * mikealquit (Quit: Leaving.)
01:56:47  * mikealjoined
01:57:01  * mikealquit (Client Quit)
01:58:29  <rowbit>Hourly usage stats: [free: 14]
02:05:06  * mikealjoined
02:07:55  <SubStack>mikeal: you should check out airport now if you haven't already
02:08:40  <SubStack>now when you connect to a node if that node goes down and comes back up with a different host/port everything re-routes accordingly
02:09:01  <mikeal>what is airport?
02:09:13  <maxogden>now when you connect to a node if that node goes down and comes back up with a different host/port everything re-routes accordingly
02:09:13  <SubStack>it's an abstraction on top of seaport and upnode
02:09:48  <SubStack>you just air.connect('beep', function (remote) { ... })
02:09:59  <maxogden>it lets you connect to a channel rather than a specific port
02:10:00  <SubStack>and air(fn).listen('beep')
02:11:01  <SubStack>oh actually var up = air.connect('beep') then you call up(function (remote) {})
02:11:02  <SubStack>upnode-style
02:11:12  <SubStack>but instead of connecting to a host/port you just specify names instead
02:11:20  <mikeal>yeah, i can't use that
02:11:25  <mikeal>i'd have to do a roundtrip for every request
02:11:57  <mikeal>right now the balancer keeps the hosts/ports in memory, when the config changes it messages the balancer to update that config
02:12:32  <mikeal>it would be nice if fleet used this under the hood to connect to the hub
02:12:41  <SubStack>this is the plan
02:12:55  <SubStack>because it enables failing over to secondary hosts dynamically
02:13:24  <SubStack>so you can have backup hubs for the drones to talk to
02:13:30  <mikeal>right
02:13:36  <mikeal>what about backup seaports?
02:13:51  <SubStack>I need to think more about how that should work
02:13:58  <mikeal>my current issue is not that seaport or the hub go down tho
02:14:08  <SubStack>if it even makes sense to use airport which uses seaport to host seaports
02:14:21  <mikeal>it's that entries stay in seaport when they are down
02:14:50  <mikeal>and in other cases, proceses fall out of seaport but look fine to the drop and i have to kill them and start them
02:15:32  <SubStack>I'm rolling out seaport/airport for browserling/testling now so I'll probably start running into this bug soon too
02:15:38  <SubStack>and will be in a better position to fix them
02:15:43  <mikeal>yeah
02:15:58  <mikeal>i wrote this thing to find inconsistencies and fix them
02:16:03  <mikeal>but it's all fucked up
02:16:10  <mikeal>like, not in a sane way at all
02:16:37  <mikeal>i can see the debug output, and it's saying there are 10 processes, but then i run the same damn script locally and there are like 200
02:16:49  <mikeal>so something is totally fucked
02:16:57  <mikeal>oh, and my favorite, sometimes ps just stops returning
02:16:58  <SubStack>highly probably
02:17:00  <mikeal>for like an hour
02:17:03  <mikeal>and then it works again
02:17:07  <SubStack>ps will stop returning if nodes go dark
02:17:24  <SubStack>since it asks each of the drones in turn for their process lists
02:18:45  <mikeal>need to protect against that
02:19:05  <mikeal>the crazy thing is just that it comes back
02:19:07  <SubStack>I would have thought the recent bidirectional upnode pings would have fixed this
02:19:16  <mikeal>i'm on that
02:19:26  <SubStack>oh!
02:19:31  <SubStack>seaport is upnode : 0.1.x
02:19:34  <SubStack>that might explain it
02:19:39  <mikeal>pfft!
02:19:45  <mikeal>and fleet probably
02:19:52  <SubStack>bidirectional pings are in 0.2.0
02:19:57  <SubStack>yeah probably
02:20:21  <mikeal>this kinda shit gets unmanageable with lots of similiar deps
02:20:23  <SubStack>oh also
02:20:36  <mikeal>i've had this happen a lot with request
02:20:45  <SubStack>I can drop the dnode dep in seaport completely now since upnode has a .listen() api of its own
02:20:50  <SubStack>that automatically enables pings
02:20:56  <mikeal>i have a feature request in to npm
02:21:07  <mikeal>cool
02:24:33  * mikealquit (Quit: Leaving.)
02:25:11  <SubStack>maxogden: going to start using follow to sync the in-memory sessions records among all the webapp variants I think
02:25:25  * mikealjoined
02:27:05  * mikealquit (Client Quit)
02:32:15  * ryan_stevens1quit (Quit: Leaving.)
02:33:42  * mikealjoined
02:33:54  <SubStack>mikeal: ok updated seaport
02:33:57  <SubStack>updating propagit next
02:36:54  <mikeal>at this point, we should all +1 https://github.com/isaacs/npm/issues/2256
02:38:54  * mikealquit (Quit: Leaving.)
02:42:45  * duncanbeeversjoined
02:42:47  <jesusabdullah>protip: rm -rf ./node_modules
02:56:40  * ryan_stevensjoined
02:58:29  <rowbit>Hourly usage stats: [free: 15]
03:10:45  <guybrush>rm -rf node_modules && git checkout node_modules // with bundleDependencies
03:13:32  <guybrush>but that doesnt solve the gh-issue :D
03:22:02  * tilgovijoined
03:28:28  <SubStack>beep boop
03:29:58  <niftylettuce>time to file lawsuit against AT&T
03:30:08  <niftylettuce>maybe i can be second person to win against those fuckers
03:37:38  <rook2pawn>ah flatten .. how would a require loader know which version to pull if it were given a choice of c@0.2, c@0.2.1 and c@0.1-0.2
03:38:12  <rook2pawn>since if you left it hiearchical then there would be only choice
03:38:41  * mikealjoined
03:41:44  <SubStack>rook2pawn: semver.maxSatisfies
03:41:47  <mikeal>if fleet's version of propagit upgraded?
03:42:37  <SubStack>mikeal: fleet depends on ~0.5.3 so the new stuff in 0.5.4 should get included if you install it "fresh"
03:43:04  * isaacsquit (Remote host closed the connection)
03:51:37  <rook2pawn>SubStack: ah
03:53:45  <rook2pawn>http://www.eventbrite.com/event/2811582519/ i am going to demo EpicChess (Canvas + Dnode.. + maybe fleet/seaport if i have time to get it integrated) but need a laptop to demo from :D (that is once i get confirmation from teh organizer)
03:53:57  <SubStack>sweet
03:54:25  <rook2pawn>oh yeah btw check out my apartment rent paying machine
03:54:29  <rook2pawn>http://sweetcloudsvapor.com
03:55:17  <SubStack>my rent paying machine is tshirts
03:55:19  * mikealquit (Quit: Leaving.)
03:55:46  <SubStack>rook2pawn: hmmm maybe I should finish vexport and demo it at codame
03:55:56  <SubStack>http://vexport.jit.su/
03:56:32  <SubStack>it's going to be a collaborative 3d modeling program using three.js
03:57:48  <SubStack>oh sweet, open mic presentations
03:57:58  <SubStack>I would only need a few minutes to show it off
03:58:29  <rowbit>Hourly usage stats: [free: 11]
03:59:29  <rook2pawn>awesome ! were you telling me bout a text-adventure world builder awhile ago? i am visiting family in long beach and all the power was gone for 30hours, so
03:59:45  <rook2pawn>no internet, and only battery power, so i decided to start writing a text-adventure game
03:59:52  <SubStack>fun!
04:00:02  <rook2pawn>hehe
04:00:02  <SubStack>yeah I worked on that idea a bit when I was in alaska
04:00:53  * isaacsjoined
04:01:06  <rook2pawn>the idea i had was given a location you could specify details like {weather : { time : { 6AM-10AM : 'The morning mist fills this eastern shoreline.'}}
04:01:38  <rook2pawn>and then questions would route into buckets that lead into these detail buckets
04:02:28  <SubStack>you could use functions for that
04:03:40  <SubStack>rook2pawn: ok I registered for the event and added it to my calendar
04:04:00  <SubStack>just need to get something fancy enough to show off between now and then
04:09:37  * mikealjoined
04:10:15  <rook2pawn>sweet :D
04:12:30  <SubStack>rook2pawn: also check out this example https://github.com/substack/airport
04:13:53  <SubStack>just got taking up/down a service working even though the services come back on different host/ports as allocated by seaport
04:22:36  * mikealquit (Quit: Leaving.)
04:26:38  * mikealjoined
04:38:58  * mikealquit (Quit: Leaving.)
04:58:29  <rowbit>Hourly usage stats: [free: 11]
05:00:34  * mikealjoined
05:37:40  * yuletidequit (Quit: zzzzzz #cfaphl)
05:44:53  * mikealquit (Quit: Leaving.)
05:49:32  * mikealjoined
05:49:38  * rannmannquit (Ping timeout: 240 seconds)
05:57:54  <SubStack>holy crap I just realized
05:58:02  <SubStack>I can spin up as many webapps as I like
05:58:27  <SubStack>and because the sessions are federated and hit cache and only get created, not modified
05:58:29  <rowbit>Hourly usage stats: [free: 19]
05:58:40  <SubStack>and because everything is behind the load balancer
05:59:04  <SubStack>we can pretty much just spin up as many webapps as we want
05:59:06  <SubStack>and it will just work
05:59:23  <SubStack>and likewise for auth servers
06:05:42  <SubStack>or actually any server
06:18:55  <SubStack>pow there, fixed a DELETE issue
06:19:45  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:19:49  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:19:55  <SubStack>oh noes
06:23:31  <mikeal>haha, that's me last week
06:23:51  <mikeal>"this setup is so awesome" max: "the site is down mikeal."
06:24:11  <maxogden>:)
06:24:33  <maxogden>mikeal: you can deploy master for the new event page
06:25:03  <mikeal>fuq ya!
06:25:24  <mikeal>wait, did you merge the branch yet?
06:25:43  <maxogden>ya
06:26:33  <SubStack>oh sweet, the free servers came back up automatically
06:26:47  <mikeal>hrm...
06:26:52  <mikeal>i may have already deployed it :)
06:27:03  <SubStack>empty canvas though >_<
06:27:28  <SubStack>deploy all the things!
06:32:05  <SubStack>now getting the encoders ported to using airport
06:32:13  <SubStack>BUT FIRST
06:32:14  <LOUDBOT>WHAT IS THE MATTER WITH ME IS THAT MY NAME IS NOT MORAN YOU IDIOT.
06:32:16  <SubStack>eating foods
06:34:29  <mikeal>maxogden: for some reason firefox doesn't support whatever fixed layout thing you're doing :(
06:34:36  <mikeal>it's perfect in Chrome
06:34:40  <maxogden>oh weird
06:34:42  <maxogden>link?
06:34:50  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
06:35:58  <SubStack>>_<
06:36:52  <SubStack>mikeal: can you verify that this person is doing it wrong for me? https://github.com/substack/seaport/issues/1
06:37:27  <mikeal>https://gather.at/e/6277a0eb#/
06:37:56  <mikeal>i don't do that
06:38:01  <mikeal>SubStack: ^^
06:38:06  <mikeal>i just bind to the port
06:38:29  <SubStack>yeah same
06:38:31  <mikeal>i don't think your listen method passes args off directly to net
06:38:31  <maxogden>mikeal: its a little buggy when i'm resizing in firefox but it renders fine for me
06:38:39  <maxogden>ff5.0.1
06:39:04  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:39:17  <mikeal>maxogden: http://dl.dropbox.com/u/503516/Screen%20Shot%202012-03-26%20at%2011.38.09%20PM.png
06:39:28  <mikeal>ff 5.0.1 is ancient :)
06:39:38  <mikeal>i'm on 12.0 :)
06:39:50  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:40:08  <maxogden>well they apparently broke shit since then
06:40:25  <maxogden>i thought it autoupdates or something
06:41:11  <mikeal>it autoupdates as of like 6 or 7
06:41:31  <mikeal>could be they just support a new css feature you're using that conflicts
06:41:34  <mikeal>or maybe they broke shit
06:41:43  <mikeal>browsers man
06:42:22  <maxogden>its just background: url('images/hextile-tall.png') repeat top center
06:47:34  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:47:37  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:47:49  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:31  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:32  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:33  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:33  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:33  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:50  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:52  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:54  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:48:58  * yuletidejoined
06:49:24  * mikealquit (Quit: Leaving.)
06:50:32  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:51:00  * mikealjoined
06:51:18  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:51:19  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:55:23  * mikealquit (Client Quit)
06:55:52  * mikealjoined
06:56:55  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:57:40  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
06:58:29  <rowbit>Hourly usage stats: [free: 10]
06:58:59  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
06:59:09  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
06:59:23  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
06:59:32  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
06:59:36  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
07:00:20  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:02:25  <SubStack>>_<
07:14:37  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:14:56  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:14:57  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:14:58  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:14:58  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:14:58  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:14:58  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
07:15:47  * stlsaintquit (Ping timeout: 246 seconds)
07:22:54  * stlsaintjoined
07:31:26  * isaacsquit (Remote host closed the connection)
07:58:30  <rowbit>Hourly usage stats: [free: 6]
08:06:45  * niscjoined
08:17:17  * ryan_stevensquit (Quit: Leaving.)
08:36:00  <SubStack>oh sweet the free server came back but where are the others!
08:58:29  <rowbit>Hourly usage stats: [free: 19]
09:58:29  <rowbit>Hourly usage stats: [free: 27]
10:04:53  * TheJHjoined
10:06:33  * st_lukequit (Remote host closed the connection)
10:50:14  * niscquit (Read error: Connection reset by peer)
10:50:41  * niscjoined
10:50:59  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
10:58:29  <rowbit>Hourly usage stats: [free: 9]
11:06:00  * TheJHquit (Ping timeout: 272 seconds)
11:20:16  * tilgoviquit (Read error: Operation timed out)
11:27:10  * TheJHjoined
11:58:29  <rowbit>Hourly usage stats: [free: 17]
12:26:44  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
12:26:45  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
12:26:54  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
12:48:12  <SubStack>pinging pkrumins
12:58:29  <rowbit>Hourly usage stats: [free: 21]
13:41:13  * yuletidequit (Quit: zzzzzz #cfaphl)
13:58:29  <rowbit>Hourly usage stats: [free: 26]
14:03:38  * st_lukejoined
14:07:02  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:10  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:11  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:12  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:16  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:18  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:19  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:20  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:07:21  <rowbit>/!\ ATTENTION: (default-local) No API available for group free /!\
14:07:30  <rowbit>/!\ ATTENTION: (default-local) No API resources availble for the free group /!\
14:42:17  * isaacsjoined
14:43:31  <rowbit>/!\ ATTENTION: (default-local) icilianfenner@... successfully signed up for developer browserling plan ($20). Cash money! /!\
14:43:31  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
14:58:29  <rowbit>Hourly usage stats: [developer: 1, free: 25]
15:00:59  * sorensenquit (Read error: Operation timed out)
15:03:56  * sorensenjoined
15:12:36  <pkrumins>fixing!
15:13:26  * hij1nxquit (Quit: hij1nx)
15:14:33  * ircretaryquit (Remote host closed the connection)
15:14:39  * ircretaryjoined
15:31:02  * hzinjoined
15:31:26  * wiwilliajoined
15:39:43  <rowbit>/!\ ATTENTION: (default-local) blizzz@... successfully signed up for developer browserling plan ($20). Cash money! /!\
15:39:44  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
15:46:15  * ryan_stevensjoined
15:52:17  * sorensen__joined
15:58:29  <rowbit>Hourly usage stats: [developer: 3, free: 26]
16:03:29  * rannmannjoined
16:08:33  * wiwilliaquit (Read error: Connection reset by peer)
16:13:21  * ryan_stevensquit (Quit: Leaving.)
16:17:08  * tilgovijoined
16:39:09  * st_luke_joined
16:40:18  * st_lukequit (Disconnected by services)
16:40:20  * st_luke_changed nick to st_luke
16:46:16  * mikealquit (Quit: Leaving.)
16:46:17  * ryan_stevensjoined
16:51:58  * mikealjoined
16:54:21  * yuletidejoined
16:56:39  * mikealquit (Client Quit)
16:58:31  <rowbit>Hourly usage stats: [developer: 4, free: 31]
17:02:05  * mikealjoined
17:27:25  * TheJHquit (Ping timeout: 260 seconds)
17:34:10  * TheJHjoined
17:35:15  * tilgoviquit (Ping timeout: 248 seconds)
17:45:20  * hij1nxjoined
17:54:14  * mikealquit (Quit: Leaving.)
17:58:29  <rowbit>Hourly usage stats: [free: 67]
17:59:54  * yuletidequit (Quit: zzzzzz #cfaphl)
18:00:28  * yuletidejoined
18:11:34  * AvianFluquit (Quit: Leaving)
18:15:07  * AvianFlujoined
18:38:40  <maxogden>SubStack: ohHH if the server doesnt set mutlipart/octet-stream you can't use xhr2 to stream? so if you are requesting something and it's application/json it wont work?
18:39:17  <SubStack>yep seems that way
18:41:14  <maxogden>well that sucks
18:42:01  <maxogden>i wonder if couch honors accept: multipart/octet-stream
18:46:27  <SubStack>doesn't seem like it
18:46:37  * mikealjoined
18:46:43  <SubStack>you could proxy it though
18:46:54  <maxogden>we could proxy the whole internet to fix all the things
18:46:59  <SubStack>correct
18:51:59  <maxogden>SubStack: do you knwo what the xhr.responseType setting does
18:58:29  <rowbit>Hourly usage stats: [free: 50]
18:58:49  <SubStack>nope
18:59:35  * sorensen__quit (Quit: Linkinus - http://linkinus.com)
19:15:00  <maxogden>SubStack: check out xhr.overrideMimeType
19:16:43  * mikealquit (Quit: Leaving.)
19:46:49  <SubStack>awww https://twitter.com/#!/hughfdjackson/status/184726031788281856
19:48:00  * TheJHquit (Ping timeout: 260 seconds)
19:58:29  <rowbit>Daily usage stats: [developer: 10, free: 563]
19:58:29  <rowbit>Hourly usage stats: [developer: 1, free: 51]
20:07:22  * hij1nxquit (Quit: hij1nx)
20:14:03  * yuletidequit (Quit: zzzzzz #cfaphl)
20:29:00  * maxogdenchanged nick to jan____________
20:29:41  * jan____________changed nick to maxogden
20:32:59  * mikealjoined
20:34:58  * TheJHjoined
20:37:00  * tilgovijoined
20:58:29  <rowbit>Hourly usage stats: [developer: 1, free: 52]
21:52:03  <mikeal>SubStack: is there a way to only subscribe to a subset of the events on the hub?
21:52:19  <mikeal>i'm trying to build a script similar to monitor
21:52:26  <mikeal>but only listens to stdout and for crashes
21:52:47  <mikeal>but monitor uses hub.subscribe which subscribes to everything
21:52:52  * hij1nxjoined
21:58:26  <SubStack>yep
21:58:29  <rowbit>Hourly usage stats: [free: 34]
22:00:12  <SubStack>mikeal: you could write a custom bin/hub.js script
22:00:29  <SubStack>that only subscribes to particular events
22:00:37  <SubStack>it's very short since propagit does all the hard things
22:00:44  <mikeal>that's what i'm doing, i think
22:01:20  <mikeal>p.hub.on('up', function (hub) { hub.*what* })
22:01:41  <mikeal>cause hub.subscribe gives me everything, and i don't see anywhere that you only subscribe to a few events
22:02:18  <SubStack>just write a custom hub.subscribe I mean
22:02:23  <SubStack>that only broadcasts certain events
22:03:04  <SubStack>or you can just ignore all the events you don't care about
22:13:59  * mikealquit (Quit: Leaving.)
22:20:58  * mikealjoined
22:43:22  * st_lukequit (Ping timeout: 252 seconds)
22:55:10  * yuletidejoined
22:56:31  * yuletidequit (Client Quit)
22:56:57  * yuletidejoined
22:58:29  <rowbit>Hourly usage stats: [free: 59]
23:03:44  * ITproquit (Ping timeout: 244 seconds)
23:04:06  * ITprojoined
23:10:20  * mikealquit (Quit: Leaving.)
23:24:27  * st_lukejoined
23:29:21  * st_luke_joined
23:30:43  * st_lukequit (Ping timeout: 244 seconds)
23:34:14  * mikealjoined
23:44:03  * isaacsquit (Remote host closed the connection)
23:46:36  * yuletidequit (Read error: Connection reset by peer)
23:48:48  * yuletidejoined
23:58:29  <rowbit>Hourly usage stats: [free: 22]