00:00:22 suffering from an East Coast Endless Snow Syndrome? 00:02:28 @metar KLGA 00:02:28 KLGA 252351Z 29006KT 10SM BKN250 02/M11 A2992 RMK AO2 SLP132 4/005 T00171106 10033 20017 53024 00:02:38 @metar KBOS 00:02:38 KBOS 252354Z 29014G19KT 10SM CLR M01/M14 A2986 RMK AO2 SLP111 T10061139 10017 21006 53035 00:02:41 @metar KATL 00:02:42 KATL 252352Z 07011KT 5SM -RA BR BKN006 OVC040 02/01 A2973 RMK AO2 PRESRR SLP076 CIG 004V008 P0006 60044 T00170006 10033 20017 58025 00:03:09 @metar KIAD 00:03:09 KIAD 252352Z 00000KT 10SM BKN180 OVC220 01/M08 A2996 RMK AO2 SLP148 T00061078 10033 20000 53015 00:03:44 @metar CYUL 00:03:44 CYUL 252300Z 27016G22KT 15SM DRSN FEW035 SCT050 M09/M19 A2987 RMK SC1SC3 SLP118 00:03:50 what are you up to then? 00:05:46 for once, today was normaler than the past few weeks. just ate some pig skin salad (it tasted Vietnamese). 00:08:10 -!- oren has joined. 00:08:20 -!- adu has joined. 00:23:54 @metar ESSB 00:23:55 ESSB 252350Z AUTO 15003KT 9999 NCD 00/M01 Q1018 00:25:26 -!- ProofTechnique has quit (Ping timeout: 246 seconds). 00:28:41 #metar CYYZ 00:28:46 @metar CYYZ 00:28:47 CYYZ 260000Z 30009KT 15SM FEW030 M13/M19 A3004 RMK SC1 SC TR SLP188 00:34:42 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42045&oldid=42043 * Ypnypn * (-1) 00:38:46 helloren. not freezing too much in the big T? 00:40:59 boily! 00:41:55 QUINTHELLOPIA! 00:41:57 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 00:43:42 LET'S PLAY A GAME. i will not have this opportunity again until summer. 00:45:08 OKAY. does it need a powerful machine? 00:45:09 -!- Phantom_Hoover has joined. 00:46:16 -!- aloril has quit (Remote host closed the connection). 00:46:49 -!- aloril has joined. 00:46:54 get on steam, let's find out what you have 00:50:21 -!- boily_ has joined. 00:50:39 -!- boily_ has changed nick to boilaptop. 00:50:53 let me launch Steam from this here machine... 00:51:43 huh? no steam? AAAAAAAAAAAAAAAH! 00:52:33 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42046&oldid=42045 * Ypnypn * (+103) 00:54:55 :\ 00:56:31 -!- tromp has quit. 00:56:57 I fear the last distupgrade removed it... :( 00:57:09 aw 00:57:28 well that's something i should be working on anyway 00:57:38 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42047&oldid=42046 * Ypnypn * (+4) 00:57:53 -!- tromp has joined. 00:58:04 but it seems such a waste to be productive on a snow day 00:59:49 it sees this computer as a new one. tout s'explique. 01:14:58 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:15:43 -!- skj3gg has joined. 01:23:42 -!- Tritonio has quit (Ping timeout: 272 seconds). 01:24:15 -!- chaosagent has joined. 01:24:34 -!- chaosagent has quit (Remote host closed the connection). 01:24:52 -!- chaosagent has joined. 01:28:21 -!- Tritonio has joined. 01:36:30 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 01:37:35 -!- Tritonio has quit (Remote host closed the connection). 01:44:39 -!- vanila has quit (Quit: Leaving). 02:03:37 -!- hjulle has quit (Ping timeout: 265 seconds). 02:15:21 -!- skj3gg has quit (Quit: ZZZzzz…). 02:17:31 -!- oerjan has joined. 02:23:11 -!- adu has quit (Quit: adu). 02:30:09 > 3*334*333/2 + 5*201*200/2 - 15*67*66/2 - 1000 02:30:11 233168.0 02:34:58 -!- boilaptop has quit (Quit: PORTABLE CHICKEN). 02:36:18 -!- boily has quit (Quit: BISECTING CHICKEN). 02:55:01 -!- adu has joined. 02:59:58 -!- adu has quit (Quit: adu). 03:27:14 -!- doesthiswork has joined. 03:34:05 -!- irctc975 has joined. 03:34:39 Adonai? 03:36:10 `relcome irctc975 03:36:12 ​irctc975: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 03:36:27 adonakute 03:36:51 adonakatta 03:37:56 Thank you 03:38:11 adonakunarimasu 03:38:12 Wierd shit right there oren... 03:38:28 I am conjugating adonai as a japanese adjective 03:38:49 -!- Taneb has quit (Ping timeout: 252 seconds). 03:39:47 Don't actualy understand that.. but I can read :/ 03:39:56 japanese adecives often end in 'ai' like mijikai (small) 03:40:07 do you know kuji kiri? 03:40:24 -!- jameseb has quit (Ping timeout: 276 seconds). 03:41:51 nope. never heardof that before. 03:42:08 Yeah I think you might know i'm outie but i'll be back 03:42:21 Good night :/ 03:42:25 -!- irctc975 has quit (Quit: Page closed). 03:47:13 -!- adu has joined. 03:50:22 -!- adu has quit (Client Quit). 03:59:11 @tell boily I fear the last distupgrade removed it... :( <-- itym disturbgrade hth 03:59:11 Consider it noted. 04:05:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:23:00 never build a pump without an acqueduct to carry the water 04:23:15 ancient dorf proverb 04:23:36 * oerjan says that and immediately starts wondering about the metaphorical meanings 04:24:48 a civilization whose proverbs were all literally correct technical recommendations but with connotations everywhere 04:26:18 Sometimes you just don't realize you're actually on fire. 04:27:01 i don't think that counts hth 04:27:42 my point is that they wouldn't _sound_ like they were metaphoric to us 04:28:08 -!- nisstyre has quit (Changing host). 04:28:08 -!- nisstyre has joined. 04:29:55 don't tighten a bolt with your strongest wrench; you may then be unable to loosen it again. 04:29:56 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42048&oldid=42047 * Ypnypn * (+1121) 04:31:40 Always detach the gears /before/ connecting the power. 04:32:45 You can never construct enough magma-safe mechanisms. 04:33:56 -!- skj3gg has joined. 04:37:24 -!- Taneb has joined. 04:37:30 -!- jameseb has joined. 04:46:55 ooh an eleven caravan! ready the lever of drowning! 04:47:24 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42049&oldid=42048 * Ypnypn * (+52) /* Constants */ 04:49:05 -!- skj3gg has quit (Quit: ZZZzzz…). 04:50:43 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42050&oldid=42049 * Ypnypn * (+0) /* Constants */ 04:53:20 oren: if df only tracked insurance premiums, your trading policy would be so hosed... 04:53:35 (for all i know it might do...) 04:54:32 -!- ProofTechnique has joined. 04:58:09 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42051&oldid=42050 * Ypnypn * (+117) /* Constants */ 05:00:08 -!- doesthiswork has quit (Quit: Leaving.). 05:00:30 -!- doesthiswork has joined. 05:18:57 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42052&oldid=42051 * Ypnypn * (+192) /* Constants */ 05:21:46 -!- MDude has changed nick to MDream. 05:41:29 oerjan: they had an economy simulation in a previous version but it was removed 05:47:42 I have accidentally invented a water diode 05:50:09 If you put a water wheel next to a pump side-by side in a 2 space wide passage, water can flow one way but not the other 05:51:32 next, transistor! 05:54:50 Hmm... I think something like a pump, with a water-activated pressure plate? 06:06:17 -!- doesthiswork has quit (Ping timeout: 246 seconds). 06:32:55 I can't find anything but useless sphalerite? What is Zinc even good for?!?!? 06:44:24 -!- augur has quit (Ping timeout: 245 seconds). 06:45:30 oren: um, doesn't an ordinary slope act as a water diode? 06:47:55 -!- augur has joined. 06:51:23 b_jonas: no, because of pressure modeling, water can be pushed up a slope 06:53:02 oren: but what if you put a long enough slope, then a pump to cover the difference? 07:00:21 I guess, but with my method the diode's pump is powered directly by the water in the channel and doesn't need external power 07:10:27 I see 07:22:28 -!- arjanb has quit (Quit: bbl). 07:26:09 -!- chaosagent has quit (Ping timeout: 252 seconds). 07:31:14 -!- chaosagent has joined. 07:36:41 -!- chaosagent has quit (Ping timeout: 250 seconds). 07:40:03 -!- Patashu has joined. 07:44:21 -!- Patashu has quit (Disconnected by services). 07:44:22 -!- Patashu_ has joined. 08:16:14 morning 08:17:48 correct! 08:24:44 the sun here seems to agree 08:34:43 @hoogle forever 08:34:44 Control.Monad forever :: Monad m => m a -> m b 08:35:44 -!- ^v has quit (Read error: Connection reset by peer). 08:36:10 -!- ^v has joined. 08:42:09 wait 08:42:11 why is 08:42:13 PortNumber 10 08:42:14 legal 08:42:15 but 08:42:23 PortNumber (read "10") fucks up? 08:42:39 because there's no (Read PortNumber) 08:42:40 but 08:42:43 wth 08:43:41 PortNumber :: PortNumber -> PortID 08:43:42 I see 08:43:52 so 08:44:02 PortNumber must have a Num instance if 10 works 08:44:38 meaning fromIntegral should fix it 09:06:38 -!- Frooxius has joined. 09:07:48 hm 09:07:53 simpleirc 09:07:56 this looks quite nice 09:43:46 -!- AnotherTest has joined. 09:48:12 -!- AnotherTest has quit (Ping timeout: 252 seconds). 10:19:58 -!- AnotherTest has joined. 10:26:42 -!- AnotherTest has quit (Ping timeout: 252 seconds). 10:28:43 -!- FreeFull has quit (Ping timeout: 250 seconds). 10:31:43 Speed limit reform: change all speed limits to the same number of Kim/h 10:32:49 oren: um, that doesn't work. there's a good reason why there has to be different speed limits in different places and for different vehicles. 10:33:15 No I mean if it currently is 30 km/h change it to 30 Kim/h 10:33:18 like, why highways have a higher speed limit than towns 10:33:24 what? 10:33:29 kibimetres 10:33:31 oh... 10:33:35 ugh 10:34:08 so basically you just want to raise the speed limits 10:34:23 by 2.4 percent 10:34:31 that happens anyway, but less often (say once every two decades) and by higher amounts, as vehicles get safer 10:35:21 well, actually 10:35:25 it goes both directions 10:35:46 the town speed limit got lowered from 60 to 50 here, but the highway limit got raised form 120 to 130 10:35:52 more than a decade ago now 10:36:00 My dad went to the expo 67 in montreal and they said they were going to have self-driving cars by the 90's but they're still not here 10:36:10 -!- vanila has joined. 10:36:16 I think inches per milliseconds is much more american 10:36:19 some of this might be political in natures 10:36:32 good morning 10:37:00 120km/h is 1.3in/ms 10:37:01 bah, they should really specify rapidities in radians 10:38:05 atan2(v,c) isthe rapidity 10:38:20 lol 10:38:22 in/mh 10:38:23 that rocks 10:38:29 50km/h is 1969in/mh 10:38:52 120km/h is 4724in/mh 10:39:16 mroman: that's not american it has "milli-" in it 10:39:17 (inches per millihour) 10:40:06 oerjan: you could also use fujita classifications 10:40:11 120km/h is just F1 10:40:12 The federal rapidity limit is 9.2656693E-8 radians 10:40:31 well 10:40:34 technically 120 to 180 10:40:35 so 10:40:36 :D 10:40:53 -!- Patashu_ has quit (Remote host closed the connection). 10:41:04 -!- Patashu has joined. 10:41:07 [wiki] [[Lisp2d]] M http://esolangs.org/w/index.php?diff=42053&oldid=41649 * Cluid Zhasulelm * (+1212) permission to include fizzbuzz example granted in correspondence 10:43:03 120km/h is about 1.79 miles/.beat. 10:44:50 By federal law, you may only approach 4.02402923E-8 nines to cee! 10:45:46 ( 'nines to cee' is the formula -log(1-v/c) ) 10:45:47 (input):1:43: error: expected: "!!", 10:45:47 "$", "$>", "&&", "&&&", "*", 10:45:47 "***", "+", "++", "+++", "-", 10:45:47 "->", ".", "/", "/=", ":+", 10:45:47 ":-", "::", ":::", ":=", "<",↵… 10:46:25 ( !! 10:46:25 (input):1:1: error: expected: ":", 10:46:25 dependent type signature, 10:46:25 end of input 10:46:25 !! 10:46:25 ^ 10:46:29 ( !!: 10:46:29 (input):1:1: error: expected: ":", 10:46:29 dependent type signature, 10:46:31 end of input 10:46:32 ( : 10:46:33 !!: 10:46:35 Unrecognized command: 10:46:37 ^ 10:46:48 ( :!! 10:46:48 Command "!!" not permitted. 10:46:51 hm 10:46:53 ( :help 10:46:54 Command "help" not permitted. 10:46:57 pf 10:47:10 ( :type 9 10:47:10 fromInteger 9 : Integer 10:47:20 ( :info Integer 10:47:21 Command "info" not permitted. 10:47:22 oДO 10:47:35 ( 9 + 9 10:47:35 18 : Integer 10:47:44 ( [1] + [2] 10:47:44 (input):1:5:When elaborating an application of function Data.Fin.+: 10:47:44 Can't unify 10:47:44 Vect (S n1) a 10:47:44 with 10:47:44 Fin n 10:47:50 ( [1] ++ [2] 10:47:50 Can't disambiguate name: Data.HVect.++, Prelude.List.++, Prelude.Strings.++, Data.VectType.Vect.++ 10:47:59 ( [1] Prelude.List.++ [2] 10:48:00 (input):1:18:When elaborating an application of function Data.VectType.Vect.++: 10:48:00 Can't unify 10:48:00 Vect (S n) a 10:48:00 with 10:48:00 argTy -> retTy↵… 10:48:12 ( [1] Prelude.VectType.Vect..++ [2] 10:48:12 (input):1:28:When elaborating an application of function Data.VectType.Vect.++: 10:48:13 Can't unify 10:48:13 Vect (S n) a 10:48:13 with 10:48:13 argTy -> retTy↵… 10:48:25 idris-bot is just screwing with me 10:48:35 ( [1] Prelude.VectType.Vect.++ [2] 10:48:36 (input):1:27:When elaborating an application of function Data.VectType.Vect.++: 10:48:36 Can't unify 10:48:36 Vect (S n) a 10:48:36 with 10:48:36 argTy -> retTy↵… 10:48:40 ( [1] `Prelude.VectType.Vect.++` [2] 10:48:41 (input):1:28: error: expected: "`" 10:48:41 [1] `Prelude.VectType.Vect.++` [2] 10:48:42 ^ 10:48:45 meh 10:48:50 > [1] ++ [2] 10:48:52 [1,2] 10:54:49 idris.... 10:58:43 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=42054&oldid=42010 * Cluid Zhasulelm * (+10) added another cool stuff 11:07:40 I want a partial implementation of C preprocessor, that subs in files only if they are part of my porject 11:08:03 s/or/ro 11:09:09 oren: ask ais523 (he might not have exactly that, but he might still be able to help in what you want) 11:09:53 Hmm... maybe i can write a perl script that does mostly what I want 11:11:07 but then I'd have to complicate my makefiles 11:11:35 technically it's not really easy to include just your files, because what files you include could depend on macros predefined by your compiler (depending on architecture) or defined in headers, but if you know you don't do conditional includes like that then it might be possible 11:13:40 well, of you have a sequence like #ifdef windows #include file #endif then the included text will be cut out anyway, right? 11:16:03 oren: yes 11:16:14 oren: technically you can have indirect incldues, but few people use those 11:16:23 and you probably knew if you did tricks like that 11:26:15 -!- boily has joined. 11:32:56 ( [1] Data.HVect.++ [2] 11:32:57 (input):1:16:When elaborating an application of function Data.VectType.Vect.++: 11:32:57 Can't unify 11:32:57 Vect (S n) a 11:32:57 with 11:32:57 argTy -> retTy↵… 11:33:08 ( Data.HVect.++ [1] [2] 11:33:08 When elaborating an application of function Data.VectType.Vect.++: 11:33:09 No such variable Data.HVect. 11:33:15 idris sounds fun. 11:34:14 -!- Patashu has quit (Ping timeout: 272 seconds). 11:34:29 ( app [1] [2] 11:34:30 (input):1:5:Can't disambiguate name: A.::, 11:34:30 David.::, 11:34:30 Effects.Env.::, 11:34:30 ForeignEnv.::, 11:34:30 Data.HVect.::, ↵… 11:34:35 ( [1] app [2] 11:34:36 builtin:0:0:Can't unify 11:34:36 Vect (S n) a 11:34:36 with 11:34:38 argTy -> retTy 11:34:40 Specifically:↵… 11:34:50 Hellymia. David? 11:34:55 @massages-loud 11:34:55 oerjan said 7h 35m 44s ago: I fear the last distupgrade removed it... :( <-- itym disturbgrade hth 11:35:27 ( Data.HVect.app [1] [2] 11:35:28 No such variable Data.HVect.app 11:35:35 ( Data.HVect.::app [1] [2] 11:35:36 When elaborating argument x to constructor Data.VectType.Vect.::: 11:35:36 No such variable Data.HVect. 11:35:40 ( Data.HVect.:: [1] [2] 11:35:40 When elaborating argument x to constructor Data.VectType.Vect.::: 11:35:41 No such variable Data.HVect. 11:35:46 ( [1] :: [2] 11:35:47 When elaborating argument x to constructor Data.VectType.Vect.::: 11:35:47 Can't disambiguate name: A.::, 11:35:47 David.::, 11:35:47 Effects.Env.::, 11:35:47 ForeignEnv.::, ↵… 11:35:51 ( [1] Data.HVect.:: [2] 11:35:51 (input):1:16:When elaborating argument x to constructor Data.VectType.Vect.::: 11:35:52 Can't unify 11:35:52 Vect (S n) a 11:35:56 with 11:35:56 argTy -> retTy↵… 11:35:59 ( [1] Data.HVect.app [2] 11:35:59 builtin:0:0:Can't unify 11:36:00 Vect (S n) a 11:36:02 with 11:36:04 argTy -> retTy 11:36:06 Specifically:↵… 11:36:25 @tell oerjan hellørjan. I don't think I'm used to having ubuntal disturbgrades, from having spent too much time on Arch. the consequences are unknown to me. 11:36:25 Consider it noted. 11:36:29 ( (\x -> \y -> x ++ y) [1] [2] 11:36:29 (input):1:5: error: expected: ",", 11:36:30 ":", "=>", "impossible" 11:36:30 (\x -> \y -> x ++ y) [1] [2] 11:36:30 ^ 11:37:11 ( (\x => \y => x ++ y) [1] [2] 11:37:12 (input):1:22:Can't disambiguate name: Data.HVect.++, Prelude.List.++, Prelude.Strings.++, Data.VectType.Vect.++ 11:37:28 ( map (\x => x + 1) [1, 2, 3] 11:37:29 When elaborating an application of function Prelude.Functor.map: 11:37:29 Can't disambiguate name: A.::, 11:37:29 David.::, 11:37:29 Effects.Env.::, 11:37:29 ForeignEnv.::, ↵… 11:37:47 ( map (\x => x + 1) 1 :: 2 :: 3 :: Nil 11:37:48 Can't disambiguate name: A.::, 11:37:48 David.::, 11:37:48 Effects.Env.::, 11:37:48 ForeignEnv.::, 11:37:48 Data.HVect.::, ↵… 11:38:01 ( map (\x => x + 1) 1 Data.HVect.:: 2 Data.HVect.:: 3 Data.HVect.:: Nil 11:38:02 (input):1:5:When elaborating argument x to constructor Data.VectType.Vect.::: 11:38:02 No such variable Data.HVect. 11:38:17 !help 11:38:17 Lymia: I do !zjoust; see http://zem.fi/bfjoust/ for more information. 11:38:17 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 11:38:19 (help 11:38:24 `help 11:38:24 Mmmmm... no. 11:38:27 ~help 11:38:41 ( let x = 3 11:38:42 (input):1:1: error: expected: ":", 11:38:42 dependent type signature, 11:38:42 end of input 11:38:42 let x = 3 11:38:42 ^ 11:38:46 ( x = 3 11:38:46 When elaborating argument x to type constructor =: 11:38:47 No such variable x 11:43:57 -!- AnotherTest has joined. 11:46:59 @tell boily OKAY 11:46:59 Consider it noted. 11:48:49 `help 11:48:49 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/ 11:49:00 `unidecode help 11:49:12 ​[U+0068 LATIN SMALL LETTER H] [U+0065 LATIN SMALL LETTER E] [U+006C LATIN SMALL LETTER L] [U+0070 LATIN SMALL LETTER P] 11:49:17 curious. 11:49:26 oh right. 11:50:24 `help unidecode 11:50:25 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/ 11:51:06 `man unidecode 11:51:07 man: can't open the manpath configuration file /etc/manpath.config 11:51:13 bah 11:51:26 arbitrary code my arse 11:51:54 `man arbitrary code 11:51:55 man: can't open the manpath configuration file /etc/manpath.config 11:58:21 `unicode -h 11:58:34 Usage: multicode [options] arg \ \ Options: \ -h, --help show this help message and exit \ -x, --hexadecimal Assume arg to be hexadecimal number \ -o, --octal Assume arg to be octal number \ -b, --binary Assume arg to be binary number \ -d, --decimal Assume arg to be decimal number \ -r, --rege 12:01:53 -!- koo7 has quit (Ping timeout: 252 seconds). 12:03:00 oren: `unidecode is a command we made ourselves. you won't find a manpage hth 12:03:10 -!- idris-bot has quit (Quit: Terminated). 12:03:26 -!- idris-bot has joined. 12:04:45 @massages-clear 12:04:45 Unknown command, try @list 12:04:49 @clear-massages 12:04:50 Messages cleared. 12:05:56 well at least I found two more insane fonts: http://snag.gy/Y6rMM.jpg 12:06:13 -!- Tritonio has joined. 12:06:51 helloren. isn't the one to the left your regular terminal font? 12:07:18 No, that one was more cursive and had | as heart instead of o. 12:07:37 mroman, Lymia: Idris doesn’t currently allow using qualified operators infix, and to use them prefix, there must be parens around the operator (but not the namespaces). 12:08:21 I do like the idea of overdotting the letters instead of having capitals 12:08:36 ( Vect.(++) [1] [2] 12:08:36 [1, 2] : Vect 2 Integer 12:08:58 That heart font looks fun. 12:09:15 (I'm surprised someone would make a monospace font like that though) 12:10:08 Hahahaha 12:10:11 It is a Japanese font, they are almost always monospace 12:11:27 Because Japanese text is sort of monospaced even in handwriting (they have special paper with boxes for essays and such) 12:13:09 Which conveniently means you can get lots of crazy terminal fonts by searching for crazy fonts in japanese 12:14:35 -!- oerjan has quit (Quit: leaving). 12:15:41 oren: are those two really japanese fonts? 12:15:57 The one on the right isn't. the one on the left is. 12:16:05 -!- Tritonio_ has joined. 12:16:45 ok 12:17:33 I have recently fixed an error in my terminal font 12:17:56 I found out that lowercase u with brevis and u with ring were drawn too wide, a mistake I haven't noticed before 12:17:57 http://s2g.jp/font/index.htm It is called S2Gらぶ 12:18:19 this font (I hope it has the updated version there) => http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.pcf.gz 12:18:34 -!- Tritonio has quit (Ping timeout: 272 seconds). 12:19:00 but at least it's my font so it was easy to fix 12:19:21 it was worth to make my own rather than try to switch all the time after I find each other terminal font sucks 12:19:43 (this is a bitmap font so it was easy to draw, much easier than graymap fonts generated from vector fonts) 12:21:04 -!- Tritonio_ has changed nick to Tritonio. 12:21:15 -!- boily has quit (Quit: EPHEMERAL CHICKEN). 12:23:28 Here is the font (in a bullshit adhoc format) which I used in one of my games: http://postimg.org/image/tjxgpkkj5/ 12:29:21 Ommitting distinction between identical characters makes it easy to have greek, cyrillic and latin. 12:29:52 -!- AnotherTest has quit (Ping timeout: 245 seconds). 12:30:29 -!- FreeFull has joined. 12:32:19 -!- AnotherTest has joined. 12:40:45 damn. 12:44:20 -!- hjulle has joined. 12:48:21 dayyum. 12:49:20 oren: that looks nice 12:50:10 oren: why are the digits 4 and 5 and a few other chars partly gray instead of black and white 12:51:03 oren: hmm, those greek letters are in a strange order 12:51:03 wait 12:51:08 hReady returns IO Bool 12:51:09 is there a mapping table to this? 12:51:13 but it fails when nothing is ready 12:51:13 so 12:51:17 it either returns True or Fails? 12:51:28 that's pretty fucking stupid 12:52:16 -!- AnotherTest has quit (Ping timeout: 252 seconds). 12:52:28 oren: and what is the character in the 0x80 position? 12:52:39 what's it supposed to represent? 12:53:05 I guess full block 12:53:17 wait, 0x80, not 0x7F 12:54:02 THe 0x80 is a diamond, representing energy credits. 12:54:17 I see 12:54:17 or at least it would if I had finished the damn game 12:54:55 the greek letters are in a pseudo-enlish order with the big letters put in wherever they fit 12:55:10 I wonder what game is it that requires these particular letters 12:55:28 The diamond reminds me of the statement separator in APL 12:55:35 FireFly: isn't that a small diamond? 12:55:54 It's looked fairly large in the fonts I've seen, but I don't know 12:56:30 It was going to be a futuristic RTS with units named in Russian, japanese, and greek (for the aliens) 12:56:53 oren: but only all uppercase russian? 12:57:41 right. Because in novaya rossiya, they are CAPITALIST NOW! 12:57:52 huahhahaha 12:58:04 oren: what about the gray stuff? 12:58:37 the gray is an error that my program doesn't care about for some reason 12:58:41 and which glyph represents Э 12:59:20 3 12:59:29 ah 13:00:02 I figured your W stands in for Ш 13:00:30 does 4 stand for Ч then? 13:00:49 yup 13:00:58 ok 13:01:15 I make economical use of code space unlike those unicode wastrels 13:01:37 and what char does the glyph at 0xa1 represent? 13:02:18 1/0 13:02:41 oh! I thought we had an infinity glyph for that 13:02:46 ok 13:03:13 infinity is kind of hard to make half-width. 13:03:39 So i improvized a substitite 13:03:39 sure, it looks ugly in all the 9 wide fonts 13:03:55 half of infinity is still infinity 13:03:56 but cp437 still has it, even if it's ugly 13:06:03 yah. I included only 2 kanji: 日 and 月 which are used in dates 13:06:08 the slash character seems ugly 13:06:39 yah it's jagged. needs anti-aliasing 13:07:09 or maybe to be less high 13:08:52 You could make infinity two characters wide (though I guess you're starved for space as it is already) 13:09:08 Is 0xFF nabla? 13:09:31 wait, not nabla.. partial derivative 13:09:35 partial derivative. 13:09:52 * FireFly wonders what that would be used for in an RTS 13:09:58 are the characters at 0xf5, 0xf6, 0xf7, 0xf8 supposed to represent ∈∪∩⊂ ? if so, they seem to be raised too high I think 13:10:24 FireFly: yes, it's partial 13:10:44 hmm... yeah maybe they are a lil high 13:11:11 and what's at 0x9b ? 13:11:58 Reminds me of the japanese postal mark 13:12:02 japanese postal sign. 13:12:10 oren: I would have expected 3 to be used for З. As it is your З looks more like a 3 than your 3 does. 13:12:11 ah 13:12:38 I agree 13:12:38 It was going to be 年 but i couldn't get it small enough 13:13:20 on paper i write my 3's like that 13:14:05 in fact all those numbers are how i write them on paper 13:14:41 oren: you write dotted zeros? 13:14:42 wow 13:14:50 and underscored ones 13:14:54 yeah 13:15:30 And uncurly twos. 13:15:55 I write underscored ones when I want to emphanize it is a one 13:15:56 is there an ö glyph? 13:16:13 And angular fours and fives. 13:16:44 I expect there should be one if there's what looks like an ü and an å 13:17:18 Or better yet, separate the diacritics from the symbols and use overstriking 13:17:19 yeah. that would be better than quite a few of those charcters 13:17:52 overstriking ftw. 13:18:05 Speaking of which, I learned yesterday that `less` will interpret A^HA as boldface A and _^HA as underlined A 13:18:15 Which is how man communicates these to less 13:18:27 wow. cool 13:18:28 Funny how traces of overstriking still remains 13:18:29 an ä could help too 13:18:35 FireFly: yes 13:18:36 remain* 13:19:21 yeah, overstriking is probably the way to go 13:19:30 I prefer not to limit myself to 256 glyphs, so my font has over two thousand characters, and even a very few identical pairs (mostly just multiple completely empty ones) 13:19:52 do you use your own monospace font for everyday use? 13:19:59 FireFly: yes, in terminals 13:20:04 I'm using it right now 13:20:07 Is it public anywhere? 13:20:16 FireFly: => http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.pcf.gz 13:20:20 Fecupboard20 (free X11 bitmap font with 20x10 pixel character cell, easily distinguishable characters, great for terminals and programming, has all characters in iso-8895-1 and 8859-2 and more) 13:20:46 well, in this terminal anyway. the other one is still on that crazy-ass klingon looking font 13:20:53 hmm, I should update that short description 13:21:08 I'm fairly happy with the font I currently use, but curious what it looks like either way 13:21:09 b_jonas: Does it have l with belt? 13:21:12 * FireFly checks 13:21:30 ł 13:21:31 Melvar: I don't think so... let me check 13:21:33 yup 13:21:45 oren: what? isn't that the crossed l? 13:21:53 oren: That’s l with stroke. 13:21:57 oh 13:21:59 l with belt is ɬ 13:22:21 it certainly has ł 13:22:46 fecupboard20 is supposed to have all characters required for all major European languages that are written in the latin script 13:22:55 so it must have ł 13:23:35 doesn't look like in has that curly thing l 13:24:55 yes, definitely doesn't have l with belt 13:26:31 is l with belt used only as a pronunciation symbol? 13:26:49 I’m happy with DejaVu Sans Mono. I particularly like the l in it, and moreso that all the variants have the same shape because it has all of them, except turned l. 13:27:14 b_jonas: I believe it’s only used in IPA, yes. 13:27:34 ok, then that's why I don't have it. I've added only a few of the characters that are used only in IPA 13:28:17 A consequence of this is that there is no uppercase version, since IPA uses only lowercase and caseless letters. 13:28:26 This font reminds me of MS DOS for some reason 13:28:38 Fecupboard20, that is 13:28:51 FireFly: yes, some of the pc fonts have inspired me 13:29:05 It is quite similar to the one in MS DOS (which i recently installed on an old computer to play DOOM) 13:29:11 I've observed at least three different 9x16 fonts before I made this 10x20 one 13:29:21 oren: there's no _one_ font in MS DOS 13:29:34 I mean the default one then 13:29:40 there's various ones hard-coded in VGA cards 13:29:44 at least three different ones 13:29:55 all with cp437 encoding and very similar 13:30:01 but different in the details 13:30:36 well Iwasn't around in the old MS DOS days so you'd know better than I 13:30:46 Funny, the l with belt renders just fine for me and doesn't look out-of-place compared to the other glyphs.. I guess it happened to fall back to a similar font 13:30:47 -!- ais523 has joined. 13:32:07 I do like that way `works with' to make quotes 13:32:26 it really depends on the font 13:32:39 they don't look very similar in the one I'm using 13:32:52 In b_jonas's font it works, is what I mean 13:32:52 hello, ais523 13:33:01 hi b_jonas 13:33:23 -!- AnotherTest has joined. 13:33:50 ais523: we were talking about fonts, and in particular this crazy one with a custom encoding by oren: http://postimg.org/image/tjxgpkkj5/ 13:34:43 a custom encoding that is nonetheless almost consistent with ASCII 13:34:48 -!- FreeFull has quit (Ping timeout: 252 seconds). 13:34:49 the custom encoding is mostly designed so I can write the actual strings in latin and then shift ehm by varying amounts 13:34:52 (having a printable character where newline should be is a problem, though) 13:34:55 ais523: yes, it's certainly consistent with ascii 13:34:56 It looks like an extended ASCII variant to me 13:35:10 ais523: um no, it's not a problem for cp437 either 13:35:22 becuse the newline is transformed by the terminal layer and never gets into video memory 13:35:54 (similarly how having a printing character at the position of space isn't a problem for TeX's oT1-encoded fonts, because the TeX engine emits a glue rather than a character when you type space) 13:36:04 right 13:36:20 Like I write @amma and it becomes Γαμμα 13:36:53 whoops I mean `amma 13:37:09 ah, that explains the positions of the russian uppercase things 13:37:39 -!- AnotherTest has quit (Ping timeout: 250 seconds). 13:37:45 lľŀłƚljȴɭʪʫˡᶅᶩỻₗⅼⱡꝇꝉꞁꞎꭝꭞl 13:38:45 Melvar: my font has l, l with caron, l with acute, l with slash out of those 13:38:47 Those are all supported by DejaVu Sans Mono? 13:38:51 (and maybe something else, I don't know) 13:38:51 Cyrillic, presumably 13:38:54 rather than Russian specifically 13:39:03 ais523: I do mean Russian 13:39:05 FireFly: No, that’s just all of them I could find at all. 13:39:11 Ah 13:39:28 I tried to learn cyrillic, but it has too many vowels :-( 13:39:31 ais523: look at oren's font, it only has glyphs for russian uppercase letters, not for the letters used in macedonian or serbian 13:40:19 ais523: there's some tricks, namely how in that font 34W stand for the russian letters (which wasn't obvious to me at first) 13:40:26 so there's no other glyphs for those 13:40:55 oh, like the beta in CP437 which is also an ß 13:41:02 ais523: yes 13:41:36 ais523: also this doesn't have a russian F because the cyrillic one stands for it 13:41:44 FireFly: Excepting ones that are particularly simple l with an accent; I didn’t list those. 13:41:46 um 13:41:47 sorry 13:41:48 apparently, some typewriter keyboards don't have a 0 or 1 13:42:06 because they can use O and I instead 13:42:06 it doesn't have a russian F because the greek Phi stands for it 13:42:06 ais523: yes, but it's O and l actually 13:42:17 oh right, lowercase l 13:42:23 lľŀłƚȴɭˡᶅᶩ are the ones of that list in DejaVu Sans Mono. 13:43:44 No, wait, actually more, but weechat fails to display them because they aren’t listed in whatever lib resource that one thing was. 13:45:36 And ʪʫ are actually in it but the l parts don’t have the usual shape; it probably doesn’t fit in a cell well enough. 13:48:58 I guess that works for presentational purposes, but it can't be fun to try to analyse/deal with text where a particular glyph could represent multiple characters 13:50:50 I tried to make a 3px-high font once, it didn't go terribly well 13:51:01 http://xen.firefly.nu/up/pixfont/index.html 13:51:58 FireFly: heheh 13:54:08 I decided to disregard case, which is something I usually strongly dislike, because at that scale there isn't much choice 13:55:09 FireFly: just add a colon before each uppercase letter 13:55:40 this is a good way to generate an alphabet maybe 13:55:57 b_jonas: I meant more the way I use lowercase b and n 13:55:59 just create a set of small bitmaps that are visually as far apart as possible 13:56:17 vanila: yes, people have tried that 13:56:21 in various ways 13:56:31 id like to see some of the results 13:56:43 is there a link? 13:57:36 but I for am a typogeek and care about the text looking very similar to existing beautiful texts, rather than inventing something entirely new 13:57:50 I'm traditional 13:59:02 -!- hjulle has quit (Ping timeout: 245 seconds). 14:02:17 vanila: You mean this thing: http://dotsies.org/ ? 14:04:52 Sadly that seems to have put the dot patterns in some order and zipped them with the supported alphabet in order, instead of thinking about distinctiveness vs. frequency. 14:04:53 -!- doesthiswork has joined. 14:05:07 sort of 14:05:35 yeah, ithink better can be done 14:07:19 it doesnt have to bereated to english either 14:11:00 -!- SopaXorzTaker has joined. 14:12:41 -!- AnotherTest has joined. 14:13:36 -!- skj3gg has joined. 14:14:26 -!- TieSoul has joined. 14:15:32 -!- GeekDude has joined. 14:17:31 -!- TieSoul has quit (Client Quit). 14:18:00 -!- TieSoul has joined. 14:19:20 -!- Koen_ has joined. 14:19:45 -!- Koen_ has quit (Client Quit). 14:20:00 -!- Koen_ has joined. 14:24:52 -!- ais523 has quit (Ping timeout: 240 seconds). 14:27:35 -!- jameseb- has joined. 14:27:56 -!- Taneb has quit (Read error: Connection reset by peer). 14:27:58 -!- jameseb has quit (Read error: Connection reset by peer). 14:28:16 -!- Taneb has joined. 14:28:56 I'm pretty sure the latin alphabet is a lot more efficient when it comes to reading than those dot patterns.. 14:29:09 -!- jameseb- has changed nick to jameseb. 14:30:30 -!- FreeFull has joined. 14:36:22 -!- ais523 has joined. 14:39:38 -!- AnotherTest has quit (Ping timeout: 265 seconds). 14:40:33 -!- doesthiswork has quit (Quit: Leaving.). 14:41:13 FireFly: it'd be hard to surpass several decades of training, that's certain. but in principle, I guess you can recognize larger patterns the same way you'd do with english text. 14:41:58 so tricky to predict. one should do this with more versatile features than squares. 14:43:48 one criticism I'd have is that in isolation, a,b,c,d,e all look the same. that's quite awful. 14:43:57 Yeah, that was mostly what I was thinking of 14:44:13 Having to judge distance between objects to read seems bad 14:44:37 Same for the different letters that all look visually like variations of '!' 14:47:50 -!- GeekDude has changed nick to GibVent. 14:48:13 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 14:49:12 [wiki] [[Eodermdrome]] http://esolangs.org/w/index.php?diff=42055&oldid=41608 * Chris Pressey * (+364) /* Computational class */ not TC in the usual(?) sense; someone on IRC pointed this out the other day 14:49:55 [wiki] [[Eodermdrome]] M http://esolangs.org/w/index.php?diff=42056&oldid=42055 * Chris Pressey * (+10) /* Computational class */ *universal Turing machine 14:53:02 [wiki] [[Eodermdrome]] M http://esolangs.org/w/index.php?diff=42057&oldid=42056 * Chris Pressey * (-7) /* Computational class */ link to ℒ 14:57:35 -!- SopaXorzTaker has joined. 14:58:44 -!- ais523 has quit (Quit: meeting). 15:02:09 -!- oren has quit (Ping timeout: 250 seconds). 15:07:49 -!- skj3gg has quit (Quit: ZZZzzz…). 15:13:38 -!- skj3gg has joined. 15:13:42 -!- skj3gg has quit (Client Quit). 15:18:36 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42058&oldid=42052 * Ypnypn * (+0) 15:19:28 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42059&oldid=42058 * Ypnypn * (+143) 15:24:25 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42060&oldid=42059 * Ypnypn * (+6) /* Types */ 15:24:43 -!- `^_^v has joined. 15:26:53 -!- AnotherTest has joined. 15:28:57 -!- koo7 has joined. 15:31:15 -!- AnotherTest has quit (Ping timeout: 256 seconds). 15:34:40 -!- Tritonio_ has joined. 15:35:55 -!- mihow has joined. 15:36:10 -!- Tritonio has quit (Ping timeout: 272 seconds). 15:41:04 -!- Tritonio_ has changed nick to Tritonio. 15:50:04 -!- GibVent has quit (Read error: Connection reset by peer). 15:50:14 -!- GibVent has joined. 15:53:16 -!- G33kDude has joined. 15:53:26 -!- GibVent has quit (Read error: Connection reset by peer). 15:53:31 -!- G33kDude has changed nick to GibVent. 15:56:32 -!- MDream has changed nick to MDude. 15:56:34 -!- GibVent has changed nick to GeekDude. 15:56:39 FireFly, int-e: I am reminded of one thing that someone proposed dotsies were good for: Writing Lojban into five-block-high walls in Minecraft. 15:58:18 There is one problem I ahve with dotsies. 15:58:19 Good point 15:58:47 And this is that it uses a special character for full stops that breaks the pattern it uses. 15:58:51 Maybe I should learn to read it.. I could see it being useful in some circumstances with very limited resolution, like that 15:59:12 When really, it could ahve just gone with a solid, fife-dot line instead for that purpose. 15:59:18 (With the additional fun that Lojban’s root words are five letters long, so they become 5×5-block squares.) 15:59:55 As it is, you can't use punctuation with it as all if you're actually displaying it at minimal resolution. 15:59:59 (And that Lojban doesn’t strictly require any punctuation.) 16:00:08 What about '? 16:00:38 I mean, it isn't punctuation in Lojban, but you need it as well, no? 16:00:57 FireFly: Using the h-dotsie should be fine. 16:01:25 I suppose so, yeah 16:01:29 I mean the only reason ' isn’t h in the latin orthography is that it’s supposed to be “light”. 16:02:47 (Basically, it’s unlike any other consonant in that it can only appear between vowels and usually doesn’t count for purposes of general word-shape validity.) 16:03:29 -!- Tritonio has quit (Remote host closed the connection). 16:03:30 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 16:04:38 -!- ais523 has joined. 16:06:11 (I sometimes like to think of it as an overgrown vowel hiatus instead of a real consonant, because that’s what it looks like to me.) 16:22:06 ais523: wait, I want to show something to you as well 16:22:28 ais523: http://www.math.bme.hu/~ambrus/pu/ccache.png 16:23:06 ais523: I did a measurement on how quickly my computer can read memory. the goal was to show the impact of the L1 cache and the L2 cache. that much works: 16:23:26 b_jonas: you're reading the same area of memory over and over again, I take it? 16:23:30 yes 16:23:59 on the left third of the diagram, I read from the L1 cachce, so the speed is bound by executing the instructions, not by the memory loads 16:24:14 this shows that this computer has 32 kibibytes of L!h1 cache 16:24:21 of L1 cache 16:25:11 the middle third of the diagram shows reading from L2 cache, there the speed is bound mostly or completely by the speed of that cache. 16:26:00 there's 2 mebibytes of L2 cache in this machine, but the speed starts getting worse below that, because this is ran on a multitasking OS which does stuff other than running this program, and switches often enough that the program can't use the L2 cache fully 16:26:12 this much is what I expected. 16:26:45 The surprising part is the right third, where the speed is bound by the read speed of the main memory. 16:27:34 You can see that there are two different possible speeds, one around 4.5 GiB/s and one around 4 GiB/s. That diagram doesn't explain why there are two speeds, and it took me a while (and some experiments other than looking at this diagram) to figure out the reason. 16:27:40 Can you guess the reason? 16:31:32 These graphs are wonderful 16:31:51 thanks 16:32:24 b_jonas: NUMA? 16:32:46 ais523: no. this is my old home computer and definitely doesn't do NUMA. 16:32:48 b_jonas: would the density of the 4.5GB/s be about 1/3 of the 4GB/s line? (so 1/4 vs 3/4 total)? 16:33:09 maybe not intentional NUMA, but I'd expect some of the cores would be closer to certain parts of memory 16:33:18 int-e: no, the 4.5 GB is denser, but that's a red herring 16:33:42 b_jonas: oh. right. reading it wrong. 16:34:12 ais523: I don't see how that would happen because there's only a single memory card (512 MiB size) and a single intel CPU chip with two cores 16:34:18 "old" ... upgraded memory? 16:35:25 ais523: and even still, the measurements for that part of the grpah take two or three seconds, so if it depended on the cores I'd expect to see intermediate results where the process is placed to another core during a run, 16:35:35 My ideas would be alignment of reads, and actually different memory behavior in different address ranges. 16:35:40 but there don't seem to be such things, or only one or two in the thousands of run 16:36:17 I know that at least on Linux, processes tend to stay pegged to one core unless there's a good reason to move 16:36:32 int-e: all the reads are 64-byte aligned, so if alignment matters it could be through affecting whcih L2 cache lines are emptied, but that's unlikely to show up on the rightmost part of the graph, or through page caches 16:36:54 ais523: hmm... ok, then maybe you could suppose it's related to cores 16:40:52 int-e: or, I guess, alignment could perhaps matter for how the bits are layed out on the memory chips 16:41:17 however, I don't see how that could result in two so different discrete constant speeds even for the longest (64 megabyte long) memory reads 16:53:45 Too many unknowns. I'd like to know which processor, I'd like to see the code, I'd like to see kernel events (any frequency scaling?), I'd probably spend a bit on the actual machine code (any funny loop unrolling?); lots of things to poke at with no clear idea. 16:54:13 Here's a clue: all the results I got in the first hour of the experiment were the slower speed, and all the results in the following two hours are of the higher speed. 16:54:17 int-e: wait, I can tell you some of the bit 16:55:04 int-e: the cpu is an intel Core2 6300 1.86 GHz 16:55:26 I can show you the source code and the assembled code because I've looked at it myself 16:55:56 there's some extra register moves that the compiler left in and that are probably pointless 16:57:51 the loop unrolling is manually done by me, I read 256 bytes in each loop iteration 16:58:10 the compiler kept that, it's just reordered whcih order the 16 reads happen 17:02:15 hmpf, now I want to make a "hot cache" joke (they make things go fast) 17:03:31 int-e: here's the program, the compile options, and the assembly: http://dpaste.com/04KPY18 http://dpaste.com/1CTY8S8 http://dpaste.com/3F6YPN7 17:04:04 int-e: in the assembly program, the relevant loop starts at the label .L94 17:04:59 you can see that it does the 16 memory reads, each 16 bytes long, and no other memory access 17:05:30 (well, apart from accessing the page table, page table caches, and code cache of course) 17:10:22 Yes. I did think of the page tables, but I believe the effects caused by those are hidden in the noise. 17:11:22 -!- ProofTechnique has quit (Ping timeout: 240 seconds). 17:11:53 (there aren't enough accesses to explain a 10% difference; besides the allocation is so big that the libc should request 4MB pages anyway) 17:12:02 (making the effect even smaller) 17:12:26 int-e: the problem with the page tables is that the intel manuals don't give any details about how the page table cache in their cpus work. they mention that the page table cache exists, but calls it somethign else, not page table cache. 17:12:44 translation lookaside buffer, tlb 17:13:02 not sure I got the middle word correct 17:13:18 but I did, apparently 17:15:06 and yes, tlb's are secret sauce in intel processors - all automatic and therefore deeply magical. 17:16:44 -!- arjanb has joined. 17:16:50 -!- ProofTechnique has joined. 17:21:11 -!- ProofTechnique has quit (Ping timeout: 256 seconds). 17:34:59 yes, I think it's called TLB 17:36:20 Anyway, the effect of TLBs may be larger than I thought (it's hard to say; there's prefetching magic that will hide a lot of latency), but I don't see how it could be so uniform. 17:38:41 int-e: the prefetching magic certainly matters to increase the speed of these kinds of loops, because they mean that even without explicit prefetch instructions the memory load throughput will always be used to the full, rather sitting idle half the time and then acting only when the load instruction is issued 17:39:30 this matters especially in the L2 cache case, the middle part of the diagram 17:39:32 I think 17:40:04 (The theory would be that at some point, enough contiguous memory is free that the program can allocate its buffer in one contiguous chunk in memory that can be described with just a few pagetable entries. but I'd expect more noise between the two lines.) 17:40:14 I don't know how that interacts with the page cache, or whether the page cache is ever speculatively fetched though 17:40:52 It also depends on the machine being heavily loaded (at least memory-wise) 17:41:38 Oh well. Time to go home. Laters 17:43:42 in theory, if the page cache mattered, you could see that a third step in the stairs, but it's a very small step so it might be hidden by the noise, and it might be very close to the step from L2 cache to main memory, so it could be masked 17:43:57 I don't know how the page cache really works, so I can't really tell what to expect 17:46:31 anyway, I deliberately chose _sequential_ memory reading, rather than random access, so that the prefetcher and speculative execution can do its best, and so that the page cache doesn't matter much 17:47:21 (technically it's not completely sequential, because the four lines in each loop iteration aren't read in the right order, but it's sequential if you're looking at it in larger scale) 17:47:53 I'm leaving too, if you want to know the solution, I'll tell you in the evening. 17:53:21 -!- hjulle has joined. 18:00:05 -!- bb010g has quit (Quit: Connection closed for inactivity). 18:12:08 -!- ais523 has quit. 18:16:56 -!- SopaXorzTaker has quit (Remote host closed the connection). 18:17:08 -!- Lymia has quit (Ping timeout: 256 seconds). 18:17:29 -!- bb010g has joined. 18:35:11 -!- oren has joined. 18:46:53 b_jonas: I'm definitely interested in the answer. 18:55:38 I'm curious as well 19:10:24 -!- Frooxius has quit (Ping timeout: 256 seconds). 19:12:34 TLB sounds like vmm 19:34:44 -!- AnotherTest has joined. 19:38:52 -!- AnotherTest has quit (Ping timeout: 240 seconds). 19:47:35 -!- ProofTechnique has joined. 19:47:37 -!- mihow has quit (Quit: mihow). 19:48:22 -!- Frooxius has joined. 19:49:11 -!- Froox has joined. 19:53:13 -!- Frooxius has quit (Ping timeout: 264 seconds). 20:06:13 -!- Patashu has joined. 20:11:54 -!- augur has quit (Read error: Connection reset by peer). 20:12:33 -!- augur has joined. 20:23:39 -!- mihow has joined. 20:24:25 -!- Patashu has quit (Ping timeout: 264 seconds). 20:49:33 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42061&oldid=42060 * Ypnypn * (+75) 20:50:01 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42062&oldid=42061 * Ypnypn * (+25) 20:55:35 -!- kcm1700 has quit (Remote host closed the connection). 20:55:48 -!- kcm1700 has joined. 21:20:15 -!- bb010g has quit (Quit: Connection closed for inactivity). 21:22:56 -!- mihow has quit (Quit: mihow). 21:35:10 -!- Lymia has joined. 21:38:07 -!- FreeFull has quit (Ping timeout: 265 seconds). 21:42:28 [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42063&oldid=42062 * Ypnypn * (+33) /* Constants */ 21:45:39 -!- augur has quit (Ping timeout: 245 seconds). 21:50:59 -!- augur has joined. 22:01:43 -!- AnotherTest has joined. 22:05:17 -!- augur has quit (Ping timeout: 245 seconds). 22:07:51 int-e, FireFly: ok, telling answer now 22:08:02 the difference was because of the video card built in to the motherboard 22:08:15 the setting was such that after about an hour, the screen was blanked 22:08:25 ah, ow. 22:08:37 before that, the video card had to read the ten megabyte sized screen buffer fifty times per second 22:09:02 sixty times per second in fact 22:09:16 [ 1920*1280*4*60 NB. bytes per second 22:09:16 b_jonas: 589824000 22:09:18 Right. That never happened to me; I buy "proper" graphics adapters. 22:09:33 ^ that's the half gigabyte per second difference 22:09:46 Nice trap. Thanks for sharing. 22:10:07 I later measured to verify this by deliberately blanking the screen then resuming, and got consistent results 22:11:07 -!- arjanb has quit (Ping timeout: 246 seconds). 22:11:34 int-e: if the proper graphics adapter uses a separate memory from the main ram, don't you pay for that because then the cpu can access that ram slower? 22:12:33 hmm, but at least they're separate buses though, and I only pay for that when updating the screen. 22:13:07 int-e: yes, that's true, which would make a difference in this case 22:13:12 (I also don't use a compositing manager) 22:13:25 (so the math is all different) 22:14:14 the screen was barely touched in this case, so a separte video card would certainly make it easy 22:14:18 Heh 22:14:59 the fun part is that I still pay for the video card when the display is turned off with its power button 22:15:45 of course, in this case just buying a more modern machine would double the memory speed, which would count for much more than anything about the video card 22:16:27 -!- augur has joined. 22:17:45 but it'd still be 5% 22:18:07 10% actually 22:18:17 you should lower the screen resolution to 640x480 ;-) 22:18:31 int-e: or switch to text mode, or lower the resolution and the refresh rate too 22:18:38 -!- augur has quit (Read error: Connection reset by peer). 22:18:42 switching to text mode might be the most practical 22:19:12 well, not quite 22:19:32 putting the slow computations to faster server machines I have access to rather than my home machine is the most practical 22:20:04 it's exactly because I don't do tasks that need lots of computations on my home machine why I haven't bought a faster home computer yet 22:20:21 when I'll need fast computations, I'll just buy a modern machine with lots of RAM 22:21:53 The whole thing is funny. If you listen to John Carmack, he's saying that the unified memory for GPU and CPU is going to win. But he's interested in high-end graphics, where the bottleneck is getting all the data for the next frame to the GPU. 22:22:22 I see 22:22:43 -!- ^v has quit (Read error: Connection reset by peer). 22:22:54 I don't do GPU programming, so I don't really have an opinion on this. I'm more interested in how I can do more efficient computations on the CPU. 22:23:04 (I forgot where he said that, the quakecon talk last year would be my guess) 22:23:09 -!- ^v has joined. 22:23:13 That's why I'm trying to understand how the CPU accesses memory and how its caches work. 22:23:24 (And also other stuff about CPUs.) 22:24:32 Oh, and let's do the same math for a 4K resolution. 22:24:42 -!- GeekDude has joined. 22:24:46 (ouch) 22:25:51 int-e: machines with 4K resolution probably have a twice faster ram than this one 22:25:56 -!- augur has joined. 22:25:56 even my work machine has a twice faster ram 22:26:17 this is an old but beloved computer 22:26:20 b_jonas: yes, 4x more bandwidth for driving the monitor when you have 2x more memory bandwidth. :) 22:26:45 int-e: yes, a recent machine _might_ have 4x this bandwith possibly, if you pay enough 22:26:49 shouldn't the gpu have some sort of cache? maybe not a whole frame buffer though... 22:27:04 But whatever. 4k resolution is silly anyway. 22:27:36 olsner: yes, it should probably have enough cache to cache the text mode font, which is usually only 4 kilobytes, but can be up to 16 kilobytes in size 22:27:51 olsner: I expect it has a cache for textures and the like, to speed up the actual rendering. 22:28:00 olsner: or enough to cache a line in a double-scan graphics mode (say 320x200 on a crt) 22:28:17 but a cache won't help for the whole screen unless you have 10 megs of it 22:28:27 or let's say 7 megs 22:30:47 int-e: also, it's not really 4 times the bandwidth, only 3.2 times. I have 1.25 the resolution of a normal monitor because I use a true 1920x1280 one rather than the usual 1920x1080. 22:31:35 no, 3.4 times the bandwidth 22:33:56 I think I'll condense this to "if you want the program to run faster, switch to text mode" and go annoy some people with this wisdom. 22:34:48 -!- ProofTechnique has quit (Ping timeout: 272 seconds). 22:37:28 int-e: not quite, because it's only true to programs that are truly memory-bound 22:37:34 many programs aren't 22:37:59 Yes, it's wrong in many cases. 22:38:16 and of course it depends on the computer too 22:38:25 (the aforementioned standalone graphics adapter is another) 22:38:53 wouldn't "if you want the program to run faster, turn off the video signal blanking the screen" be more annoying though? 22:39:08 and it's even conceivable that an on-board GPU comes with its own video buffer anyway. 22:41:32 yep 22:43:08 int-e: especially since AMD has bought ATI, they can now make both motherboards and videocards 22:44:58 -!- augur has quit (Ping timeout: 255 seconds). 22:45:32 and combine CPU/GPU into a single chip. https://en.wikipedia.org/wiki/AMD_Accelerated_Processing_Unit 22:46:40 but yes, that's exactly the sort of advice that should be spread to annoy people who want to use multithreading and JIT and GPU computing to add two numbers, because they heared the GPU can add numbers faster, but actually care more about the buzzwords than the performance. 22:47:19 :) 22:47:56 they really annoy me for some reason. especially in the few cases when it's people at work. 22:48:31 I hope it's not literally 2 numbers. 22:48:40 no, not literally. 22:48:58 -!- augur has joined. 22:49:43 and the problem is only partly that they want to use it for inapproperiate tasks, but also that they try to jump to these difficult to use techniques while ignoring much easier possibilities for optimizing their code, like correcting obvious wastes of time. 22:50:19 -!- AnotherTest has quit (Remote host closed the connection). 22:50:22 > foldl (\x y -> 1 + y/(y+10) * x) 0 [0..490] :: Rational -- d'oh! 22:50:23 501 % 11 22:50:51 and I admit that there's at least one case when multithreading actually helps, at least one case when JIT actually helps, and at least one case when GPU programming actually help. it's just that people ignore the basics like how to write programs for the cpu properly before trying to learn these stuff. 22:51:20 and they don't care to measure what's actually slow in their program or whether their changes actually help in any way or preserve correctness. 22:52:37 right, profile, reconsider algorithms, and it doesn't hurt to think about parallelizing stuff (we have many multicore cpus nowadays) when the algorithm looks good. 22:52:42 nor do they learn how to apply these advanced techniques properly, which is not surprising, because you can't use them efficinetly withotu using the basics. 22:52:55 they write unsafe multithreaded programs that then crash. 22:53:02 of course, keep an eye on the cache hierarchy (part of the algorithm...) 22:53:59 and they write unsafe single-threaded code that trashes memory by writing past array bounds or to freed memory or through uninitialized pointers, and then the program crashes. 22:54:18 and then they try to blame _my_ good code which they happen to run in the same process. 22:54:28 great, now take that to the GPU. the OS won't save you this time *g* 22:55:05 they can't even write correct code, not even robust or performant or multithreaded one. 22:55:20 of course, this is not universal. I also have good experiences at work, with colleages from whom I can learn a lot. 22:55:53 I don't want those times back, but having to reboot the computer when you did a programming mistake was good for teaching me a minimal amount of care. 22:57:34 -!- augur has quit (Ping timeout: 255 seconds). 22:59:16 -!- augur has joined. 23:03:16 I think only one of them does irc though. 23:11:36 -!- ^v has quit (Quit: Network ban). 23:17:39 -!- `^_^v has quit (Ping timeout: 252 seconds). 23:22:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 23:25:03 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 23:28:14 -!- chaosagent has joined. 23:30:40 -!- vanila has quit (Quit: Leaving). 23:34:20 -!- GeekDude has joined. 23:34:44 -!- boily has joined. 23:38:07 -!- Phantom_Hoover has joined. 23:39:34 -!- FreeFull has joined. 23:46:47 @massages-loud 23:46:47 You don't have any messages 23:53:54 -!- FireFly has quit (Quit: WeeChat 0.4.0).