00:05:53 How to calculate the Venus transit? 00:07:11 Is there a simple way using the data from Astrolog? (Astrolog will display distances too, as well as azimuth/altitude, ecliptic longitude/ecliptic latitude, and right ascension/declination) 00:10:23 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 00:14:43 you calculate the time when earth and venus are the same angle around the sun (this is a periodic function) 00:15:16 and calculate when they are same distance from the ecliptic (a strange function ew) 00:15:30 and see when they coincide to within some small tolerance 00:15:44 Do you need the apparent diameter? 00:19:40 to calculate the tolerance 00:19:52 Astrolog will display the ecliptic coordinates of Sun and Venus 00:21:53 As well as the distance 00:23:20 um a transit would be when venus is _on_ the ecliptic, no? 00:23:40 and also in the same place as the sun 00:23:51 Well, yes; but some tolerance is allowed due to apparent diameter 00:24:16 isn't this basically the same as for eclipses, just with venus and sun instead of moon and sun? 00:24:40 Yes it is the same kind of thing as with a solar eclipse 00:24:56 and you already told iirc that you had found out how to find eclipses 00:25:08 oerjan: not necessarily on the ecliptic no. i don't think. 00:25:27 quintopia: well very close. the _sun_ is always there, after all. 00:25:52 Yes I have, but even with eclipses I do not know how to calculate where it will be visible and what the tolerance will be, and whether it is total or partial 00:26:12 well venus transits are never total 00:26:27 or well 00:26:30 oerjan: the ecliptic is the plane in which earth orbits? then yes it will be very close 00:26:49 quintopia: Yes 00:27:48 zzo38: anyway, ecliptic latitude ~ 0 and conjunction with sun, i should imagine 00:28:11 oerjan: I know that much! 00:29:25 What I don't know is such things as the tolerance and visibility conditions 00:29:43 i recall from wikipedia there's an approximate period of 243 years 00:31:24 zzo38: well if you have difference in latitude and in longitude between venus and sun, then pythagoras theorem should give a close approximation to the distance between the centers, i think 00:31:30 *+' 00:31:50 But these are spherical coordinates 00:32:53 yes, thus only an approximation 00:33:05 OK 00:34:01 and only good when they are actually close 00:36:12 Also, why are solar eclipses visible at different place on the Earth? I see maps of solar eclipse where they are visible 00:36:38 I do know the Moon moves much faster than Venus 00:36:44 because the moon is much smaller than the sun, so its shadow can never cover all of earth 00:37:07 How do you calculate where it is visible? 00:37:10 or well hm 00:37:15 same way as venus 00:37:51 you need to use the rotation of the earth, and the location of moon wrt ecliptic when it is in "full" position 00:37:53 actually i guess it has more to do with distance 00:38:03 oerjan: Doesn't it depend on apparent diameter, not true diameter? 00:38:10 right 00:38:11 exactly 00:39:07 i expect the locus of points where solar eclipse reaches totality to look about like a sine curve 00:39:16 if the apparent diameters were always equal, then the eclipse would always be total at exactly one spot, i think 00:39:24 since the axis of earth is tilted wrt eclipctic 00:39:41 Astrolog does include the true diameters (given in units where 1 = diameter of Earth), but no apparent diameters 00:39:49 well unless it misses earth entirely 00:40:04 elliott: I can confirm that I have no clue what kuskelar the clatsop man is doing 00:40:13 @tell ais523 elliott: I can confirm that I have no clue what kuskelar the clatsop man is doing 00:40:14 Consider it noted. 00:40:16 zzo38: just divide by distance 00:40:21 quintopia: Yes; the Tropic of Cancer and Tropic of Capricorn give the amount of the tilt (named because those are the ecliptic longitude of the Sun if the declination is at those tropics) 00:40:38 And they do sometimes move slightly 00:40:39 oerjan: no, it would not always be a point, since the apparent diameter is also a function of location from which you are viewing 00:41:26 quintopia: So, you would move the center of measurement? 00:41:50 zzo38: no, oerjan is right you just divide by distance to get apparent diameter 00:42:00 but that distance is a distance to a particular point on the earth 00:42:16 and that distance is changing 00:42:30 astronomical calculations are reliable and predictable 00:42:34 but they aren't convenient 00:43:26 actually dividing by distance is not totally accurate, i think, since they are spheres not circles 00:43:45 -!- Vorpal has quit (Ping timeout: 260 seconds). 00:43:49 and so which circle on the surface forms the visible edge depends on distance 00:44:15 well 00:44:21 it's not a problem for the sub 00:44:22 sun 00:44:29 it is as close to perfect as you can get 00:45:00 i don't think that is quite true 00:45:31 no? i guess black holes are more spherical...but the sun is p damn close 00:45:46 um it's a problem _for_ spheres 00:45:54 even perfect ones 00:45:56 huh? 00:46:16 a sphere looks like the same circle from all angles at a particular distance 00:46:31 yes, but it depends on distance in a nonlinear way 00:46:40 oh 00:47:02 yeah i guess we are close enough to the moon that we cant consider the projection orthographic 00:47:29 i think the apparent diameter is what counts for that, actually 00:47:46 so it's approximately as distorted for the moon as for the sun 00:47:55 yep 00:48:14 since they have approximately the same apparent diameter 00:52:45 http://en.wikipedia.org/wiki/Angular_diameter has formulas - apparently the difference just amounts to using arcsin for spheres instead of arctan for disks 00:55:32 zzo38: that also has lists including the sun and venus 00:56:05 but i guess it doesn't tell exactly how they vary 01:02:25 OK 01:12:56 -!- SimonRC has quit (Ping timeout: 244 seconds). 01:15:20 -!- pikhq has joined. 01:17:59 -!- pikhq_ has quit (Ping timeout: 265 seconds). 01:18:19 -!- PatashuXantheres has changed nick to Patashu. 01:30:17 -!- zzo38 has left. 01:49:42 -!- pikhq_ has joined. 01:52:34 -!- pikhq has quit (Ping timeout: 252 seconds). 02:02:20 -!- pikhq has joined. 02:02:30 -!- pikhq_ has quit (Ping timeout: 260 seconds). 02:07:56 > sqrt 0.7 02:07:58 0.8366600265340756 02:12:51 -!- pikhq has quit (Ping timeout: 252 seconds). 02:12:55 -!- pikhq_ has joined. 02:15:33 -!- david_werecat has quit (Ping timeout: 256 seconds). 02:16:05 -!- Patashu has quit (Ping timeout: 246 seconds). 02:22:10 -!- Patashu has joined. 02:37:11 -!- zzo38 has joined. 02:50:37 so why is this channel full of people from .fi 02:50:46 is it just that y'all speak an esoteric language from birth 02:50:56 also it appears i might go to .fi in august or something 02:50:58 what should i do there 02:51:09 Do you know what some monads are which are the codensity of something and/or the free monad of something? 02:51:16 kmc: Learn their language 02:51:34 kmc: Go to the sauna! 02:51:38 I hear it's a popular activity. 02:51:59 What are you ending up there? 02:52:18 Also, it's 6 in .fi right now. 02:54:25 yeah sauna would be cool 02:54:49 kmc: Esoteric programming is "a thing" in Finland, I think. 02:54:53 Or at least, more of a thing than it is elsewhere. 02:54:56 Like the demoscene! Except not. 02:55:04 hm yeah 02:55:08 "the esoscene" 02:55:14 that makes sense now 02:55:27 well, now i can ask why .fi is the world center of demoscene + esoteric programming 02:55:47 kmc: because they have nothing else to do all fucking day in that frozen wasteland? 02:55:55 sex, drinking 03:22:00 kmc: you can't drink ice 03:24:13 kmc: oh yeah 03:24:14 i had mosh questions 03:24:19 are you able to answer them 03:24:41 elliott: Are you committing IRC sin #1 on purpose. :-( 03:24:48 :( 03:24:58 shachaf: I *am* IRC sin #1. 03:24:59 elliott: sure, you can also try #mosh 03:25:10 kmc: no way why would i talk to a whole channel of people when just one would do 03:25:15 it's not actually a mosh question that's the great part 03:25:20 it's just a question about mosh's internals! 03:25:24 elliott: The point is that if kmc can't answer your question, he'd feel bad. 03:25:26 i'm not even *using* mosh right now! 03:25:31 Or if he's too lazy to answer your question. 03:25:33 shachaf: That seems perfectly fine to me. 03:25:45 just ask 03:25:46 Of course people should feel bad if they can't/won't answer my questions! 03:25:48 I know. That's why we made it a Law of IRC. 03:25:53 døød 03:26:00 then tell me something cool to do in .fi 03:26:08 OK. 03:26:09 But first! 03:26:15 kmc: There's some nifty food to eat in .fi. 03:26:24 So make sure you eat something while you're there. 03:26:28 Also what are you doing in .fi? 03:26:29 kmc: So, my understanding is that mosh roughly works by synchronising the big-block-of-cells that is the terminal display between server and client. 03:26:43 shachaf: i'm doing what elliott tells me to, clearly! 03:27:02 oh, Stair Dismount et al. are from Finland too 03:27:12 kmc: But a terminal doesn't quite work like a big block of cells. For instance, there's a difference between the line "a " and "a"; there's a concept of a line ending that affects things like selecting text in a graphical terminal. 03:27:14 i played a lot of Stair Dismount and Truck Dismount back in my day 03:27:16 How does mosh represent this? 03:27:37 elliott: sec, I will find for you the actual object which is synchronized 03:27:49 -!- SimonRC has joined. 03:28:01 kmc is punishing my law violation by making me read C++. 03:28:06 basically 03:28:07 In return I will give him awful things to do in Finland. 03:28:15 And he will be obligated to do them. 03:28:25 visit fizzie 03:28:26 vizzie 03:28:30 most of the classes in src/terminal/terminalframebuffer.h are dedicated to this question 03:28:31 shachaf: HEY WHERE IS THE LIST OF IRC SINS I CANNOT FIND THEM 03:28:39 i need to know if i have a complete set 03:28:51 The grand vizzier. 03:28:56 They should arrest people who make you source dive after asking questions. 03:28:58 oerjan: The list of IRC sins is infinite. 03:29:05 @where e_10 03:29:06 let(!)=div;f n=1:n:1:f(n+2);w@(x:y)%[a,b,c,d]|t<-a!c,c+d>1,t==b!d=t:w%[10*(a-c*t),10*(b-d*t),c,d]|0<1=y%[x*a+b,a,x*c+d,c]in(2:f 2)%[1,0,0,1]>>=show 03:29:09 I ported that program to bash! 03:29:12 Using UNIX streams. 03:29:17 It "just worked" 03:29:27 a cell has a vector of unicode characters (because of combining chars), a width (a la wcwidth), a set of "renditions" i.e. color, bold, etc, and a flag saying whether it should wrap to the next line on select (if it's in the last column) 03:29:45 kmc: Hmm. So you store it as a linear array? 03:29:48 Rather than two-dimensional? 03:29:49 (So to speak.) 03:29:52 døød <-- deeath? oh dear. 03:29:53 then a row is a vector of cells 03:29:55 Ah. 03:29:57 Linearray. 03:30:00 I see. 03:30:06 Linear A. 03:30:16 and a framebuffer has a vector of rows, an icon name, a window name, and a count of the number of times the bell has ever been rung on the server 03:30:18 That makes sense. Unfortunately, applying that to my design would reduce its utility... 03:30:22 I think. 03:30:23 Not sure. 03:30:32 kmc: Bell count? Why? 03:30:35 Uh-oh, is this for your roguelike? 03:30:42 shachaf: MAYBE. 03:30:51 LET ME GUESS 03:30:55 YOUR ROGUELIKE IS CALLED 03:30:56 @ 03:30:58 oerjan: The list of IRC sins is infinite. <-- oh dear 03:30:59 No. :( 03:31:01 elliott: the client needs to ring the bell if the server did 03:31:03 It's called "roguelike" right now. 03:31:24 kmc: Right now I just represent the screen as a two-dimensional grid of Chars. 03:31:24 when the client gets a new frame, if the new bellcount is greater than the old one, it rings the bell once 03:31:27 And synchronise that. 03:31:36 It's super-convenient to code with but messes up copying of textual stuff. 03:31:40 I'm not sure whether I care enough to fix it. 03:31:47 this means that if the remote programs spews a bunch of bells, the client bell will ring only at the framerate 03:31:54 which is probably one of the most obscure mosh improvements over ssh 03:32:02 That's an improvement? 03:32:07 obviously ;) 03:32:10 kmc: You should add that to the website. 03:32:15 yes 03:32:23 "for too long, mankind has suffered under the tyranny of BEL" 03:32:24 It'll convince all the HN users. 03:32:43 "Mosh: Suckless awesome terminal bell, done right. Reinvented, again." 03:33:06 from Apple 03:33:12 A terminal bell that celebrates craftmanship? 03:33:16 yes 03:33:27 a terminal bell that celebrates bronzesmithing 03:33:43 bellissimo 03:33:44 kmc: Does it mean that if something rings the bell a million times, I'll get one bell per keystroke for the foreseeable future? 03:33:54 shachaf: It's the RHYTHM OF LIFE. 03:34:16 does anyone even use bells 03:34:22 shachaf: no, the server pushing new terminal frames is independent of the client pushing input to the server 03:34:27 Oh. 03:34:31 Well, I guess that's something. 03:34:58 kmc: so it'll just constant belling for the next hour? 03:35:01 i want constant belling :( 03:35:08 there are two instances of the (higher level parts of) SSP, one in each direction 03:35:13 not constant belling 03:35:20 "If one bell rings in the Tower of Bray / Ding dong, your true love will stay. / Ding, dong, one bell today / In the tower of Bray / Ding, Dong!" 03:35:32 the server tries to get your terminal state up to the current state as quickly as possible 03:35:43 it doesn't care if it skips intermediate states 03:35:51 You mean I'll ... miss out on bells? 03:35:57 and you'll get one bell per frame transition, max 03:35:58 yes 03:36:01 you will miss out on bells :( 03:36:05 FIX MOSH 03:36:07 Oh. :-( 03:36:10 kmc: Not good! 03:36:21 kmc: What if I use a program to play music through the bell? 03:36:24 You'll MANGLE it. 03:36:25 My terminal program has a little number that indicates how many bells have played since the last time it had focus. 03:36:35 is there an xterm escape code to set the frequency and duration of a bell 03:36:36 probably 03:36:38 monqy: Who doesn't use bells? 03:36:47 kmc: Who said you need those for music? 03:36:47 shachaf: what program is that? 03:37:05 shachaf uses... uh, what's an embarrassing terminal emulator to use. 03:37:06 you can write a program to play 4'33" in ANSI C 03:37:08 kmc: Mac OS Terminal 03:37:08 aterm. shachaf uses aterm. 03:37:12 Oh. 03:37:15 That's more embarrassing. 03:37:16 elliott: I outdid you! 03:37:17 elliott: st 03:37:21 http://st.suckless.org/ 03:37:22 I don't actually use it that much. 03:37:23 kmc: Is st that bad? 03:37:29 I heard it was crappy at Unicode a while back. 03:37:31 But then got bette.r 03:37:33 *better. 03:37:38 no i don't have much information really 03:37:48 I only use it when I happen to be using a Mac OS machine. 03:37:54 BUT THE POINT STANDS 03:38:05 shachaf: Did you know: The OS X Terminal can't display dark grey? 03:38:07 The terminal icon gets a little number that says how many notifications you've had. 03:38:15 It displays bold black as black. Even if you set "use bright fonts for bold" on. 03:38:31 20:38 elliott shachaf: Did you know: The OS X Terminal can't display dark grey? 03:38:41 THE JOKE IS THAT I DON'T SEE THE DARK-GREY ANGLE BRACKETS. 03:39:06 shachaf: Did you know I use uxterm in X11 to play roguelikes on OS X? 03:39:12 Because Terminal.app can't display dark grey. 03:39:21 AN UNDISCOVERED FACT. 03:39:35 did you know the Ubuntu version of gnome-terminal changes ANSI blue to Canonical aubergine? 03:39:55 elliott: Real roguelikers play with color=off! 03:39:58 Did you know kmc, fix my code. :( 03:39:59 Like DeathOnAStick. 03:40:05 Poor DOAS. 03:40:07 shachaf: There's a Crawl player who doesn't use autoexplore! 03:40:12 elliott: Me! 03:40:16 shachaf: I saw his second ascension 03:40:22 he actually succeeded in getting all the gems 03:40:25 coppro: me 2 03:40:26 04:40 undermind[1/2]: Wins at a ridiculous win percentage very slowly. Doesn't use autoexplore. 03:40:27 but couldn't get his giants to carry them 03:40:29 so he gave up 03:40:30 lol 03:40:32 04:40 undermind[2/2]: Nobody knows anything about undermind. 03:40:33 coppro: Eh? 03:40:35 coppro: No, he completed it. 03:40:41 elliott: well he gave up on the gems 03:40:42 not on ascending 03:40:44 No. 03:40:50 he took what he could carry 03:40:55 which was a lot less than he had 03:40:58 "He/she tried again years later, ascending after 405 hours on August 16, 2010 with over 8,000 gems." 03:41:01 Why didn't he use the bag-of-holding-in-bag-of-holding trick? 03:41:25 elliott: he had left at least that many on dlvl 1 03:41:32 Well, OK. 03:41:33 elliott: so where should i go in .fi 03:41:38 kmc: Visit oklopol. 03:41:45 "carry unlimited gems: the bag-of-holding-in-bag-of-holding trick" 03:42:13 elliott: so maybe Mosh won't handle your bell music very well, otoh it's much better than ssh at handling mplayer -vo caca 03:42:48 I'm tired. :( 03:43:01 kmc: But seriously, visit oklopol. 03:43:10 "mosh, mo problems" 03:43:12 "as they say" 03:43:23 Where is oklopol? 03:43:28 Uh. 03:43:29 Somewhere. 03:43:31 Ask him. 03:43:32 Finland's a big place. 03:43:33 He's in... 03:43:34 Uh 03:43:37 I forget the name of the place. 03:43:40 It's not Espoo. 03:43:41 It's... 03:43:43 Uh. 03:43:44 oklopol: WHere are you? 03:43:46 *Where 03:43:59 Finland's population density is 16/km^2 03:44:28 I'm tired. Eurgh. 03:44:37 Did you know that lif esucks? 03:44:38 Of course "the part of .fi that people actually live in" has a much higher density. 03:45:11 I don't know what lif is though. 03:45:13 Or what esucking is. 03:47:10 espoo is not far from helsinki 03:47:11 elliott: turku? 03:47:16 oerjan: Yes. 03:47:18 Turku. 03:47:24 kmc: Go visit oklopol in Turku. 03:47:27 I've been to Turku! 03:47:29 It isn't really optional 03:47:30 *optional. 03:47:33 shachaf: what is it like? 03:47:36 You can't go to Finland and not meet oklopol. 03:47:36 in turku 03:47:43 i could visit turkey and turku! 03:48:06 elliott: I went to Finland and not meet oklopol. 03:48:20 shachaf: You actually died. 03:48:24 kmc: Will you visit oklopol? 03:48:27 "oh :'(" 03:48:56 elliott: kmc visited me once when he was in the US! 03:49:08 The previous statement is actually untrue. 03:49:14 We met by accident. 03:49:24 itym .us 03:49:26 elliott: you know the two of us trying to get oklopol visitors is karmic irony, right? 03:49:45 kmc: itym .com 03:49:54 fsvo karmic; irony 03:50:12 elliott: Today kmc taught me that the US is the best country. 03:50:20 is your business ISO-3103 compliant??? 03:51:40 Do you know if data LeftCoT m f x = forall z. LeftCo (f (m z) -> x) (f z); is a comonad? Do you know if it is a comonad transformer? 03:51:45 for only 44 swiss francs you too can learn how to make an international standard cup of tea, with or without milk, in english or french! 03:51:54 kmc: browsing the ig nobel? 03:52:02 no, just browsing weird ISO standards 03:52:21 shachaf: Should I buy the `humble bundle'? 03:52:25 elliott: Of course. 03:52:28 elliott: Did you hear that kmc is moving to CA? 03:52:31 lies 03:52:40 kmc: Buy me a `humble' `bundle'. 03:52:50 shachaf: .ca or .ca.us? 03:52:57 kmc: What lies? 03:53:08 rumors of my moving to CA are greatly exaggerated 03:53:14 I just asked elliott if he heard them. 03:53:28 oerjan: Good question 03:53:36 oerjan: CA. 03:53:38 could move to .cat 03:53:44 oerjan: You know, the one with Ontario in it? 03:53:46 .dog 03:54:06 hask.cat 03:54:19 shachaf: right, i've been there 03:54:31 oerjan: Been where? 03:54:38 in ontario 03:54:41 Ontario, California? 03:54:47 oh wait 03:55:06 * oerjan swats shachaf -----### 03:55:25 i should have suspected that, i guess. 03:55:29 oerjan: You should add an extra '-' to your swatter. 03:55:30 nyan.cat 03:55:37 kmc: no; stop 03:55:56 shachaf: no, 5+3 is the unchangeable standard 03:56:06 * shachaf swats oerjan ------### 03:56:09 ok so technically it once was 4+3 03:56:23 * shachaf swats oerjan ----$$$ 03:56:30 oerjan: Why did it grow from 4 to 5? 03:56:37 shachaf: someone lost a - 03:56:56 vaguely possibly monqy 03:57:14 or was monqy even around back then 03:57:16 -!- dashing-fellow has joined. 03:57:19 hi oerjan 03:57:24 -!- dashing-fellow has changed nick to dashingfellow. 03:57:29 "oopse :'(" 03:57:34 hi dashingfellowcompletelynotshachaf 03:57:45 -!- dashingfellow has quit (Client Quit). 03:58:06 monqy: did you lose a - 03:58:07 oerjan: Would you look at that! 03:58:59 * oerjan picks up the - 03:59:07 * oerjan swats shachaf -----###- 03:59:09 - - - - - - - - - - 03:59:20 Oops you did it backward 04:00:00 oops 04:00:23 * oerjan swats elliott -----###----------- 04:00:28 help 04:00:30 im impale 04:01:09 im impale le 04:01:18 im impapale le 04:01:58 im impalindrome emordnilapmi mi 04:03:04 `pastelogs -----### 04:03:19 ──────### 04:03:33 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.12354 04:03:38 ──────███ 04:03:54 -. 04:03:58 ----.---- 04:04:02 kmc: Have you ever considered a being a roguelike game? 04:04:33 ah it was Slereah_ 04:04:55 oerjan: paste.12354 04:04:56 or more precisely, Slereah- 04:05:00 COINCIDIENCE????? 04:05:01 Slereah_: hi 04:06:15 `log ----#### 04:06:22 `pastlogs ----#### 04:06:26 `logs ----#### 04:06:30 `echo ----#### 04:06:35 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastlogs: not found 04:06:49 No output. 04:06:54 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: logs: not found 04:06:54 ​----#### 04:07:00 actually it's not quite clear from that day whether that _was_ Slereah_ 04:09:14 elliott: I heard kmc will "probably" end up in CA. 04:09:26 he's going to teleport to a random location on the globe 04:09:31 our hearts, minds, legs are with him 04:09:51 elliott: Did you "get the humble bundle" ? ?? 04:09:52 Perhaps idempotent applicative should be defined as follows: liftPair . fanout = fmap fanout since then it can be used with any fanout category. 04:09:58 shachaf: Not `yet'. 04:10:01 Buy it for me. 04:10:05 elliott: Done. 04:10:10 Thanx. 04:10:21 * oerjan finds the actual JOIN in raw.txt to confirm 04:10:33 oerjan: raw.txt? 04:10:36 Oh. 04:10:45 I thought you were talking about some SQL database logs. :-( 04:11:06 shachaf loves databases. 04:11:10 Especially Y Combinator-funded ones. 04:11:26 Do you like this definiiton of idempotent applicatives? 04:11:39 zzo38: Is your definition of idempotent applicatives a database? 04:11:44 If so, I hear I love it. 04:12:20 shachaf: No, it is what I wrote above. 04:13:07 shachaf: no, http://codu.org/logs/_esoteric/2008-12-04-raw.txt 04:13:21 Yes, I figured. 04:16:14 And a commutative applicative would be defined as liftPair . swap = fmap swap . liftPair 04:48:27 -!- oerjan has quit (Quit: Good night). 04:51:03 What kind of monad is (Codensity (Warbler (Kleisli IO)))? 04:54:44 a monadic one 04:55:19 -!- elliott has quit (Remote host closed the connection). 04:56:38 I know that; (Codensity anything) is always a monad. But here it is also MonadPlus, it is like (Codensity Endo) but endomorphisms of a different category so what does it make? Is it like monad fold (like how foldlM and so on)? 05:35:37 -!- TodPunk has quit (Read error: Connection reset by peer). 05:39:15 what is codensity 05:39:36 -!- TodPunk has joined. 05:39:47 oh i guess it's just some haskell thing 05:40:31 oklopol: Yes, Codensity is some Haskell thing 05:40:49 Cont x = Codensity (Const x) is one 05:43:07 so what's Cont? 05:44:41 oklopol: Continuation monad 05:45:10 i had a hunch. no idea what that is. 05:45:33 Another one would be [] = Codensity Endo 05:45:48 so what's Endo? 05:46:03 Endomorphisms of (->) category 05:46:50 -!- AnnApolis has joined. 05:47:03 so what does Codensity do for that? 05:47:08 alright folks :) 05:47:25 AnnApolis: life is great 05:47:26 oklopol: Do for what? 05:47:31 zzo38: Endo 05:47:58 i assume "[] = Codensity Endo" means something 05:48:03 newtype Codensity f x = Codensity (forall z. (x -> f z) -> f z); newtype Endo x = Endo (x -> x); 05:48:16 oklopol: So, that means it is the same kind of monad 05:49:11 So that, return is a single element list, join is concatenation of the lists in the list, mzero is empty list, and mplus is concatenation of two lists together. 05:49:26 You might see that it is just the fold function for a list 05:49:49 i might see that what is the fold function? 05:50:00 Codensity? 05:50:48 oklopol: Fold function for a list [x] would be of type (forall z. (x -> z -> z) -> z -> z) 05:51:02 yes 05:51:42 okay so the fold is of type Codensity 05:51:47 *-the 05:51:53 The endomorphisms for some object of some category forms a monoid, so you can use mzero and mplus 05:52:04 And it just happens to be the correct monoid 05:52:35 oklopol: Of type (Codensity Endo) 05:52:44 right 05:54:06 "You might see that it is just the fold function for a list" still sounds wrong, that's not the only function of type Codensity Endo for lists. 05:54:36 Well, in this case it is, though. 05:54:39 but i guess all sensible functions of that type might be called fold 05:54:42 really? 05:55:14 Yes, really, it is. And the monad is achieved entirely for free. 05:55:29 so there's more to Codensity than the type you gave? 05:56:06 oklopol: Well, there is also the Functor, Applicative, and Monad instances, which is available for (Codensity f) without needing anything from f. 05:57:05 The MonadPlus instance, however, requires class Plus f where { zero :: f x; plus :: f x -> f x -> f x; }; 05:57:30 In the case of Endo, it is already Monoid so you can easily have: instance Plus Endo where { zero = mempty; plus = mappend; }; 05:57:44 yeah i guess i'd have to understand what instances are 05:59:10 oklopol: Do you mean in general or for Codensity? 05:59:21 probably first in general 06:00:11 In general, it means that certain operations are defined for a type, for example, Monoid class instances are for types that form a monoid. 06:00:23 sure 06:00:33 That is what it is. 06:01:04 but could you explain where the connection between Codensity and list comes from? 06:02:14 oklopol: It is achieved *for free*. 06:02:45 so if i were to write a list type of my own, there would only be one function of type Codensity Endo and that would be its fold? 06:02:59 even if i stored the list in a database 06:03:21 i mean 06:03:31 i make it a monad, is that all i need? 06:03:43 oklopol: Actually what I mean is, the type (Codensity Endo x) is isomorphic to [x] so (Codensity Endo x) can also be used as a list. 06:04:53 Do you know such things as if you wanted to make a list structure in something like Unlambda or Lazy K, you need to define all data structures by some kind of function? A list can be defined by a fold function, and it is the same thing here. 06:05:30 hmm alright 06:07:24 i still feel like there's a function body somewhere that computes the fold. 06:07:30 unless it really comes free from the type 06:07:50 It comes free from the Codensity monad 06:08:49 so there is more to it than the type 06:08:53 The definition is: instance Monad (Codensity f) where { return x = Codensity (\k -> k x); m >>= k = Codensity (\c -> runCodensity m (\a -> runCodensity (k a) c)); }; 06:08:53 ? 06:08:57 ah thanks 06:10:30 Could you please give an example of a value of type Codensity Endo Something? 06:10:49 That is what was already there; I added the Alternative and MonadPlus instances myself which works as: instance Plus f => Alternative (Codensity f) where { empty = Codensity (const zero); Codensity x <|> Codensity y = Codensity (liftA2 plus x y); }; 06:11:08 ion: return 5 <|> return 6 <|> return 7 is like the list [5,6,7] 06:11:28 ah the <|> operator we all know so well 06:11:47 Ah, should have figured i can just try “return”. :-) 06:11:51 but isn't the fold function for lists of type x an example 06:12:25 In [] in fact it is also the list [5,6,7] but with (Codensity Endo) it is the fold function for the list [5,6,7] so it is same things!!! 06:12:36 !!! 06:13:09 would be fun to understand some haskell 06:13:12 maybe some day 06:13:54 but i'm pretty sure you can't understand it without a phd in mathematics 06:13:58 so i have to try again in a few years 06:14:00 I would prefer to define join as a class method but unfortunately Haskell does not do like that 06:14:12 Does some module implement an Alternative Endo instance? 06:14:28 oklopol: No, it is possible to understand without a PhD in mathematics, but I suppose it helps. I do not have a PhD in mathematics, but I do like mathematics, and to me that is good enough. 06:14:33 oh god another crazy haskell understander 06:14:37 i have to leave 06:14:54 zzo38: i hear phd's get all the chicks 06:14:55 ion: To do so, it would have to be Applicative which isn't since Endo is not even Functor 06:15:00 `addquote < oklopol> oh god another crazy haskell understander < oklopol> i have to leave 06:15:02 oklopol: I don't care 06:15:03 844) < oklopol> oh god another crazy haskell understander < oklopol> i have to leave 06:15:14 `randomquote 06:15:16 zzo38: don't you like girls? 06:15:17 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: randomquote: not found 06:15:22 `ls 06:15:25 bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom 06:15:29 `ls bin 06:15:32 ​? \ @ \ No \ WELCOME \ WeLcOmE \ addquote \ allquotes \ anonlog \ calc \ define \ delquote \ etymology \ forget \ fortune \ frink \ google \ hatesgeo \ jousturl \ json \ k \ karma \ karma+ \ karma- \ learn \ log \ logurl \ macro \ maketext \ marco \ paste \ pastefortunes \ pastekarma \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ pastlog \ ping \ prefixes \ qc \ quachaf \ quote \ quotes \ randomanonlog 06:15:37 oklopol: I don't like or dislike 06:15:42 `ls quotes 06:15:44 quotes 06:15:52 `help 06:15:54 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 06:15:57 zzo38: do you neutral them? 06:15:59 ion: Edward Kmett's Plus requires Functor but my Plus does not require Functor, so Endo can be an instance of my Plus. 06:16:24 oklopol: Neutral in terms of like/dislike, I suppose it would be so. 06:16:24 zzo38: I mean, return 5 <|> return 6 <|> return 7 :: Codensity Endo Integer doesn’t compile here because there’s no instance for Alternative Endo. 06:16:37 `quote 06:16:40 666) elliott, cars aren't perfectly spherical. 06:16:41 `quote 06:16:42 `quote 06:16:45 733) oerjan: Hey, what's your country code for telephonistic dialling from the outside world? fizzie: +47 oerjan: Ooh, you're, like, right next to Sweden there. I... guess you are geographically, too. 06:16:51 let's bury them in quotes mwahahaha 06:16:55 ion: That is true; but if the instances are defined in my way instead then it will compile and even work 06:16:56 369) hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER 06:17:34 zzo38: Ah, i thought we were talking about the “standard” Codensity and Endo. 06:17:48 zzo38 is the standard. 06:17:58 oklopol: Yes, that’s why i put it in quotes. :-P 06:18:07 :P 06:18:17 ion: It is the standard types but the instances for Alternative Codensity are different. 06:18:24 zzo38: what is your age? 06:18:28 And the Plus class also differs. 06:18:30 38 06:18:35 coppro: I do not want to say. 06:18:57 ion: Not all the time! 06:19:01 i'm gonna make a wild guess: 24 06:19:30 fair 06:20:40 A wild guess? You have no educated guess? 06:22:25 ion: There is no really standard Codensity but the Endo is the standard one yes 06:23:20 -!- calamari has quit (Quit: Leaving). 06:28:13 zzo38: no, i have no educated guess 06:28:54 OK 06:29:08 well i didn't pull that out of my ass but you can be a bit hard to read. 06:29:41 Do I write messy? 06:30:01 that's not what i mean by hard to read 06:31:02 it's just what we psychics say when a client doesn't fit one of the usual patterns. 06:31:51 O, that is what it means. In that case I suppose you are correct about that 06:33:46 but on a different note, yes, you do write kinda messy :D 06:36:25 Why do you think I write messy? 06:36:53 dunno, you have this whole thing going on. i don't know if messy is the right word. 06:37:17 i keep getting this "women in mathematics" thing in my inbox 06:37:26 why isn't there a Real Men in Mathematics conference 06:38:12 where people stroke each others' beards and implement braid groups in them 06:38:37 My writing seems to me to be neater than other people's writing, although the words are different 06:39:21 okay, i find that interesting. 06:39:25 oklopol: Perhaps there isn't, because nobody has made it up yet. 06:39:39 perhaps i should do it 06:40:12 now i just need a beard that turns invisible when i tell it to 06:41:26 Magic beard? 06:41:28 yes 06:42:07 otherwise i have to shave it now and then 06:42:29 Then use a fake beard if you do not want to shave; you can add it and remove it when you want to. 06:42:30 -!- TeruFSX has joined. 06:42:40 hmm 06:42:44 that might work 06:42:55 `quote 823 06:42:57 823) `delquote 848 06:42:58 But if people pull it, it might fall off 06:43:01 `delquote 823 06:43:06 ​*poof* `delquote 848 06:43:17 `quote 847 06:43:20 No output. 06:43:33 `delquote 785 06:43:35 yeah i know what you mean, i too wonder whether i'd pull the beard off. 06:43:36 ​*poof* s'f'slg;sd'sdfjhklf;sdklfjdfklgj 06:47:27 http://arxiv.org/pdf/1202.3670v2.pdf i wonder if P != NP has been proved more times than this? 06:52:08 -!- azaq23 has joined. 06:52:21 As well as Codensity monad, there is also Density comonad 06:57:01 Which is better, liberty or order? 06:57:21 (even though you may have both) 06:59:23 -!- asiekierka has joined. 07:01:41 http://manyhills.webs.com/bitten.html 07:02:01 i assume i have duplicated something that already exists 07:03:56 i don't see where unbounded memory comes from 07:04:29 -!- TeruFSX has quit (Ping timeout: 246 seconds). 07:06:21 well, when a mummy unbounded memory and a daddy unbounded memory love each other very much 07:14:33 can you show a program that fills the memory with 1's? 07:16:17 has anyone formalized the wire-crossing problem? 07:16:21 because I just thought of a formalization of it 07:16:26 do tell 07:18:11 well, an idea that might lead to one, anyways 07:20:09 work by bisecting the state into a "graph-like" portion and a non-"graph-like" portion, where the "graph-like" portion is the varying details of a programming language. 07:20:25 i like the idea of effectively turning a finite set of bf programs into a program that wins them all in BFJoust 07:21:10 i bet you could publish that (TM) 07:21:17 that is, if L is a language of automata of some kind, such as Turing machines, then you try to split it into the notion of a program and its input 07:21:36 (TM is short for turing machine) 07:21:46 and the program can be made abstratly into a transition graph 07:21:57 (e.g. "this line will lead to this line or that line") 07:22:06 or "this cell will lead to one of these four cells" in Befunge 07:23:04 sounds impossible to formalize 07:23:20 unless you define automata somehow 07:23:21 I'm not sure if you can characterize it uniquely for all automata 07:24:17 but a TM, for instance, could have its program graph defined to be the set of transitions, with edges existing from one transition to another if they can follow each other. 07:24:29 actually, that might be sufficient 07:24:39 no... no it's not 07:24:52 yeah, there's no obvious unique characterization 07:25:18 you can usually associate a transition graph to any kind of computation, yes 07:25:35 but i don't think it has that much to do with the wire-crossing problem 07:25:35 it's not a state graph though 07:26:22 and I think this matters 07:26:30 or I could be sleep-deprivede 07:26:33 goodnight 07:27:50 night 07:40:23 -!- AnnApolis has quit (Quit: ChatZilla 0.9.88.2 [Firefox 13.0/20120601201853]). 07:46:54 Is there a kind of infinity that is used like a algebraic variable representing a nonzero real number but when it is compared is greater than any real number? 07:50:06 -!- zzo38 has quit (Quit: NO CARRIER). 07:52:33 zzo38: sure, but you automatically get quite a lot of infinite numbers if you further assume the axioms of reals except for Dedekind completeness 07:52:38 also you're not here anymore 07:53:13 there was a recent nice survey on arxiv on ordered fields recently, but i lost it and haven't been able to find it :( 07:57:56 -!- derdon has joined. 08:15:52 whii i didn't imagine it, http://arxiv.org/pdf/1204.4483v1.pdf 08:16:07 not really a survey on ordered fields, instead what they say in there 08:16:23 only had to look through a few thousand articles on my mailing list :D 08:19:53 (whii is the finnish version of whee which is simultanously pronounced "why i", as the deep national depression oozes into the briefest moment of happiness) 08:29:26 -!- nooga has joined. 08:33:16 -!- azaq23 has quit (Remote host closed the connection). 08:39:10 -!- sebbu2 has joined. 08:39:11 -!- sebbu2 has quit (Changing host). 08:39:11 -!- sebbu2 has joined. 08:42:08 -!- sebbu has quit (Ping timeout: 246 seconds). 08:57:53 -!- Taneb has joined. 08:57:55 Hello! 08:59:29 i 09:00:21 short for hi for situations when you are mostly saying hi to yourself. 09:02:56 but there's a bit of hi for you too 09:03:03 :D 09:11:07 Well, I don't think this style of programming will ever be popular 09:17:08 predXXIV = s (s (k s) (s (k (s (k s))) (s (s (k s) (s (k (s (k s))) (s (k (s (k k))) (s (s (k s) k) (k (s (k (s (k (s i)))) (s (k (s (k k))) (s (k (s i)) k)))))))) (k (k k))))) (k (k (k i))) 09:21:35 -!- nortti_ has joined. 09:21:39 @ping 09:21:39 does anyone hear me? 09:21:41 pong 09:21:48 no 09:22:45 yeah people just don't understand that if they simply bothered to learn programming with s and k, they would see that it's so much more expressive functional programming. in that you need to express so much more. 09:23:35 uhm. can someone explain why I have two nicks here after I use /reconnect? 09:23:48 I prefer to have access to B, C, W, an I 09:23:59 nortti_, because you've accidentally cloned yourself? 09:24:47 B x y z = x (y z); C x y z = x z y; W x y = x y y; I x = x 09:24:51 -!- FireFly has quit (Ping timeout: 260 seconds). 09:25:26 -!- nortti has quit (Ping timeout: 260 seconds). 09:25:51 good. 09:25:56 -!- nortti_ has changed nick to nortti. 09:36:19 `pastequotes Sgeo 09:36:22 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30909 09:38:13 -!- FireFly has joined. 09:41:13 -!- Vorpal has joined. 09:41:32 !bfjoust thebasics >>(+)*50<(-)*50(>)*7(> (+)*4 ([-{ [(-)*15 [+]] }[-]])%8 )*21 09:41:38 -!- Taneb has quit (Ping timeout: 246 seconds). 09:41:41 ​Score for quintopia_thebasics: 22.7 09:41:59 !bfjoust thebasics < 09:42:02 ​Score for quintopia_thebasics: 0.0 09:43:23 !bfjoust thebasics >>(+)*50<(-)*50(>)*7(> (+)*4 ([-{ [(-)*50 [+]] }[-]])%8 )*21 09:43:26 ​Score for quintopia_thebasics: 20.4 09:43:30 !bfjoust thebasics < 09:43:33 ​Score for quintopia_thebasics: 0.0 09:43:52 apparentlythe simple stuff is only enough to get you 38th place these days 09:44:21 !bfjoust thebasics >>(+)*50<(-)*50(>)*7(> (+)*4 ([-{ [(-)*15 [+]] }[-]])%8 [+])*21 09:44:23 ​Score for quintopia_thebasics: 22.8 09:44:30 heh 09:44:33 !bfjoust thebasics < 09:44:36 ​Score for quintopia_thebasics: 0.0 09:45:08 -!- asiekierka has quit (Ping timeout: 240 seconds). 09:57:20 -!- Taneb has joined. 09:58:36 Hello! 09:59:49 hi 09:59:54 aaaah! 10:00:39 a 10:02:37 http://www.facebook.com/LawlabeeTheWallaby/posts/3457120980849 The latest in my Beijing epic. 10:03:04 does it involve a peking duck? 10:03:33 I still haven't found the opportunity to eat Peking Duck without being ripped off, but I will; I have a week. 10:13:29 Think I should go to Qin's Tasty and Spicy Crabs? 10:13:44 AKA best/worst Engrish name for a restaurant in history? 10:13:45 Not likely to get duck there 10:13:51 I don't need duck today. 10:13:59 Qin could actually serve tasty and spicy crabs 10:14:19 Yes, it is a crab restaurant. 10:14:24 Gah 10:14:31 Go for it, if you like crab 10:14:34 I can't remember the context for something I saidn in here last year 10:14:38 Looking at logs does not help. 10:16:12 yeah your experiences of being gawked at are not that unusual i think. i think you might find the drunk cosmopolitan set gawks less. go see a nightclub. 10:16:25 not to dance of corse. who would do that 10:30:17 -!- monqy has quit (Quit: hello). 10:31:08 I have a spent-quite-a-bit-of-time-in-China friend who has mentioned the gawking, too. 10:33:17 Gregor, you are in china, nice. Business trip or holidays? 10:34:32 Vorpal: A conference was mentioned, I thing. (It's fallen out of my /lastlog already, sadly.) 10:34:37 ah 10:34:42 -!- Phantom_Hoover has joined. 10:34:42 I thing indeed. 10:34:48 i'm going to taipei in a few months, i expect to die of being murderously killed there. 10:35:21 You may die of death. 10:35:26 i may. 10:36:02 I'm going to Belgium and I expect to survive. 10:36:17 But of course you never know, about Belgium. 10:36:33 i'm going to novgorod in about a month and expect to die there. of being murderously killed. 10:36:46 I'm going to Durham next month. 10:36:55 Taneb: Will you die? 10:37:01 I expect to be brutally murdered by a convict prince-bishop 10:37:03 And then die 10:37:03 i'm going to work next month 10:37:05 all month 10:37:10 5 minutes from home 10:37:17 then in three months i'm going to corsica, and expect to die of sun poisoning and of being murderously killed. 10:37:25 i expect to die of boredom 10:38:45 conference trips are basically double the work, infinitle the plane trips that hurt my ears. as they say in english. 10:39:59 But you may get a free dinner. 10:40:41 also there's conferences in slovakia and uk but my coauthor does those. i prefer the murderous ones because he has a fetish for not being murderously killed. 10:40:54 s/prefer/go to/ 10:41:33 What part of the UK? 10:41:37 oxford 10:41:48 erm 10:41:48 S/he'll get murderously killed 10:41:49 http://www.mathcomp.leeds.ac.uk/turing2012/WScie12/ 10:41:52 cambridge apparently 10:41:57 w/e 10:41:59 Even worse 10:42:53 Taneb: What about... Sheffield? I think my "boss" was planning a visit there. 10:43:01 Sheffield's cool 10:43:06 They've got trams and everything 10:43:09 I like trams 10:43:12 fizzie: do you mean your wife ehehe 10:43:14 They're like trains, but on roads! 10:43:17 :) 10:43:23 trams are cool 10:43:30 trams are scary 10:43:39 They've also got steelworks 10:43:55 And someone who was in my IT class two years ago until she moved to Sheffield 10:43:55 mainly because a tram can use a dedicated tunnel downtown more easily than a bus can 10:44:13 if your trams run /only/ on the street, it probably makes sense to replace them with buses 10:44:19 (you can still power the buses from overhead wires) 10:44:37 It's where the Full Monty is set 10:44:44 Have you ever seen the Full Monty? 10:44:51 part of the tradeoff there (at least in the USA) is that the transit agency pays for rail upkeep, but the roads agency pays for road upkeep including the rail from buses 10:45:02 and the roads agency has way more money always 10:45:10 It's about some out-of-work steel workers who do a strip tease 10:45:34 er "including the wear from buses" yay for being awake far too late 10:45:40 Beamish and Melbourne have trams 10:47:05 in boston there is a slightly ridiculous thing which runs as a diesel powered bus on the road, and then goes into a dedicated tunnel and runs off overhead wires 10:47:13 but that tunnel is much bigger than it would need to be for rail vehicles 10:47:15 Helsinki has trams, though I don't recall any dedicated tunnels. (It's not a very dense place anyway.) 10:47:19 They also have a new model of tram just about to be introduced, there's a prototype for people to go look at/sit in somewhere. 10:48:07 Also, last week or so there was this mini-conference thing, and they had booked one of the museum trams as transportation from the lecture place to the dinner place. 10:48:49 They've got some 1930s tram carriages they rent for events. 10:49:26 that's cool 10:49:33 And I think in summer they have some that do a daily or weekly thing. 10:49:43 new york city has a subway museum which is full of vintage cars 10:49:50 and the museum itself is a decommissioned subway station 10:50:13 helsinki tram is metre gauge o_O 10:50:21 yay. sain pc98 touhout pyörimään 10:50:29 wrong channel 10:50:42 Yay, anyway. 10:52:02 Oh, and they have that one tram in which they serve alcoholic beverages, the "PUB" line. 10:52:08 :3 10:54:38 http://en.wikipedia.org/wiki/Sp%C3%A5rakoff -- hey, it's notable. 10:54:43 That's funny. 10:57:06 -!- derdon has quit (Remote host closed the connection). 11:09:40 -!- DHeadshot has quit (Ping timeout: 260 seconds). 11:19:30 -!- DHeadshot has joined. 11:32:45 I wrote a program this morning and already someone wants to put it on Uncyclopedia 11:39:16 uncyclopedia? 11:41:40 Aaaah you're everywhere 11:45:01 ' I wrote a program this morning and already someone wants to put it on Uncyclopedia' 11:45:02 Do tell 11:45:11 http://hpaste.org/69700 11:45:41 Factorial calculator 11:45:48 That looks awful 11:45:52 is this for a contest 11:46:01 Nah, this is for fun 11:46:08 And the possible inspiration for a contest 11:46:33 Almost all computation is done by (<*>), pure, and unsafeCoerce 12:36:38 -!- asiekierka has joined. 12:44:14 -!- asiekierka has quit (Read error: Connection reset by peer). 12:46:44 -!- Patashu has quit (Ping timeout: 265 seconds). 12:54:29 -!- sebbu2 has quit (Ping timeout: 246 seconds). 13:02:16 -!- asiekierka has joined. 13:07:02 -!- sebbu2 has joined. 13:32:13 -!- elliott has joined. 13:33:29 mroman: Do you also reverse > and < in the palindromes? 13:51:20 elliott: Yes. 13:51:27 OK. 13:51:36 Maybe you should use a word that isn't "reverse" :) 13:51:46 I don't know an exact english word for this? 13:51:49 mirroring? 13:52:09 "mirror" sounds reasonable to me. I don't think it really matters what you call it, but I'd define it on the page, since it's quite ambiguous. 13:52:16 ok 13:52:23 -!- lambdabot has quit (Ping timeout: 244 seconds). 13:52:23 -!- fungot has quit (Ping timeout: 244 seconds). 13:52:29 mroman: BTW, you don't need a full "equivalency" in terms of the final tape to prove TCness by translation of brainfuck. 13:52:35 TCness only cares about whether the program halts or not. 13:53:35 -!- lifthrasiir has quit (Ping timeout: 244 seconds). 13:54:34 hmm 13:54:35 -!- lifthrasiir has joined. 13:54:39 someone write a blurb for Sortle and i'll feature it :P 13:54:43 (N days late...) 13:57:02 -!- aloril has quit (Ping timeout: 260 seconds). 13:58:39 (http://esolangs.org/wiki/BFFB <- is that less confusing?) 13:59:32 elliott: Yes. But as of my understanding his method does not produce a program that does the same thing. 13:59:59 mroman: Well, you gotta define "same thing" :) 14:00:05 Does it halt iff the BF program halts? Then it's sufficient for TCness. 14:00:09 And yes, that's less confusing. 14:00:12 It translates the program to a valid prorgam which does something else. 14:00:29 Define "does something else". 14:00:37 It halts in a different state 14:00:48 Does that matter? 14:00:59 I consider P and R only to be equivalent if P halts in the same state as R 14:01:04 elliott: Somehow. 14:01:09 BF does not need I/O to be TC, right? 14:01:31 so 14:01:37 What I'm trying to say is that the halting state is irrelevant. 14:01:41 Completely. 14:01:46 If I calculate the number 3 with +++- 14:01:54 e 14:01:54 *2 14:01:55 To prove TCness, all you need to prove is that you can translate a Turing machine blah blah into a program that halts iff the Turing machine does. 14:01:56 That's it. 14:02:21 elliott: That proves TCness. 14:02:26 Yes. 14:02:35 But it does not prove, that every BF program has an equivalent bfb program. 14:02:43 Well, OK. 14:02:43 In terms of "halting in the same state" 14:02:54 That seems a weird thing to wonder about :) 14:03:03 well 14:03:19 If I execute +++- I calculated 2 in memory. 14:03:22 and thats my halting state 14:03:40 Would it not be better to consider IO instead? 14:04:05 If you only consider "producing same i/o output" then his method works, yes. 14:04:53 int i = 0; puts("hi!"); 14:04:57 i = 5; 14:04:57 vs. 14:05:02 int i = 0; puts("hi!"); 14:05:03 i = 6; 14:05:14 I don't consider those programs "equivalent". 14:05:41 I'm pretty sure you're in the minority there. 14:05:56 mroman, hm would you consider an optimiser for BF that changes one for the other to be incorrect then as well? 14:06:11 Vorpal: If the resulting halting state is different, yes. 14:06:26 A definition of "equivalent" depending on internal state -- even basically dead code -- like that is doomed to be more or less useless, IMO. 14:06:26 *final 14:06:27 heh 14:06:34 elliott, quite 14:06:52 If you strip bf from its i/o 14:06:59 then it would matter 14:07:14 perhaps 14:07:22 Not really. 14:07:29 and I don't think that bf programs are required to do i/o 14:07:30 That'd just leave a language which only either halts or not halts. 14:07:37 usually you are just interested in if it halts 14:07:42 There's no requirement at all to define BF in terms of exposing its final state. 14:07:52 The tape can be part of the black box. 14:09:14 perhaps 14:09:17 fizzie: Hey, did I ask you how much you paid for the bundle? 14:09:56 -!- aloril has joined. 14:09:57 People usually say that my definition of equivalence is broken ;) 14:10:19 e.g i consider [0..Infinity] and [0..Infinity] to be equal :) 14:11:20 elliott, for reference, future me paid at least $10 14:11:53 X and X are equal? Shocking. 14:14:15 The set of computable truths is not equal to the set of provable truths 14:14:33 I have no idea if that sentence means anything 14:14:43 Or is correct 14:15:13 hi 14:15:21 Aaaah 14:15:37 -!- Taneb has left ("get that thing away from me"). 14:17:20 -!- Taneb has joined. 14:17:30 elliott: I consider x = x yes. 14:17:40 But people don't consider _|_ = _|_ 14:20:15 Yes. They do. 14:20:20 And [0..] isn't _|_, anyway. 14:21:08 interestingly enough NaN != NaN. That's IEEE floating point for you... 14:21:17 (in other words floating point sucks) 14:21:19 > 0 / 0 14:21:26 LAMBDABOT 14:21:31 not here 14:21:39 nor is fungot!? 14:21:41 fizzie, !!!! 14:21:44 Not in #haskell, either 14:22:08 That's not worth four !s. 14:22:16 `cat "main = print (0 / 0 == 0 / 0)" | runhaskell 14:22:18 cat: "main = print (0 / 0 == 0 / 0)" | runhaskell: No such file or directory 14:22:26 `echo "main = print (0 / 0 == 0 / 0)" | runhaskell 14:22:29 ​"main = print (0 / 0 == 0 / 0)" | runhaskell 14:22:30 fizzie, you don't think fungot is worth four !? 14:22:43 they actually quat together 14:22:46 elliott: The guys in #ghc disagreed. 14:22:49 14:52 lambdabot has left IRC (Ping timeout: 244 seconds) 14:22:49 14:52 fungot has left IRC (Ping timeout: 244 seconds) 14:22:52 mystrious 14:23:08 mroman: perhaps they meant that x == y does not necessarily evaluate to True when x and y are both _|_. 14:23:11 That's what I said. 14:23:16 lambdabot <3 fungot 14:23:20 from a denotational semantics point of view, _|_ and _|_ are unquestionably equal. 14:23:32 anyway, there are almost certainly incompetent people in #ghc 14:23:37 -!- fungot has joined. 14:23:38 although probably less than in #haskell 14:23:41 fungot! 14:23:42 Taneb: trillian is a very silly film) :) y z i think it depends 14:23:54 elliott, I think that may be a virtue of population 14:24:00 ^style 14:24:00 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 14:24:06 ^style ss 14:24:07 Selected style: ss (Shakespeare's writings) 14:24:12 fungot, have at ye! 14:24:14 Taneb: fitz. if that goe forward, we will cover it. take no offence that i would bestow vpon your worship, to correct yourself, for the thing it was. 14:24:14 elliott: Oh, and I paid $15. Felt like I should go a bit above the Linux-user average. 14:24:32 fizzie: You leave me with no choice but to pay $15.01. 14:24:34 Phantom_Hoover: How much did you pay. 14:24:56 mroman: perhaps they meant that x == y does not necessarily evaluate to True when x and y are both _|_. <-- hm, why is that? 14:24:59 elliott: I may have asked stuff like "why reverse [1..] == reverse [1..]" does not compute in human time although they are obviously equal 14:25:26 mroman: That's a very, very different question. 14:25:28 mroman, because the optimiser isn't smart enough for that? 14:25:33 and f(x) == f(x) no matter if f terminates or not. 14:25:35 mroman: And as I've said: [1..] *is not _|_* 14:25:39 I payed 10 because I don't obsessively optimise like you. 14:25:56 There is not a single _|_ in the graph of values that comprises [1..], in fact. 14:26:00 (But reverse [1..] is _|_.) 14:26:10 elliott: Then why is f(x) == f(x) not always true? 14:26:13 Phantom_Hoover, you paid more than fizzie! 14:26:28 Anyway, (reverse [1..] == reverse [1..]) is _|_ because that's how (==) is defined for lists. You are confusing (==) (a function in Haskell) with = (the concept of mathematical equality). 14:26:46 Taneb, well I paid $15, which is ~10. 14:26:47 BTW, having reverse [1..] == reverse [1..] would break referential transparency. 14:26:52 Ah 14:26:56 My idea was to reduce everything as much as possible 14:27:00 I remember the good old days when $15 was 7.50. 14:27:01 10 ~= $15.43 14:27:04 Consider: reverse [1..] == haltIffGoldbach'sConjecture 14:27:06 and then compare expressions and optimize everything away 14:27:09 Assuming Goldbach's conjecture is false. 14:27:20 Then, since haltIffGoldbach'sConjecture = _|_ and reverse [1..] = _|_, this must be true. 14:27:23 Assuming Goldbach's conjecture is true, 14:27:34 Then, since haltIffGoldbach'sConjecture is [] (or something) and reverse [1..] = _|_, this must be false. 14:28:00 So Haskell cannot have reverse [1..] == reverse [1..] evaluate to True without destroying referential transparency. 14:28:11 Where the hell is lambdabot. 14:28:17 That's the part I never got. 14:28:26 I can substitute reverse [1..] with x 14:28:29 and x == x should be true. 14:28:31 Referential transparency means you must be able to replace an expression with its value. 14:28:40 If reverse [1..] is _|_, and an expression containing reverse [1..] evaluates to something, 14:28:46 Phantom_Hoover, dressed as a clown with no money, tied to a train on its way to Vladivostok 14:28:47 it /must/ evaluate to that same thing whenever you substitute anything else that is _|_. 14:28:52 mroman, how do you know you can substitute both sides with the same thing? 14:29:04 Phantom_Hoover: referential transpare... 14:29:04 It's obvious from textual analysis in this case, but not in general. 14:29:18 Same function, same input => same output, always 14:29:26 Oh for fuck's sake. 14:29:30 mroman, (==) can't know that 14:29:31 How do you know they're the same function? 14:29:36 mroman: The point is that you *cannot* add this one special case, however "obvious" it is, because you give yourself the obligation to make it work the same way even when it is NOT so trivial. 14:29:49 (Hint: you can't, it's isomorphic to the halting problem.) 14:30:48 That that is computably true is not all that that is provably true is not all that that is true 14:30:51 1.) textual analysis 2.) optimization 3.) dovetailing 14:30:54 mroman: If you don't do that, you break referential transparency, and hence all equational reasoning. 14:30:59 Simple as that. 14:31:20 No matter how clever you do it, you must choose between breaking RT and equational reasoning, or computing the impossible in all cases. 14:31:45 As a side note: IIRC Fortran allows optimisation based on textual equivalence. Which is rather stupid in a non-pure language. 14:32:06 mroman: Perhaps you are thinking of True as an "optimisation" of _|_. 14:32:19 It is OK if between two equivalent expressions, one returns True and one returns _|_. 14:32:25 That's not true; it violates RT all the same. 14:33:19 two equivalent expressions yield the same result. 14:33:20 1.) textual analysis 2.) optimization 3.) dovetailing 14:33:38 You realise this is basically impossible to do programatically for non-trivial cases? 14:33:57 It's extremely hard for humans, as well. 14:34:00 It certainly is in complex languages like haskell. 14:34:15 You're basically asking that a useless special case be added to (==). 14:34:20 No. 14:34:29 Not just that ;) 14:34:41 I'm pretty sure 14:34:47 last [1..] * 0 also does not halt 14:35:13 humans don't even try to evaluate last [1..] 14:36:10 pattern matching isn't dovetailed. 14:36:47 that is an usually useless special case to * instead. And if you want to catch all cases, then you need to check at runtime if one of the arguments evaluated to 0. Which won't work since one of them could take forever to evaluate 14:37:07 Vorpal: It does not matter if one takes forever 14:37:15 oh? 14:37:19 0 halts in no time 14:37:23 how does it know which one to evaluate first 14:37:30 mroman, which do you try first, and when do you stop trying? 14:37:31 Vorpal: It does so in parallel 14:37:42 Phantom_Hoover: By the way, your argument is irrelevant. 14:37:55 The specific special-case could be added to the compiler easily. 14:38:06 What matters is that it would BREAK REFERENTIAL TRANSPARENCY. 14:38:31 mroman, so you want to force it to start two threads at each multiplication...? 14:38:45 elliott: Why? 14:38:54 mroman: You can do that (the last [1..] * 0 thing) with the lub package and that can work fine. 14:38:57 mroman: I already told you why. 14:39:13 16:27 < elliott> Consider: reverse [1..] == haltIffGoldbach'sConjecture 14:39:26 ^- you can't say anything about that. 14:39:29 If reverse [1..] == reverse [1..] evaluates to True, then reverse [1..] == haltIffGoldbach must evaluate to True iff Goldbach's conjecture is false. 14:39:31 you have to dovetail both of them. 14:39:39 I can very well say something about that. 14:39:41 RT allows me to. 14:40:48 why must reverse [1..] == haltIff... evaluate to true? 14:41:07 OK, listen. 14:41:11 Referential transparency tells us we can substitute any two expressions with identical values. 14:41:22 Hence, assuming the excluded middle, I will consider two cases: 14:41:28 First, assume Goldbach's conjecture is true. 14:41:40 Thus, haltIffGoldbach evaluates to []. 14:41:56 Thus, reverse [1..] == haltIffGoldbach must be either False or _|_. 14:42:04 OK, no contradiction. 14:42:08 Next, assume Goldbach's conjecture is false. 14:42:15 Thus, haltIffGoldbach evaluates to _|_. 14:42:22 Now, we know that reverse [1..] evaluates to _|_. 14:42:31 Take the statement "reverse [1..] == reverse [1..] evaluates to True". 14:43:04 By referential transparency, we can substitute "haltIffGoldbach" for "reverse [1..]" in this statement: (being able to do this is a STRICT requirement for referential transparency and equational reasoning) 14:43:15 Resulting in "reverse [1..] == haltIffGoldbach evaluates to True". 14:43:35 Popping off any assumption about Goldbach's conjecture, we can see that Haskell is required to decide whether Goldbach's conjecture is true. 14:43:49 I swear, I'm learning everything in the wrong order. 14:44:01 Because if reverse [1..] == reverse [1..] evaluates to True, reverse [1..] == haltIffGoldbach MUST evaluate to True if Goldbach's conjecture is true, or False or _|_ if it is false. 14:44:02 MUST. 14:44:07 elliott, hm, out of interest, is it possible to implement haltIffGoldbach'sConjecture? I can see how to implement the opposite (you just have to write a function that goes on until it finds a counter example). 14:44:08 Therefore, you either must: 14:44:17 I don't get why you can replace reverse [1..] with iffHalt.. 14:44:21 - break referential transparency and all equational reasoning; or 14:44:22 you don't know what reverse [1..] is. 14:44:25 - not add your special case. 14:44:26 mroman: Yes I do. 14:44:28 It's _|_. 14:44:36 Do you want me to prove reverse [1..] is _|_? That seems a little trivial. 14:44:42 How do you know that? 14:44:46 Mathematical proof? 14:44:53 I don't think you understand denotational semantics or equational reasoning at all, frankly. 14:44:55 Here we go again... 14:45:00 mroman, do you even know what reverse does 14:45:02 Or, possibly, referential transparency. 14:45:07 So I'm sort of done with this argument. 14:45:20 Vorpal: Oh, right, you have to negate it. 14:45:24 Vorpal: Same argument applies, of course. 14:45:25 Phantom_Hoover: It's probably some fold with flip and : 14:45:30 elliott, did you see my obfuscated haskell that doesn't do what the one yesterday does? 14:45:31 elliott, well yes, obviously 14:45:44 Taneb: It doesn't segfault? Gosh. 14:46:02 http://hpaste.org/69700 14:46:06 elliott: Obviously I don't understand any of them. 14:46:12 I'm not a computer scientist at all. 14:46:13 mroman, OK look can you actually tell me any element of reverse [1...]? 14:46:23 s/1.../1../ 14:46:24 Phantom_Hoover: 9 14:46:29 mroman: I'm not trying to be insulting, but your position truly is untenable. 14:46:32 Very good. What index is it at? 14:46:40 I now have the dubious honour of having my code quoted on Uncyclopedia 14:46:47 Phantom_Hoover: 8 probably 14:46:49 Taneb, ouch 14:46:50 unless off-by-one 14:46:52 :) 14:46:52 ... 14:46:58 mroman, uh, in the reversed one... 14:47:01 oh 14:47:05 that's uncomputable 14:47:15 i.e. _|_ 14:47:19 indeed, that is why reverse [1..] is _|_ 14:47:33 mroman: It really is mathematically incoherent and you can try to defend it as a matter of "opinion" but in reality there is some deeper misunderstanding you have (I don't know what) that will hold you back as you try to learn about denotational semantics and equational reasoning and all of that. 14:47:43 The problem is, I don't consider _|_ as a value. 14:47:43 Your choice if you want to keep it that way. 14:48:03 mroman: It is. Have you learned denotational semantics yet? 14:48:14 reverse [1..] is a function that at some point in time will or will not return anything. 14:48:22 elliott, hmm wait isn't there a difference on some level between _|_ and Constructor _|_. 14:48:35 You could come up with a semantics where _|_ is not a value.It would not be denotational and it would probably be a lot less useful, but it's disingenuous (i.e. blatantly wrong) to argue that _|_ is not a value in denotational semantics. 14:48:38 mroman, what has time got to do with it...? 14:48:38 mroman, it will trivially never halt. 14:48:40 Phantom_Hoover: Yes. 14:49:01 length [_|_] == 1; length _|_ == _|_, right? 14:49:03 So isn't reverse [1..] [_|_, etc]? 14:49:06 Vorpal: But you can't prove that for all functions. 14:49:09 Taneb: Yes. 14:49:11 Phantom_Hoover: No. 14:49:15 Phantom_Hoover: Reduce the definition yourself. 14:49:21 a language is pure if 14:49:24 "The function always evaluates the same result value given the same argument value(s). " 14:49:37 and that is what my base of argumentation is ;) 14:49:39 mroman, of course not. And? 14:49:43 Can someone let me know when this nonsense stops going in circles? 14:49:46 -!- elliott has left ("Thanks."). 14:49:46 reverse [1..] yields the same result as reverse [1..] 14:49:49 if it would halt. 14:49:57 -!- boily has joined. 14:50:00 or not. 14:51:29 And I don't care if it halts or not, because I know that they must yield the same result 14:51:54 but I don't know the result of reverse [1..] 14:51:59 mroman, the result it yields *is* "does not halt". 14:52:27 Yeah, by the common definition. 14:52:37 I'm aware of that. 14:52:44 But why do you consider "does not halt" as a result? 14:52:44 What's your definition? 14:53:22 I don't see why we can assume "does not halt" as a result. 14:53:48 mroman, because that's the way the entire system is defined, so if you disagree with it you're not actually talking about the same thing as everyone else. 14:55:51 Ok. 14:55:57 So a function can result in 14:56:04 a value, "does not halt" 14:56:10 mroman, FWIW referential transparency is defined based on the definition of 'same' that requires that two functions that do not halt are the same. 14:56:14 and what in the case where you can't prove any option of them? 14:57:11 Then you can't prove it has any result. 14:57:31 i.e. you don't know whether the associated computation halts. 14:58:17 and how do you express that? 14:58:27 Is that bottom, or not bottom, or nothing at all? 14:58:48 That's "I don't know whether it's bottom or not" 14:59:13 OK look just sit tight, wait for someone who knows what they're doing to try to teach you and accept everything they say uncritically. 14:59:18 It's the only hope for you. 15:02:56 I can't. 15:03:17 I'd always wonder what if functions that do not halt don't yield "does not halt" ;) 15:03:42 Then go out there and find someone willing to teach you 15:03:53 If you consider "does not halt" as a value, than I understand you and elliot completely. 15:06:46 In other news, my hand's almost healed 15:06:59 mroman, oooh, elliott hates it when people get his name wrong. 15:07:11 Just ask Taneb why his hand was injured. 15:07:24 I'm pretty sure he hates me for several other reasons ;D 15:07:41 I'm not entirely sure if elliott has the ability to hate. 15:08:00 He may be severely ashamed of your existence, but I doubt he hates you. 15:08:24 But hey, I'm a nave idealist. 15:09:09 No elliott is definitely capable of hate. 15:10:33 elliott's word on this "I... expect so?" 15:10:50 And now I will go put things away 15:16:48 Back 15:38:42 -!- elliott has joined. 15:47:23 elliott, wb 15:47:29 hi 15:50:29 kmc: marlow just usurped you :P 16:06:52 ಠ_ಠ http://www.courthousenews.com/2012/06/06/47162.htm 16:08:26 ಠ_ಠ indeed 16:39:16 @tell Patashu I hope your seed scummer thing annotates the recording/save file appropriately, like wizmode does in most roguelikes. 16:39:55 Ugh. 16:39:57 lambdabooooot 16:41:30 -!- sebbu2 has changed nick to sebbu. 16:45:06 -!- Taneb has quit (Quit: Leaving). 17:06:58 After a reality bomb goes off at the first ever ShatnerCon, all of the characters ever played by William Shatner are suddenly sucked into our world. Their mission: hunt down and destroy the real William Shatner. Featuring: Captain Kirk, TJ Hooker, Denny Crane, Priceline Shatner, Cartoon Kirk, Rescue 9-1-1 Shatner, singer Shatner, and many more. No costumed con-goer will be spared in their wave of destruction, no red shirt will make it 17:06:59 out alive, and not even the Klingons will be able to stand up to a deranged Captain Kirk with a light saber. But these Shatner- clones are about to learn a hard lesson . . . that the real William Shatner doesn't take crap from anybody. Not even himself. 17:27:27 -!- pikhq has joined. 17:27:29 -!- pikhq_ has quit (Ping timeout: 246 seconds). 18:25:56 -!- calamari has joined. 18:32:39 elliott, is that a real movie? 18:32:44 Book. 18:32:48 oh 18:32:54 It should be a film! 18:32:56 still pretty amazing idea 18:32:58 I would go see that film. 18:33:03 But only if Shatner played all the Shatners. 18:33:08 yeah definitely 18:33:27 Cartoon Kirk 18:33:27 hm? 18:33:45 elliott, I'm not sure what that refers to 18:33:50 What. 18:33:56 it is in the list 18:33:59 that you quoted 18:34:07 -!- FireFly has quit (Changing host). 18:34:07 -!- FireFly has joined. 18:34:08 TAS? 18:34:20 oh the animated stuff 18:34:23 right, makes sense 18:34:54 Oh. 18:35:14 yeah he couldn't play that himself I guess :P 18:35:30 the voice acting I guess 18:40:38 -!- asiekierka has quit (Read error: Connection reset by peer). 18:47:59 -!- azaq23 has joined. 18:48:14 is there an irc channel where people know algorithms really well and are helpful and talkative 18:49:46 Have you tried #esoteric? 18:50:06 -!- aloril has quit (Ping timeout: 260 seconds). 18:50:19 one out of three ain't bad 18:50:36 -!- Taneb has joined. 18:51:49 yeah #esoteric sucks at that 18:52:07 quintopia: is your scoring done yet 18:52:18 that is why i want to talk to algorithms people 18:52:43 i suspect that i could get away without using the sledgehammer of linpack 18:52:59 eh 18:53:00 no reason not to 18:53:01 if i had someone competent at bayesian methods to talk to 18:53:07 Hello! 18:53:07 yes there is 18:53:09 akaa speed 18:53:13 uh 18:53:17 yeah i'm sure linpack will be super slow 18:53:38 finding all the eigenvales when i only need one eigenvector will be slow 18:54:54 -!- kappabot has joined. 18:55:02 @admin + elliott 18:55:04 @admin - elliott 18:55:39 `welcome kappabot 18:55:42 kappabot: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:56:11 hi shachaf 18:56:11 `WELCOME KAPPABOT 18:56:15 KAPPABOT: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 18:56:22 can i be admin shachaf? 18:56:45 @admin - quintopia 18:56:51 @quit 18:56:51 Not enough privileges 18:56:54 :( 18:56:58 Story of my life. 18:57:03 > 1 + 1 18:57:04 2 18:57:06 @help 18:57:06 help . Ask for help for . Try 'list' for all commands 18:57:12 @list 18:57:12 http://code.haskell.org/lambdabot/COMMANDS 18:57:14 @print-notice 18:57:14 Not enough privileges 18:57:15 @print-notices 18:57:15 Not enough privileges 18:57:18 shachaf: Awww, c'mon. 18:57:20 Make me admin. 18:57:38 elliott: No! You might run code on my server. 18:57:44 I already know your password! 18:57:46 Sort of. 18:57:54 Today I told elliott my password. 18:58:04 is this a ruby bot 18:58:27 What. 18:58:37 `quote tell 18:58:39 -!- ais523 has joined. 18:58:39 46) Gregor is often a scandalous imposter. It's all the hats, I tell you. \ 180) fizzie: I can never tell with OpenBSD! everything looks like an error anyway \ 253) oerjan: Tell us what (a(b{c}d)*2e)%2 expands to <-- ababcdbcdedbabcdbcdede, i think oerjan: What - the - fuck \ 313) A priori one cannot say that post hoc ergo propter hoc the diminishing 18:58:42 -!- monqy has joined. 18:58:51 `quote @tell 18:58:52 -!- ais523 has quit (Changing host). 18:58:52 -!- ais523 has joined. 18:58:54 hi, monqy 18:58:54 550) monqy: help how do I use lambdabot to send messages to people. [...around half an hour later...] @messages quicksilver said 1y 2m 18d 19h 54m 29s ago: you use @tell 18:59:23 -!- monqy has quit (Client Quit). 18:59:29 bye, monqy 18:59:42 -!- monqy has joined. 18:59:45 hi, monqy 19:00:24 you know how when your sasl auth times out and you just don't feel like manually identifying 19:00:35 no 19:00:38 oh 19:00:51 i identify manually with this client because it fails to do it automatically for some reason 19:01:04 my main client just uses a server password 19:01:07 "in the clear" 19:01:36 monqy: is sasl good 19:01:43 elliott: "is your irc password the same as your other passwords" 19:01:54 maybe 19:02:04 monqy: did you know lambdabot is down :( 19:02:22 is you irc password the same as shaachaf's password? 19:02:35 Yes. 19:03:08 -!- aloril has joined. 19:05:02 -!- zzo38 has joined. 19:11:45 monqy: I liked your Hell stairdancing. 19:11:56 (I wasn't going to bother watching it but then I saw the Pandoora announcements in the log.) 19:12:09 my irc pasword: 19:12:15 eli0t 19:12:33 elliott: which one 19:12:36 You can tell it's secure because it has a digit in it. 19:12:40 monqy: Which... one? 19:12:47 Digits are harder to remember than letters, so you know they're more secure. 19:13:05 hell is a stairdance party and ive been there multiple times in light 19:13:15 monqy: The one you did earlier. 19:13:19 Today. 19:13:20 elliott: also did you see the part where i got banished and quit 19:13:33 By "quit", do you mean "converted to Lugonu"? 19:13:41 I... was present when you got banished and quit. 19:13:43 the lugonu altar was right next to where I got banished 19:13:49 Yeah, I saw that. 19:13:50 I had no choice 19:14:03 I don't understand what you mean by quit, though. 19:14:07 That was an earlier game I saw live, wasn't it? 19:14:09 the joke is that i didnt 19:14:15 Oh. 19:14:17 I'm laughing. 19:14:24 16:11 @ask monqy WOW HOW DID YOU FIND A LUGONU ALTAR THAT QUICKLY 19:14:24 16:11 Error(401): lambdabot No such nick/channel 19:14:25 shachaf: also the fact that there over 60 million passwords using 5 alphanumeric characters! guessing it by brute force could take almost an hour! 19:14:43 monqy: I'm disappointed you did non-orb-run Hive. 19:14:48 I bet orb run Hive would be exciting. 19:16:08 if i got to hive on orb run i wouldnt do it 19:18:28 monqy: Another brogue release came out! 19:21:17 another? 19:21:46 monqy: Yes. 19:21:51 There was a... slight bug: http://i.imgur.com/Xw7eo.png 19:22:32 is anything else in the release 19:23:08 More bugfixes. 19:23:17 The ally damage doubled instead of added, or something. 19:23:39 very powerful ally that 19:32:37 -!- TeruFSX has joined. 19:50:49 -!- Taneb has quit (Quit: Leaving). 20:12:12 -!- MoALTz has joined. 20:17:13 monqy: Why is it so early? 20:20:34 -!- TeruFSX has quit (Read error: Connection reset by peer). 20:27:03 * Sgeo wonders if there's any good reason for Pidgin to be using XML 20:27:48 monqy: whuut??! 20:28:31 h There was a... slight bug: http://i.imgur.com/Xw7eo.png <-- interesting looking game 20:28:36 s/^h// 20:28:44 Vorpal: Golf your regexps. :-( 20:28:52 shachaf, why? 20:29:06 Golf=the future. 20:29:11 elliott: Wait, is that your roguelike? 20:29:12 shachaf, when used on IRC, clarity is way more important 20:29:15 Vorpal: It's brogue. It's pretty. It's fun. Play it! 20:29:17 shachaf: No. If only! 20:29:20 shachaf, no the future is just more capable hardware 20:29:21 That's brogue. 20:29:47 shachaf: But thank you for the implicit compliment in assuming I could produce something like that. 20:29:51 can't find it by googling, it is apparently an Irish word though 20:30:04 err, refers to an Irish accent even 20:30:23 elliott: I meant that your "roguelike" was a static textmap with a quarter of a map and some coloured text. 20:30:30 ah there we go 20:30:32 Vorpal: Hint: Add "game" to query. 20:30:42 "this advice brought to you by: the letter monqy" 20:30:45 The system operator seems to not be on X-BIT anymore 20:30:45 shachaf, that is what I did 20:31:02 Vorpal: https://sites.google.com/site/broguegame/ 20:31:05 right 20:31:14 elliott, I found it already :O 20:31:15 :P* 20:31:17 :O 20:31:26 indeed 20:31:31 @tell monqy @tell shachaf to look up brogue 20:31:31 Consider it noted. 20:31:32 I'm typing at an awkward angle here 20:31:40 blame that for my typos 20:34:55 -!- DHeadshot has quit (Ping timeout: 260 seconds). 20:39:56 -!- DHeadshot has joined. 20:48:56 -!- oerjan has joined. 20:50:29 `joustprog quintopia_zoom 20:50:32 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: joustprog: not found 20:50:33 `jousturl quintopia_zoom 20:50:35 http://codu.org/eso/bfjoust/in_egobot/quintopia_zoom.bfjoust 20:51:05 I like how ais523 just makes up program names. 20:51:09 `greet ais523 20:51:12 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: greet: not found 20:51:18 !bfjoust 20:51:18 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 20:51:23 shachaf: Will you play brogue? 20:51:27 EgoBot: you mean HackEgo commands? 20:51:28 hi ais523 20:51:31 hi quintopia 20:51:36 `run echo '#!/bin'sh' >bin/joustreport 20:51:38 whoops 20:51:39 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 20:51:42 `run echo '#!/bin/sh' >bin/joustreport 20:51:45 No output. 20:51:46 I'm trying to figure out if it's worth improving shudderlock, and I'm not convinced it is 20:51:48 elliott: Remind me ot play brogue later. 20:51:53 `run echo "echo 'http://codu.org/eso/bfjoust/report.txt'" >>bin/joustreport 20:51:56 No output. 20:51:56 `run chmod +x bin/joustreport 20:51:57 shachaf: I will. 20:51:59 No output. 20:52:00 `joustreport 20:52:01 the strategy might beat death_to_defence by defending 20:52:03 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/joustreport: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/joustreport: cannot execute: Permission denied 20:52:05 but I don't think it's /viable/ 20:52:07 `joustreport 20:52:08 ais523: you wouldn't happen to know a good "idiot's guide to lapack" would you? 20:52:10 http://codu.org/eso/bfjoust/report.txt 20:52:11 good 20:52:11 quintopia: no 20:53:45 the complete idiots guide to insults 20:53:54 *'s 20:54:23 ais523: you wouldnt happen to know a good regular-lock-on-flag style defense strategy that works for 2-cycle clears on both polarities without requiring much synchronization would you? all i can think is "use the smallest adjustments to flag possible with shortest clear time possible and risk running out of time" 20:55:24 crash testing for dummies 20:55:38 quintopia: hmm; (+)*256(.)*256 is reasonably viable if you can hit the right half of the opposing program's clear loop 20:55:45 works better on one polarity than the other, but can work on either 20:55:53 (you put your full-tape clear in the (.)*256) 20:56:31 shudderlock uses (+)*64(-)*64(+)*64(-)*64(+)*64(.)*64 in order to defeat death_to_defence, but it seems a bit finicky about the details 20:56:47 and that pattern doesn't work on the flag, but only next to the flag 20:57:00 (has occasional zero-for-two-cycle moments) 20:57:06 ais523: it fails if you are in the (+)*256 part while opponent is doing [-] and the flag starts at wrong value 20:57:12 quintopia: indeed 20:57:31 there's no generic lock algorithm that works on everything with no synchronization, or I'd have used it already :) 20:57:51 if you start the (+)*256 while your flag is positive, though, it's reasonably safe 20:58:13 but if you start it before the opponent gets there...it won't be positive :P 20:58:21 right 20:58:31 I don't think you can reliably lock with no synchronization at all 20:58:31 well 20:59:17 what if you do (.++)*192 instead? would that give you a little more leeway for the opponent arriving late? 20:59:23 at least for the first lock pass? 21:00:38 elliott: usurped? 21:00:53 kmc: yep 21:01:05 http://community.haskell.org/~simonmar/async-stm/Control-Concurrent-Async.html 21:01:05 explain plz 21:01:19 async + wait + waitThrow ~ spawn 21:01:22 no 21:01:28 there are already like 5000 of these libraries on Hackage 21:01:32 I know! 21:01:36 But this is the 5001th. 21:01:40 Therefore you are usurped. 21:01:48 And also this is going into the base package. 21:01:54 So: totally usurped. 21:02:01 'spawn' is different because there's no new type for "asynchronous actions" / "threads" / whatever 21:02:14 so yeah it's IO a -> IO (IO a) not IO a -> IO (Async a) 21:02:19 Fair enough. (But the new type doesn't really matter that much, since you could make spawn use a newtype and it'd be ~the same.) 21:02:24 obviously the latter gives you a lot more functionality 21:02:29 but the former is more convenient 21:02:35 foo <- spawn abc 21:02:37 bar <- wait abc 21:02:46 Well, it's exactly a "wait " more convenient, I guess :) 21:02:46 and pleases me better as a fusion of imperative and functional programming 21:02:51 Fair enough. 21:02:58 I tend to prefer using a newtype for things like that for clarity. 21:03:07 elliott: well it's also the difference between mapM wait and sequence 21:03:23 Also fair enough. 21:03:26 Things like IO (IO a) then you can use join 21:03:27 anyway this is not a big difference 21:03:46 race :: IO a -> IO b -> IO (Either a b) 21:04:29 @admin + elliott 21:04:30 @admin - elliott 21:05:03 shachaf: And, what would you mean by that race? 21:05:17 zzo38: Exactly what Marlow means. 21:06:31 zzo38: race m n = do { var <- newEmptyMVar; rec { threadA <- forkIO ((m >>= putMVar var) >> killThread threadB); threadB <- forkIO ((n >>= putMVar var) >> killThread threadA) }; takeMVar var } 21:06:33 (More or less.) 21:07:03 zzo38: You forgot Left and Right. 21:07:18 By zzo38 I mean elliott. 21:07:32 Damn, how did you discover my sockpuppet? 21:07:57 elliott: It is because you threw all of your socks on the floor, everyone can find them 21:08:09 Help. 21:08:14 ah! a talking sockpuppet! 21:08:14 I have been foiled. 21:08:48 -!- azaq23 has quit (Quit: Leaving.). 21:12:43 I fail to understand what rec means there? 21:13:17 DoRec extension 21:13:26 See the documentation for the DoRec extension. 21:13:34 OK 21:14:05 How would it be written without using do and rec? 21:14:17 using mfix 21:16:31 mfix (\(threadA, threadB) -> liftM2 (,) (forkIO ((m >>= putMVar var) >> killThread threadB) (forkIO ((n >>= putMVar var) >> killThread threadA)), i think 21:16:39 zzo38: Using mfix in a far more ugly manner than I can be bothered with. 21:18:01 I do not even understand mfix well either 21:18:57 zzo38: Just read the rec as a mutually recursive binding there 21:19:07 Except in IO. 21:19:30 OK 21:20:01 But what does a mutually recursive binding even means in IO? 21:21:50 zzo38: it means mostly that mutation is used under the hood to change the bindings from errors to the final value when the IO action completes 21:23:03 which means that the IO actions should use the bindings only lazily 21:23:16 Right, you could instead create two MVars to hold the thread ID of each. 21:23:24 oerjan: (Not errors, are they?) 21:23:29 (I assumed it'd just block, like takeMVar.) 21:23:37 elliott: i'm not sure. hm i guess. 21:23:38 (In fact, I suspect it looks like this:) 21:24:01 (mfix m = do { v <- newEmptyMVar; x <- m (takeMVar v); putMVar v x; return x }) 21:24:11 Er. 21:24:20 Except not quite, because it has to be takeMVar v >>= m and that wouldn't work. 21:24:29 Let me check. 21:24:42 instance MonadFix IO where 21:24:42 mfix = fixIO 21:24:43 Come on, GHC. 21:25:03 oerjan: You look it up. :p 21:25:05 @src fixIO 21:25:05 Source not found. This mission is too important for me to allow you to jeopardize it. 21:25:08 shachaf: Come on. 21:25:29 elliott: I just downloaded the database, maan! 21:25:32 http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.5.0.0/src/System-IO.html#fixIO 21:25:39 pretty close 21:25:46 Right, I thought unsafeInterleaveIO might be involved. 21:25:50 I think it's safe there 21:25:52 *there. 21:27:06 lots of note about how this probably isn't always safe 21:27:26 What else is new :P 21:29:34 14:28 class Monad m where box :: a -> m a; unbox :: m a -> a 21:29:47 22:24 The first monadic law is that a monad is a wrapper around another type. In Haskell, one has the IO String type, which is returned from functions that read from files, console input, or system calls – IO is a monad that wraps the String data type. jQuery obviously satisfies this condition, as it wraps DOM nodes retrieved through given queries. 21:29:56 That isn't a monad 21:29:58 22:24 The second monadic law is just as simple: all monads must have a function to wrap themselves around other data types. jQuery clearly has ways to apply itself to DOM nodes – you use the querying facilities to traverse the DOM, and if you’re feeling especially saucy, you can use pass the results of document.getElementsByTagName and its siblings to the jQuery object. Haskell refers to this as a type constructor – a 21:29:58 function that takes some data an 21:30:11 I was quoting someone else there! 21:30:20 elliott, on the other hand, typed that thing in himself. 21:30:30 That particular line has never been typed before by anyone. 21:30:39 I was channelling whoever wrote this other blog post. 21:30:59 The third monadic law says that everyone gets monads wrong. 21:32:51 I think it ought to be: class Functor m => Monad m where { return :: x -> m x; join :: m (m x) -> m x; }; well, not exactly; it should be done by making specificness of a monad generally in another category, and then add another instance that makes all monads to be also applicative in the categories where that is the case 21:34:35 zzo38: You forgot unbox. 21:34:40 And understand 21:34:55 shachaf: I forgot it on purpose because it is not a comonad 21:37:39 type MonadC (c :: z -> z -> *) (m :: z -> z) :: & = (Category c, EndofunctorC c m, MonadLawsC c m, method return :: c x (m x), method join :: c (m (m x)) (m x)); 21:37:57 type Monad = MonadC (->); 21:38:01 MonadFactorySingleton 21:39:09 monqy: was that eventful 21:39:13 i missed it 21:39:15 If (->) of kind (* -> * -> *) then Monad of kind ((* -> *) -> &) due to these definitions. 21:39:31 :k (->) 21:39:32 ?? -> ? -> * 21:39:40 wat 21:39:45 @kind Monad 21:39:46 Class `Monad' used as a type 21:39:46 In the type `Monad' 21:39:47 HLEP 21:39:56 monqy: geryon, I mean 21:40:00 In GHC, (->) is of kind (?? -> ? -> *) and Monad does not have a kind. 21:40:17 The code I posted above is meant for Ibtlfmm rather than Haskell since it won't work in Haskell 21:40:26 zzo38: Wrong. 21:40:29 Monad has kind * -> Constraint in GHC. 21:40:38 (With the appropriate extensions.) 21:40:38 elliott: Which part is wrong? 21:40:43 Monad not having a kind. 21:40:51 Oh. 21:40:54 elliott: Shouldn't it be: (* -> *) -> Constraint 21:40:55 elliott: (* -> *) -> Constraint, surely 21:41:09 Er. 21:41:10 Right. 21:41:19 * -> Constraint -> (Constraint,Constraint) -> * 21:41:59 shachaf: What would the (Constraint,Constraint) kind mean? 21:42:13 #quit 21:42:13 -!- oonbotti has quit (Quit: oonbotti). 21:42:38 -!- oonbotti has joined. 21:43:05 At first I was using "kind" for data kinds, but perhaps "kind" should mean kind synonyms and "data kind" for data kinds, then you can write: kind Constraint = &; if you want to do so. 21:43:36 yay. this time I really managed to remove all that debug junk 21:44:04 -!- boily has quit (Quit: WeeChat 0.3.8). 21:45:49 oonbotti: is eliza still working? 21:45:49 Please consider whether you can answer your own question. 21:46:31 oonbotti: I often dream of gnomes. 21:46:31 How does that make you feel? 21:46:44 oonbotti: Hungry. 21:46:44 How do you feel when you say that? 21:46:50 oonbotti: Hungry. 21:46:51 How do you feel when you say that? 21:46:55 oonbotti: Hungry. 21:46:55 Let's change focus a bit... Tell me about your family. 21:46:58 oonbotti: Hungry. 21:46:58 I see. 21:47:02 I'm glad. 21:50:53 And then give the name for other kind too: kind Natural = +; kind Module = @; 21:52:24 -!- oonbotti has quit (Quit: oonbotti). 21:53:47 -!- oonbotti has joined. 21:55:43 oonbotti: no errors made by cleanup? 21:55:44 nortti: Please consider whether you can answer your own question. 21:57:06 bit uppity, that one 21:57:27 -!- Patashu has joined. 21:57:46 -!- derdon has joined. 21:58:35 oonbotti: I can't answer that before I have seen your eliza program working 21:58:35 nortti: How do you know you can't answer that before you have seen my eliza program working? 22:00:05 oonbotti: because python interpreter doesn't detect logical errors 22:00:05 nortti: What other reasons come to mind? 22:00:21 oonbotti: well that is the only one 22:00:21 nortti: Please tell me more. 22:01:26 python interp doesn't even detect illogical erros 22:01:29 *errors 22:01:57 * oerjan wonders if eliza was the first wrapped shrink software 22:02:38 oerjan: :( 22:02:46 that was a surprisingly good pun, for oerjan 22:02:50 he normally makes bad ones 22:03:08 yay :( 22:03:27 hmm, I'm having a bit of cognitive dissonance trying to read that last line 22:03:34 you don't say 22:04:03 `pastlog yay :\( 22:04:29 :\( is kinda weird emoticon 22:04:36 No output. 22:04:52 `pastlogs yay :( 22:04:55 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastlogs: not found 22:05:05 `pastlog yay :( 22:05:08 grep: missing ) 22:05:24 ah. so it has regexps 22:05:47 of course. we are not barbarians here. 22:07:32 -!- Patashu has quit (Disconnected by services). 22:07:32 -!- PatashuXantheres has joined. 22:13:09 -!- PatashuXantheres has changed nick to Patashu. 22:16:33 -!- nortti_ has joined. 22:26:50 -!- Sgeo_ has joined. 22:33:06 Can you make any Pokemon Card puzzle? 22:36:42 -!- glogbackup has quit (*.net *.split). 22:36:42 -!- Sgeo has quit (*.net *.split). 22:36:42 -!- Nisstyre has quit (*.net *.split). 22:36:43 -!- ssue has quit (*.net *.split). 22:43:12 -!- kappabot has quit (Quit: requested). 22:43:24 -!- ssue has joined. 22:43:48 `welcome ssue 22:43:51 ssue: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:45:04 -!- Nisstyre has joined. 22:46:20 -!- lambdabot has joined. 22:46:56 elliott, he doesn't look new: * ssue has quit (*.net *.split) 22:47:08 Tough! 22:47:10 well, not that new at least 22:49:19 god damn, ~/Images on my laptop is 40 GB 22:49:24 how did that happen 22:49:34 it is supposed to be like that on the desktop 22:49:43 well that explains where the disk space went at least 22:49:49 what? that is larger than my HD 22:50:26 nortti_, I have a 250 GB in my laptop, and like 4 TB (but RAID 1 and dual booting, so 1 TB to linux and 1 TB to windows) in my desktop 22:50:41 nortti_, anyway how is 40 GB images strange? 22:50:46 also: what sort of disk do you have 22:50:55 30GB 22:50:59 how old? 22:51:17 I can't remember 22:51:23 really old I guess 22:51:48 nortti_, my camera takes 14 MB RAW images. And I convert that into TIFF with 16 bits per channel (I do HDR photo, and panorama photo) 22:52:06 a typical panorama project will end up at around 2 GB or so 22:52:10 more if it is HDR as well 22:52:22 ah. that explain it 22:52:24 (while non-panorama HDR is usually around 1 GB) 22:52:48 nortti_, so yeah I'm just wondering why it is on my /laptop/ 22:52:52 rather than my desktop 22:53:13 nortti_, anyway 30 GB HDD sounds utterly painful 22:54:05 Vorpal: year ago I had 10GB HD. It is relative 22:54:16 nortti_, you know, my steam directory alone on windows is larger than your HDD XD 22:54:32 nortti_, what you can buy a new 30 GB HDD? 22:54:34 how?! 22:54:35 Last-first search. 22:54:36 Go. 22:54:43 LFS 22:54:45 tswett, last-first? 22:55:02 Last-first search. LFS. 22:55:05 that is only well defined for one search result? 22:55:07 Vorpal: no. it was on different computer 22:55:11 if the last item is also the first one 22:55:17 leet file system 22:55:23 nortti_, you can buy a new computer with a 30 GB HDD!? 22:55:26 uh? 22:55:27 Lossy file system. 22:55:39 tswett: all of them? :P 22:55:43 Vorpal: I buy my computers used 22:55:45 oh 22:55:53 Stores files using Bloom filters. You can never be sure if the file you're looking for exists or not. 22:56:12 hi 22:56:13 nortti_, unless it is a laptop I just buy components and assemble the computer myself 22:56:21 nortti_, I really like my current desktop. 16 GB RAM 22:56:34 nortti_, hey, that is more RAM than your old computer had disk space :P 22:56:46 also the mobo supports 32 GB RAM. So I could upgrade if I wanted 22:56:57 to get more than your current disk 22:57:19 -!- david_werecat has joined. 22:57:22 Vorpal: you have 256 times as much ram as I do 22:57:45 nortti_, you have 64 MB RAM!? 22:57:47 dude 22:57:51 wth 22:58:16 And you live in Finland according to /whois 22:58:16 Vorpal: yes. does that shock you? 22:58:19 this makes no sense 22:58:40 Vorpal: what about me living in finland? 22:58:48 elliott: hi 22:58:52 nortti_, it is not a third world country! 22:59:05 -!- calamari has quit (Quit: Leaving). 22:59:09 nortti_, 64 MB RAM is as much as my first computer had (a first model iBook) 22:59:17 that was about 10 years ago 22:59:22 tswett: hi 22:59:24 11 actually 22:59:30 I feel like I should have more RAM than I do. 22:59:35 i have 4 rams 22:59:36 I guess that's what money for. 22:59:42 nortti_, having 64 MB RAM makes no sense. You can't do anything useful with it 22:59:48 tswett, how much do you have then? 23:00:04 -!- augur has quit (Remote host closed the connection). 23:00:15 i would have more rams but i learnt the hard way that you can't trust elliott as far as you can throw him :( 23:00:21 Vorpal: my computer is 12 years old. And I can do a lot with it. 23:00:26 Phantom_Hoover: how far can you throw me 23:00:32 not very far 23:00:37 i'm putting both nortti_ and Vorpal on ignore until they stop talking about computer specs 23:00:43 tswett: i think that has actually been done. use a bloom filter to avoid hitting distant memory (RAM, disk). i guess you're just suggesting throwing out the actual storage part 23:00:44 Vorpal: 4 GiB. 23:00:53 i'm terrible at throwing things 23:00:53 elliott: why? 23:00:58 Phantom_Hoover: :'( 23:01:04 but how will i ever get to alaska now 23:01:04 btw I think the first component I will upgrade in this computer apart from replacing breaking HDDs (it is slightly less than a year old, so maybe in 2-3 years I will upgrade this) will be the GPU 23:01:06 nortti_: You should get a newer computer! 23:01:16 i once threw like 20 pens at someone from a metre behind him 23:01:17 shachaf: why? 23:01:20 shachaf: you will not avoid the ignores 23:01:20 all but one missed 23:01:36 I'm just not happy with 55 FPS in Skyrim on Ultra (only at some specific places). I want a full 60 FPS! 23:01:38 elliott: Am I on /ignore now :=_( 23:01:45 shachaf: not yet!!! 23:01:54 "ok>" 23:02:18 shachaf: you will not avoid the ignores <-- what did he do? 23:02:23 Vorpal: I have 700MHz Pentium III 23:02:26 tswett, that is enough for some workloads 23:02:44 It is enough for literally everything I have ever done using this computer. 23:02:46 @msg #esoteric nortti_: In order to type-check Agda programs! 23:02:46 Not enough privileges 23:02:47 nortti_, argh this is painful. My oldest PC is more powerful than your computer (smaller HDD though) 23:02:51 :-( 23:03:11 @msg #esoteric nortti_: In order to type-check Agda programs! 23:03:11 Not enough privileges 23:03:22 Vorpal: why is it painful? 23:03:23 @msg #esoteric nortti_: In order to type-check Agda programs! 23:03:23 Not enough privileges 23:03:25 For example, playing Eve Online rather slowly. 23:03:40 tswett, well then. I only have 16 GB because I 1) Panorama photo processing is memory intensive and also 2) want to dual boot windows, and that is because 3) I want to play high end games 23:03:54 otherwise I would probably have gone for 8 GB 23:03:54 Vorpal: I like to hang here at the low end 23:04:00 i broke my swap partition ages ago 23:04:00 nortti_, why is that? 23:04:01 * tswett nods. 23:04:08 nortti_, also that isn't low end. It is below low end 23:04:10 (this was also elliott's fault) 23:04:19 Who's a good manufacturer of desktop PCs? 23:04:21 Vorpal: hardware is cheap 23:04:22 Phantom_Hoover, how? 23:04:27 Phantom_Hoover, how can you break swap? 23:04:31 nortti_: Low end machines use 2 watts. Yours uses at least 200. 23:04:34 nortti_, hm true 23:04:42 well basically i had torrented skyrim to vax's linux partition 23:04:43 pikhq, and good point 23:04:51 Phantom_Hoover, vax? 23:04:55 this computer 23:04:58 awesome name 23:05:00 pikhq: my machine is a laptop 23:05:01 * tswett Who's a good manufacturer of desktop PCs! You are! Aww, you're the cutest manufacturer of desktop PCs ever! Good manufacturer of desktop PCs! Wuv wuv wuv. 23:05:02 its clever pun, my laptop is called henry 23:05:16 tswett: god 23:05:18 Phantom_Hoover, oh I thought it was a reference to VAX computers 23:05:19 :( 23:05:31 @admin + shachaf 23:05:32 @admin - shachaf 23:05:35 Vorpal: define low end 23:05:38 anyway elliott claimed that linux couldn't reliably write a 5GB file to ntfs so he had me repurpose the swap partition for transfer 23:05:39 elliott, which bot? 23:05:46 nortti_: Coppermine? 23:05:55 @admin + shachaf 23:05:55 Not enough privileges 23:06:04 pikhq: yes 23:06:05 nortti_, the least powerful thing that you can currently buy new and is still being produced. 23:06:12 it didn't work, i ended up doing a convoluted http transfer through my home wifi with henry, and i haven't gotten around to reformatting swap 23:06:24 Vorpal: I'd call that mid end 23:06:25 HP it is. 23:06:27 @admin - elliott 23:06:29 @admin + elliott 23:06:31 @admin - shachaf 23:06:37 nortti_: Your friggin' CPU uses 25 W. 23:06:41 nortti_, nah mid end is midway between that and whatever is the high end 23:06:43 Vorpal: or high end 23:06:43 Phantom_Hoover: you don't need to "reformat" swap 23:06:45 just add it back 23:06:49 nortti_, oh come on 23:06:55 you said reformat at the time I AM SURE OF IT 23:07:09 pikhq, at max load? 23:07:11 Vorpal, (the naming scheme is clever because henry and vax are both brands of hoover) 23:07:15 nortti_: You're using "older than low-end and significantly more power-hungry than low-end" stuff. 23:07:16 pikhq, or idle? 23:07:22 Vorpal: Pretty sure that's max load. 23:07:42 Vorpal: It's not before the P4 that you start seeing ridiculous power usage. :) 23:08:02 Where you can fry eggs by placing a frying pan on the heat sink... 23:08:04 you said reformat at the time I AM SURE OF IT <-- uh you need to run mkswap to write like a one block header to it 23:08:12 if you overwrote it that is 23:08:25 Phantom_Hoover, ah 23:08:40 P4s go up to... 115W. Shiiit. 23:08:41 I MUCH prefer it being a reference to VAX computers 23:08:45 (i realised you probably wouldn't get it being an inferior swede and all) 23:08:52 dude it was both obviously 23:08:55 @flush 23:08:56 Not enough privileges 23:09:10 Vorpal: I think that nothing currently produced cam be called low end 23:09:11 pikhq, what does a modern top-end, state of the art Core i7 go up to? 23:09:19 when i was looking through brands of hoover for a name i found it and was like omg 23:09:24 @flush 23:09:27 nortti_, really? 23:09:31 "oopse" 23:09:45 Vorpal: yes 23:09:53 Phantom_Hoover, well, I have a Mile vacuum cleaner here 23:10:02 German brand I think? 23:10:09 Vorpal: The *6 core* i7 does 130W. 23:10:16 pikhq, pretty amazing 23:10:25 good to know, if i ever have a computer in sweden and/or germany i will call it that 23:10:41 pikhq, I wonder what consumes most in my desktop. I guess it is either the GPU or the HDDs spinning up actually? 23:10:52 I have a 4 core Sandy Bridge i7 23:10:55 let me check which one 23:10:59 Oh, sorry, I lied, that was the last gen 6 core i7... 23:11:02 @admin - shachaf 23:11:12 Oh, it's still 130 W on the current gen. 23:11:23 The more typical ones use rather a lot less. 23:11:25 @flush 23:11:27 :-( 23:11:33 Vorpal: I have my comfortable lowest machine requirement somewhere between 100MHz Pentium I/40MB RAM and 50MHz 486/16MB RAM 23:11:37 I still have no idea if the restarts from DX:HR are an overheat or power problem or what because apparently making a temperature monitor is the most complicated thing in the world. 23:11:40 wow, great job windows... the System tab in Control Panel broke. Somehow. It lists everything as NaN 23:11:42 On the low end they use 17 W max. 23:11:51 well, every number that is 23:11:56 like NaN GB RAM 23:12:19 pikhq, mine is 3.4 GHz 23:12:36 can't check which product name though since windows is spacing out here 23:12:38 Lessee. It looks like the best computer HP can give me would cost $3,383.99. 23:12:46 tswett, desktop? 23:12:49 Yeah. 23:12:57 Has three hard drives and two Blu-Ray writers. 23:13:02 tswett, protip: it is probably cheaper to built your own equivalent system 23:13:09 also who would need two blu-ray writers!? 23:13:12 that makes no sense 23:13:18 Because who knows when you might want to burn two BDs at once. 23:14:09 tswett, just converted it to SEK. It is between 2 and 3 times as expensive as my system 23:14:09 I could buy this. But my parents would disown me. 23:14:11 um 23:14:12 guys 23:14:15 (well, when it was new) 23:14:20 you can burn blu-rays twice as fast 23:14:24 Phantom_Hoover, XD 23:14:34 btw I only have a DVD drive 23:14:43 don't really see the need for a blu-ray drive 23:14:54 my laptop has a crazy drive though. It can do DVD-RAM 23:14:54 I have single DVD-R, CD-RW drive 23:14:55 take that! 23:15:10 they do seem a bit pointless given the existence of torrents 23:15:15 Phantom_Hoover, indeed 23:15:18 Wait, I actually *can* buy this. 23:15:27 how the hell does DVD-RAM work 23:15:29 tswett, don't though 23:15:42 Phantom_Hoover, google it. It is a packet writing based media iirc 23:15:54 Phantom_Hoover, so you can write specific sectors 23:16:14 Phantom_Hoover, basically it is formatted into sectors iirc, but don't quote me on that 23:16:17 well this is ridiculously overwrought 23:16:33 "Can be rewritten over 100,000 times for the lowest write speed discs (DVDRW can be rewritten approx. 1,000 times)." 23:16:51 tswett: Don't buy a premade computer, man. 23:16:53 You'll regret it. 23:16:56 Especially a really expensive one. 23:17:31 Vorpal will look down on you for one and he's well without facepunching range 23:17:34 I will instantly regret any computer purchase I make. 23:17:45 yeah but you'll regret it more 23:17:45 Phantom_Hoover, :P 23:18:04 it is pretty much wasted money 23:18:28 Phantom_Hoover, anyway rest assured I didn't select the laptop based on the DVD-RAM support 23:18:36 I discovered that support much later 23:19:20 and it is not so strange really, it is a thinkpad. And it supports one PC Card + one ExpressCard as well. Oh and Firewire. Yeah it has some rather uncommon stuff 23:19:22 well I don't regret my computer purchases. They are rarely over 15 euros 23:19:26 DisplayPort too 23:19:29 no HDMI 23:19:52 I haven't bought a computer more expensive than 15 euros in about three years. 23:20:02 I also have thinkpad 23:20:25 the tracpoint mouse is awesome 23:20:30 I tend to buy really good computers when I do buy computers. And then use them until they break or are no longer usable for my purposes 23:20:51 so I will probably upgrade my desktop in about 5 years time. No idea for my laptop. I don't do such heavy stuff on it 23:21:03 nortti_, indeed. Also matte screens FTW 23:21:15 Vor 23:21:23 anyway I wouldn't buy a laptop without a trackpoint. Touchpads are terrible 23:21:27 nortti_, "vor"? 23:21:47 ok so less than two weeks before cambridge's "you want to study maths with us? haha fuck you" test i am still unable to reliably integrate ln(ax+b) 23:22:05 Vorpal: also how rugged they are 23:22:22 nortti_, not much (for the newer lenovo made ones at least) 23:22:27 (never owned an IBM one) 23:22:53 If I wanted rugged I'd go for Toughbook 23:23:29 Vorpal: my T20 was uder one of the feet of cr 23:23:34 i'd get a raspberry pi and put it in 13 different boxes 23:23:40 nortti_, cr? 23:23:45 -r+hain fow few yers 23:23:52 *chair 23:23:55 Vorpal: do you actually have any evidence that they got less durable when Lenovo took over? 23:24:02 nortti_, chain? chair? 23:24:10 nortti_, also why would you put it there? 23:24:16 i hear this a lot but it usually sounds like nerd hipsters whining about how the early albums were better 23:24:36 i'm not happy with some of lenovo's design decisions, but i don't know if the quality has suffered 23:24:37 kmc, yes. I had to order a replacement part for the palm rest. And the second one got a crack in the same place 23:24:45 Vorpal: previous owner. thought it was completely broken 23:24:46 not so much that I need to order a new one yet 23:24:46 nice anecdotes 23:24:47 but hm 23:24:53 but did you ever own an IBM thinkpad? 23:24:53 kmc, well it is my personal experience 23:24:56 wait, you said there you didn't 23:24:58 so you have no comparison 23:25:05 I don't have any statistics on it 23:25:34 kmc, and I know people with IBM thinkpads. And I used them (though never owned them) and they feel more durable. And I never seen them break like that 23:25:53 that's all pretty dodgy 23:26:01 they "feel more durale" and you've never seen them break, but you don't own them? 23:26:08 and obviously you wouldn't see the broken ones 23:26:12 kmc, It lacks scientific rigour definitely 23:26:34 kmc, I had one on loan for a few years 23:26:51 is that enough for you? 23:26:57 i dunno, i have this basic contrarian impulse where, if a majority of my peer group believes something, i try to argue against it 23:27:07 Vorpal: not really, but I don't think anything would be, so whatever 23:27:15 -!- nooga has quit (Ping timeout: 246 seconds). 23:27:26 kmc: I think you exist 23:27:35 kmc, well it is just annoying. I never claimed I tested for statistical significant results and so on. So don't argue like if I did that 23:27:37 i can cite one specific thing lenovo made better though 23:27:50 kmc, oh? 23:27:59 which is that the plug on the end of the power cords has more strain relief now 23:28:04 and is less liable to break 23:28:06 hm maybe 23:28:13 the old IBM-designed and the first lenovo-designed ones broke all the time 23:28:47 kmc, oh yeah forgot that. My power cord for this lenovo one (R500, not sure if it is new or old, it lacks the IBM logo though) broke. Near the power supply end 23:28:50 i owned an IBM-designed ThinkPad and it had its share of problems 23:28:53 rather than at the computer end 23:28:54 enough anecdotes to match yours 23:29:03 laptops break 23:29:06 thinkpads aren't magic 23:29:06 well yes 23:29:08 they are pretty good 23:29:11 inded 23:29:13 indeed* 23:29:19 they are better than average though 23:29:21 yeah 23:29:27 i hope that continues to be the case 23:29:39 i'm upset about lenovo throwing out the thinkpad keyboard layout 23:29:42 kmc, but thoughbooks are better still if you are really handling it rough 23:29:46 sure 23:29:50 but they're huge and unwieldy 23:29:58 kmc, though I know someone who managed to drop a toughbook so that the HDD popped out and broke 23:30:26 to be fair he works as an ambulance driver and used it in his work. So that is some really tough environment. 23:30:56 still pretty unluckly 23:31:00 unlucky* 23:31:08 yeah 23:31:32 if lenovo goes to glossy screens only, that's the point at which I will really have to switch 23:31:40 i used a glossy screen thinkpad for a few months and really disliked it 23:31:48 kmc, but what is there to switch to!? 23:31:56 I have no idea what is left 23:32:56 i dunno, i have this basic contrarian impulse where, if a majority of my peer group believes something, i try to argue against it 23:33:27 kmc, this laptop monitor is 8:5 btw. Nicer than 16:9 at least 23:33:50 Vorpal: apple :( 23:33:56 kmc, what? 23:33:58 but i really hate the company 23:34:13 i hate the company but their laptops at least seem to be well made 23:34:15 i dunno, i have this basic contrarian impulse where, if a majority of my peer group believes something, i try to argue against it <-- err wasn't it kmc who said that? 23:34:36 kmc, oh yeah apple has some terrible lock in going on 23:35:59 I hate apple's iOS devices and poat 2006 macs but I love old macs 23:36:06 mhm 23:36:25 nortti_, I'm going to get a new phone soon. A Samsung Galaxy S3 23:36:37 the blue variant been delayed though 23:36:42 otherwise I would have had it already 23:36:51 (some production issues from what I heard) 23:37:09 (and I don't want a white phone) 23:37:15 my current phone isn't even a smartphone 23:37:28 just a really old Nokia with bits of plastic starting to fall off 23:37:31 (keypad) 23:37:38 What is the best way to do constrast/brightness/gamma by integer arithmetic? 23:37:53 I am going to also get new phone. an old nokia nonsmartphone 23:37:56 zzo38, for what? Image manipulation? 23:37:59 00:34 i dunno, i have this basic contrarian impulse where, if a majority of my peer group believes something, i try to argue against it <-- err wasn't it kmc who said that? 23:38:00 hey oerjan 23:38:03 nortti_, why? 23:38:06 Vorpal: Yes 23:38:28 nortti_, at least my current phone can run J2ME and has a simple camera built in. Pretty shitty quality though 23:38:39 should upload an image I took recently. Was pretty funny 23:38:44 Although why should it matter if it is for image manipulation? The same thing should work for audio as well 23:39:28 zzo38, what does gamma mean for audio? 23:39:30 Vorpal: why not? I find camera+GPRS+J2ME to be all I nees 23:39:35 or brightness 23:39:59 nortti_, fair enough. Those phones are certainly smaller and have better battery life 23:40:20 personally I really need a better phone since I started doing android development 23:40:22 Vorpal: The same thing as with pictures; gamma is the value to the power of some number, etc 23:40:30 would be nice to be able to test it at home 23:40:43 mhm 23:40:55 zzo38, I guess you could do fixed point calculations? 23:41:01 However with signed audio you would need to also decide what it will do with the sign 23:41:14 (in case of gamma) 23:41:17 zzo38, but why not use floats? 23:41:37 zzo38, shouldn't gamma just scale the magnitude? 23:42:29 Vorpal: I want to use integer arithmetic to avoid it being difference by different computers like how TeX also use integer arithmetic for same purpose 23:43:05 hey oerjan <-- wat 23:43:11 00:37 00:34 i dunno, i have this basic contrarian impulse where, if a majority of my peer group believes something, i try to argue against it <-- err wasn't it kmc who said that? 23:43:23 you know that word that starts with a wo 23:43:29 and ends with an osh 23:43:55 worbitosh 23:44:09 elliott, hm? 23:44:20 oh right 23:44:20 oerjan: you need to say that word to Vorpal, you see 23:45:58 -!- Slereah_ has quit (Read error: Connection reset by peer). 23:46:20 -!- Slereah has joined. 23:46:41 i cannot woosh someone when i'm not sure i guess the meaning correctly myself 23:46:56 elliott, :P 23:48:57 oerjan: kmc said that earlier. 23:49:01 then i quoted it but i replaced kmc with itidus21. 23:49:16 elliott, right, that makes sense 23:49:48 I only need a table that the value 0 to 255 is mapped to a new value 0 to 255 23:50:08 well i guessed _that_ much. what i'm not sure of is why it is funny. 23:50:33 oerjan, I see the logic of it now, I don't think it is very funny though 23:50:34 zzo38: precalculate? 23:50:58 oerjan: It has to calculate during the program because any input could be specified 23:51:27 zzo38: no i mean, just build the whole table of 0 to 255, and include it in the program 23:51:49 zzo38, why not just do the calculation each step? Is it really that expensive? 23:52:16 Vorpal: he wants it to be more portable than floating point is 23:52:24 oerjan, so fixed point 23:52:40 i'm not sure that is portable... 23:52:42 also unless he is targeting embedded system there is zero reason to avoid floating point in this case 23:52:50 oerjan: I know that but it won't work since the input will be the amount of gamma correction or whatever else it is, and this requires to calculate the table for the given amount of gamma 23:53:09 oerjan, uh? How can bitshifts and integer arithmetic NOT be portable? 23:53:19 because that is all you need for fixed point 23:53:35 zzo38: oh ok. i misunderstood. 23:53:41 I don't want the program to run differently on different computers 23:53:50 zzo38, so redo the table when the user change the input values? 23:54:11 Vorpal: yes, but he needs an algorithm for a power routine iiuc 23:54:16 right 23:54:28 and not just integer powers 23:54:30 zzo38, are you going to run this on a system that lacks floating point? 23:55:21 Vorpal: portable here means "gives the exact same result regardless of the system's floating point rep" 23:55:49 oerjan, any self respecting system uses IEEE floating point these days 23:55:55 so that is irrelevant 23:56:23 Vorpal: No. In fact it uses floating point to compress PNG (since it is based on LodePNG), but the rest of the program doesn't make decisions based on that and once decompressed it is the same anyways since it is lossless 23:56:44 oerjan, you will get the same results on ARM, x86 and x86-64, and really those are the only platforms that matter these days unless you are specifically targeting a specific embedded controller 23:56:48 While with the gamma tables, it is possible for the program to make decisions since the table is exposed 23:56:54 that is the reality of software development 23:57:20 zzo38, yes and? 23:57:36 if the floating point was broken the compression would not work correctly surely? 23:57:39 Vorpal: don't ppc and mips matter? 23:57:50 -!- ais523 has quit. 23:58:16 nortti_, these days? not really for mainstream development. And PPC is dead. You might be referring to the Power architecture, which is what replaced PPC 23:58:20 kmc: Wouldn't it be nice if, like, instead of having types, Haskell *only* had typeclasses? And their instances would be *other typeclasses*. 23:58:23 and that is used in some places yes 23:58:26 Vorpal: The compression is lossless; if the floating point was partially broken you would probably still get a valid PNG file with the correct picture but it would not be optimal compression, I suppose 23:58:26 PS3 for example 23:58:41 nortti_, and in some high end clusters 23:59:10 nortti_, but mainstream: not really. MIPS might matter slightly more, but it is far less popular than ARM 23:59:17 Vorpal: powerpc is dead? freescale still manufactures ppc processors 23:59:26 nortti_, really? Who uses them? 23:59:42 nortti_, I know the ISA is used in the Power core of the Cell CPU (as used in PS3) 23:59:42 This program in TeXnicard it is not only for personal microcomputers, it is for companies who print cards as well (although they won't necessarily use it, it is intended to be available for them)