←2013-07-07 2013-07-08 2013-07-09→ ↑2013 ↑all
00:15:49 <Sgeo_> What's that demo thing?
00:15:50 <Sgeo_> bb
00:15:57 <Sgeo_> For the ... something or other
00:16:33 * Sgeo_ installs bb to check
00:17:15 <Sgeo_> Bike, go watch bb
00:17:38 <kmc> Sgeo_ stops making sense
00:17:58 <shachaf> kmc: it's an aalib demo program, not related to breaking bad, hth
00:17:59 <Bike> wat
00:18:19 <kmc> too bad
00:18:50 <Sgeo_> Wonder if someone put it on YouTube, although that would be crap
00:19:21 <Sgeo_> Bike, it's a video made of ANSI art to show off a library for encoding videos as ANSI art
00:19:44 <Sgeo_> aalib might do more than that
00:20:41 <Sgeo_> YouTubed version of ASCII rendition of a video: http://www.youtube.com/watch?v=9ukhOAUseKY
00:21:16 <shachaf> oh come on
00:21:24 <shachaf> a video of bb?
00:22:03 <Sgeo_> Are there any Linux distros that don't have bb?
00:22:30 <Sgeo_> YouTube is great for linking to Windows friends
00:23:03 <shachaf> I made bb run on Windows once.
00:23:15 <shachaf> It involved Cygwin and a lot of annoyance, I think.
00:23:23 <shachaf> (Getting the audio working was the annoyance part.)
00:24:16 <Sgeo_> Koules!
00:24:22 <Sgeo_> That's the name of that game I forgot the name of!
00:26:39 <shachaf> Hmm, running bb crashed my computer.
00:26:42 <shachaf> Kernel panic.
00:27:22 <Sgeo_> Bleh, I want to be able to play Koules on Windows
00:27:46 <Sgeo_> There is a port
00:28:03 <Sgeo_> Maybe someone should port it to HTML5+Javascript
00:28:10 <Sgeo_> Was going to say Flash, but Flash sucks
00:29:00 <kmc> shachaf: hax
01:17:25 -!- Bike has quit (Ping timeout: 256 seconds).
01:18:20 <Fiora> bike: nya? did someone say aaaronson book computing fiora something or other
01:18:27 -!- Bike has joined.
01:21:08 <Fiora> 18:18 < Fiora> bike: nya? did someone say aaaronson book computing fiora something or other
01:21:19 <katla> hi Fiora
01:30:46 <Bike> coppro asked about quantum computing.
01:40:31 <Fiora> oh
01:40:49 -!- katla has quit (Quit: My damn controlling terminal disappeared!).
01:59:05 -!- nooodl has quit (Ping timeout: 256 seconds).
02:08:00 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:14:42 -!- Bike has quit (Ping timeout: 246 seconds).
02:16:39 -!- Bike has joined.
02:36:57 <kmc> overheard: "Say what you will about that circus, but I still have a huge hard-on"
02:38:02 <Bike> cirque de soleil is like that for me too
02:39:55 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
02:55:01 -!- zzo38 has joined.
03:30:31 -!- oerjan has joined.
03:48:58 -!- sacje has quit (Quit: sacje).
04:36:54 <kmc> oh: "a one-hit pony"
04:37:21 <shachaf> Does "oh" stand for "overheard" or for the word "oh"?
04:38:28 <kmc> 'overheard' in this case
04:39:44 <shachaf> adjunctions are p. good
04:40:35 <kmc> cool
04:40:55 <oerjan> oh: oh
04:43:05 <shachaf> /ignore is a bad solution to irc problems
04:45:04 <Bike> did you say that in response to somebody i have /ignore'd?
04:45:22 <shachaf> no
04:46:35 <oerjan> "06:46 Ignoring ACTIONS TOPICS from is"
04:46:49 <Bike> good move
04:47:03 <shachaf> is?
04:48:29 <oerjan> well that's what irssi responded to your fine command above
04:49:16 <shachaf> ah
04:58:50 <oerjan> @tell Taneb Fourier is what makes computer tomography work. I keep finding this amazing.
04:58:50 <lambdabot> Consider it noted.
04:58:58 <Bike> hm?
04:59:27 <shachaf> tomography is the future
04:59:36 <shachaf> (yestegraphy is the past)
05:00:06 <fizzie> oerjan: Chirplet transforms are where it's at hth
05:01:05 <oerjan> *chirp*
05:02:06 <oerjan> @tell Taneb *computed, apparently
05:02:07 <lambdabot> Consider it noted.
05:09:39 -!- Nisstyre has quit (Quit: Leaving).
05:20:38 -!- TeruFSX has quit (Quit: Leaving).
05:23:40 -!- TeruFSX has joined.
05:47:33 <shachaf> Sgeo_: `olist tomorrow?
05:48:25 <Sgeo_> I estimate the probability of an `olist tomorrow to be in the range [0,1]
05:48:36 <Sgeo_> hth
05:51:32 <oerjan> we'd like a smaller range twh
05:52:55 -!- Bike has quit (Ping timeout: 260 seconds).
05:53:27 <Sgeo_> (0,1) is probably reasonable and is a smaller range hth
05:53:39 <oerjan> thanks
05:54:02 <shachaf> Sgeo_: imo that range is no smaller hth
05:54:34 -!- Bike has joined.
05:55:45 -!- Bike_ has joined.
05:58:59 -!- Bike has quit (Ping timeout: 260 seconds).
06:02:06 <Sgeo_> I should sleep
06:03:44 -!- Bike_ has changed nick to Bike.
06:03:47 <Bike> Sure, if you're a coward.
06:27:27 -!- FreeFull has quit (Quit: See you next time.).
06:28:54 -!- quintopia has quit (Ping timeout: 264 seconds).
06:45:36 -!- zzo38 has quit (Remote host closed the connection).
07:14:37 -!- epicmonkey has joined.
07:19:33 -!- augur has quit (Ping timeout: 248 seconds).
07:42:18 -!- epicmonkey has quit (Ping timeout: 246 seconds).
07:44:15 -!- augur has joined.
07:46:32 -!- augur has quit (Remote host closed the connection).
07:46:59 -!- augur has joined.
07:48:12 -!- augur_ has joined.
07:48:16 -!- augur has quit (Read error: Connection reset by peer).
08:00:03 -!- conehead has quit (Quit: Computer has gone to sleep.).
08:34:47 -!- MindlessDrone has joined.
08:45:16 <shachaf> ion: Do you have Gobby?
08:48:16 -!- epicmonkey has joined.
09:11:16 -!- Taneb has joined.
09:11:32 <Taneb> Oh no!
09:11:37 <shachaf> Oh no!
09:12:11 <shachaf> Taneb: You should do ion's exercises with Mu and Nu. Learn about fixed points and things.
09:12:56 <Taneb> Remember how I said that I was going to read things from the Further Reading section of this book?
09:13:04 <shachaf> No. Which book?
09:13:21 <Taneb> It has no further reading section!
09:14:08 <shachaf> 14:01 <Taneb> In Pursuit of the Unknown: 17 Equations That Changed the World by Ian Stewart
09:14:12 <Taneb> 17 equations that changed the world by Ian Stewart
09:14:16 <shachaf> OK.
09:14:34 <shachaf> well, you could read other books instead
09:15:53 <Taneb> Although the book is cheating- chapter 11 has 4 equations
09:16:12 <shachaf> Are there 17 chapters?
09:16:19 <shachaf> Maybe only one of those 4 equations changed the world.
09:16:42 <Taneb> There are 17 chapters
09:17:06 <Taneb> It's the Maxwell equations
09:17:34 <shachaf> Oh.
09:17:46 <shachaf> Well, those didn't really change anything. They just described the world.
09:18:41 <Taneb> I think the title is using "changed"in a more metaphorical sense
09:19:28 <shachaf> Now, Newton sure did change the world.
09:19:51 <shachaf> If it hadn't been for that jerk inventing we'd still all be flying around.
09:20:25 <shachaf> s/w/gravity w/
09:20:34 <Taneb> Newton got two chapters to himself!
09:21:17 <shachaf> see? jerk
09:21:41 <oerjan> Taneb: i think you _can_ write maxwell's equations as a single one with the appropriate 4-vector formulation.
09:22:00 <Taneb> oerjan, fair enough
09:22:50 <Taneb> Also, I reread the chapter on Fourier transforms and it seemed much nicer this time
09:25:29 <ion> shachaf: Yeah, i have gobby.
09:25:48 <oerjan> shachaf: no one is disputing that newton was a jerk hth
09:26:01 <shachaf> oerjan: did newton discover jerk
09:26:09 <oerjan> possible.
09:26:22 <shachaf> i doubt he discovered acceleration
09:26:35 <oerjan> no, galileo had that one down
09:26:47 <shachaf> ion: if you want we can go through things in it in gobby, if you haven't figured everything out by now
09:26:48 <ion> shachaf: The progress so far. No Nu NatF yet, no conversion between anything either. https://gist.github.com/ion1/5947427
09:27:30 <ion> shachaf: Thanks, i’ll ask you about that later. I’ll let my nephews do some minecrafting on my computer now.
09:27:39 <shachaf> Hmm, what's Blah?
09:28:06 <ion> I have no idea, but it let me define zero, succ' and toInt nicely in the end. :-P
09:28:26 <ion> And i was thinking perhaps i’d try to define the same functions for Nu as well.
09:28:44 -!- oerjan has quit (Quit: Later).
09:29:55 <shachaf> I think you might be going down a misleading path.
09:29:59 <shachaf> Or, at least, an unusual path!
09:30:01 <ion> I bet
09:30:46 <ion> I’ll get some help from you when i come back, but now: nephews. :-)
09:30:48 <ion> Thanks
09:30:56 <shachaf> hi nephews
09:31:02 <shachaf> wait, you have nephews?
09:31:05 <shachaf> imo weird
09:36:12 <Taneb> Huh
09:36:43 <Taneb> Marconi developed radio on THIS VERY ISLAND!!
09:37:18 <olsner> the island of ... hexham?
09:37:32 <Taneb> Wight
09:37:39 <Taneb> I am on holiday
09:38:47 <shachaf> hang on
09:38:50 <shachaf> something is weird about unicode
09:39:04 <shachaf> 1F0AA PLAYING CARD TEN OF SPADES [<U+1F0AA>]
09:39:04 <shachaf> 1F0AB PLAYING CARD JACK OF SPADES [<U+1F0AB>]
09:39:04 <shachaf> 1F0AC PLAYING CARD KNIGHT OF SPADES [<U+1F0AC>]
09:39:04 <shachaf> 1F0AD PLAYING CARD QUEEN OF SPADES [<U+1F0AD>]
09:39:04 <shachaf> 1F0AE PLAYING CARD KING OF SPADES [<U+1F0AE>]
09:39:14 <shachaf> is it just me or is there something... comissing
09:40:24 <Taneb> Oh, come on. That's an inequality, not an equation!
09:41:10 <shachaf> Taneb: an equation is nothing but an isomorphism in a poset category hth
09:41:19 <Taneb> dS>=0
09:42:15 <lifthrasiir> shachaf: did you mean there are 56 and not 52?
09:48:20 -!- AnotherTest has joined.
09:50:35 <ion> shachaf: Ok, they had to leave already. I’m free.
09:50:52 <shachaf> oh
09:50:56 <shachaf> byephews
09:52:08 <ion> shachaf: Oh, it turns out they have a bit more time. Back to Minecraft.
09:52:35 <shachaf> hyephews
09:52:38 <shachaf> https://en.wiktionary.org/wiki/nibling
09:57:37 -!- quintopia has joined.
10:00:08 -!- mnoqy has quit (Quit: hello).
10:02:08 -!- nooodl has joined.
10:05:17 -!- Taneb has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
10:14:04 -!- sebbu2 has joined.
10:17:13 -!- sebbu has quit (Ping timeout: 276 seconds).
10:41:03 <ion> shachaf: Ok, now they left the computer for real.
10:45:13 <shachaf> hion
10:47:30 <ion> hachaf
10:48:05 <shachaf> I haven't used gobby 0.5 before.
10:48:08 <shachaf> New protocol and everything.
10:49:22 <olsner> hmm, does it have undo yet?
10:49:31 <ion> Apparently yes
10:50:01 <shachaf> Oh, undo is good.
10:51:03 <ion> unood
10:51:26 <ion> https://images.4chan.org/diy/src/1373067876565.jpg
10:52:48 <ion> Thinehq. “You didn't log in in the past six months to the AppDB. Please log in or your account will automatically be deleted in one month. http://appdb.winehq.org/account.php?sCmd=login” Because the SQL row takes so much disk space.
10:53:13 <ion> I wonder if that means my contributions would be deleted as well?
10:55:34 -!- nooodl has quit (Ping timeout: 276 seconds).
11:20:09 -!- itsy has joined.
11:36:15 -!- sebbu has joined.
11:38:33 -!- sebbu2 has quit (Ping timeout: 240 seconds).
12:01:11 -!- Koen_ has joined.
12:06:02 -!- Taneb has joined.
12:22:14 -!- katla has joined.
12:32:49 -!- Taneb has quit (Ping timeout: 246 seconds).
13:10:58 <elliott> http://esolangs.org/wiki/Emotebatch
13:10:59 <elliott> help
13:11:04 <elliott> does shubshub have a new name now
13:53:30 -!- heroux has quit (Ping timeout: 264 seconds).
13:53:50 -!- heroux has joined.
13:54:06 -!- sacje has joined.
14:00:39 <ion> https://twitter.com/fisa_court
14:23:21 -!- sebbu2 has joined.
14:25:52 -!- sebbu has quit (Ping timeout: 246 seconds).
14:39:33 -!- SirCmpwn has quit (Ping timeout: 248 seconds).
14:40:24 -!- katla has quit (Quit: My damn controlling terminal disappeared!).
14:58:22 -!- SirCmpwn has joined.
15:25:19 -!- SirCmpwn has quit (Ping timeout: 276 seconds).
15:25:20 -!- FreeFull has joined.
15:52:20 -!- Taneb has joined.
16:07:55 -!- surma has quit (Ping timeout: 245 seconds).
16:08:19 -!- upgrayeddd has quit (Ping timeout: 264 seconds).
16:09:31 -!- ggherdov has quit (Ping timeout: 264 seconds).
16:09:31 -!- ssue__ has quit (Ping timeout: 264 seconds).
16:13:06 -!- ggherdov has joined.
16:15:56 -!- Taneb has quit (Ping timeout: 260 seconds).
16:29:47 -!- nooodl has joined.
16:30:53 <kmc> shachaf: it's weird how the way you write a static method in Rust is you just don't have a parameter named 'self'
16:31:15 -!- mnoqy has joined.
16:33:01 -!- FreeFull has quit (Quit: rebooting).
16:34:53 -!- SirCmpwn has joined.
16:36:14 -!- ssue__ has joined.
16:37:01 -!- zzo38 has joined.
16:37:03 -!- FreeFull has joined.
16:42:32 -!- Taneb has joined.
16:48:34 -!- heroux has quit (Ping timeout: 268 seconds).
16:50:15 -!- heroux has joined.
17:00:01 -!- sebbu2 has changed nick to sebbu.
17:01:04 <elliott> has anyone used digitalocean.com? seems like I could get twice the RAM and disk space and 1.5x the transfer for the same price I am paying for Linode now
17:01:09 <elliott> which makes me a bit suspicious :P
17:02:03 <olsner> since linode are famous enough that I've heard of them, it would make sense for them to be overpriced
17:03:24 <elliott> I guess they don't have IPv6 and I would have to deal with US latency for IRC
17:04:38 -!- Taneb has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
17:05:21 -!- katla has joined.
17:05:51 <ion> Someone i know uses this. http://afterburst.com/unmetered-vps
17:06:37 <elliott> hmm, that's less RAM than I have now and I think I've heard bad things about OpenVZ?
17:06:54 <fizzie> I'm using Tilaa these days, which I've probably mentioned. (But I'm not using it for anything, so I can't say all that much about it.)
17:06:56 <elliott> I mean, I want to move off Linode partially because of the security issues, but I am lazy enough that I don't really want to do so for worse performance
17:07:18 <elliott> fizzie: oh, I think I was going to look at them
17:08:20 <elliott> fizzie: this is hard if you don't know how much a euro is
17:08:56 <katla> hi
17:09:19 <elliott> fizzie: wow, 4 gigs of RAM for 17 pounds a month? this pricing is weird
17:10:14 <katla> :/
17:10:27 <elliott> hi katla
17:11:31 <fizzie> Oh, they've removed the traffic restrictions?
17:11:33 <fizzie> I didn't know that.
17:11:52 <ion> http://www.click2houston.com/news/kfc-threatens-lawsuit-over-hitler-chicken-restaurant/-/1735978/20875398/-/2clb8u/-/index.html
17:11:57 <fizzie> There used to be a quota for outgoing stuff.
17:12:20 <kmc> ion: c.c
17:12:20 <myndzi> c.c.c
17:12:21 <myndzi> c.c
17:12:25 <fizzie> I'm using the extra-cheap 256M plan they've apparently stopped selling.
17:12:42 <fizzie> "-- since you just can't be very productive with just 256Mb of RAM or 10GB of disk space --"
17:12:50 <fizzie> Excuse me but I'm being very productive!
17:12:54 <elliott> where are the servers?
17:13:03 <fizzie> Somewhere around Amsterdam.
17:13:20 <fizzie> (I'm thinking their pricing is because of DRUGZ.)
17:13:25 -!- Phantom_Hoover has joined.
17:13:28 <elliott> well I thought digitalocean sounded too good to be true but this seems rather implausibly cheap even by those standards
17:13:43 <elliott> do they do IPv6?
17:13:47 <fizzie> Yes.
17:14:01 <elliott> I wonder what the ping is like
17:14:08 <ion> About 42
17:14:19 <elliott> apparently I have 35 ms ping to my server right now
17:14:26 <elliott> but I remember it being as low as 15, maybe it's the wifi
17:14:30 <elliott> or uh
17:14:31 <fizzie> You can try pinging eos.zem.fi too, I think it should answer.
17:14:36 <elliott> no wait nevermind
17:14:43 <elliott> my reason for thinking that thinking it's wifi made no sense made no sense
17:15:02 <ion> I have a latency of 1.28 ms to my server.
17:15:10 <elliott> fizzie: hm, about 40 ms
17:15:15 <elliott> that might be ok
17:15:21 <elliott> fizzie: how about you let me run irssi on your server as a test :P
17:16:11 <elliott> haha, and it only costs 51 pence extra a month to go from the storage I have now to doubling the storage, with tilaa
17:16:59 <fizzie> There was something slightly weird about the IPv6 stuff... as in, they configure a /96 network for each host, which is slightly iffy standards-wise -- you're not really supposed to have networks smaller than /64 -- but I guess that's not terribly important. (They also assign a single address out of a proper /64 for the server, so I don't use the optional /96.)
17:17:17 <fizzie> Oh, and the prices don't include VAT.
17:17:21 <elliott> right, well
17:17:28 <elliott> all I want is for esolangs.org to be accessible via IPv6 :P
17:17:35 <fizzie> (I think that wasn't shown very clearly.)
17:17:48 <elliott> is this fancy dutch VAT, or
17:18:04 <fizzie> I don't quite recall how it goes, maybe I should look up the latest invoice.
17:19:13 <fizzie> There's a 21% VAT, which I think isn't any Finnish rate, so I suppose it's Dutch.
17:20:04 <fizzie> (So it's not *quite* as cheap as it might appear on the first glance. Unless you've got some kind of a corporation that can buy it VAT-free.)
17:20:12 <elliott> okay so I would pay a pound extra to quadruple my RAM
17:20:14 <elliott> that seems pretty good
17:21:17 <Phantom_Hoover> idk
17:21:24 <Phantom_Hoover> there might be a catch
17:21:43 <elliott> well the catch is I have to use a VPS provider recommended to me by a speech recognition researcher
17:21:56 <Phantom_Hoover> ouch
17:22:00 <Phantom_Hoover> idk if that's worth it
17:22:31 <kmc> ENLARGE YOUR RAM 400% TODAY
17:22:51 <Phantom_Hoover> 300%, kmc
17:22:53 <Phantom_Hoover> 300
17:23:00 <elliott> need a VPS version of http://downloadmoreram.com
17:23:16 <elliott> wget http://downloadmoreram.com/server.ram
17:23:16 <katla> whats up
17:23:43 <Phantom_Hoover> ISS
17:24:11 <ion> Are you sure? It might be down.
17:25:18 <fizzie> http://iss.astroviewer.net/ says it's somewhere above the Atlantic Ocean at the moment.
17:25:21 <ion> I wonder if the image is to scale? http://www.isstracker.com/
17:25:37 <Phantom_Hoover> yeah, it's up
17:25:45 <Phantom_Hoover> (i guess it's probably down wrt most of us)
17:26:23 <Fiora> oh kmc and maybe anyone else: I linked this to bike the other day but maybe you might like it too
17:26:25 <fizzie> ion: That's no moon!
17:26:26 <Fiora> http://wearedata.watchdogs.com/start.php?locale=en-EN&city=london
17:26:47 <Fiora> it's a watch_dogs-style visualization of london made entirely out of public data (tweets, traffic lights, demographic data, building locations, etc)
17:27:25 <Phantom_Hoover> holy fucking camera controls
17:27:28 -!- nortti has changed nick to nortti-.
17:27:39 <Bike> fiora's such a corporate shill
17:27:41 -!- nortti- has changed nick to nortti.
17:27:50 <Fiora> yes I am actually paid by ubisoft to promote their games
17:27:52 <Fiora> XP
17:27:59 <fizzie> There seem to be .kmz files that put the ISS into Google Earth.
17:28:00 <Fiora> (but seriously the game looked really cool okay)
17:28:12 <fizzie> (As in, show it in the software; not files that ram the station to the Earth owned by Google.)
17:28:37 <katla> hello
17:28:38 <elliott> thank you for that important clarification, fizzie
17:29:48 <katla> hi Fiora
17:29:52 <Fiora> hiii!
17:30:18 <katla> hope youre having a good day
17:30:59 <Fiora> um... I played some kingdom hearts and went to work so I guess it's okay so far
17:32:48 <Bike> i like to imagine that at work you quickly switch between irc and kingdom hearts and your actual work whenever a manager walks by
17:33:05 <fizzie> With a BOSS KEY.
17:33:33 <fizzie> Back in the good old days, games had a BOSS KEY that switched from the game screen to some generic "boring spreadsheet and bar plots" screen.
17:33:41 <fizzie> Or at least one game did.
17:33:56 <Bike> yeah, N has that too, mostly as a joke probably
17:33:57 <Fiora> I don't play kingdom hearts at work xD
17:34:19 <Bike> uhhuh sure
17:34:24 <Fiora> -_-
17:34:32 <fizzie> http://www.switched.com/2010/03/08/cant-you-see-im-busy-game-cleverly-disguises-your-procrastin/ the first image is the craftiest.
17:34:43 <mnoqy> playing game at work sounds like a good way to add tension & heighten the experience to a whole new level
17:35:08 <elliott> the tension of being at work or the tension of playing a game
17:35:10 <Bike> really, if you play it right, kingdom hearts is basically a horror game
17:35:55 <mnoqy> elliott: the beauty is if you do it right they are one and the same
17:46:25 -!- MindlessDrone has quit (Quit: MindlessDrone).
17:54:31 -!- katla has quit (Quit: BitchX-1.1-final -- just do it.).
17:55:44 -!- katla has joined.
17:56:02 -!- Nisstyre-laptop has joined.
17:57:35 -!- Nisstyre-laptop has changed nick to Nisstyre.
18:06:10 -!- upgrayeddd has joined.
18:06:17 -!- surma has joined.
18:07:10 -!- Zerker has joined.
18:15:25 -!- Zerker has quit (Remote host closed the connection).
18:21:45 -!- epicmonkey has quit (Ping timeout: 240 seconds).
18:25:58 -!- pikhq has quit (Remote host closed the connection).
18:26:12 -!- pikhq has joined.
18:47:08 -!- Nisstyre has quit (Quit: Leaving).
19:07:35 -!- conehead has joined.
19:20:17 -!- AnotherTest has left.
19:21:22 -!- asdfasd_ has joined.
19:21:25 <asdfasd_> http://www.youtube.com/watch?v=c7HhYE_ddtQ&feature=youtu.be
19:31:07 -!- epicmonkey has joined.
19:33:41 -!- myname has quit (Quit: leaving).
19:34:26 -!- mnoqy has quit (Quit: hello).
19:36:25 <elliott> asdfasd_: you are GOMADWarrior right?
19:36:40 <asdfasd_> no
19:37:08 <elliott> elliott@solidity:~/.irssi/logs/freenode/#esoteric$ grep 186.222.47.192 *.log
19:37:08 <elliott> 2013-07-07.log:00:18:42 9/-?/!9/-g ;/GOMADWarriorg 8/[g3/bade2fc0@gateway/web/freenode/ip.186.222.47.192g8/]g has joined c#esotericc
19:37:11 <elliott> 2013-07-07.log:00:38:43 9/-?/!9/-g 3/GOMADWarriorg 8/[gbade2fc0@gateway/web/freenode/ip.186.222.47.1928/]g has left c#esotericc 8/[g8/]g
19:37:14 <elliott> 2013-07-08.log:20:21:22 9/-?/!9/-g ;/asdfasd_g 8/[g3/bade2fc0@gateway/web/freenode/ip.186.222.47.192g8/]g has joined c#esotericc
19:37:17 <elliott> asdfasd_: are you sure?
19:37:26 <asdfasd_> why?
19:37:28 <elliott> that's also (a video of) the same game you've linked here several times in the past.
19:38:17 <elliott> asdfasd_: well, because I figure you're using another name so people don't realise it's you, so you can continue using the channel solely to talk about irrelevant things that nobody has expressed any interest in (e.g. trolling other channels, which already got you banned once). your denial seems to confirm that
19:38:50 <asdfasd_> irrelevant? you're calling my game irrelevant?
19:38:52 <elliott> if you have another plausible interpretation I'm open to considering it
19:40:02 <elliott> well, it's certainly off-topic, which is of course not necessarily a blocker to talking about it in #esoteric. but the only time it has come up here has seemingly been in linking it out of the blue and asking random questions about it that nobody seems interested in
19:40:16 <elliott> which wouldn't be a problem in itself, but combined with your other behaviour I find it a little dubious...
19:42:35 -!- Taneb has joined.
19:42:42 <Taneb> Hi
19:42:46 <kmc> hi Taneb
19:44:58 -!- pikhq has quit (Remote host closed the connection).
19:45:06 <elliott> asdfasd_: actually it seems you are still in the ban list as 189.34.44.144 so I guess you have just been ban evading for however long?
19:45:21 <asdfasd_> I'm not that guy
19:45:42 -!- pikhq has joined.
19:45:45 <elliott> 2013-06-24.log:07:21:47 ^D9/-^D?/!^D9/-^Dg ^D3/asdfasd^Dg is now known as ^D;/GOMADWarrior^Dg
19:45:48 <elliott> yes you are
19:45:57 <asdfasd_> nope..
19:45:57 <Bike> and now you're doing it in other channels.
19:46:03 -!- ChanServ has set channel mode: +o elliott.
19:46:08 -!- elliott has set channel mode: +b *!*bade2fc0@*.186.222.47.192.
19:46:08 -!- elliott has kicked asdfasd_ asdfasd_.
19:46:16 -!- elliott has set channel mode: +b GOMADWarrior*!*@*.
19:46:23 -!- elliott has set channel mode: -o elliott.
19:46:26 <kmc> yaaaaaaaaay don't evade bans
19:46:33 <elliott> Bike: I suppose I don't really have to ask what
19:46:42 <elliott> oh I should ban this nick too I guess
19:46:49 <Fiora> asdfasd_
19:46:54 <elliott> even if another "asdfasd" might conceivably be innocent, whatever
19:46:55 <Fiora> what a name -_-
19:46:56 <matthiaskrgr> lolwhat
19:46:57 <Taneb> Hold on... elliott has op?
19:46:59 -!- ChanServ has set channel mode: +o elliott.
19:47:06 -!- elliott has set channel mode: +b asdfasd!*@*.
19:47:08 -!- elliott has set channel mode: +b asdfasd_!*@*.
19:47:09 -!- elliott has set channel mode: -o elliott.
19:47:18 <Bike> Taneb: he took power in a recent coup
19:47:28 <matthiaskrgr> oh, you banned someone and he used webchat? clever ;)
19:47:37 <Bike> didn't you notice oerjan's decaying corpse
19:47:48 <Taneb> Where does the term "Hamming distance" come from?
19:47:58 <katla> ham
19:48:07 <coppro> Taneb: mathematicians who like to joke about binary vectors a lot
19:48:18 <kmc> shachaf: so rust lets you do something like template specialization, e.g. struct ScriptView; struct Node<View> { ... }; impl Node<ScriptView> { ... }
19:48:19 <Fiora> Richard Hamming, I think
19:48:22 <elliott> Taneb: kmc stole my reveal on that one
19:48:27 <Bike> hamming's a cool guy. he has a lecture series on youtube.
19:48:28 <elliott> for which I can never forgive him
19:48:35 <Bike> talks about inventing coding theory and stuff.
19:48:44 <Fiora> Hamming windows, Hamming matrix, Hamming numbers, Hamming distance, Hamming bound, Hamming code
19:48:49 <kmc> the methods defined in that 'impl' block will only be available for Node<ScriptView>
19:48:51 <Bike> Hamming name scheme
19:49:10 <Fiora> he's really hogging so many of these names in math and CS
19:49:10 <kmc> Servo uses phantom types in this way to restrict what layout vs. JS can do to the DOM
19:49:13 <kmc> p. cool
19:49:35 <katla> Bike I should watch that
19:49:40 <katla> i wonder if I can be bothered
19:49:51 <Taneb> I did not realise there was a mister Hamming
19:49:54 <Bike> i dunno, i couldn't be.
19:50:04 <Bike> too busy watching lewontin *biology solidarity*
19:50:25 <elliott> god damn I just realised he has another name
19:50:27 -!- ChanServ has set channel mode: +o elliott.
19:50:30 -!- elliott has set channel mode: +b Regis*!*@*.
19:50:32 -!- elliott has set channel mode: -o elliott.
19:50:36 <elliott> imo, trolls should stick to one name.
19:51:07 <Bike> katla: http://www.youtube.com/playlist?list=PL2FF649D0C4407B30
19:51:18 <Bike> i mean, also, i'd like never watch the AI ones :V
19:54:30 -!- Taneb has quit (Ping timeout: 246 seconds).
19:54:38 -!- Taneb has joined.
19:54:58 <Taneb> I do not know what happened there...
19:55:11 <elliott> you pinged out
19:55:15 -!- pikhq has quit (Ping timeout: 260 seconds).
19:55:22 <elliott> like pikhq
19:56:22 <Taneb> My phone turned itself off...
19:57:15 <kmc> shachaf: what do you think of that
19:58:07 <elliott> kmc: i don't understand what Node<View> has to do with it there
19:58:12 <elliott> or is it meant to be Node<ScriptView>
19:59:33 <kmc> View is a parameter and ScriptView is a specific instantiation
19:59:38 <kmc> at least I think that's what's going on
19:59:51 <kmc> just struct Node<T> really
20:00:01 <kmc> it's a phantom parameter anyway so it's not used in the body of the struct
20:00:39 <elliott> oh
20:00:46 <Taneb> Rust scares
20:00:48 <elliott> they should use lowercase type variables!!
20:00:49 <Taneb> Me
20:01:19 <Bike> have you considered writing a horror story about rust
20:02:16 <Taneb> I exclusively write action-adventure
20:02:24 <elliott> action-adventure-horror story about rust
20:02:30 <Bike>
20:02:41 <zzo38> Maybe even "action-adventure-horror" isn't good enough.
20:06:26 <elliott> oh
20:06:32 <elliott> I didn't need to have that argument with gomadwarrior
20:06:47 <elliott> since he literally linked it in #haskell
20:06:53 <elliott> well I guess that was a few minutes into the argument
20:08:36 <Bike> i just figuratively linked it in #esoteric
20:08:38 <Bike> !!
20:09:43 <kmc> set fire to flames
20:12:13 <kmc> cooool http://lwn.net/Articles/452035/ Android lets you map memory and tell the kernel "hey i'm just using this for a cache, feel free to toss it if memory is tight"
20:12:38 <Fiora> huh, that's kind of cool
20:12:57 <kmc> it makes sense because every program ever written has like 50 layers of caching
20:13:38 <ion> madvise didn’t let you do that?
20:13:59 <ion> I guess not.
20:14:05 <kmc> well that wouldn't really be "advice" although iirc not all madvise thingies are
20:14:11 <Fiora> you'd need some way for the kernel to tell you "oh hey I threw away your memory"
20:14:23 <Fiora> like a callback
20:14:34 <kmc> yeah, AshMem handles that with an ioctl that you call to "pin" and "un-pin" memory
20:15:01 <Fiora> so like, if you unpin it, it can disappear at any time?
20:15:12 <elliott> Fiora: clearly you just catch SIGSEGV
20:15:16 <elliott> when you try to access it
20:15:26 <Fiora> that... that sounds terrible XD
20:15:39 <ion> MADV_DONTNEED: Do not expect access in the near future. (For the time being, the application is finished with the given range, so the kernel can free resources associated with it.) Subsequent accesses of pages in this range will succeed, but will result either in reloading of the memory contents from the underlying mapped file (see mmap(2)) or zero-fill-on-demand pages for mappings without an
20:15:41 <ion> underlying file.
20:15:56 <Fiora> I think that's different from actually throwing it away, that involves paging it to disk, right?
20:16:08 <ion> Something like that but with slightly different semantics would probably work.
20:16:45 <Fiora> that makes sense
20:18:35 <kmc> interesting
20:18:49 <kmc> it does seem that in some use cases, you could just check for the page having been zeroeed
20:20:48 <Fiora> that feels like it might be dangerous...
20:20:58 <Fiora> like, let's say the kernel does a context switch in the middle of your cache access code
20:21:04 <Fiora> and when it comes back, the data is zeroed
20:21:07 <kmc> yeah
20:21:15 <Fiora> and you can't, like, mutex the kernel
20:21:31 <kmc> you would need to load the whole cache item into registers or non-disappearing memory, and then check if it's zero
20:21:42 <kmc> so it would be hard to use correctly esp. with compiler optimizations
20:22:00 <Fiora> you'd need to load it atomically,
20:22:01 <Fiora> I think
20:22:03 <ion> fiora: Send a patch for lock_kernel(), unlock_kernel() to Linus.
20:22:09 <kmc> mm
20:22:10 <Fiora> XD
20:22:28 <kmc> iopl(3); asm("cli"); // problem solved
20:23:07 <Fiora> iopl?
20:24:37 <kmc> it's a system call on x86 linux that gives a (root privileged) userspace program permission to access IO ports directly
20:24:59 <kmc> which includes the ability to disable interrupts, for some reason
20:25:29 <Fiora> wow
20:25:34 <Fiora> does that require sudo?
20:25:48 <ion> “(root privileged)”
20:26:08 <fizzie> Well, now! CAP_SYS_RAWIO-privileged!
20:26:12 <kmc> :)
20:26:30 <ion> That’s “root” privileged FSVO “root”. ;-)
20:26:47 <elliott> imagining fizzie sitting in a corner waving a flag labelled "capabilities" while being ignored
20:26:54 <kmc> yes there are two kinds of POSIX capabilities: the ones that are entirely useless and the ones that can be trivially escalated to root
20:27:20 <kmc> anyway this system call is possible because the x86 has separate flag bits for IO privileges vs. memory/other privileges
20:27:33 <kmc> which in theory means you can have, like, a microkernel in ring 0 and drivers in ring 1/2 and userspace in ring 3
20:27:38 <kmc> in practice nobody does this ever
20:27:51 <fizzie> Hey now, OS/2.
20:27:54 <Fiora> what's the reason that nobody uses rings 1 and 2?
20:28:07 <itsy> Does anyone still use OS/2?
20:28:10 <zzo38> It may be because, you should have a system call override interface, instead, it might help better than capabilities system in some cases.
20:28:15 <itsy> Or BeOS?
20:28:52 <kmc> Fiora: I think it's because most kernels are designed to be vaguely portable, and so they only use hardware features that are common across many architectures
20:28:59 <fizzie> I'm sure there are still people fiddling on Haiku.
20:29:07 <kmc> Xen does use ring 1 for paravirt guest kernel, I believe
20:29:08 <fizzie> If that counts as being a BeOS user.
20:29:18 <fizzie> And OS/2 uses ring 2 for some privileged code.
20:29:20 <Fiora> kmc: ahhhh. so most architectures don't have an equivalent?
20:29:27 <Fiora> (i.e. just kernel and non-kernel code?)
20:29:29 <kmc> right
20:30:31 <kmc> same with x86 segmentation — it can be used to do some cool things, but there's no equivalent on other architectures
20:30:34 -!- Taneb has quit (Ping timeout: 268 seconds).
20:30:39 <elliott> what surprises me about Haiku is that they like, do actual funding
20:30:43 <Fiora> that makes sense, especially given how insane itis
20:30:46 <elliott> who is putting money into Haiku?????
20:30:52 <Fiora> does... does that mean you can't do, like, Native Client on ARM?
20:31:05 <kmc> i think they have some other way to do NaCl things on ARM, maybe
20:31:23 -!- Jafet has quit (Read error: Connection reset by peer).
20:31:29 <fizzie> They do have NaCl ports for non-i386.
20:31:50 <fizzie> You can't do the segmentation tricks on x86-64 while in long mode either, after all.
20:32:28 <fizzie> elliott: Google, apparently.
20:32:37 <elliott> fizzie: but why
20:32:49 <fizzie> elliott: (They're in the $5000-$9999 bin of 2013's public-sponsors list.)
20:32:54 <fizzie> That's the harder question.
20:33:23 <ion> I’m reminded of AmigaOS’ Disable() for disabling interrupts and Forbid() for only disabling task scheduling.
20:34:07 <Fiora> now I'm remembering OSs class and writing mutexes by disabling interrrupts
20:34:12 <Fiora> and feeling like a very terrible person
20:35:03 -!- mnoqy has joined.
20:35:35 <kmc> 420 disable interrupts everyday
20:35:53 -!- Jafet has joined.
20:39:03 * itsy was looking at the new Amiga at the weekend (and also the new MorphOS)
20:41:01 <olsner> hmm, the logic behind IOPL controlling interrupts might be to synchronize io port access across threads
20:41:13 <olsner> and pio stuff could have timing constraints that break if interrupts happen?
20:41:36 <olsner> if nothing else, you could just use your io privileges to disable the interrupt controller
20:42:00 <elliott> there's a new amiga?
20:43:36 <kmc> olsner: well you can also have a bitmask of which io ports you're allowed to use
20:43:45 <kmc> i don't remember the details but it's pretty janky
20:44:05 <olsner> the port bitmap is quite straight-forward though
20:44:45 <kmc> btw actual capabilities systems are cool and nothing like the travesty of POSIX capabilities
20:45:02 <elliott> kmc: @ has them, therefore it is obvious that they are cool
20:45:09 <kmc> it is trivial
20:48:13 -!- Taneb has joined.
20:56:21 -!- atriq has joined.
20:56:21 -!- Taneb has quit (Read error: Connection reset by peer).
20:56:41 -!- atriq has changed nick to Taneb.
20:59:15 -!- Taneb has quit (Remote host closed the connection).
21:03:49 <Bike> capabilities is like EROS, right
21:13:09 -!- impomatic has quit (Ping timeout: 248 seconds).
21:13:58 <fizzie> Like RAMAZZOTTI, right.
21:14:07 <Bike> oh
21:16:46 <ion> > sequence [["FI", "RAMA"], ["ZZ"], ["IE", "OTTI"]]
21:16:47 <lambdabot> [["FI","ZZ","IE"],["FI","ZZ","OTTI"],["RAMA","ZZ","IE"],["RAMA","ZZ","OTTI"]]
21:16:51 <fizzie> I don't think POSIX "caps" are entirely like "real" "caps" you'd find in something as fancy as a research OS.
21:17:02 <ion> > unwords . map join . sequence $ [["FI", "RAMA"], ["ZZ"], ["IE", "OTTI"]]
21:17:03 <lambdabot> "FIZZIE FIZZOTTI RAMAZZIE RAMAZZOTTI"
21:18:29 <fizzie> Oh, that's my full name.
21:19:37 <olsner> fizzie: I suspect they are entirely unlike those caps
21:24:27 -!- sacre has joined.
21:25:32 -!- sacje has quit (Ping timeout: 246 seconds).
21:39:58 <shachaf> kmc: Hmm, I didn't know that.
21:40:41 <kmc> til.
21:41:06 <kmc> how goeschaf
21:42:57 <Gracenotes> hallo shachaf and kmc
21:43:40 <kmc> hi Gracenotes
21:43:48 * kmc → bike → mozilla
21:44:06 <Bike> it's nice being employed again
21:46:45 -!- jconn has quit (Ping timeout: 248 seconds).
21:48:37 <shachaf> byeegan
22:07:01 -!- epicmonkey has quit (Ping timeout: 248 seconds).
22:08:54 <shachaf> ion: hion
22:09:41 <shachaf> I think the next exercises (kind of tricky) are to write inMu :: Functor f => f (Mu f) -> Mu f, outMu :: Functor f => Mu f -> f (Mu f), and the same for Nu.
22:09:46 <shachaf> Or maybe there are other exercises first.
22:10:18 <shachaf> Oh, there's a sort of exercise: Nu Maybe is "bigger" than Mu Maybe. Figure out a Nu Maybe value that isn't in Mu Maybe.
22:15:46 <zzo38> Define Mu and Nu and then we will see about that.
22:16:01 <shachaf> newtype Mu f = Mu { runMu :: forall r. (f r -> r) -> r }
22:16:08 <shachaf> data Nu x = forall x. Nu x (x -> f x)
22:16:36 <shachaf> data Fix f = Fix { runFix :: f (Fix f) }
22:16:44 <shachaf> s/data/newtype/ for that last one.
22:17:01 <zzo38> I think you mean Nu f instead of Nu x isn't it?
22:17:36 <shachaf> Er, yes.
22:17:45 <shachaf> That.
22:21:44 -!- nooodl_ has joined.
22:22:04 <katla> whats the diffrence :/
22:22:18 <katla> :t Nu
22:22:19 <lambdabot> Not in scope: data constructor `Nu'
22:22:29 <Gracenotes> shachaf: you gotta give a talk
22:22:33 <Gracenotes> it will be the best talk
22:22:47 -!- nooodl has quit (Ping timeout: 256 seconds).
22:26:15 <shachaf> what would i even talk about though
22:29:17 <Gracenotes> well, there was a whole article about type-level fix
22:29:22 <zzo38> Try to talk about impossible things.
22:29:36 <Gracenotes> basic things like data vs. codata
22:29:45 <Gracenotes> negative vs positive positions in types
22:30:06 <Gracenotes> naturals via Mu and Nu is not immediately intuitive
22:30:51 <Gracenotes> and, I suppose, the entire talk may well be about data vs. codata, and why it can be useful to separate them, even if Haskell doesn't (or is good to separate them? I don't know).
22:31:59 <Gracenotes> even though lists and colists are very similar, why you might use lists in one circumstance and colists in another
22:32:15 <shachaf> well maybe someone who actually knows about that should talk about it :'(
22:32:17 <Gracenotes> foldr vs unfoldr.
22:32:22 <shachaf> I don't really know much about it.
22:33:22 <Gracenotes> there was that interesting article about solving AST typing using fixpoint types
22:34:39 -!- pikhq has joined.
22:36:52 <katla> whats the difference between Nu and Mu
22:37:15 <katla> haskell syntax is way too complicated, everything should use GADT
22:39:03 <Gracenotes> yeah, GADT definitions of Mu and Nu might be nice
22:39:08 <Gracenotes> I can't do they kind of conversion myself
22:39:10 <Gracenotes> *that
22:40:54 <zzo38> Haskell syntax is complicated; they should make everything to use macros.
22:41:19 <Bike> haskell syntax is complicated, they should make everything use semicolons
22:43:01 <shachaf> Glaswegian Algebraic Data Type
22:43:49 <tswett> Haskell syntax is complicated; they should replace it with XML.
23:03:37 <kmc> elliott: to answer your question about Servo's user agent: it doesn't have one
23:03:49 <kmc> cutting the gordian knot as it were
23:04:04 <elliott> kmc: does it just not send one
23:04:07 <kmc> it just sends "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n"
23:04:10 <kmc> HTTP/1.0 [sic]
23:04:20 <elliott> won't that get it filtered a ton
23:04:24 <kmc> probably
23:04:41 <kmc> on the other hand it will get through Gogo Inflight Wifi paywall! (sort of)
23:04:57 <Fiora> how do those paywalls work?
23:05:02 <kmc> anyway I'll worry about that after I get it to run without crashing
23:05:13 <Fiora> I'm kind of curious, I've always wondered
23:05:19 <kmc> there are lots of different kinds
23:05:37 <kmc> oh there's a ksplice blog post about this!!!
23:05:51 <kmc> https://blogs.oracle.com/ksplice/entry/coffee_shop_internet_access
23:06:21 <kmc> by Jessica McKellar who is pretty cool
23:06:26 <kmc> more recently she wrote a book about Twisted
23:06:31 * Fiora reads!
23:06:34 <kmc> the python network framework thingy
23:06:49 <Gracenotes> ksplice blog is very cool
23:07:00 <Gracenotes> although they deleted some entries when they got acquired by Oracle, I think :(
23:07:08 <Gracenotes> or at least didn't restore all of them
23:07:20 <kmc> yeah they've been slowly reimporting them to the new blog engine
23:07:24 <kmc> I think they're mostly/all up now?
23:07:33 <kmc> I didn't hear of anything being censored by The Man
23:08:25 <Gracenotes> oh, okay, good... unlike when OKCupid was acquired.
23:08:30 <kmc> yeah lololol
23:08:39 <kmc> they had to remove all the posts about how their acquirer was bad
23:08:47 <kmc> Fiora: I believe the Gogo one does a combination of IP based filtering, and HTTP Host: header based filtering for certain IPs that they allow pre-payment
23:09:17 <kmc> and the latter includes some Google servers, so you can run your own proxy on Google App Engine and evade the filter that way, if you just don't send Host:
23:09:23 <Gracenotes> still, that is a form of censorship, temporarily withholding info
23:09:31 <Gracenotes> and also a form of time constraints
23:09:56 <Fiora> that is really cool! what would happen though if you tried to use https instead of http? would it be able to redirect you?
23:10:27 <kmc> Gracenotes: only if deliberate
23:10:39 <kmc> they just didn't have time to import everything into oracle's shit-tastic blog software
23:10:54 <kmc> Fiora: generally no
23:11:54 <kmc> lucky for captive portal operators (and attackers), users ~never type "https://" themselves
23:12:02 <kmc> I don't know how it's supposed to work in the HSTS world, though
23:12:18 <shachaf> @google operator plays a little ping pong
23:12:19 <lambdabot> http://www.youtube.com/watch?v=ahBU4Py5cPg
23:12:19 <lambdabot> Title: Operator Plays A Little Ping Pong - YouTube
23:12:29 <Bike> same
23:17:46 -!- sprocklem has joined.
23:31:09 * kmc currently watching https://github.com/mozilla/servo/wiki/Videos-and-presentations
23:34:05 <Gracenotes> is Servo the best?
23:34:34 <kmc> not yet ;P
23:34:45 <Bike> hasn't gotten the kmc touch
23:35:45 <kmc> lol
23:37:23 <Bike> "yo peeps i found a security hole, the jit we use for fast gif rendering can be used with that css overflow to execute arbitrary assembly code, as long as it looks like Spanish text"
23:38:52 <Gracenotes> yo, it's bullshit that I have to be logged in to access https://air.mozilla.org/fireside-chat-3/
23:39:18 <Gracenotes> for real
23:40:30 <Gracenotes> I ain't got time to make accounts or acquire access
23:42:28 <kmc> get a job at mozilla then
23:45:04 <Gracenotes> no way man
23:45:08 <Gracenotes> you have to liberate the data
23:45:18 <Bike> data wants to be free!
23:45:40 <Gracenotes> codata wants to be cofree
23:51:38 * copumpkin moos
23:52:46 <kmc> cowpumpkin
23:53:11 <shachaf> copyonwritepumpkin
23:54:15 <katla> hi
23:54:25 <Bike> cohi
23:55:56 <kmc> elliott: fun fact: Servo parses images using stb_image.c which the author explicitly says is not for untrusted images (and the Servo team is aware of this, too)
23:56:03 <katla> im not interestd in this stupid prorgamming language shit5
23:57:09 <Bike> what kind of exploits can you hide in image metadata anyway
23:57:28 <kmc> buffer overflows are common in image parsers
23:57:33 <Fiora> http://technet.microsoft.com/en-us/security/bulletin/ms04-028
23:57:36 <Fiora> like that one?
23:58:14 <shachaf> speaking of image parsers someone emailed me and wants me to make my gif thing good instead of bad :'(
23:59:09 <kmc> cool
23:59:10 <kmc> do they have code
23:59:32 <Bike> right, programming well is clearly impossible
←2013-07-07 2013-07-08 2013-07-09→ ↑2013 ↑all