←2009-11-13 2009-11-14 2009-11-15→ ↑2009 ↑all
00:03:11 <ehird> mycroftiv: well, he's right
00:03:22 <ehird> look at perl — it does everything in one bag
00:03:25 <ehird> no separated tools
00:04:37 <mycroftiv> right, im just not sure if he meant that he was convinced by perl that was an OK approach, or if he was just bowing to the inevitable
00:05:39 -!- oerjan has quit ("Good night").
00:05:56 <ehird> mycroftiv: aren't they identical to a cynic?
00:06:35 <mycroftiv> sure but i dont know where pike is exactly on the cynicism vs design purity continuum
00:07:38 <ehird> Who knows.
00:07:41 <ehird> You can be on both.
00:08:29 <ehird> mycroftiv: liking go, btw?
00:08:30 <mycroftiv> being a purist certainly can lead to cynicism
00:08:50 <mycroftiv> yeah very much, to me it seems obvious that its 'better' than c++ or java as an attempt to extend C
00:09:27 <ehird> I'm most interested in it for three things: shiny new language, let's find a niche!; could this be better than C for applications programming?; could this be better than rc for the things rc is good for?
00:10:04 <mycroftiv> the message passing/synchronization stuff between chans is really great, pretty similar to limbo in that regard
00:11:24 <ehird> a lot of the ideas it has a similar to ones i've had but that required taking a stand on some issue of e.g. syntax or semantics as a tradeoff but one of little importance — solving all those for me in something with backing is great
00:11:36 <ehird> just as a sort of "shut the hell up and use this"
00:11:49 <ehird> that iota shit though? hack hack HACK
00:12:15 <mycroftiv> theres still a lot of stuff in go i havent really assimilated yet
00:14:07 <mycroftiv> my project is porting a linux client for a 9p fs i wrote
00:14:38 <mycroftiv> so ive mostly just been learning how to translate C basics
00:15:22 <ehird> Translation is always a bad idea.
00:15:26 -!- Rugxulo has joined.
00:15:34 <ehird> Grok the language, read the concepts of your previous program, and write a new one with the same concepts.
00:15:53 <mycroftiv> well, its nice to have a bit of instant gratification though
00:16:09 <ehird> Don't you have your C program already?
00:16:26 <mycroftiv> in plan 9, i never ported it to *nix, although thats basically trivial
00:16:57 * Rugxulo just download TinyRB (tiny Ruby clone), laughing at the irony of the 750k configure script
00:17:08 <mycroftiv> id been meaning to do it anyway, so doing it in go seemed like an ok two-birds-one-stone concept, it doesnt prevent me from doing better projects tomorrow or next week
00:18:00 <ehird> [[Variables can be initialized just like constants but the initializer can be a general expression computed at run time.]]
00:18:00 <ehird> About fucking time!
00:18:08 <ehird> Rugxulo: So how's your 1 MB disk doing
00:18:21 <Rugxulo> :-)
00:18:26 <ehird> Also, that's not irony.
00:18:33 <ehird> The main Ruby configure script is about that big too.
00:18:36 <ehird> So it's not ironic.
00:18:41 <ehird> It'd be ironic if Ruby's configure was smaller.
00:19:09 * Rugxulo doesn't have main Ruby onhand to check its configure size
00:19:23 <ehird> It's almost certainly larger
00:19:30 * SimonRC wonders if anyone here has read the source of ed.
00:19:31 <ehird> More support for stuff, you know, that stuff you like
00:19:33 <ehird> Like old things
00:19:34 <ehird> SimonRC: which ed
00:19:35 <Rugxulo> if they upgrade to 2.64, it'll shrink a lot (shell functions)
00:19:46 <SimonRC> ehird: the editor
00:19:56 <ehird> Caldera Unix ed, modern SysV derivative ed, BSD ed, GNU ed, Heirloom ed, ...?
00:20:00 <ehird> BusyBox ed?
00:20:36 * ehird wonders where to put GOROOT in his system design. Maybe /opt/go.
00:20:41 <ehird> (with GOBIN=/bin)
00:20:48 <ehird> Maybe /lib/go...
00:20:54 * Sgeo vaguely wishes that there was a Firefox theme for Chrome
00:21:03 <ehird> (not /share/go, though.)
00:21:10 <ehird> And not /bin/go.
00:21:27 <ehird> Sgeo: Why?
00:21:31 <ehird> The Chrome UI is wonderful.
00:21:41 <SimonRC> ah, dunno which ed
00:21:45 <SimonRC> nvm
00:21:51 <ehird> SimonRC: why did you ask?
00:22:23 -!- sebbu has joined.
00:22:26 <Sgeo> So that I won't keep wondering if the Chrome UI is the reason I'm not doing any work for this project, because I'm not used to it
00:22:33 <Sgeo> I mean, it's an insane thought, but still
00:22:34 <SimonRC> I'd heard it was quite OO, based on streams and stuff
00:22:42 <ehird> SimonRC: weird
00:22:46 <SimonRC> but I don't know which version I was reading about
00:22:59 <SimonRC> ehird: leads to compact code apparently
00:23:20 <ehird> what do you mean by oo in this case
00:24:29 <SimonRC> IIRC, each source or sink or filter of data had a couple of "methods" (function pointers) that specified how to read from or write to it
00:24:46 <SimonRC> I can't recall much more than that
00:25:31 <Rugxulo> Autoconf 2.61, go figure
00:26:21 <Rugxulo> ehird, did you guys make any progress on ick? or AnMaster?
00:26:34 <ehird> on pdp11 unix v7?
00:26:35 * Rugxulo read the logs, didn't tell everything
00:26:37 <ehird> that was ais523
00:26:40 <ehird> AnMaster is doing macos9
00:26:44 <Rugxulo> I know
00:26:44 <ehird> unix v7 hasn't been done yet
00:26:49 <ehird> i think macos9 ran into a blocker for now
00:26:49 <Rugxulo> I mean, did it ever work?
00:26:59 <AnMaster> Rugxulo, yes some. Atm the emulator keeps crashing a lot. Works better on a real mac
00:27:06 <AnMaster> Rugxulo, going to continue tomorrow, need sleep soon
00:27:21 <AnMaster> Rugxulo, but several of the tools builds. Haven't got around to ick itself yet
00:27:31 <Rugxulo> yeah, you're way the heck over seas (different time zone), it's not very late here (6pm)
00:27:38 <Rugxulo> good luck~
00:27:39 <Rugxulo> !
00:28:04 <Rugxulo> BTW, ehird, I think I've told you before, Ardi's Exectuor is a (non-Mac ROM using) emulator
00:28:17 <ehird> it sucks though
00:28:19 <AnMaster> Rugxulo, I'm afraid it won't build fully under sheepshaver.
00:28:43 <ehird> hmm...
00:28:43 <ehird> /opt/go/src/cmd/goyacc
00:28:43 <ehird> /lib/go/src/cmd/goyacc
00:28:44 <ehird> here /lib wins, but in
00:28:44 <ehird> /opt/go/lib/lib9.a
00:28:44 <ehird> /lib/go/lib/lib9.a
00:28:45 <ehird> /opt wins for the lack of repetition
00:28:46 <AnMaster> as for basiliskII, I have been unable to do any sort of building with 68k at all
00:28:56 <ehird> /lib, though, has the advantage of meaning I don't need another dir in / (opt)
00:29:19 <AnMaster> ehird, use some under /lib and some under /opt?
00:29:35 <AnMaster> ehird, but why under /lib? That is for stuff like libc and other core stuff
00:29:45 <AnMaster> /usr/lib for stuff after /usr is mounted
00:29:47 <ehird> No it isn't, it's for libraries.
00:29:50 <ehird> There is no /usr.
00:29:58 <AnMaster> ehird, oh your distro?
00:30:01 <ehird> Yes.
00:30:08 <AnMaster> I just came to hate it. I liked it before
00:30:12 <AnMaster> but not any more
00:30:16 <ehird> I don't actually, you know — give a shit.
00:31:32 <Rugxulo> AnMaster, how much RAM does your real Mac have?
00:31:43 <Rugxulo> or are you just doing this for Macs in general (e.g. emulated)?
00:31:50 <AnMaster> Rugxulo, 64 MB
00:32:07 <Rugxulo> hmmm, might not be enough to run DOSBox ;-)
00:32:11 <AnMaster> Rugxulo, it's a first model ibook
00:32:17 <AnMaster> Rugxulo, I wouldn't be interested in that
00:32:32 <AnMaster> Rugxulo, it ran virtualpc before. Good question "how"
00:32:36 <Rugxulo> I know, but Ick works there, so ... hey, I just figured it wasn't the totally worst idea ;-)
00:33:05 <AnMaster> Rugxulo, anyway my sheepshaver instance on my thinkpad has 512 MB allocated
00:33:35 * Rugxulo really hates super duper long *nix commandlines when compiling ...
00:33:59 -!- sebbu2 has quit (Read error: 60 (Operation timed out)).
00:34:01 <ehird> That's autohell's fault.
00:34:10 <Rugxulo> PACKAGE_TARNAME, PACKAGE_BUGREPORT, PACKAGE_VERSION, do those all have to be defined on the cmdline each time???
00:34:28 <AnMaster> Rugxulo, um they are in config.h
00:34:28 <ehird> Yes.
00:34:29 <Rugxulo> so ugly ... and they hate DOS (heh), is *that* irony??
00:34:30 <ehird> Because make is shit.
00:34:36 <ehird> No it's not irony.
00:34:37 <Rugxulo> AnMaster, apparently not ;-)
00:34:42 <AnMaster> Rugxulo, what package?
00:34:46 <AnMaster> for ick they are
00:34:47 <Rugxulo> Tiny Ruby
00:34:47 <ehird> Please look up the meaning of the word irony. Also, ;-) makes you look really annoying.
00:34:49 <Rugxulo> aka, TinyRB
00:34:57 <AnMaster> Rugxulo, well then it doesn't use config.h
00:35:01 <Rugxulo> ehird, I am annoying, deal with it
00:35:08 <ehird> Rugxulo: no.
00:35:23 <Rugxulo> BTW, seriously ... I'm convinced now that you are some uber genius / child prodigy based upon your crazy knowledge but really young age
00:35:33 <AnMaster> Rugxulo, if you can find out how to build a shared library under MPW tell me
00:35:46 <ehird> By the age of 20 I will have conquered the world and my first move will be to outlaw DOS.
00:35:49 <Rugxulo> unlikely, sorry
00:35:51 <ehird> ARE YOU SO SURE ABOUT THAT NOW
00:36:13 <Rugxulo> I did say "crazy knowledge" ;-) (crazy)
00:36:14 <ehird> hmm... does sed have an insert?
00:36:16 <Rugxulo> yes
00:36:17 <ehird> other than s//foo/
00:36:21 <Rugxulo> yes
00:36:27 <ehird> what is it :P
00:36:28 <Rugxulo> sed is basically a fork of ed
00:36:30 <Rugxulo> i\
00:36:43 <ehird> do you have to use newlines? :/
00:36:54 <ehird> ah, no
00:36:59 <Rugxulo> I don't think so, but honestly I avoid i\ because some (old) seds don't handle it perfectly
00:37:11 <ehird> $ seq 1000000 | sed 'd;i a'
00:37:11 <ehird> sed: 1: "d;i a": command i expects \ followed by text
00:37:12 <ehird> $ seq 1000000 | sed 'd;i\a'
00:37:12 <ehird> sed: 1: "d;i\a": extra characters after \ at the end of i command
00:37:13 <Rugxulo> (GNU sed is just very slow comparatively, even if superior)
00:37:16 <ehird> *look of disapproval*
00:37:46 <Rugxulo> which sed?
00:37:50 <ehird> gnu sed
00:37:55 <ehird> also, oops
00:37:58 <ehird> that won't work cuz of d ofc
00:38:09 <Rugxulo> read the Info doc then, it should give examples
00:38:59 <ehird> heh
00:39:52 * ehird waits for sed to do the gruelling task of doing one million replaces
00:39:57 <ehird> or seq to print out one million things, i guess
00:40:14 <Rugxulo> sed works a line at a time, so it's fairly slow
00:40:17 <ehird> i don't care how big the binaries are on disk... processing one million numbers like that with a regexp is NOT hard shit
00:40:24 <ehird> this could be done in a second or two
00:40:33 <Rugxulo> ed (traditionally) reads the whole file into memory, so it's not as efficient for large files but is probably faster
00:40:35 <ehird> this is two thousand and fucking nine!
00:40:40 <ehird> yay it finished
00:40:47 <Rugxulo> oh, and BTW
00:40:52 <ehird> $ wc -l gorpn.go
00:40:52 <ehird> 1000004 gorpn.go
00:40:55 <Rugxulo> 1,$ does replacement on every line (for ed)
00:40:57 <ehird> LET'S SEE HOW FAST YOU REALLY ARE, FEEBLE COMPILER
00:41:00 <Rugxulo> sometimes % is aliased to 1,$ too
00:41:27 <ehird> Well, I can certainly notice THIS compile time :P
00:41:32 <Rugxulo> not needed in sed as it always does one line at a time
00:41:46 <Rugxulo> not fast?
00:41:59 <ehird> Let's try 100,000 lines instead
00:42:08 <ehird> Rugxulo: it can compile 100k codebases in seconds — it's *fast*
00:42:20 <Rugxulo> I know that, but you're saying it's not true in your current experience??
00:42:24 <ehird> but methinks 1 million junk lines as one unit... not practical
00:42:43 <ehird> I can't fault the compiler for this one, really :P
00:43:30 <Rugxulo> bah, TinyRB doesn't seem to build correctly, oh well
00:43:51 <Rugxulo> it's not like regular Ruby is so huge either
00:43:58 <Rugxulo> (comparatively)
00:44:14 <ehird> also, 1,$ is the same as , no?
00:44:33 <Rugxulo> and even it has something called "miniruby" used to build the final "ruby"
00:44:35 <ehird> also, this ed doesn't have -e
00:44:35 <ehird> grr
00:44:38 <Rugxulo> dunno, but I know % typically is
00:45:28 <Sgeo> When will Go be renamed?
00:45:36 <ehird> Mu.
00:47:40 <Rugxulo> when will Sgeo be renamed? :->
00:47:52 -!- Sgeo has changed nick to sgeo.
00:47:54 <sgeo> now?
00:47:55 <ehird> C was hard to search for once upon a time too
00:48:08 <ehird> and unix? eunuchs? These guys value puns and conciseness... nothing else.
00:48:10 <sgeo> ehird, it's not just searchability. There's already a Go!
00:48:28 <ehird> Yes, and its author is a whining bitch on the Go issue tracker, and nobody uses his.
00:48:38 <ehird> And he can't claim the right over a short English word as a name.
00:48:45 <ehird> Especially if he has an exclamation mark after it and they don't.
00:49:01 <sgeo> Maybe no one uses it, but it's referenced in papers, iirc. Maybe Go! should be renamed to "Academic Go"?
00:49:10 <ehird> Nobody really cares.
00:50:18 <Rugxulo> I agree, it's not worth complaining about
00:50:22 <Rugxulo> "go" is too common
00:50:37 * Rugxulo supports ehird for president
00:50:51 <Rugxulo> ... until the DOS outlawing, of course ;-)
00:50:56 <sgeo> Who uses Firebird?
00:51:02 <ehird> Many.
00:52:56 * sgeo goes to try a new game
00:54:15 <augur> ehird!
00:54:17 <augur> hey
00:54:20 <ehird> yo
00:56:07 * Rugxulo wonders if TinyPy compiles ...
00:56:17 <ehird> What OS?
00:56:32 <Rugxulo> who, me?
00:56:42 <ehird> Yes.
00:56:46 <Rugxulo> XP using DJGPP ;-)
00:57:20 <Rugxulo> wow, one whole file in /examples (julia.py)
00:57:52 <Rugxulo> doh, depends on Python for bootstrapping
00:57:57 <Rugxulo> (have it but not installed)
01:05:27 -!- clog has joined.
01:05:27 -!- clog_ has joined.
01:10:29 <Rugxulo> bah, TinyPY no dice either
01:10:36 * Rugxulo limps off to play Quake instead ...
01:11:57 <ehird> what failed
01:12:17 <Rugxulo> something to do with "struct stat stbuf" (couldn't figure out size or whatever)
01:13:23 -!- sebbu2 has joined.
01:20:37 -!- clog has quit (Read error: 110 (Connection timed out)).
01:20:37 -!- clog_ has changed nick to clog.
01:26:17 * SimonRC goes to bed
01:28:08 <Rugxulo> omg, he said "go"
01:28:13 <Rugxulo> ;-)
01:28:36 -!- sebbu has quit (Read error: 110 (Connection timed out)).
01:28:37 -!- sebbu2 has changed nick to sebbu.
01:28:38 <Rugxulo> it should be "issue #9's to bed"
01:33:52 -!- puzzlet_ has quit (Remote closed the connection).
01:34:04 -!- puzzlet has joined.
01:40:18 <pikhq> ehird: Any news on your distro?
01:41:11 <ehird> the design is resisting my mental prods attempting to change it, which is a good indicator it's solid. implementation is waiting on hardware, so, within a month or two perhaps I'll be hacking something up
01:41:29 <pikhq> Any reason for needing real hardware?
01:41:44 <ehird> let's say something you can use as your daily driver (as long as you have contact with me at a pinch) by... may 2010? optimistically
01:42:06 <ehird> pikhq: practicality — VMs are platonic in a way that probably won't lead to good results on real hardware
01:42:19 <ehird> but honestly? I just don't feel like the OS X chrome would inspire me to make something good
01:43:18 <pikhq> ehird: Fair enough.
01:43:28 <pikhq> I'll have to check it out, at the very least.
01:45:16 <ehird> thankfully i don't have to go to any great effort to get an installer... it'll just be "tell package manager to install whatever root package I decide into /mnt/sys" plus a dab of configuration
01:47:06 <pikhq> Yeah, the installer should be about as complex as Gentoo's.
01:47:21 <pikhq> (read: LiveCD that has tar and chroot)
01:48:03 <ehird> And the package manager.
01:48:07 <ehird> chroot not required, actually.
01:48:24 <ehird> Just a netinstall (= run the package manager) with PKGROOT=/mnt/sys or whatever.
01:48:35 <ehird> Plus quick config, and the lilo install.
01:48:49 <ehird> (If you want to keep GRUB around for your existing stuff, just install lilo to a partition and make grub chainload it.)
01:49:07 <pikhq> Gentoo uses the chroot because it makes it a bit simpler to install packages from there.
01:49:27 <pikhq> (the tarball doesn't have things like "a bootloader" or "Linux"; you have to emerge them.)
01:49:59 <ehird> No tarball in mine, since it'll just have a little system w/ the package manager on the CD itself.
01:50:08 <ehird> Although really, CD? Get a USB stick, you bum :P
01:50:27 <pikhq> I've got 4 in here *somewhere*.
01:50:37 <pikhq> Just... Buried.
01:50:43 <ehird> LIVE FLOPPY
01:50:48 <ehird> Displays an ASCII tux on boot
01:54:38 <Rugxulo> ;-)
01:56:51 <ehird> what's the make incantation to append to a previous rule?
01:57:37 <Rugxulo> dunno
01:57:52 <ehird> helpful information, Rugxulo.
01:58:16 <Rugxulo> well, sometimes I find being ignored worse than no help :-P
01:59:03 <ehird> ugh, it's ::
01:59:06 <ehird> but the other one has to be :: too
01:59:07 <ehird> >_<
01:59:25 <Rugxulo> honestly, makefiles are quite ugly, no wonder there are so many alternatives nowadays
01:59:31 <ehird> aha
01:59:32 <ehird> clean: clean2
01:59:32 <ehird> clean2:
01:59:32 <ehird> rm -f *.y
01:59:36 <ehird> Rugxulo: they suck more.
01:59:38 <ehird> apart from mk(1)
01:59:43 <ehird> which is just an improved make
01:59:48 <Rugxulo> depends on what you want to do
01:59:52 <ehird> nope
02:00:13 <Rugxulo> cons, scons, cmake, cbuild, makepp, etc.
02:00:28 <ehird> sucks, sucks, sucks, sucks, sucks
02:03:53 <ehird> http://pastebin.ca/raw/1670742
02:03:57 <ehird> that was easy
02:04:16 <ehird> just five lines (six including the unneeded separator newline :P) to add goyacc support cleanly to the go makefiles without editing them
02:15:34 <pikhq> Cons sucks, scons sucks, cmake uses Make, cbuild appears to suck, makepp suffers from most of the same flaws as does Make...
02:16:01 <Rugxulo> cbuild isn't bad unless you want to do really complex stuff
02:16:21 <Rugxulo> Waf, I think that was the improved Scons variant
02:16:24 <ehird> cmake takes make and makes it suck more — truly astonishing
02:16:37 <Rugxulo> some people swear by cmake, dunno really
02:16:38 <ehird> waf is useless to actually get things done, and it isn't a fork of scons
02:16:48 <ehird> It doesn't do enough for you and the syntax is awkward
02:17:06 <Rugxulo> all syntax is awkward
02:17:20 <ehird> A useless, false statement that adds nothing. 'grats
02:17:37 <Rugxulo> False, now there's a "real" language ;-)
02:17:48 <Rugxulo> "true", even ;-)
02:18:31 <ehird> I like how the build system for most Go programs is just a few lines, only two of which you ever need to change...
02:18:34 <ehird> TARG=gobf
02:18:34 <ehird> GOFILES=gobf.go
02:18:34 <ehird>
02:18:34 <ehird> include $(GOROOT)/src/Make.$(GOARCH)
02:18:35 <ehird> include $(GOROOT)/src/Make.cmd
02:18:57 <Rugxulo> doesn't *BSD already do something similar?
02:19:08 <ehird> You change TARG= to the name of your executable, GOFILES= to the filenames of your sources, separated by spaces... and you get "make" and "make clean" working, and cross-compiling is just "make GOARCH=arm"
02:19:14 <ehird> oh, and make install, you get that too
02:19:32 <ehird> "make install GOBIN=/foo/bin" installs to /foo/bin instead (it just installs the binary, you could add stuff to the install target yourself if you want)
02:19:40 <ehird> Rugxulo: quite similar
02:19:43 <ehird> but just for the BSD trees themselves
02:19:48 <ehird> plan 9 does it too for all programs
02:19:53 <ehird> and go IS by the plan 9 guys...
02:20:05 <ehird> the downside is that with go you need to have a few env variables
02:20:23 <ehird> $ env | grep ^GO
02:20:23 <ehird> GOARCH=amd64
02:20:23 <ehird> GOBIN=/Users/ehird/go/bin
02:20:24 <ehird> GOMAXPROCS=2
02:20:24 <ehird> GOROOT=/Users/ehird/go
02:20:24 <ehird> GOOS=darwin
02:20:34 <ehird> so, 5 vars
02:20:43 <ehird> it's not perfect, but then it's not really a problem either
02:21:03 <ehird> you can omit GOBIN if you're ok with ~/bin, GOMAXPROCS if you don't want multi-cpu stuff (this is stupid though)
02:21:15 <pikhq> ehird: Cmake attempts to make autoconf and automake suck less. In this goal, it will of *course* suck more than make.
02:21:28 <ehird> Yes, but it USES make to make something WORSE than make.
02:21:42 <ehird> Normally any attempts to make make suck more just fail; it's always at its worst.
02:21:50 <ehird> autotools manages it, sure... but cmake manages it even more.
02:22:23 <ehird> GOROOT=/opt/go
02:22:23 <ehird> GOBIN=/bin
02:22:23 <ehird> GOARCH=386
02:22:24 <ehird> GOOS=linux
02:22:24 <ehird> GOMAXROCS=(number of cpus on the system)
02:22:24 <ehird> — distro :-P
02:22:25 * pikhq notes that there is no such thing as a good build system.
02:22:27 <ehird> *GOMAXPROCS
02:22:54 <ehird> Eh, I haven't had any issues with Go's so far. Admittedly it achieves that by being so fast that dependencies just... don't matter.
02:23:09 <ehird> If your large project compiles in three seconds... who cares if it's all in one rule?
02:27:00 <ehird> By the way, if anyone has an old box to donate that'd speed up distro development :-P
02:31:14 * Rugxulo sends ehird a UNIVAC
02:31:26 * Rugxulo sends ehird an Altair
02:31:30 * Rugxulo sends ehird an Honeywell
02:31:30 <ehird> no.
02:33:15 <Rugxulo> seriously, even if I had something, it'd cost more to ship over there than it's worth :-P
02:33:41 * Rugxulo paddles across the Atlantic just to brind ehird his 486 ...
02:35:45 * pikhq sends ehird the Bombe
02:35:54 <ehird> Tsar Bomba
02:36:00 * Rugxulo sends GAME.COM
02:36:09 * Rugxulo sends Game&Watch
02:36:45 * Rugxulo sends a VIC-20 ;-)
02:36:52 <Rugxulo> enjoy those oodles of RAM :-D
02:37:27 * Rugxulo would actually almost enjoy writing a Befunge93 interpreter for a VIC-20 ... if he knew how (and had one)
02:39:29 <Gregor> `google "vic-20" emulator
02:39:32 <HackEgo> You can now write VIC-20 games on your PC using this complier and test them immediately on any emulator. You can even design your graphics on your favourite ... \ www.kdef.com/geek/vic/ - [13]Cached - [14]Similar
02:39:50 <Rugxulo> I know, VICE (even runs in DOS) ... still, I have no experience
02:40:22 <ehird> the asm is pretty simple
02:40:32 * Rugxulo is struggling with Befunge98 ... apparently 3k$ doesn't work like he expects (i.e. at all)
02:43:57 <Rugxulo> for some reason, it seems 1k$ pops two values off the stack
02:44:10 <ehird> k is the unintuitive one
02:44:25 <ehird> k does that many MORE
02:44:31 <ehird> i.e. afterwards it goes on to the instruction you were king
02:44:35 <ehird> after doing all the repeats
02:44:46 <ehird> you can understand the fun and hilarity caused by mixing k and #.
02:44:54 <ehird> or rather, no, you can't understand it
02:44:57 * Rugxulo is confused
02:44:58 <Rugxulo> "abc"1k$,@
02:45:02 <Rugxulo> prints 'a' for instance
02:45:05 <Rugxulo> why?
02:45:24 <Rugxulo> or are you saying, "it does ... then loops n times"
02:45:26 <Rugxulo> ?
02:45:44 <Rugxulo> must be, since CCBI and FBBI both behave identically
02:46:15 <ehird> k, I believe, means "run the next instruction n times"
02:46:24 <ehird> we can see that if n=1, "run the next instruction 1 time", it executes
02:46:28 <ehird> then we go on to the next instruction
02:46:30 <ehird> which is that instruction
02:46:32 <ehird> so it runs again
02:46:35 <ehird> so 1kX runs X twice
02:46:42 <Rugxulo> odd but apparently true
02:46:49 <ehird> it may not even be intentional.
02:47:10 <Rugxulo> well, CCBI also mimics it, so ...
02:47:15 <Rugxulo> anyways, voila! I have done it!
02:47:23 <Rugxulo> (mild imaginary applause)
02:47:34 <Rugxulo> a program that tells you whether run as Befunge 93, 96, 97, or 98
02:47:35 <Rugxulo> :-)
02:47:50 <ehird> what about 109??????????????????
02:47:52 <ehird> haha only joking.
02:47:57 <ehird> do show it
02:48:00 <Rugxulo> not done (or so I heard)
02:48:03 <Rugxulo> of course ;-)
02:48:23 <ehird> 109 isn't an official standard anyway.
02:49:04 <Rugxulo> tested on various 93 interpreters, MTFI for 96 and 97 (are there others for those??? doubt it ...), and CCBI and FBBI for 98
02:49:19 <Rugxulo> 1" "/#v_"8879">,1k$>,@
02:49:21 <Rugxulo> ;$R z 3
02:49:22 <ehird> I'm really digging this trackball
02:49:23 <Rugxulo> >0"39",z+ ^
02:49:24 * Rugxulo bows
02:49:28 <ehird> I'm pretty good at it after only a day
02:49:30 <ehird> Rugxulo: pretty
02:49:41 <Rugxulo> enjoy, oh esoteric kings of mastery!
02:50:02 <Rugxulo> dedicated to thee and thine dedication to all arts odd ;-)
02:53:06 <Rugxulo> (note that it's two spaces in between quotes)
02:53:35 <Rugxulo> oops, forgot to test Interfunge :-)
02:54:16 <Rugxulo> err ... it obviously doesn't handle it, heh (understatement)
02:57:36 <ehird> ever poised to write a program then you realise
02:57:41 <ehird> i have no programs to give to the world?
02:59:04 <Rugxulo> nah, there's always some idea (even if crazy or super trivial)
02:59:29 <ehird> ok, but slightly sleep deprived and lazy——
02:59:34 <ehird> think I'm gonna eat that food
02:59:36 <ehird> would help
02:59:55 <ehird> I must engineer myself to need less sleep sometime
03:00:16 <Rugxulo> heh, sleep is good for problem solving, though ;-)
03:00:40 <ehird> like, say, be able to function normally for 3 days with vastly reduced sleep, and then be out for about 24 hours
03:00:45 <ehird> I'd like thaht
03:00:46 <ehird> *that
03:01:00 <ehird> I both love staying in bed once I'm in there, and not going to bed when I'm not
03:01:47 <Rugxulo> join the club ;-)
03:02:05 <ehird> ah, but I'm crazy enough to try and devise a schedule where that is actually possible
03:02:21 <ehird> it's all chemistry
03:04:09 <Rugxulo> well, the body has its own internal clock, hence they suggest sleeping on a normal schedule for best results
03:04:15 <Rugxulo> and exercise helps too (or so I'm told, heh)
03:04:31 <Rugxulo> too much caffeine can hurt too, but a little is okay
03:04:46 <ehird> The circadian rhythm is important, but there are alternate schedules that work fine with it
03:05:09 <ehird> Uberman is roughly the point at where things are hardcore enough that it seems the body just gives up on the circadian rhythm.
03:05:26 <ehird> So it's not an insurmountable problem.
03:05:50 <Rugxulo> no, but rest is beneficial, sometimes more beneficial than higher quantities of work
03:06:00 <Rugxulo> don't work harder, work smarter
03:06:52 <ehird> Uberman delivers rest.
03:07:32 <ehird> I am talking with the knowledge of the experiences of seasoned Uberman practitioners... they are extraordinarily well-rested and productive on very little sleep, and the circadian rhythm appears to just drop out.
03:07:39 <ehird> It's not less rest; it's restructured rest.
03:08:02 <ehird> The disadvantages being who knows what it does long-term, and also it means you have to sleep every four hours.
03:14:54 <ehird> pikhq: A guy in #go-nuts just directly portrayed a false dichotomy between pkg-config and autotools.
03:14:57 <ehird> pikhq: Therapy please?
03:15:25 <ehird> [03:14] Amaranth: ehird: Well the other choice is for every package to require env variables :)
03:15:28 <ehird> Ding ding ding!
03:15:30 <ehird> False trichotomy.
03:18:33 <pikhq> ehird: ... So. Much. Wrong.
03:19:02 <pikhq> Pkg-config essentially replaces *libtool*...
03:19:28 <pikhq> And... That third line is WTF?
03:19:52 <ehird> LET'S BE SAD ^_^
03:26:42 -!- puzzlet has quit (Remote closed the connection).
03:26:46 -!- puzzlet has joined.
03:26:51 -!- Rugxulo has quit ("gxis revido").
03:29:42 <ehird> Anyone crazy enough to want to restructure the Go documentation as manpages with me?
03:29:46 <ehird> Didn't think so.
03:38:07 <ehird> Y'all suck :P
04:06:28 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.4/20091027080938]").
04:28:45 -!- immibis has joined.
04:34:36 <ehird> hmm
04:54:04 * ehird comes up with some little ideas for VCS backends
04:54:52 -!- Asztal has left (?).
05:07:36 <ehird> hey, I could implement this VCS in Go!
05:44:03 <ehird> hmm
05:59:30 <ehird> hmmmmmmmmmmmmmmmmmm
06:00:22 <immibis> hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
06:00:23 <ehird> I think it's too complicated language! I think the easiest is Visual Basic .NET
06:00:24 <ehird> —comment on a blog post on go
06:00:56 <ehird> "Its not different its like Java, python is more easier than of it :D"
06:03:47 -!- sgeo has quit (Read error: 104 (Connection reset by peer)).
06:03:48 -!- ehird_ has joined.
06:04:34 -!- ehird__ has joined.
06:11:16 -!- ehird_ has quit (Read error: 60 (Operation timed out)).
06:19:56 -!- ehird has quit (Read error: 110 (Connection timed out)).
06:19:56 -!- ehird__ has changed nick to ehird.
07:52:10 <ehird> AnMaster: what was that minimalist pastebin you liked?
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:58 -!- asiekierka has joined.
08:18:59 <asiekierka> *BAM*
08:19:21 <asiekierka> i should make a new esolang
08:19:58 <ehird> noooooooooooooooooo
08:35:55 -!- coppro has joined.
08:37:33 <asiekierka> why noooooooooooooooooot
08:57:53 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091105041559]").
08:58:24 <coppro> becaaaaaaaaaaaaaaaaaaaaaaause
09:13:25 <asiekierka> coppro.message[1].amount[a] != asiekierka.message[3].amount[o]
09:23:14 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
09:25:33 -!- puzzlet has joined.
09:56:34 <ehird> I think I'm going to write goreutils!
09:56:46 <ehird> It's like coreutils, except without the bloat and also written in Go.
09:56:51 <ehird> This is not a large undertaking WHATSOEVER
09:57:06 <coppro> ehird: and the resulting binaries only run in the runtime environment
09:57:16 <ehird> Oh no, a GC!
09:57:18 <ehird> The sky is falling!
09:57:21 <ehird> C++ has a runtime too, weenie.
09:57:25 <Pthing> ehird
09:57:31 <Pthing> what is the deal with go exactly
09:57:42 <Pthing> i watched the google video for it and came away with like
09:57:50 <Pthing> a significant feeling of not knowing what the fuck
09:57:59 <AnMaster> <ehird> AnMaster: what was that minimalist pastebin you liked? <-- do you mean http://sprunge.us/ ?
09:58:24 <coppro> ehird: did I say it didn't?
09:58:27 <Slereah_> Pthing
09:58:29 <ehird> Pthing: it's from the people who made unix, c, and plan 9. the compiler is well engineered and _extremely_ fast. it's a systems programming language. C, cleaned up, with a garbage collector, a wonderful concurrency model (a very big point), and a nice sort-of-OO type system that makes structuring programs a lot easier.
09:58:30 <Pthing> hi
09:58:32 <Slereah_> What are you doing here
09:58:39 <Slereah_> I thought I was on Isharia& for a moment
09:58:43 <ehird> Basically it's a more comfortable C for the applications level with some extra stuff, and it's from the Old Guard.
09:58:45 <Pthing> terrifying
09:58:52 <ehird> AnMaster: yes
09:59:01 <Pthing> so okay
09:59:03 <ehird> AnMaster: it's silly how syntax highlighting is in the resulting url though
09:59:03 <Pthing> i guess
09:59:11 <Pthing> it's an industrial grade language
09:59:16 <ehird> not really
09:59:20 <ehird> it's great for little hacks, too
09:59:25 <Pthing> explain
09:59:30 <ehird> it's low-level without having lots of boilerplate
09:59:31 <AnMaster> ehird, It could be useful for polygots I guess?
09:59:40 <ehird> and its abstraction facilities are good, plus its syntax is light
09:59:45 <ehird> so it ends up being quite pleasing for little hacks
09:59:52 <Pthing> liiike
09:59:59 <ehird> it's a general-purpose language, dude.
10:00:09 <Pthing> give an example of a hack
10:00:10 <Pthing> fffffff
10:00:12 <Pthing> (3 marks)
10:00:16 <ehird> Little programs.
10:00:19 <Pthing> like
10:00:22 <ehird> That you'd normally do with, say, Python.
10:01:14 <Ilari> Wonder what are the points of Go that kill the performance (one larger-than-usual-projetwork Java program made me realize that real performance killer in Java are virtual function calls).
10:01:29 <ehird> Ilari: Basically everything is resolved at compile-time.
10:01:34 <ehird> Including method lookups and all that stuff.
10:01:40 <ehird> Right now, the crappy GC. They're making that much betterr.
10:01:41 <Pthing> in the video, they said they still had some flaky library code
10:01:47 <ehird> And the gc compiler doesn't do much optimisation atm.
10:01:52 <ehird> (It is, however, EXTREMELY fast.)
10:02:01 <ehird> Still, it's quite good now.
10:02:11 <ehird> It'll be competitive with C in a while, that's for sure.
10:02:14 <Pthing> actually i think they called it crufty
10:02:16 <Pthing> but nerrrrrrrds
10:03:43 -!- ehird has left (?).
10:03:46 -!- ehird has joined.
10:03:49 <ehird> oops
10:04:05 <Pthing> haha
10:04:05 <ehird> Anyway, G is the first new language in ages that I'm interested in.
10:04:07 <ehird> *Go
10:04:08 <Pthing> i looked in #go
10:04:13 <ehird> It's #go-nuts
10:04:17 <ehird> 492 people
10:04:21 <Pthing> yeah, i worked it out via #golang
10:04:24 <ehird> lawls
10:04:44 <Pthing> but in #go they have blah blah "about Go (the game, not the silly language)"
10:05:24 <ehird> a lot of people are dismissive of it because it has the word Google in it (Bell Labs would be more accurate) and people compare it to C++ and Python and are retards.
10:05:55 <Pthing> the Go(ogle) thing took me a little while to get, and I was a little embarrassed it took me so long
10:06:28 <ehird> the debugger-in-progress is called ogle
10:06:44 <Pthing> yeah, I like the name, it's good
10:06:48 <Pthing> it's GOod
10:06:55 <ehird> you crack me up
10:06:57 <ehird> like a watermelon
10:06:59 <Pthing> i don't like the running... mammal thing
10:07:00 <Pthing> logo
10:07:12 <Pthing> i think it's running, it might be thrown
10:07:19 <ehird> it's an otter
10:07:21 <ehird> i think
10:07:24 <ehird> i love its little hands
10:07:25 <Pthing> what
10:07:30 <Pthing> otters don't fucking look likfffffffffffff
10:07:32 <ehird> they're so helpless
10:07:33 <ehird> well
10:07:35 <ehird> it might not be an otter
10:07:36 <ehird> i'll ASK
10:09:36 <ehird> deficiencies of sprunge.us: can only post via curl, no quick paste method; syntax highlighting is on the resulting URL; syntax highlighting adds line numbers that break stuff
10:09:44 <ehird> Pthing: it's a GOpher
10:11:55 <ehird> final deficiency: mentions firefox on the homepage
10:11:57 <Pthing> oh of course
10:16:26 -!- Pthing has quit (Remote closed the connection).
10:16:53 <AnMaster> gah. on classic macos it seems like you need to list all exported symbols from libraries
10:16:58 <AnMaster> none are exported by default
10:17:03 <AnMaster> that will sure make libick a pain
10:18:55 -!- oerjan has joined.
10:19:52 <AnMaster> oerjan, iwc
10:20:57 -!- Pthing has joined.
10:22:30 <ehird> I am about to write some recursive make. How evil am I?
10:22:59 <coppro> evil
10:23:03 <oerjan> ehird: despicable spam of the netherworlds. but what has that to do with recursive make?
10:23:35 <AnMaster> ehird, 15.23 on a scale from 0 to 10
10:24:39 <AnMaster> (the reading is off the scale!)
10:32:36 <oerjan> AnMaster: no anchovies
10:32:52 <AnMaster> oerjan, what?
10:33:12 <oerjan> i said, nice iwc annotation
10:33:31 <AnMaster> oerjan, oh right, forgot that bit in it
10:33:58 <AnMaster> oerjan, http://www.mezzacotta.net/garfield/ was.... strange
10:34:07 <AnMaster> except that was yesterday heh
10:34:20 <AnMaster> I can't keep track of it's updates atm
10:35:03 <oerjan> it's just a silly pun
10:38:37 <AnMaster> ah. I see it now
10:39:09 * AnMaster curses the emulator again.
10:42:31 * oerjan tries emulating curses, but fails
10:42:56 * AnMaster curses libraries on classic Mac SO
10:42:57 <AnMaster> OS*
10:43:18 <AnMaster> you need to list all exported symbols. And they must be declared extern first.
10:44:58 -!- oerjan has quit ("Later").
11:00:15 -!- Pthing has quit (Remote closed the connection).
11:11:28 <AnMaster> yay I got usage output from ick
11:11:36 <coppro> ick
11:11:49 <AnMaster> coppro, c-intercal compiler yes
11:11:54 <AnMaster> on classic mac
11:12:03 <AnMaster> still I haven't managed to build libick yet
11:12:11 <coppro> not a question
11:12:14 <coppro> an expression of distaste
11:12:15 <AnMaster> and I have to manually patch some generated code in the lexer
11:12:19 <AnMaster> which was quite horrible
11:12:32 <AnMaster> flex generated code depending on unistd.h
11:12:44 <AnMaster> need to talk to ais about that
11:13:05 <ehird> what does uts stand for in uname()s utsname
11:13:53 <AnMaster> no clue
11:17:02 <ehird> i wonder if it even is an acronym
11:19:04 -!- kar8nga has joined.
11:22:17 <ehird> http://sprunge.us/LdaJ?c ;; fuuuuck those line numbers
11:22:51 <AnMaster> ehird, hm drop the ?c to copy
11:23:00 <ehird> yeah, but that's still a pain in the ass
11:23:01 <AnMaster> but yeah that's an issue I never noticed before
11:23:02 <ehird> *the ass
11:23:09 <ehird> *it's
11:23:17 <ehird> there is a way to do it without copying
11:23:19 <AnMaster> ehird, true. I mostly used it without syntax highlighting
11:23:21 <ehird> with some evil css tricks
11:23:26 <ehird> but honestly? i rarely need line numbers
11:23:29 <ehird> what would be useful
11:23:30 <ehird> is
11:23:41 <ehird> http://pastebin/f845#l47
11:23:48 <AnMaster> ehird, i need line numbers when I get "error on line foo"
11:23:52 <ehird> backgrounds line 47 as yellowish, and jumps about 15 lines above it
11:23:58 <ehird> so you can highlight errors
11:24:02 <ehird> http://pastebin/f845#l47-52 too
11:24:15 <AnMaster> <ehird> http://pastebin/f845#l47 <-- is that supposed to be a real one or just an example?
11:24:16 <AnMaster> :P
11:24:19 <ehird> backgrounds the whole thing, jumps about 20 lines (amended :P) above the whole block
11:24:20 <ehird> example
11:24:30 <ehird> github commits do this iirc
11:24:43 <AnMaster> ehird, I'm pretty sure I seen it on other pastebins too
11:24:47 <ehird> yeah
11:25:02 <ehird> I should just write a POST-bin (hur hur hur) and stop whining :P
11:25:16 <ehird> don't think anything has go highlighting yet though :D
11:29:11 <ehird> AnMaster: ok, I just had a ridiculous idea and someone has to hear it in case it manifests
11:29:29 <AnMaster> ehird, oh?
11:30:22 <ehird> the "pastebin" actually just lets you post to http://blah/ with some text, and it gives you back a url. going to that url, say http://blah/asdf, executes the file you gave it in a sandbox.
11:30:26 <ehird> The pastebin script looks like... drumroll
11:30:55 <ehird> (echo "#!/usr/bin/pygments $language"; cat) | curl ...
11:30:59 <ehird> I am an awful person
11:31:20 <AnMaster> ehird, so now ick -@ works in MPW
11:31:20 <AnMaster> :)
11:31:55 <AnMaster> http://sprunge.us/HXKV
11:32:23 * ehird considers doing a ridiculous thing
11:32:49 <oklofok> that'd be ridiculous
11:32:56 <AnMaster> heh
11:33:10 <AnMaster> ehird, what are the chances for ais showing up today?
11:33:12 <ehird> i feel kinda bad even jusst having thought the thoughts
11:33:14 <ehird> *just
11:33:17 <ehird> very low
11:33:17 <ehird> like 0
11:33:23 <AnMaster> ehird, damn
11:33:54 <oklofok> i slept 13 hours due to my new unterman sleep schedule
11:34:24 <ehird> wat
11:34:32 <oklofok> uber <-> unter
11:34:46 <ehird> yar
11:34:46 <ehird> :P
11:35:06 <ehird> okay i'll just go ahead and ask
11:35:17 <ehird> AnMaster: should I implement rc in go
11:35:21 <ehird> PLEASE SAY NO
11:35:33 <AnMaster> ehird, wouldn't that take some time?
11:35:43 <AnMaster> ehird, also how goes your webserver, ircd, and so on?
11:36:16 <oklofok> ehird: what have you implemented in go sofar?
11:36:46 <oklofok> make a bf interpreter ;)
11:36:51 <ehird> uh, wc, and some io functions, and a binding to uname that doesn't work yet, and echo(1), and some misc code that doesn't really fit into things
11:36:55 <ehird> most of my going has been in-head
11:36:58 <ehird> yeah bf interp sounds good
11:37:01 <ehird> MAYBE I WILL OKLOFOK
11:37:02 <ehird> maybe i will
11:37:38 <oklofok> what does "binding to uname" mean?
11:38:00 <ehird> uname() function
11:38:00 <ehird> gives like
11:38:01 <ehird> information about processor, os
11:38:02 <ehird> pretty boring
11:38:41 <ehird> but yeah
11:38:43 <ehird> bf interp oh-kay
11:38:51 <oklofok> hmm right OKATY
11:39:00 <ehird> oklofok: d'ya think I should use yacc (overkill but sorta fun) or MANUA-PARSE 2000
11:39:12 <ehird> also yacc handles like... file opening and shit for me, which is nice
11:39:16 <ehird> but i have to write some other boilerplate
11:39:20 <ehird> but on the other hand
11:39:22 <ehird> it'd look so
11:39:24 <ehird> retarded
11:39:26 <ehird> tiny grammar sitting there
11:39:30 <oklofok> if MANUA-PARSE 2000 is what go's parsing library is called, that!
11:39:38 <oklofok> but yeah yacc totally
11:39:40 <fizzie> What, a BF interpreter bound into uname(2)? That sounds quite an unexpected trick from an OS.
11:39:45 <ehird> xD
11:39:58 <ehird> i could make the whole thing a yacc file tbh
11:40:01 <ehird> (goyacc that is)
11:40:14 <fizzie> "Go yacc yourself" sounds a bit indecent.
11:40:16 <ehird> wait, I don't need to preparse
11:40:18 -!- rodgort has quit (Client Quit).
11:40:19 <ehird> can do the dbc thing
11:40:25 <ehird> OKAHY LETSS ogjodfigogIjg
11:40:27 <ehird> ...
11:40:28 -!- rodgort has joined.
11:40:28 <ehird> GO
11:40:30 <ehird> get it
11:40:31 <ehird> let's
11:40:32 <ehird> GO
11:40:33 <ehird> haha?
11:40:59 <oklofok> höhöh
11:41:05 <AnMaster> ehird, btw it seems classic mac os supports shared libraries but not static ones. As in no *.a
11:41:12 <ehird> AnMaster: ugh
11:41:17 <AnMaster> ehird, either you link the object files directly, or you link shared
11:41:36 <ehird> oh, well that's okay
11:41:38 <AnMaster> ehird, so yes there are lots of *.o for standard library :D
11:41:41 <ehird> .os are fine and stuff
11:41:44 <AnMaster> LOTS
11:42:01 <ehird> eh, just archive them up and write code to extract them, voila you invented ar
11:42:10 <AnMaster> ehird, StdCRuntime.o is huge btw.
11:42:10 <ehird> or even just make folders
11:42:18 <ehird> /lib/libc/*.o
11:42:48 <AnMaster> where huge = 56K
11:42:53 <AnMaster> for 68k
11:43:15 <AnMaster> huh 8K for PPC?
11:43:21 <ehird> only 12k left then huh
11:43:24 <AnMaster> oh wait, that is just a stub for the shared library
11:43:24 <ehird> hyuk hyuk hyuk
11:43:31 <AnMaster> ehird, hah
11:48:55 <AnMaster> ehird, ick is 348K btw
11:49:26 <AnMaster> though that was with optimisation off
11:49:54 <AnMaster> can't rebuild it fully in emulator. need real mac for some of the files (otherwise it crashes)
12:48:05 <AnMaster> ehird, know what Print does in the MPW shell?
12:48:41 <ehird> prints a page
12:48:51 <AnMaster> ehird, oh so you ran into that before too?
12:48:56 <ehird> nope, guess
12:49:07 * AnMaster removes those *.ps from the desktop
12:55:30 <ehird> As of April 2009 dotsrc.org (formerly SunSITE.dk) has been in the process of shutting down the project hosting part. Since we started open source hosting more than 10 years ago, Sourceforge, Freshmeat, Launchpad and a bunch of others have emerged. We don't see the big need for us doing this any more, and will focus on other services.
12:55:42 <ehird> It occurs to me that that is exactly like committing suicide.
12:55:59 <ehird> You think you're just ending your own life and no bother to anyone else and then you go and destroy the lives of everyone close to you.
12:56:06 <ehird> I wonder how much code is lost forever now.
13:03:27 <AnMaster> ehird, OUCH
13:03:46 <ehird> Relax, AnMaster, an actual person didn't die :P
13:04:36 <AnMaster> ehird, of course not. But the code...
13:05:39 <ehird> Who wants to hear a terminally-tired lunatic ramble about his ideas for DVCSs?!
13:05:45 <ehird> (Hint: It's me)
13:06:06 <AnMaster> not me. I'm being "productive" atm
13:07:20 <ehird> What, by fiddling with C-INTERCAL?
13:08:36 <AnMaster> ehird, that's why I used "" around the word.
13:08:43 <AnMaster> but I'm getting somewhere
13:08:44 <ehird> [[Yiu gotta be kidding me. How can you encrease power in a smart phone? By writing something new, that uses google servers power.... dont you see that? why "put more cpu and ram" if online merchandising do it for you? what if you are fuckinf far of anything? where you gonna buy a fucking cpu? come on, be smart]]
13:08:51 <ehird> AnMaster: Can I vnc? :3
13:08:53 <ehird> Pretty please?
13:08:55 <ehird> ^___^
13:08:58 <AnMaster> ehird, to what?
13:09:03 <ehird> Sheepshaver
13:09:11 <AnMaster> ehird, don't think sheepshaver supports that
13:09:18 <AnMaster> ehird, anyway I'm doing this on a real mac atm
13:09:18 <ehird> It doesn't need to
13:09:22 <AnMaster> so tough shit
13:09:32 <AnMaster> ehird, because sheepshaver keeps crashing too much
13:09:34 <asiekierka> im bored guys
13:09:37 <asiekierka> i need an idea
13:09:40 <ehird> Tough shit? I need more fibre in my diet.
13:10:24 <AnMaster> ehird, however one of the keys seems to be broken on that old ibook. Scissors style, but the things that hold the key to the scissors seems broken.
13:10:32 <AnMaster> very annoying since it is the cmd key
13:11:07 * AnMaster swaps it with the "enter key" that is the same size but on the other side of space (why is there an enter key there at all btw?)
13:11:16 <ehird> Easy answering dialogs, iirc.
13:11:21 <ehird> I should get ick working on an actual Mac Plus.
13:11:23 <AnMaster> heh
13:11:38 <AnMaster> ehird, can it handle 32 bit stuff? I forgot
13:12:03 <AnMaster> iirc some 68k had a 32-bit adressing mode
13:12:07 <AnMaster> addressing*
13:12:26 <ehird> Macintosh Plus can address 4 mebibytes of RAM.
13:12:31 <ehird> Well.
13:12:34 <ehird> It can address 8.
13:12:36 <ehird> It only fits 4.
13:12:42 <AnMaster> ehird, anyway if you want I can give you a hqx file of what I have so far
13:12:47 <ehird> Nah.
13:12:57 <AnMaster> oh?
13:13:20 <AnMaster> ehird, I could do *.img.bin too probably. No way I could manage .dmg however
13:13:40 <ehird> C'mon listen to my VCS ideas! They're... almost as weird as arch?
13:13:43 <ehird> Not really.
13:14:38 <ehird> http://1.bp.blogspot.com/_va9O40qIhaE/StfekoB1W8I/AAAAAAAAB70/G32jsTp_BWU/s1600-h/ottosm.jpg
13:15:24 <oklofok> cute!
13:17:25 <AnMaster> ehird, btw it seems MPW has some weird file matching thing where [a-z0-9]*.c works but .*.c doesn't. Nor does *.c
13:17:34 <AnMaster> so it is neither glob nor usual regex
13:17:40 <AnMaster> and I can't find actual docs for it
13:21:19 <fizzie> There are about 20 special constructs within regular expressions, all of which are cryptically described when you execute the command line "Help Patterns" within the MPW Shell. I'll mention some of the more useful ones here. -- http://www.mactech.com/articles/develop/issue_26/mpw.html
13:21:38 <fizzie> "?" corresponds to the normal regex "." there.
13:22:04 <fizzie> So ?*.c then, I think.
13:23:20 <AnMaster> fizzie, oh if you know MPW... What is the difference between one and two of those old-style s-es in makefile rules (those symbols that look like f)
13:23:44 <ehird> : vs ::
13:23:50 <ehird> :: is that all rules get executd
13:23:52 <ehird> if you have duplicates
13:23:56 <ehird> you need all of them to be ::
13:24:20 <AnMaster> hm
13:25:22 <AnMaster> ehird, you mean like foo :: bar quux bar will force bar to be built twice if it wasn't built before?
13:26:27 <ehird> no
13:26:30 <ehird> foo::
13:26:39 <ehird> echo hardcore anal meanderings
13:26:40 <ehird> foo::
13:26:45 <ehird> echo now only half price
13:26:49 <ehird> $ make foo
13:26:55 <fizzie> You can also read http://www.gnu.org/software/make/manual/make.html#Double_002dColon though I guess ehird's explanation made that redundant.
13:26:55 <AnMaster> why would one have multiple such heh
13:26:56 <ehird> echo hardcore anal meanderings
13:26:56 <ehird> hardcore anal meanderings
13:26:59 <ehird> echo now only half price
13:27:01 <ehird> now only half price
13:27:04 <ehird> AnMaster: different files, modules etc
13:28:54 <AnMaster> hm
13:29:37 <AnMaster> ehird, wouldn't you have different rule names to build different files?
13:30:39 <ehird> same file
13:30:41 <ehird> or phony target
13:30:48 <ehird> different makefiles
13:30:49 <ehird> i meant
13:30:55 <ehird> different makefiles, modules of the build system
13:32:32 <AnMaster> hm
13:32:41 <AnMaster> ok that would work
13:33:34 * AnMaster wonders what the license would be on a short .r file with no copyright header or such that came with an MPW example
13:34:07 <AnMaster> I just realised that might be an issue
13:34:24 <ehird> Trivial things are uncopyrightable.
13:34:50 <AnMaster> the makefile began as based on an example makefile, but it has not been completely rewritten.
13:34:54 <ehird> I advise you to stop worrying; you're more likely to be bitten by the thousands of patents any program you write will inevitably violate.
13:35:11 <AnMaster> ehird, probably
13:36:59 -!- kar8nga has quit (Remote closed the connection).
13:39:00 <AnMaster> ehird, anyway, why can't you run sheepshaver yourself?
13:39:22 <ehird> I don't have your porting work — and also, it's unstable as a dick on an. Um. dick.
13:39:24 <AnMaster> ehird, iirc I read that it *does* work on OS X
13:40:13 <AnMaster> ehird, "my porting work"? would that be the hqx file?
13:40:27 <ehird> You modded C-INTERCAL, did you not?
13:40:28 <AnMaster> well I could send that over easily. And yes so far things build but are mostly untested.
13:41:02 <AnMaster> ehird, yes, custom build system + manual written config.h, plus a few minor patches to the source (in all cases code that tried to use unistd.h)
13:41:27 <AnMaster> the most annoying change was to the *generated* parts of lexer.c
13:41:33 <AnMaster> I'm not sure how to properly solve that
13:41:59 <AnMaster> maybe implement a dummy isatty() for it to link to instead?
13:42:14 <AnMaster> and dummy fileno() possibly. But it never complained about that
13:42:50 <ehird> Wow, Tom Lehrer is STILL alive.
13:43:36 <AnMaster> ehird, wow indeed. He wrote some awesome lyrics.
13:43:55 <AnMaster> (catchy melodies too)
13:44:07 <ehird> Pretty sure he pilfered a lot of those melodies :P
13:44:25 <AnMaster> ehird, yeah probably, but probably not all.
13:51:36 -!- oklokok has joined.
14:09:37 -!- oklofok has quit (Read error: 110 (Connection timed out)).
14:12:22 <AnMaster> ehird, in case you actually decide to be interested in it: ick-mac.img.bin is at http://omploader.org/vMnJwMw things build bure are mostly untested (and I very much suspects that ick will need some patching so it doesn't try to call a compiler, but instead prints out some MPW commands for you to run)
14:12:34 <AnMaster> oh and that contains pre-compiled files
14:12:42 <AnMaster> it still needs MPW since things are built as MPW tools
14:14:10 <AnMaster> oh and that has some stuff not relevant for mac build system stripped. Could easy be added back from ick-0.29 download
14:14:28 <ehird> i'll be interested if you're interested about my vcs stuff
14:14:48 <AnMaster> ehird, sure, tell me about it
14:14:56 * AnMaster is taking a pause anyway
14:15:00 <ehird> what's the catch
14:15:11 <AnMaster> catch for?
14:15:15 <ehird> this :P
14:15:23 <AnMaster> ehird, that you *have* to try it out?
14:15:41 <ehird> i said i'd be _interested_
14:15:52 <AnMaster> ehird, define interested then
14:16:08 <ehird> attentively (as much as i can in this state) listening and taking it in and offering comment. :P
14:16:58 <AnMaster> ehird, nah, not really worth it then. Anyway it shouldn't be hard for you to set things up. Apart from, you know, the whole thing ;P
14:17:18 <ehird> methinks that i preferred it when i was sure you weren't listening
14:17:22 <AnMaster> like, downloading those "fixes" from apple and manually apply them to the installed mpw
14:17:32 <AnMaster> ehird, tell me, I will read it when I get back (phone)
14:17:45 <ehird> too lazy.
14:25:52 <AnMaster> back
14:26:26 * AnMaster looks up ick error messages
14:33:15 <AnMaster> ehird, interesting. It gives different errors for files generated on mac and files generated on unix
14:33:20 <AnMaster> so something is broken
14:38:20 <AnMaster> ugh very broken
14:39:52 <ehird> back
14:41:15 <ehird> AnMaster: SO WANNA HEAR :D
14:41:25 <AnMaster> ehird, a file with mixed CR and LF is quite painful to fix up
14:41:34 <ehird> your mom is quite painful to fix up
14:41:57 <AnMaster> beer.mac.c: ASCII C program text, with very long lines, with CRLF, CR, LF line terminators
14:42:54 <AnMaster> those CRLF seems just to be two newlines, one mac one and one *nix one
14:43:07 * AnMaster converts all the input files on mac to CR line endings
14:44:56 <AnMaster> ehird:
14:45:02 <AnMaster> ICL000I PLEASE DO ,10 <- #1
14:45:02 <AnMaster> ON THE WAY TO 2
14:45:02 <AnMaster> CORRECT SOURCE AND RESUBNIT
14:45:08 <AnMaster> I don't that is supposed to happen
14:45:19 * AnMaster wonders what was miscompiled in ick
14:45:32 <AnMaster> the generated file is completely wrong
14:46:04 <ehird> OI
14:46:05 <ehird> DVCS
14:46:16 <AnMaster> ehird, sure. I told you to write it before
14:46:18 <AnMaster> *shrug*
14:46:24 <ehird> okay!
14:46:36 <ehird> if this gets an augur like monologue, chip in and i promise i won't ignore you
14:46:48 <ehird> most modern VCSs are based on basically, trees of history
14:46:52 <ehird> patch, patch, patch, patch, end
14:47:01 <ehird> they don't really track changes to the code in this sense
14:47:11 <ehird> they track snapshots in time, not the actual changes to where it is now
14:47:32 <ehird> my idea is to sort of "inline" this history into an actual tracking, sort of like an "enhanced" nested patch sort of thing
14:47:36 <ehird> anyway, the main thing is
14:47:42 <AnMaster> ehird, what about darcs here? It isn't exactly a tree of history there
14:47:49 <ehird> it's closer to my idea, yes
14:47:55 <AnMaster> okay
14:47:56 <ehird> so, each repository is this thing
14:48:01 <ehird> now the interesting bit is
14:48:10 <ehird> most of my operations involve multiple repositories
14:48:14 <ehird> for instance, you may know the common one
14:48:24 <ehird> get changes from this repository B into A, and merge if required
14:48:25 <AnMaster> merge? pull?
14:48:30 <AnMaster> right
14:48:32 <ehird> but with mine, it's varargs, so to speak
14:48:37 <AnMaster> err...
14:48:40 <ehird> you pass it a bunch of repositories, and it will merge them
14:48:47 <ehird> without favouring any
14:48:50 <ehird> and with user input
14:49:08 <AnMaster> mhm
14:49:09 <ehird> so, for instance, you can select some features people have pointed you to and merge them all into the mainline in one merge
14:49:26 <ehird> the interesting thing is just how independent these repositories become
14:49:36 <AnMaster> okay
14:49:46 <ehird> there's no special pulling, you just rsync the repository down (using your existing one as a base to transfer less, just as an optimisation)
14:50:00 <ehird> and then it merges these repositories into a new repository C, which it replaces your original one with (in normal use)
14:50:17 <ehird> so, basically, we have this unified thing that's a repository, but it's also sort of one big massive, nested change
14:50:38 <ehird> and it means that operations like merging can work on an arbitrary number of repositories elegantly
14:50:54 <ehird> and you don't have to do special pulling algorithms; just download the new repository and merge that one and your old one
14:50:58 <AnMaster> uh okay
14:51:02 <ehird> indeed pushing is the same
14:51:07 <ehird> AnMaster: uh? any bit conffusing? :P
14:51:12 <ehird> *confusing
14:51:23 <AnMaster> ehird, how can merge work on arbitrary number of repos?
14:51:37 <AnMaster> after all, diff2 and diff3 are rather different iirc.
14:51:49 <ehird> that's true, and it will of course require user operation
14:51:51 <AnMaster> and yes there will be conficts
14:52:04 <ehird> well, that's the thing, you do these N+ repo merges already
14:52:08 <ehird> you just do them as separate options
14:52:12 <ehird> so you finally solve all the little conflicts
14:52:13 <AnMaster> ehird, so what if you have 5 different conflicting changes of the same few lines?
14:52:16 <ehird> and introduce a whole new batch
14:52:17 <AnMaster> what will you show the user?
14:52:21 <ehird> do you see what i mean?
14:52:23 <ehird> these problems ALREADY HAPPEN
14:52:36 <ehird> this is a marked improvement — once a conflict is resolved, that's it
14:52:42 <ehird> no more disturbing it as you go onto the next repo to move
14:52:43 <AnMaster> ehird, yes but you normally merge them in pairs or such first.
14:52:48 <ehird> well, exactly
14:53:00 <ehird> the internal algorithm *could* be just a bunch of diff2/diff3s talking to each other a lot
14:53:01 <AnMaster> ehird, you want to merge all at once unless I misunderstood you?
14:53:04 <ehird> and of course the devil's in the details
14:53:11 <ehird> but I'm fairly sure it's doable
14:53:16 <ehird> and the implications are great
14:53:30 <AnMaster> ehird, when did you last use diff3?
14:53:49 <AnMaster> compared to a diff2 it is rather confusing
14:53:52 <ehird> Not sure when but I think the place was called Hell.
14:53:59 <AnMaster> ehird, exactly!
14:54:06 <ehird> Anyway, of course actually doing it is the hard part.
14:54:33 <ehird> But I think if you're trying to mix 4 repositories into your mainline, resolving conflicts each time, only to have your resolvings reversed by the next merge or two isn't the way to go about it!
14:54:35 <AnMaster> ehird, which is why I'm wondering how on earth you would represent a 4 way-or-more conflict to the user
14:54:45 <ehird> we'll see :P
14:54:50 <ehird> interestingly it gives a purely functional sort of vibe
14:54:57 <AnMaster> oh?
14:54:58 <ehird> everything seems to be a function of some repos to a new repo
14:55:13 <ehird> you merge A, B, and C, producing ABC (let's call it D)
14:55:25 <ehird> if A was your working copy, you throw it away and switch to D
14:55:29 <AnMaster> ehird, anyway merging one at a time has an advantage: less confusion.
14:55:30 <ehird> (this happens automatically of course)
14:55:40 <ehird> hmm... splitting repos could be interesting
14:55:44 <ehird> merging condenses many repos into one
14:55:53 <ehird> splitting expands one repo into many
14:56:05 <ehird> i could see that being useful for focused work
14:56:17 <ehird> AnMaster: less confusing, maybe, but more tedium and hard work. Anyway, I think the internal implications will rise to other UI improvements.
14:56:24 <ehird> So it's not like it's a one-trick pony.
14:56:24 <AnMaster> why less confusion? Because you will have less code to consider.
14:56:49 <ehird> I mean, the merging was just an example.
14:57:25 <AnMaster> it's the same reason you prefer many small commits over one huge. Because it is easier to understand what you have changed. (And easier to bisect, if it comes to that)
14:57:38 <ehird> AnMaster: Which is why the merge will be represented by little choices.
14:57:52 <AnMaster> true
14:58:01 <ehird> It can still just be "which of these two is right" while still making sure that doesn't invalidate another choice on another merge.
14:58:17 <AnMaster> ehird, how would one dig back for older versions in your system? Same way as usual?
14:58:25 <ehird> also, being able to merge all of them at once means that the automatic merging should work better
14:58:29 <AnMaster> in case you want to bisect a regression or such
14:58:32 <ehird> as it'll have more variations on each relevant snippet
14:58:37 <AnMaster> (which is often very very useful)
14:58:40 <ehird> and so more of an idea of the structure, you see?
14:58:49 <ehird> AnMaster: probably, yes, unless I think of something better
14:59:04 <ehird> one thing that'll be quite easy to do, I think, will be `svn blame` but per-character
14:59:16 <ehird> as in, actually highlight the exact blocks people are responsible for and the like
14:59:17 <ehird> efficiently
14:59:26 <AnMaster> "<ehird> It can still just be "which of these two is right" while still making sure that doesn't invalidate another choice on another merge." <-- what about "neither, because this change and the one 20 lines above affect each other, hand editing the whole file is needed"
14:59:30 <AnMaster> well
14:59:36 <AnMaster> that one is a problem with current systems too
14:59:38 <ehird> Why hello there Mr. Edge Case :P
14:59:49 <AnMaster> ehird, except I hit that more often that I wanted to.
14:59:50 <AnMaster> :/
14:59:55 <ehird> Hopefully the merging tool will be advanced enough to handle that.
15:00:11 <AnMaster> ehird, it would have to be aware of the language structure to do so
15:00:24 <ehird> not to edit the file manually
15:00:37 <ehird> although a structured VCS is an idea i'm very interested in
15:00:41 <ehird> smalltalk has that, I think
15:00:46 <ehird> at least I think monticello is structured
15:00:51 <AnMaster> like know if a variable was renamed in branch A, but another use of it was added in branch A.
15:01:08 <ehird> well, there isn't any strong ai so sucks to be you :P
15:01:12 <AnMaster> and trying to handle that would be insane
15:01:30 <ehird> imagine being linus, I'd sure prefer one difficult merge over 6 tedious merges
15:01:37 <AnMaster> ehird, exactly, a hand editing file with different versions in <<<< ... ----- ... >>> style merge will always be useful sometimes
15:01:40 <ehird> that I know are wasting my time with some resolutions
15:01:44 <AnMaster> s/a hand/hand/
15:01:56 <AnMaster> because some cases *will* otherwise need a strong ai
15:02:57 <AnMaster> ehird, sure try to make it as smart as possible. I'm not against that. I'm just saying that there should still be an option to do a more classical manual merge of conflicts in files. Because there will be cases needing it sometimes.
15:03:09 <ehird> Of course.
15:03:16 <ehird> I'm not that much of an idiot, you know, to get rid of manual merges.
15:03:26 <AnMaster> ehird, wasn't completely sure about that ;P
15:03:47 <ehird> In fact, too-smart merges are a *bad* thing: you think that merge went through fine, but it actually messed up your source by second guessing you instead of going "hey i'm confused".
15:04:50 <AnMaster> ehird, asking when confused, but providing the "smart" merges as options would be useful maybe?
15:04:56 <AnMaster> as in
15:05:02 <ehird> Of course.
15:05:11 <ehird> I'll probably have pluggagble merges.
15:05:20 <ehird> If I make it.
15:05:35 <AnMaster> "press m for manual, a for aborting merge, 1 for smart option one, 2 for other even smarter option, 3 for really cool option"
15:05:37 <ehird> What's the best protocol for rsync transport, btw? (for speed). rsync://, isn't it?
15:05:59 <AnMaster> ehird, that needs an rsync server set up and listening. And security is... bad.
15:06:09 <ehird> I mean for anonymous access.
15:06:11 <AnMaster> sure would work for anonymous pulling
15:06:22 <AnMaster> ssh+rsync for developer access though
15:06:23 <ehird> Well, you can't do rsync over http can you?
15:06:31 <AnMaster> ehird, not afaik
15:06:42 <ehird> zsync — Optimised rsync over HTTP
15:06:42 <ehird> This document describes the thinking behind zsync, a new file transfer program which implements efficient download of only the content of a file which is ...
15:06:42 <ehird> i wish i never said anything
15:06:49 <ehird> Anyway, ssh isn't really an option for anonymous pulling.
15:07:04 <AnMaster> ehird, isn't it? I have seen anonymous ssh
15:07:15 <AnMaster> iirc it was openbsd or netbsd ports/pkgsrc thing
15:07:20 <AnMaster> that I pulled over anon ssh
15:07:23 <ehird> Well, ssh is slow, bulky, and there's always that risk of an exploit...
15:07:27 <AnMaster> anon ssh + cvs iirc
15:07:50 <ehird> I guess rsync:// for public and ssh:// for private is best.
15:08:00 <AnMaster> ehird, you can use another sshd. One that doesn't need to run as root.
15:08:16 <AnMaster> iirc launchpad uses such a one
15:09:12 <ehird> Eh.
15:09:20 <ehird> Why bother if rsync is faster and uses less resources?
15:09:39 <ehird> Well, to be fair, my distro will probably use http://matt.ucc.asn.au/dropbear/dropbear.html for the ssh/sshd by default.
15:09:46 <AnMaster> ehird, depends on how paranoid you and your users are
15:10:02 <ehird> If it's public it's public :P
15:10:12 <ehird> One thing that needs to be supported is only using ssh:// for stuff that needs authentication.
15:10:22 <ehird> e.g. have a "push" location as separate.
15:10:58 <AnMaster> if it is for a distro you could just sign every package
15:11:21 <AnMaster> and send it over plaintext
15:11:52 <ehird> I just meant that I'll be operating the server on my distro.
15:12:01 <ehird> So technically rsync wouldn't really be lighter than dropbear sshd.
15:12:08 <AnMaster> ehird, maybe a signed listing with the checksums of all rsynced files? that would provide some security against tampering with the rsynced data
15:12:19 <ehird> Are we talking about package distribution now?
15:12:28 <AnMaster> ehird, no, about repos
15:12:37 <ehird> If I wanted to sign the packages I'd GPG-sign a file with checksums of all the files in the tree.
15:12:41 <ehird> AnMaster: Ah.
15:12:49 <ehird> rsync:// can be tampered with in transit?
15:12:53 <AnMaster> ehird, to make sure that the anon checkouts weren't tampered with
15:12:57 <AnMaster> ehird, man in the middle attack?
15:12:59 <ehird> Anyway, I don't see why you'd trust data from me anyway. :P
15:13:04 <AnMaster> to fake your server or such
15:13:16 <ehird> Ah yes, the ever-trustable, professional ehird website.
15:13:25 <ehird> My reputation is through the roof.
15:14:16 <ehird> AnMaster: Anyway, I could just GPG-sign the hash of the commit.
15:14:24 <ehird> *PGP-sign. GPG is just an implementation...
15:14:31 <AnMaster> ehird, no, but I might want to trust the original devs of some project using ehirdvcs. And if I happen to live in some country where someone could want to tamper with source code I want to check out and run...
15:14:32 <ehird> The hash is calculatable from the commit, so...
15:14:41 <ehird> AnMaster: does any other vcs handle this?
15:14:47 <ehird> most anonymous checkouts are git:// or http://.
15:14:54 <AnMaster> ehird, well, those that do it over https or ssh could I guess
15:15:02 <ehird> yeah but how many open source projects are that?
15:15:19 <AnMaster> ehird, hm let me check my current checkouts
15:16:14 <ehird> Anyway, nothing would stop you setting up an anonymous ssh account for it if you really wanted to.
15:16:19 <ehird> You'd be silly, though.
15:16:27 <ehird> For most things.
15:16:44 <AnMaster> URL: https://desmume.svn.sourceforge.net/svnroot/desmume/trunk/desmume
15:16:47 <AnMaster> that's one at least
15:17:40 <ehird> Ah yes, DS emulators.
15:17:50 <ehird> The most trust-needing pieces of software known to man.
15:17:58 <AnMaster> ehird, well no.
15:18:00 <ehird> :P
15:18:05 <AnMaster> I don't know why it is that way
15:18:17 <AnMaster> ehird, anyway I assume this would work for any sf.net project
15:18:28 <ehird> Yeah, but nobody uses sf.net.
15:18:47 <ehird> Seriously, I rarely end up there nowadays, and it's usually a last-resort grab for obscure software.
15:19:44 <AnMaster> true
15:20:31 <AnMaster> ehird, I think I saw a few more too. Might have been llvm (don't have a trunk checkout of it around currently)
15:20:36 <AnMaster> or something else
15:24:09 <AnMaster> great. error on a line but the line number not matching
15:24:16 <AnMaster> in fact I can't find anything like that line nearby
15:24:18 <ehird> go doesn't geet that :P
15:24:19 <ehird> *get
15:24:31 <AnMaster> ehird, this is the MPW C compiler.
15:24:38 <AnMaster> complaining on line 2229
15:24:41 <ehird> all c compilers get it
15:25:06 <AnMaster> ehird, there is no #line directive in the file. And there is nothing close to it even nearby
15:25:30 <ehird> AnMaster: have you tested cfunge with tcc?
15:25:55 <AnMaster> ehird, yes, some time ago, failed to handle some C99 thing. I think it was for (int i = ....)
15:26:18 <AnMaster> that is, declaring the variable there instead of at the start of the function
15:26:28 <ehird> Well, can I try it? :P
15:26:37 <ehird> bzr branch lp:cfunge right?
15:27:43 <AnMaster> should work
15:27:48 <AnMaster> why the hell is:
15:27:56 <AnMaster> ick_createdata icd[]={
15:27:57 <AnMaster> };
15:28:01 <AnMaster> considered invalid
15:28:04 <AnMaster> by the MPW compiler
15:28:08 <ehird> BECAUSE YOUR MOM
15:28:10 <AnMaster> it barfs on };
15:28:18 <ehird> it's sad
15:28:19 <AnMaster> "Error expression expected"
15:28:21 <ehird> };
15:28:30 * ehird compiles tcc with gcc, installs, compiles tcc with tcc, installs
15:28:36 <AnMaster> ehird, that's an expression, a sad one
15:28:40 <AnMaster> so that error makes no sense then
15:28:45 <ehird> Oh wait, tcc is elf only >_<
15:28:57 <ehird> Well, and coff
15:29:24 <AnMaster> ehird, mac os 9 seems to use xcoff and PEF
15:29:26 <AnMaster> for PPC code
15:30:14 <AnMaster> PEF is for executables and shared libraries. xcoff is for object files, executables and shared libraries
15:30:18 <AnMaster> PEF is default
15:30:31 * AnMaster isn't sure why have two overlapping ones
15:30:54 <ehird> Oi AnMaster, wget http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.25.tar.bz2; tar xf tcc-0.9.25.tar.bz2; cd tcc-0.9.25; ./configure --prefix=~/tcc; make; make install; cd ..; rm -rf tcc-0.9.25; tar xf tcc-0.9.25.tar.bz2; cd tcc-0.9.25; ./configure --prefix=~/tcc --cc=tcc; make; make install
15:30:55 <ehird> :P
15:31:11 <AnMaster> ehird, I would use ~/local/tcc
15:31:14 <AnMaster> and busy atm
15:31:16 <ehird> Then... do so :P
15:31:33 <AnMaster> ehird, plus does it really work as 64-bit?
15:31:43 * AnMaster forgot
15:31:47 <ehird> TCC version 0.9.25 is the first that supports the x86-64 target. Thanks to Shinichiro Hamaji for this.
15:31:51 <ehird> shinh of golf.shinh.org
15:31:55 <ehird> our beloved anarchy golf
15:32:03 <ehird> I have quite some trust in his skills, at least.
15:32:21 <ehird> Or you could just build the "cross compilers". tcc itself should run on amd64 just fine.
15:33:09 <oklokok> ehird: you fight considerably less with AnMaster these days, same thing happened with you and me, do you learn to love idiots, or just eventually realize at some point they won't change?
15:33:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
15:33:25 -!- oklokok has changed nick to oklofok.
15:33:34 <AnMaster> oklofok, there might be a third option
15:33:39 <oklofok> and what's that
15:33:48 <oklofok> that they change? yeah right
15:33:49 <AnMaster> oklofok, that one would just upset ehird
15:33:50 <ehird> maybe you're all growing up and becoming less stupid
15:33:57 <AnMaster> oklofok, no that he changes
15:34:00 <AnMaster> no,*
15:34:05 <ehird> that would be (a)
15:34:05 <oklofok> i know what you meant
15:34:12 <ehird> oklofok already said that
15:34:24 -!- puzzlet has joined.
15:34:24 <AnMaster> ehird, not really.
15:34:30 <ehird> deep, man. deep
15:34:39 <AnMaster> sure (a) is a subset of (c)
15:34:40 <ehird> anyway i don't really argue argue with oklofok, it's more like, you know, killing each other
15:34:41 <oklofok> or it could be b
15:34:49 <AnMaster> and that
15:34:52 <ehird> AnMaster is like, ripping out his mother's eyeballs and stomping on them and feeding them to satan
15:35:04 <AnMaster> anyway the change here would be in like "you becoming more mature"
15:35:17 <oklofok> AnMaster doesn't make it easy does he
15:35:39 <ehird> oklofok: have you noticed that the option AnMaster is proposing is a thinly-veiled "you finally realised with increased maturity that i am right"
15:35:50 <ehird> iiiiiinteresting
15:36:02 <AnMaster> ehird, I didn't say that. No one is static.
15:36:08 <AnMaster> everyone changes.
15:36:14 <oklofok> i actually only noticed i have a hamburger i could be eating
15:36:21 <ehird> AnMaster is now a zen buddhist
15:36:27 <oklofok> but maybe that is a subset of hamburger?
15:36:29 * oklofok gets ->
15:36:34 <ehird> maybe
15:36:35 <ehird> a superset
15:36:40 <ehird> there are more hamburgers you could be eating
15:36:43 <ehird> than there are hamburgers
15:38:27 <AnMaster> actually this seems to be an ick bug
15:38:34 -!- coppro has quit (Read error: 145 (Connection timed out)).
15:38:37 <AnMaster> int foo[] = {};
15:38:40 <AnMaster> isn't valid C89 is it?
15:38:52 <ehird> why not
15:39:10 <AnMaster> ehird, what is the size of that variable
15:39:40 <AnMaster> -std=c89 -pedantic with gcc gives:
15:40:04 <ehird> 0
15:40:05 <AnMaster> beer.c:2228: warning: ISO C forbids empty initializer braces
15:40:05 <AnMaster> beer.c:2228: error: zero or negative size array 'icd'
15:40:16 <AnMaster> ehird, sorry synergy copy-paste issues
15:40:19 <AnMaster> it took some time
15:40:36 <AnMaster> ehird, you can't have a 0-sized variable!
15:40:45 <ehird> void *foo;
15:40:46 <ehird> sure you can
15:40:49 <ehird> it's called *foo
15:41:03 <AnMaster> ehird, only as a pointer to. But that wasn't what happened above
15:41:05 <ehird> (TURKEY_BOMB)
15:41:07 <AnMaster> anyway this is an ick bug
15:41:09 <ehird> yes, and *foo is size 0
15:41:11 <ehird> your mom is an ick bug
15:41:18 <AnMaster> ehird, the actual pointer is not size 0
15:41:44 <AnMaster> ehird, you can't have void bar;
15:41:45 <AnMaster> either
15:41:50 <AnMaster> in standard C at least
15:41:56 <ehird> "You're complaining about C++ taking time to compile and link? That's hard to believe."
15:41:58 <AnMaster> void* bar yes
15:42:02 <ehird> fig a. cracksmoker
15:42:18 <AnMaster> ehird, eh, that is unrelated to this right?
15:42:28 <ehird> yes
15:43:18 <ehird> "This is one of the reasons Lisp doesn't get anywhere. The trend to promote features so clever that you stop thinking about your problem and start thinking about the clever features. CL's loop is so powerful that people invented functional programming so that they'd never have to use it."
15:45:00 <oklofok> ehird: hard to believe because it's like complaining about an idiot being stupid?
15:45:15 <ehird> no he told him to uses precompiled headers and a fast disk
15:45:17 <ehird> *use
15:45:26 <AnMaster> -_-
15:45:28 <ehird> the post was about go by the creator of bittorrent
15:45:37 <ehird> they remarked how shitty C++ was for compiling so much more slowly than go
15:45:59 <ehird> so yeah maybe that C++ can build in 30 seconds with that precompiled shit and the expense on a fast disk, meanwhile go did it in less than a second
15:46:10 <ehird> (go builds its entire standard library, with one core, in less than ten seconds...)
15:47:11 <AnMaster> ehird, does it do much optimisation?
15:47:15 <AnMaster> or just basic stuff
15:47:55 <ehird> It does some optimisation, but the minimalist bent of the libraries and the good design mean they it's fast even with minor optimisation.
15:47:57 <AnMaster> if that includes stuff like interprodecural optimisation, I'm extremely impressed.
15:48:06 <AnMaster> ehird, hm
15:48:08 <ehird> It turns out that most optimisation... really doesn't make much of a difference at all.
15:48:44 <AnMaster> ehird, does it compile to machine code or byte code?
15:48:45 <ehird> Oh, and the linker is really fast too...
15:48:48 <ehird> AnMaster: Machine code.
15:49:01 <ehird> Object code format is not .o, though.
15:49:14 <oklofok> ...is it .go?
15:49:14 <ehird> Libraries are .a, binaries are binaries, but intermediate objects are .N where N is the number for the architecture
15:49:32 <ehird> 8 = 386, 8g is compiler, 8l linker, .8 objects, 8.out default obj name
15:49:35 <oklofok> so has anyone implemented go in go yet
15:49:37 <ehird> same for 6 = amd64, 5 = arm
15:49:38 <oklofok> i mean the game
15:49:41 <ehird> it's the plan 9 toolchain
15:49:48 <AnMaster> 5 for arm? huh?
15:49:50 <oklofok> i mean... i could be named gogo.
15:49:56 <ehird> it's the actual plan9port linkers modified a bit, and compilers written in the same style as the plan 9 c compilers for the go
15:50:00 <ehird> AnMaster: it's arbitrary :P
15:50:06 <AnMaster> ehird, yes very
15:50:08 <ehird> 8 is from x86 and 386
15:50:11 <ehird> 6 is from 64
15:50:13 <ehird> 5 who knows
15:50:16 <ehird> they're just names
15:50:30 <AnMaster> ehird, is it faster than tcc?
15:50:32 <ehird> Anyway, the linker is really fast.
15:50:39 <ehird> We're talking like instant fast.
15:50:41 <oklofok> what's interprocedural optimization?
15:50:42 <ehird> AnMaster: Hell yes.
15:50:53 <AnMaster> ehird, tcc is fast at compiling though
15:50:59 <ehird> It is probably one of the fastest compilers for a "real" language in existence.
15:50:59 <AnMaster> ehird, I think it did ick in like 5 seconds.
15:50:59 <ehird> Maybe the fastest.
15:51:01 <AnMaster> or less
15:51:10 <ehird> AnMaster: Whole. Standard. Library. Including creating the .a's.
15:51:13 <oklofok> i mean can i see an example of dat
15:51:15 <ehird> In less than 10 seconds.
15:51:24 <ehird> Including make overhead. Recursive make.
15:51:29 <AnMaster> ehird, no preprocessor I guess?
15:51:29 <ehird> AnMaster: The stdlib is >100k lines of Go.
15:51:32 <ehird> In about 9 seconds.
15:51:42 <AnMaster> ehird, cached in memory I assume?
15:51:46 <ehird> Nope.
15:51:48 <ehird> From disk.
15:52:03 <ehird> So, basically, the gc Go compiler can process something like 10,500 lines of code a second.
15:52:07 <AnMaster> ehird, fast disk then. or all in a few files
15:52:10 <AnMaster> was it SSD?
15:52:23 <ehird> It may have been SSD, but I don't think so. These times are similar to those by others.
15:52:25 <ehird> And no.
15:52:27 <ehird> It's split into many files.
15:52:30 <ehird> It was a laptop.
15:52:35 <ehird> So a regular disk or SSD. Probably disk.
15:52:43 <ehird> Regardless, the source files are quite small.
15:52:51 <AnMaster> ehird, not a lot of seeking then
15:52:57 <ehird> Well, not that small.
15:53:01 <AnMaster> because disk seeks sounds like the main oerhead here
15:53:04 <ehird> Are you just trying to find excuses to say it's bad or not fast?
15:53:10 <ehird> 10,500 lines of code a second.
15:53:17 <ehird> No other compiler for a real language comes anywhere near close.
15:53:18 <AnMaster> ehird, no. I'm just wondering how fast.
15:53:32 <ehird> Remember that this is from the guys who brought you C, Unix and Plan 9.
15:53:38 <ehird> They're *really* good at compilers and operating systems.
15:53:45 <AnMaster> ehird, how long did it take when the source files was cached in memory already?
15:53:46 <ehird> Probably the best in the world.
15:53:48 <AnMaster> that's more interesting
15:53:51 <ehird> AnMaster: I don't know.
15:53:57 <ehird> http://golang.org/pkg/
15:54:00 <ehird> That's the whole stdlib.
15:54:04 <ehird> Look at the package list.
15:54:16 <ehird> >100,000 lines of code, in 9 seconds. Seriously, you've gotta be impressed.
15:54:25 <AnMaster> ehird, yes. But question is how impressed.
15:54:41 <ehird> Past the minimum bound it's so high anyway it doesn't really matter.
15:55:48 <ehird> AnMaster: I mean, no other compiler really comes close.
15:55:59 <ehird> It's not like a second or so difference will knock it off top spot.
15:56:25 <AnMaster> ehird, wc -l claims ick ends up at 20998 lines. tcc managing that on a pentium3 in about 5 seconds, including link time and such isn't too bad.
15:56:46 <ehird> True.
15:56:53 <ehird> But whatever, Go is really fast.
15:56:56 <AnMaster> that is, time for make on clean but configured source tree.
15:56:58 <ehird> Okay, rewatched the video.
15:57:09 <ehird> Go tree is about 120,000 lines of code, build took 9.231 seconds.
15:57:23 <ehird> Which comes to 12999.675 ~= 13,000 lines of code a second.
15:57:25 <AnMaster> ehird, which is indeed impressive. But what specs was that
15:57:32 <AnMaster> a bit better than a pentium3 I bet
15:57:39 <ehird> It's a MacBook Pro of some description, I think the 15" model
15:57:44 <ehird> Google-supplied, almost certainly
15:57:51 <ehird> Since they're not really Mac guys, I'd guess
15:57:58 <ehird> So not too high specs
15:58:11 <AnMaster> ehird, would be better than an old dell pentium3 system with a slow pata disk in any case
15:58:34 <ehird> Okay, I concede, Go is nothing special, tcc is totally kicking awesome. Happy now?
15:58:44 <AnMaster> ehird, I'm not saying Go is not special
15:59:07 <AnMaster> I agree it is impressive. But I just want to point out that it isn't *that* special. tcc manage quite well
15:59:16 <AnMaster> go seems faster than tcc still
15:59:26 <AnMaster> from some quick estimates.
15:59:50 <AnMaster> comparing to gcc the difference is extreme
15:59:53 <ehird> You also have to remember that Go is much more intensive to compile than C.
15:59:57 <ehird> For instance, the method lookups.
15:59:58 <AnMaster> and to any C++ compiler....
16:00:02 <ehird> The concurrency stuff.
16:00:04 <ehird> etc.
16:00:06 <AnMaster> ehird, what about preprocessor?
16:00:18 <ehird> No preprocessor, but it does do a lot of clever dependency stuff, which is more cost.
16:00:24 <ehird> So you can't really compare it to a C compiler.
16:00:24 <AnMaster> true.
16:00:36 <ehird> Especially not on such a pathological codebase as ick.
16:00:42 <AnMaster> ehird, still include files seems to take quite some time when there are many and deeply nested.
16:00:56 <AnMaster> ehird, nice wording :)
16:01:10 <ehird> I was considering "Cthuolic" :D
16:01:27 <ehird> (Fun fact: The Go compiler is probably fast at least in part because it doesn't use libc.)
16:01:44 <ehird> (It uses plan9port's lib9; the Plan 9 libc ported to Unixes.)
16:01:52 -!- puzzlet_ has joined.
16:01:55 <AnMaster> ehird, I think that is too extreme. It is quite ok C. At least in the compiler itself. Less so in the generated code of course
16:02:05 <ehird> What is quite ok C?
16:02:09 <ehird> Oh, ick.
16:02:13 <ehird> True.
16:02:14 <AnMaster> ehird, parts of the compiler itself
16:02:17 <ehird> It certainly is pathological, though.
16:02:28 <ehird> ((Russ Cox, the plan9port maintainer, is part of Go, but I imagine they used lib9 before that, being Plan 9 weenies))
16:02:30 <AnMaster> ehird, the generates parts I agree are "Cthuolic"
16:02:43 <AnMaster> that is, oil generated files, and generated c code for intercal programs
16:02:53 <AnMaster> oil is *definitely* "Cthuolic"
16:03:13 <AnMaster> ehird, is Russ Cox part of Go?
16:03:14 <AnMaster> huh
16:03:23 <ehird> Yes. And Ken Thompson.
16:03:24 <AnMaster> what file is he in?
16:03:26 <ehird> And Rob Pike.
16:03:28 <AnMaster> :P
16:03:30 <ehird> AnMaster: hardy har har
16:03:35 <ehird> ricer.c
16:03:51 <AnMaster> ehird, it actually took me several seconds to figure out you meant "go team"
16:05:13 <SimonRC> is libc really that slow?
16:06:33 <ehird> Nah, but it's certainly bloated, even BSD libc.
16:06:52 <ehird> Plan9port's lib9 is very lean and mean in comparison, especially since it does away with a lot of legacy interfaces and adds some of its own.
16:07:03 <ehird> (http://swtch.com/usr/local/plan9/src/lib9/ btw.)
16:08:39 <AnMaster> wow bash just crashed on me
16:08:40 <AnMaster> in ubuntu
16:08:47 <AnMaster> double free
16:09:43 <ehird> ha
16:09:57 <ehird> fun how minimalist the plan 9 c compilers are
16:10:01 <ehird> no -l, you just pass in the name of the .a
16:11:55 <AnMaster> ick_lose(IE000, 304, "PLEASE ""KNOC""K BEFORE ENTERING\n\
16:11:55 <AnMaster> ");
16:12:00 <AnMaster> messy
16:14:12 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:22:30 -!- ais523 has joined.
16:22:45 <ehird> hi ais523
16:22:47 <ehird> AnMaster:
16:23:08 <AnMaster> ais523, hi
16:23:11 <AnMaster> found some bugs in ick
16:23:15 <AnMaster> let me pastebin a list
16:23:22 <ais523> hi both of you
16:23:45 <AnMaster> ais523, see http://sprunge.us/TDPZ
16:24:11 <AnMaster> ais523, there is a rather serious code gen bug at the end
16:24:12 <ais523> is that a pastebin?
16:24:20 <ehird> no
16:24:22 <ehird> it's a porn site
16:24:29 <AnMaster> ais523, yes it is
16:24:38 <ehird> he'll never click on any of your links again, AnMaster
16:24:39 <fizzie> ehird: Things like the GNU binutils ld (and by extension, gcc) cheerfully accept plain old ".a" files too; the difference there (I think) is that if you say "libfoo.a", it'll just add all object files in foo.a, and you need "-lfoo" for the more intelligent "include objects only if they contain symbols that other files refer to" thing.
16:24:45 <ais523> does appear to be a pastebin, after all
16:25:04 <ehird> Phew. It could have been ASCII porn. Your w3m was at risk.
16:25:12 <oklofok> maybe it's a pornbin, but AnMaster doesn't know how to use it
16:25:24 <fizzie> Quick, paste in the indecent (.)(.) and provide a link!
16:25:32 <AnMaster> ais523, the point of it is that the way to add a paste is: cat ick-mpw-issues.txt | curl -F 'sprunge=<-' http://sprunge.us
16:25:35 <AnMaster> or similar
16:25:43 <ehird> Wow.
16:25:47 <ehird> Useless use of cat and curl feature.
16:25:49 <ehird> Let me fix that for you.
16:25:58 <ehird> curl -F 'sprunge=<ick-mpw-issues.txt' http://sprunge.us
16:25:59 <AnMaster> ehird, you could use < yes for example
16:26:07 <ehird> You could realise what <- actually means.
16:26:13 <ehird> "Get form value from... stdin"
16:26:31 <AnMaster> ah.
16:26:45 <AnMaster> ehird, so I shall need to adapt the function for it a bit
16:26:48 <ais523> AnMaster: that last bug is serious, but trivially fixable
16:27:03 <ais523> I could just add an extra element at the end full of NULLs
16:27:03 <AnMaster> ais523, I don't know what the right thing is
16:27:15 <AnMaster> ais523, well, what about the lexer.c bug
16:27:20 <AnMaster> that one is harder to fix it seems
16:27:47 <ais523> also, there aren't any shared libraries in ick, it's all static linking
16:27:56 <ais523> the lexer.c bug looks nasty
16:28:09 <ehird> which
16:28:16 <AnMaster> ais523, would need to go upstream to flex?
16:28:25 <ais523> AnMaster: maybe not
16:28:28 <AnMaster> ais523, also ick too has line ending problems
16:28:41 <ehird> why use flex
16:28:42 <ehird> use lex
16:28:43 <ais523> AnMaster: seems rather unlikely given that \r and \n are equivalent in INTERCAL
16:28:53 <ais523> ehird: the output of lex can't legally be redistributed
16:29:07 <ehird> what, caldera lex?
16:29:09 <ehird> I doubt _that_
16:29:11 <ehird> it's BSD-licensed, iirc
16:29:26 <ais523> ehird: Solaris lex, at least
16:29:28 <ehird> Though traditionally proprietary software, versions of Lex based on the original AT&T code are available as open source, as part of systems such as OpenSolaris and Plan 9 from Bell Labs. Another popular open source version of Lex is Flex, the "fast lexical analyzer".
16:29:53 <AnMaster> ais523, well, I get different compiler errors for the output files depending on line endings in ick-wrap.c syslib.i and beer.i
16:30:10 <ehird> ais523: have i mentioned to you that go is cool
16:30:13 <ais523> hmm... the isatty problem can be fixed simply by defining it to always return 0 if autoconf says that isatty isn't present
16:30:15 <AnMaster> ais523, in no case is the output of ick on mac the same as ick on *nix
16:30:23 <AnMaster> ehird, even when stripping the compile command line
16:30:24 <AnMaster> err
16:30:25 <AnMaster> ais523, ^
16:30:39 <ehird> always 1, surely
16:30:43 <ehird> mac os has no file redirection
16:30:57 <ehird> or does it do cursor movement stuff
16:31:08 <AnMaster> ehird, MPW emulates redirection
16:31:58 <ais523> ehird: b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
16:31:58 <AnMaster> ais523, sure, but mac doesn't use autoconf, so I'll need to update config.h I guess
16:32:04 <ais523> and we want yy_is_interactive to be 0 in that case
16:32:17 <ehird> ais523: I told you autotools was unacceptable
16:32:19 <ehird> but did you listen?!
16:32:21 <ais523> ehird: no, it isn't
16:32:27 <ehird> it doesn't support mac os!
16:32:33 <ais523> platforms on which it doesn't run can have their own config.h bundled
16:32:42 <ehird> you could have written a nice, portable k&r c configurator with just a few times more work and provided an EQUAL EXPERIENCE TO EVERYONE
16:32:45 <AnMaster> ais523, http://sprunge.us/UIaA
16:32:45 -!- ehird has left (?).
16:32:49 -!- ehird has joined.
16:32:50 <AnMaster> ais523, tell me how bad that diff looks
16:33:04 <AnMaster> ais523, one is generated on *nix the other on mac
16:33:07 <ehird> i'll shut up if y'all help me find out how to get files into a vm so i can get ick working
16:33:08 <ehird> ...
16:33:08 <ehird> ..
16:33:10 <ehird> .
16:33:11 <ehird>
16:33:13 <ehird> WITH SYSTEM 6
16:33:17 <ais523> AnMaster: the ick_abstained line looks very wrong
16:33:24 <AnMaster> ehird, do you have a volume called "unix"?
16:33:28 <AnMaster> in the vm
16:33:35 <AnMaster> ehird, or maybe that needs system 7
16:33:37 <ehird> I haven't set it up yet
16:33:39 <ais523> AnMaster: ooh, it looks like the mac version isn't linking in syslib
16:33:44 <AnMaster> ehird, otherwise hmount to mount and copy it over
16:34:03 <AnMaster> ais523, it should be. it complained about that first but I copied syslib to the current directory, and it stopped complaining
16:34:25 <ais523> also, the mac version has an E000 error on /every single line/
16:34:37 <AnMaster> ais523, yes. Any idea what might be wrong basically
16:34:53 <ais523> lexing failure
16:35:00 <ais523> or possibly a really persistent parsing failure, but that's less likely
16:35:07 <AnMaster> ais523, anyway tht isatty line, I think it complained about fileno too. something about fileno prototype not matching
16:35:11 <ais523> it didn't link syslib because it was unreferenced
16:35:27 <ais523> #define isatty 0
16:35:28 <AnMaster> ais523, oh and things complain about getc being defined in standard library as well as in lexer.c
16:35:30 <ais523> problem solved
16:35:32 <ehird> Here we go.
16:35:38 <ais523> sorry,
16:35:42 <ais523> #define isatty(x) 0
16:35:42 <AnMaster> ais523, saying that it is undefined which is called
16:36:00 <ais523> ugh, I /knew/ that getc hack would come back to bite us more than once
16:36:17 <ais523> it wasn't me who wrote it originally, but it's really hacky and looks really problematic
16:36:19 <AnMaster> ais523, what does that getc thing do?
16:36:29 <AnMaster> that the normal one doesn't
16:36:32 <ais523> AnMaster: basically, getc is a macro
16:36:36 <ais523> so C-INTERCAL #undefs it
16:36:40 <ais523> and substitutes its own getc
16:36:59 <ais523> this has already lead to a problem once with the new getc calling itself recursively, which I fixed by bypassing stdio on file read
16:37:08 <AnMaster> ais523, no it isn't iirc. the mac claims it is a function in the libc thingy
16:37:15 <ais523> but it seems it's lead to another one where getc isn't actually a macro
16:37:55 * ehird installs System 6
16:37:57 <ais523> you could fix it using the C++ keyword hack
16:37:58 <AnMaster> ais523, why not just rename the function if you need the special version...
16:38:03 <ais523> AnMaster: I have no idea
16:38:13 <ais523> I didn't write C-INTERCAL originally
16:38:22 <ais523> probably because it would be too hard to get traditional lexen using some other function
16:38:42 <ais523> anyway, #define getc overriden_getc should work
16:39:00 <ais523> if you can get it to the top of lexer.c somehow
16:39:12 <AnMaster> ais523, huh? what does c++ has to do with this
16:39:15 <ehird> AnMaster: did you run sheepshaver at >original speed?
16:39:25 <AnMaster> ehird, eh? I never saw that option
16:39:30 <ehird> mini vmac does 8x unless you change it, which is nice but doesn't feel kosher :P
16:39:37 <AnMaster> ehird, I use the svn version of sheepshaver with experimental JIT support
16:39:53 <ehird> circa 2006
16:39:53 <ehird> not very svn
16:39:53 <AnMaster> which is quite reasonably fast
16:39:53 <ehird> ok so fast then
16:39:54 <AnMaster> ehird, well yeah
16:40:19 <AnMaster> ehird, it runs about the same speed as my old ibook. A little faster for some stuff (boots faster, probably due to faster disk) but a little slower for some other stuff
16:40:25 <AnMaster> like graphics
16:40:30 <AnMaster> as in, game graphics
16:40:35 <AnMaster> the GUI is snappy
16:41:32 <AnMaster> ais523, anyway, I did get beer.c generated on unix and with that code gen bug fixed to compile on mac against libick. Worked. As an MPW tool too
16:41:33 <ehird> ImportFl is an application to use in Mini vMac (version 3.0.0 or later) to import files into the emulated computer from the real computer.
16:41:33 <ehird> When ImportFl is the active application running in the emulated computer, then any of the methods normally used to mount a disk image will instead import a file. For example, dragging the icon of the file to be imported into the Mini vMac window.
16:41:33 <ehird> warning: When attempting to use ImportFl, if you see a dialog asking if you want to initialize the disk, choose “Eject”, not “Initialize”! This will happen if ImportFl is not actually the active application, in which case the file you are attempting to import is treated as a disk image. Choosing “Initialize” will turn it into a valid disk image, destroying parts of the previous content.
16:41:36 <ehird> ImportFl is mostly useful for importing archives, since it only imports the data fork of a file, not Macintosh specific information such as the resource fork, the file type, the file creator, and comments.
16:41:39 <ehird> Sweet!
16:41:58 <AnMaster> ais523, so if I can get the odd bug in that diff fixed so it can actually generate correct code itself..
16:42:09 <AnMaster> but I have no clue what could be wrong there
16:42:49 <ais523> that could be wrong where?
16:43:27 <ais523> OHO, found it
16:43:47 <ehird> damn, running MPW will be such such fun in this tiny, black-and-white display
16:43:55 <ais523> newline mapping for ick: \n becomes \n, \r\n becomes \n, \r\r becomes \r, \r on its own becomes a null string
16:44:03 <ais523> this is correct for Windows and DOS, but not classic Mac
16:44:17 <AnMaster> ais523, indeed. Where does one fix it. Needs to be fixed for ick and for oil
16:44:31 <AnMaster> bin2c seems to work fine
16:44:51 <ais523> for ick, it can be fixed inside getc by swapping \n and \r immediately before the if (bangflag) check
16:45:03 <ais523> (that's in lexer.l)
16:45:09 <AnMaster> ais523, um I have both CR and LF files
16:45:18 <AnMaster> so I need it to handle both
16:45:25 <ehird> AnMaster: what bbedit lite do you have?
16:45:30 <ais523> AnMaster: does ick work on a CR INTERCAL file? does it work on an LF INTERCAL file?
16:45:34 <AnMaster> ehird, 4.6, why?
16:45:38 <ehird> darn, too new
16:45:45 <ehird> The Wayback Machine is down for scheduled maintenance.
16:45:46 <ehird> RAGE
16:45:52 <AnMaster> ais523, neither. But "doesn't work" in different ways
16:45:58 <ais523> what are the two sorts of error?
16:46:11 <ais523> the diff you showed me is clearly the wrong line ending, as none of the lines parsed at all
16:46:26 <ais523> which would hide all the other errors; if you're compiling every line into a syntax error, most of the code never runs
16:46:30 <ais523> the error in the other case would be more interesting
16:46:35 <AnMaster> ais523, with \n it seems like those comments containing the original intercal each contain the whole original file with newlines stripped
16:46:43 <AnMaster> I didn't look too closely
16:46:45 <ehird> found it!
16:46:48 * ehird downloads bbedit
16:46:56 <AnMaster> ais523, remember that \r and \n are swapped by the standard library
16:47:10 <ais523> AnMaster: ooh
16:47:16 <ais523> that makes a lot of sense, actually
16:47:26 <ais523> it's failing to parse both ways roudn
16:47:28 <ais523> *round
16:47:37 <ais523> but the error message is the /line/ of the original source that wasn't parsed
16:48:02 <ais523> AnMaster: can you run a simple file with \r line endings through ick -d, and paste the corresponding debug output?
16:48:07 <ais523> a simple INTERCAL file, that is
16:48:08 <AnMaster> ais523, yes. And I only tried all LF and all CR. I guess I could try all possible combos for ick-wrap.c syslib.i and beer.i
16:48:20 <AnMaster> ais523, give me a short one then
16:48:27 <AnMaster> beer.i is long
16:48:34 <AnMaster> ais523, shortest possible one would be nice
16:48:58 <ais523> AnMaster: pit/tests/limits.i is probably about the right length
16:49:10 <ehird> Size: 872K
16:49:10 <ehird> Type: Evaluation Copy
16:49:10 <ehird> Registration Fee is $30.00 after 15 days
16:49:10 <ehird> Minimum Requirements:
16:49:11 <ehird> · System 6
16:49:11 <ehird> Download Time: 5 minutes at 28.8 kbps
16:49:12 <ehird> This software is Year 2000 compliant.
16:49:14 <ehird> —http://download.mindspring.com/mac/stuffitlite.html
16:49:27 <ais523> ehird: are you planning to pay the reg fee?
16:49:31 <AnMaster> ais523, so -c -d ?
16:49:37 <AnMaster> or exactly what flags
16:49:39 <ais523> AnMaster: -d implies -c
16:49:40 <ehird> ais523: I don't think they'd let me even if I wanted to.
16:49:42 <ais523> do just -d by itself
16:49:44 <AnMaster> ais523, right
16:49:50 <ehird> "StuffItLite36_Installer.sit"
16:50:06 * ehird facepalm
16:50:10 <AnMaster> ais523, it is spewing output to my mpw worksheet. Guess I'll redirect it
16:50:23 <ehird> Guys, laugh.
16:50:23 <SimonRC> ehird: if that means what I think it means, I agree
16:50:31 <ehird> .sit is indeed the Stuffit format
16:50:35 <AnMaster> ehird, :P
16:50:43 <AnMaster> ais523, is that stdout or stderr?
16:50:55 <ais523> AnMaster: I can't remember offhand
16:51:00 <ais523> probably stderr, though
16:51:02 * ehird picks up an hqx bbedit until that conundrum is sollve
16:51:07 <ehird> s/sollve/solved/
16:51:16 <ehird> Argh.
16:51:21 <ehird> hqxs just turn into .sits
16:51:43 <SimonRC> huh?
16:51:48 <SimonRC> "turn into"?
16:52:05 <ehird> OS X expanding them
16:52:07 <ehird> so they contain .sits
16:52:08 <AnMaster> ais523, both
16:52:09 <ehird> so forget that
16:52:14 <ehird> AnMaster: what stuffit you got
16:52:16 <AnMaster> ais523, and I can't redirect both to same file it seems
16:52:24 <ais523> redirect them to different files then
16:52:28 <AnMaster> ehird, 7.something
16:52:29 <ais523> the relative order isn't all that important
16:52:34 <ehird> sigh
16:52:54 <AnMaster> ais523, do you want the file itself too?
16:53:09 <ais523> just the stderr/stdout output
16:53:18 <ais523> cat them together to save pastebin space
16:53:23 <ehird> http://www.jagshouse.com/software/StuffItExpander351.sea
16:53:26 <ehird> .sea, that sounds better
16:53:29 <ehird> Self-extracting archive
16:54:16 <fizzie> For *really* old .sit files you can just use the "macunpack" tool from the "macutils" collection to unpack. (Personally it hasn't eaten most web-downloaded .sit files I've found, though.)
16:54:17 <ehird> No luck.
16:54:30 <AnMaster> ais523, stdout: http://sprunge.us/WNGO
16:54:32 <ehird> Guess I need the rfork.
16:54:43 <AnMaster> ais523, stderr: http://sprunge.us/NDVB
16:54:52 <AnMaster> ais523, probably uses CR those files
16:55:10 <ais523> "yylex: bad char 0xd"
16:55:16 <ais523> that explains the errors, at least
16:55:30 <AnMaster> ais523, that was CR. I'm pretty sure
16:55:53 <ais523> solution here seems to be to set both 0xa and 0xd to the same value in the parser
16:55:55 <ais523> *lexer
16:56:04 <AnMaster> ais523, sounds hackish?
16:56:09 <AnMaster> but okay
16:56:15 <ais523> not really
16:56:22 <ais523> W [\ \t\n]*
16:56:23 <ais523> D [0-9][\ \t\n0-9]*
16:56:29 <ais523> in those lines in lexer.l, change \n to \n\r
16:56:39 <ais523> given that "W" means "whitespace", it's OK to consider \r as whitespace i think
16:56:41 <ais523> *I think
16:56:48 <AnMaster> ais523, lexer.l?
16:56:52 <ais523> AnMaster: src/lexer.l
16:56:55 <AnMaster> right
16:56:56 <ais523> it's what you compile to create lexer.c
16:57:32 <ais523> change it over on a Linux system, then do make repoupdate
16:57:38 <AnMaster> ais523, well yes of course
16:57:38 <ais523> to get a new prebuild lexer.c
16:57:43 <AnMaster> what is D?
16:57:59 <ais523> digits followed by optional whitespace
16:58:15 <AnMaster> ais523, my lexer.c differs in more than that from the pre-built, it has some IA64 #ifdefs now
16:58:16 <AnMaster> heh
16:58:25 <ais523> heh
16:58:26 <AnMaster> oh and right, I need to change the isatty to 0 again
16:58:29 <fizzie> That looks more like "digits with maybe whitespace between them too".
16:58:41 <ais523> fizzie: oh, ofc
16:58:48 <ais523> INTERCAL has its own attitude to whitespace insensitivity
16:59:15 <fizzie> A bit funny that "12 \n\r\r\r\n 34 \n\n\n\n" is a single token.
16:59:41 <ehird> YES
16:59:42 <ehird> A BIN
17:00:13 <ehird> sdhf
17:00:17 <ehird> but the resource fork won't copy
17:00:36 <AnMaster> ais523, still the getc warning
17:00:47 <ais523> fizzie: sorear's interpretation of the INTERCAL spec is that whitespace is allowed even inside comments
17:00:47 <AnMaster> about it being defined in StdCLib
17:00:58 <ais523> AnMaster: write #define getc getc_override just after #undef getc
17:01:00 <ais523> in lexer.c
17:01:09 <AnMaster> hm ok
17:01:10 <ehird> AHA
17:01:11 <ehird> Rename to .dmg
17:01:13 <ehird> And you can mount it
17:01:35 <AnMaster> ais523, so what should I test now?
17:02:07 <ais523> AnMaster: whether you can now compile that test program and get something other than infinite syntax errors
17:03:32 <AnMaster> ais523, now I get the same error as on unix. that is the code gen bug
17:03:46 <AnMaster> will manually fix that empty array and retry
17:04:07 <ais523> try with -c
17:04:11 <ais523> and see if the resulting C file is reasonable
17:04:47 <ehird> Okay, got Stuffit and BBEdit Lite.
17:05:01 <fizzie> Hey! That "use mkisofs/genisoimage to make a HFS cd image so that I can get my separate 'foo' data and '._foo' resource forks joined together" trick I did with Glider 4 was probably unnecessary; I just noticed that the "macstream" make-a-MacBinary-file has a support for split files; if an input file ends with .info, it reads the corresponding .data and .rsrc files too.
17:07:15 <AnMaster> ais523, beer now works
17:07:17 <ehird> ais523: do you think 4 megs of ram is enough to compile ick?
17:07:21 <AnMaster> as an mpw tool yes
17:07:28 <ais523> ehird: yes, probably
17:07:34 <ais523> AnMaster: yay
17:07:36 <AnMaster> ais523, -c will always be needed on classic mac btw
17:07:42 <ehird> -c?
17:07:47 <ais523> ehird: generate C, not a binary
17:07:49 <AnMaster> ais523, and it should output the commands to compile it to stdout
17:07:57 <ehird> i'ma gonna put some stuff on my totally p!!mp!n mac and then yeah mpw it up
17:08:00 <AnMaster> ais523, reason is that MPW tools can't invoke other MPW tools
17:08:21 <ais523> commands to compile are already available
17:08:30 <ais523> although I forget which variable they're in
17:08:56 <AnMaster> ais523, well the standard ones won't work. like you can't do -Ifoo/ you do -i :foo:
17:08:59 <AnMaster> the space is required
17:09:12 <ais523> looks like we'll need a #ifdef somewhere for the platform
17:09:12 <AnMaster> as for -L I haven't found that
17:09:17 <AnMaster> you must give full path
17:09:25 <AnMaster> actually no
17:09:30 <AnMaster> you should use the standard variables
17:09:58 <AnMaster> like "{PPCLibraries}"PPCToolLibs.o
17:10:01 <AnMaster> for that library
17:10:18 <AnMaster> ais523, and you need to specify the c library to the linker
17:10:23 <AnMaster> oh and compiler can't call linker
17:10:31 <AnMaster> let me copy over the commands I used to test that
17:12:13 <AnMaster> ais523, http://sprunge.us/JVAa
17:12:16 <AnMaster> that is what it looks like
17:12:45 <AnMaster> ais523, ick-wrap.c and syslib.i were in current directory
17:13:18 -!- adam_d has joined.
17:13:58 <AnMaster> ais523, and beer is compiled as an MPW tool. Which might be a suboptimal solution. Possibly a free standing program is better. To prevent it from locking up MPW in case of bugs
17:14:11 <ais523> hmm
17:14:44 <AnMaster> ais523, could use that SIOW thing which does IO in a window for you. To emulate a "glass teletype" I think the term was in the docs for that bit
17:19:17 <pikhq> AnMaster: It's on Mac. Bugs can lock up the whole OS.
17:19:22 <pikhq> ... And kill your cat.
17:20:07 <AnMaster> pikhq, well, as in "waiting for IO means you can't quit it"
17:20:24 <pikhq> Ah. Simpler bugs than "while(true);"
17:21:49 <SimonRC> I heard a story somewhere about macs that kept breaking a certain computer network
17:21:58 <SimonRC> (ages ago)
17:22:32 <ehird> Nice hex editor...
17:22:33 <SimonRC> it turned out they didn't respond to the network while a user was looking at a menu
17:22:37 <SimonRC> causing lockups
17:22:37 <ehird> Will install this XLisp thing then go on to
17:22:38 <ehird> DUN DUN DUN
17:22:40 <ehird> MPW
17:23:08 <fizzie> AnMaster: Speaking of the emulators (BasiliskII, SheepShaver), did you happen to try out the networking parts?
17:23:36 <ehird> BasiliskII can do tcp/ip i believe; there's a twitter client
17:24:09 <ehird> Okay, slight issue.
17:24:13 <ehird> Does MPW actually run on System 6?
17:24:23 <ehird> Yes.
17:24:46 <ehird> 3.1 and under were System 6-only, even.
17:26:42 <ehird> This XLisp seems quite good.
17:26:58 <ehird> Calculated (fact 100) and all.
17:26:59 <fizzie> BasiliskII can do networking, in theory, but it's awfully outdated. There's a custom kernel module (sheep_net) to make it attach to a real Ethernet interface, but I'm not sure it'll compile with anything modern; there's also an ethertap-based virtual networking thing, but it tries to use the obsoleted /dev/tapN devices (nowadays you have to open /dev/net/tun and do an ioctl); and the third option is a bit undocumented thing that sort-of seems to send all the
17:26:59 <fizzie> outgoing ethernet packets tunneled in broadcast UDP packets, which is not very standard (or easy-to-plug-into-routing) either.
17:27:13 <fizzie> Maybe there are some modernization patches in the webs, though.
17:27:26 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)).
17:28:45 <ehird> Okay, time for serious stuff.
17:29:36 <ehird> ais523: are you ready to support a user with an emulated Mac Plus with 100 MiB of DISK, 4 MiB of RAM (8 MiB maximum addressable), Macintosh System Software 6.0.8, Macintosh Programmer's Workshop something and a copy of the latest-'n-greatest C-INTERCAL?
17:30:04 <ais523> probably not, but I'll probably try anyway
17:30:23 <ehird> With a black-and-white 512x342 display, at that.
17:30:25 <ehird> Very infuriating.
17:30:37 <ehird> ais523: When did C-INTERCAL originate?
17:30:59 * ais523 checks
17:31:05 <AnMaster> <fizzie> AnMaster: Speaking of the emulators (BasiliskII, SheepShaver), did you happen to try out the networking parts? <-- yes
17:31:07 <AnMaster> worked fine
17:31:12 <AnMaster> slirp or something like that iirc
17:31:33 <ais523> version 0.3, the earliest I've managed to find, was dated 12 May 1990
17:31:52 <ehird> Same year as the last update of this System 6! If only esr was a Macintosh user.
17:31:59 <ehird> erm
17:32:00 <ehird> this as in
17:32:02 <ehird> the copy I have
17:32:13 <ais523> gah, this means I'm older than C-INTERCAL
17:32:17 <ais523> there's something wrong with that
17:32:31 <ehird> dude, I'm younger than Agora
17:32:33 <ehird> that's freakier
17:33:11 <oklofok> i'm younger than my own father
17:33:16 <ehird> !
17:34:11 <SimonRC> hm
17:37:19 <AnMaster> fizzie, slirp works fine for internet explorer 5.1 btw
17:37:32 <ehird> AnMaster: what files did you download to get mpw?
17:37:34 <AnMaster> err 4.x maybe
17:37:48 <AnMaster> ehird, the main mpw img (iirc) plus various updates to it
17:37:50 <AnMaster> see apples page
17:37:52 <AnMaster> sec for link
17:38:00 <ehird> but it's too recent
17:38:10 <AnMaster> ehird, that's what I used
17:38:14 <AnMaster> http://developer.apple.com/tools/mpw-tools/
17:38:31 <AnMaster> ehird, if it is too recent or not wasn't in the original question
17:38:34 <ehird> http://lists.apple.com/archives/MPW-Dev/2003/Jan/msg00029.html >_<
17:38:52 <ehird> http://www.macintoshgarden.org/apps/macintosh-programmers-workshop-30-31
17:38:54 <ehird> fucking
17:38:54 <ehird> ACE
17:39:49 <ehird> Wow, it's a CD-ROM.
17:39:53 <ehird> Seedy ROM.
17:40:26 <ehird> AnMaster: what's SADE
17:40:34 <AnMaster> ehird, ?
17:40:44 <ehird> mpw
17:40:48 <AnMaster> never heard of SADE
17:40:48 <ehird> macbugs, mpw, resedit, sade
17:40:52 <ehird> some debugger thing
17:41:24 <ehird> MPW 3.1 + ResEdit 1.2.
17:41:27 <ehird> I hate debuggers.
17:41:31 <ehird> Copy time!
17:42:49 <AnMaster> ehird, macsbug breaks under sheepshaver, because it needs better emulation of hardware
17:43:03 <AnMaster> sheepshaver and basiliskII both take some shortcuts with the MacOS ROM iirc
17:43:09 <AnMaster> so they don't have to emulate all hardware
17:43:38 <AnMaster> ehird, not sure if macsbug work under basiliskII
17:43:39 <ehird> ResEdit is there but not MPW. I'll try copying again.
17:43:45 <ehird> AnMaster: Mini vMac is full emulation
17:43:47 <AnMaster> ehird, I have resedit
17:43:50 <ehird> which is why you can't futz with the screen res etc
17:43:51 <AnMaster> ehird, true
17:44:00 <AnMaster> ehird, um. why?
17:44:14 <fizzie> AnMaster: Right, my BasiliskII README just doesn't say anything about it; now that you mention it, I guess I remember seeing it in the config dialog thing. MacTCP or OpenTransport inside, though?
17:44:15 <ehird> Because it requires ROM hacks, and it's meant to be authentic (it breaks some shit).
17:44:35 <AnMaster> fizzie, sheepshaver. OS 9. That means opentransport is the only thing
17:44:37 <ehird> You use Mini vMac with ROMs straight from a real Mac, fully-emulated.
17:44:42 <AnMaster> fizzie, never tried network under basiliskII
17:45:08 <AnMaster> ehird, right.
17:45:35 <ehird> XD
17:45:39 <ehird> MPW was right behind the system folder
17:45:44 <AnMaster> ehird, hah
17:46:00 <fizzie> AnMaster: Ah, okay. I was thinking of this System 7; I installed both MacTCP, OpenTransport and the "Network Software Selector", and I remember it working just fine in the Performa (there was a control strip thing that could be used to select the TCP stack), but in this emulated thing I don't seem to be able to find the selector, just the MacTCP parts.
17:46:02 <ehird> Oh, non-icon view. Why didn't I switch to that earlier?
17:46:27 <fizzie> Oh, there it is.
17:46:31 -!- oerjan has joined.
17:46:35 <ehird> AnMaster: what app do you start to start MPW? MPW Shell?
17:46:49 <ehird> Holy fucking shit...
17:46:57 <ehird> Last modified Friday, December 15th, 1989.
17:47:01 <ehird> ais523: ↑
17:47:13 <ais523> heh
17:47:18 <ehird> ais523: It's somehow more intimidating than the vintage Unix.
17:47:25 <ehird> It's ... so close that it must be so ... far?
17:47:48 <AnMaster> <ehird> AnMaster: what app do you start to start MPW? MPW Shell? <-- yes?
17:48:09 <AnMaster> ehird, actually no, I double click my makefile, so current working directory is correct
17:48:10 <ehird> Aaaand we're loaded
17:48:20 <AnMaster> but that opens in mpw shell
17:48:26 <ehird> Shall I try a hello world mmhm?
17:48:48 <AnMaster> ehird, sure. You will need SIOW or MPW tool for it to work under 68k
17:48:58 <AnMaster> otherwise the output goes nowhere
17:49:04 <ehird> This is pre-PPC.
17:49:16 <ehird> All anyone had was 68k.
17:49:16 <ehird> *has was
17:49:16 <AnMaster> ehird, yes. But SIOW is for 68k too
17:49:19 <ehird> What is SIOW?
17:49:26 <ehird> ais523: even C is an oddity, as these macs did Pascal
17:49:41 <AnMaster> ehird, some code to wrap a portable C app so standard IO goes to a window
17:49:47 <AnMaster> to/from I guess
17:49:54 <AnMaster> ehird, you can't pass command line parameters
17:49:54 <ehird> Ah.
17:50:05 <ehird> Third-party code, I guess?
17:50:05 <AnMaster> if you need that, MPW tool is your only option
17:50:13 <ehird> Does MPW tool have any downsides?
17:50:14 <AnMaster> ehird, there is an example included with both MPW and one with codewarrior
17:50:44 <AnMaster> ehird, yes: you run inside mpw, so you can't call another mpw tool, and memory leaks will as far as I understand affect mpw
17:50:49 <AnMaster> oh and you can easily lock up mpw
17:51:19 <AnMaster> ehird, however you can use a normal program + some resources for it. At least under PPC. Not sure if it works the same for 68k
17:51:32 <ehird> ais523: would you accept a patch to C-INTERCAL that let you configure that args are from stdin?
17:51:34 <ehird> instead of argc and argv
17:51:39 <ehird> in config.h
17:51:52 <ais523> yes, patches to make things configurable are always fine
17:52:01 <ais523> as long as they don't change the default
17:52:02 <AnMaster> ehird, um. ick as MPW tool works fine
17:52:04 <AnMaster> just fine
17:52:04 <AnMaster> ...
17:52:10 <ais523> and don't do anything else ridiculous
17:52:10 <ehird> ais523: zzo38 would have a field day
17:52:12 <AnMaster> and I will soon prepare my patch to ais523
17:52:15 <ehird> AnMaster: But I want separate apps!
17:52:27 <AnMaster> ehird, for a compiler it is useful as an MPW tool
17:52:31 <AnMaster> for the generated apps it isn't
17:53:08 <AnMaster> ais523, anyway, what about a patch for lexer.c?
17:53:10 <ehird> "Drag the source file to the Compile with Ick icon. A new icon should appear, named INTERCAL Application. Rename it to what you want and drag it somewhere."
17:53:14 <AnMaster> you mentioned autoconf stuff
17:53:31 <ehird> Why is iit useful as an MPW tool?
17:53:34 <ehird> *it
17:53:36 <AnMaster> ehird, you can't call the MPW C compiler from outside MPW iirc
17:53:45 <AnMaster> so you need to somehow open MPW and run it there.
17:53:51 <AnMaster> maybe applescript could do it
17:53:53 <AnMaster> not sure
17:53:53 <ehird> But you said it doesn't work calling the cc anyway.
17:54:12 <AnMaster> ehird, well as an external app you could possibly do it
17:54:18 <AnMaster> if you have multitasking back there
17:54:27 <AnMaster> ehird, oh btw does your MPW have something called "toolserver"?
17:54:33 <AnMaster> if so you might have a chance
17:54:51 <AnMaster> if not, and no apple script you can pretty much forget calling compiler for the user
17:54:52 <ehird> How would I find out?
17:55:14 <AnMaster> ehird, toolserver would be in same dir as mpw shell
17:55:16 <AnMaster> at least for me
17:55:17 <ehird> You have ick as an MPW Tool and it can't call cc you said.
17:55:19 <oklofok> i don't like kanye west's music.
17:55:19 <ehird> So that's not an advantage.
17:55:31 <ehird> And didn't you say the arguments had to be existing files?
17:55:57 <AnMaster> <ehird> You have ick as an MPW Tool and it can't call cc you said. <-- no but command line args work, and you can use the make stuff in mpw and so on. It integrates just like the C compiler does
17:56:31 <ehird> You have to write support code though, right?
17:56:37 <AnMaster> ehird, and arguments = existing files was for normal programs
17:56:40 <AnMaster> not for mpw tools
17:56:44 <ehird> Ah.
17:56:46 <AnMaster> ehird, not much actually.
17:56:47 <ehird> Fine, then.
17:56:53 <ehird> How do I make an MPW Tool Hello World?
17:56:58 <ehird> This interface is inscrutable.
17:57:03 <AnMaster> ehird, there is an example with my mpw version
17:57:20 <ehird> Example projects, certainly; I just don't know how to go about creating one of my own.
17:57:43 <AnMaster> ehird, I figured that out from the example programs though :P
17:57:53 <ehird> Anyway, what will my output applications do?
17:57:58 <AnMaster> ehird, standard C program, compile C file, some special linker flags, some special resources (Using Rez)
17:57:58 <ehird> Use that other one?
17:58:18 <ehird> Also, I don't even know how to say "Here, give me a new project".
17:58:19 <AnMaster> ehird, IO goes to MPW shell.
17:58:29 <AnMaster> ehird, there is no project. Write a makefile
17:58:29 <ehird> Yes... you said MPW Tool is good for ick...
17:58:32 <ehird> Not the resulting programs...
17:58:56 * ehird creates Six:Code
17:59:02 <AnMaster> ehird, well bad for resulting program because standard input is weird for them. And it is easy to lock up MPW
17:59:17 <ehird> So... why not make it non-MPW Tool?
17:59:22 <AnMaster> so far I did them as MPW tools however. For reasons of ease of testing
17:59:28 <AnMaster> ehird, what would that be?
17:59:29 <ehird> Well, okay.
17:59:32 <ehird> The other thing.
17:59:39 <AnMaster> ehird, free standing apps?
17:59:43 <ehird> No.
17:59:44 <AnMaster> with the SIOW thing?
17:59:46 <ehird> Yes.
17:59:51 <AnMaster> ehird, that's a free standing app
17:59:54 <AnMaster> ...
17:59:56 <AnMaster> I mean
17:59:59 <ehird> I misunderstood.
18:00:03 <AnMaster> SIOW is some stuff you link to your app
18:00:08 <ehird> Anyway, what do I write first? I have Six:Code:Hello MPW.
18:00:10 <ehird> Makefile? C file?
18:00:10 <AnMaster> I haven't looked into the details of that yet
18:00:14 <ehird> (Open MPW?)
18:00:26 <AnMaster> ehird, open mpw and create a c file and a make file?
18:00:29 <AnMaster> ...
18:00:37 <AnMaster> now I'm busy preparing a patch. Kay?
18:00:44 <ehird> See, that's kind of the thing in that I don't have a clue how.
18:01:10 <ehird> Also there are projects
18:01:14 <ehird> "Projects → New Project..."
18:01:25 <ehird> *Project →
18:02:39 <AnMaster> ehird, didn't use that
18:02:46 <ehird> Okay.
18:03:03 <ehird> So, File → New... "hello.c", I guess.
18:03:23 <AnMaster> ais523, what about oil needing \r in the *.oil file?
18:03:36 <ehird> Does my C file need special magic or can I just stdio 'er up?
18:03:36 <AnMaster> ais523, how would I fix it to work with both
18:03:39 <ais523> AnMaster: you could probably fix that much the same way in oil.y
18:04:02 <AnMaster> ais523, that is not lex. that's yacc. That's different isn't it?
18:04:15 <ais523> oil.y doesn't use lex at all
18:04:18 <ais523> it has a hand-built lexer
18:04:38 <AnMaster> ais523, so I guess that is where it needs to be fixed?
18:05:07 <ehird> Does my C file need special magic or can I just stdio 'er up?
18:05:47 -!- coppro has joined.
18:05:49 <ais523> AnMaster: yes
18:06:23 <AnMaster> ais523, I'm afraid the mac makefile probably requires CR line endings. I'm not sure. Still patch doesn't like it very much...
18:06:57 <ais523> AnMaster: even if you tell it to ignore whitespace
18:06:59 <ais523> ?
18:06:59 * AnMaster tests
18:07:00 <ehird> oi
18:07:11 <ais523> ehird: I have no idea what you mean, if that question was directed at me
18:07:17 <ehird> nope
18:08:11 <AnMaster> ais523, actually MPW seems happy with LF line endings heh
18:08:19 <ehird> AAAAAAAAAAANMAAAAAAAAASTER
18:09:44 <Deewiant> AnMaster: ^
18:10:09 <AnMaster> ais523, what about ick_numerals being defined in both cesspool.c and numerals.c ?
18:10:21 <AnMaster> ais523, got a huge warning about that
18:10:24 <ehird> Deewiant: don't bother, I think he's ignoring me either mentally or technologically
18:10:27 <ais523> I thought that was correct, maybe not though
18:10:38 <AnMaster> <ehird> Does my C file need special magic or can I just stdio 'er up? <-- try it and see?
18:10:55 <AnMaster> ais523, maybe they should be static? Or one should be extern?
18:11:09 <ais523> can't remember offhand, and I'm busy with something else
18:11:11 <ehird> AnMaster: Well for one I have no idea what fucked up makefile syntax is used...
18:12:44 <AnMaster> ehird, look at examples in MPW? That's what I did
18:12:54 <ehird> I tried to but the interface makes no sense.
18:12:59 <AnMaster> I based mine on that and then rewrote it and rewrote it
18:13:01 <AnMaster> ehird, what interface?
18:13:05 <ehird> MPW
18:13:07 <AnMaster> the editor window?
18:13:15 <AnMaster> ehird, it's just an editor window for the makefile
18:13:29 <AnMaster> ehird, the worksheet is like a cross between a crippled shell and *scratch* in emacs
18:13:41 <AnMaster> cmd-enter to execute current line or selected textr
18:13:44 <AnMaster> text*
18:15:28 <AnMaster> ais523, the patch is at http://omploader.org/vMnJxeg (didn't want pastebin due to possible stripping whitespaces and such, this should be binary-safe)
18:15:53 <ehird> It's called ick
18:15:56 <AnMaster> ais523, note that this still needs some fix for lexer.c's isatty() and for oil
18:16:19 <AnMaster> ehird, eh? yes ick is called ick
18:16:30 * ais523 downloads it
18:16:36 <ehird> +# ICK Makefile for MPW
18:16:43 <AnMaster> ais523, and it would need some handling for "not invoking compiler" too
18:17:23 <AnMaster> ais523, still this works for me on a real mac. Sheepshaver crashes on compiling convickt.c, but it works fine to use an object file from a real mac for that one
18:17:39 <AnMaster> and yes work in progress. But it is a beginning
18:17:41 <ais523> convickt's optional, you could just remove it altogether without affecting the main program
18:18:32 <AnMaster> ais523, and yes this needs syslib.i and such copied around. There is no real concept of install targets anyway. But yes some work on that needs to be done. Still a first milestone is reached :)
18:21:28 <fizzie> "The application 'unknown' has unexpectedly quit, because an error of type 3 occurred." Heh.
18:21:37 <AnMaster> fizzie, what did you do?
18:22:18 <fizzie> Tried to run Ircle 3.1.2 68k in BasiliskII, to test out that networking thing.
18:23:04 -!- Sgeo has joined.
18:23:14 <AnMaster> hm
18:23:40 <ais523> going off to get dinner, I'll be back in a bit
18:23:45 <AnMaster> ais523, cya
18:24:16 <AnMaster> ais523, anyway sheepshaver likes to crash at least once during a full build anyway. Just not 100% reproducible.
18:24:27 <AnMaster> and file system isn't journaled no
18:24:46 <AnMaster> I ended up having to boot from a cd image once today to fix things
18:25:22 <AnMaster> turned out desktop db file was badly damaged. Oh and a few tiles object files have been half written or such.
18:26:58 <AnMaster> ehird, did you figure out that Project menu?
18:27:08 <ehird> nah
18:27:22 <AnMaster> ehird, I think it is for some old and obsolete source control system
18:27:24 <fizzie> Heh, Ircle 3.1f3 68k: "Sorry, a system error occurred. "ircle 3.1 British 68k" numeric overflow [Restart]". I have a feeling that emulator is not the stablest piece of work ever.
18:27:28 -!- adam_d has quit (Read error: 110 (Connection timed out)).
18:27:32 <AnMaster> I think I read something about that somewhere
18:27:44 <AnMaster> fizzie, you only now discovered that?
18:28:01 <fizzie> AnMaster: Hey, it ran my Glider game just fine. Besides, after a restart starting ircle seems to work.
18:28:51 <AnMaster> I guess you could rewrite it to a codewarrior project, but I don't think you can generate files as you go along then
18:29:13 <AnMaster> and it would be a PITA for everyone to find that and install
18:29:27 <AnMaster> what with not being freely available easily
18:29:41 <ais523> back
18:33:04 <AnMaster> ais523, I can't find where in oil.y to add \r
18:34:22 <ais523> lines 383 and 700
18:34:27 <ais523> I think
18:36:29 <AnMaster> ais523, hm now this always confuse me in C. Operator precedence between == and &&. Can never remember that.
18:37:09 <ais523> == binds tighter
18:37:21 <ais523> why is that one hard to remember? logical operators are lowest of all
18:37:34 <ais523> the possibly confusing relation is that == binds tighter than &, maybe that's what was confusing you
18:37:44 <ais523> (well, ?: and , are even lower. but not ==)
18:38:19 -!- ehird has quit.
18:38:32 -!- fizzircle has joined.
18:39:02 <fizzircle> Yay, MacTCP was a much better choice.
18:43:22 <ais523> fizzircle: are you online from a mac
18:43:24 <ais523> or emulated one?
18:46:09 -!- augur has quit (Read error: 104 (Connection reset by peer)).
18:46:24 -!- augur has joined.
18:50:21 <fizzircle> ais523> An emulated one, with BasiliskII.
18:50:32 <fizzircle> Hm, the colon is not where it should be.
18:51:02 <AnMaster> ais523, that oil fix seems to work
18:51:15 <AnMaster> fizzircle, I had to rewrite the keymap file for sheepshaver a lot
18:51:20 <AnMaster> to get anything to work
18:51:34 <AnMaster> oh and it tries to use keysym by default. Doesn't work well at all
18:52:17 <fizzie> This has some rendering issues in the input line window: http://zem.fi/~fis/ircle.png
18:59:09 <AnMaster> ais523, what about the getc_override? Is it generic enough to work on *nix too?
18:59:21 <ais523> yes, although it's probably worth guarding it anyway
18:59:30 <ais523> as it's liable to break other things at random, being a rather crude hack
18:59:40 <ais523> admittedly, the existing situation is /also/ a crude hack...
18:59:41 -!- Rugxulo has joined.
18:59:56 <AnMaster> ais523, can't you rewrite it to not be such a crude hack
19:00:00 <AnMaster> ais523, bbiab food
19:00:14 <Rugxulo> ais523: is Interfunge supposed to accept input in Befunge programs?
19:00:50 <ais523> Rugxulo: yes
19:00:58 <ais523> although, note that the input program must be /exactly/ 80x24
19:01:05 <ais523> pad lines with spaces if needed
19:01:21 <Rugxulo> eh?
19:01:41 <Rugxulo> it seems to work on normal Befunge93 programs but not with "~" or "&"
19:02:57 <Rugxulo> &:*.@
19:03:09 <Rugxulo> doesn't work
19:03:26 <Rugxulo> 5:*.@
19:03:28 <Rugxulo> does
19:03:36 -!- BeholdMyGlory has joined.
19:06:17 <AnMaster> Rugxulo, um. Did you pad it up to the required size first?
19:06:38 <Rugxulo> the Befunge program itself?? I just now tried that, it didn't seem to help
19:06:46 <AnMaster> mhm
19:07:13 <Rugxulo> although it's hard to tell if I did it correctly or not (since either way it didn't work)
19:08:35 <AnMaster> ais523, I have no idea how to go about the isatty thingy in autoconf. I could do a MPW specific hack. Or I could let you do it,
19:08:46 <AnMaster> ais523, note that fileno inside it is unistd.h too
19:09:16 <AnMaster> err
19:09:20 <AnMaster> *is POSIX too*
19:09:22 <AnMaster> is what I meant
19:09:34 <AnMaster> for some reason that didn't give any error on the mac though. Maybe it has the function, it might or might not do the same thing
19:13:01 <AnMaster> ais523, ick is still broken for LF input. The huge comment thing still applies
19:13:13 <ais523> ah, ok
19:13:20 <ais523> that sort-of makes sense
19:13:39 <AnMaster> ais523, it treats the entire thing as one line if input is in LF
19:13:44 <AnMaster> ais523, so why did that happen
19:13:54 <ais523> beacuse the entire thing is one line
19:14:21 <oerjan> you'd think that would explain it
19:15:40 <Sgeo> I think I dislike Hive Rise
19:15:43 <Sgeo> Not enough people play it
19:15:52 <Sgeo> I'm going to fiddle with Shattered Galaxy
19:16:24 <Rugxulo> BTW, shouldn't ick have at least one Befunge and one Unlambda example to test the interpreters (interfunge.i, unlambda.i) ??
19:16:34 <AnMaster> ais523, well I thought the lexer was supposed to understand both CR and LF now after the change?
19:16:43 <ais523> it does
19:16:49 <AnMaster> ais523, so why doesn't it work then.
19:16:49 <ais523> but, that doesn't change the definition of what a line is
19:16:50 <Rugxulo> where?
19:16:59 <Rugxulo> n/m
19:17:01 <AnMaster> ais523, which is?
19:17:06 <ais523> AnMaster: between newlines
19:17:10 <ais523> (or between \r on a Mac)
19:17:18 <AnMaster> ais523, and how do you fix the lexer to handle that?
19:17:39 <AnMaster> ais523, so newlines can be any of \r \n and \r\n
19:17:47 <AnMaster> after all cfunge manages it, can't see why flex shouldn't
19:18:05 -!- Dav1d has joined.
19:18:17 <ais523> AnMaster: it is not wrong
19:18:25 <AnMaster> ais523, um. What?
19:18:30 <ais523> displaying all of a program with no newlines as one line is not wrong
19:18:35 <ais523> if \r is a newline on a Mac, \n isn't
19:18:49 <AnMaster> ais523, well also it generates wrong code. A huge ick_lose for the whole thing
19:19:05 <AnMaster> surely that is more than just "displaying"
19:19:07 -!- Dav1d has left (?).
19:19:26 <ais523> but it generates correct code with correct newlines?
19:19:40 <ais523> ick isn't like cfunge, it wants input files to use platform-appropriate newlines
19:19:45 <AnMaster> ais523, hm
19:24:34 <AnMaster> ais523, but what if a platform uses both?
19:24:52 <ais523> no platform uses inconsistent newlines
19:25:05 <AnMaster> ais523, as in "both is allowed"
19:25:13 <ais523> no platform does that
19:25:19 <ais523> because it would make no sense
19:25:22 <AnMaster> ais523, oh and there seems to be a compiler option for this \n <-> \r translation
19:25:28 <AnMaster> so yes it can be inconsistent
19:25:43 <AnMaster> ais523, if I use it only for some of the files
19:25:45 <AnMaster> :P
19:26:19 <AnMaster> ais523, also can convickt do CR<->LF?
19:26:26 <AnMaster> it would seem fit for old mac
19:27:00 <ais523> AnMaster: not yet, but it would be easy enough to code it to do so
19:27:10 <AnMaster> hm
19:27:15 <ais523> does old mac use ASCII?
19:27:28 <AnMaster> ais523, yes but not ISO-whatever
19:27:31 <AnMaster> it uses MacRoman
19:28:09 <AnMaster> ais523, for example åäö are encoded differently
19:28:26 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
19:28:37 <AnMaster> http://en.wikipedia.org/wiki/Mac_OS_Roman
19:30:19 <AnMaster> ais523, the makefile syntax makes use of some of those
19:30:37 <AnMaster> as you might have seen in that patch
19:31:10 <Rugxulo> http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/cpi/old/cpimac12.zip ;-)
19:32:00 <AnMaster> Rugxulo, hm?
19:32:13 <Rugxulo> oh nothing, just DOS spam
19:32:27 <AnMaster> completely irrelevant to making the convickt mapping
19:33:21 <AnMaster> ais523, I have no clue how to make the convickt mapping. Since it isn't a 1:1 mapping with any charset I assume you have to go by unicode
19:33:51 <ais523> AnMaster: all you really need is equivalents for the characters used by INTERCAL
19:34:04 <AnMaster> ais523, is that pure ASCII?
19:34:08 * AnMaster forgot
19:34:12 <ais523> AnMaster: not quite
19:34:19 <ais523> some characters are represented differently in different charsets
19:34:26 <ais523> e.g. mingle is ¢ in EBCDIC and $ in ASCII
19:34:56 <AnMaster> ais523, so what is not available in ASCII? As the lower 127 chars in MacRoman are identical to ASCII
19:35:17 <ais523> AnMaster: not quite, \n and \r are the other way round
19:36:19 <AnMaster> ais523, not really. It is just that which one is used for newline has changed. And that the C compiler does the same sort of tricks as is done on windows for \n <-> \r\n
19:36:45 <AnMaster> ais523, so you have a \n <-> \r\n mapping for windows too?
19:37:10 <ais523> no, I just ignore lone \r characters
19:37:17 <ais523> as in, \r not followed by \r
19:37:24 <ais523> so \r\n becomes just \n
19:37:35 <AnMaster> ais523, do you do that even on linux?
19:37:42 <AnMaster> if so, that seems wrong.
19:37:46 <AnMaster> since that isn't the native newline
19:37:50 <AnMaster> that you mentioned above
19:39:03 -!- BeholdMyGlory has joined.
19:41:48 <AnMaster> ais523, well? do you do that on linux too?
19:41:56 <ais523> yes
19:42:13 <AnMaster> ais523, wrong. If LF should be forbidden on mac it should be consistent at least for all platforms.
19:42:18 <AnMaster> IMO
19:42:32 <ais523> lone CR's forbidden on Windows and Linux...
19:42:48 <AnMaster> ais523, but \r\n should be forbidden too on windows
19:42:51 <AnMaster> err
19:42:54 <oerjan> i assume it would be hideously un-INTERCALish to borrow the python universal-newline convention :D
19:42:54 <AnMaster> on linux
19:42:58 <AnMaster> and only be allowed on windows
19:43:17 <AnMaster> ais523, by the same logic
19:43:37 <ais523> hmm, maybe
19:43:42 <AnMaster> if you don't change it to act that way, you are just being completely inconsistent.
19:43:44 <ais523> there isn't windows/linux detection code in there yet
19:43:48 <ais523> in fact, I haven't built it on Windows for ages
19:44:00 <Rugxulo> even GCC can now handle various newlines
19:44:12 <AnMaster> Rugxulo, this is INTERCAL. Shush.
19:44:23 <AnMaster> still I don't find this restriction very intercal-ish
19:44:46 <Rugxulo> BTW, Esolang wiki page on Nouse has a broken link (Geocities), i.e. any Geocities links are dead now and should be changed or removed
19:44:53 <AnMaster> ais523, anyway does intercal make use of any code above 127?
19:44:59 <AnMaster> I didn't get a straight answer to that one
19:45:07 <ais523> AnMaster: depends on the charset
19:45:16 <AnMaster> ais523, normal. Native one on linux
19:45:20 <ais523> without the CLC-INTERCAL charset option, no
19:45:23 <ais523> with that option, yes
19:45:38 <AnMaster> ais523, so what apart from the \r\n swap would be needed.
19:45:41 <ais523> AnMaster: nothing
19:45:50 <AnMaster> ais523, oh? and the CLC thing?
19:45:56 <ais523> unless some of the MacRoman extra characters happen to map onto the INTERCAL charset, in which case they should change
19:46:08 <AnMaster> ais523, which ones would those be?
19:46:15 <ais523> AnMaster: Princeton syntax characters are accepted if they happen to be in Latin-1 or UTF-8
19:46:26 <AnMaster> ais523, do you happen to have a list of them handy?
19:46:37 <ais523> AnMaster: see lexer.l or the appendix to the Revamped Manual
19:46:42 <ais523> they're both lists of what characters are involved
19:46:46 <ais523> but neither is particularly easy to read
19:46:58 <AnMaster> ais523, easier way: are there any of them in the table at http://en.wikipedia.org/wiki/Mac_OS_Roman
19:47:29 <oerjan> Rugxulo: we like to check if things are on wayback before removing them entirely
19:47:46 <Rugxulo> WayBack or Reocities (although when I checked it didn't have some stuff)
19:48:05 <Rugxulo> just a friendly warning that some links will be broken now :-/
19:48:53 <ais523> yes: ¢ £ ¥ €
19:49:20 <AnMaster> ais523, mhm
19:49:21 <ais523> ¥ will be a fun one, because Latin-1 ¥ maps to ? and UTF-8 ¥ maps to $
19:49:30 <ais523> well, and/or ¢
19:49:42 <AnMaster> ais523, huh? How does one write one of them .bin files?
19:49:54 <ais523> AnMaster: it's basically a list of characters
19:49:59 <ais523> although I can't remember exactly how it works
19:50:10 <AnMaster> ais523, where is it documented?
19:50:26 <ais523> probably in its source, if anywhere
19:50:49 <ais523> ah yes
19:50:54 <AnMaster> ais523, what about that empty array thing. How would one fix that?
19:50:54 <ais523> long comment at the top of src/clc-cset.c
19:50:59 <ais523> AnMaster: by putting an element in it
19:51:29 <AnMaster> ais523, I mean, properly in the ick compiler
19:51:53 <ais523> AnMaster: by getting the ick compiler to put an element in it
19:52:05 <AnMaster> ais523, would this be in the RTL layer or such?
19:52:23 <ais523> either in the code-generation in perpet.c, or in the wrapper
19:52:53 <AnMaster> ../src/feh2.c: fprintf(fp, "\")))\n\t{\n\t ick_createdata icd[]={\n");
19:53:00 <AnMaster> ais523, that seems like where it is output?
19:53:09 <ais523> yes
19:53:15 <ais523> well, just after that, I suspect
19:53:17 <ais523> over the next few lines
19:53:26 <ais523> you basically want to add an empty element to the end of the array
19:53:28 <AnMaster> ais523, so always add a null entry to the end? or only if there is no other ones?
19:53:37 <ais523> second would be slightly neater
19:54:50 <AnMaster> fprintf(fp, "\")))\n\t{\n\t ick_createdata icd[]={\n");
19:54:50 <AnMaster> prunknowncreatedata(np, fp);
19:54:50 <AnMaster> fprintf(fp, "\t };\n");
19:54:51 <AnMaster> hm
19:55:07 <AnMaster> which is a function that calls itself
19:55:13 <Rugxulo> ins.i seems to only do decimal input? hmmm....
19:55:15 <AnMaster> ais523, would always putting it there break anything?
19:55:31 <ais523> I don't think so, but I can't remember
19:55:42 <AnMaster> ais523, what the heck is that array for at all
19:56:03 <AnMaster> ais523, the code comment says you wrote it (so you can't blame it on it being there before :P)
19:56:32 <ais523> it holds the information about the variables used in a just-in-case compiled command
19:56:38 <ais523> so adding an extra one seems unlikely to break anythign
19:57:01 <ais523> I've just checked that sizeof(icd) is never used
19:57:22 <AnMaster> so it can't possibly iterate over all entries in it then
19:57:26 <AnMaster> heh, what is the point of it
19:57:41 <ais523> AnMaster: to look up individual elements
19:57:58 <ais523> as in, the second element gets overloaded onto .1602
19:58:00 <ais523> for instance
19:58:11 <AnMaster> ais523, how would you find the end of the array so you don't go past the end by mistake then?
19:58:24 <ais523> I think it's stored in a separate variable
19:58:48 <ais523> either that, or if accessed from C code (as opposed to INTERCAL code) I think it just segfaults, which is intended behaviour
19:58:54 <ais523> because that's what going off the end of an array does in C
20:00:09 <AnMaster> ais523, what sort of crazy indention scheme are you using in the generated code...
20:00:18 * AnMaster can't figure it out
20:00:28 <ais523> AnMaster: mostly it's just ordinary indentation
20:00:43 <AnMaster> ais523, so 1 tab per level?
20:01:02 <ais523> oh, I think it's a mix of spaces and tabs
20:01:07 <ais523> that looks correct with tab=8, as it always should be
20:01:54 <coppro> tab=4!
20:02:36 <AnMaster> coppro, yes.
20:02:46 <AnMaster> ais523, so how many spaces for each level?
20:02:57 <coppro> but tabs are dumb anyways
20:03:16 <ais523> not sure offhand, IIRC it's 4 spaces for one level, one tab for two levels
20:04:01 <coppro> tab-space mixing is such a truly horrible idea
20:04:22 <coppro> if you use tabs properly, everything will still look right to someone with a different tab setting
20:04:50 <AnMaster> ais523, so what should the dummy entry be?
20:05:09 <coppro> tab-space mixing means that you get stuff that looks like
20:05:11 <AnMaster> something like {0, 0, 0, 0, 0} ?
20:05:13 <ais523> coppro: any tab setting but 8 is wrong and broken
20:05:27 <ais523> this is why tabs should never be used alone for indentation, they're too wide
20:05:28 <AnMaster> ais523, most of the world doesn't agree with that
20:05:31 <coppro> sa
20:05:33 <coppro> sdf
20:05:35 <coppro> lsakdjf
20:05:46 <AnMaster> coppro, oh emulating mixed mode I see
20:05:47 <AnMaster> right
20:05:54 <AnMaster> yeah it's horrible I agree
20:05:54 <coppro> ais523: why is any setting other than 8 broken?
20:06:22 <ais523> coppro: because every terminal in existence has tab=8
20:06:46 <ais523> and the vast majority of editors, too, unless they're customised to something different (why that setting exists I don't know...)
20:06:48 <coppro> that's not a good reason
20:07:00 <coppro> as I said, if tabs are used correctly, then you shouldn't care what the setting is
20:07:00 <AnMaster> {0, 0, 0, {NULL, NULL}, 0}
20:07:06 <AnMaster> ais523, is that correct?
20:07:10 <ais523> AnMaster: {16, 0, 0, {NULL, NULL}, 0}
20:07:17 <AnMaster> ais523, 16?
20:07:23 <ais523> 0 isn't currently a legal value for the first element of an ick_createdata
20:07:24 <coppro> of course, emacs users have their retarded mixed mode, so things look hideous when viewed by people with narrower preferences
20:07:46 <ais523> coppro: the tab width setting is going to matter whenever you use spaces
20:07:54 <AnMaster> ais523, well I have not the foggiest idea how it works even after reading the struct definition
20:07:58 * SimonRC starts a campaign to make people use US to sperate groups of statemetns, RS to seperate each declaration, and GS to separate higher-level things like classes
20:08:04 <coppro> ais523: tabs indent the line, spaces line up beyond that
20:08:08 <ais523> AnMaster: it contains all information about an expression needed to get and set its value
20:08:14 <ais523> coppro: tabs are too wide to indent a line
20:08:18 <SimonRC> that is there purpose just as much as tab's purpose is indentation
20:08:22 <ais523> they're designed for table cells!
20:08:22 <coppro> ais523: turn down your tab width then
20:08:27 <AnMaster> ais523, are you *sure* it won't break something?
20:08:32 <ais523> AnMaster: pretty sure
20:08:36 <coppro> (elastic tabstops are another matter altogether, and they are pretty darn awesome_
20:08:39 <ais523> coppro: no, because then tabs wouldn't be wide enough for their intended purpsoe
20:08:41 <ais523> *purpose
20:08:43 <AnMaster> huh
20:08:48 <ais523> and elastic tabstops are awesome, but not a sort of tab
20:08:48 <SimonRC> coppro: how do I change my terminal tab woiidth
20:08:48 <SimonRC> ?
20:08:52 <AnMaster> ais523, but what variable is 0 then?
20:08:53 <ais523> they're used for indentation
20:08:56 <ais523> tabs aren't
20:08:57 <coppro> ais523: then indent with spaces and spaces only
20:09:00 <AnMaster> wait hm
20:09:02 <AnMaster> no
20:09:07 <ais523> AnMaster: a placeholder meaning that there isn't a legal variable there
20:09:16 <ais523> coppro: that's what I mostly do nowadays, to handle people with broken editors
20:09:22 <AnMaster> <ais523> coppro: tabs are too wide to indent a line <-- not at all
20:09:25 <oklofok> ais523: but why would anyone use table cells? if you mean making a 2d table of things
20:09:27 <AnMaster> I use tab to indent, spaces to adjust
20:09:31 <AnMaster> just like coppro explained
20:09:32 <coppro> SimonRC: depends on what you're using
20:09:34 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
20:09:37 <AnMaster> ais523, and it works just fine
20:09:37 <ais523> (any editor that allows you to set tab to anything but 8 is suspicious, any editor that /defaults/ to anything but 8 is simply broken)
20:09:45 <AnMaster> tabs are not 8 by definiton
20:09:49 <ais523> yes they are
20:09:51 <SimonRC> coppro: a variety, over ssh often
20:09:52 <AnMaster> <ais523> (any editor that allows you to set tab to anything but 8 is suspicious, any editor that /defaults/ to anything but 8 is simply broken) <-- why.
20:09:53 -!- Sgeo has joined.
20:10:01 <ais523> AnMaster: because tabs go to a multiple of 8 characters
20:10:05 <AnMaster> ais523, why
20:10:13 <ais523> printf("\n\tThis line starts 8 characters from the margin.\n");
20:10:24 <AnMaster> ais523, because you just defined emacs and vim as suspicious.
20:10:34 <SimonRC> um, what?
20:10:38 <ais523> AnMaster: yes, people wouldn't insist on using that option if it didn't exist
20:10:40 <SimonRC> ah
20:10:49 <AnMaster> ais523, I would drop that editor then
20:10:57 <AnMaster> and use one that had it
20:11:00 <coppro> SimonRC: setterm
20:11:15 <ais523> coppro: you'll break all the applications that assume that tab=8 if you do that
20:11:23 <AnMaster> ais523, yes because those apps are broken
20:11:25 <ais523> e.g. --help output often uses 8-space tabs
20:11:35 <AnMaster> ais523, --help uses spaces in my experience
20:11:52 <AnMaster> maybe some pathological cases uses tabs
20:11:54 <oklofok> ais523: by table cells do you mean like excel but in ascii?
20:12:03 <ais523> oklofok: pretty much
20:12:11 <ais523> tab was invented on typewriters, where you set the tab stops by hand
20:12:14 <oklofok> why in hell would you want that
20:12:20 <ais523> by putting little bits of metal in the appropriate places
20:12:27 <ais523> to make it faster to type tables on a typewriter
20:12:37 <ais523> and to reduce the chance of mistakes because you didn't need to keep pressing the spacebar
20:12:38 <oklofok> why not use a program for it, and set tab to something that's useful
20:12:58 <ais523> then when they came to computers, they quickly standardised on 8-space tabs anywhere but word processors
20:13:10 <SimonRC> coppro: will that confuse things that use termcap and terminfo?
20:13:16 <AnMaster> ais523, typewriters are legacy. And if you are suggesting we set them manually, the tabs=8 spaces is just pure wrong
20:13:17 <ais523> (before tables as tables were common, tabs for tables were common, and tab stops were generally 8 spaces apart by default but you could set them wider0
20:13:21 <ais523> *)
20:13:32 <oklofok> and realized a few weeks later they should've made it smaller everywhere else too, but some idiots decided 8 should stay?
20:13:34 <coppro> SimonRC: not sure
20:13:37 <ais523> and ever since, tab has moved to a multiple of 8
20:13:42 <Rugxulo> typewriters are legacy but we still use its keys!!
20:13:42 <AnMaster> ais523, instead every user should set some virtual metal bits at the top of the terminal emulator to define their tabs
20:13:43 <AnMaster> clearly
20:13:56 <ais523> except that certain /editors/ seem to let you change it; note that nothing but editors has it set to anything but 8 by default
20:14:18 <ais523> so if you use tabs alone for indentation, you end up in the stupid situation where you can't read the program in anything but an editor
20:14:27 <AnMaster> ais523, setterm?
20:14:33 <oklofok> where else would you want to read a program?
20:14:38 * Rugxulo sees lines in code that start with 10 tabs or more ...
20:14:45 <ais523> also, because of wanting to restrict lines to 80 columns so they fit on the screen, having variable-sized tabs means that you have no idea where to split your lines
20:14:46 <AnMaster> ais523, as coppro suggested above
20:14:47 <Rugxulo> kinda extreme
20:15:06 <AnMaster> <ais523> also, because of wanting to restrict lines to 80 columns so they fit on the screen, having variable-sized tabs means that you have no idea where to split your lines <-- you don't. 100 columns is just fine. More than that isn't I agree
20:15:10 <ais523> AnMaster: presumably that was added to cope with the broken editors
20:15:20 <AnMaster> ais523, now you are just being silly
20:15:24 <ais523> AnMaster: I can fit about 83 characters horizontally on my screen, on a half-screen-width window
20:15:39 <ais523> so substantially more than 80 just annoys me as I can't see two bits of code side by side
20:15:50 <ais523> also, 80x24 is still the standard UNIX terminal size (80x25 and/or 80x50 on DOS)
20:15:52 <oklofok> anyway i'm just saying tables aren't actually a good reason to *keep* tabsize at a default of 8, because no one makes, and no one should make, tables using tabs
20:15:57 <ais523> so you won't be able to read the code in a standard terminal
20:16:03 <Rugxulo> DOS can handle up to 132x32 (VESA)
20:16:09 <Rugxulo> IIRC
20:16:16 <ais523> oklofok: agreed; the reason to keep tabsize at a default of 8 is because that's what tabs have been for ever, and what a tab actually means
20:16:21 <AnMaster> ais523, mine opens at 150x120 iirc
20:16:21 <ais523> Rugxulo: yes, but that isn't standard
20:16:24 <AnMaster> or something like that
20:16:30 <AnMaster> wait, no 120x150 I think
20:16:31 <Rugxulo> ais523: because it depends on your video card
20:16:36 <AnMaster> since it is taller than than it is wide
20:16:58 <oklofok> that i can agree with. not that i do, but i don't not agree either.
20:16:59 <AnMaster> wait, forget that, chars are not square
20:17:01 <Rugxulo> 80x43 is for EGA, 80x50 is VGA, so 80x25 must be for older (Hercules? MDA? CGA?)
20:17:03 <AnMaster> 150x120 it is in fact
20:17:32 <AnMaster> <ais523> oklofok: agreed; the reason to keep tabsize at a default of 8 is because that's what tabs have been for ever, and what a tab actually means <-- what a tab actually means says who?
20:17:39 <AnMaster> I feel we have [citation needed] here
20:17:42 <AnMaster> and a few other ones
20:17:48 <ais523> says more or less every program in existence, apart from a few editors
20:17:52 <oklofok> wait actually i definitely do disagree, why keep them at 8, if they are completely useless with size 8
20:17:54 <ais523> seriously, try that printf statement I pasted above
20:17:56 <ais523> oklofok: they aren't
20:17:56 <Rugxulo> http://www.emacswiki.org/emacs/TabsAreEvil
20:17:58 <Rugxulo> :-))
20:18:02 <AnMaster> oklofok, exactly
20:18:09 <oklofok> ais523: what are they useful for, then?
20:18:10 <ais523> they let you abbreviate spaces for indentation, although that's become less useful nowadays because we're no longer massively pressed for space
20:18:15 <Rugxulo> makefiles!
20:18:17 <oklofok> you said tables, i said no, you said indeed not.
20:18:27 <ais523> also, I most recently used tabs for table-making a couple of weeks ago
20:18:28 <ais523> as part of my jobs
20:18:30 <ais523> *job
20:18:31 <AnMaster> ais523, so why not convert all of ick to just use spaces.
20:18:35 <ais523> and that relied on tab=8
20:18:41 <ais523> AnMaster: it's used the \t forever
20:18:45 <ais523> since before I took it over
20:18:56 <ais523> further evidence that tab should equal 8...
20:19:05 <oklofok> ais523: if you made a small table, you could've pressed tab twice.
20:19:23 <AnMaster> ais523, ick is not recommended practise at all
20:19:27 <ais523> oklofok: the point was, I wasn't sure how wide each of the columns would be
20:19:33 <AnMaster> ais523, or we would be using setjmp and longjmp a lot more
20:19:34 <AnMaster> and what not
20:19:41 <oklofok> but you happened to know they were less than 8?
20:19:51 <ais523> oklofok: yes
20:19:56 <ais523> they were all either 6 or 7 characters long
20:19:56 <AnMaster> ais523, seriously if you suggest that ick code is a good example you *must* be joking
20:20:01 <oklofok> ugh
20:20:07 <ais523> AnMaster: I'm suggesting it's a typical example of its age
20:20:10 <Rugxulo> GNU indent, anyone?
20:20:20 <oklofok> ais523: that's not very convincing.
20:20:31 <oklofok> and still, you could've used a program
20:20:35 <oklofok> that's actually meant for that
20:20:41 <AnMaster> ais523, and for tables: it isn't even one tab between each column always
20:20:44 <oklofok> you wouldn't have had to rely on at most "6-7"
20:20:50 <AnMaster> sometimes you need two on one line and one on another line
20:21:00 <AnMaster> ais523, oh and it seems MPW defaults to tab = 4
20:21:06 <AnMaster> and I can't find anywhere to change it
20:21:08 <ais523> indent assumes that tabs are placed at regular intervals of both input and output character streams. These intervals are by default 8 columns wide, but (as of version 1.2) may be changed by the ‘-ts’ option. Tabs are treated as the equivalent number of spaces.
20:21:28 <AnMaster> ais523, actually in the worksheet tab = 1
20:21:37 <Rugxulo> http://www.emacswiki.org/emacs/UntabifyUponSave
20:21:40 <ais523> presumably it doesn't support tabs
20:21:50 <ais523> so just renders them as spaces
20:21:54 <AnMaster> ais523, and in Makefiles it is tab = 4
20:22:02 <AnMaster> so yes it clearly does
20:22:07 <AnMaster> and yes they are one char
20:22:13 <AnMaster> you can see that with the cursor key
20:22:46 <AnMaster> ais523, so there is the same sort of "proof" that tab should be 4 that you had for it being 8.
20:23:00 <AnMaster> ais523, seriously, a program shouldn't expect tab to be any specific size
20:23:03 <ais523> AnMaster: you could prove that newline should be \r the same way
20:23:07 <Rugxulo> well, in this case I think it's just luck ... he's right, 8 is way more "standard" or common
20:23:11 <ais523> did you read my paste from man indent?
20:23:13 <AnMaster> ais523, yes indeed it should!
20:23:24 <ais523> it assumed tabs = 8 without even a customization option until 1.2
20:23:27 <AnMaster> ais523, also that's GNU software
20:23:28 <ais523> and still, nowadays, uses tab = 8
20:23:32 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
20:23:35 <ais523> AnMaster: it did the same thing on SunOS
20:23:38 <AnMaster> ais523, it's like saying GNU cat is some role model for all cat's
20:23:41 <AnMaster> cats*
20:23:45 <ais523> (I don't have access to that SunOS system any more, so that's from memory...)
20:23:49 <Rugxulo> that's weird, actually, doesn't GNU coding style prefer tab width of 2?
20:23:58 <AnMaster> ais523, and? Sun made Java. What did you expect?
20:24:28 <ais523> AnMaster: http://docs.sun.com/source/820-4180/man1/indent.1.html
20:24:29 <AnMaster> Rugxulo, I have no clue. I keep well away from gnu coding style
20:24:34 <ais523> assumes tab=8 with no way to customize
20:24:46 <ais523> -in The number of spaces for one indentation level. The default is one tab stop, -i8.
20:24:50 <Rugxulo> resistance is futile! ;-)
20:24:51 <AnMaster> ais523, yes and they invented java
20:24:53 <AnMaster> what do you expect.
20:25:12 <ais523> AnMaster: err, I expect them to have followed industry practice at the time?
20:25:25 <ais523> Java is full of good practice to an extent more than most other languages, it's what makes it so insufferable
20:25:26 <AnMaster> ais523, anyway you might prefer tabs to be 8. But 98% of the world that cares doesn't agree.
20:25:38 <AnMaster> (most of course doesn't even know what a tab is)
20:25:45 <ais523> AnMaster: anyone who doesn't use a programmer's editor has tab set to 8
20:25:50 <ais523> they probably don't realise it, but they do
20:25:54 <AnMaster> ais523, MS word?
20:25:57 <AnMaster> what does it use
20:26:03 <ais523> AnMaster: it doesn't even set it to an integer
20:26:04 <SimonRC> "HT Horizontal Tabulation" -- http://wps.com/projects/codes/X3.4-1963/index.html
20:26:08 <SimonRC> that's about all it says
20:26:17 <AnMaster> ais523, there you go then. That is probably the most common one
20:26:19 <SimonRC> (page 6)
20:26:29 <ais523> AnMaster: no, because Word isn't a text editor
20:26:35 <ais523> Excel, incidentally, sets it to one cell
20:26:43 <ais523> which makes sense, because it's tab for tabulation
20:26:48 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
20:27:02 <AnMaster> ais523, yes. point is. tab=8 isn't a very common opinion any more
20:27:03 -!- Slereah has joined.
20:27:12 <AnMaster> as for tabs being evil page on emacs wiki
20:27:16 <AnMaster> just set it in the mode line
20:27:17 <AnMaster> to be 4
20:27:29 <ais523> no, because that would be setting it to the wrong value for no good reaosn
20:27:48 <AnMaster> ais523, correction: "that which ais considers wrong"
20:28:02 <ais523> AnMaster: what possible reason do you have for assuming tab != 8?
20:28:23 <ais523> given that this is a traditional flamewar, you can't go looking for a page that advocates one side of the flamewar, because there's bound to be one
20:28:32 <AnMaster> ais523, well. because apart from ick and nethack I can't remember any code depending on tab == 8. Either it is tab = 4 or spaces always
20:28:42 <ais523> AnMaster: tab = 4? where do you get that from?
20:28:48 <ais523> 2 and 3 tend to be more common, 4 is a Pythonism
20:29:12 <AnMaster> ais523, is it? 3 I have seen once.
20:29:14 <ais523> and all versions of indent we've found depend on tab=8
20:29:15 <AnMaster> 2 a few more times
20:29:18 <AnMaster> but 4 a lot more
20:29:57 <AnMaster> ais523, astyle seems to default to 4 spaces for indention
20:30:12 <AnMaster> and I haven't used indent for years, because it did such a bad job at C99 code
20:30:19 <Rugxulo> I saw 3 once too, thought that guy was a little weird for that ;-)
20:30:31 <AnMaster> so astyle is what I use, which still fails at some C99 things, but much less
20:30:47 * Rugxulo thinks AnMaster is very trendy
20:30:49 <ais523> AnMaster: it defaults to 4 spaces, yes
20:30:55 <AnMaster> Rugxulo, trendy?
20:31:03 <ais523> if you ask it to indent using tabs, it assumes tab=4 because that gives the same indent size, but that isn't spaces
20:31:07 <Rugxulo> Befunge98, 64-bit, C99 :-P
20:31:21 <AnMaster> ais523, yes I always asked it to indent with tabs
20:31:38 <fizzie> A lot of our speech recognizer code is indent-two-spaces with assumed-8 tabs in the indentation somewhat randomly.
20:31:38 <AnMaster> ais523,
20:31:39 <AnMaster> astyle --indent-preprocessor --indent-namespaces --indent-labels --one-line=keep-statements --indent=tab=4 --max-instatement-indent=40 --brackets=linux --min-conditional-indent=1 --unpad=paren --indent-switches --pad=oper
20:31:41 <AnMaster> is what I use
20:31:44 <ais523> incidentally, reading the blurb at the start of the man page, astyle was designed specifically to format code so it looked correct for people who didn't set tab=4
20:31:49 <ais523> *tab = 8
20:32:06 <SimonRC> tabwidth=5
20:32:08 <SimonRC> ;-)
20:32:11 <SimonRC> nonono
20:32:22 <SimonRC> tabwidth=13
20:32:34 <AnMaster> ais523, well yes. I make sure my code always look correct with any tab width. How wide each indention level is should be up to the user
20:32:47 <AnMaster> if he/she prefers 8 per level, fine, set tab=8
20:32:50 <AnMaster> if not, set tab to something else
20:32:53 <Rugxulo> bah
20:32:55 -!- Rugxulo has left (?).
20:32:57 <AnMaster> still it doesn't end up like:
20:33:02 <AnMaster> blah
20:33:04 <AnMaster> bsdasjd
20:33:08 <AnMaster> blah blah
20:33:09 <AnMaster> and such
20:33:16 <AnMaster> with any tab width
20:33:18 <SimonRC> it's not as if ther are any places where one could view code that don't let people change the tab width
20:33:41 <AnMaster> SimonRC, indeed. even the terminal lets you change easily
20:33:44 <AnMaster> setterm
20:34:00 <AnMaster> I guess some old old terminal that didn't allow it might exist
20:34:08 <AnMaster> but good luck hooking that up to anything modern
20:34:53 * SimonRC gets out his soldering iron; and the documentation for several popular HTML renderers.
20:34:56 <ais523> SimonRC: DOS edit? Notepad? less without having to type out the -x option every time you view a file?
20:35:16 <ais523> more, fwiw, which doesn't have -x?
20:35:23 <fizzie> Set tabstops at all prime number offsets; that should be good.
20:35:26 <AnMaster> LESS Options which are passed to less automatically.
20:35:30 <SimonRC> TBH I don't know whether I was being serious or using deadpan sarcasm there
20:35:45 <ais523> printing via a standard printer when you don't know the ESC codes to change its tabstops?
20:35:47 <AnMaster> ais523, export LESS='-x4'
20:35:50 <AnMaster> issue solved
20:35:54 <AnMaster> ais523, wait, what?
20:36:00 <AnMaster> ais523, you need cups to use a printer anyway
20:36:03 <AnMaster> so how would that work
20:36:04 <ais523> AnMaster: that doesn't solve the issue, in fact it introduces an issue, that being that the tabstops are no longer 8
20:36:13 <ais523> AnMaster: umm, until very recently, you could just cat a file to a printer
20:36:15 <ais523> and it printed
20:36:20 <ais523> I used to do that all the time under DOS
20:36:21 <AnMaster> ais523, you got this wrong. Tabstop NOT being 8 is *NOT* an issue
20:36:37 <SimonRC> I suppose tabs can be converted into spaces quite easily, for those things that can't adjust the tab width
20:36:37 <AnMaster> ais523, you end up with something like a semi-circular argument here
20:36:54 <AnMaster> <ais523> AnMaster: umm, until very recently, you could just cat a file to a printer <-- where? /dev/usb/something?
20:36:54 <ais523> what a printer driver does, mostly, is let you print "graphics", or set the font
20:37:06 <ais523> AnMaster: the serial or parallel port
20:37:10 <ais523> you just sent the data there, and the printer printed it
20:37:21 <AnMaster> ais523, I'm pretty sure the Apple StyleWriter didn't allow it
20:37:26 <AnMaster> which is the oldest printer I used
20:37:33 <ais523> it used to be that all printers worked like that
20:37:34 <AnMaster> I never used a parallel port one
20:37:38 <AnMaster> ais523, before my time.
20:37:42 <ais523> AnMaster: wow, how young are you?
20:37:45 <AnMaster> stylewrite was an inkjet
20:37:46 <SimonRC> clearly the only solution is to head off to the quintessential plane and go and measure the Platonic ideal HT character. That will resolve the issue once and for all.
20:37:51 <AnMaster> ais523, 20 in december
20:38:03 <AnMaster> so 19, but less than a month until 20
20:38:10 <SimonRC> AnMaster: how old are you?
20:38:14 <AnMaster> ais523, and I grew up with mac
20:38:16 <AnMaster> SimonRC, I just said
20:38:18 <AnMaster> read up
20:38:18 <SimonRC> so old == young?
20:38:22 <SimonRC> ok
20:38:33 <ais523> AnMaster: well, I'm confused, because I'm 22
20:38:38 <SimonRC> so the older one gets, the younger one gets
20:38:40 * SimonRC is bored
20:38:44 <ais523> and yet, when I was young, printers were all either parallel or serial
20:38:52 <AnMaster> ais523, Apple Stylewriter was able to print pictures. Greyscale only yes
20:38:53 <AnMaster> but still
20:39:04 <ais523> AnMaster: basically, to print pictures, you sent a really long escape code
20:39:12 <SimonRC> yeah
20:39:14 <ais523> if you didn't send an escape code to a printer, it just printed text
20:39:24 <ais523> printer drivers were mostly responsible for converting graphics into escape codes
20:39:27 <AnMaster> ais523, there was no printer device as such on the mac
20:39:27 <SimonRC> I recall the days when printers came with documentation of their escape codes
20:39:36 <AnMaster> ais523, remember that is a *MAC* we are talking about
20:39:44 <ais523> AnMaster: I think you're missing the poin
20:39:45 <ais523> *point
20:39:49 <SimonRC> and example BASIC programs to demonstrate
20:39:51 <ais523> I'm talking about what data was sent over the cable
20:40:05 <ais523> SimonRC: I've never seen one with example BASIC, but I've seen at least two manuals documenting the escape codes
20:40:06 <AnMaster> ais523, and that was some pre-rendered image I guess?
20:40:07 <ais523> and actually used them
20:40:17 <ais523> AnMaster: say you want to print out a Word document, or whatever
20:40:19 <AnMaster> ais523, because even when you printed text files on macs they had formatting
20:40:37 <AnMaster> ais523, if it was postscript I guess it downloaded font and such first?
20:40:37 <ais523> Word works out what each pixel should be, then the driver converts that to escape codes and sends it to the printer
20:40:44 <ais523> so although you're printing text files, you're printing in graphics mode
20:40:57 <AnMaster> ais523, yes I suspect that always happened on mac
20:40:58 <ais523> postscript's much more modern than all this, and therefore mostly irrelevant in this conversation
20:41:09 <ais523> AnMaster: it's happened at least since Windows 3.1, too
20:41:16 <AnMaster> ais523, apple's laserwriters were all postscript from the beginning
20:41:21 <ais523> but, the point is that if you just catted a text file down the printer cable, it would print it in text mode
20:41:26 <AnMaster> ais523, used windows 3.something *once*
20:41:33 <AnMaster> I'm happy to have grown up on mac
20:41:37 <AnMaster> things just worked there
20:41:47 <AnMaster> and there was no terminal
20:42:16 <AnMaster> ais523, in fact I typed "print" instead of "echo" in the mpw shell by mistake yesterday. Spewed postscript files all over my desktop
20:42:34 <AnMaster> now one can wonder why the hell MPW would have such a command of course
20:42:35 <fizzie> ais523: Apple's StyleWriter is a pretty unconventional printer; according to the README.txt of the Unix driver of it, it has absolutely no built-in fonts. The driver only prints raster images.
20:42:52 <ais523> fizzie: ok, that is interesting
20:42:56 <SimonRC> <monkeywrench>What about Postscript printers?</monkeywrench>
20:42:58 <ais523> and explains AnMaster's resistance
20:43:14 <ais523> SimonRC: I'm not actually sure what happens if you send them a plain non-PS text file
20:43:28 <ais523> it could be fun to cat a PDF to them, IIRC PDF is a subscript of PostScript
20:43:42 <AnMaster> ais523, suset*
20:43:44 <AnMaster> subset*
20:43:53 <SimonRC> IME, PDF's have gribble in them, suggesting they aren't PS
20:43:56 <SimonRC> *PDFs
20:43:59 <ais523> AnMaster: well corrected
20:44:00 <AnMaster> ais523, and yes but it won't work out of box, due to some PDF specific headers or such
20:44:12 <ais523> SimonRC: apparently the subset used in PDF is really non-idiomatic in PS
20:44:24 <AnMaster> ais523, citation?
20:44:36 <ais523> AnMaster: I'm not sure offhand
20:44:44 <ais523> as in, I can't remember where I know that from
20:44:48 <ais523> but PDF uses a lot of blobs, etc
20:44:53 <SimonRC> yeah
20:44:55 <ais523> whereas postscript is a lot more like a programming language
20:46:09 <fizzie> I do think it's a subset only in the logical sense, not in the sense that the down-to-bits file formats would really be all that compatible.
20:46:24 <AnMaster> fizzie, indeed
20:47:19 <Sgeo> Why is UserFriendly on such a dark topic?
20:47:52 <AnMaster> Sgeo, why would we know?
20:48:32 <fizzie> AnMaster: You could be Illiad in disguise.
20:49:03 <AnMaster> why on earth does Mac OS 9 font suitcases contain DLOG resources according to resedit
20:49:07 * AnMaster lookas at them
20:49:07 <fizzie> Certainly it seems a bit [http://tvtropes.org/pmwiki/pmwiki.php/Main/CerebusSyndrome Cerberus Syndromeish].
20:49:11 <SimonRC> didn't CAD have a random storyline about a miscarrage that everyone took the piss out of them for?
20:49:14 <AnMaster> "enter the network address for the server"?
20:49:16 <SimonRC> or was that QC?
20:49:18 <AnMaster> what the fucking crap
20:49:21 <fizzie> SimonRC: CAD, yes.
20:49:23 <AnMaster> has that go to do with a font?
20:58:59 <fizzie> Oh, and speaking of printers still: a friend had a networked PostScript laser printer that included a FTP server. You could log in and upload plaintext or postscript files; after the upload, they would come out of the printer. I don't really know what sort of heuristics it used for sniffing out postscript, but it did not treat everything as plaintext.
20:59:07 <fizzie> I think the same applied to the telnet server it had.
21:00:45 <fizzie> "did not treat everything as PostScript", I mean.
21:00:58 -!- fizzircle has quit ("Quit").
21:01:12 <fizzie> Hoh, completely forgot about that Ircle.
21:03:57 <AnMaster> fizzie, heh
21:04:33 <AnMaster> fizzie, why would a printer have a FTP server like that
21:04:37 <AnMaster> seems completely pointless
21:07:14 <fizzie> Actually, we made use of it; for some reason, "proper" printing from Netscape (this was quite a while ago) on one of their computers was utterly broken, but since Netscape at that time had a "print by giving a postscript file to the following program" option, we got network printing with a script that used ncftp to upload the Netscape-provided file to the printer.
21:08:11 <fizzie> Secunia advisory SA13170 from 2004-11-12: "Justin Rush has reported a weakness in HP PSC 2510 Photosmart All-in-One printer, which can be exploited by malicious people to cause a DoS (Denial of Service).
21:08:11 <fizzie> The printer reportedly has an undocumented feature that prints files written to a write-only directory, which is anonymously accessible via a FTP service." -- see, it's not so uncommon.
21:08:24 <fizzie> Except that it was properly documented in that printer.
21:08:49 <fizzie> (And configurable, so you didn't have to allow printing to everyone.)
21:09:47 <fizzie> Here's a link I got from elsewhere in the irc, and so it's probably been all around the world already, but still: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454
21:10:08 <fizzie> At least it has nice use of Unicode combining characters.
21:18:32 <AnMaster> fizzie, I get lots of boxes there
21:19:19 <fizzie> That's a shame; I had no boxes, but there's too many characters to start looking for from where they come.
21:21:30 <fizzie> The renderization is not exactly pretty here either: http://zem.fi/~fis/comb.png
21:25:11 <SimonRC> that's about what I get
21:25:53 -!- immibis has joined.
21:28:37 * SimonRC goes away.
21:38:18 * oklofok thought perl regexes Can Do It
21:39:56 <fizzie> You can put arbitrary Perl in Perl regexes, and Perl can parse XML, so it sounds likely that they could.
21:41:16 <oklofok> depends on what the perl does inside the regex, it could be it can't touch the string being parsed, so you'd just be parsing something using perl, while you're parsing a regex
21:41:45 <oklofok> i mean if it can't be an Inherent Natural Part of the regex
21:41:50 <oklofok> the perl code
21:42:47 <AnMaster> fizzie, I strongly suspect PCRE could do it though
21:42:51 <AnMaster> what with the recursionb
21:42:54 <AnMaster> recursion*
21:45:18 <fizzie> With embedded Perl, it's a bit debatable. I'm not sure it has the string-being-parsed (and especially the-location-where-we're-at) available somehow; if it does, you could use the (??{...}) thing -- "evaluate ..., interpret it as a regex" -- to return something like .{x} where x is the calculated length of the next regex part.
21:45:25 <fizzie> s/regex part/xml element/
21:47:03 <AnMaster> fizzie, maybe someone should post that there
21:47:13 <AnMaster> of course it would be ugly as fuck
21:48:20 <fizzie> Not sure if a plain old extended-with-recursion thing is theoretically powerful enough; I guess it could be. Especially if it has Perl's (?(condition)yes-pattern|no-pattern) extension
21:48:51 <fizzie> Perl's regex engine has a settable-at-compile-time-default-is-50 limit of the recursion depth for regexps, though.
21:49:21 <MizardX> haha. Almost 300 votes in under 24 hours.
22:01:45 <coppro> indeed
22:01:51 <coppro> I wish I had written an answer like that :(
22:02:12 <coppro> oh wow, one of my answers hit 50 votes :)
22:15:00 <MizardX> My highest is two at 29.
22:21:12 <AnMaster> ais523, so did you do something about the autoconf check for isatty?
22:21:17 <ais523> no, I didn't
22:21:19 <ais523> I was eating lunch
22:21:23 <ais523> well, dinner
22:21:32 <AnMaster> ais523, and what would the correct solution be?
22:22:42 <ais523> AnMaster: persuade GNU to fix flex
22:22:51 <ais523> if you can't manage that, you'll have to rely on hacks
22:23:26 <AnMaster> ais523, it doesn't seem likely that I will manage does it?
22:23:33 <ais523> yse
22:23:35 <ais523> *well, no
22:23:43 <ais523> so you'll need to find some hacky way to do it
22:23:46 <AnMaster> so likely they won't fix it?
22:23:47 <AnMaster> hm
22:23:52 <ais523> like a #define on isatty(x) to define it to 0
22:24:04 <ais523> that's triggered by an autoconf check
22:24:16 <AnMaster> ais523, I can't write the proper autoconf bit for this
22:24:25 <AnMaster> ais523, and on mac autoconf doesn't work anyway
22:24:41 <AnMaster> so I would need to update config.h after someone adds a correct autoconf check
22:24:57 <ais523> AnMaster: add isatty to the line "AC_CHECK_FUNCS(gettimeofday gethrtime strdup strtol strtoul snprintf vsnprintf)" in configure.ac, then rerun make
22:25:09 <ais523> C-INTERCAL's dependency system is set up so it changes everything to allow for that change
22:25:22 <ais523> apart from actually conditioning on HAS_ISATTY or whatever the resulting macro is called
22:25:40 <AnMaster> ais523, and then? where would that be defined? In the *.l file directly?
22:25:53 <ais523> let me try that, so I can give you more detailed instructions, or a diff
22:26:16 <AnMaster> ais523, anyway, according to docs fileno() is also *nix only
22:26:27 <ais523> doesn't matter if it's inside the isatty
22:26:45 <AnMaster> ais523, true
22:28:46 -!- adam_d has joined.
22:30:20 <ais523> hmm, this build system doesn't seem to like autoconf version bump
22:30:38 <coppro> how about we stop using autoconf
22:31:14 <ais523> coppro: because if used correctly you can actually make it work
22:31:18 <ais523> just nobody ever uses it correctly
22:31:30 <coppro> ais523: I know you can make it work if you use it correctly
22:31:53 <ais523> ah, just run autoreconf, and it updates all the version numbers, nice
22:32:21 <AnMaster> heh the stdio.h includes a line about _POSIX_THREAD_SAFE_FUNCTIONS
22:32:25 <AnMaster> a bit unexpected
22:32:35 <AnMaster> so it seems they picked some parts of POSIX that they liked
22:32:58 <ais523> /* Define to 1 if you have the `isatty' function. */
22:32:59 <ais523> #define HAVE_ISATTY 1
22:33:03 <AnMaster> ais523, what is your new version?
22:33:15 <AnMaster> of autotools
22:33:28 <ais523> AnMaster: 2.64 of autoconf
22:33:32 <ais523> 1.11 of aclocal
22:33:35 <AnMaster> 2.63 and 1.10.2 are the ones I have
22:33:40 <AnMaster> anything newer in the patch will be a pain
22:33:46 <AnMaster> well those wouldn't be versioned
22:33:56 <AnMaster> only the non-generated files would be
22:34:10 <AnMaster> ais523, right?
22:34:18 <AnMaster> or do you still version configure itself and so on?
22:34:19 <ais523> AnMaster: the build system works fine even if you have an old version of autoconf
22:34:26 <ais523> configure itself knows what version it was created with
22:34:36 <AnMaster> ais523, yes but you get warnings then sometimes
22:34:38 <ais523> and the build system just prints a warning if you change configure.ac and have the wrong version, and doesn't update configure
22:34:53 <ais523> the warning's useful, it lets you know that your configure.ac changes weren't applied
22:35:04 <AnMaster> ais523, exactly. But since configure itself isn't versioned this will be no issue
22:35:16 <ais523> I don't know what you mean by that
22:35:22 <ais523> configure itself doesn't depend on autoconf
22:35:29 <ais523> the makefile does, but only if you change configure.ac
22:35:41 <AnMaster> ais523, that the darcs repo would not contain generated files like configure, Makefile.in and so on
22:35:42 <ais523> and even without it it doesn't crash, just uses the existing configure
22:35:44 <AnMaster> only the source files
22:35:44 <ais523> AnMaster: ah
22:35:48 <AnMaster> like configure.ac and Makefile.am
22:35:55 <ais523> I thought the darcs repo did contain configure
22:36:00 <ais523> as well as the prebuilt stuff
22:36:02 <AnMaster> ais523, if it does it shouldn't
22:36:05 <AnMaster> but meh
22:36:08 <ais523> AnMaster: so people can run from a copy of the repo
22:36:13 <ais523> there's even a make repoupdate command
22:36:18 <AnMaster> ouch
22:36:23 <ais523> to copy the currently built versions back to the prebuilt directory
22:36:30 <AnMaster> ais523, did you find somewhere else to host it then?
22:36:38 <ais523> no, but it's darcs
22:36:38 <AnMaster> ais523, surely your university provides some web space or such
22:36:41 <ais523> so the repo still exists, if only locally
22:36:50 <ais523> and my university does, but I couldn't sensibly put it there, it's unrelated to my research
22:37:07 <AnMaster> ais523, fizzie seems to manage that very well though
22:37:28 <AnMaster> ais523, anyway maybe fizzie could host this for you on his own server. it seems stable and such
22:37:36 <AnMaster> ever considered asking?
22:38:40 <ais523> no, I haven'y
22:38:41 <ais523> *haven't
22:38:46 <ais523> apart from general requests to the channel
22:39:21 <oklofok> is it public information what your research is about btw?
22:40:08 <ais523> no, because I don't know myself yet
22:40:13 <ais523> but that's the only reason
22:40:22 <ais523> it's vaguely in the area of hardware compilation and game semantics
22:40:40 <oklofok> i'm having trouble seeing how to combine those
22:40:42 <AnMaster> ais523, you could put nomic stuff on there then
22:41:05 <ais523> AnMaster: I don't think you understand what game semantics is
22:41:15 <ais523> it's basically a formalisation of programming, with some really tortured metaphors involved
22:41:18 <oklofok> i probably don't either
22:41:22 <AnMaster> ais523, no clue what it is, so I was joking
22:41:36 <ais523> but it turns out to be a really suitable one for generating hardware with
22:42:16 <oklofok> hmm, i've never heard about that
22:45:55 <ais523> wow, the Wikipedia article about it is really awful
22:46:03 <ais523> although it does explain to some extent where the terminology came from
22:46:13 <AnMaster> ais523, link?
22:46:28 <ais523> AnMaster: it's a Wikipedia article about game semantic
22:46:31 <ais523> *semantics
22:46:34 <ais523> you can probably guess the link
22:46:39 <ais523> although, it's http://en.wikipedia.org/wiki/Special:Search?go=Go&search=game_semantics
22:46:46 <ais523> I actually have an IRC macro for Wikipedia links...
22:46:55 <AnMaster> I couldn't have guessed the full search thing for it
22:47:57 <AnMaster> ais523, how is game semantics related to hardware though
22:48:15 <ais523> AnMaster: you can basically embed nearly all of it into wires
22:48:29 <ais523> most of the basic constructions turn almost exactly into wires, with minimal circuitry
22:48:49 <AnMaster> <ais523> AnMaster: you can basically embed nearly all of it into wires <-- why?
22:48:51 <ais523> the only really difficult component is the one that can be written as lambda x: [x, x]
22:48:57 <ais523> as in, making two copies of something
22:48:59 <AnMaster> why would I want to embed it in wires
22:49:06 <ais523> AnMaster: to compile a program into hardware
22:49:13 <ais523> as in, you get the game-semantic model for a program
22:49:16 <AnMaster> ais523, yeah but why *games* for that
22:49:18 <AnMaster> uh
22:49:19 <AnMaster> wait
22:49:23 <AnMaster> I think I missed that bit
22:49:26 <ais523> the whole game thing is a tortued metaphor
22:49:30 <ais523> which should be ignored
22:49:43 <ais523> the terminology's full of words like "game" and "arena" and "strategy" which basically don't mean anything
22:49:56 <AnMaster> ais523, so what exactly does it not have to do with games
22:50:04 <ais523> AnMaster: everything?
22:50:08 -!- ais523 has left (?).
22:50:08 <AnMaster> ah
22:50:10 -!- immibis has quit (Remote closed the connection).
22:50:15 <AnMaster> huh
22:50:20 <AnMaster> that must have been a mistake
22:50:23 <AnMaster> too abrupt
22:50:27 <oklofok> must've
22:50:34 <AnMaster> oklofok, huh
22:51:07 <oklofok> huh? i just repeated you
22:51:08 -!- ais523 has joined.
22:51:12 <AnMaster> ais523, wb
22:51:23 <AnMaster> ais523, wrong button?
22:51:32 <ais523> no, I was leaving in exasperation
22:51:51 <ais523> sort of like /ignoring people, just easier for other people to know what was going on
22:52:11 <oklofok> AnMaster: it means he sneezed
22:52:19 <oklofok> exasperation
22:52:40 <oklofok> also why does this deck keep giving me 9 and 8 of spades next to each other
22:53:14 <oklofok> i mean i explicitly put them in different parts of the deck, twice, and both times they magically find each other
22:53:25 <AnMaster> oklofok, ask the game semanticist in here.
22:53:29 <AnMaster> (ais that is ;)
22:53:34 <oklofok> :D
22:54:12 <ais523> the name is an unfortunate one
22:54:19 <ais523> it's about as accurate as "biscuit semantics" would be
22:54:23 <oklofok> we get that
22:55:36 <oklofok> my brain is weird, if i lay down 6 cards, and take a glance, then turn them face down, i can't remember a few of them, usually; but if i put them face down, and go over them once, trying to guess what they are, i will remember them on the second round
22:56:14 <AnMaster> ais523, new file extension for c++ I found today:
22:56:17 <AnMaster> .cp
22:56:26 <AnMaster> seems not uncommon on classic mac os
22:56:53 <oklofok> even though i've looked at them a smaller amount of time, it's just i don't automatically memorize them if they're face up, but i do if i put them face down, and *then* look at each of them separately
22:57:27 <AnMaster> " i can't remember a few of them, usually"?
22:57:29 <oklofok> and putting them face down i can pretty easily go up to 15 or such
22:57:30 <AnMaster> you meant "can"?
22:57:33 <oklofok> AnMaster: yes, i forget a few.
22:57:51 <AnMaster> oklofok, forgot a few what?
22:57:54 <oklofok> usually i remember 5/6
22:57:56 <oklofok> cards.
22:58:02 <ais523> anyway, for game semantics into hardware, think of the IP being an actual impulse on a wire
22:58:10 <ais523> and you can multithread by having more than one of them
22:58:15 <ais523> and bits of code know to run when the IP turns up
22:58:29 <AnMaster> ais523, heh. what about thread local dat?
22:58:31 <AnMaster> data*
22:58:42 <ais523> AnMaster: doesn't work like that
22:58:49 <ais523> variables work as in OCaml
22:58:53 <AnMaster> ais523, so how does the IPs avoid running the same code
22:58:57 -!- adam_d has quit (Read error: 110 (Connection timed out)).
22:58:59 <AnMaster> ais523, I don't know ocaml
22:59:10 <ais523> AnMaster: you make sure they don't run the same code via static analysis, before hand
22:59:13 <ais523> my master's project was about that
22:59:20 <AnMaster> ah
22:59:57 <AnMaster> oklofok, that seems pretty common however
23:00:27 <oklofok> AnMaster: it's not interesting how many i remember, as this is not how many i remember if i actively try
23:00:41 <oklofok> this is just how many i remember if i lay cards down without thinking, turn them face down, and try to remember what i saw
23:00:49 <AnMaster> oh
23:00:54 <oklofok> the amount is different depending on how i look at them
23:01:12 <AnMaster> oklofok, what if you try to remember from the start?
23:01:30 <oklofok> if i look at each of them, so that all are already turned, i remember less than if i look at each in turn, always having the other face down
23:01:46 <oklofok> i guess that sounds obvious, i focus better if there's just one thing to focus on
23:01:54 <oklofok> but it feels like i'm doing the exact same thing
23:01:58 <oklofok> looking at each card.
23:02:12 <oklofok> AnMaster: obviously i can just memorize the whole deck
23:02:22 <AnMaster> oklofok, hm
23:02:25 <AnMaster> not obvious
23:02:32 <oklofok> anyone can remember a deck
23:02:58 <oklofok> make a song about it, "THIIIIIS HERE IS MISTER JACK, HE'S A HEARTY HEARTY DUDE"
23:03:00 <AnMaster> oklofok, anyone?
23:03:07 <oklofok> anyone.
23:03:20 <AnMaster> oklofok, without reservation?
23:03:45 <oklofok> anyway if you add time limits, i can memorize 15 pretty much without work, atm
23:04:07 <oklofok> without work = without system, without major effort making up a system on the fly
23:04:13 <oklofok> just looking at cards and turning them
23:04:38 <AnMaster> oklofok, even an idiot savant who is savant at something completely different?
23:04:38 <AnMaster> ;P
23:04:40 <oklofok> also for 9 cards, i can keep track of simple permutations... but still a noob at this
23:04:51 <oklofok> AnMaster: well any human
23:05:12 <AnMaster> oklofok, they are human
23:05:16 <AnMaster> ...
23:05:18 <oklofok> i actually define human as the ability to memorize a deck of cards
23:05:20 <oklofok> oh
23:05:24 <oklofok> that's true...
23:05:27 <oklofok> i'll have to think about this
23:06:38 <oklofok> AnMaster: oklofok, they are human <<< oh lol i read "then you are human"
23:06:44 <oklofok> thought it was a reference to my not being human
23:07:03 <oklofok> i suppose idiot savants are technicaly human
23:07:07 <oklofok> *technically
23:07:12 <oklofok> my kb is borken
23:11:41 <oklofok> i actually now also realize your "then you are human" comment would've been before my definition of human
23:11:53 <oklofok> major brainfart
23:12:06 <oklofok> i bet none of you humans can do that
23:13:09 <oerjan> indeed my farts usually appear in the other end
23:13:36 <oklofok> that sounds disgusting!
23:14:00 <oklofok> no wonder you're never invited to the intergalactic gala of greatness
23:14:13 <oerjan> wait, did i just make a fart joke? my humor must be deteriorating even further!
23:14:25 <oklofok> :)
23:14:47 <oklofok> were you planning on that continuation btw?
23:14:52 <oerjan> nope
23:14:58 <oklofok> good
23:15:11 <oerjan> what is this "planning" thing you are speaking of
23:25:16 <oklofok> memory is so weird
23:43:08 <Sgeo> Hm.
23:43:24 <Sgeo> Chrome's "Close tabs opened by this tab" only goes 1 level deep
23:44:23 <oerjan> well otherwise it would have to recurse. and that would require recursion.
23:45:22 <oklofok> i'm not sure i get that
23:45:28 <oerjan> something which would necessitate a recurrence step.
23:45:47 <oklofok> is this another fart joke?
23:46:27 <Sgeo> oerjan, and that's bad how?
23:46:55 <oklofok> because the smell would be horrible
23:47:51 <oerjan> oklofok: unlikely. although who knows what one might find at the base step.
23:48:23 <oerjan> also, Sgeoosh
23:48:45 <oklofok> YOU TELL ME WHAT THE JOKE WAS ABOUT THIS INSTANT
23:48:52 <oklofok> and don't say okloosh
23:49:19 <oerjan> but that would require me explaining what the point of the joke is!
23:49:28 <oklofok> ...
23:49:33 <oklofok> grrrrrrr
23:50:08 <oklofok> unless the joke actually had nothing to do with chrome
23:50:09 <oerjan> beware of the oklobear
23:50:15 <oklofok> just recursion?
23:50:57 <oerjan> that seems a distinct possibility. except it certainly started out relevant for a second.
23:53:19 <oerjan> today, we learn that sometimes people missing the point of a joke can be funnier than the joke itself
23:53:27 -!- Pthing has joined.
23:53:44 <oklofok> i'm going to grr you dead.
23:53:48 <oklofok> not Pthing, oerjan
23:54:09 * Sgeo grrs oklofok to half-death
23:54:45 <oerjan> a grrrsome death, i assume
23:55:33 <oklofok> seriously, what was the joke
23:56:03 <Sgeo> I assume it was about describing recusion using variants of the word recursion
23:56:10 <oerjan> recursion. which should be obvious because of the recursion.
23:57:22 <oklofok> well come to think of it there needs to be no chrome reference because recursion already is a tab closing reference
23:57:54 <oerjan> now you're just trying to be incomprehensible back.
23:58:09 <oklofok> no not really!
23:58:48 <oerjan> and i tell you there _was_ a chrome reference.
23:59:19 <Sgeo> "Sgeoosh"?
23:59:20 <oerjan> to close descendant tabs more than 1 level deep, what do you need?
23:59:41 <oklofok> ..recursion?
23:59:54 <oerjan> *ding ding ding*
←2009-11-13 2009-11-14 2009-11-15→ ↑2009 ↑all