00:02:08 that cannot be the original text surely 00:02:47 I love the name Diet 00:02:49 the national diet of japan. everyone must eat according to it! 00:02:56 oerjan: why not? 00:03:02 apart from being translated, obviously 00:03:11 His Majesty the Emperor 00:03:11 At Trondheim 00:03:11 Cruising along the canal, 00:03:11 From the windows 00:03:11 Of houses are people 00:03:11 I haven't a clue why it's "The Diet". 00:03:12 Seen smiling and waving hands. 00:03:15 that is a really shitty poem 00:03:45 also referring to himself in his poem what 00:03:46 * pikhq shall look to see if the Japanese can be found 00:03:48 i vaguely recall it's a borrowed word 00:04:00 you are STUPID mr. emperor 00:04:05 oerjan: why do you not think it is the original text? 00:04:10 alise_: well translation's what i meant 00:04:17 The word diet derives from Latin and was a common name for an assembly in medieval Germany. The Meiji constitution was largely based on the form of constitutional monarchy found in nineteenth century Prussia and the new Diet was modeled partly on the German Reichstag and partly on the British Westminster system. Unlike Japan's modern constitution, the Meiji constitution granted a real political role to the Emperor, although in practice the Emperor's powers 00:04:18 were largely directed by a group of oligarchs called the genrō.[16] 00:04:20 oerjan: right 00:04:52 alise_: i don't think he's referring to himself, sheesh 00:04:58 that's just the section title 00:05:12 Oh, that'd do it. 00:05:20 oerjan: oh :P 00:07:45 Found the actual original. 00:07:50 "トロンハイムの運河を行けば家々の窓より人ら笑みて手を振る" 00:08:57 alise_: No, he is not referring to himself. 00:09:11 The English translation is *adding* a lot. 00:09:25 Translate it for us then plz? 00:10:35 "Trondheim (of) canal (obj) going houses (of) windows, people-group laughing, hand wave" 00:10:38 There's a gloss for you. 00:10:59 hmm... my fonts are missing half those characters. 00:11:05 any recommendations? 00:11:43 Or. "Going through Trondheim, at their windows, people are laughing, waving." 00:11:54 Erm. 00:12:03 s/laughing/smiling/ in that actual translation. 00:12:36 well the _theme_ of that year's poetry was "smile" 00:13:12 平成18年歌会始お題「笑み」 00:13:25 That's more "Laughter" than "smile". 00:13:52 Though, it's more of a "happy-gleeful" sort of laughter than mocking sort of thing. 00:14:00 ok 00:14:00 Translation is a bitch. 00:15:07 http://www.kunaicho.go.jp/culture/utakai/utakai-h18.html This page also has a *lot* more poems than the English. 00:16:43 Mathnerd314: what OS? 00:16:57 -!- Sgeo has joined. 00:17:11 pikhq: he is a bad poet. 00:17:19 alise_: It's not bad in Japanese. 00:17:31 It just loses a lot in the translation. 00:17:35 And it's not *great*. :P 00:17:44 alise_: aren't fonts are OS-independent... ? 00:17:52 Mathnerd314: Just answer the question :P 00:18:01 ok... Windows 00:18:04 Seems to be... Everyone in the royal family, every prefecture head, and... A Brazilian diplomat? 00:18:05 (Yes they are, mostly, but--) 00:18:13 Mathnerd314: Put in your Windows install CD, go to keyboard settings, go to I think the third tab. 00:18:19 Click install Japanese/Chinese fonts. 00:18:27 Which is the reason I asked. 00:18:32 oh. 00:18:33 They won't be antialiased but who cares. They'll work. 00:18:46 Mathnerd314: If you don't want to do that, dunno. 00:18:50 Google "windows asian fonts". 00:18:55 Speaking of which, pikhq: what are some good antialiased Asian fonts for Linux? 00:19:02 Also I have to be up at 9am sigh. 00:19:17 alise_: I'm using Takao. 00:19:24 Crap for Chinese though. 00:19:51 So there aren't any good ones? :( 00:19:54 (you need a seperate font for Chinese and Japanese, as the ways of writing them have changed a bit.) 00:20:10 Also, will shit automatically use it when the current font fails hard? I assume so. 00:20:19 ...and how can it detect /that/? 00:20:37 In HTML, you can specify the used language. 00:20:44 Outside of HTML, "you're fucked". 00:20:54 Okay. 00:21:10 "Gothic"? 00:21:18 I assume that doesn't mean that. 00:21:36 "Gothic" is an old term for "serif". 00:21:40 Erm. 00:21:44 Sans-serif. 00:21:46 Right. 00:21:56 I am not up-to-date with the olde typographical termies. 00:22:14 It's still used in Japanese to describe sans-serif fonts. 00:22:35 Mincho should be your serif font. 00:23:20 no, _this_ is gothic http://www.wulfila.be/gothic/browse/text/?book=1 00:23:24 "Mincho", meaning "the style used in the Ming dynasty". 00:24:23 (when the printing press became common in China) 00:24:40 Erm. Japan. 00:25:14 The type style actually was made in the Song dynasty, and so it's called a Song typeface in Chinese. 00:27:33 -!- cheater2 has quit (Read error: Connection reset by peer). 00:27:48 -!- cheater2 has joined. 00:28:41 * pikhq would really like to figure out what font *is* being used for Chinese here, because it looks awful. 00:31:46 no takao in ubuntu :( 00:32:49 Kochi mincho is also nice looking. 00:33:15 The only reason I use Takao is because it's more readable at 9pt. 00:33:29 That's in, yay. 00:33:35 Gothic and Mincho, which is superior? 00:33:53 Sans-serif and serif, which is superior? 00:34:32 serious people use serif 00:34:58 http://www.nihongoresources.com/language/writing/typefaces.html Here. You look and see. 00:36:17 I have no idea how you put serifs on Japanese. 00:36:46 Text book print style, block style, flowing/semi-cursive, and cursive/grass are all nice... >__> 00:36:51 s/>__>/>_>/ 00:36:58 But I don't really like Ming or Gothic. Ming is better though. 00:37:03 So Gothic is sans-serif, not serif. 00:37:16 Yes. 00:37:29 ttf-kochi-mincho is already the newest version. 00:37:31 Is it bitmap, then? 00:37:37 No. 00:37:40 Also, you said serif :P 00:37:44 Then how do I tell fontconfig to use it? 00:37:52 I then corrected myself. 00:37:59 Erm. 00:38:02 Ah, you did. 00:38:04 Yeah. 00:38:05 *Ah, so you did. 00:38:11 Dunno how to get fontconfig to use it. 00:38:41 The semicursive there looks pretty much like my Japanese handwriting, except written by a neater person. :P 00:38:55 ... And with a brush... 00:39:37 alise_: so I see you've named some language called UniCode? 00:39:44 yes; a non-existent one 00:40:12 Grass script is really hard to read. 00:40:17 alise_ is here! 00:40:26 And doesn't have an iProduct tag in eir name! 00:40:42 Yes, until Tuesday. 00:40:44 Bank holiday Monday. 00:42:20 but see, I think all you need for Unicode to be turing-complete is a "duplicate next few codepoints" character 00:43:06 or some other form of decision 00:43:17 I was just using Unicode for the character set. 00:43:19 Also, that is false. 00:43:50 Why? Does Unicode already have ifs or something? 00:44:26 nope 00:44:36 {papna} You can write good programs in all sorts of awful languages. 00:47:33 N1 will get 2.2 first? 00:51:14 wrong channel 00:51:36 -!- Gracenotes has joined. 00:54:50 -!- augur has quit (Read error: Connection reset by peer). 00:58:03 -!- MizardX has quit (Ping timeout: 276 seconds). 00:58:20 * alise_ notes that conventional proof by contradiction /does/ work in intuitionistic logic 00:59:10 naturally, since not a is defined essentially as "a implies a contradiction" 00:59:12 uh no it doesn't 00:59:14 specifically, the (P -> ~P) -> ~P kind; just not the (~P -> P) -> P kind 00:59:22 Theorem reductio_ad_absurdum (P : Prop) : (P -> ~P) -> ~P. 00:59:23 intros; intro. 00:59:23 set (H1 := H H0). 00:59:23 contradiction. 00:59:23 Qed. 00:59:23 Yes it does. 00:59:39 ummmmm that's reductio_ad_absurdum 00:59:55 Close enough. 00:59:58 proof by contradiction is ~~P -> P 01:00:06 We take a to be true; we show that it cannot be so, thus contradiction. Therefore not a. 01:00:07 Q.E.D. 01:00:08 i thought those are synonyms 01:00:15 oerjan, classicaly they are 01:00:19 It's a subset of proof by contradiction. 01:00:20 hm... 01:00:25 It's the /majority/ of proofs by contradiction. 01:00:31 And I said /conventional/ proof by contradiction. 01:06:17 proof by majority contradiction. 01:06:25 [[Put yourself in this situation: You are a UK hacker writing a program, using, say, curses, where all the constants are written in US English (MAX_COLORS, etc.). Now you want to write a function that returns a random colour. Now consider this paradox: Do you call it randomColour, making the integrity of names suffer? or do you call it randomColor, making it look ugly in your own eyes? Now with ncurses it's not a problem, there are only few variables that 01:06:25 you can easily #define and put into void.h. But with OpenGL, there's a crapload of that and I don't know what to do.]] 01:06:28 Err... Isn't the answer obvious? 01:06:30 Like, to everyone? 01:06:44 troll thread 01:06:56 i dunno 01:07:04 /prog/ usually isn't that subtle 01:07:06 this is a good reply "Oh fuck off you fucking polaczky przeciętniaczky " 01:07:07 port-has-set-port-position!? -- R6RS 01:07:09 impressive 01:07:21 should have used an interrobang 01:07:25 couleursRandoms 01:08:52 lol my browser is totally frozen; too many tabs 01:09:28 tabs on ice 01:09:38 What's the "obvious" answer? Consistancy? 01:09:43 consistency, yes. 01:09:45 also there is an unclosed on /prog/ 01:09:49 shiichan really sucks 01:11:46 http://arstechnica.com/apple/news/2010/05/apples-compiler-policy-may-land-it-in-hot-water-with-ftc.ars 01:12:49 In other news, the FTC still enforces antitrust laws. Who knew? 01:13:17 apple aren't in a monopoly position 01:13:30 Q.E.D. 01:14:31 so, yeah. 01:15:06 wtf: 01:15:09 http://esolangs.org/w/index.php?title=User:Phantom_Hoover&curid=3152&diff=17461&oldid=16700 01:16:30 * alise_ emails 01:16:41 You must be logged in and have a valid e-mail address in your preferences to send e-mail to other users. 01:16:42 grr... 01:16:47 can someone else ask if he is ok? 01:17:23 Trying to login 01:17:45 Time for a third account, I guess 01:18:03 * alise_ verifies his emal 01:18:04 *email 01:19:01 Um, if you're asking, does that mean I shouldn't ask? 01:19:06 Or should I ask anyway? 01:19:13 whoever asks first wins a cookie. 01:19:19 and tells the other by pinging them so they don't bother 01:20:11 "I saw your change to your userpage, and just wanted to be sure, is everything ok?" 01:20:14 Is that good? 01:20:30 sure 01:20:42 * Sgeo hopes it doesn't get filed as spam 01:22:38 Subject was "Hey. Everything ok?" 01:22:53 No, Gmail, the copy I had sent to me was not forged 01:24:26 -!- coppro has quit (Ping timeout: 240 seconds). 01:24:57 * Sgeo also hopes that the Esolang wiki didn't make it look like the email was sent if it wasn't due to confirmation issues 01:25:02 Time for Sgeo3 just to be sure 01:25:47 it wasn't 01:25:48 it tells you if not 01:26:10 ok 01:31:50 -!- Gregor-L has joined. 01:34:29 hi Gregor 01:34:36 hi Gregor-L 01:35:01 I'm on stolen 3G 8-D 01:35:42 ...Stolen? How? 01:36:24 IREX has free unlimited 3G (for buying eBooks) 01:36:45 heh 01:36:47 Gregor has mad hax0r skills (and a sudden immediate need for Internet, as my apartment is flooded and I'm without my usual access lawlz) 01:36:57 Flooed? sux2bu lol 01:38:04 Actually, for all the suxiness, 1) it's clean water, not sewage or something, 2) they're putting me up in a real nice hotel (modulo lack of wifi) while they fuck with my apartment and 3) it gave me a great excuse to really clean my apartment before I leave it for the summer :P 01:39:46 !haskell main = print ([1..] == [2..]) 01:39:48 False 01:39:53 !haskell main = print ([1..] == [1..]) 01:40:40 oh... what happens to infinite loops? 01:40:41 Yes, we all love the magic of laziness :P 01:40:51 It gets killed after (IIRC) 30 seconds. 01:41:12 Mathnerd314, patch Haskell so that will always terminate. 01:41:22 Sgeo: that's the plan 01:41:56 or construct a better language where it terminates 01:42:13 After that, will you donate some of the $Infinite prize to us? 01:42:19 For having done the impossible? 01:42:44 -!- alise_ has quit (Ping timeout: 252 seconds). 01:42:45 It's not impossible if you special-case it, just useless. 01:43:08 well, you have definitional equality 01:43:15 Mathnerd314: That won't terminate in any language. 01:43:20 JMOD sucks 01:43:29 say "f a == f a by definition" 01:43:34 However, in non-lazy languages you won't finish constructing the first list. 01:43:39 :P 01:43:49 Except that [1..] is not the *same* list as [1..]. 01:44:00 no it doesn't 01:44:07 But [1..] was defined in an identical manner to [1..[ 01:44:10 [1..] 01:44:55 "let x = [1..] in x == x" won't terminate either. 01:45:10 Because "==" does not mean what you think it means. 01:45:37 I think Mathnerd314 wants to change the definition of == 01:45:49 So that it uses definition, and not equivance 01:46:00 In a way that it can only work in certain cases. 01:46:21 no, you just have overloaded == 01:46:54 Won't work for "[1..] == (map (+1) . map (-1) $ [1..])" 01:47:17 pikhq, but those are defined differently 01:47:26 So that's the point, I think 01:47:32 Fewer cases where == doesn't return 01:47:33 Sgeo: But they are obviously equal. 01:47:37 well, you'd need (+1) . (-1) . x == x 01:47:58 Define "obvious" 01:48:27 That doesn't typecheck 01:49:02 sure it does, it just lacks an instance >:) 01:49:32 I meant Mathnerd314's thing 01:49:35 Not the == thing 01:49:43 erm, forget the "not the == thing" 01:50:08 !haskell :t \x -> (+1) . (-1) . x == x 01:50:09 \x -> (+1) . (-1) . x == x :: (Eq (a -> b), Num (b -> b), Num b) => 01:50:14 Wait, forget everything I said during and since "THat doesn't typecheck" 01:50:17 -!- Gregor-L has quit (Quit: Leaving). 01:50:22 02:49 =EgoBot> (a -> b) -> Bool 01:51:15 oh (-1) isn't a section 01:51:40 so you cannot use map (-1) as you'd think 01:53:20 !haskell :t (+-1) 01:53:33 that's a syntax error 01:53:40 !haskell :t (+(-1)) 01:53:42 (+(-1)) :: (Num a) => a -> a 01:53:50 !haskell :t (`sub` 1) 01:54:09 !haskell :t flip (-) 1 01:54:11 flip (-) 1 :: (Num a) => a -> a 01:54:14 !haskell :t (subtract 1) 01:54:16 (subtract 1) :: (Num t) => t -> t 01:54:25 !haskell flip (-) 1 2 01:54:26 1 01:55:14 !haskell (subtract 1) 2 01:55:18 1 01:56:25 !haskell :t \x -> (+1) . (+(-1)) $ x == x 01:57:31 hm 01:57:59 @type \x -> ((+1) . (+(-1)) $ x) == x 01:58:08 !haskell :t \x -> ((+1) . (+(-1)) $ x) == x 01:58:10 \x -> ((+1) . (+(-1)) $ x) == x :: (Num a) => a -> Bool 01:58:21 lambdabot gives much better error messages 01:58:30 heh 01:58:55 i don't know why that wouldn't type 01:59:00 !haskell :t \x -> (+1) . (+(-1)) $ x == x 01:59:15 because ($) has higher precedence than (==) 01:59:19 *lower 01:59:34 i know, but i _still_ don't know why it wouldn't type >:) 01:59:42 so it's like @type \x -> (+1) . (+(-1)) $ (x == x) 01:59:52 i _know_ 01:59:56 and Num has no Bool instance 02:00:10 also, i got no error message in private either 02:00:27 that is of no consequence for :t, it should just ask for Num Bool 02:00:41 !haskell :t False + 1 02:01:02 apparently it refuses to do that... 02:01:39 yeah, it needs to know what to do fromInteger 1 with 02:01:49 and + 02:02:34 oh well 02:06:06 anyways, there you go 02:10:15 (map (+1) . map (+(-1)) $ [1..]) == [1..] reduces to \x → (+1) . (+(-1)) $ x == x, which then gets reduced by some theorem-proving system to true 02:12:42 or maybe I inverted that 02:13:06 * Sgeo wonders if he should play with OpenLaszlo 02:13:20 I think this language comes closest: http://sage.soe.ucsc.edu/ 02:14:52 i wouldn't be _very_ surprised if ghc reduces (map (+1) . map (+(-1)) $ [1..]) to [1..] internally 02:15:16 it does the map f . map g = map (f . g) reduction, surely 02:16:44 -!- nooga has quit (Read error: Operation timed out). 02:46:47 oerjan: GHC performs stream fusion. 02:47:08 It transforms *most* composed list functions into a single iteration over the list. 02:49:08 that's what i meant 02:51:29 -!- Oranjer has quit (Read error: Connection reset by peer). 02:51:59 -!- Oranjer has joined. 02:59:05 -!- calamari has joined. 03:10:10 -!- myndzi\ has joined. 03:10:21 -!- cal153 has joined. 03:13:22 -!- myndzi has quit (Ping timeout: 264 seconds). 03:19:22 -!- oerjan has quit (Quit: Good night). 03:38:33 -!- coppro has joined. 03:42:38 "Every hobby requires an outlay of funds." 03:42:39 LIES 03:43:47 Sgeo: yes, you had to buy lotion & tissues 03:45:38 I use neither lotion nor tissues. I use nothing at all, in fact. 03:45:59 uorygl: tmi, it was a joke 03:46:11 Meh. 03:46:46 -!- cap11235 has joined. 03:47:33 argh I don't know what is wrong with OSS, but this skipping audio is annoying 03:48:01 Why are you using OSS instead of ALSA? Also, what kind of sound card/chip do you have? 03:48:15 because alsa doesn't seem to be working 03:48:19 You know, hardware description languages are the worst ever. There's no dynamic allocation of memory whatsoever; the amount of memory a program uses is constant. There's no flow control, either; everything runs all the time. 03:48:26 cap11235: OSSv4 is a usable replacement of ALSA. 03:48:29 And it even always reads from and writes to the same place. 03:48:31 calamari: Get you OSSv4. 03:49:19 pikhq: Does it have an ALSA to OSS layer? 03:49:29 I think so, yes. 03:49:33 The benefit of an HDL, of course, is that it runs really fast. 03:49:33 Awesome. 03:49:40 Of course, *everything* has an OSS backend anyways. 03:49:53 Include Flash? 03:49:56 *including 03:49:59 cap11235: Aureal Semiconductor Vortex 2 (rev fe) 03:50:05 Flash *still doesn't support ALSA*. 03:50:20 Now I am even more despondant about Adobe... 03:50:32 So it just uses OSS? 03:51:07 Yeah. 03:51:10 cool, my chipset is on the supported list 03:51:29 I may need to try OSSv4 some time. 03:51:48 pikhq: The more you know.... %%%%%%%%%%? 03:51:56 What, no Unicode? 03:52:25 No, there's Unicode. Your IRC client may not be able to use it, though. 03:53:14 I'm using mIRC... 03:53:41 いいえ、ユニコードがある。でも、あなたのIRCクライアントは使えなさそう。 03:53:47 Yup, that works. 03:54:01 I guess it just didn't like my character. Though it worked in Firefox... 03:57:08 brb installing ossv4 03:57:11 -!- calamari has quit (Quit: Leaving). 04:00:14 So, what would you say the best known esolang after BF is? 04:00:23 INTERCAL. 04:00:51 -!- Oranjer has left (?). 04:01:08 What I want to do is write a forth enviornment for some esolang, but it needs to be able to run arbitrary code at runtime. 04:01:38 I could make a BF interpreter in vanilla BF, then add some self modifying capability, but the overhead would be pretty bad. 04:03:43 Hmmm, I think I could just sort of translate BF commands to apply to a stack instead of the tape... 04:06:03 -!- calamari has joined. 04:06:20 apparently that list is wrong.. hardware not recognized 04:06:34 Have you just tried googling your chipset? 04:08:32 What happens when you run 'modprobe snd_au8830' as root? 04:09:19 FATAL: Module snd_au8830 not found. 04:09:32 Try 'modprobe snd-au8830' 04:09:36 that's strange, because I'm sure that a module siilar to that used to be there 04:09:50 nope 04:09:56 Hmmm... What distro? 04:10:06 ubuntu karmic 04:10:41 What about lsmod? 04:10:44 -!- fax has quit (Quit: Lost terminal). 04:11:07 oss_usb 125332 0 04:11:08 osscore 603524 1 oss_usb 04:11:19 not sure why it thinks I have a usb soundcard 04:11:24 poll: should I learn vi or emacs this summer? 04:11:31 vi 04:11:32 Both. 04:12:08 as a bonus some of your vi knowledge will help in less :) 04:12:35 I use emacs for programming, and vim for everything else. 04:13:09 Vi is pretty simple to learn, I think. 04:13:25 Emacs is hellish, but nothing is better than Inferior Haskell Mode... 04:13:43 [DUO] /lib/modules/2.6.28-18-generic>where *8830* 04:13:43 ./kernel/sound/pci/au88x0/snd-au8830.ko 04:13:56 maybe I just need to downgrade my kernel to get my audio working again 04:14:23 You could go to the kernel source directory and run 'make modules_install' 04:14:40 I didn't compile this kernel 04:14:51 Oh. 04:15:05 -!- coppro has quit (Quit: reboot). 04:15:10 maybe I should hehe 04:15:31 I know you can use modprobe with a path, but it might require some extra flags. 04:15:40 that's for the wrong kernel tho 04:15:54 Could I see your 'uname -a'? 04:16:19 Linux DUO 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux 04:16:49 Well, try modprobe'ing it anyway. In the worst case, you just reboot. 04:17:51 If modprobe doesn't throw any errors, it should be fine, I think. 04:18:19 cap11235: That's insmod. 04:18:21 :) 04:18:30 Oh, right. 04:18:59 insmod: error inserting '/lib/modules/2.6.28-18-generic/kernel/sound/pci/au88x0/snd-au8830.ko': -1 Invalid module format 04:19:05 Ok... 04:19:06 doesn't look like it wants me to do that 04:19:10 ... 04:19:11 Do you have apt-file installed? 04:19:21 I... Do believe you have a 2.4 insmod. 04:19:24 Which is a solid WTF. 04:19:28 no but I can 04:19:42 His uname said it was 2.6.31 04:19:56 apt-get apt-file, then run 'apt-file update' as root 04:20:06 Ah. Yeah. 04:20:25 You would do well to use modules for your kernel. 04:20:52 He is using a premade kernel. 04:21:07 Yes, and he's using modules for a different such kernel. 04:21:18 2.6.28 != 2.6.31 04:21:46 Yeah, but the 2.6.31 doesn't seem to have the module for his audio. 04:21:55 apt-file will answer it... 04:22:00 pikhq: nah.. just that the kernel/sound directory is missing in my 2.6.31 04:22:30 -!- Oranjer has joined. 04:24:31 okay apt-file is done updating 04:25:07 "apt-file search snd-au8830.ko" as root 04:25:35 oh.. you can use packages.ubuntu.com to do that too :) 04:25:52 * cap11235 learns something new everyday 04:26:02 nice, though.. lots of results 04:26:45 interesting.. seems like it sound be installing.. checking 04:27:50 err that was not coherent, sorry 04:28:03 You are installing linux-image-2.6.31-14-generic? 04:28:25 linux-image-2.6.31-21-generic 04:28:31 looks like an upgrade 04:30:16 anyhow, upgrading.. it's possible that the ossv4 install is what wiped out the modules 04:30:29 Unlikely, though. 04:30:32 I had sound before, it was just crappy 04:31:15 Well, we will see. Will you go with OSS or ALSA after? 04:31:40 I never had any trouble with alsa until recently, dunno what happened 04:32:04 Maybe pulseaudio was just being a bitch? 04:32:10 the only way I could get audio to play was oss, otherwise it was just noise 04:32:37 I tried uninstalling pulseaudio and using esound instead, and neither 04:32:46 afk reboot 04:32:51 thanks for your help btw 04:33:14 -!- calamari has quit (Quit: Leaving). 04:37:15 -!- augur has joined. 04:47:55 -!- bsmntbombdood has joined. 05:16:27 This chain mail can't even decide if it wants you to pass it on to 5 or 10 people 05:16:50 -!- Oranjer1 has joined. 05:17:02 15! 05:25:39 -!- Oranjer has quit (*.net *.split). 05:29:44 -!- Oranjer1 has left (?). 06:06:20 til chain mail over the usps 1) used to exist and 2) is now illegal 06:10:54 -!- Deewiant has quit (*.net *.split). 06:16:20 -!- Deewiant has joined. 06:36:16 -!- bsmntbombdood_ has joined. 06:36:23 -!- bsmntbombdood has quit (Disconnected by services). 06:36:25 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 07:00:49 -!- tombom has joined. 07:00:53 -!- FireFly has joined. 07:07:39 -!- bsmntbombdood has quit (Remote host closed the connection). 07:24:38 -!- kar8nga has joined. 07:29:05 * Sgeo :( at Network Headache becoming unimplemented 07:29:17 I should make an Erlang implementation! 07:47:48 We should use Chinese characters for writing everything. (我 should 使 漢 字 for 書ing 毎物.) Why? Because I said so dammit. (Why? Because 私 言d so dammit!) 07:48:08 In other news, it is late and I am moderately silly and should go to bed. 07:53:29 -!- tombom has quit (Quit: Leaving). 07:58:47 Ninight all 07:58:56 Actually turning my computer off tonight.. it seems a bit hot 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:11:26 -!- Sgeo has quit (Ping timeout: 265 seconds). 08:18:16 -!- Gracenotes has quit (Remote host closed the connection). 08:30:12 -!- FireFly has quit (Quit: null). 08:30:49 -!- Gracenotes has joined. 08:31:43 -!- calamari has joined. 08:31:53 well that was fun lol 08:32:07 lost video.. but I solved it 09:02:35 hmm? 09:13:25 -!- Tritonio_GR has joined. 09:30:20 -!- calamari has quit (Quit: Leaving). 10:12:26 -!- lereah_ has joined. 10:26:28 -!- hiato has joined. 10:50:35 -!- kar8nga has quit (Remote host closed the connection). 10:57:11 -!- BeholdMyGlory has joined. 11:29:43 -!- oerjan has joined. 11:30:51 -!- ais523 has joined. 11:42:30 my paper about Turing machines http://bit.ly/cL93k3 11:42:50 23 pages, and I'm still gauging how finishing it screwed up my sleep schedule 11:43:17 completely, or just a lot 11:45:10 I've just spent the last night writing a case note on the SCO v. Novell case for the "Law in Network Society" course. Not that one less than sleepy night will have any long-lasting effects, but right now the tiredness. Especially with that particular topic. 11:46:09 oerjan: not sure. I might still be able to recover, but I woke up at 3 AM (3.75 hours ago) and I'm just going with that for now 11:46:18 Courteous of SCO to keep doing the insane, though; their latest (April 27th) filings means I'm oh-so-topical. 11:46:33 the paper does have pretty diagrams though. if you like visualizations of tape or nicely formatted state diagrams 11:46:37 SCO, or suing a dead horse 11:46:56 (there's your title) 11:47:23 oh i guess it needs to be in finnish 11:47:29 No, English. 11:47:33 ah. 11:48:41 * oerjan notes that SCO "dead horse" gives about 3410 google hits. 11:48:56 -!- Tritonio_GR has quit (Ping timeout: 265 seconds). 11:49:00 fizzie: that isn't the latest filing any more 11:49:08 the latest is about them selling off lots and lots of little stuff 11:49:13 like domain names, laptops and forklift trucks 11:49:37 -!- Tritonio_GR has joined. 11:49:50 ais523: That's part of the bankrutpcy case, though, not SCO v. Novell. 11:49:57 oh, good point 11:50:19 Though like I complained a moment ago; "One has to wonder about the whole bankruptcy mechanism. I was under the impression that the idea was that the company's creditors would get, in a reasonably fair manner, as much out of the company as possible; I'm not sure how well that is served by feeding $100k/month to some sort of "crisis management" company." 11:51:13 I had to focus a bit; summarizing the whole SCO story in three pages would have been a bit too ambitious, so I just covered the parts related to the "who owns Unix" question. 11:53:27 It has aspects of the farcical; after losing in court, they appeal and demand a jury trial; the court of appeals surprisingly-ishly agrees and grants that; the jury unanimously says the same thing the court did; so now they want either a special overrule-the-jury judgement, or a new jury, because "the jury simply got it wrong" (direct quote). 11:54:28 It's possible they're just not very good losers. 11:55:42 -!- BeholdMyGlory has quit (Ping timeout: 265 seconds). 11:57:03 The most recent thing of list of sold stuff is a funny read too, though. Purchaser: "Deseret Industries", "Canon Copier - not functional", consideration: $0, "donated". 11:57:33 They've also sold 2 boxes of tape for $399 via eBay to a "Bouz1956". 11:58:05 And donated 50 file cabinets to "Farm Equipment business". 11:58:57 the Supreme Court made a filing in that case recently, btw, giving SCO more time to respond to Novell's case 11:59:21 why are they donating when they're in bankruptcy, I wonder? 12:00:21 Possibly no-one would have paid them for a broken copier, and junking it would've actually cost money. 12:00:50 Though I would assume you could get at least nominal compensation for 50 file cabinets. 12:01:30 -!- ais523 has quit (Read error: Connection reset by peer). 12:02:50 -!- ais523 has joined. 12:10:33 -!- hiato has quit (Quit: underflow). 12:11:33 -!- hiato has joined. 12:13:29 -!- BeholdMyGlory has joined. 12:16:58 -!- nooga has joined. 12:31:59 That encoding: Split the program to segments, splitting at '[' and ']'. There will be 2k+1 segments (possibly empty), where k is number of loops. 12:33:03 Then for each segment, write it as base-6 number (least-signficant first, using some mapping of 6 remaining instructions to digits). 12:34:45 Then add (6^(l+1)-1)/5 (where l is length of segment) to number obtained in order to make encodings of different length segments unique. 12:35:23 Every possible different segment gets different number and every non-negative number corresponds to some segment 12:36:46 Then take 1st (LSB) bit of 1st segment, 1st bit of 2nd segment, ..., 1st bit of 2k+1st segment, 2nd bit of 1st segment, 2nd bit of 2nd segment and so on. Concatenate bits in this order to get new number (X_2) 12:36:50 and? you still haven't gotten to the hard part... 12:37:14 ..darn. 12:37:58 actually, still not... 12:38:23 Make ordered tree that has root node and node for every loop. For nested loops, node for nested loop is child of node for nesting loop. Encode this tree using bijection to nonnegative integers (I haven't worked this out yet) to get X_1. 12:39:06 Actually, that X_2 has 1st bit of 1st segment as LSB (the order goes that way). 12:39:47 Then take 1st bit of X_1, 1st bit of X_2, 2nd bit of X_1, 2nd bit of X_2 (and so on), concatenating (1st bit of X_1 winds up as LSB). Resulting X, the encoding of program. 12:40:21 As said, I haven't fully solved encoding ordered trees... 12:41:24 that X_1 encoding is inefficient if segment lengths vary widely, as discussed yesterday. 12:41:39 -!- ais523 has quit (Read error: Connection reset by peer). 12:41:59 X_2 you mean? 12:42:04 what the 12:42:24 i tried to correct that 1 to 2 at _least_ twice O_O 12:42:35 i have _no_ idea how it got through :D 12:43:13 -!- ais523 has joined. 12:43:26 Encoding Lost Kingdom, with any reasonable way to get X_1, X_2 will be much larger, yielding final number with 80M-90M digits... 12:43:40 you know, X_1 is just an encoding of the [ and ] only 12:43:52 oerjan: Yes, it is. 12:44:35 it is possible that one of the already used methods will be good enough for that 12:44:46 there isn't that much extra to blow things up 12:45:32 There are C_k (kth catalan number) different structures for program with k loops... 12:45:41 oh those again right 12:47:04 That can be used to simplify(?) problem to encoding ordered trees to encoding ordered trees with k nodes to [0, C_k - 1]. 12:47:38 also, X_1 will likely be much smaller than X_2, again wasting 0 bits 12:47:41 i think 12:48:10 One could vary spacing of X_1 bits (as long as the positions form fixed sequence). 12:48:31 But that can get at most almost half of the bits. 12:48:51 we already have the triangular method for combining two numbers 12:51:06 hm it's possible that _too_ is actually unbalanced when the size difference is large. 12:51:45 the combined number is on the order of (m+n)^2/2 12:51:46 Ilari: Also a minor nit; you say "add (6^(l+1)-1)/5" -- so the length 0 segment maps to (6^(0+1)-1)/5 = 1, the 6 possible length 1 segments to numbers starting from (6^(1+1)-1)/5 = 7, etc; I guess you mean without the "+1" in the exponent? 12:52:10 Ah yes. 12:54:09 mn is about what you'd get by concatenating the bits, this is twice that for equal numbers but much larger if m is 1, say 12:54:46 n^2/2 vs. n 12:55:01 -!- MizardX has joined. 12:55:54 in fact the triangular method may have about the _same_ size as the bit interleaving method, come to think of it. 12:56:21 for one number very small, both waste about the number of bits of the other 12:56:40 oerjan: Do you want to generalize the so-called "triangular" method formulas to some sort of hyperpyramidal method so that it combines N numbers at once? That sounds like it'd be funky. 12:56:51 fizzie: already did that 12:56:59 Oh, I had missed that. 12:57:43 never looked much at reversing it, that would seem to involve nth roots at least 12:58:25 C(x1+x2+...+xn,2) + C(x1+...+x(n-1),2) + ... + C(x1+x2, 2) + x1 12:58:30 er no 12:58:41 *C(x1+x2+...+xn,n) + C(x1+...+x(n-1),n-1) + ... + C(x1+x2, 2) + x1 12:58:55 i guess x1 = C(x1,1) 13:01:07 It appears that triangular numbers might be sightly smaller (at most 1 bit difference per combining). 13:02:20 what's the purpose of this discussion, btw? finding a way to compress Lost Kingdom as far as possible? 13:02:22 difference to what? 13:02:26 If numbers are approximately equal, they come even. So unbalanced case is the better case. 13:02:29 ais523: heh 13:02:58 ais523: Bijection of BF with natural numbers. 13:03:05 Ilari: aha 13:03:08 Ilari: no, unbalanced is horrible for both, assuming you'd want the combined number of bits to be approx. the sum 13:03:37 or do you mean just the difference between triangular and interleaving 13:05:13 Actually, there might be more difference. 1st number being 2^100 and 2nd being 2^500 would give 1002 bit number with interleaving. The triangular number would be 1/2 * (2^500 + 2^100) * (2^500 + 2^100 - 1) + 2^500. This is approximately 1/2 * 2^1000 = 2^999. So 2 bit difference. 13:06:27 what about if one number is about square root of the other... 13:06:34 2^100 and 2^200 say 13:06:59 (so as far from both the "one tiny" and "about equal" cases as possible) 13:07:31 interleaving, 401 i assume 13:08:21 !haskell 1/2 * (2^100 + 2^200) * (2^100 + 2^200 - 1) + 2^200 13:08:24 1.2911249390434543e120 13:08:29 er 13:08:37 !haskell logBase 2 $ 1/2 * (2^100 + 2^200) * (2^100 + 2^200 - 1) + 2^200 13:08:38 399.0 13:08:58 so still not much difference 13:10:11 !haskell logBase 2 $ 1/2 * (2^500 + 2^1000) * (2^500 + 2^1000 - 1) + 2^1000 13:10:13 Infinity 13:10:16 darn 13:11:09 You're the necromather, why don't you figure out something that gives you the sum of their sizes? 13:11:36 (Okay, so I just wanted to get to use the word "necromather".) 13:11:52 i had that fibonacci thing, but it has a logBase phi 2 overhead 13:11:56 For hyperpyramidal thing, I get difference in order of k log_2 k bits... Which would be about 650kb with 42k segments (Lost Kingdom-sized program)... 13:12:54 well the initial C(x1+...+xn, n) term obviously dominates 13:12:58 Not a lot of difference, considering that number will have 150M-160M bits anyway... 13:13:13 oh hm 13:14:25 well, later. 13:14:30 -!- oerjan has quit (Quit: leaving). 13:16:18 So variable spacing in interleaving X_1 and X_2 saves much more (Easily 100Mb with Lost Kingdom) than using hyperpyramidals instead of simple bit interleaving (hardly even 1Mb). 13:16:56 And bit interleaving is probably way faster. 13:23:09 Bit interleaving is perhaps a bit (no pun intended) inelegent to write in the usual arithmetic operations provided. At least compared to the triangles. 13:29:40 -!- BeholdMyGlory has quit (Remote host closed the connection). 13:55:51 -!- base3 has joined. 13:56:38 does anyone know if there's a freenode channel for discussion of literate programming? 14:16:21 -!- augur has quit (Ping timeout: 265 seconds). 14:40:43 -!- augur has joined. 14:48:18 -!- FireFly has joined. 15:05:04 ais523, hi there, I don't remember if you told me (or if I even asked) about delay simulation back when I asked about vhdl simulation for linux several weeks ago. ghdl seems to only do "logic" simulation with no delay (which is of course also useful). 15:05:23 AnMaster: it does delay simulation, but you need to write the delays into the source 15:05:26 ah 15:05:30 e.g. a <= b OR c after 10 ns 15:05:52 that's how other delay simulators work too, just the commercial ones have tools to automatically write all the delays into the source 15:06:00 and that's commercially sensitive information, pretty obviously 15:06:15 what about delay simulation as in "delay of this stuff from the syntheis program output" kind of stuff? 15:06:29 hm 15:06:36 ais523, so those tend to be windows only? 15:06:47 AnMaster: actually, they mostly run on Linux too, they're just very expensive 15:06:50 ah 15:06:55 -!- base3 has left (?). 15:07:09 presumably enough commercial microchip design companies use Linux that it's worth supporting it on that 15:07:45 ais523, isn't the manufacture of the FPGA interested in selling the hardware rather than the development software? 15:07:56 nah, they make money from both 15:08:20 normally there's a crappy free version of the dev software, and a very expensive professional version that contains all the features that businesses actually need, like delay annotation 15:08:33 hm 15:10:33 ais523, what about universities? There should be an interest in getting students familiar with your products rather than those from the competitors. Looks like conflicting interests there when it comes to deciding what the price should be 15:10:51 AnMaster: universities generally get copies for free, that's how I got mine 15:11:04 -!- kar8nga has joined. 15:11:30 right, but students don't spent all the time in the lab, wouldn't it make sense to be able to do some such work from home as well and so on 15:12:24 ais523, also ghdl seems strange in some respects. For example what is the point of that work-obj93.cf file... 15:12:38 And it looks like it should be very hard to make ghdl behave nicely together with makefiles 15:12:41 AnMaster: VHDL's compilation method is bizarre 15:12:53 because you can define one entity in more than one way 15:12:59 ais523, yes I know about that 15:13:13 not fully about the reasons for it though 15:13:15 I think it's designed to allow hot-swapping bits of the program 15:13:39 you'd have, say, a delay-annotated architecture as an autogenerated second architecture for your entities 15:13:51 ais523, the reason I heard was "sometimes you can't synthesise your original variant, so you write another alternative one" 15:14:00 that as well 15:14:01 there are some issues with that reason too though 15:14:09 as in, why not just replace the old one instead 15:14:29 often you have a synthesis design that can't be simulated, and a simulation design that can't be synthesised 15:14:33 both bought from a third partyt 15:14:34 *party 15:14:35 hah 15:14:51 because the simulation design looks like C or an imperative language like that 15:15:07 and the synthesis design is along the lines of "set bit 123 to 1, set bit 124 to 0, set bit 125 to 1..." which is no use to anyone 15:15:16 also wtf at the file name here (from ghdl tutorial, just to check that the install works): e~hello.o 15:15:21 ~ in a filename wtf 15:16:27 ais523, hm, wouldn't it be "set bit 123 to bit 2 xor bit 43" or such? or what do you mean 15:16:46 AnMaster: no, I mean the individual control bits inside the FPGA 15:16:49 oh right 15:17:12 ais523, but isn't that more like the binary file? As in, it isn't vhdl any more then 15:17:14 this stuff's all deliberately undocumented, just to add to the fun, so you /have/ to buy the code from a third-party rather than writing it yourself 15:17:20 and yes, it's basically just a binary file 15:17:45 although sometimes they get converted to ASCII and it's just a long list of numbers separated by commas 15:17:52 ais523, someone should make an open source fpga or such, or at least a well documented one. 15:18:09 setup costs are too high 15:18:15 it'd cost millions to get the things manufactured 15:18:26 but yes, I don't understand the FPGA market at all 15:18:28 presumably that would actually be a competitive advantage, you can claim you, unlike all others, don't do vendor lock-in 15:18:49 AnMaster: effectively that would be vendor lock-in, on the basis that all the /other/ vendors are locked in and won't accept your programs 15:19:42 ais523, well, sure, but this avoids bitrot presumably. Even if the vendor stops maintaining software to work with very old no longer produced FPGAs, third parties could still do it 15:20:16 AnMaster: I think it would be hilarious to put you in the same room as a manager in an FPGA company 15:20:24 hah 15:20:28 eventually you'd give up talking to each other because you didn't speak the same language 15:20:58 ais523, anyway, I don't understand ghdl's compilation procedure, as in. It makes no sense at all 15:21:09 why for example ghdl -a first 15:21:18 let's just say, it makes a lot more sense than the commercial ones, and leave it at that 15:21:23 and how on earth does one make this work with a makefile 15:21:34 you just do the -a -e and so on in order 15:22:01 ais523, what about that work-ob93.cf? 15:22:18 ais523, it seems to break make -j2 if you have many files for ghdl to compile in a project 15:22:22 AnMaster: everything in VHDL is namespaced 15:22:28 and "work" is the default namespace 15:22:31 okay... 15:22:33 compiling something puts it /into/ that namespace, permanently 15:22:39 eh okay... 15:22:43 so you can reference it from other VHDL files in the same directory 15:22:57 therefore, obviously, parallel make doesn't make sense unless you carefully separate the namespaces in advance 15:23:24 ais523, so things need to be compiled in the right order? What would happen if I ran ghdl -a on a file that uses another one, before I ran it on that other file 15:23:56 IIRC it's like compiling and linking; so long as all the entity declarations are available, you can do -a on everything then -e on everything 15:24:10 but it doesn't work if you do -a -e on each file individually 15:24:22 ais523, I was thinking something like ghdl on each file to create some intermediate format (could be done in parallel) then linking (not parallel of course) 15:24:29 but this seems to completely break here 15:24:48 AnMaster: no, the analysis is just basically looking for signatures 15:24:55 and the elaboration looks at the actual code 15:25:05 ais523, so that shared file is only touched by -a or? 15:25:37 here's a nice mnemonic: -a looks at the entities, -e looks at the architectures 15:25:41 right 15:25:45 and I think it's written by -a and read by -e 15:26:05 that will be one very messy makefile still 15:26:30 yes 15:26:35 you can't make the .cf file depend on anything properly 15:26:42 now, for added fun, the commercial tools generate makefiles, then run them via cygwin 15:26:46 at least, the Xilinx ones do 15:26:53 because if two files were changed that will not do the right thing... 15:27:10 ais523, wtf 15:27:32 even more fun, because presumably they've paid Cygnus for a license for all this 15:27:41 (Cygwin is GPL if you don't pay, license of your choice if you do) 15:28:04 ais523, but what about the software in cygwin? cygnus doesn't own gnu make and so on 15:28:09 current theory: the tools date from before Windows existed 15:28:22 and I actually don't know, maybe it isn't GNU make they're using, but some other make 15:28:28 heh 15:28:35 why do you think the tools are that old btw? 15:29:05 I can't think of any other plausible explanation 15:29:15 also, the fact that they don't run properly on 64-bit systems or windows 7 15:29:19 ais523, you mean they were written for *nix? 15:29:21 we had to set up a Windows XP VM just to be able to use them 15:29:27 yes, I think they were originally written for *nix 15:29:35 also ouch at 64-bit 15:29:40 which would explain the Linux support, and the arbitrary and unexpected use of cygwin 15:29:49 AnMaster: there's a 64-bit version, but it's missing loads of features 15:29:57 I see.. 15:30:23 ais523, and the 32-bit version doesn't run on 64-bit windows? 15:30:39 correct 15:30:41 ais523, the only reason for that would be that they use 16-bit code... 15:30:52 wait, actually it does, but many of its features are missing if you do 15:31:06 possibly only in later versions of windows, though 15:31:06 since you can no longer run such code when in long mode on x86_64 15:31:14 oh another ghdl wtf: ldd indicates that the compiled program links against libgnat... 15:31:24 AnMaster: that doesn't surprise me 15:31:28 why? 15:31:31 VHDL was intentionally designed close to ADA 15:31:35 ah 15:31:40 it wouldn't surprise me if some of the libraries were, as a result, virtually identical 15:31:48 and thus linking against libgnat was easier than rewriting it 15:31:49 it also links libz 15:31:58 which when you consider it, is even more wtf 15:32:00 oh, that's so you can output the wave file compressed 15:32:10 which is needed, considering how big and repetitive the things are 15:32:36 (ghdl's major use is to run the resulting program to produce a wave file, then look at it on gtkwave or something) 15:32:40 oh and now to figure out which files a make clean target would remove. I still haven't figured out how to properly do dependencies for generated files... 15:32:52 presumably it would be a timestamp file for every file to make it work 15:32:56 AnMaster: just delete the entire directory and restore the source from backup 15:33:02 haha 15:33:14 ghdl --clean? Do I dare ask what that does... 15:33:23 hm 15:33:27 or how it does it rather 15:33:44 it's described as "remove generated files", presumably it's the inverse of the compile process 15:34:00 ais523, wait a second, why restore? Doesn't ghdl support out of tree builds? Or at least separate object file directory or such 15:34:24 bbiab, phone rang... annoyingly 15:34:31 AnMaster: the concept of "out of tree builds" probably doesn't exist in VHDL generally 15:34:56 the commercial tools make it rather unclear that anything exists besides the project, source and generated files and binaries and etc are all bundled together in arbitrary entities 15:35:05 and you have to look at the directory structure by hand to figure out how it's done 15:43:41 back 15:43:46 -!- hiato has quit (Quit: openttd time). 15:44:05 ais523, it does make version control somewhat annoying presumably 15:44:21 they come with hand-rolled version control 15:44:27 which is basically a menu option to make a checkpoint 15:44:34 which spends around half an hour backing up the entire project 15:44:53 I /think/ it's actually just bundling it all into a .tgz behind the scenes, and the huge length of time is because it's backing up thousands of binaries as well as the sources 15:45:10 half an hour? 15:45:14 how large is the project then 15:46:16 -!- Tritonio_GR has quit (Quit: Leaving.). 15:52:57 ais523, anyway, when does a file need to be re-analysed? 15:53:02 as in ghdl -a 15:53:16 when you change the entities in it, I think 15:53:20 I just always reanalyse it, it saves trouble 15:53:24 and it's not like it takes that long 15:53:27 true 15:53:50 are non-manual incremental builds even feasible at all? 15:56:25 ais523, how does programs decide which of the defined implementations (or whatever the term is) of a given entity to use? 15:56:33 I have no idea 15:56:33 programs as in simulations and synthesis 15:56:49 presumably there's some way to specify one, otherwise it picks one arbitrarily 15:57:00 but so far I've never been able to specify one, just had to go with the one it happened to use 15:57:05 how often have you used multiple implementations? 15:58:10 only when told to by the teachers to prove I could 15:58:30 I presume it would be interesting to test multiple ones to compare that they do the same thing (for all valid inputs if combinatorial at least, a bit harder if you have something with state) 15:58:31 otherwise, there isn't much of a point unless you're doing automated annotation, etc, or have to buy simulation and synthesis implementations from a third party 15:58:47 or worse, one synthesis and three simulation implementations designed for different sorts of simulations 15:58:53 heh 15:59:10 how do you get 3 different ones? 15:59:26 two I can imagine: with/without delay 15:59:36 there's more than one sort of delay you can measure 15:59:50 sort-of "delay in theory" vs. "delay with this particular place-and-route" 16:00:12 the second is basically like profile-guided optimisation, except instead of optimising the compile with the results from a run, you simulate the source with the results from a compile 16:01:09 ais523, how can you do delay in theory without knowing the routing? 16:01:20 it's approximate I think 16:01:25 do you just consider the delay in gates, but not in wires? 16:01:41 not sure, it's not like there's any documentation on how the stuff /works/ 16:02:12 ais523, it seems useless if you don't know what it actually simulates. 16:02:28 oh, the info's bound to be available somewhere 16:02:43 okay 16:02:44 probably by phoning up a friend you have at Xilinx and asking them directly, that's how we got most of the actual useful information we use 16:02:52 XD 16:03:31 ais523, don't they wonder at any point: "Hmm, will this crappy stuff make us look bad?" 16:03:38 theory: this is meta-job security, people making sure that if they're fired from Xilinx or Altera they'll always be able to get a job just consulting at companies to explain htf you use their products 16:03:46 AnMaster: no, because it's par for the course 16:03:53 from what I heard so far I concluded to avoid that brand if possible 16:03:53 they look bad, but not any worse than any of their competitorss 16:03:55 ah 16:03:55 *competitors 16:05:04 ais523, and yet no one tried to increase their market share by making themselves look better than their competitors? 16:05:22 no, because their customers care more about features than usability 16:05:38 -!- Gracenotes has quit (Ping timeout: 240 seconds). 16:05:52 for some reason management care more about the advertised list of features when buying hideously expensive microchip synthesisers/simulators 16:06:01 rather than the actual usability for the employees who have to use the things 16:06:20 and what do we learn from this? I think one of the things may be "free market is yet again proved not to work" 16:07:19 ais523, are most of those feature actually that useful though? 16:07:30 no, what did you expect? 16:07:38 sigh 16:07:55 half are actually counterproductive, in that you're told to use the feature rather than doing it the way you'd do it by hand without the feature, which would have been easier 16:08:19 ais523, what do big companies like, say, IBM or such do then? Don't they at least have a bit more sense. 16:08:37 no, they just make their own internal documentation for other people's products, I imagine 16:08:41 XD 16:08:55 then claim ISO 9000 compliance as a side effect 16:09:06 why did I came to think of bankstar suddenly 16:09:11 ISO 9000? 16:09:53 ais523, what is ISO 9000? Or was that just a random number? 16:10:16 AnMaster: it's basically a pointless "standard" 16:10:19 ISO 9000 is a family of stuff, mostly about having business processes that are all documented to the tiniest detail. 16:10:22 which companies claim compliance to 16:10:28 uhu 16:10:31 and yes, it's about documenting everything you do and always doing it the same way 16:10:34 It is also all about Quality. 16:10:44 regardless of what that process actually /is/, or whether it makes sense 16:11:05 managers think it's very important, although none of them can explain why 16:11:31 ais523, btw, I have a hard time seeing how FPGA vendors can enforce vendor lock in, after all VHDL is an ISO (or was it IEEE?) standard. 16:11:47 AnMaster: they don't lock in the language, but the source 16:11:56 imagine if you had to rent your libc from a commercial vendor 16:11:57 it's like that 16:12:17 ais523, find , -name '*.fileext' to find the vhdl files? then import it into another system from another vendor? 16:12:22 hmm, a better example would be if libc was open-source, but you had to rent a whole bunch of random libraries 16:12:39 Find from the comma-directory. 16:12:56 and no, you can't do that; partly because the files are massively obfuscated, partly because they're written in incredibly system-specific ways, partly because you have to agree to a licence not to do that, and partly because of the insane DRM involved over the whole process 16:13:00 ais523, rent? Do you pay per month for those FPGA synthesisers and such!? 16:13:10 fizzie, typo :P 16:13:17 for the synthesisers, you pay per version, effectively 16:13:23 right 16:13:27 (I don't pay, because of the free versions given to universities) 16:13:31 you rent the libraries 16:13:41 ais523, but if you write your code in vhdl I can't see how you just move the files elsewhere 16:13:45 things like multipliers you normally get for free (because the open-source versions are just as good) 16:14:06 but things like ethernet modules you mostly just get the binaries, and they're specific to a specific version of a specific processor 16:14:07 AnMaster: You write your code in C, so you can switch operating systems with abandon, right? 16:14:31 fizzie, well, okay, C itself is a bit annoyingly limited, rather more like POSIX 16:14:51 AnMaster: let's just say, there aren't things like ethernet libraries in the VHDL standard 16:14:54 that way you can go to any *nix vendor in theory (sure I admit there are some compat issues, and there are always bugs) 16:15:04 ais523, what about open source vhdl for that? 16:15:16 open-source vhdl exists 16:15:25 but the chip designers go out of their way to not give you the info needed to use it 16:15:42 OpenCores has quite a collection, I believe. Never had had an occasion to browse, though. 16:15:43 ais523, sure you need to interface the pins manually, but a lot of the stuff, like building ethernet frames would be vendor independent, no? 16:15:55 e.g. I tried and failed for two weeks to discover which pins on the chip were connected to which features on the demo board of the demo board we have 16:16:10 demo board of a demo board? 16:16:15 (what happened there) 16:16:23 fizzie: I'm an OpenCores member, partly as a protest against all this BS 16:16:39 although OpenCores is pretty wtfy itself, it just manages to be a lot less wtfy than the Xilinx (and presumably Altera) stuff 16:16:50 AnMaster: you misparsed the sentence 16:16:50 ais523, anyway, where did you get the ethernet hardware from? The same vendor? 16:17:00 yes, it was connected to the chip, physically 16:17:04 so we could tell it was working 16:17:08 but we still don't know how to use it 16:17:33 ais523, well you wouldn't have a demo board in real production hardware would you? 16:18:10 no, you wouldn't; except, to add to the fun, the tools that you use to create all the ethernet stuff, etc, generate it assuming that you're using the same connections as on the demo board 16:18:29 in which case you could take a third party ethernet hardware (the contact and presumably some other things, I don't know exactly how much of the ethernet hardware can be done in an FPGA...) and just build your own 16:19:16 that would be pretty expensive just to build the hardware to connect the FPGA to the ethernet hardware 16:19:25 you'd need to do things like generate a circuit board, etc 16:19:42 and FPGAs have pins so dense that you can't do it by hand, you pretty much need an automatic multilayer circuit board maker machine 16:19:54 ais523, isn't there already ethernet hardware out there from third parties? 16:20:13 AnMaster: of course, it's connecting it to the FPGA that's the issue, not the hardware itself 16:20:47 ais523, well, a third party one would most probably come with docs (since there would be no other way for users to use it, right?) 16:21:01 -!- Gracenotes has joined. 16:21:03 AnMaster: you'd be surprised 16:21:08 oh? 16:21:14 for third-party hardware, the docs have ranged all the way from brilliant to useless 16:21:35 the normal way to use the hardware with useless docs is to find decent docs from a competitor's product that does the same thing, then use those 16:21:44 because they all try to be pin-compatible with each other 16:21:52 ais523, an informal standard? 16:22:02 yep, pretty much 16:22:19 thousands of them, one for each sort of hardware component you could imagine 16:22:33 ais523, well that should simplify things, there is *bound* to be someone else who already interfaced this informal standard and who made something open source for it 16:22:46 at least for the more common components 16:22:59 AnMaster: the problem is, it's pairs of components you worry about 16:23:04 as in, that hardware + that FPGA 16:23:21 most individual pairs haven't been done yet (most people can neither afford to work with FPGAs, nor put up with them even if they could afford it) 16:23:30 well okay, you have to do the pin layout anyway, surely most of the time you need some custom hardware anyway 16:23:34 and instructions for that sort of thing have a rather short half-life 16:23:48 because features keep being changed or breaking at random or moved to different programs, etc 16:23:54 in the FPGA programming software 16:24:21 ais523, so okay, a lot of the ethenet example is device independent, couldn't you do something like driver + pin_mapper, where you just had to write the latter bit 16:24:39 which would just be some short file listing which pins you mapped to what for the ethernet hardware 16:24:48 the problem is that you're massively discouraged from doing that bit 16:24:48 it seems pretty sensible 16:24:56 if you want a bit of fun, have a look at what the pin mapper software actually /is/ 16:25:00 it has a massive and almost unusable GUI 16:25:07 ais523, I invented the word "pin mapper" here 16:25:13 as in 16:25:20 last time I used it, I clicked on things at random, then figured out where its output file was, then looked at the format and edited it by hand, more or less 16:25:21 I didn't know it referred to a specific existing software 16:25:25 amusingly, the output file was short and simple 16:25:30 AnMaster: it is specific existing software 16:25:36 with a GUI that fills the entire screen, and uses all of it 16:25:45 and where changing anything requires going through two nested dialog boxes 16:25:54 ais523, anyway an FPGA would often be pretty useless if you can't interface your own custom hardware as well. Which would presumably include things like custom sensor devices or whatever 16:25:56 I completely fail to understand how it can be /that/ complex, btw 16:26:13 yes me too 16:26:24 AnMaster: it seems that the trend nowadays is for FPGAs to be used standalone and communicate via ethernet or I2C or whatever with the other components 16:26:28 which seems bizarre to me 16:26:42 ais523, what I was thinking about was more something like: #define ETH_TX pin1732 16:26:43 or such 16:26:45 presumably, you'd use an ASIC if you were using enough of them to actually be worth shipping in a commercial project 16:26:46 a file with such 16:26:53 then that would be used for the generic driver 16:26:56 AnMaster: that's pretty much what the .hcf file it's editing is 16:27:01 although it's a different format, ofc 16:27:07 well yes, that was C syntax 16:27:08 (not VHDL, it's in its own format) 16:27:11 which would be rather silly 16:27:47 hm wait a second 16:27:53 I2C or ethernet? 16:27:57 there is a gap there 16:28:20 ais523, isn't I2C rather slow? 16:28:36 depends on what you're using it for 16:28:44 ais523, somewhat fast memory 16:28:48 hardware that does anything but calculating tends to be intrinsically rather slow 16:28:56 ais523, lets say you want to use a FPGA to do ray-tracing 16:28:58 you wouldn't use I2C for the memory, agreed 16:29:10 you'd probably just use the demo board, and connect it to your computer over ethernet or PCI or something 16:29:11 ais523, but using ethernet for memory would be *very* silly 16:29:17 (the demo boards often come with PCI connectors) 16:29:28 in fact, using ethernet would be silly for anything but other "nodes" or such 16:29:58 ais523, well, a demo board seems rather useless if you want to sell this product with an FPGA doing ray tracing 16:30:17 AnMaster: you don't, though; FPGAs are normally used internally 16:30:19 you want to put it on a PCIe board with memory basically 16:30:21 so you don't care about how ridiculous it looks 16:30:35 there are companies which do just sell PCIe boards with FPGAs and memory, though 16:30:40 so you could use one of those 16:30:42 ais523, I remember reading about an FPGA-based rendering product, commercial 16:30:47 (unfortunately, the documentation is equally insane...) 16:31:01 FPGA because it was rather niche and ASIC would have been uneconomical 16:31:20 ais523, sigh... 16:32:31 ais523, actually when it comes to cost for producing open source FPGAs, isn't there some thing for universities to group together on one wafer and do various projects on different parts of it? 16:32:42 read about that somewhere 16:33:00 possibly, but you'd still be spending a million divided by the number of projects, which is still likely to be quite a lot 16:33:04 just a few circuits for each project, and lots and lots of projects 16:33:13 hm true 16:34:20 ais523, anyway, have you reverse engineered that file format for the pin mapper? 16:34:51 (if that is required) 16:35:02 AnMaster: it's probably documented somewhere 16:35:07 and the format's incredibly simple as it is 16:35:11 ah good 16:35:16 ais523, then just use that directly? 16:35:18 basically just key-value, with both quoted, separated by = 16:35:22 and yes, that's what I do nowadays 16:35:26 heh 16:35:37 ais523, be happy it wasn't some obfucated binary file format 16:35:59 bbl 16:46:31 -!- lereah_ has quit (Quit: Leaving). 16:52:54 -!- Gracenotes has quit (Ping timeout: 276 seconds). 17:03:15 back 17:04:11 -!- Gracenotes has joined. 17:08:14 ais523, what about that genetic algorithm to build a circuit on an FPGA thingy, somewhat well known iirc 17:08:24 if things are that undocumented how did they manage that 17:08:38 genetic algos work pretty well on undocumented platforms 17:08:45 arguably, better than regular algos 17:09:02 ais523, well yes but they would have still had to figure out where to put the input and output into the genetically grown block 17:09:41 iirc they used a "square" of n components that were modified + a bit of fixed stuff to connect the inputs and output to the edges of this area 17:09:46 that is very iirc though 17:11:12 -!- luko has joined. 17:11:51 ais523, and iirc it did the genetic algorithm directly on the binary. Again only iirc 17:13:27 -!- impomatic has joined. 17:13:34 Hi :-) 17:15:42 -!- luko has quit (Ping timeout: 240 seconds). 17:16:01 AnMaster: You mean the http://www.cogs.susx.ac.uk/users/adrianth/ade.html thing? The one that distinguished between a 1 kHz and a 10 kHz tone with just 32 gates, some of which weren't even connected (but still had an effect on the circuit). 17:16:16 (I'm not sure if there's any details available through the page, though.) 17:16:18 fizzie, yes that sounds like the one 17:17:31 It's in one of the Science of Discworld books too. :p 17:20:40 fizzie: it distinguished between two waveforms using only combinatorial logic, which is obviously impossible 17:20:51 so obviously it was exploiting non-ideal behaviour of the components it was made from 17:21:34 -!- BeholdMyGlory has joined. 17:21:47 Yes; but it's still nifty. 17:22:31 Virtual Organisms mentions something about evolved gate arrays. If the gates which aren't connected to the circuit are removed, it stops working. 17:22:33 Weird. 17:23:14 I've ordered a FPGA dev board to experiment with it myself 17:25:09 http://swtch.com/r.zip -- a sort of a zip-quine; it expands to itself, except in a subdirectory r/. 17:25:36 Don't know where it came from, might be old; link via another channel. 17:25:59 it was being discussed a few days ago on reddit 17:26:09 along with .gz and .tar.gz versions 17:26:26 -!- Gracenotes has quit (Ping timeout: 246 seconds). 17:26:34 It's in one of the Science of Discworld books too. :p <-- yes I think that is where I first read about it 17:26:52 A compression file format is a bit of a natural platform for that sort of stuff. 17:27:51 fizzie, how do you manage to get itself back, doesn't zip files contain some sort of checksum which might make the whole thing harder? 17:29:02 Yes, I would assume it complicates things; but the checksum's not exactly cryptographically strong. 17:29:20 crc? 17:30:29 Some CRC-32 variant, IIRC. 17:30:43 -!- tombom has joined. 17:32:11 right 17:34:05 "ISSNC 2010, 17th International Summer School in Novel Computing"; presumably for people who are both computer scientists and novelists. 17:37:29 heh? 17:39:25 -!- cap11235 has quit. 17:40:28 ais523, what free alternatives are there to ghdl (if any)? 17:40:35 free open source I mean 17:40:36 I don't know of any 17:40:40 that doesn't mean there aren't any, ofc 17:40:49 but it does mean I can't point you to them 17:41:00 -!- FireFly has quit (Quit: null). 17:41:45 ah 17:44:17 -!- Gracenotes has joined. 17:50:42 ais523, what is the simplest way to make a test suite or such for a (stateless) entity in vhdl? 17:50:54 as in, I just want to test all input signals and get a time diagram 17:50:58 write it in imperative VHDL 17:51:07 something as simple as using initialised signals 17:51:13 together with a <= not a after 10 ns 17:51:16 b <= not b after 20 ns 17:51:19 hm 17:51:19 c <= not c after 40 ns 17:51:21 right 17:51:35 or a <= a + 1 if they're integers rather than std_logics 17:52:29 ais523, shouldn't there just be a way to do: for each number in range 0000 1111... and then use that to generate the time diagram 17:52:33 if you see what I mean 17:52:45 AnMaster: but that doesn't specify the timings 17:53:02 a <= conv_std_logic(conv_integer(a)+1) after 10 ns 17:53:05 ais523, the thing I want to test have no timing info currently 17:53:06 see, that's pretty simple 17:53:08 hm 17:53:13 right 17:54:07 ais523, the example "test bench" at http://ghdl.free.fr/ghdl/A-full-adder.html seems quite confusing 17:54:17 oh wait, forgot you ignore links 17:54:22 it was from the ghdl manual 17:54:28 test benches can be written to be synthesisable, it's harder then 17:54:29 test bench for a full adder 17:54:36 anyway, the reason is that test benches are normally full of asserts 17:54:44 as in, actually test the outputs, rather than just generating them 17:54:50 it uses: 17:54:51 type pattern_array is array (natural range <>) of pattern_type; 17:54:52 constant patterns : pattern_array := 17:54:58 and then a list of the binary numbers 17:55:00 normally you rewrite what the circuit's meant to do in imperative VHDL< and compare 17:55:08 heh, natural range <> 17:55:15 VHDL array syntax is so cute 17:55:18 ais523, ? 17:55:23 what does natural range <> mean? 17:56:37 ais523, also this seems weird: assert false report "end of test" severity note; 17:56:54 AnMaster: welcome to output to stderr 17:57:05 oh my god 17:57:05 "severity note" means it isn't a problem that the assert fails 17:57:12 and the assert failure means it gets output 17:57:15 also why does it end with wait; 17:57:24 and to prevent an infinite loop 17:57:29 i see 17:57:31 I* 17:57:38 -!- Gracenotes has quit (Ping timeout: 260 seconds). 17:57:56 you are missing the point of VHDL if you don't see why you need a pause instruction /somewhere/ in a loop, even an implicit one around a process with no trigger conditions 17:58:32 (it's a nice fun reversal from most languages; in most languages, you put an infinite loop at the end of a program for it to not terminate, in VHDL you put an infinite wait at the end of a process for it to terminate) 17:58:50 ais523, well I can see why it makes sense in the actual thing you are synthesising. But not in a test suite for simulation no 17:59:06 maybe the issue is that such test benches abuse vhdl basically 17:59:06 AnMaster: it's the way VHDL thinks 17:59:15 you still have too much of an imperative mindset 17:59:55 ais523, you didn't get around to describing what natural range <> actually meant. 18:00:06 I'm not actually sure 18:00:16 ah 18:00:21 but I think it defines an array type whose bounds are determined later when it's actually used 18:00:26 rather than having fixed bounds for all instances of the type 18:00:31 oh btw, any idea about this bit: for i in patterns'range loop 18:00:34 the ' to be specific 18:00:56 ais523, :D 18:01:11 AnMaster: think of ' in VHDL like -> in C++ 18:01:16 ah I see 18:01:20 it basically accesses metadata 18:01:23 alternatively, it's the cast operator 18:01:27 as in, String'("Hello, world!") 18:01:41 (which needs to be cast to a string because "" is ambiguous without knowing what type it is) 18:01:54 (imagine "1XXUW", is that a string or a std_logic_vector?) 18:02:21 Oh I see what that array is, it isn't actually a binary count, it is expected output as well 18:02:59 ais523, I couldn't tell, I'm still learning vhdl 18:03:11 but yes it might be ambiguous 18:03:42 ais523, I'm somewhat confused by the use of quotes in VHDL 18:04:02 AnMaster: '' quotes one thing, "" quotes an array of things 18:04:16 ah I see 18:04:23 and what is "thing" here? 18:04:26 e.g. '0' is a single std_logic (or possibly something else, you might need to cast it depending on context), "0000" is four std_logics forming a std_logic_vector (again, it might be something else) 18:04:42 and "thing" is an arbitrary type, you need to cast unless it's clear from the context, which it usually is 18:04:49 but quite often it's std_logic 18:05:59 hm 18:06:33 ais523, and when is that "bit" type used? 18:06:56 very rarely, it's an imperative boolean 18:07:08 hm I see 18:07:11 so you need to be a) writing imperative code, and b) happening to need a boolean 18:07:16 AnMaster: the summer school thing was just a miscellaneous ad from my inbox. "Surprisingly" it wasn't related to novels in the book sense at all; was more about robotics and such. 18:07:18 and that combination doesn't come up a lot 18:07:30 fizzie, where did the word "novel" come from then? 18:07:52 it might work for something like a flag variable (note, not flag signal) 18:08:00 AnMaster: 1. (6) fresh, new, novel -- (original and of a kind not seen before; "the computer produced a completely novel proof of a well-known theorem") 18:08:10 ais523, hm 18:08:40 ais523, how is verilog compared to vhdl btw? 18:09:06 used more in academia and less in the military; same feature set; syntax is C-like and rather sloppier than VHDL's 18:09:40 mhm 18:09:56 ais523, and what about in industry 18:10:04 not sure 18:10:07 ah 18:10:14 although all the industrial tools default to VHDL, which is a clue 18:10:27 any linux tools for verilog btw? 18:11:08 no free ones that I know of 18:11:15 although the same expensive ones that do VHDL do Verilog too 18:11:47 right 18:12:25 There are five open-source ones in http://en.wikipedia.org/wiki/List_of_Verilog_simulators but it's anyone's guess how serious those are. 18:13:09 The name (Verilog, as opposed to VHDL) is perhaps easier to twist into fancy nomenclature; cf. "Verilator", "VeriWell". 18:13:57 augh at the latter one 18:14:11 -!- Gracenotes has joined. 18:23:39 " Copyright (C) 2004, 2005, 2008 Tristan Gingold -- tgingold AT free DOT fr 18:23:39 Last modified: Thu Mar 16 04:39:49 CET 2006 " 18:23:44 from http://ghdl.free.fr/features.html 18:23:52 time travel may be involved 18:24:03 (for ais: that was from ghdl web site) 18:25:29 oh and the copyright line does not seem to be site wide 18:25:36 nor does the last modified date 18:25:44 so this is quite wtf 18:27:37 ais523, btw, found an open source verilog simulation/synthesis tool (subproject of gEDA it seems) 18:27:48 bbl in about 1 hour 18:33:34 -!- Gracenotes has quit (Ping timeout: 260 seconds). 18:37:28 AnMaster: maybe he was using Apple's Time Machine [tm] 18:43:41 -!- nooga has quit (Ping timeout: 240 seconds). 18:45:28 -!- nooga has joined. 18:45:48 -!- coppro has joined. 18:46:10 -!- jcp has joined. 18:47:37 -!- jcp has quit (Remote host closed the connection). 18:48:52 -!- SgeoN1 has joined. 18:52:25 -!- FireFly has joined. 18:57:04 Heh, the "Pattern Recognition Society of Finland" decided to award their yearly "best Master's thesis" award of 2009 to my thing. Now I'm feeling somewhat obligated to join their silly club. 18:57:31 what was your thesis? 18:57:57 "Methods for Spectral Envelope Estimation in Noise Robust Speech Recognition" 18:58:18 apparently GSOC gave me a free membership in ACM for a year 18:59:53 I understand there was a (very minor) spike in ACM student membership popularity when it turned out you could get access to Microsoft's "academic alliance" software that way. Or at least they bothered to put "Note! The membership does not give you access to Windows 7" on the sign-up page with red letters. 19:01:08 Well, maybe it wasn't red text. 19:01:21 And just being a student gets you access to Windows Server 2008. 19:01:28 But https://campus.acm.org/public/qj/QuickJoin/qj_control.cfm?form_type=Student still displays quite prominently "The Microsoft Developer Academic Alliance package DOES NOT contain Windows 7." 19:01:56 We have one Windows box here for when it's absolutely necessary, and I think it's running Server 2003 from the Dreamspark thing. 19:01:58 I think UW will get me access to various Microsoft softwares 19:02:17 -!- kar8nga has quit (Remote host closed the connection). 19:02:21 coppro: If you're a student, you've got access to Microsoft softwares from Dreamspark. 19:02:33 something like that 19:02:34 Note. That is not "college student", just "student". 19:02:45 some of them, yeah 19:02:50 but the university grants more 19:02:51 And technically, all they *check* is that you've got a student email account. 19:02:54 True. 19:03:08 I'd investigate more 19:03:11 but I don't care 19:03:16 But Dreamspark already nets you Server 2008 and Visual Studio. AKA most of the expensive dev software. :P 19:04:01 I've only used this for the sake of virtualising an Active Directory setup so that I could figure out how to get Linux to use Active Directory for login for work... 19:04:31 Server 2008 might not be the nicest workstation OS ever. At least I'm getting a bit bored having to type a reason for shutdown every time I turn off that Server 2003 box. (The "ok" button in the dialog is disabled until you write something in the "why you be shutting me down?" box.) 19:04:48 fizzie: That is quite annoying, yes. 19:04:58 I think there's a way to turn that off, though. 19:05:16 Something like "Yes, this is a *workstation* not a server. Fuck off." 19:05:24 Typically I'd guess a magic register key value somewhere. 19:05:35 Yeah... 19:05:40 Isn't there a game at lost.edu or something? How'd they get a .edu? 19:06:06 Or maybr I'm hallucinating 19:07:16 SgeoN1: This is all a hallucination. 19:07:18 The Internet does not exist. 19:07:21 Now go to bed. 19:08:22 Hm, a better nick might be Sgeoid 19:08:31 Sgendroid. 19:08:47 Sgeoid sounds like a shape. 19:09:12 Or "Sgexus_One"? 19:09:14 Are you saying I'm not a shape?!?! 19:09:41 Isn't the joke usually "What do you mean I'm not in shape? Round *is* a shape!" 19:10:22 Didn't think of that, but I'm more of a line than a sphere. 19:10:41 Oh, "in" ahape 19:13:18 F(@#&#(&@#CK 19:13:30 I SCREWED MY GSOC APP THIS YEAR ;[ 19:16:50 :( 19:17:00 what'd you do? 19:26:02 -!- Phantom_Hoover has joined. 19:26:21 So, are there any decent free CASs? 19:26:34 I've tried Maxima, but I was wondering. 19:26:51 Maxima's pretty much it. 19:27:25 And Mathematica is well out of my league... 19:27:39 Oh, well. 19:30:00 Hi Phantom_Hoover. We were worried about you. What's the deal with the edit on the wiki? 19:30:17 I was feeling weird last night. I'm OK now. 19:30:41 Glad to hear you're ok 19:31:23 BtW, did oerjan and alise get that Fibonacci bijection working? 19:31:48 I'm... not sure 19:34:09 -!- SgeoN1 has quit (Read error: Connection reset by peer). 19:34:18 -!- SgeoN1 has joined. 19:35:09 Based on my understanding of the algorithm, I can't work out what the binary number "1111" goes to. "111" is {1, 1}, I think. 19:37:03 Oh, and the Ubuntu community's help for my graphics drivers crashing my computer is an unequivocal "You're screwed until the update." 19:37:49 This was after spending twenty minutes posting my complaint on the IRC channel every five minutes until I got a response. alise was right, a bag of weasels is far superior. 19:40:19 #ubuntu can be pretty awful 19:40:39 sometimes I idle there around a new release, to increase the average quality of help (I'm not very good at helping, but the average is worse) 19:40:46 but I didn't this time because I haven't upgraded yet 19:41:23 It's a small mercy that the particularly computer-illiterate users don't know how to use IRC. 19:44:39 Oh, did they kick the lucid out of the door? 19:45:36 yes 19:46:14 I am tempted to say "ilmassa on suuren urheilujuhlan tuntua!", but will not, since I couldn't translate that well enough anyway. 19:47:12 Deewiant: "About NetHack: by night, if they saw him stoop; and even to raise his goats from the man in the use of black magic. as a hunter with..." 19:47:27 Seems a bit cut off 19:47:39 Thank Twitter for that. 19:47:47 Twitter: My thanks 19:48:07 I just suffix ... if it seems to go past the 140 character limit; didn't tweak the stopping probability at all. 19:49:35 Deewiant: I also somehow was amused a bit by a recent poem: "maa on viileä kuin myrkkykaatopaikka / solmu hapertuu yöksi / tylsyys osaa juoda myrkkyä meissä". 19:50:05 -!- SgeoN1 has quit (Ping timeout: 252 seconds). 19:50:06 Did you have runogen on Twitter as well? 19:50:33 Sure, http://twitter.com/runogen (what an inspired account name). 19:50:49 There exist an english port of runogen, but for some reason it's not at all as funny. 19:51:05 Worse corpus? 19:51:18 Smaller, I think. Only one wordset, no... stranger ones. 19:52:43 For some reason ~no-one seems to be following either one; runogen's got 2 followers and fungot has 6. 19:52:44 fizzie: you shouldn't need the traceback since you should be able to run a gambit benchmark from the repl, but not your vote). you need to 19:56:58 back 19:57:11 AnMaster: maybe he was using Apple's Time Machine [tm] <-- augh 19:58:31 opencores has a horrible faq page btw. It is somewhat surprising that it works even without javascript.. 19:58:38 (see http://opencores.org/opencores,faq) 19:59:01 (try clicking those links, in fact, you will notice the issue before you click) 19:59:17 it is neurotic to navigate 20:08:24 -!- Tritonio_GR has joined. 20:08:32 -!- nooga has left (?). 20:08:38 -!- nooga has joined. 20:08:51 coppro: i did IM filesystem for Plan 9 20:08:56 at least tried 20:09:10 nooga: What did you screw up? 20:09:15 nooga, IM? 20:09:22 proposal ;D 20:09:31 Instant Messaging 20:09:33 ouch 20:09:41 you meant what I thought you meant. :/ 20:09:55 oh come on, this was even in their ideas 20:10:13 my view was a little bit modified, though 20:10:30 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 20:10:34 nooga: I take that this is mapping IM to the filesystem, rather than creating a filesystem stored over IM 20:10:49 ais523: you're right 20:10:58 boring 20:11:01 there's an IRCfs for Plan 9 20:11:20 in Plan 9 you write filesystems instead of libs 20:11:25 How did you screw it up? 20:11:46 nooga, which im protocol? jabber? 20:11:58 because filesystems provide consistent interface for every stupid shell script or C prog or something else 20:12:11 AnMaster: yup 20:12:24 but XMPP is tough 20:12:33 ais523, looking around there seems to be better open source tools for verilog than for vhdl, at least there seems to be some open source synthesis tools for verilog 20:12:39 haven't yet found any for vhdl 20:12:51 coppro: i guess it was not as detailed as it should be 20:13:21 -!- impomatic has left (?). 20:19:52 haha, now WIMACS has a modem 20:21:09 nooga, ? 20:22:05 WIMACS is out (mine/friend's) computer built from scratch 20:22:38 with 8088 processor, homebuilt motherboard and homebuilt modem as an I/O device 20:23:13 i'm trying to write small OS for it and then you will be able to dial WIMACS using modem and talk with it on tty 20:24:41 our* 20:26:51 maybe it could even serve a BBS 20:26:59 Not bad. 20:27:37 You could probably port CP/M to it. 20:27:42 sure 20:27:59 even DOS 20:28:15 but i want to write my own 20:28:16 DOS is very, very, very heavily BIOS-based. 20:28:18 just for fun 20:28:23 CP/M is more portable. 20:28:29 that's right 20:28:40 but running DOS is possible 20:28:45 Basically all that's needed is an 8080, a terminal, and 16k of RAM. 20:29:07 Possible, but you'd not run anything that used BIOS routines. 20:29:16 Unless you wrote an IBM BIOS emulator. 20:29:16 that's why CP/M is awesome 20:29:17 *shudder* 20:29:33 Yeah. 20:33:17 burp 20:42:34 -!- oerjan has joined. 20:43:11 -!- SgeoN1 has joined. 20:43:23 BtW, did oerjan and alise get that Fibonacci bijection working? 20:43:38 i didn't code it up, and i didn't hear alise said e did, either 20:44:06 also, you're alive! (but absent) 20:44:21 Based on my understanding of the algorithm, I can't work out what the binary number "1111" goes to. "111" is {1, 1}, I think. 20:44:35 oerjan: alise added a link to the wiki 20:44:43 i'm thinking about Forth-like language for WIMACS 20:44:44 which may or may not be to a Fibonacci bijection 20:45:18 ais523: today? because e added the 2^u*(2*v+1)-1 version previously. 20:45:30 * oerjan should probably check when he gets that far 20:45:46 I noticed today, although it may have happened earlier 20:46:03 Phantom_Hoover: (for the logs) naively, 1111 corresponds to nothing, that's precisely why i included the divMod x 2 modification 20:46:11 if you actually looked at my code 20:47:23 basically if it starts with an even no. of 1's, remove one before encoding into a list. afterwards, double the list head, then add 1 iff a 1 was removed. 20:47:43 -!- Phantom_Hoover has joined. 20:47:47 heh 20:47:51 lol 20:48:23 21:42 oerjan> BtW, did oerjan and alise get that Fibonacci bijection working? 20:48:26 21:43 oerjan> i didn't code it up, and i didn't hear alise said e did, either 20:48:29 21:43 oerjan> also, you're alive! (but absent) 20:48:31 21:43 oerjan> Based on my understanding of the algorithm, I can't work out what the binary number "1111" goes to. "111" is {1, 1}, I think. 20:48:42 221:45 oerjan> Phantom_Hoover: (for the logs) naively, 1111 corresponds to nothing, that's precisely why i included the divMod x 2 modification 20:48:44 oerjan: Yeah, I'm reading the logs. 20:48:46 21:45 oerjan> if you actually looked at my code 20:48:47 I missed that. 20:48:48 21:46 oerjan> basically if it starts with an even no. of 1's, remove one before encoding into a list. afterwards, double the list head, then add 1 iff a 1 was removed. 20:49:21 an obvious way to biject BF and the naturals is to start with any naive encoding, then map the lowest-numbered valid BF program to 1, the second-lowest to 2, the third-lowest to 3, etc 20:49:28 although that could be tricky to implement 20:49:44 Yeah, that was discussed. 20:50:06 fax *claimed* to have an algorithm that made it practical, but he never gave it. 20:50:37 ais523: we _are_ going for a bit of efficiency here. after all we are still modifying the encoding because the 2^u*(2*v+1)-1 encoding, while perfectly correct afawk, blew up the numbers too much. 20:51:16 Logically, it must have encoded some *huge* programs as small numbers, though. 20:51:57 well not necessarily 20:52:01 -!- SgeoN1 has quit (Ping timeout: 240 seconds). 20:52:21 oerjan: How? 20:52:34 it just had to encode some huge programs a _little_ smaller than you'd think, so the small programs could fit there instead. 20:52:48 well some of the small programs 20:53:27 but basically i think it encoded long programs without loops fairly small 20:53:41 guys, ive got a challenge for you. :D 20:53:44 Hmm... 20:53:58 its related to formal grammars tho, so if you dont want to accept the challenge, i understand. 20:54:16 since it was the cars in the lists that blew up, and if they were just single commands rather than loops they couldn't blow up _that_ much. 20:54:22 -!- augur has quit (Remote host closed the connection). 20:54:39 oerjan: The current bijection gives huge numbers for long programs without loops, though I don't recall if I tried it with the old one. 20:54:51 -!- augur has joined. 20:54:59 the challenge is as follows 20:55:01 -!- AndChat| has joined. 20:55:32 define a class of grammars that extends the context free grammars (or some formulation thereof) in the following way: 20:55:39 -!- AndChat| has quit (Read error: Connection reset by peer). 20:55:43 Phantom_Hoover: yeah the triangular encoding and the bit interleaving one both have problems when creating a tuple of one small and one large number, as a long consed program would eventually tend to do 20:56:14 fizzie and i found out those two are actually pretty equivalent 20:56:31 just about 2 bits difference at most 20:56:34 So distributing the conses would actually make a big difference? 20:56:40 the extended version of the grammar allows the following property: for each grammar, there is some non-terminal symbol, call it W, that can behave in the following fashion: 20:57:20 Phantom_Hoover: yes. although the fibonacci version should be better because the size of the encode list is approximately proportional to the total sum of bits 20:57:24 either all instances of the symbol are at whatever places they are at in the sentence, one and only one instance is at the front of the sentence, or ALL instances are at the front of the sentence 20:58:46 Phantom_Hoover: however after i pointed out that the challenge is to find an encoding where the bit size of an encoded tuple is approximately the sum of the bitsizes of the elements, fizzie suggested i solve _that_. it would be even better than the fibonacci encoding, i think. 20:58:50 and those are the only three options 20:59:32 any takers :x 21:00:00 and it would, i think, remove the need to distribute tuples, you could use a consed list efficiently enough 21:00:38 augur: not at present, busy with a different problem as you can see 21:00:47 :P 21:02:02 Phantom_Hoover: i've thought about it a bit since this morning, and at least one way is just a counting problem 21:02:43 The "write out combinations of '-+<>,.[]' and eliminate invalids" way? 21:03:05 Phantom_Hoover: er no, i've never seriously considered that 21:03:30 i'm talking about a tuple encoding that approximately sums bitsizes to keep balance automatically 21:03:47 oerjan: Write us a generating function for the valid BF programs in some naive encoding. :p 21:03:53 I suppose fax was wrong about the efficient way for his algorith? 21:04:19 Phantom_Hoover: i don't say that, he was mentioning stirling numbers so there probably _is_ a way 21:04:28 (Then solve the coefficients out of it.) 21:04:40 it's just that even i don't feel like wrapping my brain around that 21:04:48 * Phantom_Hoover Googles 21:05:43 fizzie: but i _like_ the method we already have of building things out of lists or tuples, it just needs a more balanced tuple or list 21:07:13 now to encode [1..] x [1..] with balanced bits - i think dropping 0 is more elegant because: 21:07:43 if 0 is dropped, there is exactly 1 number with 1 bit, 2 numbers with 2 bits, 4 numbers with 3 bits etc. 21:08:05 now then how many tuples are there with sum of bitsizes n? 21:08:30 it could be 1+(n-1), 2+(n-2), ..., (n-1)+1. 21:09:30 2^0 * 2^(n-2) + 2^1 * 2^(n-3) + ... + 2^(n-2) * 2^0 21:09:42 conveniently all terms are equal :) 21:10:11 so there are (n-1)*2^(n-2) tuples with total bitsize sum n 21:10:40 n >= 2 21:12:36 1*1 + 2*2 + 3*4 + 4*8 + 5*16 + ... 21:13:38 the obvious way of getting balanced bits is to order the tuples by total bitsize and take their position in the order 21:15:04 -!- tombom_ has joined. 21:15:20 which requires counting all the tuples with smaller bitsize, then adding the number of tuples with same total but less bitsize in the first element, then adding x*2^n + y 21:15:32 all eminently doable, at least in the forward direction 21:16:03 er hm x*2^(n-1) + y 21:16:18 assuming (m,n) are the bitsizes of (x,y) respectively 21:16:42 -!- tombom__ has joined. 21:17:35 the middle term there we already essentially have, it's (m-1)*2^(m+n-2) 21:18:11 -!- tombom has quit (Ping timeout: 248 seconds). 21:18:16 so it remains to get the partial sums of that series 1*1 + 2*2 + 3*4 + 4*8 + 5*16 + ... 21:19:26 !haskell take 10 $ scanl1 (+) [(n-1)*2^(n-2) | n <- [2..]] 21:19:28 [1,5,17,49,129,321,769,1793,4097,9217] 21:20:08 Haskell programs must give horrendously complex machine code. 21:20:18 -!- tombom_ has quit (Ping timeout: 276 seconds). 21:20:49 the evil mangler of ghc is legendary 21:21:22 but it's going away when they deprecate the compilation via C option 21:21:45 (it's a perl program directly modifying gcc-outputted assembly, iirc) 21:22:08 * Phantom_Hoover is still trying to stop my inner 4-year-old wanting Mathematica 21:22:21 OEIS says that sequence is (n-1)*2^n + 1 21:23:11 !haskell [(n-1)*2^n + 1 | n <- [0..10]] 21:23:13 [0,1,5,17,49,129,321,769,1793,4097,9217] 21:23:43 !haskell putStrLn "Hello, world!" 21:23:44 Hello, world! 21:23:55 ok we wanted the 1 to start at n=2 21:24:08 Shouldn't it be outputting IO ()? 21:24:20 !haskell [(n-2)*2^(n-1) + 1 | n <- [2..10]] 21:24:22 [1,5,17,49,129,321,769,1793,4097] 21:24:58 Phantom_Hoover: that's an optional option for ghc i think 21:25:17 An optional option... 21:25:27 YOU KNOW WHAT I MEAN 21:25:55 -!- Sgeo|web has joined. 21:26:23 hm actually n=2 should give 0 since then there are no strictly smaller tuples 21:26:29 I have the opportunity to post a [Bash] programming contest for my UNIX class 21:26:40 I'm considering having them implement a subset of Brainfuck 21:26:43 Any better ideas? 21:26:58 A _subset_? 21:27:08 !haskell [(n-3)*2^(n-2) + 1 | n <- [2..10]] 21:27:09 O_O? 21:27:10 [0,1,5,17,49,129,321,769,1793] 21:27:11 I think having them implement [] might be a bit difficult 21:27:17 nah 21:27:18 Any programmer worth their salt can implement the whole thing easily. 21:27:32 !show sadbf 21:27:32 sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1 21:27:35 see? easy 21:27:38 and complete 21:27:54 What is sadbf? 21:28:06 brainfuck interp in sadol 21:29:22 Sgeo|web: Make them implement [] for extra credit? 21:29:23 encode (x,y) = (m+n-3)*2^(m+n-2)+1 + (m-1)*2^(m+n-2) + x*2^(n-1) + y where m = bitSize x; n = bitSize y 21:29:56 Sgeo|web: are you a teacher or something? 21:30:25 defining bitSize remains 21:30:35 oh wait darn 21:30:41 log_2 ceilinged? 21:30:47 nooga: I won the programming contest 21:31:02 x and y need to have the upper bit removed 21:31:09 oh 21:31:12 hm now that's easy 21:31:18 i don't like teachers 21:31:32 Oh, be fair to them. 21:31:36 or rather ignorant morons... mainly 21:31:53 Most people learning programming aren't interested, at least AFAIK. 21:32:16 Phantom_Hoover: logarithms only defined for floating point, which cannot safely convert from Integers 21:32:20 How do you do ASCII code <-> character in Bash? 21:32:34 one guy from OS architecture classes failed me because my experimental kernel was not enough 21:33:07 he wanted me to make a powerpoint presentation about ACLs and implement an ACL simulator in C# 21:33:08 Sgeo|web: I don't know. 21:33:14 how sick is that 21:33:54 Sgeo|web: Give them a two-way converter and tell them to use that. 21:34:06 nooga: ... He wanted an ACL implementation, not a *freaking OS*. 21:34:08 encode (x,y) = (m+n-3)*2^(m+n-2)+1 + (m-2)*2^(m+n-2) + (x-1)*2^(n-1) + y where m = bitSize x; n = bitSize y 21:34:08 Bash isn't really a good language for BF. 21:34:12 Failure. 21:34:26 Two way converter? Bleh 21:34:32 the removal of the top bits fit with some other terms 21:35:00 hm some of that still can be combined 21:35:04 pikhq: but the guy couldn't even understand my design 21:35:28 encode (x,y) = (2*m+n-5)*2^(m+n-2)+ 1 + (x-1)*2^(n-1) + y where m = bitSize x; n = bitSize y 21:35:52 plus designing and implementing even minimal kernel requires more knowledge than writing a stupid essay about stupid, simple ACLs 21:36:01 nooga: If your teacher tells you to do such-and-such, doing something very clever that *isn't* such-and-such does not demonstrate knowledge of such-and-such. 21:36:12 And how many people was your teacher teaching? 21:36:22 Phantom_Hoover: OS architecture class. The class is about the architecture of an OS. 21:36:33 True. 21:36:45 And he was being graded on a "general project", I'm pretty sure. 21:36:58 But did he implement whatever an ACL is while writing his kernel? 21:37:04 a bit 21:37:06 but hey 21:37:21 i wrote a regular expression compiler for Formal Languages class 21:37:38 Frankly, a kernel for a project in an OS design class is pretty much what I'd expect. Not a teeny tiny ACL implementation in C#. 21:37:42 instead of going to lectures and laboratories 21:38:09 and it was a hit 21:38:20 Sgeo|web: Use printf. 21:38:24 As a converter. 21:38:27 Sgeo|web: You can convert from octal numbers to characters with "echo -e". And from decimal to octal with printf. 21:38:53 The "printf" command's %c prints the first character of the provided argument; it does not convert a number to character. 21:39:08 Echo -e doesn't on my system. 21:39:28 "echo -e \0nnn", where nnn is an octal number. 21:39:29 Can I just write the converter in Python? 21:39:51 Sgeo|web: Well, if you want to be a quitter.... 21:39:51 Yes but don't. 21:40:07 Why shouldn't I? 21:40:15 I'm going to supply the class with ord2chr and chr2ord 21:40:38 Hmm. Moar Japanese, or video games? 21:40:45 Sgeo|web: This BF-Nat bijection has demonstrated pretty well that we aren't very practically-minded. 21:40:50 This is a very hard decision. 21:40:51 i hope that my WIMACS would give me at least several credits 21:41:26 So variable spacing in interleaving X_1 and X_2 saves much more (Easily 100Mb with Lost Kingdom) than using hyperpyramidals instead of simple bit interleaving (hardly even 1Mb). 21:41:26 As for "character to octal", od's usually available. That should be enough. 21:42:13 and i thought that compressing brainfuck is a closed topic 21:42:21 Ilari: basically hyperpyramidals and bit interleaving are almost equal, both have encoded size dependent mostly on the maximal element 21:42:37 nooga: What do you think oerjan's talking about? 21:42:44 Fuck it. Moar Japanese. 21:43:33 because x1+x2+...+xn is between max(x1,...,xn) and n*max(x1,...,xn) which only give + log_2 n bit variation 21:44:03 Sgeo|web: Does Bash even have decent arrays? 21:44:14 Phantom_Hoover: read my statement again ;] 21:44:15 Phantom_Hoover: no clue 21:44:24 -!- ais523 has quit (Remote host closed the connection). 21:44:51 Phantom_Hoover: this isn't compressing really, we aren't trying to remove unnecessary bits or squeeze commonly repetitive parts... 21:45:16 Oh yeah, he said compressing. 21:45:45 Bash has both indexed and associative arrays, though the "decentness" is debatable. 21:46:18 doing that would probably make the whole mess of keeping bijectivity too horribly complicated 21:47:23 Bye all 21:47:36 -!- Sgeo|web has quit (Quit: Page closed). 21:55:00 fizzie: Aren't they all associative? 21:56:16 Deewiant: At least my manpage says they behave differently; you get explicitly indexed arrays with declare -a and associative -A; I'm not sure what you end up with if you just do the [] subscripting. 21:56:28 Okay 21:56:39 "Indexed arrays are referenced using integers (including arithmetic expressions) and are zero-based; associative arrays are referenced using arbitrary strings." 21:56:54 So variable spacing in interleaving X_1 and X_2 saves much more (Easily 100Mb with Lost Kingdom) than using hyperpyramidals instead of simple bit interleaving (hardly even 1Mb). 21:56:58 argh 21:57:08 (forgot to ^C) 22:02:10 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 22:03:54 -!- Phantom_Hoover has joined. 22:08:39 Does Python give a way to include multiple modules in one file? 22:11:17 1:[2],10:[4],11:[1],100:[6],101:[8],110:[3],111:[2,1],1000:[10] 22:11:40 that fibonacci encoding ordering is a bit weird :) 22:12:01 Are those binary? 22:12:13 before the :'s yes 22:12:24 And after? 22:12:34 lists of numbers >= 1 22:12:43 Oh, duh. 22:13:33 i've missed the idea 22:13:48 and i don't even know how is this supposed to work 22:14:08 basically you take a number >= 1 as binary 22:14:53 I think it relies on the property that the base-Fibonacci representation of a number uses only the digits 0 and 1 and never contains the sequence 11. 22:15:02 then you split it up at instances of 11 22:15:03 yep 22:15:08 -!- Rugxulo has joined. 22:15:16 * Rugxulo is logreading again 22:15:31 QuickBasic doesn't have all that many disadvantages for DOS. 22:15:38 * Phantom_Hoover has joined the room 22:15:40 alise, and 640 kB is enough for everyone? 22:15:54 no, I think you'd use EMS or XMS via INTERRUPT() or CALL ABSOLUTE 22:15:56 * oerjan is talking about himself 22:16:13 Rugxulo, XD 22:16:29 Rugxulo, how much ram does that allow? 22:16:46 depends on what API version, memory manager, etc. 22:16:46 someone should make SlowBasic 22:16:50 Rugxulo, and doesn't EMS and XMS mean you can't address it "straight" but need to use some nasty tricks 22:16:55 XMSv3 should allow 2-4 GB 22:16:56 * Phantom_Hoover quit (Quit) 22:16:58 also the first 1 in a 11 is removed. if there is more than 2 1's in a row, start from the back. 22:17:00 like basically having a "window" into high memory 22:17:03 *are 22:17:05 Phantom_Hoover, nice one 22:17:19 EMS is emulated XMS these days 22:17:20 Phantom_Hoover, except it looks nothing like the real thing here 22:17:29 Rugxulo, both are DEAD these days 22:17:32 -_- 22:17:34 Yes, I realised that when logreading. 22:17:51 Phantom_Hoover, well nor does it even look similar in my irc client I meant 22:17:54 AnMaster: http://johnson.tmfc.net/dos/drivers.html 22:18:16 AnMaster: FreeDOS is still maintained. 22:18:41 oerjan: but how is it related to bf? 22:18:42 (barely, but yes) 22:18:46 this leaves a problem if 11 remains at the start, which is hacked around by modifying the first number x into 2x or 2x+1, dependingly 22:18:48 pikhq, yes and so is linux 2.2 22:18:52 DOS is an OS that is very, very hard to kill. 22:18:59 not that hard 22:19:06 Rugxulo, also. doesn't both of these imply that you use a window into high memory or something 22:19:10 AMD64 (no V86), Vista and 7 (no gfx, bugs) 22:19:16 Rugxulo, that you can't see both at once 22:19:17 nooga: This will take a while. 22:19:26 Rugxulo, err all* 22:19:27 Rugxulo: That AMD64 can still run DOS. 22:19:27 not both 22:19:28 AnMaster, kinda, yes 22:19:31 Just not in long mode. 22:19:38 also there are emulators 22:19:44 nooga: it's just a way to encode lists of naturals as a single natural, which is then used as a subroutine to collapse a bf program into a single natural number 22:19:44 Rugxulo, so a pita to program for then? 22:19:46 DOSEMU has to fully emulate 16-bit stuff in AMD64 22:19:54 no, just a PITA for lazy programmers ;-) 22:19:57 And yes, there are quite good x86 emulators. 22:20:01 besides, DPMI is the preferred method 22:20:02 Rugxulo: AMD64 != long mode. 22:20:10 what pikhq said 22:20:10 I know 22:20:17 obviously, but you know what I meant 22:20:18 pikhq, but no one needs vm86() ... 22:20:29 no one needs AMD64 either 22:20:32 and dosemu and dosbox are both fast enough 22:20:34 but it exists ... 22:20:38 lies 22:20:42 DOSBox is slow slow slow!!! 22:20:47 and only emulates a 486 !!! 22:21:03 Rugxulo, well then, no one would make new dos apps needing a modern computer 22:21:06 you use it for old games 22:21:09 AnMaster, DPMI is how you directly access memory in 32-bit 22:21:10 where it is fast enough 22:21:23 Rugxulo: Dude, it's effectively emulating *several hundred MHz* 486. 22:21:31 even under DOSEMU x86-64, DJGPP stuff runs "native speed" (their claim, not mine) 22:21:32 Rugxulo, I need 64-bit, I often use enough ram at once for that 22:21:40 no, 100 Mhz 486 DX2 22:21:42 Which is to say, *dozens of times faster than any 486 ever dreamed of running*. 22:21:42 nooga: the trick is to do this in such a way that all legal bf programs get a unique number, and no numbers are skipped 22:21:50 and you need 1+ Ghz processor even for that speed !!! 22:21:51 Rugxulo, of course I don't need x86 as such 22:22:01 Rugxulo: Uh, WTF? 22:22:06 Rugxulo, I would be perfectly happy with PowerPC 22:22:11 (legal wrt bracketing. comments are ignored.) 22:22:11 Rugxulo: Dear God man, *Bochs* is faster than that. 22:22:23 oerjan: sounds awesome 22:22:23 no, trust me, DOSBox will not run faster than a 486 22:22:28 I have a real 586, and it's much faster 22:22:41 Rugxulo, a 586 wouldn't run dos any more 22:22:51 AnMaster: Yes it would. 22:22:51 eh? sure it would 22:22:57 I do it all the time ;-) 22:22:57 A 586 is called a "Pentium". 22:23:00 pikhq, didn't windows exist by then 22:23:02 pikhq, indeed 22:23:08 Windows existed for 8088, even 22:23:09 I know what a i586 is 22:23:18 Rugxulo, well okay, but I mean "common" 22:23:22 AnMaster: Until Windows XP, consumer Windows was a DOS program. 22:23:27 XP needs at least a Pentium 1 (no MMX) 22:23:35 pikhq, I know, but you didn't see much of that in windows 98 22:23:39 or even in 95 22:23:43 in 3.x sure you did 22:23:43 pikhq, that's generalizing a bit much, but semi-true 22:23:45 Sure you did. 22:23:51 Every time you ran a 3.x program. 22:24:00 Or an old DOS program. 22:24:11 Which was pretty darned common until, oh, 2000 or so. 22:24:13 pikhq, which was basically never, plus you couldn't tell it really if it was 3.x apart from a sucky gui 22:24:23 pikhq, I used 95 and 98 22:24:29 and well on 95 it still happened 22:24:30 AnMaster: Clearly you didn't. 22:24:33 on 98, basically never 22:25:02 Every time it broke enough, you needed to get out the edit.com 22:25:23 pikhq, don't think win98 broke like that for me ever 22:25:29 pikhq, blue screens yes 22:25:44 pikhq, so okay you saw scandisk at boot sometimes, I admit that 22:26:16 AnMasterRugxulo, I need 64-bit, I often use enough ram at once for that 22:26:35 nobody ever used to need > 4 GB of RAM, so why they do now? 22:26:46 we put a man on the moon with much much much less than that ;-) 22:27:21 AAARGH why did firefox decide to open that pdf in *krita* 22:27:24 that makes no sense 22:27:25 Rugxulo: Anyways. DOSbox *defaults* to 100 MHz. The clock speed it runs at is configurable. 22:27:48 Dunno why, but it does. 22:28:41 it's not cycle exact, and cpus differ, different apps need different speeds, etc. 22:28:48 Yup. 22:28:57 well, plus there are different cores for different things (supposed to guess at runtime, doesn't always work) 22:29:02 Though most DOS apps *really* shouldn't be relying on a specific clock speed. 22:29:14 most don't, but some old ones did 22:29:20 At least, anything that ran on anything newer than the original XT shouldn't. 22:30:07 DOSBox virtualizes a lot of stuff (VGA, soundcards, etc.), otherwise people would just prefer VirtualBox (faster but much less DOS-friendly) 22:30:20 what API did DOS provide and how was it called? 22:30:26 interrupts? 22:30:28 provide for what, timing? 22:30:37 Rugxulo, in general, how did you do a syscall under DOS 22:30:40 that is what I'm asking 22:31:05 AnMaster: Interrupts. 22:31:06 a la "int 80h" ?? DOS proper mostly used "int 21h" (but also others, 2Fh, and BIOS, 10h) 22:31:18 s/used/was called via/ 22:31:43 What would happen if I wrote a BIOS program in Linux and ran it? 22:31:47 Rugxulo, yes like syscall/sysret (or int 80h, but linux no longer uses that if there are better alternatives, and that change was made back during 2.5.x) 22:31:59 Phantom_Hoover: I think Linux V86 mode supports such 22:32:01 (maybe) 22:32:22 hm what did windows do for it? before syscall/sysret I mean 22:32:25 AnMaster: but there are people who code for int 80h (mostly assembly dudes) 22:32:28 windows nt 4 and so on 22:32:48 Rugxulo, why do they code for a legacy platform though? 22:32:50 what did Windows do internally or end users? 22:33:06 Rugxulo, I mean, what did windows do to call it's kernel 22:33:15 AnMaster: "legacy" is 90% of the world! 22:33:16 some interrupt? call gates (*shudder*)? 22:33:24 AnMaster: You just call the NTDLL functions, you don't do manual syscalls there. (I'm sure it's *possible*. but...) 22:33:31 fizzie, and what do they do? 22:33:34 AnMaster: Depends on which Windows. 22:33:40 fizzie, nowdays presumably syscall/sysret 22:33:43 pikhq, I specified that above 22:33:47 Must sleep. 22:33:51 Ah. 22:33:51 -!- Phantom_Hoover has left (?). 22:33:57 NTDLL. 22:33:58 pikhq, "nt before syscall/sysret days" 22:33:59 I said 22:34:06 well, not exact phrase 22:34:10 but the same meaning 22:34:18 AnMaster: Why should you care what they do? My guess would be the interrupt mechanism, that's I guess the common way. 22:34:31 fizzie, yes but which interrupt 22:35:20 oh and: AnMaster: "legacy" is 90% of the world! <-- not really, most new linux installs on 64-bit capable hardware (which is almost all new x86 hardware, possibly excluding atom, not sure about that...) tend to be x86_64 22:35:20 not really documented internals (at least not by MS), but I think "int 2Eh" was their own revectored / proprietary one 22:35:32 AnMaster: "System calls in Windows NT are initiated by executing an "int 2e" instruction." 22:35:33 Atom is 64-bit now, yes 22:35:34 at least those I have seen 22:35:37 so is VIA 22:35:43 AnMaster: But really, no-one invokes those manually, so why *should* you care? 22:35:47 Rugxulo, yes, all new hardware is 22:35:51 you can't because MS didn't document it 22:35:58 Rugxulo, and by god, x86_64 is *way* better 22:36:03 AnMaster, so what? just because it's new doesn't make it perfect 22:36:04 still bad yes 22:36:12 AnMaster: Windows NT supports 3 different system call schemes by default. 22:36:18 better for coders who already know how to use older stuff? 22:36:19 barely 22:36:20 Rugxulo, yes it is less register starved, no it doesn't have enough registers 22:36:21 pikhq, heh 22:36:33 doesn't matter how many registers, push/pop is a simple workaround 22:36:35 The Win32 subsystem's, the OS/2 subsystem's, and the POSIX subsystem's. 22:36:37 Rugxulo, slower 22:36:39 besides, more registers don't mean faster speed 22:36:47 (implementations for the POSIX subsystem are not included by default) 22:36:51 Rugxulo, and compiler does a better job at a less register starved architecture 22:36:57 OS/2 and POSIX subsystems are dead and removed in modern Windows 22:37:05 compilers are dumb dumb dumb 22:37:13 *plonk* 22:37:14 Rugxulo: The OS/2 subsystem is unmaintained but very much still around. 22:37:22 pikhq, oh? interesting 22:37:29 And the POSIX subsystem is not merely around but actively developed. 22:37:30 uh, not that I know of, I think OS/2 1.x apps last worked only in Win2k 22:37:38 Interix? SFU? 22:37:38 Still work. 22:37:45 Interix is still developed. 22:37:51 And that is the POSIX subsystem. 22:37:52 not the same, and doesn't come by default, only available for Enterprise, etc. 22:38:09 Rugxulo, I presume I can get it by MSDNAA 22:38:15 too lazy to check 22:38:15 -!- tombom__ has quit (Quit: Leaving). 22:38:18 It's a free download. 22:38:20 AnMaster, I just mean most compilers aren't exactly perfect by a long shot 22:38:26 -!- FireFly has quit (Quit: null). 22:38:31 For XP, Vista, Server 2003, Server 2008, or 7. 22:38:33 it's not like they magically get 1000x better just by having a few extra registers 22:38:52 "Server" != "Home Premium" 22:39:06 "Server 2003" is a *Windows version*. 22:39:16 yes, but not for home users (e.g. DPMI broken) 22:39:21 Rugxulo, sure, gcc isn't very good. But 1) portable (compared to asm) 2) much less programmer time, hardware is cheaper than programmer time often nowdays 3) good enough most of the time 22:39:28 and a lot easier to debug for and so on 22:39:30 It's still available for the *consumer versions of OSes* as well. 22:39:36 asm can be portable, see FASM itself (runs on like 10 OSes) 22:39:41 Rugxulo, and not 1000x, that is unrealistic 22:39:47 less programmer time depends on the programmer ;-) 22:39:55 Also. Yeah, x86 gains a *lot* from the extra registers. 22:39:59 Rugxulo, I'm talking about 150% increase for some tasks, 10-20% for other 22:40:00 x86_64 *doubles* the registers. 22:40:00 it varies 22:40:03 *Doubles*. 22:40:05 yep 22:40:08 no, not everything speeds up with x86-64 22:40:22 iirc I saw 300% increase for MPEG decoding on x86-64 22:40:26 or some such 22:40:32 probably using SSE2 22:40:36 which is always available 22:40:43 Rugxulo, it was using SSE2 on 32-bit version too 22:40:44 in that test 22:40:47 And anything doing 64-bit arithmetic (like MPEG encoding and decoding) increases by *absurd* amounts. 22:40:57 Rugxulo: It also doubles the number of SSE2 registers... 22:41:12 obviously you guys haven't tested my lame-o hack of BEFI.COM, very very small changes can significantly alter the speed 22:41:17 pikhq, I don't understand why we don't have a mode with 32-bit pointers, 64-bit GP registers, and so on 22:41:21 it seems saner 22:41:30 AnMaster: Too much work. 22:41:31 64-bit pointers only for apps that need it 22:41:42 pikhq, it would avoid the larger pointer size problem 22:41:42 AnMaster: people are lazy, that's why 22:41:50 AnMaster: That means another full complement of dynamic libraries. 22:41:57 pikhq, and we would always have 64-bit registers 22:42:10 sounds like V86++ to me ;-) 22:42:12 pikhq, no it means two, since we drop the legacy 32-bit GP register variant on this arch 22:42:28 we have two anyway nowdays 22:42:40 ... If you're dropping x86_32, then you might as well just *nuke x86 as a whole*. 22:42:41 and this would be a new arch 22:42:41 pikhq: Are you sure you can get it officially supported for the consumer versions of current Windowsen? SFU 3.5, which is downloadable from Microsoft, officially supports up to Server 2003 / XP; for Vista and 7, you'd need the "Subsystem for UNIX-based applications" (SUA), which as far as I know isn't available as a standalone thing, only in the Enterprise and Ultimate editions. 22:42:45 pikhq, yes 22:42:50 pikhq, this wouldn't be x86 at all 22:43:00 (Could be that I just haven't found the SUA download, though.) 22:43:06 fizzie: I've used it. 22:43:12 MS is annoying with nickel-and-diming everything 22:43:15 It's even free to redistribute. 22:43:22 Gentoo/Win32 has it on the CD. 22:43:23 XP Mode won't work on 7 except non-Home versions, etc. 22:43:38 bah, just use Cygwin ;-) 22:43:45 Erm. Sorry. Gentoo/Windows. 22:43:45 * Rugxulo wonders if Cygwin64 exists 22:44:05 Rugxulo: Interix is quite a bit faster than Cygwin. 22:44:16 Doesn't need to use hacks like userspace fork. 22:44:46 pikhq, it would be some (probably RISC) platform. It would have 32-bit and 64-bit pointer mode for userland. Always 64-bit for kernel. It would have lots of GPR, (64? 128?) which would always be 64-bits wide, possibly we could have a few 128-bit GP registers as well, probably fewer for cost reasons). It would have some 256 bits wide SIMD registers. Or maybe 512? 22:44:57 pikhq, and some floating point, could be part of SIMD, not sure 22:45:25 plus an assorted set of special registers of course, like every other arch 22:45:44 pikhq, sounds like utopia yet? 22:45:57 http://lbw.sourceforge.net/ (uses Interix, supposedly very buggy though) 22:46:02 Gentoo/Win32 has it on the CD. <-- and isn't that dead? If you mean the cygwin one? 22:46:17 Rugxulo, there is internix debian 22:46:18 256 bit wide SIMD = AVX, no? 22:46:21 pikhq: By "it", do you mean the older SFU 3.5 working also on Vista and 7 unsupportedly, or the SUA? Because all I can really find from Microsoft's downloads is the SUA utilities and SDK, which requires Vista/7 Enterprise/Ultimate, because the actual subsystem part is only included in those. (I guess it might be redistributable and available because of that, but not directly from MS.) 22:46:26 Rugxulo, this is not x86 22:46:27 ... 22:50:55 fizzie: Huh. Sure enough. 22:51:10 03:00:06 dumb question, but why not use FreeBASIC instead? 22:51:10 No peeking 'n poking madness; no nostalgia; no good-ole-days-feeling. 22:51:12 Incidentally, how is it with Hurd these days? Ready to replace the temporary Linux solution yet? 22:51:16 Fucking Microsoft. 22:51:26 FreeBASIC has a QB mode, and you can indeed peek/poke with DJGPP functions 22:51:28 Hurd is basically abandoned. 22:51:44 no, I think somebody is (barely) working on it, just not sure how much 22:51:52 I thought I read some hint about it recently, but I can't remember 22:52:04 pikhq, link to gentoo/windows? 22:52:17 pikhq, the only thing I can find is something published on 1 april... 22:52:33 or the old dead gentoo/cygwin one 22:53:12 http://www.gentoo.org/proj/en/gentoo-alt/prefix/index.xml 22:53:41 oh, BTW, does anybody in here besides me actively have a Win32 install? 22:53:52 I'm thinking it should maybe be possible to write a Befunge93 interpreter in CMD 22:53:56 Rugxulo: I have *an* implementation of Win32. 22:54:01 (which may or may not work with ReactOS) 22:54:11 (their shell shares some features) 22:54:14 pikhq, and the cd with this thing for it on it? 22:54:36 AnMaster: http://distfiles.gentoo.org/experimental/prefix/x86-interix/ 22:54:41 I wrote "get()" in CMD, seems to work, haven't gotten past that though 22:54:47 Rugxulo, I have 64-bit windows xp in a virtualbox 22:54:52 that is all I have when it comes to windows 22:54:52 -!- jcp has joined. 22:55:02 Rugxulo: I have a silly Server 2003 install, though I'm not sure what you mean by "actively". 22:56:19 I was basically looking for comments on whether anybody agreed that CMD should be enough to emulate Befunge93 22:56:30 like I said, I wrote get(), it seems to work, but I haven't gotten past that 22:56:32 I doubt it 22:56:34 Well, sure, why not. 22:56:50 but who knows, it may be possible 22:57:01 befunge98, probably not 22:57:28 it supports "set /A expression", for example 22:57:51 Rugxulo, what about the stack 22:58:00 env. vars 22:58:08 set STACK=%STACK% 9 22:58:14 or similar 22:58:25 Rugxulo, how do you extract the top element from that then? 22:59:04 May also specify substrings for an expansion. 22:59:04 %PATH:~10,5% 22:59:04 would expand the PATH environment variable, and then use only the 5 22:59:04 characters that begin at the 11th (offset 10) character of the expanded 22:59:04 result. 22:59:16 hm 22:59:31 Rugxulo, that is cmd.exe but not command.com right? 22:59:43 right 22:59:47 Rugxulo, and who knows where this is documented... 23:00:01 I just typed "set /?" and "for /?" 23:00:04 hm 23:00:09 seemed to be enough for now ;-) 23:00:17 Rugxulo, that mentions the substring thingy? 23:00:23 yes 23:00:25 oh and that set /A 23:00:27 what does it do 23:00:47 The /A switch specifies that the string to the right of the equal sign 23:00:47 is a numerical expression that is evaluated. The expression evaluator 23:00:47 is pretty simple and supports the following operations, in decreasing 23:00:47 order of precedence: 23:00:47 () - grouping 23:00:47 ! ~ - - unary operators 23:00:48 * / % - arithmetic operators 23:00:48 + - - arithmetic operators 23:00:49 << >> - logical shift 23:00:49 & - bitwise and 23:00:50 ^ - bitwise exclusive or 23:00:50 | - bitwise or 23:00:51 = *= /= %= += -= - assignment 23:00:51 ... 23:00:52 &= ^= |= <<= >>= 23:00:53 stop the spam 23:01:03 a short summary is enough 23:01:17 I wanted you to know what it supported (&, ^, |) 23:01:31 useless for befunge93 though 23:01:45 how so? 23:01:53 it doesn't have bitwise operators 23:02:10 and also for befunge98 (unless you use some fingerprint that provide bitwise operators) 23:02:20 Rugxulo, also it doesn't do xnor :( 23:02:22 oh, well obviously Befunge doesn't ... but I'm just saying "set /a" should be enough for B93 23:02:31 (of course, nothing does, unless it is a HDL) 23:02:38 AnMaster: MSDN has cmd.exe documentation, I've used it a couple of times. 23:02:52 fizzie, I think I never looked further than windows help center 23:02:56 before loosing interest 23:04:37 AnMaster, you sure love 64-bit a lot ;-) 23:04:38 AnMaster: As for command.com limitations, failing all else you could keep the stack in a file, and use the find command (grep replacement) to extract the top and all-but-the-top into different files. 23:05:10 Rugxulo, hm? that is because compared to 32-bit x86 it is a lot saner 23:05:20 sure it is worse than most RISC platforms 23:05:24 x86 in general is crap 23:05:31 but that is what I'm stuck with 23:05:37 Rugxulo, also that comment seemed out of context there 23:05:46 since we hadn't discussed that for several screens 23:05:51 I was referring to your XP64 VirtualBox install 23:06:00 Rugxulo, that was several screens above yes 23:06:16 well, 2 screens 23:06:17 16 minutes ago, my how time flies 23:06:43 no, 64-bit is not hugely better than 32-bit, nor is 32-bit so high and mighty and awesome that it fully obsoletes 16-bit 23:06:44 Rugxulo, well considering we discussed other things in between yes 23:06:51 ... 23:06:59 "x86 in general is crap, but that is what I'm stuck with" 23:07:04 indeed 23:07:16 all computers, OSes, languages, compilers are crap ... but it's all we've got, so we have to use them to the fullest! 23:07:30 GCC is far from perfect, but it's less evil than the others 23:07:48 Rugxulo, you do realise that dropping the whole segmented memory thing x86_64 made a huge step in the right direction. Sure there are still segments, but only used for a way to use thread local data, and that is iirc just used as an offset then into the flat memory 23:08:02 Rugxulo, I have high hopes with clang 23:08:08 in theory, fine ... in practice, bad 23:08:15 Rugxulo, what is bad in practise? 23:08:23 if everything wasn't closed source and we could all code / fix bugs, it wouldn't matter 23:08:36 but removing compatibility in such a proprietary world seems like a bad idea 23:08:43 who needs yet another incompatible mess to port to?? 23:08:51 Rugxulo, well, non of the really important software for me is closed source apart from bios 23:09:01 probably some firmware in some devices too 23:09:06 but that is unlikely to be x86 23:09:11 I'm not really complaining about AMD64, I don't hate it (far from it), but it's not fair to obsolete everything else just because it exists 23:09:16 two things can co-exist peacefully 23:09:18 (I doubt my wlan card runs x86 firmware) 23:09:24 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:09:37 Rugxulo, I never said that, I think we should obsolete x86 completely 23:09:42 but that is sadly unrealistic 23:09:48 I'm no huge proprietary software fan myself, but I'm just saying ... some things can't easily be replaced, hence it's bad to remove compatibility 23:10:02 x86 isn't bad enough to obsolete completely 23:10:42 Rugxulo, I can't see any non-easily replaceable things around me except my ssh key and my gpg key :P 23:10:50 you may not prefer pure assembly for your own personal stuff, but it ain't that bad 23:11:00 AnMaster, gcc? ;-) 23:11:06 Rugxulo, clang + llvm 23:11:11 works fine for C code nowdays 23:11:17 C++ still WIP 23:11:18 which doesn't work with computed gotos (have you tested CFunge?) 23:11:22 but it can now compile itself 23:11:26 WIP but works ... bootstraps itself 23:11:28 which is quite impressive 23:11:32 yes, indeed 23:11:33 Rugxulo, indeed 23:11:48 it has a lot of promise, just not perfect yet (lacking some GCC extensions some people have used too much) 23:12:14 Rugxulo, also for C there are lots of other compilers, tcc and pcc for example 23:12:19 a bit more sparse when it comes to C99 23:12:29 OpenWatcom, too 23:12:34 perhaps 23:12:37 or even dev86/bcc 23:12:37 never used it myself 23:12:48 it has no 64-bit support, so I guess you wouldn't ;-) 23:12:50 Rugxulo, mostly because I prefer protected memory or something 23:13:09 (re: dev86, I assume, since OW supports pmode, even Linux) 23:13:21 Rugxulo, you know, I coded for stuff more limited than an 8088 23:13:31 Rugxulo, PIC12 series 23:13:51 PIC12F629 unless I misremember 23:14:00 in C? 23:14:28 Rugxulo, in asm, you can't do C when you have an accumulator machine with 1024 words program memory 23:14:41 ;-) 23:14:51 Rugxulo, but that is an embedded system 23:15:00 BTW, there exist 64-bit assembly programs too, as I guess you know 23:15:03 Rugxulo, 8 legs, and two of those are used for vcc/gnd 23:15:12 one was used for serial cable input 23:15:27 Rugxulo, I know, I written some inline asm myself, non-temporal stores 23:15:41 you don't find GCC output a bit bloated? :-/ 23:15:55 Rugxulo, I make it portable 23:16:00 with pure C fallbacks and so on 23:16:04 plus I avoid C when I can 23:16:12 I go for LISP or erlang most of the time 23:16:19 portability is good, no doubt 23:16:29 Rugxulo, anyway, I had to use the remaining 5 legs to drive 12 leds 23:16:38 doesn't Erlang compile to C? (or is that Eiffel?? I forget...) 23:17:00 I have somewhere few incomplete bits of "nesbef", a befunge93 interp for the good old NES. Left it incomplete, got somewhat bored of the 6502-clone asm. 23:17:18 have you seen those portable NES clone machines? 23:17:23 Rugxulo, yes, I know cfunge compiles on openbsd (manual build, build system itself doesn't seem to work well here), freebsd, solaris (tested once, quite some time ago) and of course linux 23:17:34 tested sparc, x86 and x86_64 23:17:43 sparc I can't test often 23:17:49 was a once off access basically 23:17:59 and it was iirc openbsd/sparc 23:18:05 and solaris/sparc 23:18:16 Rugxulo, ? 23:18:22 ? what? 23:18:27 the NES stuff 23:18:58 doesn't Erlang compile to C? (or is that Eiffel?? I forget...) <-- erlang compiles to bytecode, which is then run in the beam vm. you don't see beam directly most of the time, it is invoked as erl 23:19:08 I saw a NES clone portable for $30 on eBay (admittedly used, they seem to sell for $40-50 US new) 23:19:11 erl give you a REPL running in BEAM 23:19:35 Rugxulo, you don't mean a NES emulator do you? 23:19:36 Sparc has got those register windows, they're funky. 23:19:37 I just thought that was interesting (since no way in hell do I want to buy an old old machine that will break) 23:19:39 -!- augur has quit (Ping timeout: 276 seconds). 23:19:42 fizzie, yes quite 23:19:47 no, a real NES (well, clone) 23:19:51 fizzie, but the compiler handled that for me :P 23:20:10 Rugxulo, not sure why I would want one 23:20:15 zelda 2 wasn't all that good 23:20:20 (playable yes) 23:20:21 me either, just saying, it's cool that one exists 23:20:32 (finally dumb patents expired, and Nintendo hasn't made a NES since 1995) 23:20:49 Zelda 2 was pretty good, I thought, but tastes vary 23:20:50 There's been Famiclones for ages. 23:21:02 yeah, and Nintendo sued them ad nauseum for years 23:21:14 In those countries they could, yes. 23:21:26 Quite rampant in Asia and Eastern Europe. 23:21:34 ... And South America. 23:22:08 I always liked Ninja Gaiden (1,2,3) for NES 23:22:09 mhm 23:22:17 haven't played in years though (machine broke, doh) 23:22:26 Rugxulo, there are emulators 23:22:42 Yeah, the NES is very well-emulated. 23:22:45 yeah, which Nintendo spread a lot of FUD about for years also (dummies) 23:23:03 Rugxulo, huh? 23:23:06 about emulators? 23:23:07 heh 23:23:11 I remember LoopyNes being quite fast (written in assembly) for DOS back in the day ;-) 23:23:14 AnMaster: "Emulators are illegal" they say. 23:23:15 i can't enable networking in qemu 23:23:22 so that gues OS has internet access 23:23:22 As well as "making backups". 23:23:23 pikhq, how stupid. 23:23:29 what they say is basically, "Fair use copyright doesn't exist" 23:23:33 (both actions are perfectly legal. Explicitly so, even.) 23:24:11 Rugxulo, that depends on the country 23:24:20 AnMaster: US law. 23:24:30 They claimed this in the US. 23:24:31 I sent them an e-mail, "So a NES emulator for Final Fantasy is illegal even though I legit purchased the game? Guess I'll have to buy a PS1 + FF combo pack!!!" 23:24:35 hm okay 23:24:52 Of course, these are the idiots that also felt that a Game Genie was illegal. 23:24:56 and then about a year later (heh, I'm not egotistical to think it was my doing), FF came out for GBA ;-) 23:25:15 *After losing the lawsuit against them because it was legal*. 23:25:49 these are the same people who "ported" their borked original (missing level 4) NES Donkey Kong to GBA 23:26:27 just seems dumb to whine about clones for a machine they haven't made in ages (1995) 23:26:43 as if buying used old-ass machines was any better 23:26:50 Rugxulo: Older. 23:27:06 I mean they stopped in 1995 23:27:12 Erm. Yeah. 1995. 23:27:16 ... 2003 in Japan? 23:27:28 pikhq: this sounds like Stephen Harper 23:27:31 *You could still buy a new Famicom in 2003*? 23:27:49 unlike the 7800, their SNES wasn't backwards compatible 23:28:00 (although 3rd-party adapter existed but expensive) 23:29:02 (also, Nintendo no longer claims emulators to be illegal, though they (correctly) argue that most every use of them to play a real game involves an illegal copy 23:29:23 "correctly" is a bit of a stretch since there is no legal way to copy the games 23:29:34 Rugxulo: Yes there is. 23:29:35 they pretty much prevented fair use 23:29:49 You are perfectly entitled to create a copy of a real cartridge. 23:29:50 no, I think those ROM dumpers are illegal themselves (or used to be) 23:30:14 They are *explicitly* allowed by US copyright law. 23:30:24 Not just "kinda-sort fair use", *explicitly allowed*. 23:30:30 their argument was the "save data" (e.g. FF or Zelda) was someone else's, hence "proving" that you weren't getting an exact copy of the original, which I thought was a lame thing to say 23:30:32 they do not claim that ROM dumps are illegal either 23:30:39 yes, I know it is allowed, but Nintendo doesn't think so! 23:30:44 coppro: They used to. 23:30:48 I know 23:30:56 Like, I'm surprised they've *stopped*. 23:31:15 I know they still claimed it in the last Nintendo stuff I got (a GBA) 23:31:25 hmm 23:31:29 well, I guess I shouldn't really think they'd 100% abide by any (random) law, but their position(s) just makes no sense 23:31:32 I'm looking at the website, I don't know about the inserts 23:31:34 * coppro goes to see 23:32:32 the language is pretty ambiguous, but does imply that backups are illegal 23:32:41 (this from a Wii game manual) 23:33:10 but arguably it could just be a claim that backup copies are 'unauthorized' and would thus void the warranty 23:33:25 and then about a year later (heh, I'm not egotistical to think it was my doing), FF came out for GBA ;-) <-- FF? 23:33:37 final fantasy 23:33:47 oh right 23:33:56 and what was that "heh, I'm not egotistical to think it was my doing" about? 23:34:05 ^style ff7 23:34:05 Selected style: ff7 (Full script of the game Final Fantasy VII) 23:34:11 because I thought my argument was fair 23:34:14 hm 23:34:40 Rugxulo, I doubt that caused it 23:34:41 "Why shouldn't I be allowed to run an emulator with my legally-purchased Final Fantasy? So buying a PS1 + FF combo is a better idea? (gives Nintendo no extra money either)" 23:34:46 fungot: Say something relevant. Is the script I showed you illegal, for example? 23:34:46 fizzie: our company may be a shinra uniform...... 23:34:48 I know it didn't, I admit ;-) 23:34:54 Rugxulo, true 23:35:11 Hopefully the Canadian government will finally get smart and fully legalize format-shifting 23:35:16 fizzie, never played that ff 23:35:26 thus making emulations of ripped software legal 23:35:29 I think I played the one with spoony bard in it 23:35:35 whichever that one was 23:36:29 AnMaster: FFVI 23:36:44 (FFIII-US) 23:37:06 hm 23:37:19 Edward (the sppoony bard) is from IV, not VI. 23:37:21 * Rugxulo was talking about the old, original FF1 23:37:26 pikhq, probably US one 23:37:27 fizzie: Oh, right. XD 23:37:29 not quite as impressive, that one ;-) 23:37:41 VI's the better one. :p 23:37:46 Rugxulo: Ah, the one that's short "plot". :P 23:37:53 fizzie: I have yet to play either. 23:38:02 Though FFVI is next on my "to play" queue. 23:38:02 fizzie, looking at wikipedia it seems closer to the VI one from the screenshots 23:38:25 http://en.wikipedia.org/wiki/File:WikibattleFF6.PNG <-- at least that one looks very familiar 23:38:37 so maybe it wasn't spoony bard after all 23:38:57 fizzie, but wasn't there some useless bard in VI too? 23:39:07 It must be said, the bard was, in fact, spoony. 23:39:24 "We checked." 23:39:29 :) 23:39:39 I think that was in the FF4 DS remake. 23:39:57 fizzie, which one was the useless char in FFVI then? 23:41:44 Well... there's the gambler. And that king. 23:41:56 They're not quite as spoony as the bard. 23:43:20 Oh, and the moogle, e's pretty useless. 23:44:07 right 23:44:08 Kupo! 23:44:24 weren't there such in secret of mana too? 23:44:32 hm different game world right? 23:44:36 or? 23:45:23 oh wikipedia says it is a spin-off 23:45:27 that explains that 23:45:31 Moogles have spread a bit, I think. 23:45:34 Different series. 23:45:42 But kupo. 23:45:43 pikhq, spin-off says wikipedia though 23:45:50 Kupo, kupo. 23:46:01 but yeah different game world, but even in the same series game worlds are inconsistent often 23:46:07 (just look at zelda!!) 23:46:34 The FF worlds don't have that much to do with themselves between installments. 23:46:41 fizzie: kupo 23:46:45 did any two zelda game share a similar looking world map. I mean the relative placement of the landmarks and such 23:47:07 The newer games have tended to vaguely fit the same shape 23:47:20 at least secret of mana had a nicer combat system than FFVI did 23:47:24 X-2 was a sequel for X though. Not that I've played any past 9. They're up to, what, 13 or 14 now? 23:47:26 not sure about the other FF series 23:47:36 but FFVI had a very annoying combat system 23:47:39 hmm... actually 23:47:47 there seem to be two competing layouts for Hyrule 23:47:54 coppro, only two? 23:48:07 I'm only counting ones that I can think of being in multiple games 23:48:22 the OoT layout and the LttP layout 23:48:38 coppro, other games had yet other ones iirc? 23:48:45 zelda 1 for example 23:48:47 yeah 23:48:47 how many Zeldas are there? too many to remember, I think 23:49:07 to be fair, at least two of the zelda games takes place outside Hyrule 23:49:11 three 23:49:19 majora's mask and links awakening 23:49:22 ... four 23:49:22 are the ones I know 23:49:26 ... six 23:49:31 coppro, which are the remaining ones? 23:49:41 Both Oracle games and both DS games 23:49:50 coppro, what are the DS ones called 23:49:59 Phantom Hourglass and Spirit Tracks 23:50:06 mhm 23:50:10 neither rings a bell 23:50:16 they're pretty good 23:50:18 Wind Waker has Hyrule underwater too 23:50:39 15? 23:50:42 dunno about Minish Cap's map; never played it 23:50:42 (Wikipedia) 23:50:48 http://en.wikipedia.org/wiki/The_Legend_of_Zelda 23:50:59 yeah, Zeldapedia counts 15 released main-series games 23:51:05 mhm 23:51:16 I guess that includes the (allegedly horrible) CD-i versions? 23:51:18 no 23:51:22 those are separate 23:51:22 anyway, which combat system do you prefer: that of FFVI or that of Secret of Mana? 23:51:38 Rugxulo: No such games. 23:53:15 http://en.wikipedia.org/wiki/CD-i_games_from_The_Legend_of_Zelda_series 23:53:17 looking at a picture of Minish Cap's world map, it seems to have a different one 23:53:58 Rugxulo: It's called "discontinuity", not "ignorance of the existence". 23:54:32 ^style ct 23:54:32 Selected style: ct (Chrono Trigger game script) 23:54:34 fungot: The sword, alone...? 23:54:34 fizzie: you are strong of will...! that's the pendant the gurus and miss you. you may use that " rainbow shell? can eat much! 23:55:12 (Was hoping for "can't stop" there.) 23:55:30 fungot, now do what fizzie told you to 23:55:30 AnMaster: yes, it's been awhile prometheus! it's time you jumped off this mortal coil...?! hey! is that for us! the chef's in a snit, trying to get food to the front lines. heard a spell to energize the sword takes immense evil! indeed! this thing. what you have? transform! this trading house. it's the kind! i've decided to stay with these humans! you're a traitor! you're not our king! but, we are far outnumbered! 23:55:51 fungot, almost, you had "sword" there but not the rest 23:55:51 AnMaster: but cyrus! are you leaving! it's time you jumped off this mortal coil... yes! well then rest and relax! huh?! well, remember that you can log in anywhere on the world map! need a brief weapons and items seminar? 23:55:59 fungot, no good 23:56:00 AnMaster: to the northwest of this cape. he took back the medal from the frog king. and i'd like to see that mystical sword for myself! 23:56:06 fungot, again not quite 23:56:06 AnMaster: yes, it's been awhile prometheus!!! i give you 1 weapon or 1 item! what you do? wake you, but need dactyl?! 23:56:10 .. 23:56:20 Heh, no go. 23:56:45 Lots of exclamation marks though. 23:57:27 He's easily excited. 23:57:32 yes 23:58:04 -!- cheater3 has joined.