00:00:04 although there is\ 00:00:06 ewarn(chown("/tmp/home/" WOLUSER_NAME, WOLUSER_UID, WOLUSER_GID)); 00:00:07 it's not a link 00:00:08 s/\\// 00:04:48 -!- derrik has quit (Quit: take carezz). 00:07:42 -!- pikhq has quit (Ping timeout: 244 seconds). 00:07:47 -!- pikhq_ has joined. 00:16:55 -!- tiffany has quit (Quit: nyu~). 00:24:07 -!- sllide has quit (Read error: Connection reset by peer). 00:24:17 -!- tiffany has joined. 00:27:47 -!- zzo38 has joined. 00:30:37 -!- tiffany has quit (Remote host closed the connection). 00:30:55 -!- quintopia has quit (Ping timeout: 260 seconds). 00:33:56 -!- variable has quit (Excess Flood). 00:34:10 -!- tiffany has joined. 00:37:45 -!- quintopia has joined. 00:37:57 Are you sure? 00:38:08 -!- variable has joined. 00:43:37 -!- edne has quit (Read error: Connection reset by peer). 00:43:51 -!- variable has quit (Excess Flood). 00:46:23 -!- elliott has quit (Remote host closed the connection). 00:48:46 -!- tiffany has quit (Remote host closed the connection). 00:50:44 https://github.com/kragen/xcompose/blob/master/dotXCompose 00:50:49 Ooh, a nice compose file. 00:51:39 -!- variable has joined. 00:51:51 variable! 00:52:58 * Phantom_Hoover → sleep 00:52:59 -!- Phantom_Hoover has quit (Quit: Leaving). 00:54:25 -!- tiffany has joined. 00:56:51 -!- nooga has quit (Ping timeout: 276 seconds). 00:57:10 -!- GreaseMonkey has joined. 00:58:29 Does the ddate program allow you to switch which kind of Discordian calendar you want? 01:05:57 oh wow, the full name of the guy who plays bashir is Siddig El Tahir El Fadil El Siddig Abderrahman Mohammed Ahmed Abdel Karim El Mahdi 01:07:14 ... and his son's name is django 01:08:10 -!- edne has joined. 01:11:11 Invent a game that requires you to use a realtime horoscope as the game board. Maybe, one player is Summer and one player is Winter. And if you have four players, then there is Spring and Autumn as well. You have to pay attention to the phase of the moon, too. And cards. And of course there need a time limit so that you cannot just wait for many months until the planets favor you. 01:14:42 -!- elliott has joined. 01:14:45 00:50:44: https://github.com/kragen/xcompose/blob/master/dotXCompose 01:14:57 I decided that sucked, IIRC, although I forget why. 01:15:03 01:05:57: oh wow, the full name of the guy who plays bashir is Siddig El Tahir El Fadil El Siddig Abderrahman Mohammed Ahmed Abdel Karim El Mahdi 01:15:03 01:07:14: ... and his son's name is django 01:15:09 olsner: What is it with you and Django :P 01:15:13 `quote olsner.*django 01:15:20 324) django is named after a person? thought it would be a giraffe or something \ 379) `quote django ​352) django is named after a person? thought it would be a giraffe or something thankfully only one \ 380) `quote django ​352) 01:15:27 elliott: it's not my fault! 01:16:14 Whose quotation are this: "Any sufficiently advanced religion is indistinguishable from schizophrenia." "I just hijacked your brain. You can have it back at the end of this sentence." "The Grand Unified Conspiracy Theory ate the last cookie!" "It is better to bless the dark than to waste a candle." 01:17:29 "It's not that life is too short, it's that death is too long." "If you're not confused, you're ignorant." "Yoda is programing in Forcetran only." 01:18:54 Who are these quotations? 01:20:12 Does superstition bring bad luck? 01:24:12 -!- tiffany has quit (Quit: nyu~). 01:36:49 -!- tiffany has joined. 01:46:10 -!- edne has left. 01:46:37 -!- myndzi\ has changed nick to myndzi. 01:48:20 `log "a", "b", "c", "aa" 01:48:44 2011-11-06.txt:01:48:20: `log "a", "b", "c", "aa" 01:48:54 :t replicateM 01:48:55 forall (m :: * -> *) a. (Monad m) => Int -> m a -> m [a] 01:48:56 :t permutations 01:48:57 forall a. [a] -> [[a]] 01:49:40 `log "0", "1", "01", "11" 01:49:52 2011-11-06.txt:01:49:40: `log "0", "1", "01", "11" 01:50:03 heh 01:51:06 > (\l -> map (\i -> permutations $ replicateM i l) [1..]) "01" 01:51:06 [[["0","1"],["1","0"]],[["00","01","10","11"],["01","00","10","11"],["10","... 01:51:27 > (\l -> map (\i -> replicateM i l) [1..]) "01" 01:51:28 [["0","1"],["00","01","10","11"],["000","001","010","011","100","101","110"... 01:51:44 > (\l -> map (\i -> replicateM i l) [1..]) "abc" 01:51:45 [["a","b","c"],["aa","ab","ac","ba","bb","bc","ca","cb","cc"],["aaa","aab",... 01:51:51 > (\l -> bind (\i -> replicateM i l) [1..]) "abc" 01:51:52 Not in scope: `bind' 01:52:04 This is the kind of logic some people used in the past: There are seven windows in the head, two nostrils, two ears, two eyes, and a mouth; so in the heavens there are two favorable stars, two unpropitious, two luminaries, and Mercury alone undecided and indifferent. From which and many other similar phenomena of nature such as the seven metals, etc., 01:52:08 @hoogle (a -> m b) -> m a -> mb 01:52:08 Prelude (=<<) :: Monad m => (a -> m b) -> m a -> m b 01:52:08 Control.Monad (=<<) :: Monad m => (a -> m b) -> m a -> m b 01:52:08 Prelude (>>=) :: Monad m => m a -> (a -> m b) -> m b 01:52:18 > (\l -> (\i -> replicateM i l =<<) [1..]) "abc" 01:52:19 : parse error on input `)' 01:52:21 which it were tedious to enumerate, we gather that the number of planets is necessarily seven. [...] Moreover, the satellites are invisible to the naked eye and therefore can have no influence on the earth and therefore would be useless and therefore do not exist. 01:52:23 > (\l -> (\i -> replicateM i l) =<< [1..]) "abc" 01:52:24 ["a","b","c","aa","ab","ac","ba","bb","bc","ca","cb","cc","aaa","aab","aac"... 01:52:36 @pl (\l -> (\i -> replicateM i l) =<< [1..]) 01:52:36 ([1..] >>=) . flip replicateM 01:52:58 `log replicateM 01:53:03 2011-09-19.txt:03:09:44: :t replicateM 01:53:06 `log replicateM 01:53:13 2011-08-26.txt:07:10:34: > join . join $ (`replicateM` words "son I am proud") =<< [3..] 01:53:27 :t join 01:53:28 forall (m :: * -> *) a. (Monad m) => m (m a) -> m a 01:53:38 @hoogle (a -> m b) -> m a -> mb 01:53:38 Prelude (=<<) :: Monad m => (a -> m b) -> m a -> m b 01:53:38 Control.Monad (=<<) :: Monad m => (a -> m b) -> m a -> m b 01:53:39 Prelude (>>=) :: Monad m => m a -> (a -> m b) -> m b 01:53:40 Erm 01:53:41 `log replicateM 01:53:46 2011-07-20.txt:05:11:36: ?ty replicateM 01:53:50 `log replicateM 01:53:55 2011-09-16.txt:07:58:51: > drop 6 $ replicateM 3 "012" 01:54:07 > [1..] >>= replicateM 01:54:08 Couldn't match expected type `[b]' 01:54:09 against inferred type `m a -> m ... 01:54:14 > [1..] >>= flip replicateM "abc" 01:54:16 ["a","b","c","aa","ab","ac","ba","bb","bc","ca","cb","cc","aaa","aab","aac"... 01:54:18 Madoka-Kaname: hth 01:54:23 the problem in the `log query was the spaces 01:54:32 also the use of "abc" as the alphabet, probably 01:54:40 ^_^ 02:17:45 -!- Madoka-Kaname has changed nick to Cirno-chan. 02:17:55 -!- Cirno-chan has changed nick to Madoka-Kaname. 02:25:14 -!- tiffany has quit (Quit: Bye). 02:32:29 -!- pikhq has joined. 02:32:37 -!- SilverShot has joined. 02:32:38 -!- pikhq_ has quit (Ping timeout: 252 seconds). 02:34:53 -!- SilverShot has left. 02:35:12 > filter (==2) (join . flatten [1..2]) 02:35:13 Couldn't match expected type `Data.Tree.Tree (m (m a))' 02:35:13 against inf... 02:35:20 > filter (==2) (join . cycle [1..3]) 02:35:21 No instances for (GHC.Num.Num (m a), 02:35:21 GHC.Num.Num (m (m a... 02:35:35 > filter (==2) (join $ cycle [1, 2]) 02:35:36 No instance for (GHC.Num.Num [a]) 02:35:36 arising from a use of `e_1212' at > filter (==2) $ join $ cycle [1, 2] 02:36:06 No instance for (GHC.Num.Num [a]) 02:36:06 arising from a use of `e_1212' at > filter (==2) $ join $ join $ cycle [1, 2] 02:36:16 No instance for (GHC.Num.Num [[a]]) 02:36:16 arising from a use of `e_1212' at :t join 02:36:22 forall (m :: * -> *) a. (Monad m) => m (m a) -> m a 02:36:30 :t cycle [1, 2] 02:36:31 forall t. (Num t) => [t] 02:36:35 > join $ cycle [1, 2] 02:36:36 No instance for (GHC.Num.Num [a]) 02:36:36 arising from a use of `e_112' at > cycle [1, 2] 02:36:41 [1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,... 02:36:45 oh woops 02:36:49 > filter (==2) $ cycle [1, 2] 02:36:50 [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,... 02:49:28 @hoogle m [x] -> [m x] 02:49:28 Data.List transpose :: [[a]] -> [[a]] 02:49:28 Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) 02:49:28 Data.List inits :: [a] -> [[a]] 02:52:34 :t mapM 02:52:35 forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b] 02:52:56 @hoogle [IO a] -> IO [a] 02:52:56 Prelude sequence :: Monad m => [m a] -> m [a] 02:52:56 Control.Monad sequence :: Monad m => [m a] -> m [a] 02:52:56 Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) 02:55:43 lambdabot responds to private messages, too 02:55:52 copumpkin: Madoka-Kaname knows and doesn't care 02:55:58 o.O 03:00:06 :t mapM 03:00:07 forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b] 03:01:01 > [0..5] 03:01:02 [0,1,2,3,4,5] 03:01:31 ... 03:03:55 urusai! 03:04:13 うるさい 03:06:53 I don't difficulty reasoning about space and time efficiency of Haskell programs is really an argument against its use for high performance programs. 03:06:57 *don't think 03:08:05 CakeProphet: Really? I'd think that would be the main argument. 03:08:47 any compiled implementation of a language that optimizes is going to do possibly non-obvious things once compiled, regardless of evaluation order. But wait! there's more! 03:09:13 :t foldl 03:09:13 forall a b. (a -> b -> a) -> a -> [b] -> a 03:09:27 hmm, if it really matters you might be using measurements rather than reasoning anyway 03:09:56 someone who actually understands Haskells evaluation semantics can reason (and measure as you said) about space/time usage. The same applies to C++. 03:10:14 a C++ nub isn't going to know shit about how to optimize C++. 03:11:11 being ignorant of something is not an argument against it. 03:11:15 "given a sufficiently smart programmer"? 03:11:22 @hoogle (Map a), (Set a) => a 03:11:22 Parse error: 03:11:22 ^^^ 03:11:22 (Map a), (Set a) => a 03:11:22 ^ 03:11:24 @hoogle (Map a) (Set a) => a 03:11:25 Parse error: 03:11:25 (Map a) (Set a) => a 03:11:25 ^ 03:11:44 ತ_ತ 03:11:47 Madoka-Kaname doesn't actually no Haskell. 03:11:48 @hoogle (Map a, Set a) => a 03:11:48 Warning: Unknown class Map 03:11:48 Prelude undefined :: a 03:11:48 Data.Function fix :: (a -> a) -> a 03:11:54 Madoka-Kaname: can you quit spamming? 03:11:56 * CakeProphet doesn't no English. 03:11:57 Sure 03:12:02 thanks! 03:12:07 Haskell is a good deal more abstracted from how computers tend to work than C++. 03:13:10 I see. 03:13:34 CakeProphet: this was ... news to you? 03:14:16 (no) 03:14:28 I'm just kind of bewildered as to what it's implying. 03:14:43 programmers can't reason through abstraction or something? 03:14:46 * CakeProphet shrugs. 03:15:54 Things like garbage collection make performance more difficult to reason about, for instance. 03:16:00 I don't think anyone said "impossible". 03:16:02 C++ is pretty damn abstracted from how computers tend to work, though. 03:16:30 pikhq: True. 03:35:25 shachaf: I'm not sure the machine mismatch matters. 03:35:50 shachaf: As long as your mental conception of Haskell is low-level enough to account for thunks and sharing, then pretty much all the reductions to standard hardware don't change anything except constant factors. 03:36:47 Constant factors matter when you want to write high-performance programs. 03:38:37 Define "high-performance". :) 03:45:05 I have no idea what context this conversation came up in. 03:45:31 I'll define it as "where you care about performance enough to worry about constant factors". :-) 03:45:41 * shachaf unsafeCoerce 03:45:54 shachaf: OK, to clarify: Small constant factors :P 03:46:56 shachaf: You don't really have to care that much about how GHC goes from the level involving thunks and sharing to the machine code, since it's not going to end up /slower/ than you perceive on that level 03:48:41 shachaf: In such a context anything shy of assembly is going to involve at least a little bit anguish. 03:49:06 s/ shy of assembly// 03:55:46 -!- madbr has joined. 04:02:25 I found a anime crossword in mathNEWS that although the clues are in English, you must write the answers using katakana. 04:09:24 can't decide if that's lame or awesome 04:10:20 madbr: it is mathnews, therefore awesome 04:12:23 Probably lame. 04:13:31 wonder how japanese coders name variables in c++ 04:14:04 Hopefully in English. 04:14:21 Probably not, though. :-( 04:17:17 I'm inclined to go with "that's a crapshoot". 04:17:53 And would like to add that "¥n" still drives me bonkers. 04:18:36 heheh 04:18:48 japanese backslash 04:18:50 pikhq: why 04:19:03 coppro: That's "\n". 04:19:10 lol 04:19:16 thanks windows 04:19:26 Actually, that's not even slightly Microsoft's fault. 04:19:31 oh? 04:19:44 That's the fault of JIS X 0201. 04:20:21 The 8-bit ASCII superset encoding that was used for a while on early Japanese computers. 04:20:27 kinda sucks yeah 04:20:35 It encoded ¥ where \ is on normal ASCII. 04:20:41 they should have taken one of the 0-31 range characters 04:20:45 nobody uses those 04:20:56 except tab and newline ofc 04:21:13 madbr: The 0-31 range characters are control characters. I sometimes use them for purpose of control characters. 04:23:46 ah 04:24:13 figured most people decided in band signaling was stupid and moved to other means 04:24:33 Of course, JIS X 0201 sucks in every way imaginable for use in Japanese. 04:30:17 In case you need to include control characters in the data, that is a reason they have a Data Link Escape control character in ASCII. 04:36:10 madbr: dos used all of the control chars as symbols 04:36:51 well, yeah, cause the char rom had the space 04:37:10 and text mode has no escape chars ofc 04:37:38 Well, yes; it is CP437, which used all 256 slots (although 0, 32, and 255 are all blank). Sometimes still used today. 04:38:16 However the control characters had meanings as control characters too; but if poked directly into video memory they could be displayed. 04:41:38 The BIOS has the same function today. 04:42:21 vga text mode hasn't changed much no 04:44:44 So if you run FreeDOS, it will work. Linux uses something more complicated so it can display more characters at once and so on. 04:45:31 Actually, Linux using a VGA text mode pretty much just does ASCII. 04:45:31 well, if it's over 512 chars it has to be an emulation yes 04:45:49 I think you only can pull more characters using a framebuffer. 04:46:04 Yes, but the screen grid size is more than 80x25 as well 04:46:22 Yeah, there's more VGA text modes than that. 04:46:48 At least on the computer at FreeGeek, the ability for the Linux terminal to play sound appears broken, as far as I can tell. 04:46:54 doesn't change the hard limit of 256 (or 512 if you use different chars for colors 8-15) :D 04:47:52 unless you used a set of 8x1 pixel characters kinda like a msx text mode game 04:48:12 madbr: Yes, I know of that. It is limit 256, but there is a way to use different chars for high intensity. Actually, I discovered that by accident when I was running font programs in strange ways on a DOS computer; only later on have I found proper documentation about how this works. 04:50:10 zzo: yeah you can see it used in impulse tracker 04:51:20 Actually I discovered it by running multiple programs incorrectly that don't go together. I haven't used Impulse Tracker. 04:54:08 I am trying to think of how to implement TeX's ligaturing algorithm in Haskell; maybe I should do it on paper since that does seem to help sometimes. 04:55:24 Currently I have: typesetSimpleString :: Font -> String -> PageObject; typesetSimpleString f s = Text f $ typesetSimpleChar f s (leftBoundChar f); typesetSimpleChar :: Font -> String -> [LigKern] -> TextString; 05:01:58 -!- zzo38 has quit (Remote host closed the connection). 05:05:33 -!- MDude has changed nick to MSleep. 05:13:21 In North America although not generally in the United Kingdom, the term seafood applies also to any fresh water life eaten by humans, so all edible aquatic life can be referred to as seafood. 05:13:28 huh, interesting. 05:16:18 Pretty much, though usually it's limited to fish & shellfish. 05:17:10 well right, I'm familiar with the US usage. I just ate fresh water catfish and I would call it seafood. 05:17:22 * CakeProphet hadn't ever considered that it wasn't. :P 05:17:24 Right. 05:18:04 but apparently eating seafood is really fucking good for you. 05:19:41 Vietnamese catfish cannot be legally marketed as catfish in the US, and is subsequently referred to as swai or basa [24] Only fish of the family Ictaluridae may be marketed as catfish in the United States. 05:19:45 more weird food laws. 05:34:17 -!- Darth_Cliche has joined. 05:36:34 @hoogle Fractional -> Intergral 05:36:35 Warning: Unknown type Fractional 05:36:35 Unsafe.Coerce unsafeCoerce :: a -> b 05:36:35 Prelude ($) :: (a -> b) -> a -> b 05:36:44 Oh, it's Rational 05:36:44 derp 05:43:38 @hoogle a -> Double 05:43:39 Prelude id :: a -> a 05:43:39 Data.Function id :: a -> a 05:43:39 GHC.Exts breakpoint :: a -> a 05:44:41 Madoka-Kaname: what are you trying to do. 05:44:48 also, try the actual hoogle site. 05:53:30 -!- Darth_Cliche has quit (Quit: You are now graced with my absence.). 06:16:28 -!- hagb4rd has joined. 06:16:48 -!- Zuu has quit (Read error: Connection reset by peer). 06:18:57 hmmm, I wonder why desserts traditionally come at the end of meals? 06:22:00 -!- Zuu has joined. 06:52:29 -!- oerjan has joined. 06:53:31 hi oerjan 06:54:01 good morning elliott 06:55:54 Vietnamese catfish cannot be legally marketed as catfish in the US, and is subsequently referred to as swai or basa [24] Only fish of the family Ictaluridae may be marketed as catfish in the United States. 06:56:08 when my dad says "kattfisk", he means fish to feed the cat. 06:57:45 00:58:29: Does the ddate program allow you to switch which kind of Discordian calendar you want? 06:58:02 oerjan: does he say that a lot? 06:58:03 shouldn't it, sort of, switch in an unpredictable way... 06:58:20 elliott: well probably not :P 06:59:51 anyway the other point is we don't use that to name any species in norwegian. 07:00:05 that i'm aware of. 07:02:18 sea kittens 07:03:07 land fish 07:03:30 GET YOUR DELICIOUS LAND FISH HERE 07:03:42 oerjan: i take it you missed the reference : 07:03:45 ONLY RECENTLY DEWHISKERED 07:03:51 no, i don't think i missed it 07:03:59 i just reversed it 07:04:19 ok :P 07:04:41 > DLL 07:04:42 Not in scope: data constructor `DLL' 07:06:47 apparently i'm not very inventive there 07:06:54 'My wife and I have decided to start calling our cats "Land Fish".' 07:08:30 oh apparently stephen colbert used the phrase 07:09:32 http://en.wikipedia.org/wiki/Walking_fish 07:09:37 first hit for "land fish" 07:10:16 well i added sea kitten to the search 07:12:18 http://features.peta.org/PETASeaKittens/game.asp 07:16:33 oh god I actually just played a seakitten dress up game. 07:18:36 soon you will be possessed by an irrestible urge to eat nothing but strawberries and seaweed. 07:29:47 Let's face it: if cats looked, tasted, and mostly acted like fish except on land, I'd eat cat. With glee. 07:30:06 "Sea kittens" is solid fail. 07:30:59 -!- Ngevd has joined. 07:31:56 pikhq: how do you know they don't taste like fish? 07:32:01 what if they taste better? 07:32:03 hmmmm??? 07:33:13 *yawn* 07:33:14 Hello 07:33:44 CakeProphet: You'll note taste wasn't the only criterion there. 07:36:00 pikhq: what if cats looked, tastes, and acted like cats and were delicious? 07:36:04 weoijroiwejrowiejet huh what now huh? 07:38:18 Nyaaaa 07:45:01 http://en.wikipedia.org/wiki/Cat 07:45:10 I think this entire article is written by a cat-lover 07:45:23 because it basically talks about all of their awesome skillz. 07:47:30 Put on of those not neutral thingies in 07:51:26 > (10**10)**(2**32) 07:51:27 Infinity 07:51:34 > (10^10)^(2^32) 07:51:49 *E 07:52:07 > (1 `div` 0, 1/0) 07:52:11 mueval-core: Time limit exceeded 07:52:17 1 `div` 0 07:52:25 > 1 `div` 0 07:52:26 *Exception: divide by zero 07:52:31 > 1 / 0 07:52:32 Infinity 07:56:41 * oerjan finds some vandalism at the end of the Cat article 07:59:13 > 1 `mod` 0 07:59:16 *Exception: divide by zero 08:01:46 Second 01:00 is the best time of day. 08:06:39 pikhq: there's only one 01:00 in a day :) 08:07:01 today is special 08:07:02 Not today. 08:07:22 Today, 01:59 was followed by 01:00. 08:08:37 oh. we did that ages ago. 08:08:55 pikhq: also: fuck dst 08:09:03 The US decided to do more summer time than standard a couple years back. 08:09:05 Agreed. 08:09:14 dst is the worst :( 08:09:22 does ANYONE like dsty 08:09:23 ds 08:09:24 dst 08:09:28 I enjoy second 01:00. I despise 01:59 being followed by 03:00. 08:09:34 even my fingers don't like dst 08:09:38 bad people enjoy dst 08:09:38 It averages out to a mild hatred for DST. 08:10:03 dst days are offset in a bad way 08:10:21 pikhq: maybe we can do second 01:00 every day, and makes the minutes in an hour e.g. in the middle of the workday go twice as fast 08:10:30 Clearly we should eliminate the "spring back" bit. 08:10:45 fall forward? 08:10:45 elliott: I approve of your 25 hour day plan. 08:10:53 Erm. 08:10:56 Spring forward. 08:11:01 pikhq: "and makes the minutes in an hour e.g. in the middle of the workday go twice as fast" 08:11:02 Fuck DST. 08:11:09 elliott: I want 25 hour days. 08:11:30 Let's make everyone *else* have trouble maintaining normal sleep. :P 08:12:21 argh does someone know how to view bot edits in wikipedia's page histories? 08:13:00 not I 08:13:00 why? 08:13:09 ...i found some vandalism, but there is no sign of it in the diffs 08:13:14 I know anti-vandalism etc. bots don't make edits marked as bot 08:13:24 oerjan: there is 08:13:29 try cache 08:13:34 or looking harder :) 08:13:51 `pastequotes 08:13:57 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32522 08:14:29 hm maybe it's actually in an included template. 08:15:20 oerjan: yep, that sounds likely 08:15:40 if wikipedia wasn't so dog slow... 08:15:52 ...i guess it would be, on the cat page. 08:16:03 arf arf arf 08:17:57 -!- Ngevd has quit (Ping timeout: 240 seconds). 08:18:36 -!- monqy has quit (Quit: hello). 08:19:23 `quote 08:19:23 `quote 08:19:24 `quote 08:19:24 `quote 08:19:24 `quote 08:19:31 649) elliott: so what are the two issues with xfce? they're very unlikely to fuck up Xfce, and it can be made to work basically exactly like gnome two 08:19:33 398) oerjan: but hypothetically, assume a Christian spontaneously materialised during the apocalypse 08:19:46 627) Dear god stop staring at me. no never monqy is always staring at everyone. it takes many eyes to do this but I manage He is an inspiration to us all. 08:19:47 465) elliott: You have become the very thing you fought for! 08:19:47 261) Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? 08:20:26 649 is the worst but I don't have the heart to remove any 08:21:30 `log so you are doing for compilers what imperative programming did for functional programming 08:21:56 2011-10-02.txt:10:46:13: `addquote so you are doing for compilers what imperative programming did for functional programming 08:22:05 `logurl 2011-10-02.txt:10:46:13: 08:22:08 http://codu.org/logs/log/_esoteric/2011-10-02 08:24:04 10:43:37: elliott: i like this dialogue. because im never going to drop an idea so easily. whatever holes you can find in the idea i can apply more patches 08:24:04 this was basically the height of itidity 08:28:00 -!- spl1nt has joined. 08:29:00 argh! 08:29:14 elliott: do you see vandalism at http://en.wikipedia.org/wiki/Cat#External_links ? 08:29:29 oerjan: yes 08:29:43 let's see... 08:30:03 oerjan: trying to purge it 08:30:19 it is not in the page when i try to edit it :P 08:30:22 oerjan: see, all gone 08:30:24 it was just cached 08:30:30 I purged the page and now it's fixed 08:30:36 -!- Ngevd has joined. 08:30:42 but i've reloaded several times D: 08:30:49 oerjan: purging is a MW thing. 08:30:51 I think they should make a movie about fungot 08:30:52 Ngevd: there was no sleep for either of them that night, but sat up thinking of the door, and the bed of death with the black pall but is finally restored to security and happiness with her lover fnord, after the death of his only son conrad on the latter's fnord fnord, 08:30:55 oerjan: try refreshing now 08:31:04 just append ?action=purge to a page url and click the button 08:31:07 it re-renders the page on the server side 08:31:15 aha 08:31:23 well it worked by simply reloading now 08:31:32 i assume your purge fixed it for everyone 08:31:34 Also, why won't my brother's XBox read discs? I just want to play AC:B 08:31:37 "My main hobby outside Wikipedia is the VMS Mosaic web browser (hence my username)." 08:31:43 That's a really shitty hobby, User:VMS_Mosaic. 08:31:46 oerjan: yep 08:33:15 VMS Mosaic? 08:33:30 I hope that's not Mosaic ported to VMS. 08:33:38 Hmm. It's Mosaic ported to VMS. 08:33:43 * oerjan swats shachaf -----### 08:34:00 I'm not too sure what VMS is... 08:34:29 an old OS 08:34:30 My father once ported vi to VMS. It was apparently quite popular. 08:34:33 Okay 08:34:40 -!- spl1nt has quit (Killed (idoru (Spam is off topic on freenode.))). 08:35:10 my first university account was on a VAX/VMS system 08:35:14 shachaf: this was your father's operating system 08:35:39 A more civilized software from a more civilized time 08:36:15 VMS was many things, but I don't know if civilized is among them. 08:36:30 What does it stand for? 08:37:13 Virtual Memory System, apparently. 08:37:36 > map succ "VMS" 08:37:37 "WNT" 08:37:38 zomg 08:37:55 Windows NT? 08:38:00 `addquote VMS Mosaic? I hope that's not Mosaic ported to VMS. Hmm. It's Mosaic ported to VMS. 08:38:02 708) VMS Mosaic? I hope that's not Mosaic ported to VMS. Hmm. It's Mosaic ported to VMS. 08:38:04 * spl1nt has quit (Killed (idoru (Spam is off topic on freenode.))) 08:38:05 omg :') 08:38:07 he was our friend. 08:38:49 What's a spl1nt? 08:39:01 the best spl1nt 08:39:10 It's for mending broken b0nes 08:40:36 i liked the VMS hierarchical help system 08:40:52 I wish I had memories of VMS. 08:41:01 So I could know that it would be foolish to wish for memories of VMS. 08:41:09 I have memories of some operating system 08:41:14 It was text-based 08:41:18 It was in a garage 08:41:20 dos 08:41:31 CP/M 08:41:36 actually if you've used dos without realising then it's dos then i'm really weirded out 08:41:38 In Mount Waverley, VIC 08:41:48 I was 3-4 08:41:49 ah yes. from when you lived in scotland 08:41:53 -!- derrik has joined. 08:42:18 FINALLY ASSASSIN'S CREED HAS LOADED 08:42:25 if you did help pascal, you got help on the pascal program but also a submenu for individual functions 08:42:43 VMS apparently had this fancy QIO thing. 08:42:43 and the hierarchy was quite deep 08:42:56 *pascal compiler 08:51:10 If I was Korean, I'd be fearing for my life 08:51:16 648) sadhu: it's been said that boole is the crowning jewel perched precariously upon the perfect peak of programmer prowess, casting its limitless limpid light over the loathesome lands of those who scuff and wallow in the dreary dust of digital depravity and unbounded wilful ignorance of the testament of our lord jesus christ into your life. 08:51:17 elliott: when the driver came out of those years to engulf him utterly. 08:51:17 :D 08:51:19 god i remember that 08:51:50 oerjan: isn't that essentially what info does 08:52:04 I have a fan and a closed door 08:52:41 elliott: i guess. on the command line, this was more like a nested version of irssi help, though 08:53:05 oerjan: oh, so you went deeper by taking the last command and appending? 08:53:10 sounds like http >:) 08:53:15 there was a graphical version, but i only rarely saw an actual DEC workstation 08:53:15 Ngevd: beware fan death 08:53:54 The full documentation for blahB is maintained as a Texinfo manual. If the info and blah programs are properly installed at your site, the command info blah should give you access to the complete manual. 08:54:00 Whoa, man, an irssi bug. 08:54:17 elliott: except you didn't have to prepend the current term if you were already on it, this was interactive. 08:54:28 oerjan: ok so it's not command-line :P 08:54:50 elliott: i guess i meant terminal, as opposed to graphical 08:54:54 Type: something something CtrlBblahCtrlB something something, where CtrlB is the "bold" indicator. Then move cursor on top of the "b" in "blah", and press M-d. 08:54:55 yeah 08:55:24 i mainly logged in via genuine physical VT100/VT3something terminals 08:55:27 oerjan: did it actually have a line-based interface, though, or was it layout-based (i.e. like typical guis, moving a cursor around and activating things) 08:55:39 elliott: line-based 08:56:10 it was still the best help system i'd seen at the time :P 08:56:13 oerjan: it sounds like info has the kind of structure you want, it's just that the clients suck :) 08:56:29 I guess no one here appreciates a good irssi bug. 08:56:29 also, nobody but GNU people want to, or do, write info pages... 08:56:43 s/good/bad/ 08:56:44 shachaf: I figure they're probably too numerous to appreciate. 08:56:45 Like lives. 08:56:57 Until there are, like, less than a billion people alive, I'm a sociopath. 08:57:25 592) 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 08:57:29 still the most beautiful thing to ever happen 08:58:23 -!- nooga has joined. 08:59:01 567) mmm these music samples are still so tasteful 08:59:01 568) im sampling ultra hip holiday hes the boogie woogie santa clause switching to oktoberfest yes i would love to shop to this 08:59:04 the qdb makes great light reading 09:11:39 -!- Vorpal has joined. 09:12:18 Alexander Kramir, from the novel Lentara is a fairly accurately portrayed boy with Albinism who helps an alien race save the Earth and falls in love with an alien. He later fathers a child who will help save the universe 09:12:22 elliott: this is probably better light reading. 09:17:44 -!- sebbu2 has joined. 09:17:44 -!- sebbu2 has quit (Changing host). 09:17:44 -!- sebbu2 has joined. 09:18:45 -!- sebbu has quit (Ping timeout: 240 seconds). 09:23:31 -!- madbr has quit (Quit: Radiateur). 09:56:03 -!- Phantom_Hoover has joined. 09:58:17 Honey bees transform nectar into honey by a process of regurgitation, and store it as a primary food source in wax honeycombs inside the beehive. Beekeeping practices encourage overproduction of honey so the excess can be taken from the colony. 09:58:24 mmmm regurgitated nectar. 09:58:47 bbl, bleaching brain 09:59:39 youd idn't know that? 10:00:04 i probably have known at previous pre-bleaching occasions 10:01:08 545) well, you have bested me itidus20: Yes. 10:01:09 :') 10:06:14 484) interestingly enough, go is a second player win chess is also first player win tennis, interestingly enough, is always a draw. 10:06:21 oerjan: have you ever read this qdb i mean damn 10:07:57 haha 10:15:21 356) http://www.sessionmagazine.com/img/nature/worlds-10-smallest-animals/worlds-10-smallest-animals07.jpg worlds biggest thumb 10:15:36 oerjan: it's getting to that stage in the fax cycle where i start to miss em 10:26:20 241) LoTR actually compresses pretty well into a film; the large amount of description becomes unnecessary. LotR would compress pretty well into a book; the large amount of description *is* unnecessary. 10:26:29 hmm, wonder whether phatom and pikh actually said that 10:27:34 -!- GreaseMonkey has quit (Quit: The Other Game). 10:28:24 -!- Ngevd has quit (Ping timeout: 256 seconds). 10:30:54 We did. 10:31:16 `log 10:31:21 2011-05-14.txt:23:04:21: ​261) LoTR actually compresses pretty well into a film; the large amount of description becomes unnecessary. LotR would compress pretty well into a book; the large amount of description *is* unnecessary. \ 272) oerjan: also actually A(4, 4) is larger than 10:31:26 sceptical 10:31:39 I remember saying it! 10:31:46 Unless you're talking about the nicks. 10:31:51 of course i am 10:36:04 `quote 272 10:36:06 272) !bfjoust test (-)*10000 Score for Vorpal_test: 12.9 yay 10:36:15 wat 10:36:20 `quote 271 10:36:22 271) Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! and a monad! nothing can stop me now! 10:36:37 hum 10:36:48 `quote 261 10:36:50 261) Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? 10:36:59 oh duh 10:37:16 `quote 252 10:37:19 252) ah yes, indeed, alan turing was gay and stupid 10:37:30 close enough 10:37:51 hi 10:39:40 -!- oerjan has quit (Quit: Bye!). 10:48:08 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 10:53:49 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .). 11:08:51 -!- Phantom_Hoover has joined. 11:30:33 -!- Jafet has joined. 11:48:12 elliott, there? 11:48:23 No. 11:48:25 elliott, there may be ways to get better support for multilib on arch 11:48:32 I just found a package named gcc-multilib 11:48:35 I have not yet tried it 11:48:49 Uhh, gcc-multilib is part of the multilib repos. 11:48:53 It's used in conjunction with them. 11:48:54 yep 11:49:00 and it provides gcc 11:49:05 according to pacman -Si 11:49:07 It isn't "better support", it's "being able to link with multilib things at all". What's your point? 11:49:13 hm okay 11:49:18 It's still the same shitty support at the core. 11:49:23 right 11:49:25 But yes, you're meant to replace gcc with gcc-multilib. 11:56:43 -!- sebbu2 has quit (Read error: Connection reset by peer). 11:59:04 -!- sebbu2 has joined. 11:59:04 -!- sebbu2 has quit (Changing host). 11:59:04 -!- sebbu2 has joined. 12:00:04 elliott, is there a name for "initialism except they selected X instead of E for words starting with Ex-"? 12:00:13 "stupid" 12:00:19 elliott, also "common" 12:00:30 just call it an acronym, nobody cares 12:00:33 hm 12:00:51 probably most people don't know what "initialism" even is 12:00:59 (two examples that spring to my mind: XML and AVX) 12:05:10 XMS, note there was EMS before. 12:05:40 It just uncontrollably became more X-Treme. 12:05:49 oh the DOS thingy? 12:05:53 It starts getting ridiculous when these terms are translated. 12:05:57 Vorpal: yes 12:06:13 It starts getting ridiculous when these terms are translated. <-- oh? 12:06:14 * twice11 remembering of "Erweiterungsspeicher" and "Expansionsspeicher"... 12:06:36 assume I don't understand German 12:07:16 So it's just that you take the spelled out version of these acronyms in english (most people already don't know of), and translate them to German. 12:07:26 right 12:07:31 -!- elliott has quit (Quit: Leaving). 12:07:39 -!- elliott has joined. 12:07:44 twice11, makes sense so far 12:08:05 End result: You get something nobody undestands and also can't correlate to the maybe known terms XMS/EMS as the acronyms do not really fit to the german terms. 12:08:12 ah 12:08:42 Note that EMS means Expanded Memory Specification, XMS means Extended Memory Specification. 12:08:48 Both words starting with "Ex"... 12:08:52 right 12:09:17 After the german translation, only one word starts with Ex - which is expanded that has been left as technical term. 12:09:30 heh 12:09:36 While eXtended has been replaced with the german term "Erweiterung". 12:09:55 XHTML too, but that's just following in XML's footsteps. 12:10:11 I remember hearing "utökat minne" in Swedish. I don't remember which one of those that refers to, literally that means "extended memory" though. 12:10:13 Oh, and XP when it's standing for "eXperience Points". 12:10:16 I grew up with a Mac 12:10:18 not a PC 12:10:23 IIRC these translations are made by Digital Research - but do you think Microsoft learned anything of that? 12:10:30 of->from... 12:10:55 fizzie, yeah, should be EP in all games 12:11:07 fizzie, wait, did windows xp stand for Windows Experience Points? 12:11:23 and doesn't xbox have some "microsoft points" or something 12:11:30 hm... maybe they confused the names somehow? 12:11:31 eXPerience, I'd think. 12:11:38 They introduced the HMA (a 286 concept of magically adding a near 64k memory addressable in DOS). Which was translated as "Oberer Speicher" in German. 12:12:07 fizzie: That's what the marketing people say. Some people claim in fact it means eXtra Problems. 12:12:59 The HMA translation was not that bad until another concept of extending conventional memory, called "upper memory blocks" (UMB). 12:13:09 Which was then translated as "hoher Speicher". 12:13:30 well, xp was probably one of the better windows versions so far. Especially the 64-bit one. 12:13:49 Note the ethymologic connection between "hoher Speicher" and "high memory" on the one hand, and "upper memory" and "oberer Speicher" on the other hand. 12:13:53 Windows Me + Windows XP = the almighty Windows Mexp. 12:14:01 It's like Windows Sexp, but with a sugary syntax. 12:14:14 Finnish terminology for EMS and XMS is "laajennettu muisti" and "jatkettu muisti", those are probably the closest-in-meaning words for "expanded" and "extended". 12:14:15 Vorpal: I guess you are talking about XP after SP1 or so. 12:14:28 twice11, yeah, but compared to 9x it was way way better. 12:14:45 even the original I mean 12:14:48 Windows 9x is a game loader, not an operating system ;) 12:14:51 right 12:15:00 twice11: Then what's DOS? 12:15:06 older game loader 12:15:10 Game loader with bad graphics?-) 12:15:22 A game loader missing a common 32 bit driver infrastructure. 12:15:24 game loader not even pretending to have multitasking 12:15:41 Good god you guys, be patient, twice11 MIGHT have generated perfect quote material with a one-word response like "Crap"! 12:15:43 But then you ruined it! 12:15:47 You ruined everything! 12:15:53 twice11, I suspect that windows server might be the best windows version, since so far xp 64-bit has been the best I used, and that was based on windows server 2003 iirc. 12:16:35 Windows 7 also works not that bad, as far as I have experience with Windows. 12:16:58 twice11, windows 7 is quite bloated compared to XP. Try installing both on a SATA 1 disk. Check boot times. 12:17:04 that is 64-bit of both 12:17:15 Oh no! Boot times! 12:17:21 The thing Vorpal told me he doesn't care about just a few weeks ago. 12:17:24 and also general sluggishness of the interface 12:17:26 Or less, actually. 12:17:53 * elliott hasn't experienced any interface sluggishness with 7 at all. 12:17:54 Vorpal: Compare boot times of Windows XP and DOS on the same hardware 12:18:03 elliott, I don't really care about 10 seconds vs. half a minute on a system I rarely reboot. I do care about 2 minutes vs. 7 minutes on a system I reboot often. 12:18:10 elliott, you have to consider the context. 12:18:19 Vorpal: It sounds like the context is: your system is really shitty. :p 12:18:23 twice11, indeed. 12:18:32 elliott: If you run Windows XP and Windows 7 on the same system with 384MB RAM, Win 7 will be much more sluggish, of course. 12:18:42 twice11: Yeah, and I bet Windows 7 is really sluggish on this 286 I just materialised :P 12:18:49 Hell, it probably doesn't even RUN on my Commodore 64. 12:18:53 -!- derrik has quit (Quit: gone). 12:18:53 elliott: Windows XP won't run on it, too. 12:18:59 twice11, thing is, apart from the disk the system in question is top notch 12:19:10 OK guys, what's the best Windows version for ENIACs? 12:19:11 twice11, I simply reused an old disk for installing windows 7 on. 12:19:38 and not THAT old either. 12:19:46 People tried hard to get WinXP getting run on minimal hardware. I guess they ended up on an underclocked 486 with 8MB of RAM. 12:19:58 To install they needed a Pentium with 24MB. 12:20:02 twice11: I remember that. 12:20:04 That was awesome. 12:20:06 heh 12:20:08 link? 12:20:16 10 minute boot time or like that. 12:20:26 and I guess WinPE or such? 12:20:34 or do you mean full XP? 12:20:39 Vorpal: No, full XP. 12:20:43 impressive 12:20:49 Of course it was not usable at all... 12:20:53 of course 12:21:35 twice11, anyway linux runs fine from that same SATA 1 disk that windows 7 runs terribly from. And XP ran fine from it too back in the days. 12:21:53 German version of one of those tests: http://www.winhistory.de/more/386/xpmini.htm 12:22:27 And english version: http://www.winhistory.de/more/386/xpmini.htm.en 12:23:49 the former displayed as English for me too 12:23:59 I guess it looks at the http headers for preferred language 12:24:05 * twice11 guesses that, too. 12:25:35 I guess it uses pixie magic. 12:25:41 Teach the controversy. 12:29:21 Hmm, seems I was wrong - at least these people did not swap the CPU to a 486 after installation. 12:29:30 And it was 18MB RAM minimum, not 8MB. 12:29:38 Sorry for exaggregating. 12:30:53 I can't help but feel they gave up right when things could have become really interesting. 12:31:01 e.g. patching the XP installer to stop it complaining about hardware :) 12:31:55 hah 12:32:15 elliott, they wanted to do this on a vanilla xp obviously 12:32:44 elliott: I guess the installer has some reason to check for CMPXCHG8B 12:32:56 And that instruction is introduced with the Pentium. 12:33:07 CPUID is available on late 486, too. 12:33:15 twice11: Microsoft probably had some reason to tell people not to use XP on machines with <64 megs of ram, too :-) 12:33:42 Granted, but I am quite confident, the XP kernel or ntdll indeed uses CMPXCHG8B. 12:34:00 OTOH, if you do this kind of stuff, just add an invalid opcode handler... 12:34:07 Probably. But maybe not always? :-) 12:34:11 Maybe you can turn that stuff off. 12:34:40 CMPXCHG8B is a core instruction for some kind of lockless thread-safe linked lists. 12:34:59 Sounds like very likely used in the deep core of the kernel. 12:35:00 maybe you can emulate CMPXCHG8B. I don't know what the semantics of that are wrt bus mastering hardware though 12:35:49 twice11: You know, f00f bug involved CMPXCHG8B... 12:35:51 Maybe that's why it checks. 12:35:58 Get a real 486 board with ISA cards - bus mastering problem gone ;) 12:36:02 hah 12:36:03 twice11: But: You could just replace that with a lock. 12:36:07 What could go wrong? 12:36:36 CMPXCHG8B does a locked operation on 8 bytes at a time. 12:36:52 just using LOCK can't do an 8-byte-operation. 12:37:00 I meant a software lock. 12:37:09 twice11: You could just pause the scheduler while that code runs :) 12:37:27 well for a single CPU you could just disable interrupts and do it 12:37:33 A software lock is what they replaced by CMPXCHG8B for improved performance... 12:37:45 twice11: Yeah, 'cuz that's gonna help SO much on a 486. 12:37:57 It would be blazing if only we didn't have software locks! 12:38:26 If you have access to the source of the kernel to be able to replace CMPXCHG8B by software locks or some PUSHF/CLI/POPF magic, it won't be XP anymore. 12:38:49 I would expect the CMPXCHG8B instruction to be inlined to many places... 12:39:14 Adding an "undefined opcode" handler sounds less intrusive (and less performant) 12:39:44 BTW: The story goes on: http://www.winhistory.de/more/386/vistamini.htm Vista on an AMD K5 90MHz, 224MB of RAM. 12:39:51 Yeah, a handler is probably the best way to do it. 12:40:06 224MB? Pfft 12:40:32 Would be interesting whether you manage to boot 7 on "just" 192MB. 12:40:38 twice11, what is the minimum for win7 yeah? 12:40:59 No idea. Too bad they didn't make a report on that. 12:40:59 twice11, the last link is german only 12:41:01 Windows 7 on a cardboard box with a toothbrush 12:41:11 also some salt 12:41:35 elliott: Don't cheat. That is Windows Phone 7! 12:41:51 :D Windows Phone 7 standard deployment platform 12:41:57 heh 12:42:00 The toothbrush has to have at LEAST three bristles. 12:42:06 But no more than seven. 12:50:26 Windows 7 bristles. 12:55:01 windows XP whistles... 12:55:14 Or long Vista horns. 12:56:39 Man, I remember the days of Longhorn. 12:56:54 Where it was basically XP, but it had a horrible sidebar and every window had a garish-as-fuck light blue gradient all over it. 13:09:05 heh 13:09:19 was longhorn the codename for xp or vista, I don't remember 13:09:35 Longhorn -> Vista, Whistler -> XP 13:10:02 ah 13:10:03 Or Whistler -> Server 2003? 13:10:09 what was the code name for 7? 13:10:22 Longhorn really ready to manufacture? ;) 13:10:45 Vorpal: Blackcomb, later Vienna 13:10:48 ah 13:10:58 is there a code name for windows 8? 13:11:14 Not that I know of 13:11:55 Vorpal: 8 13:12:30 According to de.wikipedia, there were the code names "Mystic" and "Orient" for sucessors of W7 and WSrv2008R2, but now the project seems called "Windows Next" 13:13:33 elliott, hah 13:13:58 Hmm, interesting 2008R2 is available for x64 and Itanium, but not for x86. 13:14:11 Is there really that much buisiness interest in Itanium? 13:14:29 Or is it just some MS-Intel-treaty that they have to support it? 13:15:11 Nobody uses Itanium at all. 13:15:21 elliott: That was my impression, too. 13:15:21 I mean, people do, but they're rounding errors. Legacy rounding errors. 13:15:45 I believe it has been used in some HPC applications? 13:15:46 I think IBM still sell servers with it? It's pretty much the case that people jumped on board Itanium because it was THE FUTURE, and some people haven't managed to jump back off yet. 13:15:50 probably not much any more 13:15:54 and yeah some mainframe stuff 13:16:19 I mean, in theory it is an awesome idea... In practise? Not so much 13:17:06 Having a simple VLIW design is great, but if the realtime out-of-order-scheduling works so well that it beats compile-time VLIW, it's not really helpfull... 13:17:25 indeed 13:18:00 Now would be a great time to tell you all how much I love graph reduction architectures. 13:18:02 I believe there are some specialized processors using VLIW though 13:18:09 Instruction sets: LITERALLY OBSOLETE. 13:18:39 elliott, how good are they are number crunching? 13:18:46 Vorpal: Does Itanium count as "some specized processor"? 13:18:51 Vorpal: They have arithmetic primitives, yaknow :P 13:18:57 twice11, not in this context 13:19:21 elliott, right 13:19:35 elliott, how does pipelining and so on work with them? 13:20:05 elliott, anyway what do you mean with ISAs being obsolete? 13:20:19 don't you still need some form of encoding for the input 13:20:21 Vorpal: It's not obvious how to answer at all, since there's no concept of an "instruction". 13:20:28 And yes, but that form doesn't include any instructions. 13:20:33 It's just a set of rewrite rules. 13:20:49 Those aren't instructions, they don't /do/ anything. 13:20:51 They're declarations. 13:20:53 rewrite instructions... 13:21:00 elliott, well the description of how you encode rewrite rules and data must be defined in something similar to an ISA, whatever you call it. 13:21:07 Vorpal: No? 13:21:17 ISAs are pretty much inherently imperative; they're composed of /instructions/ 13:21:20 Declarations aren't instructions 13:21:28 twice11: Except they're not executed in order, or executed at all :) 13:21:44 twice11: They're just used as rules for the CPU's reduction. 13:21:45 elliott, with something similar I mean "formal documentation of the input expected by the processor" 13:21:47 so yes 13:22:00 think speculative execution, out of order execution. 13:22:00 Vorpal: Nobody thinks that when they think ISA 13:22:17 twice11: Sure, you can do speculative evaluation on such a machine... 13:22:26 elliott, whatever, arguing this will be pointless anyway 13:22:39 Even today instructions not always executed in order or suddenly rolled back... 13:23:09 It's just instructions including a much more complicated set of conditional execution than just referring to some flag bits. 13:23:12 twice11: Well, CPU architectures look nothing like their ISAs nowadays. 13:23:26 They're much less imperative in fact... and much more weird :) 13:23:42 They just try really hard to perfectly emulate the old instruction sets for compatibility. 13:23:43 The x86 instruction set is weird enough. Really. 13:24:08 Oh, it's weird, it's just not as weird as what actually goes on... 13:24:53 In the end, you just interpret that weird x86 instruction set into something sensible. 13:25:07 Compiling instead of interpreting failed on the market (see Transmeta) 13:25:22 Yeah. 13:26:34 which bus will be the last to be dropped on common consumer x86 PCs: ISA or PCI? 13:26:48 I suspect ISA will stay around longer, for compatibility. 13:26:53 ISA is already dropped on consumer PCs. 13:26:56 twice11: Honestly, if I was a compiler dev I would be begging the CPU corps to standardise and give access to the lower-level details... OK, I wouldn't because that sounds like it would fundamentally contradict my Principle of Absolute Laziness, but I can't imagine compiler devs couldn't do a better job at sorting things out than CPUs doing things just-in-time. 13:27:01 twice11, the slots yes, not the bus 13:27:15 00:1f.0 ISA bridge: Intel Corporation P67 Express Chipset Family LPC Controller (rev 05) 13:27:17 Real ISA is dead. 13:27:22 twice11, I said bus 13:27:26 LPC replaced it. 13:27:36 hm it is still called ISA bridge thoug 13:27:38 though* 13:27:40 wonder why 13:27:53 LPC is kind-of 4-bit-parallel serial ISA. 13:28:16 hm 13:28:20 But is as a lower pin count (hence the name!), obviously. 13:29:20 Deewiant: Hmph: ansi-terminal does nothing for input whatsoever 13:30:04 elliott: Having the CPU do the lowest level details provides strong advantages: Independence of exact architectural designs, like you are able to add an extra execution engine and all apps are going to use it, and makes things like simultaneous multitrhreading possible at all. 13:30:25 Some abstractions seems like not being too bad. 13:30:34 twice11: Yeah, it's probably true that the microcode layer changes way too quickly for that to be feasible. 13:30:50 Modern x86-64: kind of a mess? 13:31:27 anything called remotely like x86 is something to stay away from if you like to keep sanity. 13:31:49 The 8086 instruction set might have been a good idea in 1978, though. 13:32:05 Already the 8088 is an abnomination, in my oppinion. 13:32:19 What use is a processor that starves on instruction fetch bandwidht? 13:32:42 Maybe I should just buy an FPGA and put a Reduceron on it and build a computer up from that, out of wood. 13:32:50 I'm sure I can make a wooden monitor. It would feel very appropriately DIY. 13:34:03 But history repeats, processors starving on instruction bandwidth reappear all the time, like the Cx486SLC2 or the first Pentium 4 designs (although in that case, it was the RAM/Northbridge that didn't manage to keep up with the excessive bandwidth required). 13:34:30 What we need is Checkout CPUs. (Problem: The instruction manuals would _probably_ form a black hole.) 13:34:32 that is why you have instruction caches 13:35:20 with the current technology you can either make expensive, fast & small RAM or you can make cheap, slow & large RAM. 13:35:26 Instruction caches on the mentioned processors are too small, or way to small. 13:35:37 true 13:36:02 I once inherited a cheap craptop with a Cx486SLC2. 13:36:14 Bus interface: 16-bit 286-like at 25MHz. 13:36:26 Processor core: 486 variant at 50MHz. 13:36:31 Cache size: 1KB. 13:36:46 The only thing the processor is fast at is tiny benchmark loops. 13:36:57 heh 13:37:57 -!- Nisstyre has quit (Ping timeout: 240 seconds). 13:39:06 my laptop has an L2 cache three times as big as my desktop. Crazy Core 2 Duo. 13:39:11 3 MB L2 13:40:06 By cache is longer than yours! 4MB in a C2D T7200 13:40:14 My cache... 13:40:24 heh 13:40:38 Didn't Core 2s go up to like 12 meg cache? 13:40:42 possibly 13:40:48 that was a laptop C2D though 13:40:53 They were just moving all the RAM to L2. 13:40:54 model name: Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz 13:40:54 Why not! 13:41:22 elliott, I heard of CPUs with 256 MB L2. 13:41:26 not x86 though 13:41:27 lol 13:41:31 think it was a PowerPC or Power 13:41:36 for HPC 13:41:36 Is that some server CPU? 13:41:41 twice11, HPC even 13:41:48 compute server ;) 13:41:58 elliott, oh maybe it was 256 MB L3 13:42:02 rather than L2 13:42:03 not sure 13:42:07 still rather insane 13:42:11 789324789234798234 TB L0!!!!!!111 13:42:56 I can't find the L3 cache info for my laptop in lshw, not sure where else to look 13:43:07 Vorpal: 0MB 13:43:14 You laptop has no L3 cache. 13:43:16 oh, C2D had no L3? 13:43:16 hm 13:43:45 Just think about the die size if you want an L3 cache that is signicantly bigger than your 3MB L2 cache. 13:44:41 heh 13:44:41 So L3 needs to be outside the processor. The front-side bus is slow enough to have that backed by dual-channel DDR, so what use is a L3 cache. 13:45:00 my desktop has 6 MB L3 it seems. That is a Core i7 Sandy Bridge. It seems to be internal to the processor. 13:45:52 Core 2 doesn't do L3, Nehalem does. 13:46:02 wait what, it lists L3 cache in two places? Once as 8 MB and once as 6 MB. Lol lshw 13:46:30 I'll check what the intel cpu finder thingy has to say about it 13:46:32 brb 13:47:24 Maybe lshw trusts DMI info. 13:47:32 Usually an extremely bad idea. 13:47:47 possibly, it is mostly "To be filled by O.E.M." 13:48:01 my laptop has accurate DMI info mostly 13:49:16 well, intel claims 8 MB 13:51:04 -!- pikhq_ has joined. 13:51:23 -!- pikhq has quit (Ping timeout: 258 seconds). 13:54:32 In fact, the info amount and structuring of lshw is quite impressive. 13:55:42 In (at least) Sandy Bridge processors, it's not L2 cache, it's "Intel® Smart Cache". (That's how it's listed in ark.intel.com/ tech-specs listings.) 13:56:37 http://www.intel.com/content/www/us/en/architecture-and-technology/intel-smart-cache.html -- wow, that's so Warriors of the Net -esque. 13:56:50 -!- sebbu2 has changed nick to sebbu. 13:57:23 Does anyone actually pronounce it "cash"? 13:58:07 doesn't everyone? 13:58:17 I say cash-ey. 13:58:28 twice11, indeed 13:58:38 * twice11 says "cash", too 13:58:47 hmm, I've never heard cash-ey 13:58:49 elliott: Nobody pronounces it like that 13:58:54 I do! 13:58:55 fizzie, "warriors of the net"? 13:58:59 acache indians 13:59:01 It SOUNDS RIGHT. 13:59:05 Old joke: "Your parity check is overdrawn and you are out of cash" 13:59:06 Vorpal: http://www.warriorsofthe.net/ 13:59:28 "Did you ever wonder how the Internet works? How does a router look like? What color does a IP packet have? How does a IP packet travel through firewall. All the answers and many more can be found in the Warriors of the net move." 13:59:29 fizzie, sadly that (and the intel thing) both require flash. Oh well 13:59:42 Deewiant: Anyway ansi-terminal doesn't do input?? Hmph at you, hmph 14:00:06 Vorpal: The latter seems to work just fine with elinks. 14:00:54 (There's even a non-youtube download link to SUnet.) 14:01:40 elliott: I guess you mean noecho and nodelay and nocbreak and getch? Yeah, I don't think anything non-curses on Hackage does that 14:01:52 Deewiant: Well, libedit/readline/haskeline &co. 14:01:57 oh right, it is youtube indeed 14:02:03 Deewiant: But that's a very specific usecase :-P 14:02:13 I can't use curses at all, sigh, it's just impossible 14:02:14 Just go download -> non-youtube link if you don't want flash. 14:02:42 elliott: Hmm, can you mix e.g. haskeline with ansi-terminal? 14:02:44 The Intel thing is very probably flash-only though. 14:03:22 Deewiant: ansi-terminal just does output colouration pretty much, so... yeah? It's just printf on steroids. Dunno about Windows. Don't care about Windows. 14:03:57 fizzie, youtube-dl seemed to work 14:04:03 elliott: If you don't care about Windows you can implement everything using only putStr and ECMA-48 :-P 14:04:06 not for intel of course 14:04:09 didn't even try that 14:04:20 Deewiant: Except raw input 14:04:25 fizzie, anyway how does "smart cache" differ from L2? 14:04:28 Deewiant: Wanna write my ioctls for me? 14:04:32 on a technical level I mean 14:04:55 Vorpal: "smart cache" is dynamically shared between processor cores and integrated graphics. 14:05:01 ah 14:05:24 elliott: Not particularly, no; see CCBI's TERM implementation if you're doing similar things 14:05:31 Seriously though, why would you even make a library use the alternate screen with NO CHIOCE AT ALL. :/ 14:05:47 Deewiant: Yeah, that D code will help me use awful ioctls with hideous structs from Haskell 14:05:59 elliott, you can work around it by using only the terminfo interface of ncurses 14:06:00 elliott: I don't use ioctl 14:06:04 elliott, TERM in cfunge does that 14:06:06 Vorpal: How 14:06:07 Considering stuff like Turbo Boost, where you effectively disable cores, it makes sense to reuse the cache from that core for running cores. 14:06:08 Deewiant: What do you do then 14:06:18 elliott: What Vorpal's talking about 14:06:22 elliott, basically doing what tput(1) does 14:06:26 Right; go on 14:06:38 How do I put shit on the screen like that :P 14:06:40 elliott: man putp 14:06:53 elliott, check TERM.c from cfunge, I forgot the exact details 14:07:07 Deewiant: Uuugh this is ugly. 14:07:16 elliott: Yeah, it is 14:07:18 anyawy the coordination between NCRS and TERM is tricky 14:07:27 I recommend not loading both NCRS and TERM at the same time. 14:07:56 it *should* work for the cases I tested (as in, it doesn't crash), but the results might be somewhat hard to predict 14:08:04 Deewiant: And hscurses don't bind to it 14:08:08 elliott: char *go_xy = tigetstr("cup"); int x = 10, y = 20; putp(tparm(go_xy, y, x)); /* cursor is now at 10,20 */ 14:08:14 Deewiant: And hscurses don't bind to it 14:08:22 'Least, far as I can tell 14:08:23 elliott: And? 14:08:35 What, you want me to suffer through the FFI for the privilege of using such an awful API? 14:08:36 eh 14:08:39 how is it ugly 14:08:41 I hate my life. 14:08:44 elliott: It only uses basic types and pointers to opaque structs AFAICT 14:08:45 putp(cursor_down); 14:08:55 elliott: That much FFI is hardly suffering 14:08:57 I think cursor_down is defined in the header 14:09:04 Deewiant: FFI is always sufferin' 14:09:07 oh wait, it is a macro isn't it? 14:09:12 Plus 14:09:13 elliott: Your pain threshold is way lower than it should be 14:09:17 Vorpal demonstrates the FFI problem with ncurses 14:09:20 Everything is a fucking macro 14:09:34 elliott: Nothing you need is a macro 14:09:35 $ grep cursor_down /usr/include/term.h 14:09:35 #define cursor_down CUR Strings[11] 14:09:37 yeah 14:09:44 Deewiant: How about that 14:09:50 elliott, okay, this will be painful from anything except C and C++ 14:09:50 elliott: You don't need that 14:09:53 elliott: You use tigetstr 14:10:08 elliott, anyway, I know a way to work around this: Do a small C module that wraps this horrible macro API, then FFI to it 14:10:14 that might not be too painful 14:10:17 Deewiant: Are you sure this actually does input 14:10:41 I don't think the term.h interface does input. 14:10:49 not sure though 14:10:57 I like how you're both contradicting each other every line. 14:11:05 heh 14:11:11 elliott: I still don't know what you mean by "does input" 14:11:19 Deewiant, I presume he means stdin 14:11:21 elliott: getchar(3) 14:11:29 Deewiant: With raw console, duh 14:11:32 No buffering 14:11:34 set input unbuffered and do getchar()? 14:11:42 Vorpal: Now you have two problems! 14:11:42 hm 14:11:47 Tell me how to do the former; it will involve ioctl. 14:11:53 Deewiant just told me to use putp to avoid ioctl. 14:12:00 You need to turn off kernel buffering/basic line editing. 14:12:00 And so we come full circle. 14:12:06 elliott, no I think it involves setvbuf() 14:12:13 twice11: Right, that's just a hideous pain from anything but C :) 14:12:26 Just turning off userspace buffering like setvbuf() doesn't help. 14:12:30 oh okay 14:12:35 elliott: I said "if you're doing similar things", I can't even remember what things TERM has :-P 14:12:57 TERM has CDGHLSU 14:13:00 s/ / / 14:13:11 (not helpful I know) 14:13:13 The original idea was that in stuff like telnet, the telnet client does the whole line editing, and only complete lines get sent over the network. 14:13:32 Is enter_ca_mode sufficient, I wonder 14:13:49 Deewiant, doesn't that do the crazy alt-screen thingy? 14:13:57 twice11: I wish that was actually done so I could get a benefit from all this awfulness 14:14:02 ssh line editing lag regularly annoys me 14:14:06 Vorpal: It's the "do this before doing anything else" 14:14:19 Deewiant, does ccbi TERM do that? 14:14:23 Vorpal: Yes 14:14:31 elliott: telnet does that as long as the program invoked does not turn off kernel line editing/buffering. 14:14:40 You could tunnel telnet over ssh. 14:14:48 oh right, so does cfunge with some defines. 14:14:52 -!- Jafet has quit (Quit: Leaving.). 14:14:56 twice11: Hmm, right, I've never used telnet for actual shells 14:14:57 But don't expect tab completion or history or any other fancy stuff to work. 14:15:00 the problem is, that does the alternate screen that fucks with scrollbars 14:15:12 and it works without that 14:15:12 Messes with more than just scrollbars 14:15:14 yes 14:15:24 It's fine for screen-oriented UIs 14:15:25 anyway: 14:15:28 But my program is streaming, line-based 14:15:28 #ifdef TERM_CAP_CORRECT 14:15:28 putp(enter_ca_mode); 14:15:28 atexit(finalise); 14:15:28 #endif 14:15:46 which is usually done 14:15:52 You have an option for buggy termcaps or something? :-P 14:16:05 In a line-based program, don't enter alt-screen mode. Easy ;) 14:16:11 Deewiant, it is #defined at the top of the file, so changing it requires patching TERM.c 14:16:42 Deewiant, I think I experimented with and without that though. And it worked fine without it in all tests. I did settle for having it on though, just in case... 14:16:49 If a library forces you to enter alt-screen mode, fix the library. 14:17:20 twice11, problem is, you are supposed to use that before any cursor moving magic iirc. According to the documentation 14:18:09 The idea was that you don't need cursor moving magic in a line-based program. 14:18:28 iirc elliott is doing a progress bar or something 14:18:33 And that's why wget goes into alternate screen mode to draw a progress bar 14:18:38 At the point where you implement your own readline with sensible wrapping, the idea breaks down... 14:18:53 huh, wget does that? Are you sure? 14:18:54 elliott, it does? Why doesn't it mess up with the scrollbar then? 14:18:55 It's more than just progress bars here, I update status indicttors too 14:18:57 twice11: Sarcasm :) 14:19:22 Was just giving an example of a line-based program that obviously needs cursor magic 14:19:45 backspace is enough for updating scrollbars. 14:20:04 And backspace is not considered "cursor movement". 14:20:13 twice11, progress bars you mean 14:20:21 Vorpal: Yes. 14:20:26 twice11: there's more at work here 14:20:31 I have multiple progress bars on different lines 14:20:40 and like I said, also have to update status indicators in various lines 14:20:56 In this case, it is no longer plain line based... Hybrid concepts are not supported. Too bad. 14:21:20 twice11: Well, I'm not going to give up when the fix is "only" an ioctl away... 14:21:37 Nothing actually breaks when you use cursor codes before that anyway. 14:21:54 On most terminals I can imagine, doing what you want to do without alt screen mode works. 14:22:16 elliott, wait, isn't the ioctl for input you said? Rather than output? 14:22:19 Yep, just means I can't benefit from things like ncurses which force me into alt-screen mode 14:22:27 Vorpal: Yes, I just mean that if I need to roll my own escapes, I need ioctl for input 14:22:30 As opposed to using curses 14:22:36 the joys of telnet. 14:22:37 ah 14:22:37 -!- Ngevd has joined. 14:23:13 ncurses must be usable in non-alt-screen mode too. 14:23:21 Hello 14:23:33 elliott, what happens if you have more progress bar than the height of the terminal? I have seen programs like powertop fuck up when output didn't fit on the screen 14:23:35 AFAIK, GNU readline is based on ncurses. And readline does not enforce alt-screen. 14:23:41 not sure if they fixed that in more recent versions 14:23:44 it is possible 14:23:51 twice11: Well, the standard API definitely does it. 14:24:06 I'm almost positive that telnet can ask terminal dimensions. 14:24:18 I'm almost positive you have no idea what we're talking about. 14:24:23 that too. 14:24:27 Vorpal: Pretty sure you can cursor-up beyond the displayed terminal height 14:24:31 other than you're talking about telnet and terminal dimensions 14:24:33 elliott, hm 14:24:34 Don't look at me, I just got here 14:24:36 It's really a very big terminal, just with limited viewport 14:24:37 CakeProphet: Not telnet 14:24:44 ah, okay. well then nevermind. :) 14:26:00 -!- sllide has joined. 14:29:05 elliott, which ioctl is it 14:29:19 SCSCTATTR or some nonsense like that. 14:29:23 (I just typed random chars that look right.) 14:29:26 ICOSAGET. Something. 14:29:31 It's an awful bugger. 14:29:41 which man page? 14:29:45 termios stuff. 14:29:53 http://en.wikibooks.org/wiki/Serial_Programming/termios 14:30:03 Has some "lovely" examples. 14:30:10 Hmm, OK that's not a ioctl, but there's an ioctl underneath it. 14:30:14 Isn't termios deprecated? 14:31:15 CONFORMING TO 14:31:15 tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(), tcflush(), tcflow(), cfgetispeed(), cfgetospeed(), cfsetispeed(), and cfsetospeed() are specified 14:31:15 in POSIX.1-2001. 14:31:16 cfmakeraw() and cfsetspeed() are nonstandard, but available on the BSDs. 14:31:19 well, maybe? 14:35:02 temios-like: TCGETS/TCSETS{,F,W}; termio-like: TCGETA/TCSETA{F,W} 14:35:19 I forget which is newer. 14:35:49 TCSETS == TCSANOW, TCSETSF == TCSADRAIN, TCSETSF = TCSAFLUSH 14:35:57 elliott: It's SysV/BSD, not old/new. 14:37:41 Other people claim termios is standard, termio is BSD. 14:38:16 BSD user, by any chance? :-) 14:38:38 "The termio interface is now obsolete: POSIX.1-1990 standardized a modified version of this interface, under the name termios." 14:38:42 says man termio here 14:39:20 Right. 14:40:08 but I would guess twice11 is a BSD user from that 14:40:12 Hmm, /can/ you go above the terminal size with cursor movement? 14:40:18 I suppose it's easy enough to avoid. 14:40:24 try it and see? 14:40:24 But it makes scrolling up ... ugly. 14:40:27 Vorpal: Lazy. 14:40:33 with a few different terminals I guess 14:40:42 No, Linux only. 14:41:07 But sometimes remembering things incorrectly. 14:41:48 [elliott@dinky ~]$ tput cols | cat -v 14:41:48 168 14:41:48 Disturbing. :/ 14:41:53 Reveal your secrets!!! 14:42:12 strace? 14:42:29 it might just look at $COLUMNS :P 14:42:35 which iirc the shell sets 14:42:45 Wow, $COLUMNS actually gets set. 14:42:52 -!- tiffany has joined. 14:42:59 elliott, remember that the user might resize the terminal window while your program is running 14:42:59 How to install strace: 14:43:02 Targets (43): strace-4.6-1 ncurses-5.9-2 readline-6.2.001-3 bash-4.2.010-2 gawk-4.0.0-2 m4-1.4.16-2 autoconf-2.68-2 automake-1.11.1-3 bison-2.5-2 14:43:02 findutils-4.4.2-4 sed-4.2.1-4 ca-certificates-20111025-2 curl-7.22.0-4 db-5.2.36-2 dialog-1.1_20111020-1 expat-2.0.1-7 flex-2.5.35-5 gdbm-1.8.3-9 14:43:02 gettext-0.18.1.1-4 grep-2.9-2 gzip-1.4-4 libldap-2.4.26-5 krb5-1.9.2-1 less-444-2 lib32-libpciaccess-0.12.1-3 libcap-2.22-2 libpcap-1.1.1-4 14:43:02 libpipeline-1.2.0-2 libusb-1.0.8-2 linux-firmware-20111101-1 nano-2.2.6-2 patch-2.6.1-3 pciutils-3.1.8-1 popt-1.16-4 pkg-config-0.26-2 14:43:04 sqlite3-3.7.9-1 talloc-2.0.7-1 tar-1.26-2 texinfo-4.13a-6 thunar-1.2.3-2 vi-1:050325-2 which-2.20-5 wpa_supplicant-0.7.3-4 14:43:12 elliott, doubtful your own COLUMNS would be upgraded then 14:43:13 elliott, what? 14:43:18 Vorpal: Yeah, I'll have to roll my own. 14:43:49 elliott, here strace only depends on perl. Guess that could pull in a lot. 14:44:01 elliott, are you still on arch? That vi version number looks debianish 14:44:03 -!- sebbu2 has joined. 14:44:03 -!- sebbu2 has quit (Changing host). 14:44:03 -!- sebbu2 has joined. 14:44:13 strace doesn't depend on all that 14:44:23 oh it is that on arch 14:44:24 hm 14:44:32 Vorpal: Those are what vi version numbers look like 14:44:45 elliott, did you do pacman -Su strace or something? 14:44:56 -Syu 14:45:04 well okay that will do system upgrades too 14:45:06 Beats remembering to upgrade the system regularly 14:45:07 I.e. "update whole system, oh and install strace" 14:45:12 Deewiant: Yep 14:45:17 elliott, pacman -S strace will probably just show strace :P 14:45:19 Deewiant: It's either that or avoid synchronising 14:45:21 So not reallywquite "how to install strace" 14:45:25 Or I might get inconsistent packages 14:45:31 + ctrl 14:45:31 So -Syu all the time it is 14:45:40 -!- sebbu has quit (Ping timeout: 256 seconds). 14:46:06 Vorpal: Guess what tput uses (it's ioctl) 14:46:30 elliott, it might use termios, but if termios is done in glibc it would likely map to ioctl 14:46:38 remember, strace shows ioctls, not library calls 14:46:41 err system calls 14:46:58 Vorpal: Oh, termios lets you do that? 14:47:14 nm -D /bin/tput 14:47:16 no ioctl 14:47:20 lots of termios stuff 14:47:43 OK, now I must face my true problem: termios is butt-ugly. 14:47:52 wait, is that ncurses stuff rather 14:47:53 it might be 14:48:12 elliott, yes it is term.h stuff 14:48:16 not termios 14:48:23 God dammit term.h 14:48:27 All roads lead to you 14:48:37 elliott, but that still doesn't deal with the input issue at all 14:48:42 I suspect you need termios for that 14:48:48 Sure, but I don't want to use term.h 14:48:50 'S ugly 14:48:53 Let's get raw, raw, raw 14:48:55 -!- sebbu3 has joined. 14:48:55 -!- sebbu3 has quit (Changing host). 14:48:55 -!- sebbu3 has joined. 14:48:56 certainly 14:48:56 termios is about as raw as it gets 14:49:22 tcgetattr/cfmakeraw/tcsetattr is the usual way to get raw input. 14:49:23 elliott, term.h provides you will a way to look up the control codes. And yes ncurses headers suck. 14:49:32 The first and third call ends up in an ioctl. 14:49:39 The tigetflag, tigetnum and tigetstr routines return the value of the capability corresponding to the terminfo capname passed to them, such as xenl. 14:49:39 What I don't understand is, how can "cols" be a capability, like this and man tput imply? 14:49:44 twice11, cfmakeraw is a deprecated BSD only thingy 14:49:47 as far as I can tell 14:49:47 It sounds like they're static configuration values from the terminfo database. 14:49:54 But obviously columns change. 14:50:09 yes, beats me how it handles that 14:50:12 you can ask for cols through an ioctl. 14:50:19 But not all terminals support that. 14:50:22 wait, isn't there a signal for resized terminal? 14:50:25 that some terminals do 14:50:26 I mean terminal driver. 14:50:27 but not all 14:50:30 SIGWINCH 14:51:03 twice11: Linux console/xterm/rxvt/gnome-terminal is pretty much all I care about, honestly. 14:51:03 SIGWICH mmmmmmm 14:51:15 I seem to remember some terminal emulator that let me set if I wanted to use SIGWINCH or something else 14:51:23 might have been konsole 14:51:24 not sure 14:51:57 is it bad that the primary reason I decided not to use KDE is that I dislike the names of all its default software? 14:52:03 Yes 14:52:08 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 14:52:30 the sole reason for me is that KDE 4 is horrible. 14:52:37 the starts-with-a-K naming scheme just makes me... kringe. 14:52:54 But isn't that kool? 14:52:56 gnome has quite a few things starting with g iirc 14:53:02 -!- sebbu2 has quit (Ping timeout: 256 seconds). 14:53:36 Nothing starts with g nowadays :P 14:53:45 maybe 14:53:57 elliott, a few of the games iirc? 14:53:57 yes but usually it just kind of is attached to the front of the name rather than incorporated into the first word. 14:54:00 which is somehow better? 14:54:19 Vorpal: AisleRiot, Quadrapassel, ... 14:54:31 gweled 14:54:56 I have gbrainy in games. 14:54:59 *Games 14:54:59 Vorpal: Very unofficial from the looks of it 14:55:03 elliott, hm 14:55:04 Not GNOME at all 14:55:13 CakeProphet: That's the only example I can think of 14:55:43 gedit 14:55:46 I can think of -- yes 14:55:47 (not a game) 14:55:51 you beat me. :P 14:55:56 gedit is a perfectly acceptable name. 14:56:09 I base this on arbitrary aesthetic values. 14:56:10 gconf-editor 14:56:21 g is a helpful indicator here. 14:56:29 and shorter than gnome-conf-editor 14:57:11 gnome-panel, that doesn't just start with g, it starts with a whole "gnome" 14:57:21 gconf-editor 14:57:23 please :P 14:57:24 if most of the applications in Gnome started with a big capital G as the first word of the name. 14:57:27 elliott, what? 14:57:29 I would also feel the same way about gnome. 14:57:41 also, gnome-panel is actually just Panel I think 14:57:47 gnome-panel is just the executable 14:57:47 s/word/letter/ 14:58:16 /usr/bin/gnome-sudoku hm 15:00:26 what about gphoto2 15:00:29 isn't that gnome? 15:00:32 so if Nautilus were called Galaxy, the image viewer were called Gorgeous, Trash was instead Garbage, and there was a music player called Gain. 15:00:40 or hm maybe not 15:00:44 CakeProphet: coooooool 15:00:52 elliott: I agree. 15:01:57 they should have a Ukubuntu where "Trash" is called "Rubbish" 15:02:03 that is the only change. 15:02:29 CakeProphet: it's called the Rubbish Bin in UK locales 15:02:35 gnome has many localisations, you know 15:02:44 elliott, anyway for portable escape codes to the terminal: term.h. For unbuffered input: termios or possibly some ioctls, not sure how portable the latter would be 15:02:46 -!- MSleep has changed nick to MDude. 15:02:50 (between different terminals I mean) 15:03:00 Vorpal: "portable", do you even believe yourself. show me a terminal that can't do vt100 15:03:09 elliott: oh really? those craft gnomes. 15:03:14 *crafty 15:03:21 elliott, sec 15:03:32 Vorpal: That works with modern linux and is a progra 15:03:32 m 15:03:43 elliott, oh. I was about to say VT62 :P 15:03:44 elliott: can microsoft run do vt100? 15:04:00 run do? 15:04:01 *run.exe or whatever 15:04:05 cmd.exe? 15:04:08 er 15:04:08 yes 15:04:12 unlikely 15:04:25 * CakeProphet <-- Wundoes Youser 15:05:00 ? 15:05:32 elliott, anyway I seen someone do terminal on matrix printer with linux 2.6.something 15:05:32 I will let you puzzle it out on your own 15:05:36 it is still supported 15:05:44 elliott, not a sane setup though :P 15:05:47 Not a terminal :P 15:06:06 I forgot what the input was 15:06:21 can Cygwin do vt100? I recall seeing vt100-like things in it before. 15:06:25 but it runs through cmd.exe 15:06:33 elliott, I used serial console myself a few times on modern linux. 15:06:48 you're not a person; anyway does that even count as a tty 15:06:51 what does isatty think 15:07:02 for serial console? No idea 15:07:24 i bet it thinks no 15:07:31 in which case the package manager will use paper trail output 15:07:34 rather than interactive output 15:08:14 elliott, right. A more reasonable question would: what about GUI package managers wrapping your package manager. How will you support that (if at all) 15:08:26 I guess there is packagekit, doubt that would fit you 15:08:29 that's what libraries are for 15:08:35 fair enough 15:08:48 libraries are for books not packages. 15:08:50 paper trail output isn't gonna print a dot for every minuscule bit of progress :P 15:09:06 -!- Phantom_Hoover has joined. 15:09:32 elliott, is this for download or for installation too? 15:09:48 it's for... package management 15:10:16 elliott, yes but surely not all bits of package management needs a progress bar. 15:10:23 only those that take some time 15:10:25 yeah that's totally a thing i implied 15:10:32 you're being perfectly reasonable by stating this as if it's somehow cogent 15:10:45 I'm glad you feel that 15:11:10 so I guess you plan to use it for more than just download, such as compilation and installation? 15:11:39 no, by package manager all this time i've actually meant wget 15:13:10 wget is the great for Porkege Ménagement 15:14:15 -!- Ngevd has quit (Quit: Leaving). 15:25:22 elliott: happy day-in-which-King-James-1-is-still-alive day. 15:25:29 I wonder where we would be without him. 15:33:34 -!- sebbu3 has changed nick to sebbu. 15:35:19 -!- Darth_Cliche has joined. 15:43:21 def ioctl_GWINSZ(fd): 15:43:21 try: 15:43:22 import fcntl, termios, struct, os 15:43:22 cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, 15:43:22 '1234')) 15:43:22 except: 15:43:24 return None 15:43:26 return cr 15:43:28 Vorpal: OH GOODY 15:45:58 Kind of tempting just to shell out to tput 15:46:18 -!- pikhq has joined. 15:46:23 Unless you can do that with the portable termios api 15:46:25 i.e. not ioctl 15:46:27 -!- pikhq_ has quit (Ping timeout: 252 seconds). 15:46:53 hi pikhq 15:47:56 -!- Nisstyre has quit (Ping timeout: 260 seconds). 16:00:01 -!- monqy has joined. 16:06:16 wait 16:06:21 fcntl.ioctl? 16:06:22 what? 16:06:36 fcntl == module name, ioctl == function name. 16:06:36 oh wait, that is python 16:06:37 right 16:06:40 *phew* 16:06:52 thought it was some weird C with function pointers in structs first 16:49:01 -!- quintopia has quit (Ping timeout: 244 seconds). 16:53:19 -!- shareholder has joined. 16:53:25 Why would you ever have a function pointer anywhere other than a struct? 16:53:27 }:P 16:54:26 tswett, in qsort() parameter list for example 16:55:13 cfunge puts them in dynamically allocated arrays acting as stacks iirc. 16:55:44 What are qsort's parameters? 16:56:00 check qsort(3) 17:00:59 -!- quintopia has joined. 17:01:00 -!- quintopia has quit (Changing host). 17:01:00 -!- quintopia has joined. 17:17:53 -!- shareholder has left ("Quitting"). 17:56:35 -!- Nisstyre has joined. 18:06:46 -!- derrik has joined. 18:07:16 -!- Ngevd has joined. 18:10:51 -!- oerjan has joined. 18:11:04 BEFUNGE 93 WITH NUMBERED MACROS 18:11:10 hi 18:11:17 o/ hi 18:11:19 Hello 18:11:22 ho 18:11:35 var "friendship ho" 18:11:36 oerjan: this isn't #esoteric-minecraft 18:11:41 > var "friendship ho" 18:11:42 friendship ho 18:11:53 Ngevd: wat 18:11:58 hi ho 18:12:03 Disney's Snow White 18:12:08 Dwarfs who do mining 18:12:10 implying dwarves 18:12:10 Minecraft 18:12:12 implying... 18:12:18 dwarf fortr--wait what? 18:12:23 oh okay. 18:12:30 sure. 18:12:51 I think so Ngevd, but where are we going to find 500 unicycles? 18:13:02 Well, I have one 18:13:07 And a dinner to eat 18:13:12 -!- Ngevd has quit (Quit: CURRY TIEM). 18:13:30 oerjan: just find 250 bicycles and cut them in half. 18:13:50 brilliant! 18:17:22 elliott: happy day-in-which-King-James-1-is-still-alive day. 18:17:28 OMG ZOMBIE KING 18:24:44 -!- Ngevd has joined. 18:24:47 Hello 18:25:10 you eat fast 18:25:18 It was a madras 18:25:27 And I'm not a big eater 18:26:43 what does your size have to do with anything? 18:26:49 :> 18:26:53 * elliott small eter 18:26:57 im cat 18:29:17 s/cat/land fish/ 18:31:06 now lessee, if a cat loves to eat sea kittens... 18:31:44 speaking of that conversation, I am eating honey right now. 18:31:48 best vomit ever. 18:34:12 i did it guys 18:34:12 i foudn 18:34:15 the worst subreddit 18:34:17 http://www.reddit.com/r/aaaaaatheismmmmmmmmmm 18:34:21 it's f7u12 18:34:25 ...for /r/atheism 18:34:42 monqy: rejoice with me 18:35:27 :( 18:36:35 monqy: http://i.imgur.com/VF98o.png 18:36:45 this is stellar. 18:37:08 monqy: classic vintage rage comics; http://www.reddit.com/r/classicrage 18:37:34 Satan's in the Philippines 18:37:56 Ngevd: do you like dst 18:38:07 elliott: I'm not entirely sure I'm making the connection between that picture and stars. 18:38:17 It has its upsides 18:38:23 dst is all bad 18:38:26 Ngevd: no. no no no. bad. 18:38:28 there is nothing good about it 18:38:30 bad opinions 18:38:40 CakeProphet: what 18:38:50 13:36 < elliott> this is stellar. 18:38:57 oh. 18:39:15 :3 :> etc 18:41:30 monqy: http://i.imgur.com/7tEqu.jpg 18:41:32 The Commonwealth of England had a stupid flag 18:41:39 these are the worst things ever made by humanity 18:41:45 in fact if we showed this to aliens who came down and were like 18:41:47 justify your species 18:41:50 we'd be so fucked 18:42:29 "what IS this PRAYER..no BURNS! no! burn!" 18:42:32 --fungot 18:42:32 elliott: young john soon afterward receives as a visitor a fnord spaniard, fnord de moncada, who has escaped from fnord fnord dissolved in the absolute. 18:42:38 `addquote elliott: young john soon afterward receives as a visitor a fnord spaniard, fnord de moncada, who has escaped from fnord fnord dissolved in the absolute. 18:42:40 elliott: most horrible of all sights are the little unpainted wooden houses remote from travelled ways, usually squatted upon some damp grassy slope or leaning against some gigantic outcropping of rock. i looked at him i saw that my searching would have to cross the blighted, fnord woods alone to his home on the great horse, and his face and accept his alternate blows and fnord who seeks a proud and fnord, and fnord the actual 18:42:41 709) elliott: young john soon afterward receives as a visitor a fnord spaniard, fnord de moncada, who has escaped from fnord fnord dissolved in the absolute. 18:43:10 ^style 18:43:10 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc jargon lovecraft* nethack pa sms speeches ss wp youtube 18:43:24 wow these reddits images 18:43:28 wow this reddits 18:43:33 -!- zzo38 has joined. 18:43:37 who would do this 18:43:48 http://i.imgur.com/BEaH0.png 18:43:57 the world is so beautiful 18:44:17 the part of my brain that should turn to pure blackened hatred when i see things like this 18:44:22 got spontaneously reconfigured at some point 18:44:32 so it just makes me think of how beautiful life is instead, it's great 18:44:46 maybe i should like read freerepublic daily to keep my happies up 18:45:36 monqy: http://i.imgur.com/b83hr.png 18:45:39 monqy: it's... 18:45:40 i 18:46:31 ;_; 18:48:57 i wish i had this....reconfigured brai.nnnnn 18:49:36 monqy: the key is i think 18:49:39 maybe i am reacting inappropriately as well, but not in such a pleasant manner.... 18:49:44 extreme extrospection (totally a word) whenever you meet anything like this 18:50:06 i just lean back and look at the world and also humanity and i'm like ha ha ha ha hahahahaha 18:50:13 oooh new iwc annotation 18:50:36 It's about ATOMS 18:50:41 i guess im hahahaha too but i don't know how to describe it....im bad at feelings.... 18:51:17 oerjan: how do you even like dmm, he's so happy and upbeat. 18:51:32 is oerjan emo 18:51:32 13:43 < elliott> got spontaneously reconfigured at some point 18:51:37 puberty? 18:51:38 elliott, he's like me 18:51:41 monqy: yes "emoerjan" 18:51:47 Ngevd: are you emo as well 18:51:51 No 18:51:53 I am anti-emo 18:52:00 ngemovd 18:52:00 ok 18:52:02 * CakeProphet is emo. -_;; 18:52:07 One person showed up to my birthday party 18:52:14 And I was all like "who cares?" 18:52:23 "There's a universe to explore!" 18:52:29 "Also, more cake for me!" 18:52:46 http://www.youtube.com/watch?v=EJ51kW684FM 18:52:46 -!- sebbu has quit (Read error: Connection reset by peer). 18:52:54 wrong channel 18:52:56 but whatever 18:52:57 "dephlogisticated air" :D 18:53:26 I love that theory 18:58:28 -!- elliott has quit (Remote host closed the connection). 18:59:09 -!- sebbu has joined. 18:59:09 -!- sebbu has quit (Changing host). 18:59:09 -!- sebbu has joined. 19:04:26 oerjan: Actually, there is the Gregorian calendar based which is what the heading says and is likely what the author intended, but literally following the instructions in Principia Discordia for the calendar results in it based on the Julian calendar so that on 2100 AD (3266 YOLD) it will diverge, being 1 Chaos 3267 on Jan2, 2101 19:09:17 oerjan: how do you even like dmm, he's so happy and upbeat. <-- funny you should say that, i found the previous (first new style) annotation somewhat grating that way, i didn't even read all of it. have just opened the new one, we'll see. 19:26:52 wowflowrs! ! 1 nobdy 0sksi a go 19:27:00 elliott's cryptic final transmission. 19:27:27 I am anti-emo 19:27:41 I'm mismisanthropicic, can we fight crime? 19:28:06 If I collide with an emo, we annihilate each-other in a burst of energy 19:28:32 i don't see how you could possibly get energy from an emo. 19:28:51 Okay, a burst of energy and anti-energy 19:28:57 Which then collide and form matter 19:30:15 And that's all that matters 19:30:25 And Phantom_Hoover, yes. We can fight crime. 19:30:30 Meet you in Glasgow? 19:30:49 No you can't fight crime in Glasgow. 19:31:13 It's like trying to get rid of the space-time continuum. 19:31:26 Hmm... 19:31:31 Meet you in Newcastle? 19:31:49 Which one? 19:32:00 Upon Tyne 19:33:17 Or New South Wales, your call 19:33:33 (I was replying to oerjan's message at UNIX timestamp 1320562665) 19:35:35 so many limeys. 19:35:48 That's a thought 19:35:54 We could go Under Lyme? 19:37:14 -!- GreaseMonkey has joined. 19:38:06 Hello, GreaseMonkey 19:38:12 'lo 19:58:35 -!- oerjan has quit (Quit: Good night). 20:07:13 -!- sllide has quit (Read error: Connection reset by peer). 20:17:11 -!- Zuu has quit (Read error: Connection reset by peer). 20:19:04 -!- Zuu has joined. 20:25:50 -!- edne has joined. 20:27:07 -!- edne has left. 20:37:00 -!- Ngevd has quit (Ping timeout: 256 seconds). 20:38:33 -!- Ngevd has joined. 20:39:49 -!- ais523 has joined. 21:02:01 headline just seen on the news: [CG :88 21:02:10 I assume it's a typo, rather than some sort of complex smiley 21:02:27 CG would be Karkat... 21:02:29 Hmmm 21:26:13 -!- edne has joined. 21:27:35 -!- edne has left. 21:51:58 -!- Ngevd has quit (Quit: Leaving). 21:53:17 I have an idea for a telephone service, where it is a free feature you can enable and allows the A,B,C,D tones to access several extra commands such as diagnostics, disable call waiting, disable call display, disable toll calls, switch call display protocol, impose time limits, enter red box mode, prevent recipient from using ANI (separately from call display), 21:54:29 disable voice mail, reverse polarity, cut the line for a duration of time, select ground start protocol, disable tone dialing, disable pulse dialing, select a call display mode that tells you whether the last digit to call you was dialed using pulse or tone, etc. 21:55:00 Act 6 is going to be amazing. 21:55:25 I don't know if anyone can do that. 21:56:42 zzo38: Some phone operators provide a number which allows you to change your features by calling it 21:57:15 zzo38: a little bit like USSD? 21:57:37 By the way, otoko no ko 21:58:16 coppro: OK, but probably not everything I have mentioned. One idea is to have that when receiving diagnostics information, A announces by voice and C for computer receiving data. 21:58:20 tswett: What is USSD? 21:58:30 -!- Ngevd has joined. 21:58:53 O, I found it in Wikipedia 21:59:00 zzo38: that's a thing where you punch in a series of symbols, like a phone number except with pounds and stars, and it does something. 21:59:10 Such as diagnostics or reversing the polarity. 21:59:32 can it bounce the graviton particle beam off the main deflector dish? 21:59:48 coppro: yes, but nobody knows the code for that. 22:00:20 I have an idea for a telephone service, where it is a free feature you can enable and allows the A,B,C,D [...] <-- why? 22:00:32 isn't out of band metadata better than in-band? 22:01:15 The software that processes these codes is more complicated than all of Ubuntu and OS X combined, and we've also lost the source code. 22:01:56 Vorpal: The reason for in band is to use standard telephones and modems to access it without requring any connection other than standard telephone lines. 22:02:29 tswett, ubuntu can't be terribly complicated. Just look at how trivial a clean install of windows 7 is. And Ubuntu has a way smaller install size than that! (Nevermind that there are so many more features in the latter, probably just a statistical fluke) 22:03:56 zzo38, isn't land line dying anyway, compared to voip 22:04:19 I still use landline service. 22:04:21 I still have a landline because I have ADSL, but most people I know with cable or fibre have switched to voip 22:05:00 Vorpal: well, I meant "Ubuntu and all packages available for it in the official repositories". 22:05:04 tswett, ah 22:05:12 tswett, yeah that is /quite/ a bit more then 22:05:28 Landline service does not require a computer, and the protocol is sufficiently simple that you can build your own telephone with a few spare parts (as long as pulse dialing is not disabled) 22:05:36 tswett, sigh, if only there was a distro with a repo as extensive as ubuntu but rolling release.... 22:06:15 Rollbuntu 22:06:17 arch has two major issues for me: multilib support is crappy. No split debug info. Still. There is work being done on the latter though. 22:06:48 What's wrong with the multilib support 22:06:49 and of course debian's package building system is a mess 22:07:55 Deewiant, badly incomplete 22:08:06 How so 22:08:36 missing headers for 32-bit, few libraries. I mean there was no OpenMPI library for 32-bit last I checked 22:08:40 and so on 22:08:55 the 32-bit libraries that exist are there to support a few packages, like zsnes and so on 22:09:10 but apart from those required by the binary 32-bit packages in the repo: not much 22:09:44 Fair enough; personally I've yet to need anything that wasn't in the repo 22:10:32 Deewiant, oh and if you use arch: valgrind fucks up on cfunge atm. I think it is a missing suppression for gmtime() or some internal function it uses. 22:10:42 in the latest glibc that is 22:10:50 there are no errors when running on ubuntu 22:11:01 (10.04 LTS) 22:11:11 (so a bit older glibc) 22:11:32 Do any of the BayHac2011 Haskell programs exist? 22:12:25 Deewiant, also the lack of debug info for glibc means I can't really track down the missing suppression... 22:12:58 -dbg packages work perfectly on ubuntu 22:18:25 -!- GreaseMonkey has quit (Quit: The Other Game). 22:21:51 -!- Ngevd has quit (Ping timeout: 260 seconds). 22:31:59 -!- sebbu has quit (Read error: Connection reset by peer). 22:32:25 -!- sebbu has joined. 22:32:26 -!- sebbu has quit (Changing host). 22:32:26 -!- sebbu has joined. 22:34:22 -!- MDude has quit (Ping timeout: 240 seconds). 22:35:46 Phantom_Hoover, do you happen to remember the name of that libc elliott was interested in? 22:35:57 No. 22:35:59 oh well 22:36:15 I think it started with m. Time for a very wide grep of the logs 22:36:21 musl? 22:36:28 ah thanks 22:36:30 that was it 22:43:28 hm based on http://www.etalabs.net/compare_libcs.html it still looks like eglibc is a better bet for most desktop systems. It is only worse than musl in a few cases, but has so much better support for lots of features. 22:44:02 still worth trying building against 23:06:28 Yeah, it's a very good libc, if still a work in progress. 23:07:12 pikhq, still, missing out on C99 math and so on. :/ 23:08:24 -!- hagb4rd has quit (Read error: Connection reset by peer). 23:11:38 Yeah, C99 math is hard to do well. 23:12:42 -!- variable has quit (Excess Flood). 23:15:08 * Phantom_Hoover → sleep 23:15:09 -!- Phantom_Hoover has quit (Quit: Leaving). 23:17:40 -!- variable has joined. 23:30:47 Yeah, C99 math is hard to do well. <-- oh? 23:34:45 -!- tiffany has changed nick to tiffnya. 23:34:53 -!- tiffnya has changed nick to tiffany. 23:40:11 -!- BlueProtoman has joined. 23:40:20 Can anyone here help me with my Brainfuck interpreter? I've got most of it down except for loops, which are not so much looped as they are ran once. http://codepad.org/eznPVPyy 23:43:09 Anyone? 23:43:45 * ais523 looks 23:44:37 you aren't assigning the result of jumpPosition.pop() to anything 23:45:52 Let's see, then. 23:47:05 pop() is void, though... 23:49:35 Any thoughts, ais523? 23:51:34 -!- ais523 has quit (Ping timeout: 240 seconds). 23:52:13 -!- ais523 has joined. 23:52:40 BlueProtoman, err: jumpPosition.push(ptr+1); 23:52:53 BlueProtoman, you should run the condition every time surely 23:53:08 you need to run the condition when you enter the loop anyway 23:53:17 which you don't seem to do 23:53:26 Run the condition? I don't get it, 23:53:35 BlueProtoman, A loop might run zero times. 23:53:37 Ah wait, you mean testing the stack for whether it's empty? 23:53:42 if the current cell if 0 23:53:45 it won't ever run 23:53:59 it will stop when at the start of an iteration the current cell is zero 23:54:12 so the loop logic is wrong 23:54:16 Vorpal: That's the point of the Brainfuck language isn't it? 23:54:21 Hm... 23:54:27 yes, but you don't seem to do that currently 23:54:46 you check if (*ptr) at the end of the loop 23:54:55 which means every loop will run at least once 23:55:44 BlueProtoman, you need code to scan forward to the matching ] without executing 23:55:55 since a loop can be executed zero times 23:56:17 I see...I can maybe throw another function in there for that. 23:56:35 So check for a ], then...hm... 23:56:38 personally I would parse it into a tree then exeute the tree. 23:56:42 This is tougher than I thought. 23:57:24 Tree? I think I'm lost now. I've only been studying C++ for a few months. 23:57:43 I never really been a fan of interpreting directly on the source (and before anyone points out I wrote several befunge implementations, let me point out that there is no other sensible way to implement it in that case!) 23:58:10 oh well, ask ais523. I'm not good at explaining. 23:58:55 and I'm about to go home 23:58:55 I wanna write a BF IDE that can both compile and interpret. 23:59:13 I'm getting it together bit by bit by bit. 23:59:42 Well, thanks anyway.