←2011-11-05 2011-11-06 2011-11-07→ ↑2011 ↑all
00:00:04 <elliott> although there is\
00:00:06 <elliott> ewarn(chown("/tmp/home/" WOLUSER_NAME, WOLUSER_UID, WOLUSER_GID));
00:00:07 <elliott> it's not a link
00:00:08 <elliott> 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 <zzo38> 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 <Phantom_Hoover> https://github.com/kragen/xcompose/blob/master/dotXCompose
00:50:49 <Phantom_Hoover> Ooh, a nice compose file.
00:51:39 -!- variable has joined.
00:51:51 <Phantom_Hoover> 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 <zzo38> Does the ddate program allow you to switch which kind of Discordian calendar you want?
01:05:57 <olsner> 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 <olsner> ... and his son's name is django
01:08:10 -!- edne has joined.
01:11:11 <zzo38> 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 <elliott> 00:50:44: <Phantom_Hoover> https://github.com/kragen/xcompose/blob/master/dotXCompose
01:14:57 <elliott> I decided that sucked, IIRC, although I forget why.
01:15:03 <elliott> 01:05:57: <olsner> 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 <elliott> 01:07:14: <olsner> ... and his son's name is django
01:15:09 <elliott> olsner: What is it with you and Django :P
01:15:13 <elliott> `quote olsner.*django
01:15:20 <HackEgo> 324) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something \ 379) <cpressey> `quote django <HackEgo> ​352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something <cpressey> thankfully only one \ 380) <monqy> `quote django <HackEgo> ​352)
01:15:27 <olsner> elliott: it's not my fault!
01:16:14 <zzo38> 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 <zzo38> "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 <zzo38> Who are these quotations?
01:20:12 <zzo38> 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 <Madoka-Kaname> `log "a", "b", "c", "aa"
01:48:44 <HackEgo> 2011-11-06.txt:01:48:20: <Madoka-Kaname> `log "a", "b", "c", "aa"
01:48:54 <Madoka-Kaname> :t replicateM
01:48:55 <lambdabot> forall (m :: * -> *) a. (Monad m) => Int -> m a -> m [a]
01:48:56 <Madoka-Kaname> :t permutations
01:48:57 <lambdabot> forall a. [a] -> [[a]]
01:49:40 <elliott> `log "0", "1", "01", "11"
01:49:52 <HackEgo> 2011-11-06.txt:01:49:40: <elliott> `log "0", "1", "01", "11"
01:50:03 <elliott> heh
01:51:06 <Madoka-Kaname> > (\l -> map (\i -> permutations $ replicateM i l) [1..]) "01"
01:51:06 <lambdabot> [[["0","1"],["1","0"]],[["00","01","10","11"],["01","00","10","11"],["10","...
01:51:27 <Madoka-Kaname> > (\l -> map (\i -> replicateM i l) [1..]) "01"
01:51:28 <lambdabot> [["0","1"],["00","01","10","11"],["000","001","010","011","100","101","110"...
01:51:44 <Madoka-Kaname> > (\l -> map (\i -> replicateM i l) [1..]) "abc"
01:51:45 <lambdabot> [["a","b","c"],["aa","ab","ac","ba","bb","bc","ca","cb","cc"],["aaa","aab",...
01:51:51 <Madoka-Kaname> > (\l -> bind (\i -> replicateM i l) [1..]) "abc"
01:51:52 <lambdabot> Not in scope: `bind'
01:52:04 <zzo38> 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 <Madoka-Kaname> @hoogle (a -> m b) -> m a -> mb
01:52:08 <lambdabot> Prelude (=<<) :: Monad m => (a -> m b) -> m a -> m b
01:52:08 <lambdabot> Control.Monad (=<<) :: Monad m => (a -> m b) -> m a -> m b
01:52:08 <lambdabot> Prelude (>>=) :: Monad m => m a -> (a -> m b) -> m b
01:52:18 <Madoka-Kaname> > (\l -> (\i -> replicateM i l =<<) [1..]) "abc"
01:52:19 <lambdabot> <no location info>: parse error on input `)'
01:52:21 <zzo38> 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 <Madoka-Kaname> > (\l -> (\i -> replicateM i l) =<< [1..]) "abc"
01:52:24 <lambdabot> ["a","b","c","aa","ab","ac","ba","bb","bc","ca","cb","cc","aaa","aab","aac"...
01:52:36 <Madoka-Kaname> @pl (\l -> (\i -> replicateM i l) =<< [1..])
01:52:36 <lambdabot> ([1..] >>=) . flip replicateM
01:52:58 <Madoka-Kaname> `log replicateM
01:53:03 <HackEgo> 2011-09-19.txt:03:09:44: <CakeProphet> :t replicateM
01:53:06 <Madoka-Kaname> `log replicateM
01:53:13 <HackEgo> 2011-08-26.txt:07:10:34: <CakeProphet> > join . join $ (`replicateM` words "son I am proud") =<< [3..]
01:53:27 <Madoka-Kaname> :t join
01:53:28 <lambdabot> forall (m :: * -> *) a. (Monad m) => m (m a) -> m a
01:53:38 <Madoka-Kaname> @hoogle (a -> m b) -> m a -> mb
01:53:38 <lambdabot> Prelude (=<<) :: Monad m => (a -> m b) -> m a -> m b
01:53:38 <lambdabot> Control.Monad (=<<) :: Monad m => (a -> m b) -> m a -> m b
01:53:39 <lambdabot> Prelude (>>=) :: Monad m => m a -> (a -> m b) -> m b
01:53:40 <Madoka-Kaname> Erm
01:53:41 <Madoka-Kaname> `log replicateM
01:53:46 <HackEgo> 2011-07-20.txt:05:11:36: <elliott> ?ty replicateM
01:53:50 <Madoka-Kaname> `log replicateM
01:53:55 <HackEgo> 2011-09-16.txt:07:58:51: <CakeProphet> > drop 6 $ replicateM 3 "012"
01:54:07 <elliott> > [1..] >>= replicateM
01:54:08 <lambdabot> Couldn't match expected type `[b]'
01:54:09 <lambdabot> against inferred type `m a -> m ...
01:54:14 <elliott> > [1..] >>= flip replicateM "abc"
01:54:16 <lambdabot> ["a","b","c","aa","ab","ac","ba","bb","bc","ca","cb","cc","aaa","aab","aac"...
01:54:18 <elliott> Madoka-Kaname: hth
01:54:23 <elliott> the problem in the `log query was the spaces
01:54:32 <elliott> also the use of "abc" as the alphabet, probably
01:54:40 <Madoka-Kaname> ^_^
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 <Madoka-Kaname> > filter (==2) (join . flatten [1..2])
02:35:13 <lambdabot> Couldn't match expected type `Data.Tree.Tree (m (m a))'
02:35:13 <lambdabot> against inf...
02:35:20 <Madoka-Kaname> > filter (==2) (join . cycle [1..3])
02:35:21 <lambdabot> No instances for (GHC.Num.Num (m a),
02:35:21 <lambdabot> GHC.Num.Num (m (m a...
02:35:35 <Madoka-Kaname> > filter (==2) (join $ cycle [1, 2])
02:35:36 <lambdabot> No instance for (GHC.Num.Num [a])
02:35:36 <lambdabot> arising from a use of `e_1212' at <int...
02:36:05 <Madoka-Kaname> > filter (==2) $ join $ cycle [1, 2]
02:36:06 <lambdabot> No instance for (GHC.Num.Num [a])
02:36:06 <lambdabot> arising from a use of `e_1212' at <int...
02:36:15 <Madoka-Kaname> > filter (==2) $ join $ join $ cycle [1, 2]
02:36:16 <lambdabot> No instance for (GHC.Num.Num [[a]])
02:36:16 <lambdabot> arising from a use of `e_1212' at <i...
02:36:21 <Madoka-Kaname> :t join
02:36:22 <lambdabot> forall (m :: * -> *) a. (Monad m) => m (m a) -> m a
02:36:30 <Madoka-Kaname> :t cycle [1, 2]
02:36:31 <lambdabot> forall t. (Num t) => [t]
02:36:35 <Madoka-Kaname> > join $ cycle [1, 2]
02:36:36 <lambdabot> No instance for (GHC.Num.Num [a])
02:36:36 <lambdabot> arising from a use of `e_112' at <inte...
02:36:40 <Madoka-Kaname> > cycle [1, 2]
02:36:41 <lambdabot> [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 <Madoka-Kaname> oh woops
02:36:49 <Madoka-Kaname> > filter (==2) $ cycle [1, 2]
02:36:50 <lambdabot> [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 <Madoka-Kaname> @hoogle m [x] -> [m x]
02:49:28 <lambdabot> Data.List transpose :: [[a]] -> [[a]]
02:49:28 <lambdabot> Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
02:49:28 <lambdabot> Data.List inits :: [a] -> [[a]]
02:52:34 <Madoka-Kaname> :t mapM
02:52:35 <lambdabot> forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b]
02:52:56 <Madoka-Kaname> @hoogle [IO a] -> IO [a]
02:52:56 <lambdabot> Prelude sequence :: Monad m => [m a] -> m [a]
02:52:56 <lambdabot> Control.Monad sequence :: Monad m => [m a] -> m [a]
02:52:56 <lambdabot> Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
02:55:43 <copumpkin> lambdabot responds to private messages, too
02:55:52 <elliott> copumpkin: Madoka-Kaname knows and doesn't care
02:55:58 <copumpkin> o.O
03:00:06 <Madoka-Kaname> :t mapM
03:00:07 <lambdabot> forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b]
03:01:01 <Madoka-Kaname> > [0..5]
03:01:02 <lambdabot> [0,1,2,3,4,5]
03:01:31 <CakeProphet> ...
03:03:55 <copumpkin> urusai!
03:04:13 <copumpkin> うるさい
03:06:53 <CakeProphet> 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 <CakeProphet> *don't think
03:08:05 <shachaf> CakeProphet: Really? I'd think that would be the main argument.
03:08:47 <CakeProphet> 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 <Madoka-Kaname> :t foldl
03:09:13 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
03:09:27 <olsner> hmm, if it really matters you might be using measurements rather than reasoning anyway
03:09:56 <CakeProphet> 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 <CakeProphet> a C++ nub isn't going to know shit about how to optimize C++.
03:11:11 <CakeProphet> being ignorant of something is not an argument against it.
03:11:15 <shachaf> "given a sufficiently smart programmer"?
03:11:22 <Madoka-Kaname> @hoogle (Map a), (Set a) => a
03:11:22 <lambdabot> Parse error:
03:11:22 <CakeProphet> ^^^
03:11:22 <lambdabot> (Map a), (Set a) => a
03:11:22 <lambdabot> ^
03:11:24 <Madoka-Kaname> @hoogle (Map a) (Set a) => a
03:11:25 <lambdabot> Parse error:
03:11:25 <lambdabot> (Map a) (Set a) => a
03:11:25 <lambdabot> ^
03:11:44 <copumpkin> ತ_ತ
03:11:47 <CakeProphet> Madoka-Kaname doesn't actually no Haskell.
03:11:48 <Madoka-Kaname> @hoogle (Map a, Set a) => a
03:11:48 <lambdabot> Warning: Unknown class Map
03:11:48 <lambdabot> Prelude undefined :: a
03:11:48 <lambdabot> Data.Function fix :: (a -> a) -> a
03:11:54 <copumpkin> Madoka-Kaname: can you quit spamming?
03:11:56 * CakeProphet doesn't no English.
03:11:57 <Madoka-Kaname> Sure
03:12:02 <copumpkin> thanks!
03:12:07 <shachaf> Haskell is a good deal more abstracted from how computers tend to work than C++.
03:13:10 <CakeProphet> I see.
03:13:34 <olsner> CakeProphet: this was ... news to you?
03:14:16 <CakeProphet> (no)
03:14:28 <CakeProphet> I'm just kind of bewildered as to what it's implying.
03:14:43 <CakeProphet> programmers can't reason through abstraction or something?
03:14:46 * CakeProphet shrugs.
03:15:54 <shachaf> Things like garbage collection make performance more difficult to reason about, for instance.
03:16:00 <shachaf> I don't think anyone said "impossible".
03:16:02 <pikhq> C++ is pretty damn abstracted from how computers tend to work, though.
03:16:30 <shachaf> pikhq: True.
03:35:25 <elliott> shachaf: I'm not sure the machine mismatch matters.
03:35:50 <elliott> 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 <shachaf> Constant factors matter when you want to write high-performance programs.
03:38:37 <pikhq> Define "high-performance". :)
03:45:05 <shachaf> I have no idea what context this conversation came up in.
03:45:31 <shachaf> I'll define it as "where you care about performance enough to worry about constant factors". :-)
03:45:41 * shachaf unsafeCoerce
03:45:54 <elliott> shachaf: OK, to clarify: Small constant factors :P
03:46:56 <elliott> 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 <pikhq> shachaf: In such a context anything shy of assembly is going to involve at least a little bit anguish.
03:49:06 <shachaf> s/ shy of assembly//
03:55:46 -!- madbr has joined.
04:02:25 <zzo38> I found a anime crossword in mathNEWS that although the clues are in English, you must write the answers using katakana.
04:09:24 <madbr> can't decide if that's lame or awesome
04:10:20 <coppro> madbr: it is mathnews, therefore awesome
04:12:23 <pikhq> Probably lame.
04:13:31 <madbr> wonder how japanese coders name variables in c++
04:14:04 <shachaf> Hopefully in English.
04:14:21 <shachaf> Probably not, though. :-(
04:17:17 <pikhq> I'm inclined to go with "that's a crapshoot".
04:17:53 <pikhq> And would like to add that "¥n" still drives me bonkers.
04:18:36 <madbr> heheh
04:18:48 <madbr> japanese backslash
04:18:50 <coppro> pikhq: why
04:19:03 <pikhq> coppro: That's "\n".
04:19:10 <coppro> lol
04:19:16 <coppro> thanks windows
04:19:26 <pikhq> Actually, that's not even slightly Microsoft's fault.
04:19:31 <coppro> oh?
04:19:44 <pikhq> That's the fault of JIS X 0201.
04:20:21 <pikhq> The 8-bit ASCII superset encoding that was used for a while on early Japanese computers.
04:20:27 <madbr> kinda sucks yeah
04:20:35 <pikhq> It encoded ¥ where \ is on normal ASCII.
04:20:41 <madbr> they should have taken one of the 0-31 range characters
04:20:45 <madbr> nobody uses those
04:20:56 <madbr> except tab and newline ofc
04:21:13 <zzo38> madbr: The 0-31 range characters are control characters. I sometimes use them for purpose of control characters.
04:23:46 <madbr> ah
04:24:13 <madbr> figured most people decided in band signaling was stupid and moved to other means
04:24:33 <pikhq> Of course, JIS X 0201 sucks in every way imaginable for use in Japanese.
04:30:17 <zzo38> 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 <elliott> madbr: dos used all of the control chars as symbols
04:36:51 <madbr> well, yeah, cause the char rom had the space
04:37:10 <madbr> and text mode has no escape chars ofc
04:37:38 <zzo38> 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 <zzo38> However the control characters had meanings as control characters too; but if poked directly into video memory they could be displayed.
04:41:38 <zzo38> The BIOS has the same function today.
04:42:21 <madbr> vga text mode hasn't changed much no
04:44:44 <zzo38> 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 <pikhq> Actually, Linux using a VGA text mode pretty much just does ASCII.
04:45:31 <madbr> well, if it's over 512 chars it has to be an emulation yes
04:45:49 <pikhq> I think you only can pull more characters using a framebuffer.
04:46:04 <zzo38> Yes, but the screen grid size is more than 80x25 as well
04:46:22 <pikhq> Yeah, there's more VGA text modes than that.
04:46:48 <zzo38> 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 <madbr> doesn't change the hard limit of 256 (or 512 if you use different chars for colors 8-15) :D
04:47:52 <madbr> unless you used a set of 8x1 pixel characters kinda like a msx text mode game
04:48:12 <zzo38> 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 <madbr> zzo: yeah you can see it used in impulse tracker
04:51:20 <zzo38> Actually I discovered it by running multiple programs incorrectly that don't go together. I haven't used Impulse Tracker.
04:54:08 <zzo38> 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 <zzo38> 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 <CakeProphet> 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 <CakeProphet> huh, interesting.
05:16:18 <pikhq> Pretty much, though usually it's limited to fish & shellfish.
05:17:10 <CakeProphet> 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 <pikhq> Right.
05:18:04 <CakeProphet> but apparently eating seafood is really fucking good for you.
05:19:41 <CakeProphet> 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 <CakeProphet> more weird food laws.
05:34:17 -!- Darth_Cliche has joined.
05:36:34 <Madoka-Kaname> @hoogle Fractional -> Intergral
05:36:35 <lambdabot> Warning: Unknown type Fractional
05:36:35 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
05:36:35 <lambdabot> Prelude ($) :: (a -> b) -> a -> b
05:36:44 <Madoka-Kaname> Oh, it's Rational
05:36:44 <Madoka-Kaname> derp
05:43:38 <Madoka-Kaname> @hoogle a -> Double
05:43:39 <lambdabot> Prelude id :: a -> a
05:43:39 <lambdabot> Data.Function id :: a -> a
05:43:39 <lambdabot> GHC.Exts breakpoint :: a -> a
05:44:41 <CakeProphet> Madoka-Kaname: what are you trying to do.
05:44:48 <CakeProphet> 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 <CakeProphet> 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 <elliott> hi oerjan
06:54:01 <oerjan> good morning elliott
06:55:54 <oerjan> <CakeProphet> 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 <oerjan> when my dad says "kattfisk", he means fish to feed the cat.
06:57:45 <oerjan> 00:58:29: <zzo38> Does the ddate program allow you to switch which kind of Discordian calendar you want?
06:58:02 <elliott> oerjan: does he say that a lot?
06:58:03 <oerjan> shouldn't it, sort of, switch in an unpredictable way...
06:58:20 <oerjan> elliott: well probably not :P
06:59:51 <oerjan> anyway the other point is we don't use that to name any species in norwegian.
07:00:05 <oerjan> that i'm aware of.
07:02:18 <elliott> sea kittens
07:03:07 <oerjan> land fish
07:03:30 <oerjan> GET YOUR DELICIOUS LAND FISH HERE
07:03:42 <elliott> oerjan: i take it you missed the reference :
07:03:45 <oerjan> ONLY RECENTLY DEWHISKERED
07:03:51 <oerjan> no, i don't think i missed it
07:03:59 <oerjan> i just reversed it
07:04:19 <elliott> ok :P
07:04:41 <CakeProphet> > DLL
07:04:42 <lambdabot> Not in scope: data constructor `DLL'
07:06:47 <oerjan> apparently i'm not very inventive there
07:06:54 <oerjan> 'My wife and I have decided to start calling our cats "Land Fish".'
07:08:30 <oerjan> oh apparently stephen colbert used the phrase
07:09:32 <CakeProphet> http://en.wikipedia.org/wiki/Walking_fish
07:09:37 <CakeProphet> first hit for "land fish"
07:10:16 <oerjan> well i added sea kitten to the search
07:12:18 <CakeProphet> http://features.peta.org/PETASeaKittens/game.asp
07:16:33 <CakeProphet> oh god I actually just played a seakitten dress up game.
07:18:36 <oerjan> soon you will be possessed by an irrestible urge to eat nothing but strawberries and seaweed.
07:29:47 <pikhq> 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 <pikhq> "Sea kittens" is solid fail.
07:30:59 -!- Ngevd has joined.
07:31:56 <CakeProphet> pikhq: how do you know they don't taste like fish?
07:32:01 <CakeProphet> what if they taste better?
07:32:03 <CakeProphet> hmmmm???
07:33:13 <Ngevd> *yawn*
07:33:14 <Ngevd> Hello
07:33:44 <pikhq> CakeProphet: You'll note taste wasn't the only criterion there.
07:36:00 <CakeProphet> pikhq: what if cats looked, tastes, and acted like cats and were delicious?
07:36:04 <CakeProphet> weoijroiwejrowiejet huh what now huh?
07:38:18 <pikhq> Nyaaaa
07:45:01 <CakeProphet> http://en.wikipedia.org/wiki/Cat
07:45:10 <CakeProphet> I think this entire article is written by a cat-lover
07:45:23 <CakeProphet> because it basically talks about all of their awesome skillz.
07:47:30 <Ngevd> Put on of those not neutral thingies in
07:51:26 <Madoka-Kaname> > (10**10)**(2**32)
07:51:27 <lambdabot> Infinity
07:51:34 <Madoka-Kaname> > (10^10)^(2^32)
07:51:49 <lambdabot> *E
07:52:07 <Ngevd> > (1 `div` 0, 1/0)
07:52:11 <lambdabot> mueval-core: Time limit exceeded
07:52:17 <Ngevd> 1 `div` 0
07:52:25 <Ngevd> > 1 `div` 0
07:52:26 <lambdabot> *Exception: divide by zero
07:52:31 <Ngevd> > 1 / 0
07:52:32 <lambdabot> Infinity
07:56:41 * oerjan finds some vandalism at the end of the Cat article
07:59:13 <CakeProphet> > 1 `mod` 0
07:59:16 <lambdabot> *Exception: divide by zero
08:01:46 <pikhq> Second 01:00 is the best time of day.
08:06:39 <elliott> pikhq: there's only one 01:00 in a day :)
08:07:01 <monqy> today is special
08:07:02 <pikhq> Not today.
08:07:22 <pikhq> Today, 01:59 was followed by 01:00.
08:08:37 <elliott> oh. we did that ages ago.
08:08:55 <elliott> pikhq: also: fuck dst
08:09:03 <pikhq> The US decided to do more summer time than standard a couple years back.
08:09:05 <pikhq> Agreed.
08:09:14 <monqy> dst is the worst :(
08:09:22 <elliott> does ANYONE like dsty
08:09:23 <elliott> ds
08:09:24 <elliott> dst
08:09:28 <pikhq> I enjoy second 01:00. I despise 01:59 being followed by 03:00.
08:09:34 <elliott> even my fingers don't like dst
08:09:38 <monqy> bad people enjoy dst
08:09:38 <pikhq> It averages out to a mild hatred for DST.
08:10:03 <monqy> dst days are offset in a bad way
08:10:21 <elliott> 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 <pikhq> Clearly we should eliminate the "spring back" bit.
08:10:45 <monqy> fall forward?
08:10:45 <pikhq> elliott: I approve of your 25 hour day plan.
08:10:53 <pikhq> Erm.
08:10:56 <pikhq> Spring forward.
08:11:01 <elliott> pikhq: "and makes the minutes in an hour e.g. in the middle of the workday go twice as fast"
08:11:02 <pikhq> Fuck DST.
08:11:09 <pikhq> elliott: I want 25 hour days.
08:11:30 <pikhq> Let's make everyone *else* have trouble maintaining normal sleep. :P
08:12:21 <oerjan> argh does someone know how to view bot edits in wikipedia's page histories?
08:13:00 <elliott> not I
08:13:00 <elliott> why?
08:13:09 <oerjan> ...i found some vandalism, but there is no sign of it in the diffs
08:13:14 <elliott> I know anti-vandalism etc. bots don't make edits marked as bot
08:13:24 <elliott> oerjan: there is
08:13:29 <elliott> try cache
08:13:34 <elliott> or looking harder :)
08:13:51 <Ngevd> `pastequotes
08:13:57 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32522
08:14:29 <oerjan> hm maybe it's actually in an included template.
08:15:20 <elliott> oerjan: yep, that sounds likely
08:15:40 <oerjan> if wikipedia wasn't so dog slow...
08:15:52 <oerjan> ...i guess it would be, on the cat page.
08:16:03 <elliott> arf arf arf
08:17:57 -!- Ngevd has quit (Ping timeout: 240 seconds).
08:18:36 -!- monqy has quit (Quit: hello).
08:19:23 <elliott> `quote
08:19:23 <elliott> `quote
08:19:24 <elliott> `quote
08:19:24 <elliott> `quote
08:19:24 <elliott> `quote
08:19:31 <HackEgo> 649) <ais523> elliott: so what are the two issues with xfce? <elliott> they're very unlikely to fuck up Xfce, and it can be made to work basically exactly like gnome two
08:19:33 <HackEgo> 398) <elliott> oerjan: but hypothetically, assume a Christian spontaneously materialised during the apocalypse
08:19:46 <HackEgo> 627) <elliott> Dear god stop staring at me. <monqy> no never <Phantom_Hoover> monqy is always staring at everyone. <monqy> it takes many eyes to do this but I manage <Phantom_Hoover> He is an inspiration to us all.
08:19:47 <HackEgo> 465) <fizzie> elliott: You have become the very thing you fought for!
08:19:47 <HackEgo> 261) <fizzie> 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 <elliott> 649 is the worst but I don't have the heart to remove any
08:21:30 <elliott> `log so you are doing for compilers what imperative programming did for functional programming
08:21:56 <HackEgo> 2011-10-02.txt:10:46:13: <elliott> `addquote <oklopol> so you are doing for compilers what imperative programming did for functional programming
08:22:05 <elliott> `logurl 2011-10-02.txt:10:46:13:
08:22:08 <HackEgo> http://codu.org/logs/log/_esoteric/2011-10-02
08:24:04 <elliott> 10:43:37: <itidus20> 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 <elliott> this was basically the height of itidity
08:28:00 -!- spl1nt has joined.
08:29:00 <oerjan> argh!
08:29:14 <oerjan> elliott: do you see vandalism at http://en.wikipedia.org/wiki/Cat#External_links ?
08:29:29 <elliott> oerjan: yes
08:29:43 <elliott> let's see...
08:30:03 <elliott> oerjan: trying to purge it
08:30:19 <oerjan> it is not in the page when i try to edit it :P
08:30:22 <elliott> oerjan: see, all gone
08:30:24 <elliott> it was just cached
08:30:30 <elliott> I purged the page and now it's fixed
08:30:36 -!- Ngevd has joined.
08:30:42 <oerjan> but i've reloaded several times D:
08:30:49 <elliott> oerjan: purging is a MW thing.
08:30:51 <Ngevd> I think they should make a movie about fungot
08:30:52 <fungot> 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 <elliott> oerjan: try refreshing now
08:31:04 <elliott> just append ?action=purge to a page url and click the button
08:31:07 <elliott> it re-renders the page on the server side
08:31:15 <oerjan> aha
08:31:23 <oerjan> well it worked by simply reloading now
08:31:32 <oerjan> i assume your purge fixed it for everyone
08:31:34 <Ngevd> Also, why won't my brother's XBox read discs? I just want to play AC:B
08:31:37 <elliott> "My main hobby outside Wikipedia is the VMS Mosaic web browser (hence my username)."
08:31:43 <elliott> That's a really shitty hobby, User:VMS_Mosaic.
08:31:46 <elliott> oerjan: yep
08:33:15 <shachaf> VMS Mosaic?
08:33:30 <shachaf> I hope that's not Mosaic ported to VMS.
08:33:38 <shachaf> Hmm. It's Mosaic ported to VMS.
08:33:43 * oerjan swats shachaf -----###
08:34:00 <Ngevd> I'm not too sure what VMS is...
08:34:29 <oerjan> an old OS
08:34:30 <shachaf> My father once ported vi to VMS. It was apparently quite popular.
08:34:33 <Ngevd> Okay
08:34:40 -!- spl1nt has quit (Killed (idoru (Spam is off topic on freenode.))).
08:35:10 <oerjan> my first university account was on a VAX/VMS system
08:35:14 <Ngevd> shachaf: this was your father's operating system
08:35:39 <Ngevd> A more civilized software from a more civilized time
08:36:15 <shachaf> VMS was many things, but I don't know if civilized is among them.
08:36:30 <Ngevd> What does it stand for?
08:37:13 <shachaf> Virtual Memory System, apparently.
08:37:36 <shachaf> > map succ "VMS"
08:37:37 <lambdabot> "WNT"
08:37:38 <shachaf> zomg
08:37:55 <Ngevd> Windows NT?
08:38:00 <elliott> `addquote <shachaf> VMS Mosaic? <shachaf> I hope that's not Mosaic ported to VMS. <shachaf> Hmm. It's Mosaic ported to VMS.
08:38:02 <HackEgo> 708) <shachaf> VMS Mosaic? <shachaf> I hope that's not Mosaic ported to VMS. <shachaf> Hmm. It's Mosaic ported to VMS.
08:38:04 <elliott> * spl1nt has quit (Killed (idoru (Spam is off topic on freenode.)))
08:38:05 <elliott> omg :')
08:38:07 <elliott> he was our friend.
08:38:49 <shachaf> What's a spl1nt?
08:39:01 <elliott> the best spl1nt
08:39:10 <Ngevd> It's for mending broken b0nes
08:40:36 <oerjan> i liked the VMS hierarchical help system
08:40:52 <elliott> I wish I had memories of VMS.
08:41:01 <elliott> So I could know that it would be foolish to wish for memories of VMS.
08:41:09 <Ngevd> I have memories of some operating system
08:41:14 <Ngevd> It was text-based
08:41:18 <Ngevd> It was in a garage
08:41:20 <elliott> dos
08:41:31 <shachaf> CP/M
08:41:36 <elliott> actually if you've used dos without realising then it's dos then i'm really weirded out
08:41:38 <Ngevd> In Mount Waverley, VIC
08:41:48 <Ngevd> I was 3-4
08:41:49 <elliott> ah yes. from when you lived in scotland
08:41:53 -!- derrik has joined.
08:42:18 <Ngevd> FINALLY ASSASSIN'S CREED HAS LOADED
08:42:25 <oerjan> if you did help pascal, you got help on the pascal program but also a submenu for individual functions
08:42:43 <shachaf> VMS apparently had this fancy QIO thing.
08:42:43 <oerjan> and the hierarchy was quite deep
08:42:56 <oerjan> *pascal compiler
08:51:10 <Ngevd> If I was Korean, I'd be fearing for my life
08:51:16 <elliott> 648) <fungot> 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 <fungot> elliott: when the driver came out of those years to engulf him utterly.
08:51:17 <elliott> :D
08:51:19 <elliott> god i remember that
08:51:50 <elliott> oerjan: isn't that essentially what info does
08:52:04 <Ngevd> I have a fan and a closed door
08:52:41 <oerjan> elliott: i guess. on the command line, this was more like a nested version of irssi help, though
08:53:05 <elliott> oerjan: oh, so you went deeper by taking the last command and appending?
08:53:10 <elliott> sounds like http >:)
08:53:15 <oerjan> there was a graphical version, but i only rarely saw an actual DEC workstation
08:53:15 <elliott> Ngevd: beware fan death
08:53:54 <shachaf> 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 <shachaf> Whoa, man, an irssi bug.
08:54:17 <oerjan> elliott: except you didn't have to prepend the current term if you were already on it, this was interactive.
08:54:28 <elliott> oerjan: ok so it's not command-line :P
08:54:50 <oerjan> elliott: i guess i meant terminal, as opposed to graphical
08:54:54 <shachaf> 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 <elliott> yeah
08:55:24 <oerjan> i mainly logged in via genuine physical VT100/VT3something terminals
08:55:27 <elliott> 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 <oerjan> elliott: line-based
08:56:10 <oerjan> it was still the best help system i'd seen at the time :P
08:56:13 <elliott> oerjan: it sounds like info has the kind of structure you want, it's just that the clients suck :)
08:56:29 <shachaf> I guess no one here appreciates a good irssi bug.
08:56:29 <elliott> also, nobody but GNU people want to, or do, write info pages...
08:56:43 <shachaf> s/good/bad/
08:56:44 <elliott> shachaf: I figure they're probably too numerous to appreciate.
08:56:45 <elliott> Like lives.
08:56:57 <elliott> Until there are, like, less than a billion people alive, I'm a sociopath.
08:57:25 <elliott> 592) <CakeProphet> monqy: help how do I use lambdabot to send messages to people. [...around half an hour later...] <CakeProphet> @messages <lambdabot> quicksilver said 1y 2m 18d 19h 54m 29s ago: you use @tell
08:57:29 <elliott> still the most beautiful thing to ever happen
08:58:23 -!- nooga has joined.
08:59:01 <elliott> 567) <monqy> mmm these music samples are still so tasteful
08:59:01 <elliott> 568) <monqy> im sampling ultra hip holiday <monqy> hes the boogie woogie santa clause <monqy> switching to oktoberfest <monqy> yes i would love to shop to this
08:59:04 <elliott> the qdb makes great light reading
09:11:39 -!- Vorpal has joined.
09:12:18 <CakeProphet> 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 <CakeProphet> 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 <CakeProphet> 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 <CakeProphet> mmmm regurgitated nectar.
09:58:47 <oerjan> bbl, bleaching brain
09:59:39 <elliott> youd idn't know that?
10:00:04 <oerjan> i probably have known at previous pre-bleaching occasions
10:01:08 <elliott> 545) <itidus20> well, you have bested me <zzo38> itidus20: Yes.
10:01:09 <elliott> :')
10:06:14 <elliott> 484) <oklopol> interestingly enough, go is a second player win <oklopol> chess is also first player win <oklopol> tennis, interestingly enough, is always a draw.
10:06:21 <elliott> oerjan: have you ever read this qdb i mean damn
10:07:57 <coppro> haha
10:15:21 <elliott> 356) <crystal-cola> http://www.sessionmagazine.com/img/nature/worlds-10-smallest-animals/worlds-10-smallest-animals07.jpg <crystal-cola> worlds biggest thumb
10:15:36 <elliott> oerjan: it's getting to that stage in the fax cycle where i start to miss em
10:26:20 <elliott> 241) <Phatom__Hovver> LoTR actually compresses pretty well into a film; the large amount of description becomes unnecessary. <pikh> LotR would compress pretty well into a book; the large amount of description *is* unnecessary.
10:26:29 <elliott> 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 <Phantom_Hoover> We did.
10:31:16 <elliott> `log <pikh>
10:31:21 <HackEgo> 2011-05-14.txt:23:04:21: <HackEgo> ​261) <Phatom__Hovver> LoTR actually compresses pretty well into a film; the large amount of description becomes unnecessary. <pikh> LotR would compress pretty well into a book; the large amount of description *is* unnecessary. \ 272) <oklopol> oerjan: also actually A(4, 4) is larger than
10:31:26 <elliott> sceptical
10:31:39 <Phantom_Hoover> I remember saying it!
10:31:46 <Phantom_Hoover> Unless you're talking about the nicks.
10:31:51 <elliott> of course i am
10:36:04 <oerjan> `quote 272
10:36:06 <HackEgo> 272) <Vorpal> !bfjoust test (-)*10000 <EgoBot> Score for Vorpal_test: 12.9 <Vorpal> yay
10:36:15 <oerjan> wat
10:36:20 <oerjan> `quote 271
10:36:22 <HackEgo> 271) <elliott> Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! <elliott> and a monad! <elliott> nothing can stop me now!
10:36:37 <oerjan> hum
10:36:48 <oerjan> `quote 261
10:36:50 <HackEgo> 261) <fizzie> 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 <oerjan> oh duh
10:37:16 <oerjan> `quote 252
10:37:19 <HackEgo> 252) <oklopol> ah yes, indeed, alan turing was gay and stupid
10:37:30 <oerjan> close enough
10:37:51 <elliott> 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 <Vorpal> elliott, there?
11:48:23 <elliott> No.
11:48:25 <Vorpal> elliott, there may be ways to get better support for multilib on arch
11:48:32 <Vorpal> I just found a package named gcc-multilib
11:48:35 <Vorpal> I have not yet tried it
11:48:49 <elliott> Uhh, gcc-multilib is part of the multilib repos.
11:48:53 <elliott> It's used in conjunction with them.
11:48:54 <Vorpal> yep
11:49:00 <Vorpal> and it provides gcc
11:49:05 <Vorpal> according to pacman -Si
11:49:07 <elliott> It isn't "better support", it's "being able to link with multilib things at all". What's your point?
11:49:13 <Vorpal> hm okay
11:49:18 <elliott> It's still the same shitty support at the core.
11:49:23 <Vorpal> right
11:49:25 <elliott> 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 <Vorpal> elliott, is there a name for "initialism except they selected X instead of E for words starting with Ex-"?
12:00:13 <elliott> "stupid"
12:00:19 <Vorpal> elliott, also "common"
12:00:30 <elliott> just call it an acronym, nobody cares
12:00:33 <Vorpal> hm
12:00:51 <elliott> probably most people don't know what "initialism" even is
12:00:59 <Vorpal> (two examples that spring to my mind: XML and AVX)
12:05:10 <twice11> XMS, note there was EMS before.
12:05:40 <elliott> It just uncontrollably became more X-Treme.
12:05:49 <Vorpal> oh the DOS thingy?
12:05:53 <twice11> It starts getting ridiculous when these terms are translated.
12:05:57 <twice11> Vorpal: yes
12:06:13 <Vorpal> <twice11> It starts getting ridiculous when these terms are translated. <-- oh?
12:06:14 * twice11 remembering of "Erweiterungsspeicher" and "Expansionsspeicher"...
12:06:36 <Vorpal> assume I don't understand German
12:07:16 <twice11> 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 <Vorpal> right
12:07:31 -!- elliott has quit (Quit: Leaving).
12:07:39 -!- elliott has joined.
12:07:44 <Vorpal> twice11, makes sense so far
12:08:05 <twice11> 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 <Vorpal> ah
12:08:42 <twice11> Note that EMS means Expanded Memory Specification, XMS means Extended Memory Specification.
12:08:48 <twice11> Both words starting with "Ex"...
12:08:52 <Vorpal> right
12:09:17 <twice11> After the german translation, only one word starts with Ex - which is expanded that has been left as technical term.
12:09:30 <Vorpal> heh
12:09:36 <twice11> While eXtended has been replaced with the german term "Erweiterung".
12:09:55 <fizzie> XHTML too, but that's just following in XML's footsteps.
12:10:11 <Vorpal> 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 <fizzie> Oh, and XP when it's standing for "eXperience Points".
12:10:16 <Vorpal> I grew up with a Mac
12:10:18 <Vorpal> not a PC
12:10:23 <twice11> IIRC these translations are made by Digital Research - but do you think Microsoft learned anything of that?
12:10:30 <twice11> of->from...
12:10:55 <Vorpal> fizzie, yeah, should be EP in all games
12:11:07 <Vorpal> fizzie, wait, did windows xp stand for Windows Experience Points?
12:11:23 <Vorpal> and doesn't xbox have some "microsoft points" or something
12:11:30 <Vorpal> hm... maybe they confused the names somehow?
12:11:31 <fizzie> eXPerience, I'd think.
12:11:38 <twice11> 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 <twice11> fizzie: That's what the marketing people say. Some people claim in fact it means eXtra Problems.
12:12:59 <twice11> The HMA translation was not that bad until another concept of extending conventional memory, called "upper memory blocks" (UMB).
12:13:09 <twice11> Which was then translated as "hoher Speicher".
12:13:30 <Vorpal> well, xp was probably one of the better windows versions so far. Especially the 64-bit one.
12:13:49 <twice11> 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 <elliott> Windows Me + Windows XP = the almighty Windows Mexp.
12:14:01 <elliott> It's like Windows Sexp, but with a sugary syntax.
12:14:14 <fizzie> 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 <twice11> Vorpal: I guess you are talking about XP after SP1 or so.
12:14:28 <Vorpal> twice11, yeah, but compared to 9x it was way way better.
12:14:45 <Vorpal> even the original I mean
12:14:48 <twice11> Windows 9x is a game loader, not an operating system ;)
12:14:51 <Vorpal> right
12:15:00 <elliott> twice11: Then what's DOS?
12:15:06 <Vorpal> older game loader
12:15:10 <fizzie> Game loader with bad graphics?-)
12:15:22 <twice11> A game loader missing a common 32 bit driver infrastructure.
12:15:24 <Vorpal> game loader not even pretending to have multitasking
12:15:41 <elliott> Good god you guys, be patient, twice11 MIGHT have generated perfect quote material with a one-word response like "Crap"!
12:15:43 <elliott> But then you ruined it!
12:15:47 <elliott> You ruined everything!
12:15:53 <Vorpal> 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 <twice11> Windows 7 also works not that bad, as far as I have experience with Windows.
12:16:58 <Vorpal> twice11, windows 7 is quite bloated compared to XP. Try installing both on a SATA 1 disk. Check boot times.
12:17:04 <Vorpal> that is 64-bit of both
12:17:15 <elliott> Oh no! Boot times!
12:17:21 <elliott> The thing Vorpal told me he doesn't care about just a few weeks ago.
12:17:24 <Vorpal> and also general sluggishness of the interface
12:17:26 <elliott> Or less, actually.
12:17:53 * elliott hasn't experienced any interface sluggishness with 7 at all.
12:17:54 <twice11> Vorpal: Compare boot times of Windows XP and DOS on the same hardware
12:18:03 <Vorpal> 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 <Vorpal> elliott, you have to consider the context.
12:18:19 <elliott> Vorpal: It sounds like the context is: your system is really shitty. :p
12:18:23 <Vorpal> twice11, indeed.
12:18:32 <twice11> 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 <elliott> twice11: Yeah, and I bet Windows 7 is really sluggish on this 286 I just materialised :P
12:18:49 <elliott> Hell, it probably doesn't even RUN on my Commodore 64.
12:18:53 -!- derrik has quit (Quit: gone).
12:18:53 <twice11> elliott: Windows XP won't run on it, too.
12:18:59 <Vorpal> twice11, thing is, apart from the disk the system in question is top notch
12:19:10 <elliott> OK guys, what's the best Windows version for ENIACs?
12:19:11 <Vorpal> twice11, I simply reused an old disk for installing windows 7 on.
12:19:38 <Vorpal> and not THAT old either.
12:19:46 <twice11> 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 <twice11> To install they needed a Pentium with 24MB.
12:20:02 <elliott> twice11: I remember that.
12:20:04 <elliott> That was awesome.
12:20:06 <Vorpal> heh
12:20:08 <Vorpal> link?
12:20:16 <twice11> 10 minute boot time or like that.
12:20:26 <Vorpal> and I guess WinPE or such?
12:20:34 <Vorpal> or do you mean full XP?
12:20:39 <twice11> Vorpal: No, full XP.
12:20:43 <Vorpal> impressive
12:20:49 <twice11> Of course it was not usable at all...
12:20:53 <Vorpal> of course
12:21:35 <Vorpal> 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 <twice11> German version of one of those tests: http://www.winhistory.de/more/386/xpmini.htm
12:22:27 <twice11> And english version: http://www.winhistory.de/more/386/xpmini.htm.en
12:23:49 <Vorpal> the former displayed as English for me too
12:23:59 <Vorpal> I guess it looks at the http headers for preferred language
12:24:05 * twice11 guesses that, too.
12:25:35 <elliott> I guess it uses pixie magic.
12:25:41 <elliott> Teach the controversy.
12:29:21 <twice11> Hmm, seems I was wrong - at least these people did not swap the CPU to a 486 after installation.
12:29:30 <twice11> And it was 18MB RAM minimum, not 8MB.
12:29:38 <twice11> Sorry for exaggregating.
12:30:53 <elliott> I can't help but feel they gave up right when things could have become really interesting.
12:31:01 <elliott> e.g. patching the XP installer to stop it complaining about hardware :)
12:31:55 <Vorpal> hah
12:32:15 <Vorpal> elliott, they wanted to do this on a vanilla xp obviously
12:32:44 <twice11> elliott: I guess the installer has some reason to check for CMPXCHG8B
12:32:56 <twice11> And that instruction is introduced with the Pentium.
12:33:07 <twice11> CPUID is available on late 486, too.
12:33:15 <elliott> twice11: Microsoft probably had some reason to tell people not to use XP on machines with <64 megs of ram, too :-)
12:33:42 <twice11> Granted, but I am quite confident, the XP kernel or ntdll indeed uses CMPXCHG8B.
12:34:00 <twice11> OTOH, if you do this kind of stuff, just add an invalid opcode handler...
12:34:07 <elliott> Probably. But maybe not always? :-)
12:34:11 <elliott> Maybe you can turn that stuff off.
12:34:40 <twice11> CMPXCHG8B is a core instruction for some kind of lockless thread-safe linked lists.
12:34:59 <twice11> Sounds like very likely used in the deep core of the kernel.
12:35:00 <Vorpal> maybe you can emulate CMPXCHG8B. I don't know what the semantics of that are wrt bus mastering hardware though
12:35:49 <elliott> twice11: You know, f00f bug involved CMPXCHG8B...
12:35:51 <elliott> Maybe that's why it checks.
12:35:58 <twice11> Get a real 486 board with ISA cards - bus mastering problem gone ;)
12:36:02 <Vorpal> hah
12:36:03 <elliott> twice11: But: You could just replace that with a lock.
12:36:07 <elliott> What could go wrong?
12:36:36 <twice11> CMPXCHG8B does a locked operation on 8 bytes at a time.
12:36:52 <twice11> just using LOCK can't do an 8-byte-operation.
12:37:00 <elliott> I meant a software lock.
12:37:09 <elliott> twice11: You could just pause the scheduler while that code runs :)
12:37:27 <Vorpal> well for a single CPU you could just disable interrupts and do it
12:37:33 <twice11> A software lock is what they replaced by CMPXCHG8B for improved performance...
12:37:45 <elliott> twice11: Yeah, 'cuz that's gonna help SO much on a 486.
12:37:57 <elliott> It would be blazing if only we didn't have software locks!
12:38:26 <twice11> 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 <twice11> I would expect the CMPXCHG8B instruction to be inlined to many places...
12:39:14 <twice11> Adding an "undefined opcode" handler sounds less intrusive (and less performant)
12:39:44 <twice11> 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 <elliott> Yeah, a handler is probably the best way to do it.
12:40:06 <elliott> 224MB? Pfft
12:40:32 <twice11> Would be interesting whether you manage to boot 7 on "just" 192MB.
12:40:38 <Vorpal> twice11, what is the minimum for win7 yeah?
12:40:59 <twice11> No idea. Too bad they didn't make a report on that.
12:40:59 <Vorpal> twice11, the last link is german only
12:41:01 <elliott> Windows 7 on a cardboard box with a toothbrush
12:41:11 <elliott> also some salt
12:41:35 <twice11> elliott: Don't cheat. That is Windows Phone 7!
12:41:51 <elliott> :D Windows Phone 7 standard deployment platform
12:41:57 <Vorpal> heh
12:42:00 <elliott> The toothbrush has to have at LEAST three bristles.
12:42:06 <elliott> But no more than seven.
12:50:26 <Phantom_Hoover> Windows 7 bristles.
12:55:01 <twice11> windows XP whistles...
12:55:14 <twice11> Or long Vista horns.
12:56:39 <elliott> Man, I remember the days of Longhorn.
12:56:54 <elliott> 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 <Vorpal> heh
13:09:19 <Vorpal> was longhorn the codename for xp or vista, I don't remember
13:09:35 <twice11> Longhorn -> Vista, Whistler -> XP
13:10:02 <Vorpal> ah
13:10:03 <twice11> Or Whistler -> Server 2003?
13:10:09 <Vorpal> what was the code name for 7?
13:10:22 <twice11> Longhorn really ready to manufacture? ;)
13:10:45 <Deewiant> Vorpal: Blackcomb, later Vienna
13:10:48 <Vorpal> ah
13:10:58 <Vorpal> is there a code name for windows 8?
13:11:14 <Deewiant> Not that I know of
13:11:55 <elliott> Vorpal: 8
13:12:30 <twice11> 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 <Vorpal> elliott, hah
13:13:58 <twice11> Hmm, interesting 2008R2 is available for x64 and Itanium, but not for x86.
13:14:11 <twice11> Is there really that much buisiness interest in Itanium?
13:14:29 <twice11> Or is it just some MS-Intel-treaty that they have to support it?
13:15:11 <elliott> Nobody uses Itanium at all.
13:15:21 <twice11> elliott: That was my impression, too.
13:15:21 <elliott> I mean, people do, but they're rounding errors. Legacy rounding errors.
13:15:45 <Vorpal> I believe it has been used in some HPC applications?
13:15:46 <elliott> 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 <Vorpal> probably not much any more
13:15:54 <Vorpal> and yeah some mainframe stuff
13:16:19 <Vorpal> I mean, in theory it is an awesome idea... In practise? Not so much
13:17:06 <twice11> 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 <Vorpal> indeed
13:18:00 <elliott> Now would be a great time to tell you all how much I love graph reduction architectures.
13:18:02 <Vorpal> I believe there are some specialized processors using VLIW though
13:18:09 <elliott> Instruction sets: LITERALLY OBSOLETE.
13:18:39 <Vorpal> elliott, how good are they are number crunching?
13:18:46 <twice11> Vorpal: Does Itanium count as "some specized processor"?
13:18:51 <elliott> Vorpal: They have arithmetic primitives, yaknow :P
13:18:57 <Vorpal> twice11, not in this context
13:19:21 <Vorpal> elliott, right
13:19:35 <Vorpal> elliott, how does pipelining and so on work with them?
13:20:05 <Vorpal> elliott, anyway what do you mean with ISAs being obsolete?
13:20:19 <Vorpal> don't you still need some form of encoding for the input
13:20:21 <elliott> Vorpal: It's not obvious how to answer at all, since there's no concept of an "instruction".
13:20:28 <elliott> And yes, but that form doesn't include any instructions.
13:20:33 <elliott> It's just a set of rewrite rules.
13:20:49 <elliott> Those aren't instructions, they don't /do/ anything.
13:20:51 <elliott> They're declarations.
13:20:53 <twice11> rewrite instructions...
13:21:00 <Vorpal> 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 <elliott> Vorpal: No?
13:21:17 <elliott> ISAs are pretty much inherently imperative; they're composed of /instructions/
13:21:20 <elliott> Declarations aren't instructions
13:21:28 <elliott> twice11: Except they're not executed in order, or executed at all :)
13:21:44 <elliott> twice11: They're just used as rules for the CPU's reduction.
13:21:45 <Vorpal> elliott, with something similar I mean "formal documentation of the input expected by the processor"
13:21:47 <Vorpal> so yes
13:22:00 <twice11> think speculative execution, out of order execution.
13:22:00 <elliott> Vorpal: Nobody thinks that when they think ISA
13:22:17 <elliott> twice11: Sure, you can do speculative evaluation on such a machine...
13:22:26 <Vorpal> elliott, whatever, arguing this will be pointless anyway
13:22:39 <twice11> Even today instructions not always executed in order or suddenly rolled back...
13:23:09 <twice11> It's just instructions including a much more complicated set of conditional execution than just referring to some flag bits.
13:23:12 <elliott> twice11: Well, CPU architectures look nothing like their ISAs nowadays.
13:23:26 <elliott> They're much less imperative in fact... and much more weird :)
13:23:42 <elliott> They just try really hard to perfectly emulate the old instruction sets for compatibility.
13:23:43 <twice11> The x86 instruction set is weird enough. Really.
13:24:08 <elliott> Oh, it's weird, it's just not as weird as what actually goes on...
13:24:53 <twice11> In the end, you just interpret that weird x86 instruction set into something sensible.
13:25:07 <twice11> Compiling instead of interpreting failed on the market (see Transmeta)
13:25:22 <elliott> Yeah.
13:26:34 <Vorpal> which bus will be the last to be dropped on common consumer x86 PCs: ISA or PCI?
13:26:48 <Vorpal> I suspect ISA will stay around longer, for compatibility.
13:26:53 <twice11> ISA is already dropped on consumer PCs.
13:26:56 <elliott> 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 <Vorpal> twice11, the slots yes, not the bus
13:27:15 <Vorpal> 00:1f.0 ISA bridge: Intel Corporation P67 Express Chipset Family LPC Controller (rev 05)
13:27:17 <twice11> Real ISA is dead.
13:27:22 <Vorpal> twice11, I said bus
13:27:26 <twice11> LPC replaced it.
13:27:36 <Vorpal> hm it is still called ISA bridge thoug
13:27:38 <Vorpal> though*
13:27:40 <Vorpal> wonder why
13:27:53 <twice11> LPC is kind-of 4-bit-parallel serial ISA.
13:28:16 <Vorpal> hm
13:28:20 <twice11> But is as a lower pin count (hence the name!), obviously.
13:29:20 <elliott> Deewiant: Hmph: ansi-terminal does nothing for input whatsoever
13:30:04 <twice11> 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 <twice11> Some abstractions seems like not being too bad.
13:30:34 <elliott> twice11: Yeah, it's probably true that the microcode layer changes way too quickly for that to be feasible.
13:30:50 <elliott> Modern x86-64: kind of a mess?
13:31:27 <twice11> anything called remotely like x86 is something to stay away from if you like to keep sanity.
13:31:49 <twice11> The 8086 instruction set might have been a good idea in 1978, though.
13:32:05 <twice11> Already the 8088 is an abnomination, in my oppinion.
13:32:19 <twice11> What use is a processor that starves on instruction fetch bandwidht?
13:32:42 <elliott> 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 <elliott> I'm sure I can make a wooden monitor. It would feel very appropriately DIY.
13:34:03 <twice11> 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 <elliott> What we need is Checkout CPUs. (Problem: The instruction manuals would _probably_ form a black hole.)
13:34:32 <Vorpal> that is why you have instruction caches
13:35:20 <Vorpal> with the current technology you can either make expensive, fast & small RAM or you can make cheap, slow & large RAM.
13:35:26 <twice11> Instruction caches on the mentioned processors are too small, or way to small.
13:35:37 <Vorpal> true
13:36:02 <twice11> I once inherited a cheap craptop with a Cx486SLC2.
13:36:14 <twice11> Bus interface: 16-bit 286-like at 25MHz.
13:36:26 <twice11> Processor core: 486 variant at 50MHz.
13:36:31 <twice11> Cache size: 1KB.
13:36:46 <twice11> The only thing the processor is fast at is tiny benchmark loops.
13:36:57 <Vorpal> heh
13:37:57 -!- Nisstyre has quit (Ping timeout: 240 seconds).
13:39:06 <Vorpal> my laptop has an L2 cache three times as big as my desktop. Crazy Core 2 Duo.
13:39:11 <Vorpal> 3 MB L2
13:40:06 <twice11> By cache is longer than yours! 4MB in a C2D T7200
13:40:14 <twice11> My cache...
13:40:24 <Vorpal> heh
13:40:38 <elliott> Didn't Core 2s go up to like 12 meg cache?
13:40:42 <Vorpal> possibly
13:40:48 <Vorpal> that was a laptop C2D though
13:40:53 <elliott> They were just moving all the RAM to L2.
13:40:54 <Vorpal> model name: Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz
13:40:54 <elliott> Why not!
13:41:22 <Vorpal> elliott, I heard of CPUs with 256 MB L2.
13:41:26 <Vorpal> not x86 though
13:41:27 <elliott> lol
13:41:31 <Vorpal> think it was a PowerPC or Power
13:41:36 <Vorpal> for HPC
13:41:36 <twice11> Is that some server CPU?
13:41:41 <Vorpal> twice11, HPC even
13:41:48 <twice11> compute server ;)
13:41:58 <Vorpal> elliott, oh maybe it was 256 MB L3
13:42:02 <Vorpal> rather than L2
13:42:03 <Vorpal> not sure
13:42:07 <Vorpal> still rather insane
13:42:11 <elliott> 789324789234798234 TB L0!!!!!!111
13:42:56 <Vorpal> I can't find the L3 cache info for my laptop in lshw, not sure where else to look
13:43:07 <twice11> Vorpal: 0MB
13:43:14 <twice11> You laptop has no L3 cache.
13:43:16 <Vorpal> oh, C2D had no L3?
13:43:16 <Vorpal> hm
13:43:45 <twice11> Just think about the die size if you want an L3 cache that is signicantly bigger than your 3MB L2 cache.
13:44:41 <Vorpal> heh
13:44:41 <twice11> 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 <Vorpal> 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 <elliott> Core 2 doesn't do L3, Nehalem does.
13:46:02 <Vorpal> wait what, it lists L3 cache in two places? Once as 8 MB and once as 6 MB. Lol lshw
13:46:30 <Vorpal> I'll check what the intel cpu finder thingy has to say about it
13:46:32 <Vorpal> brb
13:47:24 <twice11> Maybe lshw trusts DMI info.
13:47:32 <twice11> Usually an extremely bad idea.
13:47:47 <Vorpal> possibly, it is mostly "To be filled by O.E.M."
13:48:01 <Vorpal> my laptop has accurate DMI info mostly
13:49:16 <Vorpal> well, intel claims 8 MB
13:51:04 -!- pikhq_ has joined.
13:51:23 -!- pikhq has quit (Ping timeout: 258 seconds).
13:54:32 <twice11> In fact, the info amount and structuring of lshw is quite impressive.
13:55:42 <fizzie> 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 <fizzie> 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 <elliott> Does anyone actually pronounce it "cash"?
13:58:07 <olsner> doesn't everyone?
13:58:17 <elliott> I say cash-ey.
13:58:28 <Vorpal> twice11, indeed
13:58:38 * twice11 says "cash", too
13:58:47 <olsner> hmm, I've never heard cash-ey
13:58:49 <Deewiant> elliott: Nobody pronounces it like that
13:58:54 <elliott> I do!
13:58:55 <Vorpal> fizzie, "warriors of the net"?
13:58:59 <olsner> acache indians
13:59:01 <elliott> It SOUNDS RIGHT.
13:59:05 <twice11> Old joke: "Your parity check is overdrawn and you are out of cash"
13:59:06 <fizzie> Vorpal: http://www.warriorsofthe.net/
13:59:28 <fizzie> "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 <Vorpal> fizzie, sadly that (and the intel thing) both require flash. Oh well
13:59:42 <elliott> Deewiant: Anyway ansi-terminal doesn't do input?? Hmph at you, hmph
14:00:06 <fizzie> Vorpal: The latter seems to work just fine with elinks.
14:00:54 <fizzie> (There's even a non-youtube download link to SUnet.)
14:01:40 <Deewiant> 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 <elliott> Deewiant: Well, libedit/readline/haskeline &co.
14:01:57 <Vorpal> oh right, it is youtube indeed
14:02:03 <elliott> Deewiant: But that's a very specific usecase :-P
14:02:13 <elliott> I can't use curses at all, sigh, it's just impossible
14:02:14 <fizzie> Just go download -> non-youtube link if you don't want flash.
14:02:42 <Deewiant> elliott: Hmm, can you mix e.g. haskeline with ansi-terminal?
14:02:44 <fizzie> The Intel thing is very probably flash-only though.
14:03:22 <elliott> 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 <Vorpal> fizzie, youtube-dl seemed to work
14:04:03 <Deewiant> elliott: If you don't care about Windows you can implement everything using only putStr and ECMA-48 :-P
14:04:06 <Vorpal> not for intel of course
14:04:09 <Vorpal> didn't even try that
14:04:20 <elliott> Deewiant: Except raw input
14:04:25 <Vorpal> fizzie, anyway how does "smart cache" differ from L2?
14:04:28 <elliott> Deewiant: Wanna write my ioctls for me?
14:04:32 <Vorpal> on a technical level I mean
14:04:55 <twice11> Vorpal: "smart cache" is dynamically shared between processor cores and integrated graphics.
14:05:01 <Vorpal> ah
14:05:24 <Deewiant> elliott: Not particularly, no; see CCBI's TERM implementation if you're doing similar things
14:05:31 <elliott> Seriously though, why would you even make a library use the alternate screen with NO CHIOCE AT ALL. :/
14:05:47 <elliott> Deewiant: Yeah, that D code will help me use awful ioctls with hideous structs from Haskell
14:05:59 <Vorpal> elliott, you can work around it by using only the terminfo interface of ncurses
14:06:00 <Deewiant> elliott: I don't use ioctl
14:06:04 <Vorpal> elliott, TERM in cfunge does that
14:06:06 <elliott> Vorpal: How
14:06:07 <twice11> 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 <elliott> Deewiant: What do you do then
14:06:18 <Deewiant> elliott: What Vorpal's talking about
14:06:22 <Vorpal> elliott, basically doing what tput(1) does
14:06:26 <elliott> Right; go on
14:06:38 <elliott> How do I put shit on the screen like that :P
14:06:40 <Deewiant> elliott: man putp
14:06:53 <Vorpal> elliott, check TERM.c from cfunge, I forgot the exact details
14:07:07 <elliott> Deewiant: Uuugh this is ugly.
14:07:16 <Deewiant> elliott: Yeah, it is
14:07:18 <Vorpal> anyawy the coordination between NCRS and TERM is tricky
14:07:27 <Vorpal> I recommend not loading both NCRS and TERM at the same time.
14:07:56 <Vorpal> 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 <elliott> Deewiant: And hscurses don't bind to it
14:08:08 <Deewiant> 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 <elliott> <elliott> Deewiant: And hscurses don't bind to it
14:08:22 <elliott> 'Least, far as I can tell
14:08:23 <Deewiant> elliott: And?
14:08:35 <elliott> What, you want me to suffer through the FFI for the privilege of using such an awful API?
14:08:36 <Vorpal> eh
14:08:39 <Vorpal> how is it ugly
14:08:41 <elliott> I hate my life.
14:08:44 <Deewiant> elliott: It only uses basic types and pointers to opaque structs AFAICT
14:08:45 <Vorpal> putp(cursor_down);
14:08:55 <Deewiant> elliott: That much FFI is hardly suffering
14:08:57 <Vorpal> I think cursor_down is defined in the header
14:09:04 <elliott> Deewiant: FFI is always sufferin'
14:09:07 <Vorpal> oh wait, it is a macro isn't it?
14:09:12 <elliott> Plus
14:09:13 <Deewiant> elliott: Your pain threshold is way lower than it should be
14:09:17 <elliott> Vorpal demonstrates the FFI problem with ncurses
14:09:20 <elliott> Everything is a fucking macro
14:09:34 <Deewiant> elliott: Nothing you need is a macro
14:09:35 <Vorpal> $ grep cursor_down /usr/include/term.h
14:09:35 <Vorpal> #define cursor_down CUR Strings[11]
14:09:37 <Vorpal> yeah
14:09:44 <elliott> Deewiant: How about that
14:09:50 <Vorpal> elliott, okay, this will be painful from anything except C and C++
14:09:50 <Deewiant> elliott: You don't need that
14:09:53 <Deewiant> elliott: You use tigetstr
14:10:08 <Vorpal> 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 <Vorpal> that might not be too painful
14:10:17 <elliott> Deewiant: Are you sure this actually does input
14:10:41 <Vorpal> I don't think the term.h interface does input.
14:10:49 <Vorpal> not sure though
14:10:57 <elliott> I like how you're both contradicting each other every line.
14:11:05 <Vorpal> heh
14:11:11 <Deewiant> elliott: I still don't know what you mean by "does input"
14:11:19 <Vorpal> Deewiant, I presume he means stdin
14:11:21 <Deewiant> elliott: getchar(3)
14:11:29 <elliott> Deewiant: With raw console, duh
14:11:32 <elliott> No buffering
14:11:34 <Vorpal> set input unbuffered and do getchar()?
14:11:42 <elliott> Vorpal: Now you have two problems!
14:11:42 <Vorpal> hm
14:11:47 <elliott> Tell me how to do the former; it will involve ioctl.
14:11:53 <elliott> Deewiant just told me to use putp to avoid ioctl.
14:12:00 <twice11> You need to turn off kernel buffering/basic line editing.
14:12:00 <elliott> And so we come full circle.
14:12:06 <Vorpal> elliott, no I think it involves setvbuf()
14:12:13 <elliott> twice11: Right, that's just a hideous pain from anything but C :)
14:12:26 <twice11> Just turning off userspace buffering like setvbuf() doesn't help.
14:12:30 <Vorpal> oh okay
14:12:35 <Deewiant> elliott: I said "if you're doing similar things", I can't even remember what things TERM has :-P
14:12:57 <Vorpal> TERM has CDGHLSU
14:13:00 <Vorpal> s/ / /
14:13:11 <Vorpal> (not helpful I know)
14:13:13 <twice11> 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 <Deewiant> Is enter_ca_mode sufficient, I wonder
14:13:49 <Vorpal> Deewiant, doesn't that do the crazy alt-screen thingy?
14:13:57 <elliott> twice11: I wish that was actually done so I could get a benefit from all this awfulness
14:14:02 <elliott> ssh line editing lag regularly annoys me
14:14:06 <Deewiant> Vorpal: It's the "do this before doing anything else"
14:14:19 <Vorpal> Deewiant, does ccbi TERM do that?
14:14:23 <Deewiant> Vorpal: Yes
14:14:31 <twice11> elliott: telnet does that as long as the program invoked does not turn off kernel line editing/buffering.
14:14:40 <twice11> You could tunnel telnet over ssh.
14:14:48 <Vorpal> oh right, so does cfunge with some defines.
14:14:52 -!- Jafet has quit (Quit: Leaving.).
14:14:56 <elliott> twice11: Hmm, right, I've never used telnet for actual shells
14:14:57 <twice11> But don't expect tab completion or history or any other fancy stuff to work.
14:15:00 <Vorpal> the problem is, that does the alternate screen that fucks with scrollbars
14:15:12 <Vorpal> and it works without that
14:15:12 <elliott> Messes with more than just scrollbars
14:15:14 <Vorpal> yes
14:15:24 <elliott> It's fine for screen-oriented UIs
14:15:25 <Vorpal> anyway:
14:15:28 <elliott> But my program is streaming, line-based
14:15:28 <Vorpal> #ifdef TERM_CAP_CORRECT
14:15:28 <Vorpal> putp(enter_ca_mode);
14:15:28 <Vorpal> atexit(finalise);
14:15:28 <Vorpal> #endif
14:15:46 <Vorpal> which is usually done
14:15:52 <Deewiant> You have an option for buggy termcaps or something? :-P
14:16:05 <twice11> In a line-based program, don't enter alt-screen mode. Easy ;)
14:16:11 <Vorpal> Deewiant, it is #defined at the top of the file, so changing it requires patching TERM.c
14:16:42 <Vorpal> 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 <twice11> If a library forces you to enter alt-screen mode, fix the library.
14:17:20 <Vorpal> twice11, problem is, you are supposed to use that before any cursor moving magic iirc. According to the documentation
14:18:09 <twice11> The idea was that you don't need cursor moving magic in a line-based program.
14:18:28 <Vorpal> iirc elliott is doing a progress bar or something
14:18:33 <elliott> And that's why wget goes into alternate screen mode to draw a progress bar
14:18:38 <twice11> At the point where you implement your own readline with sensible wrapping, the idea breaks down...
14:18:53 <twice11> huh, wget does that? Are you sure?
14:18:54 <Vorpal> elliott, it does? Why doesn't it mess up with the scrollbar then?
14:18:55 <elliott> It's more than just progress bars here, I update status indicttors too
14:18:57 <elliott> twice11: Sarcasm :)
14:19:22 <elliott> Was just giving an example of a line-based program that obviously needs cursor magic
14:19:45 <twice11> backspace is enough for updating scrollbars.
14:20:04 <twice11> And backspace is not considered "cursor movement".
14:20:13 <Vorpal> twice11, progress bars you mean
14:20:21 <twice11> Vorpal: Yes.
14:20:26 <elliott> twice11: there's more at work here
14:20:31 <elliott> I have multiple progress bars on different lines
14:20:40 <elliott> and like I said, also have to update status indicators in various lines
14:20:56 <twice11> In this case, it is no longer plain line based... Hybrid concepts are not supported. Too bad.
14:21:20 <elliott> twice11: Well, I'm not going to give up when the fix is "only" an ioctl away...
14:21:37 <elliott> Nothing actually breaks when you use cursor codes before that anyway.
14:21:54 <twice11> On most terminals I can imagine, doing what you want to do without alt screen mode works.
14:22:16 <Vorpal> elliott, wait, isn't the ioctl for input you said? Rather than output?
14:22:19 <elliott> Yep, just means I can't benefit from things like ncurses which force me into alt-screen mode
14:22:27 <elliott> Vorpal: Yes, I just mean that if I need to roll my own escapes, I need ioctl for input
14:22:30 <elliott> As opposed to using curses
14:22:36 <CakeProphet> the joys of telnet.
14:22:37 <Vorpal> ah
14:22:37 -!- Ngevd has joined.
14:23:13 <twice11> ncurses must be usable in non-alt-screen mode too.
14:23:21 <Ngevd> Hello
14:23:33 <Vorpal> 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 <twice11> AFAIK, GNU readline is based on ncurses. And readline does not enforce alt-screen.
14:23:41 <Vorpal> not sure if they fixed that in more recent versions
14:23:44 <Vorpal> it is possible
14:23:51 <elliott> twice11: Well, the standard API definitely does it.
14:24:06 <CakeProphet> I'm almost positive that telnet can ask terminal dimensions.
14:24:18 <elliott> I'm almost positive you have no idea what we're talking about.
14:24:23 <CakeProphet> that too.
14:24:27 <elliott> Vorpal: Pretty sure you can cursor-up beyond the displayed terminal height
14:24:31 <CakeProphet> other than you're talking about telnet and terminal dimensions
14:24:33 <Vorpal> elliott, hm
14:24:34 <Ngevd> Don't look at me, I just got here
14:24:36 <elliott> It's really a very big terminal, just with limited viewport
14:24:37 <elliott> CakeProphet: Not telnet
14:24:44 <CakeProphet> ah, okay. well then nevermind. :)
14:26:00 -!- sllide has joined.
14:29:05 <Vorpal> elliott, which ioctl is it
14:29:19 <elliott> SCSCTATTR or some nonsense like that.
14:29:23 <elliott> (I just typed random chars that look right.)
14:29:26 <elliott> ICOSAGET. Something.
14:29:31 <elliott> It's an awful bugger.
14:29:41 <Vorpal> which man page?
14:29:45 <elliott> termios stuff.
14:29:53 <elliott> http://en.wikibooks.org/wiki/Serial_Programming/termios
14:30:03 <elliott> Has some "lovely" examples.
14:30:10 <elliott> Hmm, OK that's not a ioctl, but there's an ioctl underneath it.
14:30:14 <elliott> Isn't termios deprecated?
14:31:15 <Vorpal> CONFORMING TO
14:31:15 <Vorpal> tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(), tcflush(), tcflow(), cfgetispeed(), cfgetospeed(), cfsetispeed(), and cfsetospeed() are specified
14:31:15 <Vorpal> in POSIX.1-2001.
14:31:16 <Vorpal> cfmakeraw() and cfsetspeed() are nonstandard, but available on the BSDs.
14:31:19 <Vorpal> well, maybe?
14:35:02 <twice11> temios-like: TCGETS/TCSETS{,F,W}; termio-like: TCGETA/TCSETA{F,W}
14:35:19 <elliott> I forget which is newer.
14:35:49 <twice11> TCSETS == TCSANOW, TCSETSF == TCSADRAIN, TCSETSF = TCSAFLUSH
14:35:57 <twice11> elliott: It's SysV/BSD, not old/new.
14:37:41 <twice11> Other people claim termios is standard, termio is BSD.
14:38:16 <elliott> BSD user, by any chance? :-)
14:38:38 <Vorpal> "The termio interface is now obsolete: POSIX.1-1990 standardized a modified version of this interface, under the name termios."
14:38:42 <Vorpal> says man termio here
14:39:20 <elliott> Right.
14:40:08 <Vorpal> but I would guess twice11 is a BSD user from that
14:40:12 <elliott> Hmm, /can/ you go above the terminal size with cursor movement?
14:40:18 <elliott> I suppose it's easy enough to avoid.
14:40:24 <Vorpal> try it and see?
14:40:24 <elliott> But it makes scrolling up ... ugly.
14:40:27 <elliott> Vorpal: Lazy.
14:40:33 <Vorpal> with a few different terminals I guess
14:40:42 <twice11> No, Linux only.
14:41:07 <twice11> But sometimes remembering things incorrectly.
14:41:48 <elliott> [elliott@dinky ~]$ tput cols | cat -v
14:41:48 <elliott> 168
14:41:48 <elliott> Disturbing. :/
14:41:53 <elliott> Reveal your secrets!!!
14:42:12 <Vorpal> strace?
14:42:29 <Vorpal> it might just look at $COLUMNS :P
14:42:35 <Vorpal> which iirc the shell sets
14:42:45 <elliott> Wow, $COLUMNS actually gets set.
14:42:52 -!- tiffany has joined.
14:42:59 <Vorpal> elliott, remember that the user might resize the terminal window while your program is running
14:42:59 <elliott> How to install strace:
14:43:02 <elliott> 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 <elliott> 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 <elliott> 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 <elliott> 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 <elliott> 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 <Vorpal> elliott, doubtful your own COLUMNS would be upgraded then
14:43:13 <Vorpal> elliott, what?
14:43:18 <elliott> Vorpal: Yeah, I'll have to roll my own.
14:43:49 <Vorpal> elliott, here strace only depends on perl. Guess that could pull in a lot.
14:44:01 <Vorpal> 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 <Deewiant> strace doesn't depend on all that
14:44:23 <Vorpal> oh it is that on arch
14:44:24 <Vorpal> hm
14:44:32 <elliott> Vorpal: Those are what vi version numbers look like
14:44:45 <Vorpal> elliott, did you do pacman -Su strace or something?
14:44:56 <elliott> -Syu
14:45:04 <Vorpal> well okay that will do system upgrades too
14:45:06 <elliott> Beats remembering to upgrade the system regularly
14:45:07 <Deewiant> I.e. "update whole system, oh and install strace"
14:45:12 <elliott> Deewiant: Yep
14:45:17 <Vorpal> elliott, pacman -S strace will probably just show strace :P
14:45:19 <elliott> Deewiant: It's either that or avoid synchronising
14:45:21 <Deewiant> So not reallywquite "how to install strace"
14:45:25 <elliott> Or I might get inconsistent packages
14:45:31 <Deewiant> + ctrl
14:45:31 <elliott> So -Syu all the time it is
14:45:40 -!- sebbu has quit (Ping timeout: 256 seconds).
14:46:06 <elliott> Vorpal: Guess what tput uses (it's ioctl)
14:46:30 <Vorpal> elliott, it might use termios, but if termios is done in glibc it would likely map to ioctl
14:46:38 <Vorpal> remember, strace shows ioctls, not library calls
14:46:41 <Vorpal> err system calls
14:46:58 <elliott> Vorpal: Oh, termios lets you do that?
14:47:14 <Vorpal> nm -D /bin/tput
14:47:16 <Vorpal> no ioctl
14:47:20 <Vorpal> lots of termios stuff
14:47:43 <elliott> OK, now I must face my true problem: termios is butt-ugly.
14:47:52 <Vorpal> wait, is that ncurses stuff rather
14:47:53 <Vorpal> it might be
14:48:12 <Vorpal> elliott, yes it is term.h stuff
14:48:16 <Vorpal> not termios
14:48:23 <elliott> God dammit term.h
14:48:27 <elliott> All roads lead to you
14:48:37 <Vorpal> elliott, but that still doesn't deal with the input issue at all
14:48:42 <Vorpal> I suspect you need termios for that
14:48:48 <elliott> Sure, but I don't want to use term.h
14:48:50 <elliott> 'S ugly
14:48:53 <elliott> 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 <Vorpal> certainly
14:48:56 <elliott> termios is about as raw as it gets
14:49:22 <twice11> tcgetattr/cfmakeraw/tcsetattr is the usual way to get raw input.
14:49:23 <Vorpal> elliott, term.h provides you will a way to look up the control codes. And yes ncurses headers suck.
14:49:32 <twice11> The first and third call ends up in an ioctl.
14:49:39 <elliott> 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 <elliott> What I don't understand is, how can "cols" be a capability, like this and man tput imply?
14:49:44 <Vorpal> twice11, cfmakeraw is a deprecated BSD only thingy
14:49:47 <Vorpal> as far as I can tell
14:49:47 <elliott> It sounds like they're static configuration values from the terminfo database.
14:49:54 <elliott> But obviously columns change.
14:50:09 <Vorpal> yes, beats me how it handles that
14:50:12 <twice11> you can ask for cols through an ioctl.
14:50:19 <twice11> But not all terminals support that.
14:50:22 <Vorpal> wait, isn't there a signal for resized terminal?
14:50:25 <Vorpal> that some terminals do
14:50:26 <twice11> I mean terminal driver.
14:50:27 <Vorpal> but not all
14:50:30 <twice11> SIGWINCH
14:51:03 <elliott> twice11: Linux console/xterm/rxvt/gnome-terminal is pretty much all I care about, honestly.
14:51:03 <CakeProphet> SIGWICH mmmmmmm
14:51:15 <Vorpal> I seem to remember some terminal emulator that let me set if I wanted to use SIGWINCH or something else
14:51:23 <Vorpal> might have been konsole
14:51:24 <Vorpal> not sure
14:51:57 <CakeProphet> 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 <Deewiant> Yes
14:52:08 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
14:52:30 <Vorpal> the sole reason for me is that KDE 4 is horrible.
14:52:37 <CakeProphet> the starts-with-a-K naming scheme just makes me... kringe.
14:52:54 <twice11> But isn't that kool?
14:52:56 <Vorpal> gnome has quite a few things starting with g iirc
14:53:02 -!- sebbu2 has quit (Ping timeout: 256 seconds).
14:53:36 <elliott> Nothing starts with g nowadays :P
14:53:45 <Vorpal> maybe
14:53:57 <Vorpal> elliott, a few of the games iirc?
14:53:57 <CakeProphet> 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 <CakeProphet> which is somehow better?
14:54:19 <elliott> Vorpal: AisleRiot, Quadrapassel, ...
14:54:31 <Vorpal> gweled
14:54:56 <CakeProphet> I have gbrainy in games.
14:54:59 <CakeProphet> *Games
14:54:59 <elliott> Vorpal: Very unofficial from the looks of it
14:55:03 <Vorpal> elliott, hm
14:55:04 <elliott> Not GNOME at all
14:55:13 <elliott> CakeProphet: That's the only example I can think of
14:55:43 <Vorpal> gedit
14:55:46 <CakeProphet> I can think of -- yes
14:55:47 <Vorpal> (not a game)
14:55:51 <CakeProphet> you beat me. :P
14:55:56 <CakeProphet> gedit is a perfectly acceptable name.
14:56:09 <CakeProphet> I base this on arbitrary aesthetic values.
14:56:10 <Vorpal> gconf-editor
14:56:21 <CakeProphet> g is a helpful indicator here.
14:56:29 <CakeProphet> and shorter than gnome-conf-editor
14:57:11 <Vorpal> gnome-panel, that doesn't just start with g, it starts with a whole "gnome"
14:57:21 <elliott> <Vorpal> gconf-editor
14:57:23 <elliott> please :P
14:57:24 <CakeProphet> if most of the applications in Gnome started with a big capital G as the first word of the name.
14:57:27 <Vorpal> elliott, what?
14:57:29 <CakeProphet> I would also feel the same way about gnome.
14:57:41 <elliott> also, gnome-panel is actually just Panel I think
14:57:47 <elliott> gnome-panel is just the executable
14:57:47 <CakeProphet> s/word/letter/
14:58:16 <Vorpal> /usr/bin/gnome-sudoku hm
15:00:26 <Vorpal> what about gphoto2
15:00:29 <Vorpal> isn't that gnome?
15:00:32 <CakeProphet> 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 <Vorpal> or hm maybe not
15:00:44 <elliott> CakeProphet: coooooool
15:00:52 <CakeProphet> elliott: I agree.
15:01:57 <CakeProphet> they should have a Ukubuntu where "Trash" is called "Rubbish"
15:02:03 <CakeProphet> that is the only change.
15:02:29 <elliott> CakeProphet: it's called the Rubbish Bin in UK locales
15:02:35 <elliott> gnome has many localisations, you know
15:02:44 <Vorpal> 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 <Vorpal> (between different terminals I mean)
15:03:00 <elliott> Vorpal: "portable", do you even believe yourself. show me a terminal that can't do vt100
15:03:09 <CakeProphet> elliott: oh really? those craft gnomes.
15:03:14 <CakeProphet> *crafty
15:03:21 <Vorpal> elliott, sec
15:03:32 <elliott> Vorpal: That works with modern linux and is a progra
15:03:32 <elliott> m
15:03:43 <Vorpal> elliott, oh. I was about to say VT62 :P
15:03:44 <CakeProphet> elliott: can microsoft run do vt100?
15:04:00 <Vorpal> run do?
15:04:01 <CakeProphet> *run.exe or whatever
15:04:05 <Vorpal> cmd.exe?
15:04:08 <CakeProphet> er
15:04:08 <CakeProphet> yes
15:04:12 <Vorpal> unlikely
15:04:25 * CakeProphet <-- Wundoes Youser
15:05:00 <Vorpal> ?
15:05:32 <Vorpal> elliott, anyway I seen someone do terminal on matrix printer with linux 2.6.something
15:05:32 <CakeProphet> I will let you puzzle it out on your own
15:05:36 <Vorpal> it is still supported
15:05:44 <Vorpal> elliott, not a sane setup though :P
15:05:47 <elliott> Not a terminal :P
15:06:06 <Vorpal> I forgot what the input was
15:06:21 <CakeProphet> can Cygwin do vt100? I recall seeing vt100-like things in it before.
15:06:25 <CakeProphet> but it runs through cmd.exe
15:06:33 <Vorpal> elliott, I used serial console myself a few times on modern linux.
15:06:48 <elliott> you're not a person; anyway does that even count as a tty
15:06:51 <elliott> what does isatty think
15:07:02 <Vorpal> for serial console? No idea
15:07:24 <elliott> i bet it thinks no
15:07:31 <elliott> in which case the package manager will use paper trail output
15:07:34 <elliott> rather than interactive output
15:08:14 <Vorpal> 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 <Vorpal> I guess there is packagekit, doubt that would fit you
15:08:29 <elliott> that's what libraries are for
15:08:35 <Vorpal> fair enough
15:08:48 <CakeProphet> libraries are for books not packages.
15:08:50 <elliott> 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 <Vorpal> elliott, is this for download or for installation too?
15:09:48 <elliott> it's for... package management
15:10:16 <Vorpal> elliott, yes but surely not all bits of package management needs a progress bar.
15:10:23 <Vorpal> only those that take some time
15:10:25 <elliott> yeah that's totally a thing i implied
15:10:32 <elliott> you're being perfectly reasonable by stating this as if it's somehow cogent
15:10:45 <Vorpal> I'm glad you feel that
15:11:10 <Vorpal> so I guess you plan to use it for more than just download, such as compilation and installation?
15:11:39 <elliott> no, by package manager all this time i've actually meant wget
15:13:10 <CakeProphet> wget is the great for Porkege Ménagement
15:14:15 -!- Ngevd has quit (Quit: Leaving).
15:25:22 <CakeProphet> elliott: happy day-in-which-King-James-1-is-still-alive day.
15:25:29 <CakeProphet> 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 <elliott> def ioctl_GWINSZ(fd):
15:43:21 <elliott> try:
15:43:22 <elliott> import fcntl, termios, struct, os
15:43:22 <elliott> cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ,
15:43:22 <elliott> '1234'))
15:43:22 <elliott> except:
15:43:24 <elliott> return None
15:43:26 <elliott> return cr
15:43:28 <elliott> Vorpal: OH GOODY
15:45:58 <elliott> Kind of tempting just to shell out to tput
15:46:18 -!- pikhq has joined.
15:46:23 <elliott> Unless you can do that with the portable termios api
15:46:25 <elliott> i.e. not ioctl
15:46:27 -!- pikhq_ has quit (Ping timeout: 252 seconds).
15:46:53 <elliott> hi pikhq
15:47:56 -!- Nisstyre has quit (Ping timeout: 260 seconds).
16:00:01 -!- monqy has joined.
16:06:16 <Vorpal> wait
16:06:21 <Vorpal> fcntl.ioctl?
16:06:22 <Vorpal> what?
16:06:36 <twice11> fcntl == module name, ioctl == function name.
16:06:36 <Vorpal> oh wait, that is python
16:06:37 <Vorpal> right
16:06:40 <Vorpal> *phew*
16:06:52 <Vorpal> 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 <tswett> Why would you ever have a function pointer anywhere other than a struct?
16:53:27 <tswett> }:P
16:54:26 <Vorpal> tswett, in qsort() parameter list for example
16:55:13 <Vorpal> cfunge puts them in dynamically allocated arrays acting as stacks iirc.
16:55:44 <tswett> What are qsort's parameters?
16:56:00 <Vorpal> 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 <Ngevd> BEFUNGE 93 WITH NUMBERED MACROS
18:11:10 <monqy> hi
18:11:17 <CakeProphet> o/ hi
18:11:19 <Ngevd> Hello
18:11:22 <oerjan> ho
18:11:35 <CakeProphet> var "friendship ho"
18:11:36 <Ngevd> oerjan: this isn't #esoteric-minecraft
18:11:41 <CakeProphet> > var "friendship ho"
18:11:42 <lambdabot> friendship ho
18:11:53 <oerjan> Ngevd: wat
18:11:58 <Ngevd> hi ho
18:12:03 <Ngevd> Disney's Snow White
18:12:08 <Ngevd> Dwarfs who do mining
18:12:10 <CakeProphet> implying dwarves
18:12:10 <Ngevd> Minecraft
18:12:12 <CakeProphet> implying...
18:12:18 <CakeProphet> dwarf fortr--wait what?
18:12:23 <CakeProphet> oh okay.
18:12:30 <CakeProphet> sure.
18:12:51 <oerjan> I think so Ngevd, but where are we going to find 500 unicycles?
18:13:02 <Ngevd> Well, I have one
18:13:07 <Ngevd> And a dinner to eat
18:13:12 -!- Ngevd has quit (Quit: CURRY TIEM).
18:13:30 <CakeProphet> oerjan: just find 250 bicycles and cut them in half.
18:13:50 <oerjan> brilliant!
18:17:22 <oerjan> <CakeProphet> elliott: happy day-in-which-King-James-1-is-still-alive day.
18:17:28 <oerjan> OMG ZOMBIE KING
18:24:44 -!- Ngevd has joined.
18:24:47 <Ngevd> Hello
18:25:10 <oerjan> you eat fast
18:25:18 <Ngevd> It was a madras
18:25:27 <Ngevd> And I'm not a big eater
18:26:43 <CakeProphet> what does your size have to do with anything?
18:26:49 <CakeProphet> :>
18:26:53 * elliott small eter
18:26:57 <elliott> im cat
18:29:17 <CakeProphet> s/cat/land fish/
18:31:06 <oerjan> now lessee, if a cat loves to eat sea kittens...
18:31:44 <CakeProphet> speaking of that conversation, I am eating honey right now.
18:31:48 <CakeProphet> best vomit ever.
18:34:12 <elliott> i did it guys
18:34:12 <elliott> i foudn
18:34:15 <elliott> the worst subreddit
18:34:17 <elliott> http://www.reddit.com/r/aaaaaatheismmmmmmmmmm
18:34:21 <elliott> it's f7u12
18:34:25 <elliott> ...for /r/atheism
18:34:42 <elliott> monqy: rejoice with me
18:35:27 <monqy> :(
18:36:35 <elliott> monqy: http://i.imgur.com/VF98o.png
18:36:45 <elliott> this is stellar.
18:37:08 <elliott> monqy: classic vintage rage comics; http://www.reddit.com/r/classicrage
18:37:34 <Ngevd> Satan's in the Philippines
18:37:56 <elliott> Ngevd: do you like dst
18:38:07 <CakeProphet> elliott: I'm not entirely sure I'm making the connection between that picture and stars.
18:38:17 <Ngevd> It has its upsides
18:38:23 <monqy> dst is all bad
18:38:26 <elliott> Ngevd: no. no no no. bad.
18:38:28 <monqy> there is nothing good about it
18:38:30 <elliott> bad opinions
18:38:40 <elliott> CakeProphet: what
18:38:50 <CakeProphet> 13:36 < elliott> this is stellar.
18:38:57 <elliott> oh.
18:39:15 <CakeProphet> :3 :> etc
18:41:30 <elliott> monqy: http://i.imgur.com/7tEqu.jpg
18:41:32 <Ngevd> The Commonwealth of England had a stupid flag
18:41:39 <elliott> these are the worst things ever made by humanity
18:41:45 <elliott> in fact if we showed this to aliens who came down and were like
18:41:47 <elliott> justify your species
18:41:50 <elliott> we'd be so fucked
18:42:29 <elliott> "what IS this PRAYER..no BURNS! no! burn!"
18:42:32 <elliott> --fungot
18:42:32 <fungot> 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 <elliott> `addquote <fungot> 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 <fungot> 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 <HackEgo> 709) <fungot> 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 <elliott> ^style
18:43:10 <fungot> 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 <monqy> wow these reddits images
18:43:28 <monqy> wow this reddits
18:43:33 -!- zzo38 has joined.
18:43:37 <monqy> who would do this
18:43:48 <elliott> http://i.imgur.com/BEaH0.png
18:43:57 <elliott> the world is so beautiful
18:44:17 <elliott> the part of my brain that should turn to pure blackened hatred when i see things like this
18:44:22 <elliott> got spontaneously reconfigured at some point
18:44:32 <elliott> so it just makes me think of how beautiful life is instead, it's great
18:44:46 <elliott> maybe i should like read freerepublic daily to keep my happies up
18:45:36 <elliott> monqy: http://i.imgur.com/b83hr.png
18:45:39 <elliott> monqy: it's...
18:45:40 <elliott> i
18:46:31 <monqy> ;_;
18:48:57 <monqy> i wish i had this....reconfigured brai.nnnnn
18:49:36 <elliott> monqy: the key is i think
18:49:39 <monqy> maybe i am reacting inappropriately as well, but not in such a pleasant manner....
18:49:44 <elliott> extreme extrospection (totally a word) whenever you meet anything like this
18:50:06 <elliott> i just lean back and look at the world and also humanity and i'm like ha ha ha ha hahahahaha
18:50:13 <elliott> oooh new iwc annotation
18:50:36 <Ngevd> It's about ATOMS
18:50:41 <monqy> i guess im hahahaha too but i don't know how to describe it....im bad at feelings....
18:51:17 <elliott> oerjan: how do you even like dmm, he's so happy and upbeat.
18:51:32 <monqy> is oerjan emo
18:51:32 <CakeProphet> 13:43 < elliott> got spontaneously reconfigured at some point
18:51:37 <CakeProphet> puberty?
18:51:38 <Ngevd> elliott, he's like me
18:51:41 <elliott> monqy: yes "emoerjan"
18:51:47 <elliott> Ngevd: are you emo as well
18:51:51 <Ngevd> No
18:51:53 <Ngevd> I am anti-emo
18:52:00 <monqy> ngemovd
18:52:00 <elliott> ok
18:52:02 * CakeProphet is emo. -_;;
18:52:07 <Ngevd> One person showed up to my birthday party
18:52:14 <Ngevd> And I was all like "who cares?"
18:52:23 <Ngevd> "There's a universe to explore!"
18:52:29 <Ngevd> "Also, more cake for me!"
18:52:46 <CakeProphet> http://www.youtube.com/watch?v=EJ51kW684FM
18:52:46 -!- sebbu has quit (Read error: Connection reset by peer).
18:52:54 <CakeProphet> wrong channel
18:52:56 <CakeProphet> but whatever
18:52:57 <elliott> "dephlogisticated air" :D
18:53:26 <Ngevd> 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 <zzo38> 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> <elliott> 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 <Phantom_Hoover> <elliott> wowflowrs! ! 1 nobdy 0sksi a go
19:27:00 <Phantom_Hoover> elliott's cryptic final transmission.
19:27:27 <Phantom_Hoover> <Ngevd> I am anti-emo
19:27:41 <Phantom_Hoover> I'm mismisanthropicic, can we fight crime?
19:28:06 <Ngevd> If I collide with an emo, we annihilate each-other in a burst of energy
19:28:32 <oerjan> i don't see how you could possibly get energy from an emo.
19:28:51 <Ngevd> Okay, a burst of energy and anti-energy
19:28:57 <Ngevd> Which then collide and form matter
19:30:15 <Ngevd> And that's all that matters
19:30:25 <Ngevd> And Phantom_Hoover, yes. We can fight crime.
19:30:30 <Ngevd> Meet you in Glasgow?
19:30:49 <Phantom_Hoover> No you can't fight crime in Glasgow.
19:31:13 <Phantom_Hoover> It's like trying to get rid of the space-time continuum.
19:31:26 <Ngevd> Hmm...
19:31:31 <Ngevd> Meet you in Newcastle?
19:31:49 <Phantom_Hoover> Which one?
19:32:00 <Ngevd> Upon Tyne
19:33:17 <Ngevd> Or New South Wales, your call
19:33:33 <zzo38> (I was replying to oerjan's message at UNIX timestamp 1320562665)
19:35:35 <CakeProphet> so many limeys.
19:35:48 <Ngevd> That's a thought
19:35:54 <Ngevd> We could go Under Lyme?
19:37:14 -!- GreaseMonkey has joined.
19:38:06 <Ngevd> Hello, GreaseMonkey
19:38:12 <GreaseMonkey> '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 <ais523> headline just seen on the news: [CG :88
21:02:10 <ais523> I assume it's a typo, rather than some sort of complex smiley
21:02:27 <Ngevd> CG would be Karkat...
21:02:29 <Ngevd> Hmmm
21:26:13 -!- edne has joined.
21:27:35 -!- edne has left.
21:51:58 -!- Ngevd has quit (Quit: Leaving).
21:53:17 <zzo38> 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 <zzo38> 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 <CakeProphet> Act 6 is going to be amazing.
21:55:25 <zzo38> I don't know if anyone can do that.
21:56:42 <coppro> zzo38: Some phone operators provide a number which allows you to change your features by calling it
21:57:15 <tswett> zzo38: a little bit like USSD?
21:57:37 <tswett> By the way, otoko no ko
21:58:16 <zzo38> 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 <zzo38> tswett: What is USSD?
21:58:30 -!- Ngevd has joined.
21:58:53 <zzo38> O, I found it in Wikipedia
21:59:00 <tswett> 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 <tswett> Such as diagnostics or reversing the polarity.
21:59:32 <coppro> can it bounce the graviton particle beam off the main deflector dish?
21:59:48 <tswett> coppro: yes, but nobody knows the code for that.
22:00:20 <Vorpal> <zzo38> 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 <Vorpal> isn't out of band metadata better than in-band?
22:01:15 <tswett> 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 <zzo38> 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 <Vorpal> 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 <Vorpal> zzo38, isn't land line dying anyway, compared to voip
22:04:19 <zzo38> I still use landline service.
22:04:21 <Vorpal> 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 <tswett> Vorpal: well, I meant "Ubuntu and all packages available for it in the official repositories".
22:05:04 <Vorpal> tswett, ah
22:05:12 <Vorpal> tswett, yeah that is /quite/ a bit more then
22:05:28 <zzo38> 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 <Vorpal> tswett, sigh, if only there was a distro with a repo as extensive as ubuntu but rolling release....
22:06:15 <CakeProphet> Rollbuntu
22:06:17 <Vorpal> 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 <Deewiant> What's wrong with the multilib support
22:06:49 <Vorpal> and of course debian's package building system is a mess
22:07:55 <Vorpal> Deewiant, badly incomplete
22:08:06 <Deewiant> How so
22:08:36 <Vorpal> missing headers for 32-bit, few libraries. I mean there was no OpenMPI library for 32-bit last I checked
22:08:40 <Vorpal> and so on
22:08:55 <Vorpal> the 32-bit libraries that exist are there to support a few packages, like zsnes and so on
22:09:10 <Vorpal> but apart from those required by the binary 32-bit packages in the repo: not much
22:09:44 <Deewiant> Fair enough; personally I've yet to need anything that wasn't in the repo
22:10:32 <Vorpal> 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 <Vorpal> in the latest glibc that is
22:10:50 <Vorpal> there are no errors when running on ubuntu
22:11:01 <Vorpal> (10.04 LTS)
22:11:11 <Vorpal> (so a bit older glibc)
22:11:32 <zzo38> Do any of the BayHac2011 Haskell programs exist?
22:12:25 <Vorpal> Deewiant, also the lack of debug info for glibc means I can't really track down the missing suppression...
22:12:58 <Vorpal> -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 <Vorpal> Phantom_Hoover, do you happen to remember the name of that libc elliott was interested in?
22:35:57 <Phantom_Hoover> No.
22:35:59 <Vorpal> oh well
22:36:15 <Vorpal> I think it started with m. Time for a very wide grep of the logs
22:36:21 <monqy> musl?
22:36:28 <Vorpal> ah thanks
22:36:30 <Vorpal> that was it
22:43:28 <Vorpal> 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 <Vorpal> still worth trying building against
23:06:28 <pikhq> Yeah, it's a very good libc, if still a work in progress.
23:07:12 <Vorpal> 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 <pikhq> 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 <Vorpal> <pikhq> 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 <BlueProtoman> 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 <BlueProtoman> Anyone?
23:43:45 * ais523 looks
23:44:37 <ais523> you aren't assigning the result of jumpPosition.pop() to anything
23:45:52 <BlueProtoman> Let's see, then.
23:47:05 <BlueProtoman> pop() is void, though...
23:49:35 <BlueProtoman> Any thoughts, ais523?
23:51:34 -!- ais523 has quit (Ping timeout: 240 seconds).
23:52:13 -!- ais523 has joined.
23:52:40 <Vorpal> BlueProtoman, err: jumpPosition.push(ptr+1);
23:52:53 <Vorpal> BlueProtoman, you should run the condition every time surely
23:53:08 <Vorpal> you need to run the condition when you enter the loop anyway
23:53:17 <Vorpal> which you don't seem to do
23:53:26 <BlueProtoman> Run the condition? I don't get it,
23:53:35 <Vorpal> BlueProtoman, A loop might run zero times.
23:53:37 <BlueProtoman> Ah wait, you mean testing the stack for whether it's empty?
23:53:42 <Vorpal> if the current cell if 0
23:53:45 <Vorpal> it won't ever run
23:53:59 <Vorpal> it will stop when at the start of an iteration the current cell is zero
23:54:12 <Vorpal> so the loop logic is wrong
23:54:16 <BlueProtoman> Vorpal: That's the point of the Brainfuck language isn't it?
23:54:21 <BlueProtoman> Hm...
23:54:27 <Vorpal> yes, but you don't seem to do that currently
23:54:46 <Vorpal> you check if (*ptr) at the end of the loop
23:54:55 <Vorpal> which means every loop will run at least once
23:55:44 <Vorpal> BlueProtoman, you need code to scan forward to the matching ] without executing
23:55:55 <Vorpal> since a loop can be executed zero times
23:56:17 <BlueProtoman> I see...I can maybe throw another function in there for that.
23:56:35 <BlueProtoman> So check for a ], then...hm...
23:56:38 <Vorpal> personally I would parse it into a tree then exeute the tree.
23:56:42 <BlueProtoman> This is tougher than I thought.
23:57:24 <BlueProtoman> Tree? I think I'm lost now. I've only been studying C++ for a few months.
23:57:43 <Vorpal> 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 <Vorpal> oh well, ask ais523. I'm not good at explaining.
23:58:55 <ais523> and I'm about to go home
23:58:55 <BlueProtoman> I wanna write a BF IDE that can both compile and interpret.
23:59:13 <BlueProtoman> I'm getting it together bit by bit by bit.
23:59:42 <BlueProtoman> Well, thanks anyway.
←2011-11-05 2011-11-06 2011-11-07→ ↑2011 ↑all