00:02:08 <oerjan> that cannot be the original text surely
00:02:49 <alise_> the national diet of japan. everyone must eat according to it!
00:03:02 <alise_> apart from being translated, obviously
00:03:11 <alise_> His Majesty the Emperor
00:03:11 <alise_> Cruising along the canal,
00:03:11 <pikhq> I haven't a clue why it's "The Diet".
00:03:12 <alise_> Seen smiling and waving hands.
00:03:15 <alise_> that is a really shitty poem
00:03:45 <alise_> 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 <oerjan> i vaguely recall it's a borrowed word
00:04:00 <alise_> you are STUPID mr. emperor
00:04:05 <alise_> oerjan: why do you not think it is the original text?
00:04:10 <oerjan> alise_: well translation's what i meant
00:04:17 <alise_> 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 <alise_> were largely directed by a group of oligarchs called the genrō.[16]
00:04:52 <oerjan> alise_: i don't think he's referring to himself, sheesh
00:04:58 <oerjan> that's just the section title
00:07:45 <pikhq> Found the actual original.
00:07:50 <pikhq> "トロンハイムの運河を行けば家々の窓より人ら笑みて手を振る"
00:08:57 <pikhq> alise_: No, he is not referring to himself.
00:09:11 <pikhq> The English translation is *adding* a lot.
00:09:25 <alise_> Translate it for us then plz?
00:10:35 <pikhq> "Trondheim (of) canal (obj) going houses (of) windows, people-group laughing, hand wave"
00:10:38 <pikhq> There's a gloss for you.
00:10:59 <Mathnerd314> hmm... my fonts are missing half those characters.
00:11:43 <pikhq> Or. "Going through Trondheim, at their windows, people are laughing, waving."
00:12:03 <pikhq> s/laughing/smiling/ in that actual translation.
00:12:36 <oerjan> well the _theme_ of that year's poetry was "smile"
00:13:25 <pikhq> That's more "Laughter" than "smile".
00:13:52 <pikhq> Though, it's more of a "happy-gleeful" sort of laughter than mocking sort of thing.
00:14:00 <pikhq> Translation is a bitch.
00:15:07 <pikhq> http://www.kunaicho.go.jp/culture/utakai/utakai-h18.html This page also has a *lot* more poems than the English.
00:16:57 -!- Sgeo has joined.
00:17:11 <alise_> pikhq: he is a bad poet.
00:17:19 <pikhq> alise_: It's not bad in Japanese.
00:17:31 <pikhq> It just loses a lot in the translation.
00:17:35 <pikhq> And it's not *great*. :P
00:17:44 <Mathnerd314> alise_: aren't fonts are OS-independent... ?
00:17:52 <alise_> Mathnerd314: Just answer the question :P
00:18:04 <pikhq> Seems to be... Everyone in the royal family, every prefecture head, and... A Brazilian diplomat?
00:18:05 <alise_> (Yes they are, mostly, but--)
00:18:13 <alise_> Mathnerd314: Put in your Windows install CD, go to keyboard settings, go to I think the third tab.
00:18:19 <alise_> Click install Japanese/Chinese fonts.
00:18:27 <alise_> Which is the reason I asked.
00:18:33 <alise_> They won't be antialiased but who cares. They'll work.
00:18:46 <alise_> Mathnerd314: If you don't want to do that, dunno.
00:18:50 <alise_> Google "windows asian fonts".
00:18:55 <alise_> Speaking of which, pikhq: what are some good antialiased Asian fonts for Linux?
00:19:02 <alise_> Also I have to be up at 9am sigh.
00:19:17 <pikhq> alise_: I'm using Takao.
00:19:24 <pikhq> Crap for Chinese though.
00:19:51 <alise_> So there aren't any good ones? :(
00:19:54 <pikhq> (you need a seperate font for Chinese and Japanese, as the ways of writing them have changed a bit.)
00:20:10 <alise_> Also, will shit automatically use it when the current font fails hard? I assume so.
00:20:19 <alise_> ...and how can it detect /that/?
00:20:37 <pikhq> In HTML, you can specify the used language.
00:20:44 <pikhq> Outside of HTML, "you're fucked".
00:21:18 <alise_> I assume that doesn't mean that.
00:21:36 <pikhq> "Gothic" is an old term for "serif".
00:21:56 <alise_> I am not up-to-date with the olde typographical termies.
00:22:14 <pikhq> It's still used in Japanese to describe sans-serif fonts.
00:22:35 <pikhq> Mincho should be your serif font.
00:23:20 <oerjan> no, _this_ is gothic http://www.wulfila.be/gothic/browse/text/?book=1
00:23:24 <pikhq> "Mincho", meaning "the style used in the Ming dynasty".
00:24:23 <pikhq> (when the printing press became common in China)
00:25:14 <pikhq> 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:32:49 <pikhq> Kochi mincho is also nice looking.
00:33:15 <pikhq> The only reason I use Takao is because it's more readable at 9pt.
00:33:35 <alise_> Gothic and Mincho, which is superior?
00:33:53 <pikhq> Sans-serif and serif, which is superior?
00:34:32 <oerjan> serious people use serif
00:34:58 <pikhq> http://www.nihongoresources.com/language/writing/typefaces.html Here. You look and see.
00:36:17 <alise_> I have no idea how you put serifs on Japanese.
00:36:46 <alise_> Text book print style, block style, flowing/semi-cursive, and cursive/grass are all nice... >__>
00:36:58 <alise_> But I don't really like Ming or Gothic. Ming is better though.
00:37:03 <alise_> So Gothic is sans-serif, not serif.
00:37:29 <alise_> ttf-kochi-mincho is already the newest version.
00:37:40 <alise_> Also, you said serif :P
00:37:44 <alise_> Then how do I tell fontconfig to use it?
00:37:52 <pikhq> I then corrected myself.
00:38:11 <pikhq> Dunno how to get fontconfig to use it.
00:38:41 <pikhq> The semicursive there looks pretty much like my Japanese handwriting, except written by a neater person. :P
00:38:55 <pikhq> ... And with a brush...
00:39:37 <Mathnerd314> alise_: so I see you've named some language called UniCode?
00:39:44 <alise_> yes; a non-existent one
00:40:12 <pikhq> Grass script is really hard to read.
00:40:17 <Sgeo> alise_ is here!
00:40:26 <Sgeo> And doesn't have an iProduct tag in eir name!
00:42:20 <Mathnerd314> but see, I think all you need for Unicode to be turing-complete is a "duplicate next few codepoints" character
00:43:17 <alise_> I was just using Unicode for the character set.
00:43:50 <Sgeo> Why? Does Unicode already have ifs or something?
00:44:36 <MizardX> {papna} You can write good programs in all sorts of awful languages.
00:47:33 <Sgeo> N1 will get 2.2 first?
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 <oerjan> naturally, since not a is defined essentially as "a implies a contradiction"
00:59:12 <fax> uh no it doesn't
00:59:14 <alise_> specifically, the (P -> ~P) -> ~P kind; just not the (~P -> P) -> P kind
00:59:22 <alise_> Theorem reductio_ad_absurdum (P : Prop) : (P -> ~P) -> ~P.
00:59:39 <fax> ummmmm that's reductio_ad_absurdum
00:59:58 <fax> proof by contradiction is ~~P -> P
01:00:06 <alise_> We take a to be true; we show that it cannot be so, thus contradiction. Therefore not a.
01:00:08 <oerjan> i thought those are synonyms
01:00:15 <fax> oerjan, classicaly they are
01:00:19 <alise_> It's a subset of proof by contradiction.
01:00:25 <alise_> It's the /majority/ of proofs by contradiction.
01:00:31 <alise_> And I said /conventional/ proof by contradiction.
01:06:17 <oerjan> proof by majority contradiction.
01:06:25 <alise_> [[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 <alise_> 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 <alise_> Err... Isn't the answer obvious?
01:06:44 <fax> troll thread
01:07:04 <alise_> /prog/ usually isn't that subtle
01:07:06 <fax> this is a good reply "Oh fuck off you fucking polaczky przeciętniaczky "
01:07:07 <alise_> port-has-set-port-position!? -- R6RS
01:07:21 <alise_> should have used an interrobang
01:08:52 <alise_> lol my browser is totally frozen; too many tabs
01:09:38 <Sgeo> What's the "obvious" answer? Consistancy?
01:09:45 <alise_> also there is an unclosed <i> on /prog/
01:11:46 <Sgeo> http://arstechnica.com/apple/news/2010/05/apples-compiler-policy-may-land-it-in-hot-water-with-ftc.ars
01:12:49 <pikhq> In other news, the FTC still enforces antitrust laws. Who knew?
01:13:17 <alise_> apple aren't in a monopoly position
01:15:09 <alise_> http://esolangs.org/w/index.php?title=User:Phantom_Hoover&curid=3152&diff=17461&oldid=16700
01:16:41 <alise_> You must be logged in and have a valid e-mail address in your preferences to send e-mail to other users.
01:16:47 <alise_> can someone else ask if he is ok?
01:17:23 <Sgeo> Trying to login
01:17:45 <Sgeo> Time for a third account, I guess
01:19:01 <Sgeo> Um, if you're asking, does that mean I shouldn't ask?
01:19:06 <Sgeo> Or should I ask anyway?
01:19:13 <alise_> whoever asks first wins a cookie.
01:19:19 <alise_> and tells the other by pinging them so they don't bother
01:20:11 <Sgeo> "I saw your change to your userpage, and just wanted to be sure, is everything ok?"
01:20:42 * Sgeo hopes it doesn't get filed as spam
01:22:38 <Sgeo> Subject was "Hey. Everything ok?"
01:22:53 <Sgeo> 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 <Sgeo> Time for Sgeo3 just to be sure
01:31:50 -!- Gregor-L has joined.
01:36:24 <Gregor-L> IREX has free unlimited 3G (for buying eBooks)
01:36:47 <Gregor-L> 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:38:04 <Gregor-L> 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:40:41 <Gregor-L> Yes, we all love the magic of laziness :P
01:40:51 <Gregor-L> It gets killed after (IIRC) 30 seconds.
01:41:12 <Sgeo> Mathnerd314, patch Haskell so that will always terminate.
01:41:56 <Mathnerd314> or construct a better language where it terminates
01:42:13 <Sgeo> After that, will you donate some of the $Infinite prize to us?
01:42:19 <Sgeo> For having done the impossible?
01:42:44 -!- alise_ has quit (Ping timeout: 252 seconds).
01:42:45 <Gregor-L> It's not impossible if you special-case it, just useless.
01:43:15 <pikhq> Mathnerd314: That won't terminate in any language.
01:43:34 <pikhq> However, in non-lazy languages you won't finish constructing the first list.
01:43:49 <pikhq> Except that [1..] is not the *same* list as [1..].
01:44:00 <fax> no it doesn't
01:44:07 <Sgeo> But [1..] was defined in an identical manner to [1..[
01:44:55 <pikhq> "let x = [1..] in x == x" won't terminate either.
01:45:10 <pikhq> Because "==" does not mean what you think it means.
01:45:37 <Sgeo> I think Mathnerd314 wants to change the definition of ==
01:45:49 <Sgeo> So that it uses definition, and not equivance
01:46:00 <pikhq> In a way that it can only work in certain cases.
01:46:54 <pikhq> Won't work for "[1..] == (map (+1) . map (-1) $ [1..])"
01:47:17 <Sgeo> pikhq, but those are defined differently
01:47:26 <Sgeo> So that's the point, I think
01:47:32 <Sgeo> Fewer cases where == doesn't return
01:47:33 <pikhq> Sgeo: But they are obviously equal.
01:47:58 <Sgeo> Define "obvious"
01:48:27 <Sgeo> That doesn't typecheck
01:49:02 <oerjan> sure it does, it just lacks an instance >:)
01:49:32 <Sgeo> I meant Mathnerd314's thing
01:49:35 <Sgeo> Not the == thing
01:49:43 <Sgeo> erm, forget the "not the == thing"
01:50:08 <oerjan> !haskell :t \x -> (+1) . (-1) . x == x
01:50:09 <EgoBot> \x -> (+1) . (-1) . x == x :: (Eq (a -> b), Num (b -> b), Num b) =>
01:50:14 <Sgeo> Wait, forget everything I said during and since "THat doesn't typecheck"
01:50:17 -!- Gregor-L has quit (Quit: Leaving).
01:50:22 <oerjan> 02:49 =EgoBot> (a -> b) -> Bool
01:51:15 <oerjan> oh (-1) isn't a section
01:51:40 <oerjan> so you cannot use map (-1) as you'd think
01:53:42 <EgoBot> (+(-1)) :: (Num a) => a -> a
01:53:50 <Sgeo> !haskell :t (`sub` 1)
01:54:11 <EgoBot> flip (-) 1 :: (Num a) => a -> a
01:54:14 <oerjan> !haskell :t (subtract 1)
01:54:16 <EgoBot> (subtract 1) :: (Num t) => t -> t
01:58:08 <Mathnerd314> !haskell :t \x -> ((+1) . (+(-1)) $ x) == x
01:58:10 <EgoBot> \x -> ((+1) . (+(-1)) $ x) == x :: (Num a) => a -> Bool
01:58:21 <Mathnerd314> lambdabot gives much better error messages
01:58:55 <oerjan> i don't know why that wouldn't type
01:59:00 <oerjan> !haskell :t \x -> (+1) . (+(-1)) $ x == x
01:59:15 <Mathnerd314> because ($) has higher precedence than (==)
01:59:34 <oerjan> i know, but i _still_ don't know why it wouldn't type >:)
01:59:42 <Mathnerd314> so it's like @type \x -> (+1) . (+(-1)) $ (x == x)
02:00:10 <oerjan> also, i got no error message in private either
02:00:27 <oerjan> that is of no consequence for :t, it should just ask for Num Bool
02:01:02 <oerjan> apparently it refuses to do that...
02:01:39 <Mathnerd314> yeah, it needs to know what to do fromInteger 1 with
02:10:15 <Mathnerd314> (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:13:06 * Sgeo wonders if he should play with OpenLaszlo
02:13:20 <Mathnerd314> I think this language comes closest: http://sage.soe.ucsc.edu/
02:14:52 <oerjan> i wouldn't be _very_ surprised if ghc reduces (map (+1) . map (+(-1)) $ [1..]) to [1..] internally
02:15:16 <oerjan> 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 <pikhq> oerjan: GHC performs stream fusion.
02:47:08 <pikhq> It transforms *most* composed list functions into a single iteration over the list.
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 <Sgeo> "Every hobby requires an outlay of funds."
03:43:47 <calamari> Sgeo: yes, you had to buy lotion & tissues
03:45:38 <uorygl> I use neither lotion nor tissues. I use nothing at all, in fact.
03:46:46 -!- cap11235 has joined.
03:47:33 <calamari> argh I don't know what is wrong with OSS, but this skipping audio is annoying
03:48:01 <cap11235> Why are you using OSS instead of ALSA? Also, what kind of sound card/chip do you have?
03:48:15 <calamari> because alsa doesn't seem to be working
03:48:19 <uorygl> 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 <pikhq> cap11235: OSSv4 is a usable replacement of ALSA.
03:48:29 <uorygl> And it even always reads from and writes to the same place.
03:48:31 <pikhq> calamari: Get you OSSv4.
03:49:19 <cap11235> pikhq: Does it have an ALSA to OSS layer?
03:49:33 <uorygl> The benefit of an HDL, of course, is that it runs really fast.
03:49:40 <pikhq> Of course, *everything* has an OSS backend anyways.
03:49:59 <calamari> cap11235: Aureal Semiconductor Vortex 2 (rev fe)
03:50:05 <pikhq> Flash *still doesn't support ALSA*.
03:50:20 <cap11235> Now I am even more despondant about Adobe...
03:51:10 <calamari> cool, my chipset is on the supported list
03:51:29 <pikhq> I may need to try OSSv4 some time.
03:51:48 <cap11235> pikhq: The more you know.... %%%%%%%%%%?
03:52:25 <pikhq> No, there's Unicode. Your IRC client may not be able to use it, though.
03:53:41 <pikhq> いいえ、ユニコードがある。でも、あなたのIRCクライアントは使えなさそう。
03:54:01 <cap11235> I guess it just didn't like my character. Though it worked in Firefox...
03:57:11 -!- calamari has quit (Quit: Leaving).
04:00:14 <cap11235> So, what would you say the best known esolang after BF is?
04:00:51 -!- Oranjer has left (?).
04:01:08 <cap11235> 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 <cap11235> 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 <cap11235> 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 <calamari> apparently that list is wrong.. hardware not recognized
04:06:34 <cap11235> Have you just tried googling your chipset?
04:08:32 <cap11235> What happens when you run 'modprobe snd_au8830' as root?
04:09:19 <calamari> FATAL: Module snd_au8830 not found.
04:09:36 <calamari> that's strange, because I'm sure that a module siilar to that used to be there
04:10:44 -!- fax has quit (Quit: Lost terminal).
04:11:19 <calamari> not sure why it thinks I have a usb soundcard
04:11:24 <coppro> poll: should I learn vi or emacs this summer?
04:12:08 <calamari> as a bonus some of your vi knowledge will help in less :)
04:12:35 <cap11235> I use emacs for programming, and vim for everything else.
04:13:09 <cap11235> Vi is pretty simple to learn, I think.
04:13:25 <cap11235> Emacs is hellish, but nothing is better than Inferior Haskell Mode...
04:13:43 <calamari> [DUO] /lib/modules/2.6.28-18-generic>where *8830*
04:13:43 <calamari> ./kernel/sound/pci/au88x0/snd-au8830.ko
04:13:56 <calamari> maybe I just need to downgrade my kernel to get my audio working again
04:14:23 <cap11235> You could go to the kernel source directory and run 'make modules_install'
04:15:05 -!- coppro has quit (Quit: reboot).
04:15:31 <cap11235> I know you can use modprobe with a path, but it might require some extra flags.
04:15:40 <calamari> that's for the wrong kernel tho
04:16:19 <calamari> 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 <cap11235> Well, try modprobe'ing it anyway. In the worst case, you just reboot.
04:17:51 <cap11235> If modprobe doesn't throw any errors, it should be fine, I think.
04:18:19 <pikhq> cap11235: That's insmod.
04:18:59 <calamari> insmod: error inserting '/lib/modules/2.6.28-18-generic/kernel/sound/pci/au88x0/snd-au8830.ko': -1 Invalid module format
04:19:06 <calamari> doesn't look like it wants me to do that
04:19:11 <cap11235> Do you have apt-file installed?
04:19:21 <pikhq> I... Do believe you have a 2.4 insmod.
04:19:24 <pikhq> Which is a solid WTF.
04:19:56 <cap11235> apt-get apt-file, then run 'apt-file update' as root
04:20:25 <pikhq> You would do well to use modules for your kernel.
04:21:07 <pikhq> Yes, and he's using modules for a different such kernel.
04:21:46 <cap11235> Yeah, but the 2.6.31 doesn't seem to have the module for his audio.
04:22:00 <calamari> pikhq: nah.. just that the kernel/sound directory is missing in my 2.6.31
04:22:30 -!- Oranjer has joined.
04:24:31 <calamari> okay apt-file is done updating
04:25:07 <cap11235> "apt-file search snd-au8830.ko" as root
04:25:35 <calamari> oh.. you can use packages.ubuntu.com to do that too :)
04:26:02 <calamari> nice, though.. lots of results
04:26:45 <calamari> interesting.. seems like it sound be installing.. checking
04:27:50 <calamari> err that was not coherent, sorry
04:28:03 <cap11235> You are installing linux-image-2.6.31-14-generic?
04:30:16 <calamari> anyhow, upgrading.. it's possible that the ossv4 install is what wiped out the modules
04:30:32 <calamari> I had sound before, it was just crappy
04:31:15 <cap11235> Well, we will see. Will you go with OSS or ALSA after?
04:31:40 <calamari> I never had any trouble with alsa until recently, dunno what happened
04:32:04 <cap11235> Maybe pulseaudio was just being a bitch?
04:32:10 <calamari> the only way I could get audio to play was oss, otherwise it was just noise
04:32:37 <calamari> I tried uninstalling pulseaudio and using esound instead, and neither
04:33:14 -!- calamari has quit (Quit: Leaving).
04:37:15 -!- augur has joined.
04:47:55 -!- bsmntbombdood has joined.
05:16:27 <Sgeo> 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:25:39 -!- Oranjer has quit (*.net *.split).
05:29:44 -!- Oranjer1 has left (?).
06:06:20 <bsmntbombdood> 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 <Sgeo> I should make an Erlang implementation!
07:47:48 <pikhq> 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 <pikhq> 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:56 <Sgeo> 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.
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 <Gracenotes> my paper about Turing machines http://bit.ly/cL93k3
11:42:50 <Gracenotes> 23 pages, and I'm still gauging how finishing it screwed up my sleep schedule
11:43:17 <oerjan> completely, or just a lot
11:45:10 <fizzie> 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 <Gracenotes> 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 <fizzie> Courteous of SCO to keep doing the insane, though; their latest (April 27th) filings means I'm oh-so-topical.
11:46:33 <Gracenotes> the paper does have pretty diagrams though. if you like visualizations of tape or nicely formatted state diagrams
11:46:37 <oerjan> SCO, or suing a dead horse
11:47:23 <oerjan> oh i guess it needs to be in finnish
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 <ais523> fizzie: that isn't the latest filing any more
11:49:08 <ais523> the latest is about them selling off lots and lots of little stuff
11:49:13 <ais523> like domain names, laptops and forklift trucks
11:49:37 -!- Tritonio_GR has joined.
11:49:50 <fizzie> ais523: That's part of the bankrutpcy case, though, not SCO v. Novell.
11:50:19 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> It's possible they're just not very good losers.
11:55:42 -!- BeholdMyGlory has quit (Ping timeout: 265 seconds).
11:57:03 <fizzie> 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 <fizzie> They've also sold 2 boxes of tape for $399 via eBay to a "Bouz1956".
11:58:05 <fizzie> And donated 50 file cabinets to "Farm Equipment business".
11:58:57 <ais523> the Supreme Court made a filing in that case recently, btw, giving SCO more time to respond to Novell's case
11:59:21 <ais523> why are they donating when they're in bankruptcy, I wonder?
12:00:21 <fizzie> Possibly no-one would have paid them for a broken copier, and junking it would've actually cost money.
12:00:50 <fizzie> 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 <Ilari> 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 <Ilari> 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 <Ilari> 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 <Ilari> Every possible different segment gets different number and every non-negative number corresponds to some segment
12:36:46 <Ilari> 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 <oerjan> and? you still haven't gotten to the hard part...
12:37:58 <oerjan> actually, still not...
12:38:23 <Ilari> 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 <Ilari> Actually, that X_2 has 1st bit of 1st segment as LSB (the order goes that way).
12:39:47 <Ilari> 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 <Ilari> As said, I haven't fully solved encoding ordered trees...
12:41:24 <oerjan> 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:42:24 <oerjan> i tried to correct that 1 to 2 at _least_ twice O_O
12:42:35 <oerjan> i have _no_ idea how it got through :D
12:43:13 -!- ais523 has joined.
12:43:26 <Ilari> 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 <oerjan> you know, X_1 is just an encoding of the [ and ] only
12:43:52 <Ilari> oerjan: Yes, it is.
12:44:35 <oerjan> it is possible that one of the already used methods will be good enough for that
12:44:46 <oerjan> there isn't that much extra to blow things up
12:45:32 <Ilari> There are C_k (kth catalan number) different structures for program with k loops...
12:47:04 <Ilari> 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 <oerjan> also, X_1 will likely be much smaller than X_2, again wasting 0 bits
12:48:10 <Ilari> One could vary spacing of X_1 bits (as long as the positions form fixed sequence).
12:48:31 <Ilari> But that can get at most almost half of the bits.
12:48:51 <oerjan> we already have the triangular method for combining two numbers
12:51:06 <oerjan> hm it's possible that _too_ is actually unbalanced when the size difference is large.
12:51:45 <oerjan> the combined number is on the order of (m+n)^2/2
12:51:46 <fizzie> 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:54:09 <oerjan> 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:55:01 -!- MizardX has joined.
12:55:54 <oerjan> in fact the triangular method may have about the _same_ size as the bit interleaving method, come to think of it.
12:56:21 <oerjan> for one number very small, both waste about the number of bits of the other
12:56:40 <fizzie> 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 <oerjan> fizzie: already did that
12:56:59 <fizzie> Oh, I had missed that.
12:57:43 <oerjan> never looked much at reversing it, that would seem to involve nth roots at least
12:58:25 <oerjan> C(x1+x2+...+xn,2) + C(x1+...+x(n-1),2) + ... + C(x1+x2, 2) + x1
12:58:41 <oerjan> *C(x1+x2+...+xn,n) + C(x1+...+x(n-1),n-1) + ... + C(x1+x2, 2) + x1
13:01:07 <Ilari> It appears that triangular numbers might be sightly smaller (at most 1 bit difference per combining).
13:02:20 <ais523> what's the purpose of this discussion, btw? finding a way to compress Lost Kingdom as far as possible?
13:02:26 <Ilari> If numbers are approximately equal, they come even. So unbalanced case is the better case.
13:02:58 <Ilari> ais523: Bijection of BF with natural numbers.
13:03:08 <oerjan> Ilari: no, unbalanced is horrible for both, assuming you'd want the combined number of bits to be approx. the sum
13:03:37 <oerjan> or do you mean just the difference between triangular and interleaving
13:05:13 <Ilari> 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 <oerjan> what about if one number is about square root of the other...
13:06:59 <oerjan> (so as far from both the "one tiny" and "about equal" cases as possible)
13:07:31 <oerjan> interleaving, 401 i assume
13:08:21 <oerjan> !haskell 1/2 * (2^100 + 2^200) * (2^100 + 2^200 - 1) + 2^200
13:08:24 <EgoBot> 1.2911249390434543e120
13:08:37 <oerjan> !haskell logBase 2 $ 1/2 * (2^100 + 2^200) * (2^100 + 2^200 - 1) + 2^200
13:08:58 <oerjan> so still not much difference
13:10:11 <oerjan> !haskell logBase 2 $ 1/2 * (2^500 + 2^1000) * (2^500 + 2^1000 - 1) + 2^1000
13:11:09 <fizzie> You're the necromather, why don't you figure out something that gives you the sum of their sizes?
13:11:36 <fizzie> (Okay, so I just wanted to get to use the word "necromather".)
13:11:52 <oerjan> i had that fibonacci thing, but it has a logBase phi 2 overhead
13:11:56 <Ilari> 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 <oerjan> well the initial C(x1+...+xn, n) term obviously dominates
13:12:58 <Ilari> Not a lot of difference, considering that number will have 150M-160M bits anyway...
13:14:30 -!- oerjan has quit (Quit: leaving).
13:16:18 <Ilari> 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 <Ilari> And bit interleaving is probably way faster.
13:23:09 <fizzie> 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 <base3> 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 <AnMaster> 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 <ais523> AnMaster: it does delay simulation, but you need to write the delays into the source
15:05:30 <ais523> e.g. a <= b OR c after 10 ns
15:05:52 <ais523> 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 <ais523> and that's commercially sensitive information, pretty obviously
15:06:15 <AnMaster> what about delay simulation as in "delay of this stuff from the syntheis program output" kind of stuff?
15:06:36 <AnMaster> ais523, so those tend to be windows only?
15:06:47 <ais523> AnMaster: actually, they mostly run on Linux too, they're just very expensive
15:06:55 -!- base3 has left (?).
15:07:09 <ais523> presumably enough commercial microchip design companies use Linux that it's worth supporting it on that
15:07:45 <AnMaster> ais523, isn't the manufacture of the FPGA interested in selling the hardware rather than the development software?
15:07:56 <ais523> nah, they make money from both
15:08:20 <ais523> 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:10:33 <AnMaster> 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 <ais523> AnMaster: universities generally get copies for free, that's how I got mine
15:11:04 -!- kar8nga has joined.
15:11:30 <AnMaster> 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 <AnMaster> ais523, also ghdl seems strange in some respects. For example what is the point of that work-obj93.cf file...
15:12:38 <AnMaster> And it looks like it should be very hard to make ghdl behave nicely together with makefiles
15:12:41 <ais523> AnMaster: VHDL's compilation method is bizarre
15:12:53 <ais523> because you can define one entity in more than one way
15:13:13 <AnMaster> not fully about the reasons for it though
15:13:15 <ais523> I think it's designed to allow hot-swapping bits of the program
15:13:39 <ais523> you'd have, say, a delay-annotated architecture as an autogenerated second architecture for your entities
15:13:51 <AnMaster> ais523, the reason I heard was "sometimes you can't synthesise your original variant, so you write another alternative one"
15:14:01 <AnMaster> there are some issues with that reason too though
15:14:09 <AnMaster> as in, why not just replace the old one instead
15:14:29 <ais523> often you have a synthesis design that can't be simulated, and a simulation design that can't be synthesised
15:14:33 <ais523> both bought from a third partyt
15:14:51 <ais523> because the simulation design looks like C or an imperative language like that
15:15:07 <ais523> 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 <AnMaster> also wtf at the file name here (from ghdl tutorial, just to check that the install works): e~hello.o
15:16:27 <AnMaster> 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 <ais523> AnMaster: no, I mean the individual control bits inside the FPGA
15:17:12 <AnMaster> ais523, but isn't that more like the binary file? As in, it isn't vhdl any more then
15:17:14 <ais523> 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 <ais523> and yes, it's basically just a binary file
15:17:45 <ais523> although sometimes they get converted to ASCII and it's just a long list of numbers separated by commas
15:17:52 <AnMaster> ais523, someone should make an open source fpga or such, or at least a well documented one.
15:18:09 <ais523> setup costs are too high
15:18:15 <ais523> it'd cost millions to get the things manufactured
15:18:26 <ais523> but yes, I don't understand the FPGA market at all
15:18:28 <AnMaster> presumably that would actually be a competitive advantage, you can claim you, unlike all others, don't do vendor lock-in
15:18:49 <ais523> 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 <AnMaster> 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 <ais523> AnMaster: I think it would be hilarious to put you in the same room as a manager in an FPGA company
15:20:28 <ais523> eventually you'd give up talking to each other because you didn't speak the same language
15:20:58 <AnMaster> ais523, anyway, I don't understand ghdl's compilation procedure, as in. It makes no sense at all
15:21:18 <ais523> let's just say, it makes a lot more sense than the commercial ones, and leave it at that
15:21:23 <AnMaster> and how on earth does one make this work with a makefile
15:21:34 <ais523> you just do the -a -e and so on in order
15:22:01 <AnMaster> ais523, what about that work-ob93.cf?
15:22:18 <AnMaster> ais523, it seems to break make -j2 if you have many files for ghdl to compile in a project
15:22:22 <ais523> AnMaster: everything in VHDL is namespaced
15:22:28 <ais523> and "work" is the default namespace
15:22:33 <ais523> compiling something puts it /into/ that namespace, permanently
15:22:43 <ais523> so you can reference it from other VHDL files in the same directory
15:22:57 <ais523> therefore, obviously, parallel make doesn't make sense unless you carefully separate the namespaces in advance
15:23:24 <AnMaster> 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 <ais523> 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 <ais523> but it doesn't work if you do -a -e on each file individually
15:24:22 <AnMaster> 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 <AnMaster> but this seems to completely break here
15:24:48 <ais523> AnMaster: no, the analysis is just basically looking for signatures
15:24:55 <ais523> and the elaboration looks at the actual code
15:25:05 <AnMaster> ais523, so that shared file is only touched by -a or?
15:25:37 <ais523> here's a nice mnemonic: -a looks at the entities, -e looks at the architectures
15:25:45 <ais523> and I think it's written by -a and read by -e
15:26:05 <AnMaster> that will be one very messy makefile still
15:26:35 <AnMaster> you can't make the .cf file depend on anything properly
15:26:42 <ais523> now, for added fun, the commercial tools generate makefiles, then run them via cygwin
15:26:46 <ais523> at least, the Xilinx ones do
15:26:53 <AnMaster> because if two files were changed that will not do the right thing...
15:27:32 <ais523> even more fun, because presumably they've paid Cygnus for a license for all this
15:27:41 <ais523> (Cygwin is GPL if you don't pay, license of your choice if you do)
15:28:04 <AnMaster> ais523, but what about the software in cygwin? cygnus doesn't own gnu make and so on
15:28:09 <ais523> current theory: the tools date from before Windows existed
15:28:22 <ais523> and I actually don't know, maybe it isn't GNU make they're using, but some other make
15:28:35 <AnMaster> why do you think the tools are that old btw?
15:29:05 <ais523> I can't think of any other plausible explanation
15:29:15 <ais523> also, the fact that they don't run properly on 64-bit systems or windows 7
15:29:19 <AnMaster> ais523, you mean they were written for *nix?
15:29:21 <ais523> we had to set up a Windows XP VM just to be able to use them
15:29:27 <ais523> yes, I think they were originally written for *nix
15:29:40 <ais523> which would explain the Linux support, and the arbitrary and unexpected use of cygwin
15:29:49 <ais523> AnMaster: there's a 64-bit version, but it's missing loads of features
15:30:23 <AnMaster> ais523, and the 32-bit version doesn't run on 64-bit windows?
15:30:41 <AnMaster> ais523, the only reason for that would be that they use 16-bit code...
15:30:52 <ais523> wait, actually it does, but many of its features are missing if you do
15:31:06 <ais523> possibly only in later versions of windows, though
15:31:06 <AnMaster> since you can no longer run such code when in long mode on x86_64
15:31:14 <AnMaster> oh another ghdl wtf: ldd indicates that the compiled program links against libgnat...
15:31:24 <ais523> AnMaster: that doesn't surprise me
15:31:31 <ais523> VHDL was intentionally designed close to ADA
15:31:40 <ais523> it wouldn't surprise me if some of the libraries were, as a result, virtually identical
15:31:48 <ais523> and thus linking against libgnat was easier than rewriting it
15:31:58 <AnMaster> which when you consider it, is even more wtf
15:32:00 <ais523> oh, that's so you can output the wave file compressed
15:32:10 <ais523> which is needed, considering how big and repetitive the things are
15:32:36 <ais523> (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 <AnMaster> 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 <AnMaster> presumably it would be a timestamp file for every file to make it work
15:32:56 <ais523> AnMaster: just delete the entire directory and restore the source from backup
15:33:14 <AnMaster> ghdl --clean? Do I dare ask what that does...
15:33:44 <ais523> it's described as "remove generated files", presumably it's the inverse of the compile process
15:34:00 <AnMaster> 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 <AnMaster> bbiab, phone rang... annoyingly
15:34:31 <ais523> AnMaster: the concept of "out of tree builds" probably doesn't exist in VHDL generally
15:34:56 <ais523> 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 <ais523> and you have to look at the directory structure by hand to figure out how it's done
15:43:46 -!- hiato has quit (Quit: openttd time).
15:44:05 <AnMaster> ais523, it does make version control somewhat annoying presumably
15:44:21 <ais523> they come with hand-rolled version control
15:44:27 <ais523> which is basically a menu option to make a checkpoint
15:44:34 <ais523> which spends around half an hour backing up the entire project
15:44:53 <ais523> 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:46:16 -!- Tritonio_GR has quit (Quit: Leaving.).
15:52:57 <AnMaster> ais523, anyway, when does a file need to be re-analysed?
15:53:16 <ais523> when you change the entities in it, I think
15:53:20 <ais523> I just always reanalyse it, it saves trouble
15:53:24 <ais523> and it's not like it takes that long
15:53:50 <AnMaster> are non-manual incremental builds even feasible at all?
15:56:25 <AnMaster> ais523, how does programs decide which of the defined implementations (or whatever the term is) of a given entity to use?
15:56:33 <AnMaster> programs as in simulations and synthesis
15:56:49 <ais523> presumably there's some way to specify one, otherwise it picks one arbitrarily
15:57:00 <ais523> 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 <AnMaster> how often have you used multiple implementations?
15:58:10 <ais523> only when told to by the teachers to prove I could
15:58:30 <AnMaster> 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 <ais523> 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 <ais523> or worse, one synthesis and three simulation implementations designed for different sorts of simulations
15:59:10 <AnMaster> how do you get 3 different ones?
15:59:26 <AnMaster> two I can imagine: with/without delay
15:59:36 <ais523> there's more than one sort of delay you can measure
15:59:50 <ais523> sort-of "delay in theory" vs. "delay with this particular place-and-route"
16:00:12 <ais523> 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 <AnMaster> ais523, how can you do delay in theory without knowing the routing?
16:01:20 <ais523> it's approximate I think
16:01:25 <AnMaster> do you just consider the delay in gates, but not in wires?
16:01:41 <ais523> not sure, it's not like there's any documentation on how the stuff /works/
16:02:12 <AnMaster> ais523, it seems useless if you don't know what it actually simulates.
16:02:28 <ais523> oh, the info's bound to be available somewhere
16:02:44 <ais523> 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:03:31 <AnMaster> ais523, don't they wonder at any point: "Hmm, will this crappy stuff make us look bad?"
16:03:38 <ais523> 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 <ais523> AnMaster: no, because it's par for the course
16:03:53 <AnMaster> from what I heard so far I concluded to avoid that brand if possible
16:03:53 <ais523> they look bad, but not any worse than any of their competitorss
16:05:04 <AnMaster> ais523, and yet no one tried to increase their market share by making themselves look better than their competitors?
16:05:22 <ais523> no, because their customers care more about features than usability
16:05:38 -!- Gracenotes has quit (Ping timeout: 240 seconds).
16:05:52 <ais523> for some reason management care more about the advertised list of features when buying hideously expensive microchip synthesisers/simulators
16:06:01 <ais523> rather than the actual usability for the employees who have to use the things
16:06:20 <AnMaster> 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 <AnMaster> ais523, are most of those feature actually that useful though?
16:07:30 <ais523> no, what did you expect?
16:07:55 <ais523> 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 <AnMaster> 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 <ais523> no, they just make their own internal documentation for other people's products, I imagine
16:08:55 <ais523> then claim ISO 9000 compliance as a side effect
16:09:06 <AnMaster> why did I came to think of bankstar suddenly
16:09:53 <AnMaster> ais523, what is ISO 9000? Or was that just a random number?
16:10:16 <ais523> AnMaster: it's basically a pointless "standard"
16:10:19 <fizzie> ISO 9000 is a family of stuff, mostly about having business processes that are all documented to the tiniest detail.
16:10:22 <ais523> which companies claim compliance to
16:10:31 <ais523> and yes, it's about documenting everything you do and always doing it the same way
16:10:34 <fizzie> It is also all about Quality.
16:10:44 <ais523> regardless of what that process actually /is/, or whether it makes sense
16:11:05 <ais523> managers think it's very important, although none of them can explain why
16:11:31 <AnMaster> 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 <ais523> AnMaster: they don't lock in the language, but the source
16:11:56 <ais523> imagine if you had to rent your libc from a commercial vendor
16:12:17 <AnMaster> ais523, find , -name '*.fileext' to find the vhdl files? then import it into another system from another vendor?
16:12:22 <ais523> 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 <fizzie> Find from the comma-directory.
16:12:56 <ais523> 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 <AnMaster> ais523, rent? Do you pay per month for those FPGA synthesisers and such!?
16:13:17 <ais523> for the synthesisers, you pay per version, effectively
16:13:27 <ais523> (I don't pay, because of the free versions given to universities)
16:13:31 <ais523> you rent the libraries
16:13:41 <AnMaster> ais523, but if you write your code in vhdl I can't see how you just move the files elsewhere
16:13:45 <ais523> things like multipliers you normally get for free (because the open-source versions are just as good)
16:14:06 <ais523> 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 <fizzie> AnMaster: You write your code in C, so you can switch operating systems with abandon, right?
16:14:31 <AnMaster> fizzie, well, okay, C itself is a bit annoyingly limited, rather more like POSIX
16:14:51 <ais523> AnMaster: let's just say, there aren't things like ethernet libraries in the VHDL standard
16:14:54 <AnMaster> 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 <AnMaster> ais523, what about open source vhdl for that?
16:15:16 <ais523> open-source vhdl exists
16:15:25 <ais523> but the chip designers go out of their way to not give you the info needed to use it
16:15:42 <fizzie> OpenCores has quite a collection, I believe. Never had had an occasion to browse, though.
16:15:43 <AnMaster> 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 <ais523> 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:23 <ais523> fizzie: I'm an OpenCores member, partly as a protest against all this BS
16:16:39 <ais523> 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 <ais523> AnMaster: you misparsed the sentence
16:16:50 <AnMaster> ais523, anyway, where did you get the ethernet hardware from? The same vendor?
16:17:00 <ais523> yes, it was connected to the chip, physically
16:17:04 <ais523> so we could tell it was working
16:17:08 <ais523> but we still don't know how to use it
16:17:33 <AnMaster> ais523, well you wouldn't have a demo board in real production hardware would you?
16:18:10 <ais523> 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 <AnMaster> 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 <ais523> that would be pretty expensive just to build the hardware to connect the FPGA to the ethernet hardware
16:19:25 <ais523> you'd need to do things like generate a circuit board, etc
16:19:42 <ais523> 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 <AnMaster> ais523, isn't there already ethernet hardware out there from third parties?
16:20:13 <ais523> AnMaster: of course, it's connecting it to the FPGA that's the issue, not the hardware itself
16:20:47 <AnMaster> 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 <ais523> AnMaster: you'd be surprised
16:21:14 <ais523> for third-party hardware, the docs have ranged all the way from brilliant to useless
16:21:35 <ais523> 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 <ais523> because they all try to be pin-compatible with each other
16:22:19 <ais523> thousands of them, one for each sort of hardware component you could imagine
16:22:33 <AnMaster> 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 <AnMaster> at least for the more common components
16:22:59 <ais523> AnMaster: the problem is, it's pairs of components you worry about
16:23:04 <ais523> as in, that hardware + that FPGA
16:23:21 <ais523> 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 <AnMaster> well okay, you have to do the pin layout anyway, surely most of the time you need some custom hardware anyway
16:23:34 <ais523> and instructions for that sort of thing have a rather short half-life
16:23:48 <ais523> because features keep being changed or breaking at random or moved to different programs, etc
16:23:54 <ais523> in the FPGA programming software
16:24:21 <AnMaster> 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 <AnMaster> which would just be some short file listing which pins you mapped to what for the ethernet hardware
16:24:48 <ais523> the problem is that you're massively discouraged from doing that bit
16:24:56 <ais523> if you want a bit of fun, have a look at what the pin mapper software actually /is/
16:25:00 <ais523> it has a massive and almost unusable GUI
16:25:07 <AnMaster> ais523, I invented the word "pin mapper" here
16:25:20 <ais523> 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 <AnMaster> I didn't know it referred to a specific existing software
16:25:25 <ais523> amusingly, the output file was short and simple
16:25:30 <ais523> AnMaster: it is specific existing software
16:25:36 <ais523> with a GUI that fills the entire screen, and uses all of it
16:25:45 <ais523> and where changing anything requires going through two nested dialog boxes
16:25:54 <AnMaster> 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 <ais523> I completely fail to understand how it can be /that/ complex, btw
16:26:24 <ais523> 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 <ais523> which seems bizarre to me
16:26:42 <AnMaster> ais523, what I was thinking about was more something like: #define ETH_TX pin1732
16:26:45 <ais523> presumably, you'd use an ASIC if you were using enough of them to actually be worth shipping in a commercial project
16:26:53 <AnMaster> then that would be used for the generic driver
16:26:56 <ais523> AnMaster: that's pretty much what the .hcf file it's editing is
16:27:01 <ais523> although it's a different format, ofc
16:27:08 <ais523> (not VHDL, it's in its own format)
16:28:20 <AnMaster> ais523, isn't I2C rather slow?
16:28:36 <ais523> depends on what you're using it for
16:28:48 <ais523> hardware that does anything but calculating tends to be intrinsically rather slow
16:28:56 <AnMaster> ais523, lets say you want to use a FPGA to do ray-tracing
16:28:58 <ais523> you wouldn't use I2C for the memory, agreed
16:29:10 <ais523> you'd probably just use the demo board, and connect it to your computer over ethernet or PCI or something
16:29:11 <AnMaster> ais523, but using ethernet for memory would be *very* silly
16:29:17 <ais523> (the demo boards often come with PCI connectors)
16:29:28 <AnMaster> in fact, using ethernet would be silly for anything but other "nodes" or such
16:29:58 <AnMaster> ais523, well, a demo board seems rather useless if you want to sell this product with an FPGA doing ray tracing
16:30:17 <ais523> AnMaster: you don't, though; FPGAs are normally used internally
16:30:19 <AnMaster> you want to put it on a PCIe board with memory basically
16:30:21 <ais523> so you don't care about how ridiculous it looks
16:30:35 <ais523> there are companies which do just sell PCIe boards with FPGAs and memory, though
16:30:40 <ais523> so you could use one of those
16:30:42 <AnMaster> ais523, I remember reading about an FPGA-based rendering product, commercial
16:30:47 <ais523> (unfortunately, the documentation is equally insane...)
16:31:01 <AnMaster> FPGA because it was rather niche and ASIC would have been uneconomical
16:32:31 <AnMaster> 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:33:00 <ais523> 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 <AnMaster> just a few circuits for each project, and lots and lots of projects
16:34:20 <AnMaster> ais523, anyway, have you reverse engineered that file format for the pin mapper?
16:35:02 <ais523> AnMaster: it's probably documented somewhere
16:35:07 <ais523> and the format's incredibly simple as it is
16:35:16 <AnMaster> ais523, then just use that directly?
16:35:18 <ais523> basically just key-value, with both quoted, separated by =
16:35:22 <ais523> and yes, that's what I do nowadays
16:35:37 <AnMaster> ais523, be happy it wasn't some obfucated binary file format
16:46:31 -!- lereah_ has quit (Quit: Leaving).
16:52:54 -!- Gracenotes has quit (Ping timeout: 276 seconds).
17:04:11 -!- Gracenotes has joined.
17:08:14 <AnMaster> ais523, what about that genetic algorithm to build a circuit on an FPGA thingy, somewhat well known iirc
17:08:24 <AnMaster> if things are that undocumented how did they manage that
17:08:38 <ais523> genetic algos work pretty well on undocumented platforms
17:08:45 <ais523> arguably, better than regular algos
17:09:02 <AnMaster> 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 <AnMaster> 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:11:12 -!- luko has joined.
17:11:51 <AnMaster> ais523, and iirc it did the genetic algorithm directly on the binary. Again only iirc
17:13:27 -!- impomatic has joined.
17:15:42 -!- luko has quit (Ping timeout: 240 seconds).
17:16:01 <fizzie> 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 <fizzie> (I'm not sure if there's any details available through the page, though.)
17:16:18 <AnMaster> fizzie, yes that sounds like the one
17:17:31 <fizzie> It's in one of the Science of Discworld books too. :p
17:20:40 <ais523> fizzie: it distinguished between two waveforms using only combinatorial logic, which is obviously impossible
17:20:51 <ais523> so obviously it was exploiting non-ideal behaviour of the components it was made from
17:21:34 -!- BeholdMyGlory has joined.
17:21:47 <fizzie> Yes; but it's still nifty.
17:22:31 <impomatic> Virtual Organisms mentions something about evolved gate arrays. If the gates which aren't connected to the circuit are removed, it stops working.
17:23:14 <impomatic> I've ordered a FPGA dev board to experiment with it myself
17:25:09 <fizzie> http://swtch.com/r.zip -- a sort of a zip-quine; it expands to itself, except in a subdirectory r/.
17:25:36 <fizzie> Don't know where it came from, might be old; link via another channel.
17:25:59 <ais523> it was being discussed a few days ago on reddit
17:26:09 <ais523> along with .gz and .tar.gz versions
17:26:26 -!- Gracenotes has quit (Ping timeout: 246 seconds).
17:26:34 <AnMaster> <fizzie> 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 <fizzie> A compression file format is a bit of a natural platform for that sort of stuff.
17:27:51 <AnMaster> 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 <fizzie> Yes, I would assume it complicates things; but the checksum's not exactly cryptographically strong.
17:30:29 <fizzie> Some CRC-32 variant, IIRC.
17:30:43 -!- tombom has joined.
17:34:05 <fizzie> "ISSNC 2010, 17th International Summer School in Novel Computing"; presumably for people who are both computer scientists and novelists.
17:39:25 -!- cap11235 has quit.
17:40:28 <AnMaster> ais523, what free alternatives are there to ghdl (if any)?
17:40:40 <ais523> that doesn't mean there aren't any, ofc
17:40:49 <ais523> but it does mean I can't point you to them
17:41:00 -!- FireFly has quit (Quit: null).
17:44:17 -!- Gracenotes has joined.
17:50:42 <AnMaster> ais523, what is the simplest way to make a test suite or such for a (stateless) entity in vhdl?
17:50:54 <AnMaster> as in, I just want to test all input signals and get a time diagram
17:50:58 <ais523> write it in imperative VHDL
17:51:07 <ais523> something as simple as using initialised signals
17:51:13 <ais523> together with a <= not a after 10 ns
17:51:16 <ais523> b <= not b after 20 ns
17:51:19 <ais523> c <= not c after 40 ns
17:51:35 <ais523> or a <= a + 1 if they're integers rather than std_logics
17:52:29 <AnMaster> 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:45 <ais523> AnMaster: but that doesn't specify the timings
17:53:02 <ais523> a <= conv_std_logic(conv_integer(a)+1) after 10 ns
17:53:05 <AnMaster> ais523, the thing I want to test have no timing info currently
17:53:06 <ais523> see, that's pretty simple
17:54:07 <AnMaster> ais523, the example "test bench" at http://ghdl.free.fr/ghdl/A-full-adder.html seems quite confusing
17:54:17 <AnMaster> oh wait, forgot you ignore links
17:54:28 <ais523> test benches can be written to be synthesisable, it's harder then
17:54:36 <ais523> anyway, the reason is that test benches are normally full of asserts
17:54:44 <ais523> as in, actually test the outputs, rather than just generating them
17:54:51 <AnMaster> type pattern_array is array (natural range <>) of pattern_type;
17:54:52 <AnMaster> constant patterns : pattern_array :=
17:54:58 <AnMaster> and then a list of the binary numbers
17:55:00 <ais523> normally you rewrite what the circuit's meant to do in imperative VHDL< and compare
17:55:15 <ais523> VHDL array syntax is so cute
17:55:23 <AnMaster> what does natural range <> mean?
17:56:37 <AnMaster> ais523, also this seems weird: assert false report "end of test" severity note;
17:56:54 <ais523> AnMaster: welcome to output to stderr
17:57:05 <ais523> "severity note" means it isn't a problem that the assert fails
17:57:12 <ais523> and the assert failure means it gets output
17:57:15 <AnMaster> also why does it end with wait;
17:57:24 <ais523> and to prevent an infinite loop
17:57:38 -!- Gracenotes has quit (Ping timeout: 260 seconds).
17:57:56 <ais523> 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 <ais523> (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 <AnMaster> 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 <AnMaster> maybe the issue is that such test benches abuse vhdl basically
17:59:06 <ais523> AnMaster: it's the way VHDL thinks
17:59:15 <ais523> you still have too much of an imperative mindset
17:59:55 <AnMaster> ais523, you didn't get around to describing what natural range <> actually meant.
18:00:21 <ais523> but I think it defines an array type whose bounds are determined later when it's actually used
18:00:26 <ais523> rather than having fixed bounds for all instances of the type
18:00:31 <AnMaster> oh btw, any idea about this bit: for i in patterns'range loop
18:01:11 <ais523> AnMaster: think of ' in VHDL like -> in C++
18:01:20 <ais523> it basically accesses metadata
18:01:23 <ais523> alternatively, it's the cast operator
18:01:27 <ais523> as in, String'("Hello, world!")
18:01:41 <ais523> (which needs to be cast to a string because "" is ambiguous without knowing what type it is)
18:01:54 <ais523> (imagine "1XXUW", is that a string or a std_logic_vector?)
18:02:21 <AnMaster> Oh I see what that array is, it isn't actually a binary count, it is expected output as well
18:02:59 <AnMaster> ais523, I couldn't tell, I'm still learning vhdl
18:03:42 <AnMaster> ais523, I'm somewhat confused by the use of quotes in VHDL
18:04:02 <ais523> AnMaster: '' quotes one thing, "" quotes an array of things
18:04:26 <ais523> 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 <ais523> and "thing" is an arbitrary type, you need to cast unless it's clear from the context, which it usually is
18:04:49 <ais523> but quite often it's std_logic
18:06:33 <AnMaster> ais523, and when is that "bit" type used?
18:06:56 <ais523> very rarely, it's an imperative boolean
18:07:11 <ais523> so you need to be a) writing imperative code, and b) happening to need a boolean
18:07:16 <fizzie> 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 <ais523> and that combination doesn't come up a lot
18:07:30 <AnMaster> fizzie, where did the word "novel" come from then?
18:07:52 <ais523> it might work for something like a flag variable (note, not flag signal)
18:08:00 <fizzie> 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:40 <AnMaster> ais523, how is verilog compared to vhdl btw?
18:09:06 <ais523> used more in academia and less in the military; same feature set; syntax is C-like and rather sloppier than VHDL's
18:09:56 <AnMaster> ais523, and what about in industry
18:10:14 <ais523> although all the industrial tools default to VHDL, which is a clue
18:10:27 <AnMaster> any linux tools for verilog btw?
18:11:08 <ais523> no free ones that I know of
18:11:15 <ais523> although the same expensive ones that do VHDL do Verilog too
18:12:25 <fizzie> 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 <fizzie> The name (Verilog, as opposed to VHDL) is perhaps easier to twist into fancy nomenclature; cf. "Verilator", "VeriWell".
18:14:11 -!- Gracenotes has joined.
18:23:39 <AnMaster> " Copyright (C) 2004, 2005, 2008 Tristan Gingold -- tgingold AT free DOT fr
18:23:39 <AnMaster> Last modified: Thu Mar 16 04:39:49 CET 2006 "
18:23:44 <AnMaster> from http://ghdl.free.fr/features.html
18:24:03 <AnMaster> (for ais: that was from ghdl web site)
18:25:29 <AnMaster> oh and the copyright line does not seem to be site wide
18:25:36 <AnMaster> nor does the last modified date
18:27:37 <AnMaster> ais523, btw, found an open source verilog simulation/synthesis tool (subproject of gEDA it seems)
18:33:34 -!- Gracenotes has quit (Ping timeout: 260 seconds).
18:37:28 <nooga> 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 <fizzie> 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 <nooga> what was your thesis?
18:57:57 <fizzie> "Methods for Spectral Envelope Estimation in Noise Robust Speech Recognition"
18:58:18 <coppro> apparently GSOC gave me a free membership in ACM for a year
18:59:53 <fizzie> 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 <fizzie> Well, maybe it wasn't red text.
19:01:21 <pikhq> And just being a student gets you access to Windows Server 2008.
19:01:28 <fizzie> 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 <fizzie> 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 <coppro> 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 <pikhq> coppro: If you're a student, you've got access to Microsoft softwares from Dreamspark.
19:02:34 <pikhq> Note. That is not "college student", just "student".
19:02:50 <coppro> but the university grants more
19:02:51 <pikhq> And technically, all they *check* is that you've got a student email account.
19:03:16 <pikhq> But Dreamspark already nets you Server 2008 and Visual Studio. AKA most of the expensive dev software. :P
19:04:01 <pikhq> 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 <fizzie> 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 <pikhq> fizzie: That is quite annoying, yes.
19:04:58 <pikhq> I think there's a way to turn that off, though.
19:05:16 <pikhq> Something like "Yes, this is a *workstation* not a server. Fuck off."
19:05:24 <fizzie> Typically I'd guess a magic register key value somewhere.
19:05:40 <SgeoN1> Isn't there a game at lost.edu or something? How'd they get a .edu?
19:06:06 <SgeoN1> Or maybr I'm hallucinating
19:07:16 <pikhq> SgeoN1: This is all a hallucination.
19:07:18 <pikhq> The Internet does not exist.
19:08:22 <SgeoN1> Hm, a better nick might be Sgeoid
19:08:47 <fizzie> Sgeoid sounds like a shape.
19:09:14 <SgeoN1> Are you saying I'm not a shape?!?!
19:09:41 <fizzie> Isn't the joke usually "What do you mean I'm not in shape? Round *is* a shape!"
19:10:22 <SgeoN1> Didn't think of that, but I'm more of a line than a sphere.
19:13:30 <nooga> I SCREWED MY GSOC APP THIS YEAR ;[
19:26:02 -!- Phantom_Hoover has joined.
19:26:51 <pikhq> Maxima's pretty much it.
19:30:00 <SgeoN1> Hi Phantom_Hoover. We were worried about you. What's the deal with the edit on the wiki?
19:30:41 <SgeoN1> Glad to hear you're ok
19:31:23 <Phantom_Hoover> BtW, did oerjan and alise get that Fibonacci bijection working?
19:34:09 -!- SgeoN1 has quit (Read error: Connection reset by peer).
19:34:18 -!- SgeoN1 has joined.
19:35:09 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <ais523> #ubuntu can be pretty awful
19:40:39 <ais523> 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 <ais523> but I didn't this time because I haven't upgraded yet
19:41:23 <Phantom_Hoover> It's a small mercy that the particularly computer-illiterate users don't know how to use IRC.
19:44:39 <fizzie> Oh, did they kick the lucid out of the door?
19:46:14 <fizzie> 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 <fizzie> 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:39 <fizzie> Thank Twitter for that.
19:48:07 <fizzie> I just suffix ... if it seems to go past the 140 character limit; didn't tweak the stopping probability at all.
19:49:35 <fizzie> 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 <Deewiant> Did you have runogen on Twitter as well?
19:50:33 <fizzie> Sure, http://twitter.com/runogen (what an inspired account name).
19:50:49 <fizzie> There exist an english port of runogen, but for some reason it's not at all as funny.
19:51:18 <fizzie> Smaller, I think. Only one wordset, no... stranger ones.
19:52:43 <fizzie> For some reason ~no-one seems to be following either one; runogen's got 2 followers and fungot has 6.
19:52:44 <fungot> 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:57:11 <AnMaster> <nooga> AnMaster: maybe he was using Apple's Time Machine [tm] <-- augh
19:58:31 <AnMaster> opencores has a horrible faq page btw. It is somewhat surprising that it works even without javascript..
19:58:38 <AnMaster> (see http://opencores.org/opencores,faq)
19:59:01 <AnMaster> (try clicking those links, in fact, you will notice the issue before you click)
20:08:24 -!- Tritonio_GR has joined.
20:08:32 -!- nooga has left (?).
20:08:38 -!- nooga has joined.
20:08:51 <nooga> coppro: i did IM filesystem for Plan 9
20:09:10 <coppro> nooga: What did you screw up?
20:09:41 <AnMaster> you meant what I thought you meant. :/
20:09:55 <nooga> oh come on, this was even in their ideas
20:10:13 <nooga> my view was a little bit modified, though
20:10:30 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
20:10:34 <ais523> nooga: I take that this is mapping IM to the filesystem, rather than creating a filesystem stored over IM
20:10:49 <nooga> ais523: you're right
20:11:01 <nooga> there's an IRCfs for Plan 9
20:11:20 <nooga> in Plan 9 you write filesystems instead of libs
20:11:25 <coppro> How did you screw it up?
20:11:46 <AnMaster> nooga, which im protocol? jabber?
20:11:58 <nooga> because filesystems provide consistent interface for every stupid shell script or C prog or something else
20:12:33 <AnMaster> 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 <AnMaster> haven't yet found any for vhdl
20:12:51 <nooga> coppro: i guess it was not as detailed as it should be
20:13:21 -!- impomatic has left (?).
20:19:52 <nooga> haha, now WIMACS has a modem
20:22:05 <nooga> WIMACS is out (mine/friend's) computer built from scratch
20:22:38 <nooga> with 8088 processor, homebuilt motherboard and homebuilt modem as an I/O device
20:23:13 <nooga> 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:26:51 <nooga> maybe it could even serve a BBS
20:27:37 <pikhq> You could probably port CP/M to it.
20:28:15 <nooga> but i want to write my own
20:28:16 <pikhq> DOS is very, very, very heavily BIOS-based.
20:28:23 <pikhq> CP/M is more portable.
20:28:40 <nooga> but running DOS is possible
20:28:45 <pikhq> Basically all that's needed is an 8080, a terminal, and 16k of RAM.
20:29:07 <pikhq> Possible, but you'd not run anything that used BIOS routines.
20:29:16 <pikhq> Unless you wrote an IBM BIOS emulator.
20:29:16 <nooga> that's why CP/M is awesome
20:42:34 -!- oerjan has joined.
20:43:11 -!- SgeoN1 has joined.
20:43:23 <oerjan> <Phantom_Hoover> BtW, did oerjan and alise get that Fibonacci bijection working?
20:43:38 <oerjan> i didn't code it up, and i didn't hear alise said e did, either
20:44:06 <oerjan> also, you're alive! (but absent)
20:44:21 <oerjan> <Phantom_Hoover> 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 <ais523> oerjan: alise added a link to the wiki
20:44:43 <nooga> i'm thinking about Forth-like language for WIMACS
20:44:44 <ais523> which may or may not be to a Fibonacci bijection
20:45:18 <oerjan> 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 <ais523> I noticed today, although it may have happened earlier
20:46:03 <oerjan> Phantom_Hoover: (for the logs) naively, 1111 corresponds to nothing, that's precisely why i included the divMod x 2 modification
20:46:11 <oerjan> if you actually looked at my code
20:47:23 <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:47:43 -!- Phantom_Hoover has joined.
20:48:23 <oerjan> 21:42 oerjan> <Phantom_Hoover> BtW, did oerjan and alise get that Fibonacci bijection working?
20:48:26 <oerjan> 21:43 oerjan> i didn't code it up, and i didn't hear alise said e did, either
20:48:29 <oerjan> 21:43 oerjan> also, you're alive! (but absent)
20:48:31 <oerjan> 21:43 oerjan> <Phantom_Hoover> 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 <oerjan> 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:46 <oerjan> 21:45 oerjan> if you actually looked at my code
20:48:48 <oerjan> 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 <ais523> 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 <ais523> although that could be tricky to implement
20:50:06 <Phantom_Hoover> fax *claimed* to have an algorithm that made it practical, but he never gave it.
20:50:37 <oerjan> 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 <Phantom_Hoover> Logically, it must have encoded some *huge* programs as small numbers, though.
20:52:01 -!- SgeoN1 has quit (Ping timeout: 240 seconds).
20:52:34 <oerjan> 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 <oerjan> well some of the small programs
20:53:27 <oerjan> but basically i think it encoded long programs without loops fairly small
20:53:41 <augur> guys, ive got a challenge for you. :D
20:53:58 <augur> its related to formal grammars tho, so if you dont want to accept the challenge, i understand.
20:54:16 <oerjan> 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 <Phantom_Hoover> 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 <augur> the challenge is as follows
20:55:01 -!- AndChat| has joined.
20:55:32 <augur> 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 <oerjan> 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 <oerjan> fizzie and i found out those two are actually pretty equivalent
20:56:31 <oerjan> just about 2 bits difference at most
20:56:34 <Phantom_Hoover> So distributing the conses would actually make a big difference?
20:56:40 <augur> 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 <oerjan> 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 <augur> 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 <oerjan> 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 <augur> and those are the only three options
21:00:00 <oerjan> and it would, i think, remove the need to distribute tuples, you could use a consed list efficiently enough
21:00:38 <oerjan> augur: not at present, busy with a different problem as you can see
21:02:02 <oerjan> 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 <Phantom_Hoover> The "write out combinations of '-+<>,.[]' and eliminate invalids" way?
21:03:05 <oerjan> Phantom_Hoover: er no, i've never seriously considered that
21:03:30 <oerjan> i'm talking about a tuple encoding that approximately sums bitsizes to keep balance automatically
21:03:47 <fizzie> oerjan: Write us a generating function for the valid BF programs in some naive encoding. :p
21:03:53 <Phantom_Hoover> I suppose fax was wrong about the efficient way for his algorith?
21:04:19 <oerjan> Phantom_Hoover: i don't say that, he was mentioning stirling numbers so there probably _is_ a way
21:04:28 <fizzie> (Then solve the coefficients out of it.)
21:04:40 <oerjan> it's just that even i don't feel like wrapping my brain around that
21:05:43 <oerjan> 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 <oerjan> now to encode [1..] x [1..] with balanced bits - i think dropping 0 is more elegant because:
21:07:43 <oerjan> 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 <oerjan> now then how many tuples are there with sum of bitsizes n?
21:08:30 <oerjan> it could be 1+(n-1), 2+(n-2), ..., (n-1)+1.
21:09:30 <oerjan> 2^0 * 2^(n-2) + 2^1 * 2^(n-3) + ... + 2^(n-2) * 2^0
21:09:42 <oerjan> conveniently all terms are equal :)
21:10:11 <oerjan> so there are (n-1)*2^(n-2) tuples with total bitsize sum n
21:12:36 <oerjan> 1*1 + 2*2 + 3*4 + 4*8 + 5*16 + ...
21:13:38 <oerjan> 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 <oerjan> 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 <oerjan> all eminently doable, at least in the forward direction
21:16:18 <oerjan> assuming (m,n) are the bitsizes of (x,y) respectively
21:16:42 -!- tombom__ has joined.
21:17:35 <oerjan> 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 <oerjan> so it remains to get the partial sums of that series 1*1 + 2*2 + 3*4 + 4*8 + 5*16 + ...
21:19:26 <oerjan> !haskell take 10 $ scanl1 (+) [(n-1)*2^(n-2) | n <- [2..]]
21:19:28 <EgoBot> [1,5,17,49,129,321,769,1793,4097,9217]
21:20:08 <Phantom_Hoover> Haskell programs must give horrendously complex machine code.
21:20:18 -!- tombom_ has quit (Ping timeout: 276 seconds).
21:20:49 <oerjan> the evil mangler of ghc is legendary
21:21:22 <oerjan> but it's going away when they deprecate the compilation via C option
21:21:45 <oerjan> (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 <oerjan> OEIS says that sequence is (n-1)*2^n + 1
21:23:11 <oerjan> !haskell [(n-1)*2^n + 1 | n <- [0..10]]
21:23:13 <EgoBot> [0,1,5,17,49,129,321,769,1793,4097,9217]
21:23:55 <oerjan> ok we wanted the 1 to start at n=2
21:24:20 <oerjan> !haskell [(n-2)*2^(n-1) + 1 | n <- [2..10]]
21:24:22 <EgoBot> [1,5,17,49,129,321,769,1793,4097]
21:24:58 <oerjan> Phantom_Hoover: that's an optional option for ghc i think
21:25:55 -!- Sgeo|web has joined.
21:26:23 <oerjan> hm actually n=2 should give 0 since then there are no strictly smaller tuples
21:26:29 <Sgeo|web> I have the opportunity to post a [Bash] programming contest for my UNIX class
21:26:40 <Sgeo|web> I'm considering having them implement a subset of Brainfuck
21:27:08 <oerjan> !haskell [(n-3)*2^(n-2) + 1 | n <- [2..10]]
21:27:10 <EgoBot> [0,1,5,17,49,129,321,769,1793]
21:27:11 <Sgeo|web> I think having them implement [] might be a bit difficult
21:27:18 <Phantom_Hoover> Any programmer worth their salt can implement the whole thing easily.
21:27:32 <EgoBot> sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@<pl(2?=#Cp"1+:#Mm%+#Mm1,3255?=#Cp"1-:#Mm?<-#Mm10,3254-#Mm1?=#Cp"1>: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:28:06 <nooga> brainfuck interp in sadol
21:29:23 <oerjan> 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 <nooga> Sgeo|web: are you a teacher or something?
21:30:25 <oerjan> defining bitSize remains
21:30:47 <Sgeo|web> nooga: I won the programming contest
21:31:02 <oerjan> x and y need to have the upper bit removed
21:31:18 <nooga> i don't like teachers
21:31:36 <nooga> or rather ignorant morons... mainly
21:31:53 <Phantom_Hoover> Most people learning programming aren't interested, at least AFAIK.
21:32:16 <oerjan> Phantom_Hoover: logarithms only defined for floating point, which cannot safely convert from Integers
21:32:20 <Sgeo|web> How do you do ASCII code <-> character in Bash?
21:32:34 <nooga> one guy from OS architecture classes failed me because my experimental kernel was not enough
21:33:07 <nooga> he wanted me to make a powerpoint presentation about ACLs and implement an ACL simulator in C#
21:33:54 <Phantom_Hoover> Sgeo|web: Give them a two-way converter and tell them to use that.
21:34:06 <pikhq> nooga: ... He wanted an ACL implementation, not a *freaking OS*.
21:34:08 <oerjan> 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:32 <oerjan> the removal of the top bits fit with some other terms
21:35:00 <oerjan> hm some of that still can be combined
21:35:04 <nooga> pikhq: but the guy couldn't even understand my design
21:35:28 <oerjan> 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 <nooga> plus designing and implementing even minimal kernel requires more knowledge than writing a stupid essay about stupid, simple ACLs
21:36:01 <Phantom_Hoover> 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:22 <pikhq> Phantom_Hoover: OS architecture class. The class is about the architecture of an OS.
21:36:45 <pikhq> And he was being graded on a "general project", I'm pretty sure.
21:36:58 <Phantom_Hoover> But did he implement whatever an ACL is while writing his kernel?
21:37:21 <nooga> i wrote a regular expression compiler for Formal Languages class
21:37:38 <pikhq> 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 <nooga> instead of going to lectures and laboratories
21:38:27 <fizzie> Sgeo|web: You can convert from octal numbers to characters with "echo -e". And from decimal to octal with printf.
21:38:53 <fizzie> The "printf" command's %c prints the first character of the provided argument; it does not convert a number to character.
21:39:28 <fizzie> "echo -e \0nnn", where nnn is an octal number.
21:39:29 <Sgeo|web> Can I just write the converter in Python?
21:39:51 <fizzie> Sgeo|web: Well, if you want to be a quitter....
21:40:15 <Sgeo|web> I'm going to supply the class with ord2chr and chr2ord
21:40:38 <pikhq> Hmm. Moar Japanese, or video games?
21:40:45 <Phantom_Hoover> Sgeo|web: This BF-Nat bijection has demonstrated pretty well that we aren't very practically-minded.
21:40:50 <pikhq> This is a very hard decision.
21:40:51 <nooga> i hope that my WIMACS would give me at least several credits
21:41:26 <oerjan> <Ilari> 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 <fizzie> As for "character to octal", od's usually available. That should be enough.
21:42:13 <nooga> and i thought that compressing brainfuck is a closed topic
21:42:21 <oerjan> Ilari: basically hyperpyramidals and bit interleaving are almost equal, both have encoded size dependent mostly on the maximal element
21:42:44 <pikhq> Fuck it. Moar Japanese.
21:43:33 <oerjan> because x1+x2+...+xn is between max(x1,...,xn) and n*max(x1,...,xn) which only give + log_2 n bit variation
21:44:14 <nooga> Phantom_Hoover: read my statement again ;]
21:44:24 -!- ais523 has quit (Remote host closed the connection).
21:44:51 <oerjan> Phantom_Hoover: this isn't compressing really, we aren't trying to remove unnecessary bits or squeeze commonly repetitive parts...
21:45:45 <fizzie> Bash has both indexed and associative arrays, though the "decentness" is debatable.
21:46:18 <oerjan> doing that would probably make the whole mess of keeping bijectivity too horribly complicated
21:47:36 -!- Sgeo|web has quit (Quit: Page closed).
21:55:00 <Deewiant> fizzie: Aren't they all associative?
21:56:16 <fizzie> 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:39 <fizzie> "Indexed arrays are referenced using integers (including arithmetic expressions) and are zero-based; associative arrays are referenced using arbitrary strings."
21:56:54 <oerjan> <Ilari> 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).
22:02:10 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:03:54 -!- Phantom_Hoover has joined.
22:08:39 <Phantom_Hoover> Does Python give a way to include multiple modules in one file?
22:11:17 <oerjan> 1:[2],10:[4],11:[1],100:[6],101:[8],110:[3],111:[2,1],1000:[10]
22:11:40 <oerjan> that fibonacci encoding ordering is a bit weird :)
22:13:33 <nooga> i've missed the idea
22:13:48 <nooga> and i don't even know how is this supposed to work
22:14:08 <oerjan> basically you take a number >= 1 as binary
22:14:53 <Phantom_Hoover> 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 <oerjan> then you split it up at instances of 11
22:15:08 -!- Rugxulo has joined.
22:15:31 <Rugxulo> <alise> QuickBasic doesn't have all that many disadvantages for DOS.
22:15:40 <Rugxulo> <AnMaster> alise, and 640 kB is enough for everyone?
22:15:54 <Rugxulo> no, I think you'd use EMS or XMS via INTERRUPT() or CALL ABSOLUTE
22:15:56 * oerjan is talking about himself
22:16:29 <AnMaster> Rugxulo, how much ram does that allow?
22:16:46 <Rugxulo> depends on what API version, memory manager, etc.
22:16:46 <olsner> someone should make SlowBasic
22:16:50 <AnMaster> Rugxulo, and doesn't EMS and XMS mean you can't address it "straight" but need to use some nasty tricks
22:16:58 <oerjan> 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 <AnMaster> like basically having a "window" into high memory
22:17:19 <Rugxulo> EMS is emulated XMS these days
22:17:20 <AnMaster> Phantom_Hoover, except it looks nothing like the real thing here
22:17:29 <AnMaster> Rugxulo, both are DEAD these days
22:17:51 <AnMaster> Phantom_Hoover, well nor does it even look similar in my irc client I meant
22:17:54 <Rugxulo> AnMaster: http://johnson.tmfc.net/dos/drivers.html
22:18:16 <pikhq> AnMaster: FreeDOS is still maintained.
22:18:41 <nooga> oerjan: but how is it related to bf?
22:18:46 <oerjan> 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 <AnMaster> pikhq, yes and so is linux 2.2
22:18:52 <pikhq> DOS is an OS that is very, very hard to kill.
22:19:06 <AnMaster> Rugxulo, also. doesn't both of these imply that you use a window into high memory or something
22:19:10 <Rugxulo> AMD64 (no V86), Vista and 7 (no gfx, bugs)
22:19:16 <AnMaster> Rugxulo, that you can't see both at once
22:19:27 <pikhq> Rugxulo: That AMD64 can still run DOS.
22:19:31 <pikhq> Just not in long mode.
22:19:44 <oerjan> 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 <AnMaster> Rugxulo, so a pita to program for then?
22:19:46 <Rugxulo> DOSEMU has to fully emulate 16-bit stuff in AMD64
22:19:54 <Rugxulo> no, just a PITA for lazy programmers ;-)
22:19:57 <pikhq> And yes, there are quite good x86 emulators.
22:20:01 <Rugxulo> besides, DPMI is the preferred method
22:20:02 <pikhq> Rugxulo: AMD64 != long mode.
22:20:17 <Rugxulo> obviously, but you know what I meant
22:20:18 <AnMaster> pikhq, but no one needs vm86() ...
22:20:32 <AnMaster> and dosemu and dosbox are both fast enough
22:20:42 <Rugxulo> DOSBox is slow slow slow!!!
22:20:47 <Rugxulo> and only emulates a 486 !!!
22:21:03 <AnMaster> Rugxulo, well then, no one would make new dos apps needing a modern computer
22:21:09 <Rugxulo> AnMaster, DPMI is how you directly access memory in 32-bit
22:21:23 <pikhq> Rugxulo: Dude, it's effectively emulating *several hundred MHz* 486.
22:21:31 <Rugxulo> even under DOSEMU x86-64, DJGPP stuff runs "native speed" (their claim, not mine)
22:21:32 <AnMaster> Rugxulo, I need 64-bit, I often use enough ram at once for that
22:21:42 <pikhq> Which is to say, *dozens of times faster than any 486 ever dreamed of running*.
22:21:42 <oerjan> 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 <Rugxulo> and you need 1+ Ghz processor even for that speed !!!
22:21:51 <AnMaster> Rugxulo, of course I don't need x86 as such
22:22:06 <AnMaster> Rugxulo, I would be perfectly happy with PowerPC
22:22:11 <oerjan> (legal wrt bracketing. comments are ignored.)
22:22:11 <pikhq> Rugxulo: Dear God man, *Bochs* is faster than that.
22:22:23 <nooga> oerjan: sounds awesome
22:22:23 <Rugxulo> no, trust me, DOSBox will not run faster than a 486
22:22:28 <Rugxulo> I have a real 586, and it's much faster
22:22:41 <AnMaster> Rugxulo, a 586 wouldn't run dos any more
22:22:51 <pikhq> AnMaster: Yes it would.
22:22:57 <pikhq> A 586 is called a "Pentium".
22:23:00 <AnMaster> pikhq, didn't windows exist by then
22:23:08 <Rugxulo> Windows existed for 8088, even
22:23:18 <AnMaster> Rugxulo, well okay, but I mean "common"
22:23:22 <pikhq> AnMaster: Until Windows XP, consumer Windows was a DOS program.
22:23:27 <Rugxulo> XP needs at least a Pentium 1 (no MMX)
22:23:35 <AnMaster> pikhq, I know, but you didn't see much of that in windows 98
22:23:43 <Rugxulo> pikhq, that's generalizing a bit much, but semi-true
22:23:51 <pikhq> Every time you ran a 3.x program.
22:24:00 <pikhq> Or an old DOS program.
22:24:11 <pikhq> Which was pretty darned common until, oh, 2000 or so.
22:24:13 <AnMaster> pikhq, which was basically never, plus you couldn't tell it really if it was 3.x apart from a sucky gui
22:24:29 <AnMaster> and well on 95 it still happened
22:24:30 <pikhq> AnMaster: Clearly you didn't.
22:25:02 <pikhq> Every time it broke enough, you needed to get out the edit.com
22:25:23 <AnMaster> pikhq, don't think win98 broke like that for me ever
22:25:44 <AnMaster> pikhq, so okay you saw scandisk at boot sometimes, I admit that
22:26:16 <Rugxulo> AnMasterRugxulo, I need 64-bit, I often use enough ram at once for that
22:26:35 <Rugxulo> nobody ever used to need > 4 GB of RAM, so why they do now?
22:26:46 <Rugxulo> we put a man on the moon with much much much less than that ;-)
22:27:21 <AnMaster> AAARGH why did firefox decide to open that pdf in *krita*
22:27:25 <pikhq> Rugxulo: Anyways. DOSbox *defaults* to 100 MHz. The clock speed it runs at is configurable.
22:27:48 <pikhq> Dunno why, but it does.
22:28:41 <Rugxulo> it's not cycle exact, and cpus differ, different apps need different speeds, etc.
22:28:57 <Rugxulo> well, plus there are different cores for different things (supposed to guess at runtime, doesn't always work)
22:29:02 <pikhq> Though most DOS apps *really* shouldn't be relying on a specific clock speed.
22:29:14 <Rugxulo> most don't, but some old ones did
22:29:20 <pikhq> At least, anything that ran on anything newer than the original XT shouldn't.
22:30:07 <Rugxulo> DOSBox virtualizes a lot of stuff (VGA, soundcards, etc.), otherwise people would just prefer VirtualBox (faster but much less DOS-friendly)
22:30:20 <AnMaster> what API did DOS provide and how was it called?
22:30:37 <AnMaster> Rugxulo, in general, how did you do a syscall under DOS
22:31:05 <pikhq> AnMaster: Interrupts.
22:31:06 <Rugxulo> a la "int 80h" ?? DOS proper mostly used "int 21h" (but also others, 2Fh, and BIOS, 10h)
22:31:43 <Phantom_Hoover> What would happen if I wrote a BIOS program in Linux and ran it?
22:31:47 <AnMaster> 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 <Rugxulo> Phantom_Hoover: I think Linux V86 mode supports such
22:32:22 <AnMaster> hm what did windows do for it? before syscall/sysret I mean
22:32:25 <Rugxulo> AnMaster: but there are people who code for int 80h (mostly assembly dudes)
22:32:48 <AnMaster> Rugxulo, why do they code for a legacy platform though?
22:32:50 <Rugxulo> what did Windows do internally or end users?
22:33:06 <AnMaster> Rugxulo, I mean, what did windows do to call it's kernel
22:33:15 <Rugxulo> AnMaster: "legacy" is 90% of the world!
22:33:16 <AnMaster> some interrupt? call gates (*shudder*)?
22:33:24 <fizzie> AnMaster: You just call the NTDLL functions, you don't do manual syscalls there. (I'm sure it's *possible*. but...)
22:33:34 <pikhq> AnMaster: Depends on which Windows.
22:33:40 <AnMaster> fizzie, nowdays presumably syscall/sysret
22:33:51 -!- Phantom_Hoover has left (?).
22:33:58 <AnMaster> pikhq, "nt before syscall/sysret days"
22:34:18 <fizzie> 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 <AnMaster> fizzie, yes but which interrupt
22:35:20 <AnMaster> oh and: <Rugxulo> 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 <Rugxulo> not really documented internals (at least not by MS), but I think "int 2Eh" was their own revectored / proprietary one
22:35:32 <fizzie> AnMaster: "System calls in Windows NT are initiated by executing an "int 2e" instruction."
22:35:43 <fizzie> AnMaster: But really, no-one invokes those manually, so why *should* you care?
22:35:47 <AnMaster> Rugxulo, yes, all new hardware is
22:35:51 <Rugxulo> you can't because MS didn't document it
22:35:58 <AnMaster> Rugxulo, and by god, x86_64 is *way* better
22:36:03 <Rugxulo> AnMaster, so what? just because it's new doesn't make it perfect
22:36:12 <pikhq> AnMaster: Windows NT supports 3 different system call schemes by default.
22:36:18 <Rugxulo> better for coders who already know how to use older stuff?
22:36:20 <AnMaster> Rugxulo, yes it is less register starved, no it doesn't have enough registers
22:36:33 <Rugxulo> doesn't matter how many registers, push/pop is a simple workaround
22:36:35 <pikhq> The Win32 subsystem's, the OS/2 subsystem's, and the POSIX subsystem's.
22:36:39 <Rugxulo> besides, more registers don't mean faster speed
22:36:47 <pikhq> (implementations for the POSIX subsystem are not included by default)
22:36:51 <AnMaster> Rugxulo, and compiler does a better job at a less register starved architecture
22:36:57 <Rugxulo> OS/2 and POSIX subsystems are dead and removed in modern Windows
22:37:05 <Rugxulo> compilers are dumb dumb dumb
22:37:14 <pikhq> Rugxulo: The OS/2 subsystem is unmaintained but very much still around.
22:37:29 <pikhq> And the POSIX subsystem is not merely around but actively developed.
22:37:30 <Rugxulo> uh, not that I know of, I think OS/2 1.x apps last worked only in Win2k
22:37:45 <pikhq> Interix is still developed.
22:37:51 <pikhq> And that is the POSIX subsystem.
22:37:52 <Rugxulo> not the same, and doesn't come by default, only available for Enterprise, etc.
22:38:09 <AnMaster> Rugxulo, I presume I can get it by MSDNAA
22:38:15 -!- tombom__ has quit (Quit: Leaving).
22:38:18 <pikhq> It's a free download.
22:38:20 <Rugxulo> 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 <pikhq> For XP, Vista, Server 2003, Server 2008, or 7.
22:38:33 <Rugxulo> it's not like they magically get 1000x better just by having a few extra registers
22:38:52 <Rugxulo> "Server" != "Home Premium"
22:39:06 <pikhq> "Server 2003" is a *Windows version*.
22:39:16 <Rugxulo> yes, but not for home users (e.g. DPMI broken)
22:39:21 <AnMaster> 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 <AnMaster> and a lot easier to debug for and so on
22:39:30 <pikhq> It's still available for the *consumer versions of OSes* as well.
22:39:36 <Rugxulo> asm can be portable, see FASM itself (runs on like 10 OSes)
22:39:41 <AnMaster> Rugxulo, and not 1000x, that is unrealistic
22:39:47 <Rugxulo> less programmer time depends on the programmer ;-)
22:39:55 <pikhq> Also. Yeah, x86 gains a *lot* from the extra registers.
22:39:59 <AnMaster> Rugxulo, I'm talking about 150% increase for some tasks, 10-20% for other
22:40:00 <pikhq> x86_64 *doubles* the registers.
22:40:08 <Rugxulo> no, not everything speeds up with x86-64
22:40:22 <AnMaster> iirc I saw 300% increase for MPEG decoding on x86-64
22:40:43 <AnMaster> Rugxulo, it was using SSE2 on 32-bit version too
22:40:47 <pikhq> And anything doing 64-bit arithmetic (like MPEG encoding and decoding) increases by *absurd* amounts.
22:40:57 <pikhq> Rugxulo: It also doubles the number of SSE2 registers...
22:41:12 <Rugxulo> 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 <AnMaster> 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:30 <pikhq> AnMaster: Too much work.
22:41:31 <AnMaster> 64-bit pointers only for apps that need it
22:41:42 <AnMaster> pikhq, it would avoid the larger pointer size problem
22:41:42 <Rugxulo> AnMaster: people are lazy, that's why
22:41:50 <pikhq> AnMaster: That means another full complement of dynamic libraries.
22:41:57 <AnMaster> pikhq, and we would always have 64-bit registers
22:42:10 <Rugxulo> sounds like V86++ to me ;-)
22:42:12 <AnMaster> pikhq, no it means two, since we drop the legacy 32-bit GP register variant on this arch
22:42:40 <pikhq> ... If you're dropping x86_32, then you might as well just *nuke x86 as a whole*.
22:42:41 <fizzie> 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:50 <AnMaster> pikhq, this wouldn't be x86 at all
22:43:00 <fizzie> (Could be that I just haven't found the SUA download, though.)
22:43:06 <pikhq> fizzie: I've used it.
22:43:12 <Rugxulo> MS is annoying with nickel-and-diming everything
22:43:15 <pikhq> It's even free to redistribute.
22:43:22 <pikhq> Gentoo/Win32 has it on the CD.
22:43:23 <Rugxulo> XP Mode won't work on 7 except non-Home versions, etc.
22:43:45 <pikhq> Erm. Sorry. Gentoo/Windows.
22:43:45 * Rugxulo wonders if Cygwin64 exists
22:44:05 <pikhq> Rugxulo: Interix is quite a bit faster than Cygwin.
22:44:16 <pikhq> Doesn't need to use hacks like userspace fork.
22:44:46 <AnMaster> 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 <AnMaster> pikhq, and some floating point, could be part of SIMD, not sure
22:45:25 <AnMaster> plus an assorted set of special registers of course, like every other arch
22:45:44 <AnMaster> pikhq, sounds like utopia yet?
22:45:57 <Rugxulo> http://lbw.sourceforge.net/ (uses Interix, supposedly very buggy though)
22:46:02 <AnMaster> <pikhq> Gentoo/Win32 has it on the CD. <-- and isn't that dead? If you mean the cygwin one?
22:46:17 <AnMaster> Rugxulo, there is internix debian
22:46:18 <Rugxulo> 256 bit wide SIMD = AVX, no?
22:46:21 <fizzie> 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:50:55 <pikhq> fizzie: Huh. Sure enough.
22:51:10 <Rugxulo> <alise> 03:00:06 <Rugxulo> dumb question, but why not use FreeBASIC instead?
22:51:10 <Rugxulo> <alise> No peeking 'n poking madness; no nostalgia; no good-ole-days-feeling.
22:51:12 <fizzie> Incidentally, how is it with Hurd these days? Ready to replace the temporary Linux solution yet?
22:51:16 <pikhq> Fucking Microsoft.
22:51:26 <Rugxulo> FreeBASIC has a QB mode, and you can indeed peek/poke with DJGPP functions
22:51:28 <pikhq> Hurd is basically abandoned.
22:51:44 <Rugxulo> no, I think somebody is (barely) working on it, just not sure how much
22:51:52 <Rugxulo> I thought I read some hint about it recently, but I can't remember
22:52:04 <AnMaster> pikhq, link to gentoo/windows?
22:52:17 <AnMaster> pikhq, the only thing I can find is something published on 1 april...
22:52:33 <AnMaster> or the old dead gentoo/cygwin one
22:53:12 <pikhq> http://www.gentoo.org/proj/en/gentoo-alt/prefix/index.xml
22:53:41 <Rugxulo> oh, BTW, does anybody in here besides me actively have a Win32 install?
22:53:52 <Rugxulo> I'm thinking it should maybe be possible to write a Befunge93 interpreter in CMD
22:53:56 <pikhq> Rugxulo: I have *an* implementation of Win32.
22:54:01 <Rugxulo> (which may or may not work with ReactOS)
22:54:11 <Rugxulo> (their shell shares some features)
22:54:14 <AnMaster> pikhq, and the cd with this thing for it on it?
22:54:36 <pikhq> AnMaster: http://distfiles.gentoo.org/experimental/prefix/x86-interix/
22:54:41 <Rugxulo> I wrote "get()" in CMD, seems to work, haven't gotten past that though
22:54:47 <AnMaster> Rugxulo, I have 64-bit windows xp in a virtualbox
22:54:52 <AnMaster> that is all I have when it comes to windows
22:54:52 -!- jcp has joined.
22:55:02 <fizzie> Rugxulo: I have a silly Server 2003 install, though I'm not sure what you mean by "actively".
22:56:19 <Rugxulo> I was basically looking for comments on whether anybody agreed that CMD should be enough to emulate Befunge93
22:56:30 <Rugxulo> like I said, I wrote get(), it seems to work, but I haven't gotten past that
22:56:50 <AnMaster> but who knows, it may be possible
22:57:28 <Rugxulo> it supports "set /A expression", for example
22:58:25 <AnMaster> Rugxulo, how do you extract the top element from that then?
22:59:04 <Rugxulo> May also specify substrings for an expansion.
22:59:04 <Rugxulo> would expand the PATH environment variable, and then use only the 5
22:59:04 <Rugxulo> characters that begin at the 11th (offset 10) character of the expanded
22:59:31 <AnMaster> Rugxulo, that is cmd.exe but not command.com right?
22:59:47 <AnMaster> Rugxulo, and who knows where this is documented...
23:00:01 <Rugxulo> I just typed "set /?" and "for /?"
23:00:09 <Rugxulo> seemed to be enough for now ;-)
23:00:17 <AnMaster> Rugxulo, that mentions the substring thingy?
23:00:47 <Rugxulo> The /A switch specifies that the string to the right of the equal sign
23:00:47 <Rugxulo> is a numerical expression that is evaluated. The expression evaluator
23:00:47 <Rugxulo> is pretty simple and supports the following operations, in decreasing
23:00:48 <Rugxulo> * / % - arithmetic operators
23:00:48 <Rugxulo> + - - arithmetic operators
23:00:51 <Rugxulo> = *= /= %= += -= - assignment
23:01:17 <Rugxulo> I wanted you to know what it supported (&, ^, |)
23:01:53 <AnMaster> it doesn't have bitwise operators
23:02:10 <AnMaster> and also for befunge98 (unless you use some fingerprint that provide bitwise operators)
23:02:20 <AnMaster> Rugxulo, also it doesn't do xnor :(
23:02:22 <Rugxulo> oh, well obviously Befunge doesn't ... but I'm just saying "set /a" should be enough for B93
23:02:31 <AnMaster> (of course, nothing does, unless it is a HDL)
23:02:38 <fizzie> AnMaster: MSDN has cmd.exe documentation, I've used it a couple of times.
23:02:52 <AnMaster> fizzie, I think I never looked further than windows help center
23:04:37 <Rugxulo> AnMaster, you sure love 64-bit a lot ;-)
23:04:38 <fizzie> 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 <AnMaster> Rugxulo, hm? that is because compared to 32-bit x86 it is a lot saner
23:05:20 <AnMaster> sure it is worse than most RISC platforms
23:05:31 <AnMaster> but that is what I'm stuck with
23:05:37 <AnMaster> Rugxulo, also that comment seemed out of context there
23:05:46 <AnMaster> since we hadn't discussed that for several screens
23:05:51 <Rugxulo> I was referring to your XP64 VirtualBox install
23:06:00 <AnMaster> Rugxulo, that was several screens above yes
23:06:17 <Rugxulo> 16 minutes ago, my how time flies
23:06:43 <Rugxulo> 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 <AnMaster> Rugxulo, well considering we discussed other things in between yes
23:06:59 <Rugxulo> "x86 in general is crap, but that is what I'm stuck with"
23:07:16 <Rugxulo> 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 <Rugxulo> GCC is far from perfect, but it's less evil than the others
23:07:48 <AnMaster> 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 <AnMaster> Rugxulo, I have high hopes with clang
23:08:08 <Rugxulo> in theory, fine ... in practice, bad
23:08:15 <AnMaster> Rugxulo, what is bad in practise?
23:08:23 <Rugxulo> if everything wasn't closed source and we could all code / fix bugs, it wouldn't matter
23:08:36 <Rugxulo> but removing compatibility in such a proprietary world seems like a bad idea
23:08:43 <Rugxulo> who needs yet another incompatible mess to port to??
23:08:51 <AnMaster> Rugxulo, well, non of the really important software for me is closed source apart from bios
23:09:01 <AnMaster> probably some firmware in some devices too
23:09:06 <AnMaster> but that is unlikely to be x86
23:09:11 <Rugxulo> 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 <Rugxulo> two things can co-exist peacefully
23:09:18 <AnMaster> (I doubt my wlan card runs x86 firmware)
23:09:24 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:09:37 <AnMaster> Rugxulo, I never said that, I think we should obsolete x86 completely
23:09:48 <Rugxulo> 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 <Rugxulo> x86 isn't bad enough to obsolete completely
23:10:42 <AnMaster> Rugxulo, I can't see any non-easily replaceable things around me except my ssh key and my gpg key :P
23:10:50 <Rugxulo> you may not prefer pure assembly for your own personal stuff, but it ain't that bad
23:11:18 <Rugxulo> which doesn't work with computed gotos (have you tested CFunge?)
23:11:26 <Rugxulo> WIP but works ... bootstraps itself
23:11:48 <Rugxulo> it has a lot of promise, just not perfect yet (lacking some GCC extensions some people have used too much)
23:12:14 <AnMaster> Rugxulo, also for C there are lots of other compilers, tcc and pcc for example
23:12:19 <AnMaster> a bit more sparse when it comes to C99
23:12:48 <Rugxulo> it has no 64-bit support, so I guess you wouldn't ;-)
23:12:50 <AnMaster> Rugxulo, mostly because I prefer protected memory or something
23:13:09 <Rugxulo> (re: dev86, I assume, since OW supports pmode, even Linux)
23:13:21 <AnMaster> Rugxulo, you know, I coded for stuff more limited than an 8088
23:13:51 <AnMaster> PIC12F629 unless I misremember
23:14:28 <AnMaster> Rugxulo, in asm, you can't do C when you have an accumulator machine with 1024 words program memory
23:14:51 <AnMaster> Rugxulo, but that is an embedded system
23:15:00 <Rugxulo> BTW, there exist 64-bit assembly programs too, as I guess you know
23:15:03 <AnMaster> Rugxulo, 8 legs, and two of those are used for vcc/gnd
23:15:12 <AnMaster> one was used for serial cable input
23:15:27 <AnMaster> Rugxulo, I know, I written some inline asm myself, non-temporal stores
23:15:41 <Rugxulo> you don't find GCC output a bit bloated? :-/
23:16:00 <AnMaster> with pure C fallbacks and so on
23:16:12 <AnMaster> I go for LISP or erlang most of the time
23:16:19 <Rugxulo> portability is good, no doubt
23:16:29 <AnMaster> Rugxulo, anyway, I had to use the remaining 5 legs to drive 12 leds
23:16:38 <Rugxulo> doesn't Erlang compile to C? (or is that Eiffel?? I forget...)
23:17:00 <fizzie> 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 <Rugxulo> have you seen those portable NES clone machines?
23:17:23 <AnMaster> 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:49 <AnMaster> was a once off access basically
23:18:58 <AnMaster> <Rugxulo> 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 <Rugxulo> I saw a NES clone portable for $30 on eBay (admittedly used, they seem to sell for $40-50 US new)
23:19:11 <AnMaster> erl give you a REPL running in BEAM
23:19:35 <AnMaster> Rugxulo, you don't mean a NES emulator do you?
23:19:36 <fizzie> Sparc has got those register windows, they're funky.
23:19:37 <Rugxulo> 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:47 <Rugxulo> no, a real NES (well, clone)
23:19:51 <AnMaster> fizzie, but the compiler handled that for me :P
23:20:10 <AnMaster> Rugxulo, not sure why I would want one
23:20:21 <Rugxulo> me either, just saying, it's cool that one exists
23:20:32 <Rugxulo> (finally dumb patents expired, and Nintendo hasn't made a NES since 1995)
23:20:49 <Rugxulo> Zelda 2 was pretty good, I thought, but tastes vary
23:20:50 <pikhq> There's been Famiclones for ages.
23:21:02 <Rugxulo> yeah, and Nintendo sued them ad nauseum for years
23:21:14 <pikhq> In those countries they could, yes.
23:21:26 <pikhq> Quite rampant in Asia and Eastern Europe.
23:21:34 <pikhq> ... And South America.
23:22:08 <Rugxulo> I always liked Ninja Gaiden (1,2,3) for NES
23:22:17 <Rugxulo> haven't played in years though (machine broke, doh)
23:22:42 <pikhq> Yeah, the NES is very well-emulated.
23:22:45 <Rugxulo> yeah, which Nintendo spread a lot of FUD about for years also (dummies)
23:23:11 <Rugxulo> I remember LoopyNes being quite fast (written in assembly) for DOS back in the day ;-)
23:23:14 <pikhq> AnMaster: "Emulators are illegal" they say.
23:23:15 <nooga> i can't enable networking in qemu
23:23:22 <nooga> so that gues OS has internet access
23:23:22 <pikhq> As well as "making backups".
23:23:29 <Rugxulo> what they say is basically, "Fair use copyright doesn't exist"
23:23:33 <pikhq> (both actions are perfectly legal. Explicitly so, even.)
23:24:11 <AnMaster> Rugxulo, that depends on the country
23:24:30 <pikhq> They claimed this in the US.
23:24:31 <Rugxulo> 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:52 <pikhq> Of course, these are the idiots that also felt that a Game Genie was illegal.
23:24:56 <Rugxulo> 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 <pikhq> *After losing the lawsuit against them because it was legal*.
23:25:49 <Rugxulo> these are the same people who "ported" their borked original (missing level 4) NES Donkey Kong to GBA
23:26:27 <Rugxulo> just seems dumb to whine about clones for a machine they haven't made in ages (1995)
23:26:43 <Rugxulo> as if buying used old-ass machines was any better
23:27:06 <Rugxulo> I mean they stopped in 1995
23:27:16 <pikhq> ... 2003 in Japan?
23:27:28 <coppro> pikhq: this sounds like Stephen Harper
23:27:31 <pikhq> *You could still buy a new Famicom in 2003*?
23:27:49 <Rugxulo> unlike the 7800, their SNES wasn't backwards compatible
23:28:00 <Rugxulo> (although 3rd-party adapter existed but expensive)
23:29:02 <coppro> (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 <Rugxulo> "correctly" is a bit of a stretch since there is no legal way to copy the games
23:29:34 <pikhq> Rugxulo: Yes there is.
23:29:35 <Rugxulo> they pretty much prevented fair use
23:29:49 <pikhq> You are perfectly entitled to create a copy of a real cartridge.
23:29:50 <Rugxulo> no, I think those ROM dumpers are illegal themselves (or used to be)
23:30:14 <pikhq> They are *explicitly* allowed by US copyright law.
23:30:24 <pikhq> Not just "kinda-sort fair use", *explicitly allowed*.
23:30:30 <Rugxulo> 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 <coppro> they do not claim that ROM dumps are illegal either
23:30:39 <Rugxulo> yes, I know it is allowed, but Nintendo doesn't think so!
23:30:44 <pikhq> coppro: They used to.
23:30:56 <pikhq> Like, I'm surprised they've *stopped*.
23:31:15 <pikhq> I know they still claimed it in the last Nintendo stuff I got (a GBA)
23:31:29 <Rugxulo> 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 <coppro> I'm looking at the website, I don't know about the inserts
23:32:32 <coppro> the language is pretty ambiguous, but does imply that backups are illegal
23:32:41 <coppro> (this from a Wii game manual)
23:33:10 <coppro> but arguably it could just be a claim that backup copies are 'unauthorized' and would thus void the warranty
23:33:25 <AnMaster> <Rugxulo> 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:56 <AnMaster> and what was that "heh, I'm not egotistical to think it was my doing" about?
23:34:05 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
23:34:11 <Rugxulo> because I thought my argument was fair
23:34:40 <AnMaster> Rugxulo, I doubt that caused it
23:34:41 <Rugxulo> "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 <fizzie> fungot: Say something relevant. Is the script I showed you illegal, for example?
23:34:46 <fungot> fizzie: our company may be a shinra uniform......
23:34:48 <Rugxulo> I know it didn't, I admit ;-)
23:35:11 <coppro> Hopefully the Canadian government will finally get smart and fully legalize format-shifting
23:35:26 <coppro> thus making emulations of ripped software legal
23:35:29 <AnMaster> I think I played the one with spoony bard in it
23:37:19 <fizzie> Edward (the sppoony bard) is from IV, not VI.
23:37:21 * Rugxulo was talking about the old, original FF1
23:37:27 <pikhq> fizzie: Oh, right. XD
23:37:29 <Rugxulo> not quite as impressive, that one ;-)
23:37:41 <fizzie> VI's the better one. :p
23:37:46 <pikhq> Rugxulo: Ah, the one that's short "plot". :P
23:37:53 <pikhq> fizzie: I have yet to play either.
23:38:02 <pikhq> Though FFVI is next on my "to play" queue.
23:38:02 <AnMaster> fizzie, looking at wikipedia it seems closer to the VI one from the screenshots
23:38:25 <AnMaster> http://en.wikipedia.org/wiki/File:WikibattleFF6.PNG <-- at least that one looks very familiar
23:38:37 <AnMaster> so maybe it wasn't spoony bard after all
23:38:57 <AnMaster> fizzie, but wasn't there some useless bard in VI too?
23:39:07 <pikhq> It must be said, the bard was, in fact, spoony.
23:39:39 <fizzie> I think that was in the FF4 DS remake.
23:39:57 <AnMaster> fizzie, which one was the useless char in FFVI then?
23:41:44 <fizzie> Well... there's the gambler. And that king.
23:41:56 <fizzie> They're not quite as spoony as the bard.
23:43:20 <fizzie> Oh, and the moogle, e's pretty useless.
23:44:24 <AnMaster> weren't there such in secret of mana too?
23:44:32 <AnMaster> hm different game world right?
23:45:23 <AnMaster> oh wikipedia says it is a spin-off
23:45:31 <fizzie> Moogles have spread a bit, I think.
23:45:43 <AnMaster> pikhq, spin-off says wikipedia though
23:46:01 <AnMaster> but yeah different game world, but even in the same series game worlds are inconsistent often
23:46:34 <fizzie> The FF worlds don't have that much to do with themselves between installments.
23:46:45 <AnMaster> did any two zelda game share a similar looking world map. I mean the relative placement of the landmarks and such
23:47:07 <coppro> The newer games have tended to vaguely fit the same shape
23:47:20 <AnMaster> at least secret of mana had a nicer combat system than FFVI did
23:47:24 <fizzie> 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 <AnMaster> not sure about the other FF series
23:47:36 <AnMaster> but FFVI had a very annoying combat system
23:47:47 <coppro> there seem to be two competing layouts for Hyrule
23:48:07 <coppro> I'm only counting ones that I can think of being in multiple games
23:48:22 <coppro> the OoT layout and the LttP layout
23:48:38 <AnMaster> coppro, other games had yet other ones iirc?
23:48:47 <Rugxulo> how many Zeldas are there? too many to remember, I think
23:49:07 <AnMaster> to be fair, at least two of the zelda games takes place outside Hyrule
23:49:19 <AnMaster> majora's mask and links awakening
23:49:31 <AnMaster> coppro, which are the remaining ones?
23:49:41 <coppro> Both Oracle games and both DS games
23:49:50 <AnMaster> coppro, what are the DS ones called
23:49:59 <coppro> Phantom Hourglass and Spirit Tracks
23:50:18 <coppro> Wind Waker has Hyrule underwater too
23:50:42 <coppro> dunno about Minish Cap's map; never played it
23:50:48 <Rugxulo> http://en.wikipedia.org/wiki/The_Legend_of_Zelda
23:50:59 <coppro> yeah, Zeldapedia counts 15 released main-series games
23:51:16 <Rugxulo> I guess that includes the (allegedly horrible) CD-i versions?
23:51:22 <AnMaster> anyway, which combat system do you prefer: that of FFVI or that of Secret of Mana?
23:51:38 <pikhq> Rugxulo: No such games.
23:53:15 <Rugxulo> http://en.wikipedia.org/wiki/CD-i_games_from_The_Legend_of_Zelda_series
23:53:17 <coppro> looking at a picture of Minish Cap's world map, it seems to have a different one
23:53:58 <pikhq> Rugxulo: It's called "discontinuity", not "ignorance of the existence".
23:54:32 <fungot> Selected style: ct (Chrono Trigger game script)
23:54:34 <fizzie> fungot: The sword, alone...?
23:54:34 <fungot> 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 <fizzie> (Was hoping for "can't stop" there.)
23:55:30 <AnMaster> fungot, now do what fizzie told you to
23:55:30 <fungot> 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 <AnMaster> fungot, almost, you had "sword" there but not the rest
23:55:51 <fungot> 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:56:00 <fungot> 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> 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:45 <fizzie> Lots of exclamation marks though.
23:58:04 -!- cheater3 has joined.