00:02:41 -!- FireFly has quit ("Later").
00:02:45 <ehird> http://www.techcrunch.com/2009/09/10/yeah-ok-so-facebook-punkd-us/ ;; from reddit. TechCrunch? Inaccurate? Naive? ZomGNEVar!!!1
00:03:55 <ehird> Sweet, uninstalling Sumatra doesn't remove its start menu icons
00:14:18 -!- rodgort has quit (Remote closed the connection).
00:19:41 -!- rodgort has joined.
00:20:35 * ehird is continually surprised that people actually install drivers that come with a piece of hardware
00:25:01 <ehird> I really hate the windows-tab switcher thing
00:25:11 <ehird> It's just different enough from Expose to (a) not be a ripoff, (b) be useless
00:27:15 -!- coppro has quit ("The only thing I know is that I know nothing").
00:28:30 -!- Pthing has quit (Remote closed the connection).
00:29:00 -!- coppro has joined.
00:30:28 <coppro> and, 801.11n is approved
00:30:44 <ehird> coppro: identical to recent drafts?
00:30:49 <ehird> or do we need yet more hardware
00:31:07 <coppro> I hope it's close enough to recent drafts
00:31:13 <coppro> my new computer has a draft-n chip
00:31:42 <ehird> coppro: does it really matter though
00:31:48 <ehird> the one before that is fast enough
00:32:02 <ehird> coppro: anyway, there's been draft-n hardware since, like, mid 2008
00:32:04 <ehird> so you should be fine
00:32:15 <coppro> ehird: probably not. But as far as drafts go, they usually don't change in the last few steps of standardization
00:32:29 <coppro> maybe clarifications, but no major feature changes
00:33:43 <ehird> http://www.oldskool.org/pc/8088_Corruption ;; Full-speed video on an original PC
00:36:52 <ehird> Right, that's it, I'm writing my own PDF reader
00:42:46 <ehird> "First Sumatra was based on Xpdf (v<0.2), then Poppler as backend but it changed to MuPDF because of better support for the Windows platform."
00:42:51 <ehird> won't be using poppler then
00:54:45 * ehird reconsiders his position on Foxit
00:54:47 <ehird> you can hide the ad
00:55:04 <ehird> and the menu, at least, turns normal, although the menus therein don't
00:56:42 <ehird> but it's still not perfect, so nyah :)
00:57:38 <ehird> ofc the latest version is still uber-bloated
00:58:46 -!- immibis has joined.
00:59:37 -!- immibis has quit (Client Quit).
01:01:08 <ehird> ...wtf, foxit uses its own open dialog
01:01:38 <coppro> ehird: it's better than Kubuntu alpha
01:01:46 <coppro> you should see OO.org's file dialog
01:02:01 <ehird> coppro: linux file dialogs are pretty much unrescuable
01:02:03 <coppro> I filed a bug entitled "KDE FIle dialog utterly broken" - no one has disputed that claim
01:02:12 <ehird> Windows' are pretty damn good
01:02:17 <coppro> nah, KDE's is pretty good
01:02:22 <coppro> just the OO.org guys fail
01:02:28 <ehird> gnome's kinda sucks, though
01:02:35 <ehird> it takes the wrong approach to simplicity entirely
01:02:38 <coppro> also, whatever one thunderbird is using
01:02:44 <ehird> mozilla have their own
01:02:47 <ehird> you can make it use kde's
01:02:47 <coppro> I type in the filename, halfway through it autocompletes it
01:02:48 <ehird> there's a plugin thing
01:02:58 <coppro> without even having a dropdown or anything
01:03:35 <coppro> for instance, I download a file, need to open with kate. If I type "/usr/bin/kate", I end up with "/usr/sr/bin/in/katete"
01:04:15 <ehird> well that's clearly the program Katate, which is a non-base-system special resource, translated to indian
01:05:09 <coppro> whoever designed that should be shot
01:05:21 <ehird> that applies to most things
01:05:35 <coppro> eh, most of them it's just locked up and left to die
01:05:42 <coppro> this file dialog is a shooting offence
01:06:06 <coppro> btw, turn on your away flag, head in to #nomirc, and say you're away
01:06:09 <ehird> i think slowly dying of thirst is more horrific than being shot
01:18:25 <ehird> also, WJW @ http://code.google.com/p/sumatrapdf/source/browse/trunk/src/SumatraPDF.cpp
01:18:28 <ehird> ever hearda files?
01:31:43 <GregorR> <coppro> for instance, I download a file, need to open with kate. If I type "/usr/bin/kate", I end up with "/usr/sr/bin/in/katete"
01:31:48 <GregorR> That's so FEKKING ANNOYING
01:32:29 <GregorR> I'd rather just make a sob.
01:36:37 <ehird> I do hope there's a better way to make Windowsy GUIy things without using Visual Studio.
01:39:43 <Sgeo> Do the GUI code by hand?
01:39:55 <ehird> Assemble the whole GUI in code?
01:40:00 <ehird> Yeah, uh, I said "a better way".
01:41:25 -!- GreaseMonkey has joined.
01:44:29 <coppro> building GUIs in code isn't as hard as people make it out to be
01:44:54 <ehird> It's obfuscatory, it doesn't help you design UIs (you have to design them in your head then write it as code), ...
01:45:17 -!- ehird_ has joined.
01:46:59 -!- ehird_ has left (?).
01:47:04 -!- ehird has quit ("Page closed").
01:47:21 -!- ehird has joined.
01:47:38 -!- ehird has left (?).
01:48:23 -!- ehird has joined.
01:53:53 -!- ehird has quit ("gnop").
02:11:32 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
02:38:18 -!- adam_d has quit (Read error: 113 (No route to host)).
03:07:59 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
03:08:00 -!- Sgeo_ has joined.
03:15:18 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)).
03:15:21 -!- Sgeo__ has joined.
03:38:19 -!- ehird has joined.
03:38:23 <ehird> CMake Error at cmake/modules/CfungeRequireFunction.cmake:35 (message): Your system seems to be missing the function "getaddrinfo" which is required by cfunge.
03:38:27 <ehird> stumbling block numero uno!
03:38:58 * ehird grabs himself an implementation of getaddrinfo
03:41:58 <ehird> holy fucking hell ./configure is slow on cygwin
03:42:07 <ehird> even slower than ccmake was at the start
03:42:25 <ehird> good thing I'm only using this POS to try cmake compilation
03:42:25 <Sgeo__> ehird, I assume you want to use CFunge while playing your game?
03:42:35 <ehird> Sgeo__: something like that :)
03:42:51 <ehird> I'm just trying to irritate AnMaster by providing him a few short patches to make it work perfectly on cygwin
03:43:06 <ehird> and watch him squirm as he tries to come up with excuses not to commit them!
03:43:34 <Sgeo__> I take it that Cygwin is imperfect?
03:43:46 <ehird> process spawning on windows is dog slow. no way around that.
03:43:53 <ehird> But cygwin is fitting a square peg into a round hole badly.
03:44:18 <ehird> I'm going to switch to MinGW+Xming, paired with MSYS.
03:44:35 <ehird> Or just MinGW+GnuWin32, but that doesn't include a shell afaik.
03:44:49 <ehird> All I want is the basic unix tools and a nice shell + terminal, that's all.
03:53:30 -!- augur has joined.
03:55:55 <ehird> We have cfunge configuration page!
03:55:59 * ehird tweaks linker options to link with the impl
03:57:11 <ehird> And it's compiling!
03:57:18 <ehird> With a shitload of warnings for every file.
03:57:23 <ehird> Including a bunch of visibility ones.
03:57:37 <ehird> /home/Elliott/cfunge-0.9.0/src/funge-space/funge-space.c:50:4: error: #error "cfunge needs a working mmap(), which this system claims it lacks."
03:57:53 <ehird> cygwin's mmap works
03:57:55 <ehird> let's patch that out
03:58:24 <ehird> oh, "working" = OMG POSIX DECLARATION YAAAAY
03:59:02 <ehird> /home/Elliott/cfunge-0.9.0/src/fingerprints/REXP/REXP.c:31:4: error: #error "cfunge needs POSIX regular expressions, which this system claims it doesn't have."
04:00:31 <ehird> /home/Elliott/cfunge-0.9.0/src/fingerprints/TURT/TURT.c:223: error: 'M_PI' undeclared (first use in this function)
04:00:36 <ehird> /home/Elliott/cfunge-0.9.0/src/fingerprints/TURT/TURT.c:228: warning: incompatible implicit declaration of built-in function 'round'
04:01:36 <ehird> AnMaster: yo, M_PI is non-standard.
04:02:16 <ehird> that compile went very well, only a few linker errors
04:02:37 <ehird> SOCK and SCKE both define ___ntohl and ___ntohs apparently
04:02:41 <ehird> but "static" isn't supported on cygwin
04:03:29 <ehird> ah, from getaddrinfo, presumably
04:04:34 <ehird> ah, it's from winsock
04:05:17 * ehird replaces _Exit with exit
04:05:21 <ehird> hmm, no, just _exit
04:05:40 <coppro> just compile to LLVM :P
04:05:58 <ehird> uhh, no, that won't work
04:06:03 <coppro> (neat fact: one of the examples LLVM comes with is a brainfuck interpreter)
04:06:04 <ehird> LLVM doesn't provide posix libraries.
04:06:23 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SOCK/SOCK.c.o:SOCK.c:(.text+0x0): multiple definition of `___ntohl' CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0x0): first defined here CMakeFiles/cfunge.dir/src/fingerprints/SOCK/SOCK.c.o:SOCK.c:(.text+0x10): multiple definition of `___ntohs' CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0x10): first defined here
04:06:28 <ehird> as soon as I can fix those, I have a compilation
04:06:53 <coppro> same file's getting compiled more than once?
04:07:11 <ehird> read the damn error, it's that some header file defines those twice
04:07:15 <ehird> a winsock header, obviously
04:07:51 <ehird> naturally I have no f'n clue how to fix that...
04:08:06 -!- CESSMASTER has quit (Read error: 110 (Connection timed out)).
04:08:08 <ehird> knowing windows headers I can probably do #define WINSOCK_DO_NOT_DEFINE_NTOHL
04:08:10 <coppro> it's kludgy but it will work
04:08:11 <ehird> coppro: it's in a system header file.
04:08:20 <ehird> you know. winsock.
04:08:33 <coppro> wait, you're on Windows?
04:08:49 <ehird> obviously; I'm trying to compile cfunge with cygwin
04:09:17 <ehird> it failed a lot at the start because cygwin doesn't pedantically claim to be posix-perfect by defining a name in a header file :)
04:09:24 <Sgeo__> Why would CFunge not work on cygwin?
04:09:39 <ehird> First of all, it's not CFunge, stop calling it that.
04:09:55 <ehird> Second of all, AnMaster idk, his BFF unrealistic demand for POSIX compliance.
04:10:33 <Sgeo__> My demand for cross-platform workability was the cause of a major spec change in PSOX
04:10:48 <Sgeo__> Although come to think of it, I never tested PSOX on Windows
04:11:22 <ehird> I'm actually planning on writing a fully-featured PDF reader for Windows, complete with browser plugin, so I guess I'm off the deep end into the Dark Side now.
04:11:38 <ehird> Also, fun fact: Going off an end to get to a side makes no sense whatsoever.
04:13:00 <ehird> Sgeo__: This is your new favourite subreddit: http://www.reddit.com/r/tipofmytongue/
04:13:37 <Sgeo__> ehird, because I made a comment once or twice about wanting to find something that I forgot the name of?
04:13:52 <ehird> And also posted to reddit about it with cringeworthy audio!
04:14:05 <Sgeo__> I didn't actually post it to reddit
04:14:23 <Sgeo__> I posted about something else to reddit
04:14:49 <Sgeo__> Which one of these has cringeworthy audio? http://www.reddit.com/user/Sgeo/submitted/
04:15:15 <ehird> I don't actually care enough to look...
04:16:07 <Sgeo__> Why do I only ever make cringeworthy stuff?
04:17:15 <ehird> In case you haven't noticed, I'm kind of a dick. True story.
04:18:39 * ehird puts all the socket includes in the global cfunge header file, says "fuck it"
04:20:01 <ehird> Oh, I think "static" isn't working because of an old version of something.
04:20:11 <ehird> coppro: s/static/inline/ :D
04:20:42 <coppro> ehird: yeah, that would do it
04:20:48 <ehird> oh, PE just doesn't do static
04:20:55 <ehird> coppro: except like 90% of cfunge things are static
04:21:04 <coppro> ehird: #define static inline ;)
04:21:16 <coppro> (that's a terrible idea. Don't do that. Seriously)
04:21:31 <ehird> [04:20] <ehird> coppro: s/static/inline/ :D
04:21:35 <ehird> I kind of pre-empted you there...
04:21:46 <ehird> by putting it in the global header
04:21:50 <ehird> now ALL of the objects conflict
04:22:42 <ehird> is there a way to declare a function inline after the fact?
04:23:24 <Sgeo__> Hm, why would declaring functions inline affect anything other than efficiency?
04:23:32 <coppro> Sgeo__: it affects the ODR
04:24:18 <coppro> ODR = One Definition Rule
04:24:20 <Sgeo__> ..why would anything try to define a function more than once?
04:24:33 <ehird> Sgeo__: you are supid. sop alking
04:24:38 -!- GreaseMonkey has joined.
04:24:43 <ehird> now that i've re-attached my t key, hi
04:24:47 <coppro> Sgeo is unfamiliar with C-like languages
04:24:56 <ehird> yeah yeah shush you :P
04:25:04 <ehird> bashing sgeo is my national sport.
04:25:07 <coppro> Sgeo__: #include is a text replacement operation, so if a function is defined in a header, it will be defined in every TU to #include it
04:25:07 <Sgeo__> Namespace/scope issues?
04:25:23 <ehird> coppro: you're intentionally using acronyms to confuse him, aren't you :P
04:25:23 <Sgeo__> ...why would a function be defined in a header?
04:25:50 <Sgeo__> And why would it work in a real POSIX environment but not cygwin?
04:25:52 <coppro> Sgeo__: for whatever reason
04:25:58 <ehird> cygwin isn't perfect
04:26:00 <ehird> and windows isn't perfect
04:26:06 <coppro> because it's using Winsock
04:26:13 <ehird> windows' PE executable format has no visibility stuff
04:26:16 <ehird> therefore cygwin can't do visibility
04:26:21 <ehird> therefore "static" can go fuck itself
04:26:31 <ehird> presumably microsoft's compiler does something special for static
04:26:34 <ehird> but gcc on cygwin doesn't
04:27:15 <Sgeo__> I still don't see why functions were defined in headers
04:27:53 <coppro> ehird: I've got a truly terrible idea
04:28:02 <ehird> this particular function is defined in a header written in assembly
04:28:04 <ehird> or something like that
04:28:08 <ehird> coppro: i'm scared
04:28:19 <coppro> ehird: compile Winelib's Winsock in Cygwin
04:28:39 <ehird> (but it probably does the same thing)
04:28:48 <Sgeo__> ehird is Randall Munroe in disguise!
04:29:26 <coppro> ehird: alternate solution: how many source files actually include winsock?
04:29:43 <ehird> SOCK, and SCKE. Two competing fingerprints.
04:29:51 <ehird> They cannot be combined.
04:29:52 <coppro> ehird: pick the one that uses WinSock less and declare the functions yourself
04:29:59 <coppro> rather than #including
04:30:03 <ehird> But I have to define structures and stuff too.
04:30:10 <ehird> And I could just, you know, kill myself instead.
04:31:52 <ehird> coppro: Maybe I should just disable whichever one fungot doesn't use.
04:31:53 <fungot> ehird: i did sort-of guess that it would have been a different feature, like first-class continuations. for closures all you need for a portable device with a non-gpl firmware? they shouldn't care about that
04:32:08 <ehird> I don't think C has first-class continuations, fizzie.
04:32:23 <ehird> Also, closures have nothing to do with proprietary portable devices. Indeed they should not care about such things.
04:32:29 <fungot> ehird: mit.edu knows the right info! :) how long does it take to build a derived structure in another module
04:32:38 <fungot> http://git.zem.fi/fungot
04:32:43 <coppro> C should totally support first-class continuations :D
04:32:55 <ehird> I cleaned up some code that did that once.
04:33:00 <ehird> And e.g. Elk Scheme does it.
04:33:06 <coppro> although it does have longjump *shudder*
04:33:34 * coppro is glad longjmp in C++ is basically defined as "go fuck yourself"
04:33:47 <ehird> You find the base of the stack at the start of the program, then copy from the top of the stack to there. Then you setjmp, and make a (setjmp thingy,stack) tuple type.
04:33:56 <ehird> To resume, copy the stack back and longjmp.
04:34:00 <ehird> Voila! Is like a magic!
04:35:18 <coppro> so basically you make a cactus stack
04:35:38 <ehird> No, you just copy the stack.
04:35:54 <ehird> It gives you first-class continuations.
04:36:02 <ehird> coppro: The C stack.
04:36:05 <ehird> It works with any C code.
04:36:17 <ehird> You said C should have first-class continuations; I say it's easy to code; you say it's boring. wut
04:36:29 <coppro> cactus stacks are more fun!
04:36:48 <ehird> copying a block of memory turns out to be fast, and so are setjmp/longjmp
04:37:12 <ehird> although not the nop it is in e.g. continuation-passing style
04:38:10 <pikhq> Longjmp is an awful hack. Though, that's not *much* of an argument against it. After all, awful hacks are the C way.
04:38:22 <ehird> setjmp is just saving a bunch of registers and a pointer to the stack
04:38:31 <ehird> oh, I forgot one step in the make-continuation part
04:38:38 <pikhq> Still an awful hack.
04:38:43 <ehird> in the resume part
04:38:56 <ehird> you set the setjmp-struct's stack pointer to point to your newly-restored stack
04:39:01 <ehird> otherwise it doesn't work
04:39:02 <coppro> wouldn't it just be easier to make a function that has no local state call setjmp, thus making a proper continuation easier?
04:39:12 <ehird> that isn't a continuation
04:39:18 <ehird> setjmp fails as soon as you fall below the frame that called it
04:39:25 <ehird> also, that is totally irrelevant
04:39:28 <ehird> it has nothing to do with that at all
04:40:52 <ehird> lol, fungot uses both SOCK and SCKE
04:40:52 <fungot> ehird: they use python right now
04:40:56 <ehird> fungot: no they don't
04:40:56 <fungot> ehird: me is looking for something better to happen", or " a deep dark secret". even though it doesn't mean anything
04:41:07 <ehird> don't search for things with no meaning, fungot :P
04:41:26 <coppro> are you trying to run your own fungot?
04:41:26 <fungot> coppro: i trust them.)" fnord)
04:41:36 <ehird> coppro: no, but running fungot on windows would be fun
04:41:37 <fungot> ehird: key words: " in the right hands) to the channel is active, and which i thought replaced it
04:41:51 <ehird> I have no idea htf to fix this
04:42:23 <coppro> why are you using winsock anyways?
04:42:30 <ehird> umm, because that's what cygwin's sockets are.
04:42:42 <ehird> winsock is BSD sockets, you know.
04:42:49 <pikhq> Well, winsock is at least close to normal sockets.
04:42:52 <coppro> so basically cygwin can't compile sockets
04:42:56 <coppro> that doesn't sound right
04:43:03 <pikhq> Different header was the main difference, right?
04:43:04 <ehird> coppro: winsock's API = berkely sockets API
04:43:14 <ehird> **berkely sockets'
04:43:24 <ehird> pikhq: winsock lets you use the BSD header names
04:43:26 <coppro> but cygwin should be able to compile sockets
04:43:33 <ehird> coppro: what the fuck does that mean?
04:43:35 <ehird> it can compile socket code
04:43:39 <coppro> ehird: it clearly can't
04:43:43 <coppro> since it isn't working
04:43:53 <pikhq> Well, then, winsock is nothing more than an implementation of BSD sockets.
04:43:59 <ehird> I thought cfunge needed it
04:44:09 <ehird> it works for other people
04:44:18 <ehird> but cygwin sockets work fine for most people
04:44:22 <ehird> pikhq: winsock is based on BSD sockets.
04:44:26 <ehird> like, the actual code.
04:44:59 <pikhq> ehird: In the same way that BSD is an implementation of UNIX. That it's a fork doesn't change that.
04:45:17 <ehird> cygwin has socket headers
04:45:21 <ehird> presumably it then includes winsock.h itself
04:45:31 <pikhq> But yeah, you're right. I had temporarily forgotten that Windows devs just took BSD sockets and ported it.
04:45:32 <ehird> so i was wrong in saying you can use the old header names with winsock
04:45:34 <ehird> it's cygwin donig that
04:46:38 <ehird> this is irritating
04:53:16 <ehird> it'll obviously work if i fix this, so point proven
04:53:20 <ehird> whatever that point is
04:53:24 <ehird> time to remove cygcrap from my disk
04:56:25 <ehird> I wonder if Mono supports the windows gui stuff
05:03:10 <ehird> coppro: as a warning, you may get more flak from me for using C++ in the near future
05:03:29 <coppro> ehird: says someone considering Mono
05:04:29 <ehird> coppro: I'm fairly sure that Windows Forms is less horrific than MFC, WTL or Win32, dood.
05:04:49 <ehird> But I'll likely go for stock .NET, it's just that that involves using Visual Studio and ew.
05:04:52 <coppro> gtkmm ftw (or ftl on Windows I guess)
05:05:18 <ehird> Yeah, I'm kinda trying to write something native, small, low memory usage, fast, no dependencies...
05:05:26 <ehird> So, basically the opposite of gtkmm.
05:06:50 <coppro> (or SFML in C++, which I know you hate)
05:07:08 <ehird> SDL is a graphics library, not a GUI library...
05:07:23 <ehird> Unless you mean "make your own widgets", in which case please give me your address so that I may stab you.
05:07:34 <ehird> (I *did* say "native" and all...)
05:07:58 <coppro> oh, you want native widgets
05:08:06 <coppro> then yeah, winforms is probably the way to go :/
05:08:14 <coppro> mono has winforms support
05:08:24 <ehird> No, coppro; I want to make a PDF viewer with blinking SDL widgets. :P
05:08:36 <ehird> "It's just like every game menu ever!"
05:08:53 <ehird> Anyway, yeah; I'm either going for winforms or WTL.
05:09:05 <ehird> I wonder if Mono/WinForms has a GUI designer thingy.
05:10:31 <ehird> Also, creepy thing of the yesterday: Windows detected that I was using an all-in-one computer in the hardware control panel thing.
05:11:16 <coppro> ehird: according to mono's page, SharpDevelop does
05:12:15 <ehird> http://static.icsharpcode.net/OpenSource/SD/TeaserSharpDevelop2OnVista.png Well, it doesn't look *awful*...
05:12:28 <ehird> I'm just wary because foss stuff is usually crap on windows.
05:13:15 <ehird> SharpDevelop looks like I'd be able to do it on .NET without using Visual Studio, which is nice.
05:13:29 <ehird> I wonder if .NET can interact with MinGW-compiled code alright.
05:13:41 <ehird> I'd like to compile whatever PDF library i use with MinGW then link it into the final .NET binary...
05:14:11 <coppro> I don't think Mono can bridge into nonmanaged code yet
05:14:12 <ehird> I know it can import dlls fine, the only question is if you can do that with... non-dlls.
05:14:16 <coppro> at least, not very well
05:14:47 <ehird> Yah, Mono's out if I can use .NET without VS.
05:15:22 <ehird> http://upload.wikimedia.org/wikipedia/en/b/b6/SharpDevelop.png not that sharpdevelop looks any better
05:15:36 <ehird> I wonder if these IDE guys ever just look at one of their screenshots.
05:16:00 <ehird> Insert qualifier "comfortably".
05:16:58 * ehird , wanting to use the Microsoft WinForms site thing, installs Silverlight, sighs
05:20:20 -!- Sgeo__ has quit (Read error: 110 (Connection timed out)).
05:23:19 <ehird> in fact, fuck that
05:23:31 <ehird> I know I'll be using mingw
05:31:48 <ehird> "WoW... and at 7680x3200 res, maxed settings and 80FPS, there's hardly a more appropriate description to AMD's DX11 card..."
05:31:58 <ehird> upu...tumaoertjiojgioerjgodfisgjdfgoigosifjg
05:32:06 <ehird> ashaiuwhuwihaiuhwhatTHEFUCKINGHELL
05:32:09 <ehird> that's some mega gpu
05:32:12 <coppro> askdjlf lsakdg;ah;ah;we; a;djls
05:32:27 <ehird> PARALLEL COMPUTING
05:32:41 <ehird> I AM PRACTICALLY COMPUTING AS I STAND HERE THINKING ABOUT IT
05:32:54 <ehird> http://images.anandtech.com/reviews/video/ATI/Eyefinity/eyefinity.jpg holy wow on a stick
05:33:27 <coppro> that big bar in the middle makes it all pointless
05:33:47 <ehird> It all just seems to work, which is arguably the most impressive part of it all. AMD has partnered up with at least one display manufacturer to sell displays with thinner bezels and without distracting LEDs on the front:
05:34:07 <ehird> http://images.anandtech.com/reviews/video/ATI/Eyefinity/eyefinity2.jpg ;; what it'll look like
05:34:26 <coppro> not bad, but STILL THERE's A FREAKING BAR IN THE MIDDLE OF MY SCREEN
05:34:27 <ehird> "I played Dirt 2, a DX11 title at 7680 x 3200 and saw definitely playable frame rates. I played Left 4 Dead and the experience was much better. Obviously this new GPU is powerful, although I wouldn't expect it to run everything at super high frame rates at 7680 x 3200."
05:34:41 <ehird> you could get 20fps on top settings on crysis at 1024x768, I bet!
05:34:54 <ehird> one window per screen
05:35:24 <coppro> ugh, the mouse movement L(
05:35:38 <ehird> = you wouldn't be using a mouse
05:36:18 <ehird> coppro: also, it's good as long as your windows don't overlap screens
05:36:25 <ehird> so... very GPU intensive spreadsheets
05:36:42 <coppro> ehird: yes, you could do a 6-screen display, but really?
05:37:12 <ehird> http://files.myopera.com/wiz/albums/781632/wiz-desktop1.jpg
05:37:18 <ehird> from the silentpcreview forums
05:37:32 <ehird> that huge slab of metal on wheels to the right is a TNN-500AF
05:37:43 <ehird> which is a totally heatpipe, no-moving-parts CPU case/psu/etc
05:38:11 <ehird> the guy uses it (it costs >$1,000 just for the case) + an SSD (= 0 moving parts computer) + 6 fucking monitors
05:41:36 <ehird> imagine multiple projectors
05:41:54 <ehird> I want six fucking projectors and a circular room
05:42:15 <coppro> can Xorg handle circular displays?
05:42:33 <ehird> just position the projectors right
05:42:43 <ehird> the room won't be tiny, so it'll look fine at any given position
05:42:52 <coppro> no, but I mean can xorg handle a screen that you can wrap your mouse all the way round on
05:43:07 <ehird> that would be trivial
05:43:13 <ehird> just add a hot thing to the left and right edges
05:43:16 <ehird> to warp to the other edge
05:43:33 <coppro> but then you couldn't stretch windows over, etc.
05:43:43 <ehird> ah, i see what you mean
05:43:55 <ehird> could six projectors cover a decent-sized circular room, btw?
05:44:49 <ehird> man, imagine a 3d game designed for one of them
05:44:55 <ehird> no need to swerve the mouse to look behind you
05:44:58 <ehird> just... look behind you
05:45:18 <ehird> i just had an idea
05:45:19 <coppro> with a swivel chair hooked into the system
05:45:20 <ehird> and it is a good idea
05:45:32 <coppro> so you turn left, you /actually turn left/
05:45:32 <ehird> coppro: actually, a chair thing that straps you in and can go 360 degrees in any dimension
05:45:38 <ehird> so you can rotate in any way
05:45:45 <ehird> little button things at the left and right sidse
05:45:53 <ehird> so that when your hand or foot hits one
05:45:58 <ehird> it uses a motor to rotate that way
05:46:03 <ehird> based on the pressure you apply
05:46:22 <ehird> mount a keyboard and mouse on it
05:46:34 <ehird> also, add in a full surround sound setup
05:47:02 <coppro> that would be awesome, but would you use a spherical screen?
05:47:26 <ehird> well, the world isn't spherical, so that would be useless
05:47:31 <ehird> when you go outside
05:47:45 <ehird> a circular room would be fine if it curved into the ceiling and floor
05:47:50 <ehird> since the sky and ground are... basically flat.
05:47:52 <coppro> (presumably you mount the projectors on the outer ring of the frame?
05:48:04 <ehird> somewhere on the ceiling, yeah
05:48:11 <ehird> same with the surround sound speakers
05:48:15 <ehird> and, presumably, the hardware
05:48:22 <coppro> ehird: I meant the frame that the chair is mounted to
05:48:26 <coppro> also, speakers in the walls
05:48:32 <ehird> you couldn't rotate that way
05:48:35 <ehird> (the mounting to chair)
05:48:47 <ehird> mount to the ceiling
05:48:53 <ehird> so you can look normally
05:48:56 <coppro> ehird: the chair has to have one fixed mount
05:49:11 <ehird> coppro: also, speakers in the walls will be bad quality, the wall will muffle them
05:49:13 <coppro> to get 360 degree rotation
05:49:24 <coppro> ehird: there are speakers designed to use the surface as the wall to amplify the sound
05:49:36 <ehird> anyway, ceiling and floor vision is kinda useless
05:49:41 <coppro> http://en.wikipedia.org/wiki/Gyroscope
05:49:45 <ehird> i mean, okay, the floor makes it more immersive
05:49:49 <ehird> but who looks up at the sky in a game?
05:49:52 <ehird> just make it blue-ish
05:50:00 <coppro> you mount the projectors on the fixed frame
05:50:08 <coppro> so they are in the middle of the room
05:50:20 <ehird> the chair doesn't really need 360 degree motion
05:50:24 <ehird> it just needs to be strap-in
05:50:33 <coppro> I think just rotation would be fine
05:50:34 <ehird> an actual chair would just be awkward with all of this
05:50:39 <ehird> coppro: by strap-in, you'd be vertical, ofc
05:51:04 <ehird> haha, lol, were you imagining doing a loop while sitting down
05:51:10 <ehird> "FUCK. YOU. GRAVITY!"
05:51:16 <ehird> "I'm going to sit upside down!"
05:51:26 <coppro> ehird: with force-feedback points attached all over the body :D
05:51:33 <ehird> now that may be going too far :P
05:51:42 <ehird> coppro: anyway, it's more awesome vertical as it means you can make the enemies real size
05:51:48 <ehird> what about when the enemy gets right next to you
05:51:51 <ehird> it'd appear meters away
05:51:51 <coppro> but like, on the arms and legs
05:51:57 <ehird> (note: WE ARE NOT DOING 3D HOLOGRAMS)
05:52:17 <ehird> coppro: 3d glasses make you lose colour
05:52:22 <ehird> everything's gray and washed out
05:52:24 <ehird> at least, red/blue ones
05:52:30 <ehird> the shutter ones give you a headache, no?
05:52:47 <coppro> I've used shutter ones, not a big deal imo
05:53:01 <ehird> The difficulty arises because light reflected from a motion picture screen tends to lose a bit of its polarization. However, this problem is eliminated if a 'silver' or Aluminized screen is used. This means that a pair of aligned DLP projectors, some polarizing filters, a silver screen, and a computer with a dual-head graphics card can be used to form a relatively low-cost (under US$10 000 in 2003) system for displaying stereosco
05:53:04 <ehird> coppro: not immersive
05:53:08 <ehird> anyway, what's the disadvantage
05:53:11 <ehird> do polarizing ones blink too
05:53:25 <coppro> and you don't notice the blink
05:53:29 <ehird> do they retain full colour and brightness?
05:53:46 <coppro> ehird: probably not full brightness
05:54:18 <coppro> but that can be dealt with easy
05:54:24 <ehird> come to think of it, if an enemy's that close to you, you're fucked anyway :P
05:54:40 <ehird> just make the screen wrap to the floor
05:54:52 <ehird> "If you see someone lying down, YOU ARE ABOUT TO DIE"
05:55:19 <coppro> but imagine you have like rubber-like cables attached to your arms, and they can be made more or less stretchy depending on the current applied to them
05:55:31 <coppro> so you can get variable resistance
05:55:49 <ehird> btw, what does this projection set up have that's better than a bunch of small screens in a circle mounted almost to fit your head?
05:55:51 <coppro> we should patent this :P
05:56:02 <ehird> apart from being less immersive and not letting things get close enough
05:56:17 <ehird> (think Data, but mounted so you can turn around)
05:56:28 <ehird> coppro: wtf, having a ring around your head that covers your whole vision is totally awesome :P
05:56:42 <coppro> other people could watch?
05:56:57 <ehird> they'd block your vision
05:57:58 <ehird> anyway, the chair idea of this is definitely the most interesting part I thin
05:58:35 <ehird> how would that help
05:58:46 <ehird> not having to mount them?
05:58:49 <ehird> that's kinda minor
05:59:05 <ehird> you can't get circular panels to rear project on
05:59:06 <coppro> ehird: prevents the projectors from having to deal with objects in the room
05:59:20 <ehird> we have an infinite budget, but it can't be used on research
05:59:26 <ehird> otherwise we can make anything that's physically possible
05:59:32 <ehird> it's more fun to have that constraint
05:59:47 <ehird> people will always block your vision
05:59:52 <coppro> I don't think rear-projection requires a special screen anyways
06:00:25 <coppro> ehird: yes, but they won't block the projector's line of fire. People blocking vision = semi-realistic (not for objects at close distances, but it works for objects far away). Projector shadows = fail
06:00:41 <ehird> if an enemy's coming at you at that angle...
06:00:49 <coppro> btw, 3d holograms are totally awesome
06:00:52 <ehird> so it's unrealistic, so it doesn't matter what happens then
06:00:54 <ehird> coppro: *impractical
06:00:59 <ehird> hmm, maybe the circular thing is cheating already
06:01:04 <ehird> there aren't any games that let you look behind you like that
06:01:29 <coppro> if we do 3d, we can make do with an easier geometry (hexagon)
06:01:49 <ehird> reality isn't hexagonal
06:01:51 <ehird> http://www.simprojects.nl/multi_projector.htm
06:01:57 <ehird> unsurprisingly, it's to run a flight simulator
06:02:10 <ehird> every-fucking-thing that's about displays and is wildly excessive is about flight simulators
06:02:23 <ehird> they're not even fun!
06:02:29 <coppro> ehird: you can fake it with the 3d effect
06:02:37 <ehird> coppro: not seamless, lame
06:02:40 <ehird> you could just use screens
06:02:47 <coppro> ehird: why isn't it seamless?
06:02:53 <ehird> because reality isn't circular
06:03:33 <coppro> reality isn't circular meaning...?
06:03:59 <ehird> in a hexagonal room, it'd be boring
06:04:03 <ehird> besides, you can do hexagonal with displays
06:04:06 <ehird> so it's very boring
06:04:37 <ehird> hexagonal is the suck
06:07:37 <ehird> http://www.simprojects.nl/diy_motion_platform_iii.htm
06:07:41 <ehird> pitch, roll and raw computer setup
06:07:43 <ehird> this guy is insane
06:07:48 <ehird> coppro: btw, where would the computer go?
06:07:54 <ehird> I assume the cables run above the chair into the ceiling
06:07:59 <ehird> and the computer's there
06:08:06 <coppro> floor seems better imo
06:08:23 <ehird> how would that possibly work
06:08:35 <coppro> computers are on the next floor down
06:08:50 <ehird> why, as opposed to the ceiling?
06:09:01 <coppro> because you are probably attaching stuff to the floor already
06:09:14 <coppro> easier to anchor to the floor than the ceiling
06:09:28 <ehird> you don't need an anchor
06:09:40 <coppro> if you want motors to power anything you do
06:09:58 <ehird> Depends on the projector lenses (standard focal lengths would be too long), and the optics involved. With correct optics, you could have each projector only have a 23" image on a screen. Theoretically you could even project such an image onto a cylindrical or hemispherical surface like a personal IMAX assuming you had the correct lenses and such.
06:10:05 <ehird> http://videoscreens.net/curved%20screens.htm
06:10:42 -!- Gracenotes has quit (Connection timed out).
06:19:27 <ehird> .NET can only interop with .dlls, I think
06:21:40 <coppro> then compile a DLL version of your... oh wait, DLLs require special code
06:22:01 -!- augur has quit (Read error: 54 (Connection reset by peer)).
06:25:31 <ehird> coppro: no, it's just that I want a single-file solution
06:25:47 <ehird> well, rather, reader + docs if any + plugin
06:26:03 <ehird> I'll probably use WTL, then
06:26:17 <coppro> no way to combine the .NET and non-.NET code into one DLL?
06:26:21 <ehird> It shouldn't be too much of a pain for a simple UI- oh, hm, I just realised something
06:26:35 <ehird> I can't use WinForms easily anyway, because netscape plugins are C/C++
06:26:48 <ehird> I mean, I could call into the .NET gui from the plugin
06:26:55 <ehird> coppro: that'd still be .dll + .exe
06:27:00 <ehird> but I'll just use WTL or whatever
06:27:24 * ehird looks at the notepad2 source code
06:27:27 <ehird> might be an inspiration
06:27:38 <ehird> also, I can't use stock MinGW, I think
06:27:45 <ehird> it doesn't do 64-bit binaries :(
06:28:30 * coppro wonders how difficult building an Okular plugin for firefox would be
06:28:43 <ehird> for the netscape plugin api
06:28:50 <ehird> (firefox has no separate plugin mechanism)
06:29:03 <ehird> then it'll work with firefox, safari, chrome, ... I think Opera too
06:29:51 <ehird> but yeah, I'm really just trying to make something as good as OS X's Preview standalone and Safari's PDF in the browser for Windows
06:30:12 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:30:32 <ehird> Safari's PDF is wonderfully simple; it's just the PDF, there, you can use Safari's regular zoom controls and the only UI is, if you hover near the bottom, a semi-transparent black HUD-type thing with a view outline icons fades in
06:30:51 <ehird> it's just two buttons for zoom in/zoom out, an "open in Preview" button, and a download button
06:31:36 <ehird> and the whole PDF is rendered instantly, all at once
06:31:58 <ehird> an awesome thing Snow Leopard added is, if a PDF is formatted into columns, it (presumably using a heuristic), when selecting, just uses that column
06:32:01 <ehird> as opposed to going over the others
06:32:10 * coppro is not sure if he prefers rendering the whole thing or not
06:32:14 <ehird> = you can finally copy from those &*^#$*&& two-column LaTeX papers
06:32:22 <ehird> coppro: when it's instant, it's obviously better
06:32:32 <coppro> ehird: instant entire document is not always an option
06:32:41 <ehird> try safari then tell me that :)
06:33:06 <ehird> it's only ever slow when "converting" (executing) one of those silly computing postscript programs
06:33:14 <coppro> ehird: I'll believe it can do most documents pretty fast. I would be exceedingly surprised if it could render the C++0x draft standard in under a second
06:33:34 <ehird> i'd have to reboot, but I can give you a pretty good guess
06:34:03 <coppro> oh wait, I'm exaggerating
06:34:13 <coppro> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2914.pdf
06:34:38 <ehird> also, have you ever come across one of those .dvis converted to pdf?
06:34:44 <ehird> always with the uber-smudgy, uncopiable text
06:35:28 <coppro> ehird: depends on the converter
06:35:37 <coppro> the one that comes with Ubuntu's TeX does it right
06:35:42 <ehird> yes, but have you come across one like that?
06:35:48 <ehird> especially from ACM sites
06:35:59 <ehird> coppro: I estimate Safari would render that in about four-five seconds
06:36:08 <ehird> if you have a slow computer and it's a bad day, maybe 7-8, tops
06:36:11 <coppro> the worst though are MS word ones
06:36:15 <ehird> and it pops up a little discreet progress bar while rendering
06:36:23 <ehird> so I don't think it's really a problem
06:36:36 <ehird> coppro: anyway, I have an insane planned fix for that
06:36:52 <ehird> recognize lines and their thickness in it (sort of like what captcha-breaking software does)
06:37:00 <ehird> convert this to a vector image, except
06:37:05 <ehird> if there's just really minor variation in the thickness
06:37:08 <ehird> normalise it to one value
06:37:15 <ehird> then render it at any size
06:37:21 <ehird> voila, smudgy text becomes scalable
06:37:22 <coppro> the problem with whole-document rendering is the memory a big document will take up
06:37:34 <ehird> how much ram have you got?
06:37:52 <coppro> but it can be a problem
06:38:05 <ehird> how many copies of the c++0x standard do you open a day?
06:38:12 <coppro> ehird: quite often, actually
06:38:15 -!- Gracenotes has joined.
06:38:17 <ehird> how many at once, I mean
06:38:44 <ehird> coppro: c++0x, the file, is 9mb
06:38:56 <ehird> I'll try and get sumatra to render it all
06:39:26 <ehird> lightweight windows pdf reader
06:39:55 <ehird> coppro: groan @ the first page warning on c++0x
06:40:54 <ehird> sumatra, it seems, won't render it all at once
06:41:18 <ehird> but really, at the very maximum, say adobe reader 11.72 or something, I bet that c++0x fully rendered, plus all the application baggage, cannot possibly be more than 400MB
06:41:29 <ehird> for a lightweight reader, say 100MB
06:41:50 <coppro> especially for my system, with little real ram and too much swap
06:41:54 <ehird> you almost certainly have 2-4GB of ram, and it's a very unusually large document; is a hundred meg or two unacceptable?
06:42:05 <coppro> (new computer has more ram, yay)
06:42:32 <ehird> I mean, I just don't see a situation on any sort of modern computer where you must open C++0x all the time and yet never have 200MB of RAM free
06:42:35 <coppro> in any case, I'm not really trying to defend anything, so it's a pointless debate
06:42:56 <ehird> one thing you can do when rendering all at once is display pages as they render
06:43:04 <ehird> that way, a pdf always opens instantly when you click
06:43:11 <coppro> but RAM is seriously the limiting factor of speed on this thing
06:43:14 <ehird> (apart from download time, but again you can do it incrementally)
06:43:20 <ehird> coppro: how much has it got? what computer is it?
06:43:26 <ehird> bsmntbombdood: yes, 12gb of it
06:44:04 <coppro> ehird: it's an old Dell latitude. I forget how much it actually has on sticks, but it's small enough that swapping kills performance when large amounts of ram are gobbled up
06:44:19 <coppro> granted, a link is special because it needs access to all that RAM at once
06:44:26 <ehird> takes two seconds to find out how much ram you have :P
06:44:58 <ehird> I had 1GB in here until december 08, actually
06:45:02 <ehird> 2.5 is noticably snappier
06:45:14 <ehird> you should have gone for 4
06:45:28 <ehird> 3 isn't much better than 2
06:45:30 <ehird> but 4 is a lot better
06:45:39 <ehird> 3 vs 4 is like $10
06:45:42 <ehird> coppro: don't ask me
06:47:14 <coppro> anyway, the other big thing is a non-ATI graphics card
06:47:25 <ehird> good thing or bad thing
06:47:33 <coppro> ATI linux drivers = the stains
06:47:38 <ehird> coppro: are you replacing an ATI card in your current machine
06:47:42 <ehird> with an intel one in your new one?
06:47:43 <coppro> ehird: no, new machine
06:47:55 <ehird> your current machine has ATI
06:48:01 <ehird> your new machine has intel
06:48:06 <ehird> coppro: LOLOLOLOLOLOLO
06:48:10 <ehird> the intel drivers for linux suck shit
06:48:11 <coppro> I don't want a high-power card
06:48:16 <ehird> you can't even do stuff full screen
06:48:20 <ehird> that xkcd about full screen flash wasn't a joke
06:48:33 <coppro> dammit really? I thought... dammit
06:48:47 <ehird> it's getting better, but... you just downgraded as far as linux is concerned
06:48:49 <ehird> give it a few months :\
06:48:55 <coppro> it can't be much worse than ATI
06:49:04 <ehird> ATI drivers are pretty good these days...
06:49:30 <ehird> I know this because I have an ATI card in this machine and it's always worked absolutely perfectly and fast with linux. :P
06:49:43 <ehird> right, 'cuz it's old :P
06:49:57 <coppro> OSS driver hates me, and... well.. FGLRX
06:50:08 <ehird> has always worked for me
06:50:34 <ehird> hmm, it seems that notepad2 is built with visual studio
06:50:46 <ehird> well, visual c++ 7
06:50:54 <ehird> probably *coded* with notepad2
06:50:56 <coppro> whenever I try to do anything more graphics-intensive than, say, glxgears
06:51:12 <ehird> your new intel card will solve that, nothing more intensive will run :-P
06:51:21 <ehird> i'm teasing, it isn't _that_ bad
06:51:44 <ehird> although full screen youtube is still a no-no
06:51:53 <ehird> which is probably a good thing for your IQ
06:52:08 <coppro> the only stuff I use youtube for is music
06:52:14 <ehird> anyway, the discrete graphics versions cost more and you can't get base configurations (so they're higher apart from the card)
06:52:16 <coppro> and there's no need for full screen or even a screen at all
06:52:23 <ehird> plus they're heavier, and have less battery life while on the card
06:52:30 <ehird> so you probably made the right choice
06:53:03 <coppro> though hybrid graphics sound appealing (I somehow suspect Linux doesn't have support for that though)
06:53:45 * ehird tries to find a T60p review that has the 14" model
06:55:10 <ehird> the T43 is prettier than the T60, but I need my dual core :
06:55:20 <ehird> also, more than 2GB of RAM.
06:56:21 <coppro> you know what else I've discovered about Linux and bad drivers?
06:56:30 <coppro> Linux can't suspend to USB
06:56:31 <ehird> bsmntbombdood: thinkpad
06:56:51 <coppro> ehird: my current hard drive is USB
06:56:59 <ehird> jesus fucking christ
06:57:11 <ehird> i must confiscate that laptop immediately
06:57:14 <ehird> you are no longer allowed to use it
06:57:48 <coppro> tbh, the speed isn't much different
06:58:01 <ehird> USB has awful speed and awful latency
06:58:06 <ehird> you mean the actual speed of operations
06:58:12 <ehird> and that's just because HDs are the bottleneck anyway
06:58:21 <ehird> and that's why my notebook will be blessed with an SSD!
06:58:47 <ehird> bsmntbombdood: "operations"
06:59:25 <ehird> but latency is what matters
06:59:41 <coppro> it's a temporary solution and it's not worth my pry apart this drive and put this on the internal mount
06:59:47 <coppro> and I don't really notice a problem
07:00:21 <ehird> at least every app you have is a portable app :P
07:00:43 * coppro wonders what my school would do if I booted off this
07:00:51 <coppro> (on a school computer)
07:01:05 <ehird> freak at the error screen because you don't have the drivers
07:01:49 <ehird> freak at the desktop and tell you to put it back
07:02:27 <ehird> some school you go to
07:05:52 <coppro> public school board (:
07:14:01 -!- coppro has quit (Remote closed the connection).
07:16:14 -!- coppro has joined.
07:17:10 <coppro> why is video game music so awesome?
07:31:08 -!- coppro has quit ("The only thing I know is that I know nothing").
07:37:44 -!- ehird has quit (Ping timeout: 180 seconds).
07:42:53 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
07:45:35 -!- ehird has joined.
07:58:10 -!- comex has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:35 <ehird> ouch. notepad2 is totally c apart from a c++ file to wrap scintilla
08:12:38 <ehird> no way am i reading win32 code
08:12:51 <ehird> it even seems it constructs the gui in code
08:20:25 <ehird> an argument for rendering pdfs all in one go: search is quicker
08:22:41 <ehird> right, I'm going to use MinGW, C/C++ and... something for the gui
08:36:23 <ehird> http://www.drangon.org/mingw/
08:36:40 <ehird> actually you know what, i don't give a shit about making an x64 binary
08:36:43 <ehird> it's a fucking pdf reader
08:37:35 <ehird> "Oh joy, you do not have c:/MinGW/bin/make.exe. Keep it that way." --MSYS postinstall
08:59:53 -!- oerjan has joined.
09:03:20 <ehird> "Evil is a library that tries to implement for Windows some Unix function that do not exist on the evil Microsoft platform." // damn that's some mature naming scheme
09:21:46 -!- pikhq_ has joined.
09:25:00 -!- pikhq_ has quit (Client Quit).
09:29:16 -!- pikhq_ has joined.
09:30:04 -!- pikhq has quit (Read error: 110 (Connection timed out)).
09:30:22 -!- ehird has quit ("Page closed").
09:30:43 -!- ehird has joined.
09:32:44 <ehird> ok, chatzilla seems acceptable like this
09:37:50 -!- MigoMipo has joined.
09:38:29 -!- oerjan has quit ("Lost terminal").
09:38:35 -!- ehird has quit ("gnop").
09:41:28 -!- ehird has joined.
09:41:58 <ehird> alright, if I can get messages highlighting me to not show up in the server tab I'll be perfectly happ
09:45:21 <ehird> chatzilla users: rheet
09:45:24 <ehird> an interesting feature...
09:47:01 -!- ehird has quit ("gnop").
09:52:30 -!- ehird has joined.
09:52:44 <ehird> oh, I disabled that earlier
09:52:47 <ehird> still only one thing to fix...
09:53:14 <ehird> ah, an easy preference change
09:53:24 -!- ehird has quit (Client Quit).
09:53:52 -!- ehird has joined.
09:54:40 * ehird tentatively tries Pidgin and sighs as he can't find a good damn Im client
09:58:08 <ehird> oh great, gtk menus on windows are... wait for it... non-native-behaving
09:58:24 <ehird> i want a button that sodomises everyone who tries to fake native widgets repeatedly
09:58:42 <Deewiant> Is this your first time using Windows or something? :-P
09:58:51 <ehird> it happens on OS X too
09:58:57 <ehird> it just irritates me every single time
09:59:03 <ehird> because I know someone spent hours on that
09:59:08 <ehird> and they failed, terribly
09:59:25 <ehird> but seriously, the pidgin menus look like windows classic's
09:59:29 <ehird> the menu contents that is
09:59:52 <ehird> the menu looks like a regular win7 menu, except with more vertical padding and instead of an indent, the items get a blue background
10:01:08 <ehird> "Hide new IM conversations: [ Never | When Away | Always ]
10:01:12 <ehird> [ ] Minimize new conversation windows"
10:01:22 <ehird> What the flying fuck is the difference..........
10:02:04 <ehird> Fuck this, it's clear every pidgin developer uses windows 2000 or something
10:02:11 <ehird> That is every pidgin developer that uses windows
10:03:38 <ehird> All this fuss and in the end the only extra programs I have so far are Microsoft Security Essentials, Google Chrome, Flash, Sumatra PDF, and ChatZilla
10:03:45 <ehird> Because all the others suck.
10:03:59 <ehird> See, that's the nice thing about a platform nobody uses
10:04:06 <ehird> There's far less software, and so far less sucking software
10:11:08 <ehird> Deewiant: you wouldn't happen to know of an unarchiver that doesn't try and be a file manager, would you?
10:11:11 <ehird> even 7zip does that crap
10:11:59 <Deewiant> Does it matter? You don't have to use it as a file manager
10:13:33 <ehird> Deewiant: It's kind of annoying viewing files in Explorer one second and then using 7zip's crap file interface the next
10:14:00 <ehird> I wonder if it's really hard to hook into Explorer or something; seems like there'd be something like the built-in "compressed folders" for multiple formats.
10:17:38 <Deewiant> Just use the shell extension and right-click -> extract here, or whatever
10:17:52 -!- MigoMipo has quit ("Page closed").
10:18:11 <ehird> That's not actually anything like compressed folders; you can dig in them without extracting.
10:18:36 <Deewiant> Yes, I know, but it saves you from the "crap file interface" at least.
10:18:38 <ehird> It's marginally better than clicking extract in the 7zip file manager, but annoying because you can't view the contents without extracting.
10:20:00 <AnMaster> I see I was highlighted by ehird. Interesting.
10:20:19 <ehird> I don't even remember what it was for; now I get to read it too!
10:20:42 <AnMaster> <ehird> AnMaster: yo, M_PI is non-standard. <-- hm. Will have to check that.
10:21:21 <ehird> AnMaster: I got cfunge almost linking with Cygwin.
10:21:35 <AnMaster> ehird, nop, it is in POSIX, just checked
10:21:49 <ehird> Well, it at least isn't in Cygwin
10:22:00 <ehird> I needed only a few changes to get it to compile but not link, btw.
10:22:11 <Deewiant> I tried to get cfunge to work on Cygwin and IIRC didn't succeed.
10:22:21 <ehird> Linking problem was that PE has no visibility stuff, and so every "static" was ignored, which caused SCKE and SOCK to both have two functions from winsock stuff.
10:22:36 <AnMaster> ehird, about the winsock thing: I have no fucking clue either. All I use are some standard functions for converting between system-endianness and network-endianness
10:22:47 <ehird> Yes, those were what were both defined
10:22:57 <ehird> I guess they're defined in the header file, for some perverse reason
10:23:02 <ehird> Not sure how to fix that, the rest is pretty trivial though
10:23:17 <AnMaster> ehird, on glibc they are defined as inline asm if gcc is used iirc. :D
10:23:31 <ehird> There's a drop-in getaddrinfo implementation that you can just #include and link to, and you have to define M_PI
10:23:37 <AnMaster> ehird, but weren't they static inline?
10:23:46 <ehird> 10:22<ehird>Linking problem was that PE has no visibility stuff, and so every "static" was ignored, which caused SCKE and SOCK to both have two functions from winsock stuff.
10:24:07 <ehird> I'm not sure how it works on non-cygwin. I was using gcc 4, which I guess isn't very maintained on cygwin.
10:24:25 <ehird> AnMaster: Also, the ccmake was ludicrously slow; spawning processes really is expensive.
10:24:33 <AnMaster> ehird, aren't there already other duplicate name, different files stuff?
10:24:33 <ehird> Like, it took about 7 seconds to get to 18%.
10:24:41 <ehird> AnMaster: Like what?
10:24:49 <Deewiant> ehird: That's better than autotools
10:24:51 <AnMaster> ehird, cmake here it takes like 5 seconds in total
10:24:55 <Deewiant> ./configure --help is typically about 20 seconds
10:25:05 <Deewiant> A complete ./configure, about 20 minutes.
10:25:09 <ehird> Deewiant: Yeah, I tried the ./configure included with the getaddrinfo; took like a minute to finish
10:25:15 <ehird> AnMaster: What do you mean about duplicate name?
10:25:32 <AnMaster> heh, I shall have to include that then ;P
10:25:34 <ehird> But anyway, it's slow because process spawning is slow on Windows.
10:25:42 <AnMaster> Deewiant, configure is slow even on linux..., often a minute or so
10:26:00 <ehird> AnMaster: I might write a patch or a few to get it working on Cygwin if I can be bothered and you'll commit them
10:26:07 <ehird> not that I want to use cygwin or anything
10:26:11 <AnMaster> ehird, the former is C99, the latter is POSIX
10:26:16 <Deewiant> Rule of thumb: on Windows it's about 50-100 times slower than on Linux
10:26:19 <ehird> Yes, well, Cygwin doesn't have the former
10:26:29 <Deewiant> If a ./configure takes a minute on Linux, it'll take an hour on Windows.
10:26:36 <AnMaster> ehird, just telling you that _Exit is *in theory* more portable ;P
10:26:41 <ehird> There's probably some sort of KillWithExtremePrejudiceExExEx.
10:27:00 <AnMaster> Deewiant, well, think about ./configure for GCC, LLVM, Apache or some other huge project
10:27:02 <ehird> AnMaster: Anyway, would you commit said patches?
10:27:37 <ehird> Deewiant: Yes, that's what I replaced it with
10:27:44 <AnMaster> ehird, depends, I'll have to review them, And the _Exit() vs. _exit() in general would make it less portable, I might however add a cmake test and fall back on the other or such
10:27:49 <Deewiant> AnMaster: Yes, I was talking about average-sized projects.
10:27:58 <ehird> AnMaster: Of course, I'd add cmake tests for everything
10:28:13 <ehird> It'd just be a few different lines of code, and some extra source files in lib/
10:28:14 <Deewiant> For those, you'll indeed have to ./configure for an hour.
10:28:16 <ehird> AnMaster: Cygwin provides that, obviously
10:28:16 <AnMaster> also, make sure it actually works for mycology
10:28:23 <ehird> I will, once the damn thing links
10:28:39 <AnMaster> ehird, what would the stuff in lib be?
10:28:42 <ehird> I could just use CCBI, but it's more fun to subvert the "WINDOWS COULD NEVER POSSIBLY SUPPORT POSIX HARD ENOUGH"
10:28:48 <Deewiant> They also tend to have sub-projects wherein make invokes configure and >_<
10:28:58 <ehird> AnMaster: The implementation of getaddrinfo, which Cygwin inexplicably doesn't have.
10:29:10 <ehird> It's BSD-licensed or somesuch, so no worries linking the .o.
10:29:32 <ehird> How much does cfunge fork()?
10:29:52 <Deewiant> How much do you think if it's performance-optimized to the point of ludicrousness? :-P
10:29:58 <AnMaster> ehird, only in PERL fingerprint
10:30:03 <ehird> fork()'s cheap on unix
10:30:06 <ehird> AnMaster: That should be fine then.
10:30:13 <Deewiant> It's still relatively expensive
10:30:15 <ehird> Also, I just want to say one thing about Cygwin.
10:30:27 <ehird> SETUP.EXE HAS THE WORST POSSIBLE PACKAGE MANAGING UI OUT OF ALL POSSIBLE UIS FOR THAT PURPOSE
10:30:28 <AnMaster> ehird, in PERL fingerprint it does weird stuff with pipes and file descriptors btw
10:30:46 <ehird> AnMaster: Cygwin should handle it.
10:30:52 <ehird> Deewiant: No, seriously, that thing is fucking awful
10:30:57 <AnMaster> <ehird> SETUP.EXE HAS THE WORST POSSIBLE PACKAGE MANAGING UI OUT OF ALL POSSIBLE UIS FOR THAT PURPOSE <-- so it is still as bad as back when I used it a few years ago then. heh
10:31:06 <ehird> Apparently "setup.exe -q -P pkg1,pkg2" should install stuff, but it doesn't
10:31:18 <ehird> AnMaster: It'd also be nice if the programs were newer than 34573485735 years old
10:31:28 <AnMaster> I didn't know about the CLI either
10:31:32 <ehird> Deewiant: Not officially, it's still experimental and we won't document it and if you use it we will kill you
10:31:36 <ehird> Note: The above sentiment was expressed on the mailing list
10:31:45 <ehird> Cygwin is fucking dead
10:32:11 <AnMaster> ehird, not odd... windows + cygwin works worse than linux + wine
10:32:24 <ehird> But the only other thing providing fork() and mmap() shit is MSYS, which is just a fork of an ancient cygwin and only supports gcc 2 or something to compile MSYS executables and is only aimed at using as a shell/utils.
10:32:52 <ehird> It'd be quite easy to add fork() to the Windows kernel, wouldn't it?
10:32:53 <AnMaster> ehird, what about Microsoft's own POSIX implementation thingy
10:32:58 <ehird> I mean, a process is just a structure in memory.
10:33:02 <ehird> AnMaster: Interix? That thing's ancient, innit?
10:33:25 <ehird> "GCC 3.3 compiler, includes and libraries"
10:33:30 <AnMaster> Deewiant, hey you aren't oerjan
10:33:47 <AnMaster> ehird, hm, I only tested cfunge on gcc 3.4 and later
10:34:16 -!- KingOfKarlsruhe has joined.
10:34:36 <ehird> I'd just like to take the time to endorse some non-Cygwin software that I haven't used for anything yet but must be better than Cygwin because anything is: Xming, MinGW, GnuWin32 (http://gnuwin32.sourceforge.net/)
10:34:59 <ehird> Alternative to last one: MSYS (it's okay because you can't add packages or anything.)
10:35:29 <ehird> DJGPP. It doesn't do fork() or anything.
10:35:36 <ehird> But it's for DOS, and meh.
10:35:53 <fizzie> You can get GCC 4.2 on Interix from http://debian-interix.net/
10:36:18 <ehird> AnMaster: No, MinGW doesn't provide any sort of POSIX API
10:36:20 <ehird> Windows does, though
10:36:47 <ehird> MinGW is just a compiler
10:36:50 <ehird> It happens to be gcc
10:36:57 <Deewiant> It's also free Windows headers
10:36:58 <AnMaster> ehird, what CFLAGS are you using?
10:37:06 <ehird> It compiles Windows executables with the Windows libraries, which include libc and some POSIX stuff
10:37:10 <ehird> It includes headers for these libaries
10:37:17 <ehird> AnMaster: The release ones
10:37:24 <ehird> I'll install cygwin again and try and make this crap work
10:37:40 <fizzie> Oh, and a separate gcc-4.2 from http://www.suacommunity.com/
10:37:44 <AnMaster> ehird, hm. Don't remember if that includes -O3. Try -O3, because possibly that will make gcc inline that htons() stuff, which will prevent those functions from being emitted at all
10:37:50 <ehird> I basically know what to do, but don't know how to fix the SCKE/SOCK problem.
10:38:15 <ehird> AnMaster: I could just #define static inline before including sockets :-P
10:38:26 <AnMaster> ehird, oh so they are static but not inline?
10:38:41 <AnMaster> also I'm sure that would break stuff in cfunge.
10:38:41 <ehird> I mean, they go in the final .o
10:38:57 <AnMaster> ehird, becuase iirc SOCK and SCKE includes some static variables
10:39:03 <AnMaster> and inline variable makes no sense
10:39:07 <ehird> I'd #undef static afterwards, duh
10:39:15 <ehird> Also, we could totally make inline variables make sense.
10:39:25 <AnMaster> ehird, yeah by #define inline static :P
10:39:40 <ehird> They are inlined at their first use, and assigning to them modifies the machine code in that function
10:39:43 <ehird> To have the different value
10:39:58 <ehird> They're accessed from inside that function's machine code too
10:40:33 <fizzie> You could inline them at every use, and made assignment modify all the use locations.
10:40:38 <AnMaster> ehird, you would need to determine first use at runtime
10:40:52 <ehird> fizzie: Oh, that's much better
10:41:19 * ehird downloads PuTTY, because it'll surely come in handy later.
10:41:20 <fizzie> It would be nice to have "x=5" expand to 200 code self-modifications.
10:41:41 <ehird> oh man, that'd be great
10:41:55 <AnMaster> ehird, I assume this will be one diff for each separate fix, rather than some huge mixed up diff?
10:42:19 <Deewiant> I assume you assume incorrectly
10:42:30 <ehird> AnMaster: Does bzr work on Windows?
10:42:47 <ehird> I'll just make bzr commits then
10:42:55 <AnMaster> fizzie, hey, it would even be useful in some cases, like when a variable is assigned very seldom, but read a lot
10:43:12 <AnMaster> like allocating a block depending on command line options or so
10:43:14 <ehird> Yes, because memory reads are so expensive :-P
10:43:30 <AnMaster> ehird, nah, but you can save a few clock cycles on it
10:43:37 <ehird> You'd lose more time combined changing 1000 parts of memory
10:43:51 -!- adam_d has joined.
10:44:03 <AnMaster> ehird, oh btw, is this 64-bit windows?
10:44:14 <ehird> Yes, but Cygwin is 32-bit afaik.
10:44:35 <ehird> All the programs I've installed are 32-bit :P
10:44:42 <ehird> Including the antivirus...
10:45:01 <ehird> (Which is some beta from Microsoft that I had to get from softpedia or something because apparently my country isn't invited)
10:45:32 <ehird> But it uses barely any megs and if it breaks I can blame microsoft
10:45:41 <ehird> Microsoft Security Essentials
10:45:47 <ehird> It also does antimalware and stuff
10:46:11 <Deewiant> Is that the former Windows Defender?
10:46:13 <fizzie> "Inline variables" like that aren't especially uncommon in hand-crafted assembly, for example in cases where you have some sort of configurable behaviour in a loop; it's cheaper to have a constant jmp instruction, whose operand is modified, than a separate variable with a load + indirect-jump in the loop.
10:46:25 <ehird> Deewiant: it uses the same definitions and everything
10:47:22 <Deewiant> fizzie: Depends. The Intel manuals warn against modifying code within 1KB (IIRC) of the modifying code
10:47:53 <ehird> Deewiant: I think it's more an extended Windows Defender for, you know, extended purposes.
10:47:58 <Deewiant> If you have sufficiently few iterations it may be cheaper to do the load and allow the branch predictor to handle the jump
10:48:22 <fizzie> Deewiant: Yes, well, modern architectures are confusing. I was talking more about 6502 and z80 assembly, where you can just count cycles, and everything's very obvious.
10:48:47 <AnMaster> ehird, is there any predefined define to see if you run under cygwin btw?
10:48:51 <Deewiant> Yes; if your CPU is just a blind interpreter then sure, that's faster :-)
10:48:59 <ehird> AnMaster: #ifdef __GNU__ :-P
10:49:25 <ehird> Eh, since you're talking about it I'll do it
10:49:54 <ehird> Anyone know of a lightweight programming editor for windows with a file tree list sidebar thingy?
10:50:06 <AnMaster> ehird, well, make sure it actually works first ;P
10:50:06 <ehird> Just to hack this up as opposed to futzing with WordPad (which now looks like Word) and Explorer.
10:50:17 <ehird> Of course it won't, out of the box
10:50:19 <ehird> I'll have to patch it
10:50:30 <AnMaster> ehird, I was talking about the SOCK stuff
10:50:57 <ehird> AnMaster: is it okay if I make it do dirty, dirty things if it's conditioned to only do it on cygwin?
10:51:07 <ehird> Like compiling SOCK and SCKE in one go to the same .o, say...
10:51:23 <AnMaster> ehird, how the hell would you do that under cmake?
10:51:52 <ehird> I added the getaddrinfo object file as a "linker option" and commented out the checks for it; that's how build-system hostile I've been :-P
10:52:04 <ehird> Also, I almost gave up when I realised I'd have to install cmake. :-P
10:52:20 <AnMaster> ehird, just add it conditionally to the cfunge sources
10:52:35 <ehird> Probably for the best, yes
10:52:38 <ehird> It needs a define, though
10:52:41 <ehird> AnMaster: Doesn't that violate gpl3?
10:52:42 <AnMaster> ehird, you *could* run gcc manually. I've done it on an openbsd box once
10:52:53 <AnMaster> ehird, isn't bsd GPL compatible?
10:53:04 <ehird> Yes, but your GPL code will try and infect the BSD code
10:53:24 <ehird> I'm not entirely sure how the viral stuff works because it's an incredibly ill-defined concept.
10:53:34 <AnMaster> well, in the linked result it will be GPL, but not in the source file?
10:54:16 <ehird> AnMaster: btw, I was doing it on cfunge 0.9.0
10:54:19 <ehird> how outdated is that?
10:54:50 <AnMaster> ehird, hm last release. let me check how many revisions ago
10:55:08 <ehird> Also, I'm going to bemuse the ChatZilla users who aren't ChatZilla in-the-know kind of people some more: rheet rheet rheet
10:55:14 <AnMaster> ehird, just a few revisions ago, and the stuff after was pretty minor changes
10:55:23 <AnMaster> some typo fixes in comments and such
10:55:34 <ehird> AnMaster: Let's hope the cygwin bzr is new enough
10:55:50 <ehird> I'm about to download setup.exe
10:56:37 <ehird> I'll use gcc 3 this time
10:57:07 <AnMaster> ehird, bzr 0.92 or later is absolutely required due to repo file format. But I would definitely recommend something more like 1.6 or later
10:57:55 <ehird> That's surprisingly recent for cygwin :P
10:58:01 <ehird> It also has gcc 4.3 on the 4 package
10:58:04 <AnMaster> indeed, I think 1.18 is out now though
10:58:33 <ehird> Alright, as they say in the vernacular, let's do this shit
10:58:55 <ehird> Installing cygwin, will then bzr myself some cfunge and sit bemused at bzr's interface
10:59:07 <ehird> That is as far as I have planned
10:59:09 * AnMaster wonders what is the probability of ehird publishing it as a launchpad branch
10:59:27 <ehird> Out of 1, naturally
10:59:49 <AnMaster> ehird, about copyright, I wonder if I should do like fsf here ;P
11:00:06 <ehird> I guess if 0 is "certain that it won't happen", -1 is "certain that its negative will happen".
11:00:15 <ehird> Then 2 is... certain it will happen... twice
11:00:30 <ehird> AnMaster: I don't think I can agree to contracts
11:00:45 <ehird> Guess I can't contribute then!
11:01:00 <AnMaster> well I guess you can. I just wonder...
11:01:32 <AnMaster> ...if you or me will be most irritated by you being listed in CREDITS ;P
11:02:30 <ehird> Just spell my name Elliot and ensure that I stay more annoyed
11:02:35 <ehird> (Note: DO NOT DO THIS)
11:02:52 <ehird> No, that's too incorrect to annoy me, somehow
11:03:01 <AnMaster> ehird, ah it is Elliot Hird then?
11:03:16 <ehird> Sure, AnMaster. Whatever you say.
11:03:30 <ehird> I hear it's Ellio Turd.
11:04:06 <AnMaster> jul 19 22:24:43 <ehird> Defining Features of the Welsh, by Elliott Hird
11:04:11 <AnMaster> found the correct spelling in logs
11:04:35 <ehird> Wait, you were joking, right?
11:04:50 <ehird> Not knowing my name
11:04:55 <ehird> Also, I wonder what the heck the context was there
11:05:22 <ehird> Oh, sex with sheep
11:05:25 <ehird> Also lack of vowels
11:05:30 <ehird> Common staples of #esoteric both
11:05:40 <ehird> Or is it stables? I don't actually know
11:06:09 <AnMaster> ehird, well I know it in general, but not the exact spelling. If you had a normal name like Ekblom or Svensson or Östergren it would have been easier :P
11:06:28 <ehird> my name is actually ingvar kamprad
11:06:40 <AnMaster> kamprad isn't very common in Sweden either.
11:07:27 <ehird> people usually just call me random swedish words in all-capitals though.
11:07:29 <AnMaster> ehird, Especially "Svensson" is the Swedish equivalent of "Smith"
11:07:56 <ehird> AnMaster: what's the command to grab myself some latest cfunge?
11:08:31 <ehird> good news: gcc 3 here seems to not warn on static
11:08:41 <ehird> so the SCKE/SOCK problem might not exist!
11:09:12 <AnMaster> since I changed to use launchpad nowdays
11:09:25 <ehird> Creepy vendor support there :-P
11:09:39 <ehird> Yep, that seems to be working
11:09:46 <AnMaster> ehird, question of not having my own server any more, and if I should go for launchpad of sf.net
11:10:48 <ehird> Did you see that use.perl.org blog thing where a Perlist was confused why anyone would choose GitHub over Sourceforge, pointing out that Sourceforge did all the same things?
11:10:53 <AnMaster> grr, it seems that the lp branch was still set as mirror of rage, thus being broken now
11:11:00 <ehird> I'm convinced some people actually can't see UIs
11:11:07 <ehird> Like, physically can't take note of them
11:11:15 <AnMaster> ehird, tell me when you branched so I can convert it to hosted branch without breaking your branching of it
11:11:20 <ehird> I branched it, yes.
11:11:33 <ehird> Should I just rebranch? It only took a second or two.
11:12:20 * ehird grabs notepad++. It'll do for now patching up cfunge.
11:12:34 <ehird> Calibri's italic is very nice. I say this because /mes are displaying in it.
11:12:45 <ehird> It has the properly cursive f and everything.
11:14:35 <ehird> 11:11<ehird>Should I just rebranch? It only took a second or two.
11:14:37 <ehird> 11:11<ehird>Well. 15-30.
11:14:39 <ehird> 11:11<ehird>Still.
11:15:37 * AnMaster messes around with lp to change it to hosted branch
11:15:51 <AnMaster> so atm I would recommend against it, since I'm navigating the UI maze
11:16:49 * ehird obliterates notepad++ for sucking
11:17:18 <AnMaster> ehird, what about using emacs in cygwin?
11:17:54 <ehird> I kinda want something I can use right away, and emacs' superbar plays hell with window managers IME
11:18:04 -!- kar8nga has joined.
11:18:19 <AnMaster> Is this the mode line you are referring to?
11:18:29 <ehird> Emacs' docked-to-the-left-or-wherever file tree thing.
11:18:35 <ehird> For opening other files in whatever you're working on.
11:19:04 <AnMaster> ehird, not available here it seems
11:19:29 <ehird> http://www.pnotepad.org/ ;; Oh, this looks acceptable
11:19:37 <ehird> it has syntax highlighting, a file tree and presumably auto indentation
11:19:40 <ehird> It will do for now
11:20:27 <AnMaster> ehird, indention in cfunge is one tab per level, and space to adjust (that is, like when you line up with parenthesis above when you break a long line)
11:20:49 <ehird> I'll follow whatever awful bloated coding style you use. :)
11:20:52 <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 "$@"
11:21:08 <ehird> Yeah, I'm not about to program myself with an astyle command line...
11:21:12 <AnMaster> that messes up a few times, so there are some corrections
11:21:29 <AnMaster> like it seems to dislike C99 structs with .foo in them
11:23:46 <AnMaster> ehird, well there seems to be an issue, I'm going to ask in #launchpad, but since you already branched I thought?
11:23:57 <ehird> Will it work if I use that thing?
11:24:20 <AnMaster> ehird, well think so, oh it is just update delay
11:24:43 <AnMaster> as in, launchpad may take a few minutes to reflect new revisions being pushed
11:24:45 <ehird> Files won't be added if I don't explicitly add them, right?
11:24:58 <ehird> Just I made a cfunge.pnproj file to view the file tree.
11:24:58 <AnMaster> ehird, well, depends on what you mean with "add"
11:25:05 <AnMaster> add in the git sense or add in the normal sense
11:25:13 <AnMaster> where normal is svn, hg and so on
11:25:35 <AnMaster> ehird, unversioned files won't be auto-added
11:25:57 <ehird> OK then, attempt one: build it straight
11:26:06 <AnMaster> ehird, what sort of crappy VCS would auto-add unversioned files?
11:26:06 <ehird> Oops, forgot to install make
11:26:14 <ehird> A crappy one like bzr? :P
11:26:25 <AnMaster> ehird, well, that was just disproved. :P
11:26:54 <ehird> wtf, cygwin or something has set my mosue pointer to the ugly, unsmoothed windows xp style one
11:27:37 <AnMaster> ehird, it persisted after cygwin closed?
11:27:47 <ehird> no idea what did it, really
11:27:57 -!- ais523 has joined.
11:30:23 <ehird> AnMaster: well, ccmake starts! :-P
11:30:35 <AnMaster> ehird, you could use just cmake you know.
11:30:38 <ehird> ais523: context: I'm trying to compile cfunge with Cygwin with patches, ingenuity, evil
11:30:49 <AnMaster> ais523, I have no clue why ehird is doing this
11:30:53 <ehird> AnMaster: yes, but I want to see the variables in case I need to change them
11:31:09 <ehird> AnMaster: that's a pretty good followup to my line
11:31:12 <AnMaster> ehird, right, a bit harder to remember what ones to change otherwise
11:31:14 <ehird> 11:30[INFO]1 matches for “an”: [AnMaster: ]
11:31:23 <ais523> ehird: reminds me of when I tried to run CLC-INTERCAL under DJGPP
11:31:29 <AnMaster> ehird, "<ehird> 11:30 [INFO] 1 matches for “an”: [AnMaster: ]" <-- ?
11:31:39 <ais523> in the end I gave up, it was too hard to figure out where to change line endings
11:31:39 <ehird> (those were in realtime)
11:31:43 <ehird> (that's how slow it is)
11:32:06 <ehird> CMake Error at cmake/modules/CfungeRequireFunction.cmake:35 (message):
11:32:08 <ehird> Your system seems to be missing the function "getaddrinfo" which is
11:32:10 <ehird> required by cfunge.
11:32:22 <ehird> so, time to do my first patching
11:32:27 <ehird> first thing, get the getaddrinfo lib in place
11:32:29 <AnMaster> ehird, will need to be changed to check for it conditionally and use the alternative one otherwise
11:32:33 <ehird> second thing, kill myself before learning how to make a cmake file
11:32:54 <ehird> http://www.sra.co.jp/people/m-kasahr/getaddrinfo/
11:32:55 <AnMaster> ehird, I used gnulib code before btw
11:33:11 <ehird> AnMaster: but this thing is portable, which is good
11:33:15 <ehird> I don't have to check for cygwin here
11:33:17 <AnMaster> ehird, what about http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=modules/getaddrinfo
11:33:20 <ehird> just not having getaddrinfo
11:33:33 <ehird> AnMaster: because that one's probably gnucrap and I doubt it works on Windows :-P
11:34:07 <ehird> so, this should go in lib/getaddrinfo if I know the structure right?
11:34:26 <AnMaster> ehird, it contains #ifdef _WIN32 though
11:34:49 <AnMaster> http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/getaddrinfo.c
11:34:52 <AnMaster> http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/gai_strerror.c
11:35:05 <AnMaster> ehird, but it is quite tied into automess
11:35:14 <AnMaster> ooh some BeOS stuff in there too
11:35:21 <ehird> They look pretty much the same, except one of them is unreadable because it uses the gnu coding standard
11:35:33 <ehird> Also, I don't think the .jp getaddrinfo has any platform checks
11:35:55 <ehird> AnMaster: should I keep getaddrinfo's ./configure and stuff in there even though it's not used?
11:36:16 <ehird> (You can just -DUSE_PTHREAD when compiling it to an .o then link that in, so there's not much need for anything.)
11:36:21 <AnMaster> ehird, nah, but license should be placed somewhere or such
11:36:31 <AnMaster> http://www.sra.co.jp/people/m-kasahr/getaddrinfo/
11:36:35 <ehird> AnMaster: I'll keep it so it's a pristine package; probably better for the license
11:36:45 <ehird> http://www.sra.co.jp/people/m-kasahr/getaddrinfo/index.css
11:36:48 <ehird> Blame your browser
11:37:04 <ehird> <meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
11:37:07 <ehird> That makes sense then
11:37:59 <AnMaster> ehird, the gnu one does look simpler to me
11:38:04 <ehird> AnMaster: I don't suppose CFUNGE_REQUIRE_FUNCTION has any sort of else clause?
11:38:25 <AnMaster> ehird, there is another macro for when it optional. let me check the name
11:38:55 <ehird> also, the only files needed in the non-gnu version is getaddrinfo.{c,h}
11:38:57 -!- BeholdMyGlory has joined.
11:38:58 <AnMaster> CFUNGE_CHECK_FUNCTION(clock_gettime)
11:38:58 <AnMaster> if (NOT CFUNGE_HAVE_clock_gettime)
11:39:48 <AnMaster> ehird, you will need to do some conditional adding on "add_executable(cfunge ${CFUNGE_SOURCES})" to include those extra files optionally
11:39:49 <ehird> AnMaster: is there a way to say "if we don't have any of these" other than a bunch of checks then NOT foo OR NOT bar?
11:40:05 <AnMaster> <ehird> AnMaster: is there a way to say "if we don't have any of these" other than a bunch of checks then NOT foo OR NOT bar? <-- clarify?
11:40:23 <AnMaster> CFUNGE_REQUIRE_MULTIPLE_INCLUDES("sys/types.h;netinet/tcp.h" "netinet/tcp.h")
11:40:44 <ehird> Where should I put the
11:40:46 <ehird> CFUNGE_CHECK_FUNCTION(getaddrinfo)
11:40:47 <ehird> CFUNGE_CHECK_FUNCTION(freeaddrinfo)
11:40:49 <ehird> and then adding logic stuff?
11:40:51 <ehird> After the "Optional" section?
11:41:05 <ehird> i.e., after the Existance of various functions section
11:41:09 <ehird> Also, it's Existence
11:43:13 <ehird> Do I have to give the whole clause in the endif part?
11:43:15 <ehird> It's so verbose and stuff.
11:43:29 <AnMaster> ehird, yep. cmake isn't perfect either
11:43:36 <AnMaster> at least, much better than autoconf
11:43:54 <ehird> You know, this thing is basically a shell script with worse syntax.
11:44:01 <ehird> Generating a config.mk
11:44:17 <ehird> 11:39<AnMaster>ehird, you will need to do some conditional adding on "add_executable(cfunge ${CFUNGE_SOURCES})" to include those extra files optionally
11:44:20 <AnMaster> ehird, well, better syntax than autoconf thoughg
11:44:24 <ehird> guess I need to find out how to append to variables, huh
11:44:42 <AnMaster> ehird, or set the variable to empty if the extra sources aren't needed
11:44:59 <AnMaster> add_executable(cfunge ${CFUNGE_SOURCES} ${CFUNGE_OPTIONAL_SOURCES}) should work I think
11:45:07 <AnMaster> where the optional ones could vary
11:45:18 <ehird> I don't even know how to set variablse :-P
11:45:44 <AnMaster> ehird, look at the definitions of the macros
11:46:07 <AnMaster> set(CFUNGE_HAVE_${_name} true PARENT_SCOPE)
11:46:17 <AnMaster> of course this is special in a macro
11:46:23 <AnMaster> you won't need the parent scope stuff
11:46:33 <AnMaster> nor building the variable name dynamically
11:47:17 <ehird> What about to define a cpp thing for the program?
11:47:24 <ehird> Since we need to include getaddrinfo.h
11:47:32 <ehird> Hmm, also add -Ilib/getaddrinfo
11:47:35 <AnMaster> ehird, you mean, define a -Dfoo kind of thing?
11:47:37 <ehird> Such complicated things :-P
11:48:20 <AnMaster> ehird, as for the -I stuff: no, use ../../ or such rather
11:48:30 <AnMaster> it is less likely to break stuff with system headers
11:48:44 <AnMaster> ehird, because I remember that last time I tried on windows I had a header name collision
11:48:46 <ehird> Hmm, do I have to do ${CFUNGE_SOURCE_DIR}/../lib/getaddrinfo in the CMakeLists.txt?
11:48:51 <ehird> Or will lib/getaddrinfo work
11:48:55 <ehird> For adding a source file
11:49:14 <AnMaster> ehird, I would use a FILE like I do for the other ones
11:49:33 <AnMaster> FILE(GLOB CFUNGE__OPTIONAL_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR} lib/getaddrinfo/*)
11:49:38 <AnMaster> that handles the paths correctly
11:49:42 <ehird> Uh, it's only one .c.
11:49:44 <AnMaster> FILE(GLOB CFUNGE__OPTIONAL_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR} lib/getaddrinfo/*.)
11:49:46 <AnMaster> FILE(GLOB CFUNGE__OPTIONAL_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR} lib/getaddrinfo/*.c)
11:49:51 <ehird> It's only one file
11:49:54 <ehird> The rest are tests and stuff
11:50:00 <AnMaster> well it would need to be relative the source dir
11:50:05 <ehird> Well, and an implementation of memset for no adequately explained reason
11:50:26 <AnMaster> ehird, memset implementation? heh
11:50:37 <AnMaster> I would prefer using system defined memset in general
11:50:43 <ehird> It doesn't use it or anything
11:51:06 <ehird> You know, in case you wanted one
11:51:10 <AnMaster> ehird, I would definitely strip down the un-needed files, and provide a README in there pointing to the source and describing the changes
11:51:25 <ehird> But then it's not really a lib, is it?
11:51:26 <AnMaster> that is include the .c/.h and LICENSE
11:51:30 <ehird> Anyway, there's a NEWS file and stuff.
11:51:34 <AnMaster> ehird, well, the other libs are stripped down too
11:51:44 <ehird> The license is in the README
11:51:57 <AnMaster> hm ok. Try to apply some common sense?
11:52:08 <ehird> Meh, fine, I'll strip it down
11:52:19 <ehird> It just feels disrespectful to lob off their documentation
11:52:44 <AnMaster> ehird, this is BSD 2 clause or?
11:53:06 <ehird> So we can't say "cfunge! Now with added getaddrinfo for retarded operating systems!"
11:53:42 <ais523> ehird: presumably, if you're messing with getaddrinfo it means that the core works but some of the fingerprints don't?
11:53:57 <AnMaster> ehird, ok, see the top COPYING file? I think it should possibly be appended in there like is done for libghthash and genx
11:53:58 <ehird> It refuses to even configure without getaddrinfo.
11:54:14 <ehird> libghthash has a COPYING.
11:54:29 <AnMaster> ehird, yep as well, just noticed the duplication
11:54:31 <ais523> ehird: why not just roll your own build system?
11:54:43 <ehird> ais523: because my patches wouldn't be accepted.
11:54:46 <AnMaster> ais523, because he want to send the patches upstream I think
11:54:57 <AnMaster> ehird, btw, what on earth made you do this?
11:55:03 <ehird> I'd love to just replace the whole thing with a shell script that outputs a config.mk which is included by a simple Makefile, but I doubt that'd be accepted
11:55:29 <ehird> AnMaster: A stubborn refusal to accept the status quo opinion that you can write a program so POSIX, the laws of physics dictate that Windows can't run it
11:56:02 <ais523> ehird: I hate to bring up the "Windows is TC" argument, so I won't
11:56:06 <ais523> partly because I'm not sure if it works
11:56:11 <AnMaster> ehird, I never claimed that. I only said I'm not willing to invest time in getting it running on windows
11:56:20 <AnMaster> and don't want to mess up with too much #ifdef
11:56:23 <ehird> ais523: What I said is known as a ``joke''.
11:56:30 <AnMaster> I have seen such ifdef rich portable code
11:56:33 <ehird> AnMaster: Shush you :P
11:56:34 <ais523> ehird: you fail at smartquotes
11:56:44 <ais523> AnMaster: thinking of NetHack?
11:56:45 <ehird> ais523: *faggot quotes (Don't hate me. This is their actual name.)
11:56:53 <ehird> (At least, as far as a large variety of people are concerned.)
11:56:59 <ehird> They are a form of ``emphasis''.
11:57:07 <AnMaster> ais523, it was filled with VAX specific ifdefs
11:57:08 <ehird> The ``GNU Project'' likes them.
11:57:18 <ais523> oh, and they're used by default by `m4'
11:57:21 <ais523> although not for emphasis
11:57:35 * ehird holds off on minimalising the getaddrinfo library for later
11:57:37 <ais523> also, IIRC WinHlp32 used them too for its internal programming language
11:57:40 <AnMaster> ais523, then what about the [] stuff that automess likes?
11:57:47 <ais523> which I think was non-TC due to lack of infinite memory, but would otherwise have been TC
11:57:51 <ais523> AnMaster: they're configurable
11:58:01 <ais523> somewhere near the start would be changequote(`[',`]')
11:58:08 <ehird> add_executable(cfunge ${CFUNGE_SOURCES} ${CFUNGE_GETADDRINFO_SOURCES})
11:58:10 <ehird> AnMaster: a sane way of doing it?
11:58:26 <AnMaster> ehird, well if you set CFUNGE_GETADDRINFO_SOURCES to empty in case those aren't used
11:58:39 <ais523> and the reason that autotools changes the quotes is that both ` and ' are rather common in shell-script, and they don't even balance each other!
11:58:42 <ehird> I do set(CFUNGE_GETADDRINFO_SOURCES) before checking, yes.
11:59:14 <ehird> I also -DUSE_GETADDRINFO_LIBRARY; do you want me to add a namespace or ten to that?
11:59:18 <AnMaster> ehird, adding the _Exit() vs. _exit() would be trivial, could do that here myself
11:59:30 <ehird> All of this is trivial
11:59:46 <AnMaster> ehird, except the SOCK/SCKE bit
12:00:04 <ehird> I didn't get a warning about static with gcc 3 and a test file.
12:00:14 <ehird> So I guess it's a problem with the gcc 4 packages or smething.
12:00:14 <AnMaster> ehird, oh and does cygwin define __WIN32__?
12:00:21 <ehird> AnMaster: I don't know.
12:00:22 <AnMaster> if so, src/instructions/sysinfo.c needs changing
12:00:34 <ehird> 11:59<ehird>I also -DUSE_GETADDRINFO_LIBRARY; do you want me to add a namespace or ten to that?
12:00:35 <AnMaster> because it define a dummy environ in that case.
12:00:41 <ehird> #define USE_PTHREADS
12:00:45 <ehird> #include .../.../.sdf.sdfsdfskf
12:00:47 <ehird> #undef USE_PTHREADS
12:00:52 <ehird> in both source files acceptable?
12:01:35 <AnMaster> <ehird> 11:59 <ehird> I also -DUSE_GETADDRINFO_LIBRARY; do you want me to add a namespace or ten to that? <-- can't see how it would collide? and would be easy to change afterwards
12:01:52 <ehird> It isn't thread-safe unless you let it use pthreads.
12:01:56 <ehird> I assume cfunge is threaded somewhere.
12:02:22 <ais523> ehird: I don't think ATHR is implemented in cfunge
12:02:35 <ehird> #include "../../../lib/getaddrinfo/getaddrinfo.h"
12:02:38 <ehird> Seven billion ../s
12:03:15 <ehird> Alright, time for cmake round 2: Electric Boogaloo, or, see how much I broke things.
12:03:42 <ehird> Call me back in an hour when it's finished the first configuration step :P
12:03:48 <ehird> But it's going, so I guess I didn't break it too horribly.
12:03:51 <AnMaster> ehird, I'm not sure that even if you get it to link, that it will actually run
12:04:16 <ehird> cfunge can run emacs and stuff
12:04:21 <ehird> Even on a ported X11
12:04:35 <ehird> I don't see why it shouldn't be able to handle a puny befunge interpreter.
12:04:37 <ehird> Although... slowly...
12:04:46 <ehird> I wonder if the inline asm will work.
12:05:10 <AnMaster> ehird, the inline asm is used for x86_64, I only wrote intrinsics using code for 32-bit x86
12:05:32 <ehird> As far as we know no one is working on a native 64 bit version of Cygwin.
12:05:53 <ehird> Woot, first cmake stage finished
12:05:53 <ais523> can you put 64-bit asm in an otherwise 32-bit program?
12:06:02 <ais523> I'm relatively sure you could do that with 32 and 16
12:06:03 <ehird> you have to switch into long mode
12:06:10 <ehird> which completely changes everything
12:06:12 <AnMaster> ehird, but at some point I might add 32-bit asm too. Or not.
12:06:16 <ais523> if running in protected mode, at least
12:06:30 <AnMaster> ehird, maybe you should be the cygwin maintainer of cfunge in the future! :D
12:06:33 <ehird> amd64 was an excuse to make x86 slightly less crufty :P
12:06:41 <ehird> bait 'n switch to no-legacy land
12:06:52 <ehird> AnMaster: sure. can't be too hard
12:07:02 <ehird> as I'm quite liking windows 7 I should be up for it
12:07:03 <AnMaster> ehird, it was supposed to be a joke
12:07:17 <AnMaster> that you was supposed to go "gaah" at or so
12:07:18 <ehird> And what's #esoteric's motto, ais523?
12:07:24 <ehird> Never let a joke get in the way of a bad idea.
12:07:33 <ais523> I'm pretty sure it isn't that
12:07:40 <ehird> (Okay, I made that more snappy from what you originally said, but.)
12:07:44 <ais523> maybe it's "WHO TOOK THE KONAMI CODE OUT OF THE TOPIC?"
12:07:47 <ehird> ais523: at one point I complained you and AnMaster were ruining a joke
12:07:53 <ehird> while trying to figure out how it'd work in practice
12:07:56 <ehird> and you said something along the lines
12:07:59 <ais523> that seems more like #esoteric
12:08:22 <ehird> AnMaster: i'm not going to try installing this time, btw
12:08:25 <ehird> since I'd have to fix up the install path
12:08:31 <AnMaster> ehird, installing isn't something I do very often either
12:08:38 <ehird> Oh, it will do -O3, it seems
12:08:41 <AnMaster> but I test it before each release
12:08:44 <ehird> Since that's what release has
12:08:50 <AnMaster> ehird, well, those are only defaults
12:08:53 <ehird> It's so funny seeing paths like "/usr/bin/strip.exe"
12:09:04 <AnMaster> I tend to add -march=<whatever> to the release ones for example
12:09:10 <ehird> USE_64BIT is on; better turn that off.
12:09:17 <AnMaster> ehird, that just changes cell size
12:09:35 <AnMaster> but fine, for speed you definitely want 32-bit cells on 32-bit system
12:09:36 <ehird> Well, 32-bit will be faster with a 32-bit compile.
12:09:45 <AnMaster> ehird, it is faster even on x86_64
12:09:53 <ehird> AnMaster: Mine will totally be faster because Windows just puts shit in the kernel to improve speed.
12:09:59 <ehird> The GUI's in the kernel because of that reason. :P
12:10:10 <AnMaster> ehird, mycology will hit that fork() at least two times
12:10:17 <ehird> It should work fine.
12:10:34 -!- FireFly has joined.
12:10:34 <AnMaster> ehird, also I think some #defines in the code for y will need changing
12:10:38 <ehird> Alright, Makefile generated
12:10:50 <ehird> AnMaster: First objective is getting it to build
12:10:51 <AnMaster> Deewiant, would you say the path separator should be \ or / under cygwin?
12:10:58 <ehird> It's /usr/bin and stuff
12:11:04 <ehird> c:\foo isn't, like, official
12:11:09 <ehird> You're meant to do /cygdrive/c/foo
12:11:27 <AnMaster> well, depending on what cygwin defines it might need some changing then
12:11:37 <ehird> AnMaster: Oh, this again; cfunge balks because Cygwin doesn't claim that its mmap and regexp are meticulously POSIX-compliant
12:11:41 <AnMaster> # define PUSH_REQ_6(m_pushstack) \
12:11:41 <AnMaster> stack_push((m_pushstack), (funge_cell)'\\')
12:11:41 <AnMaster> # define PUSH_REQ_6(m_pushstack) \
12:11:42 <AnMaster> stack_push((m_pushstack), (funge_cell)'/')
12:11:47 <ehird> Which is a crime henious enough of an #error
12:11:52 <ehird> According to cfunge
12:12:01 <ehird> It seems like a very silly check to me
12:12:09 <AnMaster> ehird, well I have been considering a better way to check that
12:12:21 <AnMaster> since openbsd has problems in that area too
12:12:37 * ehird notes there are some implicit declaration warnings in genx, as well as cast-discarding-qualifier warnings
12:12:49 <ehird> in genx stringbuffer, implicit declarations and nested extern declarations
12:12:50 <AnMaster> ehird, so they will probably change in the soon future in any case
12:12:56 <AnMaster> <ehird> in genx stringbuffer, implicit declarations and nested extern declarations <-- wait?
12:12:58 <ehird> and some other misc stuff
12:13:16 <ehird> also some implicit decls in cfunge
12:13:28 <ehird> Anyway, what should I do
12:13:42 <ehird> For the posix checks
12:13:45 <AnMaster> ehird, because that just means... that it is called without showing up in header
12:13:51 <ehird> Along with /* FIXME: hack */
12:13:55 <ehird> AnMaster: Yes, but the linker didn't complain last time
12:13:59 <ehird> It'll just be in another header file
12:14:05 <ehird> AnMaster: btw, cygwin uses newlib
12:14:05 <AnMaster> ehird, fine atm, because they are expected to go away soon
12:14:28 <AnMaster> ehird, issue is if that implicit decl turns out like: foo(int, char*) when it is really foo(long, char*)
12:14:37 <ehird> There aren't too many
12:14:52 <ehird> Do you have a rule about not going over 80cols?
12:15:05 <AnMaster> ehird, no hard rule, but I try to keep it not too wide
12:15:08 <ehird> fungespace_set(value, vector_create_ref(position->x + offset->x, position->y + offset->y));
12:15:17 <ehird> Well, assuming 4-space tabs, I guess
12:15:20 <ehird> which is what my editor's default is
12:15:42 <ehird> Before doing anything, I'll commit my getaddrinfo fix
12:15:49 <ehird> How do I tell bzr who I am? Simple command or?
12:15:53 <AnMaster> ehird, I try to break lines at 80 if it will not end up looking even worese
12:16:10 <AnMaster> but yeah, as long as I don't end up scrolling sideways in my own editor :P
12:16:11 <ehird> It's on an #if line directly after the hackish clause
12:16:18 <ehird> So, kinda hard to break up
12:16:19 <AnMaster> <ehird> How do I tell bzr who I am? Simple command or?
12:16:49 <AnMaster> ehird, you might want to nick the branch too
12:16:54 <AnMaster> to bzr nick cfunge-ehird or so
12:17:19 <AnMaster> by default it is same as directory name
12:17:21 <ehird> Grr, I wish the scrollbar worked in cmd.exe
12:17:32 <ehird> The scrollbar works fine if you drag it
12:17:41 <AnMaster> ehird, cygwin provides rxvt and such
12:17:55 <ehird> Yes, but that breaks on native windows programs and stuff, I think
12:18:01 <ehird> Anyway, cmd.exe is mostly fine
12:18:04 <ehird> I'm using bash in it of course
12:19:02 <AnMaster> ehird, anyway implict decls are kind of bad. Kind of bad as in "don't ever commit that". Maybe falling back on rand/srand or such could work
12:19:17 <ehird> I'll commit it because it's temporary work
12:19:21 <AnMaster> ehird, bzr ci -m "log message goes here, or it opens a editor for you"
12:19:26 <ehird> Fine-grained commits are nice for, you know, reverting
12:20:20 <AnMaster> ehird, btw, there is bzr send, but I doubt you can get that working under windows
12:20:31 <ehird> This is cygwin remember
12:20:34 <ehird> It has sshd and all kinds of stuff
12:20:53 <AnMaster> ehird, you have a mail client and such set up?
12:20:57 <ehird> First commit, ba-za-za-done!
12:21:01 <ehird> AnMaster: Can't it use sendmail?
12:21:12 <AnMaster> ehird, not sure, I never tried it
12:21:45 <ehird> Deewiant's wrong; it doesn't define cygwin
12:22:08 <ais523> ehird: /nobody/ can use sendmail
12:22:10 <AnMaster> ehird, err __CYWIN__ with two _?
12:22:23 <ehird> ais523: sendmail(1) is trivial
12:22:27 <AnMaster> ais523, well I could, but I prefer qmail
12:22:35 <ehird> AnMaster: Isn't that what it is?
12:22:37 <ehird> It fails with one _ too, anyway
12:22:49 <AnMaster> ehird, sec for a gcc command to list all predefined defines
12:23:05 -!- Pthing has joined.
12:23:10 -!- adam_d has quit (No route to host).
12:23:31 <AnMaster> ehird, will list all predefined ones on stdout
12:23:36 <ehird> Elliott@Elliott-PC ~/cfunge/build
12:23:38 <ehird> $ echo | gcc -DM -E -
12:23:43 <ehird> # 1 "<command line>"
12:23:46 <ehird> Elliott@Elliott-PC ~/cfunge/build
12:24:07 <ehird> "Hey, at least it doesn't complain about static" Edition
12:24:28 <AnMaster> ehird, works on 3.4.6 here, don't have any older
12:24:30 <ehird> Hah, it has gdc, apparently
12:24:56 <AnMaster> gcc-3.4.6 gcc-4.1.2 gcc-4.3.2 are the ones I have according to tab completion
12:25:16 <ehird> __CYGWIN__ expands to 1
12:25:19 <ehird> when I do cpp /dev/stdin
12:25:30 <AnMaster> ehird, hm ok, then it should be defined
12:25:33 <ehird> #if !defined(_POSIX_MAPPED_FILES) || (_POSIX_MAPPED_FILES < 1) || __CYGWIN__ /* hack */
12:25:35 <ehird> # error "cfunge needs a working mmap(), which this system claims it lacks."
12:26:02 <ehird> (Also, of course it will; __CYGWIN__ expands to 1)
12:26:17 <ehird> Should I use defined() instead?
12:26:49 <AnMaster> #if (!defined(_POSIX_MAPPED_FILES) || (_POSIX_MAPPED_FILES < 1)) && !defined(__CYGWIN__)
12:26:54 <AnMaster> otherwise it will break everywhere else
12:26:55 <ehird> moar implicit decl + nested decl
12:27:13 <ehird> Now to do the same to REXP.c
12:27:25 <ehird> # error "cfunge needs POSIX regular expressions, which this system claims it doesn't have."
12:27:35 <AnMaster> ehird, well I don't check that in cmakelists I think hm
12:27:59 <AnMaster> CFUNGE_REQUIRE_FUNCTION(regcomp)
12:28:03 <ehird> [ 1%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/REXP/REXP.c.o
12:28:05 <ehird> [ 3%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/ROMA/ROMA.c.o
12:28:07 <ehird> [ 5%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o
12:28:08 <ehird> [ 7%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/SOCK/SOCK.c.o
12:28:10 <ehird> [ 9%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/STRN/STRN.c.o
12:28:11 <ehird> [ 11%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/SUBR/SUBR.c.o
12:28:13 <ehird> [ 13%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/TERM/TERM.c.o
12:28:14 <ehird> [ 15%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/TIME/TIME.c.o
12:28:16 <ehird> [ 17%] Building C object CMakeFiles/cfunge.dir/src/fingerprints/TOYS/TOYS.c.o
12:28:17 <ehird> Multiple files with no warnings
12:28:19 <ehird> That's a true beauty
12:28:21 <ehird> AnMaster: It's something I have not yet seen in this compile :P
12:28:33 <ehird> Ah, the good ol' M_PI undeclared
12:28:37 <ehird> AnMaster: tell me what your M_PI is?
12:28:45 <AnMaster> ehird, well POSIX declares it as XSI.
12:28:46 <ais523> ehird: M_PI isn't standard AFAIK
12:28:56 <AnMaster> ais523, POSIX 2008 mentions it here
12:29:02 <ais523> it used to be on the header files back on DOS, though
12:29:12 <AnMaster> ais523, well yes it should be in math.h
12:29:12 <ais523> which is probably not a header file you can legally put it in
12:29:21 <ais523> without a feature test macro, or something similar
12:29:22 <ehird> AnMaster: Yo, pi plz
12:29:54 <AnMaster> # define M_PI 3.14159265358979323846 /* pi */
12:30:18 <ehird> I like the comment there
12:30:19 <AnMaster> so that is whatever license glibc uses
12:30:27 <AnMaster> # define M_PI 3.14159265358979323846 /* pi */
12:30:27 <AnMaster> # define M_PI_2 1.57079632679489661923 /* pi/2 */
12:30:27 <AnMaster> # define M_PI_4 0.78539816339744830962 /* pi/4 */
12:30:29 <ehird> I'm going to be a horrible pirate
12:30:36 <ehird> And COMPLETELY IGNORE their copyright on pi!
12:30:47 <AnMaster> ehird, well I think the copyright is the formatting here :P
12:30:48 <ais523> ehird: take the value, and write the rest of the line from scratch
12:31:06 <ehird> But I refuse to add the explanatory /* pi */ comment!
12:31:19 <ehird> Hey, we're on to linking
12:31:34 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/PERL/PERL.c.o:PERL.c:(.text+0x1b9): undef
12:31:36 <ehird> ined reference to `__Exit'
12:31:38 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0x65): undefi
12:31:39 <AnMaster> ais523, anyway POSIX.1-2008 declares M_PI on page 286
12:31:39 <ehird> ned reference to `_getaddrinfo'
12:31:41 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0xa4): undefi
12:31:42 <ehird> ned reference to `_freeaddrinfo'
12:31:46 <ehird> I guess including it in sources doesn't link its object?
12:32:10 <ehird> I didn't define a FILE
12:32:16 <ais523> ehird: yep, generally speaking, unless they're in one of the standard libraries
12:32:27 <ehird> ais523: I'm talking about cmake
12:32:44 <AnMaster> ais523, so yes M_PI *is* standard
12:32:48 <ehird> AnMaster: Is there a FILE(NOGLOBBINGORANYTHING or whatever?
12:33:13 <ehird> man works. That's a nice surprise.
12:33:25 <ehird> Longest manual EVAR
12:33:28 <AnMaster> ehird, or rather, you don't need FILE if it is one file, just remember it must be relative
12:33:34 <AnMaster> ehird, nop, bash one is longer iirc
12:33:42 <AnMaster> and so is the non-split zsh one
12:33:45 <ehird> set(CFUNGE_GETADDRINFO_SOUCRES lib/getaddrinfo/getaddrinfo.c)
12:33:53 <ehird> set(CFUNGE_GETADDRINFO_SOUCRES ${CFUNGE_SOURCE_DIR}/../lib/getaddrinfo/getaddrinfo.c)
12:34:05 <AnMaster> the ${CFUNGE_SOURCE_DIR} is the top one
12:34:14 -!- BeholdMyGlory has quit (Remote closed the connection).
12:35:15 <ehird> I wonder if I make an installer for this I could get you to do the unthinkable embarrassment and put a windows binary up for download :-P
12:35:35 <ehird> Interesting work ethic here, where my half-hearted desire to see you squirm is making me improve your software
12:35:50 <ehird> "ARE YOU ASSOCIATING WITH CYGWIN SCOUNDRELS?"
12:35:58 <ehird> "THEY'RE NOT PURE BLOODED, AN!"
12:36:07 <ehird> (AnMaster's name: totally An Master.)
12:37:55 <ehird> Oh, it's just in SCKE, not SOCK
12:37:58 <ehird> I'll fix the _Exit thing first
12:38:55 <ehird> OK, don to two errors.
12:39:05 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0x65): undefi
12:39:07 <AnMaster> ehird, remembers small commits
12:39:07 <ehird> ned reference to `_getaddrinfo'
12:39:09 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0xa4): undefi
12:39:10 <ehird> ned reference to `_freeaddrinfo'
12:39:20 <ehird> AnMaster: Oh, right; I'll revert one change
12:39:22 <AnMaster> ehird, conditional include header there too I guess
12:39:23 <ehird> Does SOCK use getaddrinfo?
12:39:43 <AnMaster> ehird, grep? It would take you equal time to me to find out
12:40:06 <ehird> How do I commit only some files?
12:40:18 <AnMaster> ehird, bzr ci foo.c bar.c -m "message here"
12:41:35 <AnMaster> ehird, note that cd foo/; bzr ci, will commit stuff in bar/ too by default, ci/diff/log and so on tend to be centered on tree root by default, unless you do something like bzr diff .
12:42:16 -!- puzzlet_ has quit (Remote closed the connection).
12:42:24 -!- puzzlet has joined.
12:42:40 <AnMaster> ehird, anything else? oh btw for _Exit vs. _exit
12:42:48 <AnMaster> you don't need to add any define in cmake
12:42:59 <ehird> +# define _Exit _exit /* This probably works */
12:42:59 <AnMaster> since the check macro adds defines by default
12:43:02 <ehird> I'm pretty sure everything has _exit
12:43:13 <ehird> I mean, even Windows.
12:45:16 <AnMaster> ehird, btw, when it comes to warnings, the implicit ones needs to be fixed at least
12:45:19 <ehird> OK, only one thing to go: fix the seeming unlinkingness of getaddrinfo/freeaddrinfo.
12:45:29 <ehird> AnMaster: Sure, but it'll still work.
12:45:47 <AnMaster> ehird, well, it might by pure chance, see what I said about prototypes first time you mentioned this
12:45:52 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0x65): undefi
12:45:54 <ehird> ned reference to `_getaddrinfo'
12:45:56 <ehird> CMakeFiles/cfunge.dir/src/fingerprints/SCKE/SCKE.c.o:SCKE.c:(.text+0xa4): undefi
12:45:58 <ehird> ned reference to `_freeaddrinfo'
12:46:01 <ehird> Yet the relevant file is in the executable thingy.
12:46:13 <AnMaster> ehird, wait, what is the _ doing there?
12:46:23 <ehird> Everything gets prefixed by a _.
12:47:30 <AnMaster> ehird, sure those are included? try in ccmake to turn on CMAKE_VERBOSE_MAKEFILE
12:47:41 <AnMaster> that will make the commands be printed
12:47:50 <AnMaster> so you can see if the link command looks sane
12:49:22 -!- KingOfKarlsruhe has quit (Remote closed the connection).
12:50:20 * ehird ponders asking the Windows developer on IAmA about the most efficient way to implement fork() :-P
12:50:32 -!- BeholdMyGlory has joined.
12:50:51 <ehird> Okay, verbose making go.
12:50:56 <ehird> Holy fuck you have a lot of -W options.
12:51:39 -!- BeholdMyGlory has quit (Remote closed the connection).
12:52:30 <ehird> AnMaster: http://pastie.org/614537.txt?key=zovi8xmxwmc4mlpaow have fun with the wall of text :P
12:53:46 <ehird> ("libcfunge.dll.a")
12:54:35 <AnMaster> ehird, what was the file that handled getaddrinfo again?
12:54:45 <ehird> lib/getaddrinfo/getaddrinfo.c
12:54:46 <AnMaster> there is no getaddrinfo mentioned in there
12:54:52 <AnMaster> so it seems something went wrong
12:55:00 <ehird> set(CFUNGE_GETADDRINFO_SOURCES)
12:55:02 <ehird> CFUNGE_CHECK_FUNCTION(getaddrinfo)
12:55:04 <ehird> CFUNGE_CHECK_FUNCTION(freeaddrinfo)
12:55:05 <ehird> if (NOT CFUNGE_HAVE_getaddrinfo OR NOT CFUNGE_HAVE_freeaddrinfo)
12:55:07 <ehird> set(CFUNGE_GETADDRINFO_SOUCRES ${CFUNGE_SOURCE_DIR}/lib/getaddrinfo/getaddrinfo.c)
12:55:08 <ehird> add_definitions(-DUSE_GETADDRINFO_LIBRARY)
12:55:10 <ehird> endif (NOT CFUNGE_HAVE_getaddrinfo OR NOT CFUNGE_HAVE_freeaddrinfo)
12:55:14 <ehird> add_executable(cfunge ${CFUNGE_SOURCES} ${CFUNGE_GETADDRINFO_SOURCES})
12:55:22 <AnMaster> ehird, "(NOT CFUNGE_HAVE_getaddrinfo OR NOT CFUNGE_HAVE_freeaddrinfo)" < try only the first part
12:55:30 <ehird> What if the system only has one?
12:55:39 <AnMaster> ehird, well just try it atm to see if that was the issue
12:55:42 <ehird> I'll parenthesize it
12:55:47 <ehird> I bet the NOT is getting the rest of it
12:56:10 -!- BeholdMyGlory has joined.
12:56:43 -!- kar8nga has quit (Remote closed the connection).
12:58:32 <ehird> Yay, it configurd.
12:58:42 <ehird> It's like compiling KDE :P
12:59:50 <ehird> Same fuckin' error
13:00:08 -!- BeholdMyGlory has quit (Remote closed the connection).
13:00:13 <ehird> AnMaster: Should I just remove the if and do it unconditionally?
13:00:58 <ehird> levenshtein correction
13:01:01 -!- BeholdMyGlory has joined.
13:01:03 <ehird> only one distance at a time
13:02:23 <ehird> So I needed an oe from somewhere
13:03:44 <ehird> (I started when I said "levenshtien correction".)
13:03:51 <ehird> That's right, 3 minutes to get from 0% to 100%.
13:04:26 <ehird> I should download one of those Expose-for-Windows things; Windows-Tab is useless.
13:05:01 <ehird> AnMaster: Guess whether the error differs or not
13:05:32 <ehird> is FILE(GLOB FOO RELATIVE BAR BAZ*QUUX)
13:05:49 <ehird> foo = glob(bar/baz*quux)
13:09:02 <ehird> Oh, I think I know!
13:09:04 <ehird> add_executable(cfunge ${CFUNGE_SOURCES} ${CFUNGE_GETADDRINFO_SOURCES})
13:09:08 <ehird> That third argument isn't more sources
13:09:10 <ehird> It's something else, I bet
13:09:17 <ehird> How do I concatenate the two, then? Or is it not that?
13:09:23 <ehird> Bah. It's impossible to search
13:09:40 <AnMaster> ehird, you don't know how to search cmake?
13:09:50 <AnMaster> add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL]
13:10:18 <fizzie> I was under the impression that win7 had something Expose-like called "Aero Peek", but apparently that's some other thing entirely.
13:10:21 <ehird> Is there a halt_and_prompt_the_user_for_confirmation_after_printing?
13:10:33 <ehird> fizzie: Windows-Tab gives each window in front of each other, 3D-style.
13:10:48 <ehird> It's just different enough from Expose to be not a ripoff and useless.
13:10:49 <ais523> they stole that from Compiz
13:10:57 <ais523> it's exactly the same effect, and the same key combo too
13:10:58 <ehird> ais523: I very much doubt that's the case
13:11:03 <ehird> ais523: It was in Vista
13:11:04 <ais523> well, super-tab is scrolly
13:11:16 <ehird> ais523: Compiz stole almost all of its effects from OS X and Vista
13:11:17 <ais523> whereas I think the windows version puts everything side-on so you can't see it
13:11:20 <AnMaster> ehird, you could make it an error message containing the thing, or use cmake instead of ccmake
13:11:26 <ehird> AnMaster: Ah, how do you error?
13:11:35 <AnMaster> "Your system seems to be missing the header \"${_name}\" which is required by cfunge.")
13:11:46 <ais523> ehird: I'm aware that it's blatantly stealing from OSX; I'm not sure about which way round it is compared to the Vista effects
13:12:08 <fizzie> Yes, I remember the 3d-window-stackery from Vista;re. but that "Aero Peek" is some sort of taskbar-preview-related featu
13:12:08 <ehird> ais523: The minimize, restore effects are identical
13:12:15 <ehird> Also the open window, close window ones
13:12:24 <ehird> Either Compiz stole them, or Microsoft enjoy legal deep shit
13:12:39 <ais523> the minimize-restore effects are obvious
13:12:49 <ehird> Doesn't matter; those 4 being identical is telling
13:12:54 <ais523> I'm willing to believe that those ones could have been invented independently
13:13:02 <ehird> Yes, but when paired with the other two...
13:13:07 <ehird> which are totally nonobvious
13:13:19 <ais523> what does OSX do for those, by the way?
13:13:27 <ehird> For opening and closing windows?
13:13:38 <ehird> Such animations are useless eyecandy.
13:13:57 <AnMaster> ehird, for minimize and restore it has useless eye candy too
13:13:58 <ais523> on an unresponsive system, it's useful to have an obvious way to notice when a window's opened
13:14:04 <ais523> I'm not sure that method is the correct one, though
13:14:14 <AnMaster> ais523, the fact that a new window shows up?
13:14:29 <ais523> AnMaster: not always, especially if you're staring at something else at the time
13:14:47 <AnMaster> ais523, if you are looking at something else, you wouldn't see animation either?
13:14:50 <ehird> The window shadow should do that.
13:14:52 <ais523> hmm... does anyone else find typical Windows machines impossibly slow to use just after they've booted
13:14:55 <ehird> AnMaster: that's not how the human eye works
13:14:57 <ais523> as in, you have to get up and do something else
13:14:59 <ehird> ais523: Not Windows 7
13:15:04 <ehird> Bogged down XP systems, yes
13:15:17 <ehird> This thing boots up fast once the BIOS hands control
13:15:17 <AnMaster> ehird, I meant something else = a book or so, so the monitor isn't in your view at all
13:15:21 <ais523> I'm thinking Vista running Norton antivirus
13:15:30 <ehird> AnMaster: Peripheral vision
13:15:31 <AnMaster> ehird, anyway, any luck with cmake?
13:15:39 <ais523> the boot's fast; it's just unusable for about 10 minutes after it's booted
13:15:41 <AnMaster> ehird, that only goes to ~180 degrees iirc
13:15:48 <ehird> ais523: 7 is easier on the system than Vista, but what sort of specs has it got?
13:15:49 <ais523> as in, you do anything, and you can make a cup of coffee or whatever before it responds
13:15:53 <ehird> ais523: The culprit is almost certainly Norton, btw
13:15:57 <ais523> ehird: I don't know, but I doubt they're good
13:16:06 <ais523> and I mentioned Norton because I thought it was probably responsibel
13:16:17 <ehird> Windows doesn't gracefully degrade; above the minimum hardware it works fine, below that it just crawls
13:16:18 <AnMaster> ehird, plus it isn't xray vision. *imagines big news paper in front of monitor :P
13:16:21 <ehird> There's never middle ground with windows
13:16:27 <ais523> ehird: ah, that's interesting to know
13:16:28 <ehird> AnMaster: Still working on it, btw
13:16:34 <ehird> ais523: Well, it's just my experience
13:16:37 <ehird> Limited, admittedly
13:16:39 <ais523> it tallies with mine, too
13:16:54 <ehird> AnMaster: CFUNGE_GETADDRINFO_SOURCES is empty right after setting it unconditionally
13:17:00 <ehird> AnMaster: Do you have to do something special to reset something?
13:17:07 <ehird> set(CFUNGE_GETADDRINFO_SOURCES)
13:17:10 <ehird> set(CFUNGE_GETADDRINFO_SOUCRES ${CFUNGE_SOURCE_DIR}/lib/getaddrinfo/getaddrinfo.c)
13:17:36 <ehird> ais523: Windows also decays a lot quicker than other OSs
13:17:45 <ehird> On the other hand, when it's not decayed, it's faster than other OSs
13:17:48 <ais523> I don't get OS decay-over-time at all
13:17:53 <AnMaster> ehird, I never tried setting it more than once, I would do an else there
13:17:55 <ais523> it seems to defy the typical rules of computer physics
13:18:01 <ehird> ais523: It's mainly Windows that does it
13:18:07 <ehird> Other systems do it, but are so slow you wouldn't notice it
13:18:18 <ais523> I haven't noticed any on this system, and it's never been reinstalled
13:18:20 <ehird> e.g., if you installed Debian 15 years ago, I doubt it'd still be working over all the upgrades
13:18:26 <ais523> it's been upgraded continuously from Feisty
13:18:29 <AnMaster> ehird, try removing the first set to see if anything changes
13:18:33 <ais523> OTOH, Windows seems to decay even if not upgraded, somehow
13:18:36 <ehird> Is it just "else"?
13:18:54 <AnMaster> ehird, else (whole whopping condition again)
13:19:09 <AnMaster> oh and I thought about trying scons for my next C project
13:19:25 <AnMaster> but on the other hand, from a user point of view, that is even more irritating
13:19:31 <ehird> scons is verbose and silly in my experience
13:19:41 <AnMaster> ehird, and ignores cflags and such by default
13:19:50 <ehird> I strongly suggest you try writing a simple shell script that writes out a simple config.mk, which you include in a Makefile
13:19:52 <AnMaster> which is irritating when you need -m32 or such to compile something
13:19:55 <ehird> I bet you'll be surprised how cleanly and easily it works out
13:19:57 <ehird> + no dependencise at all
13:20:07 <ehird> also, readable/editable Makefiles
13:20:09 <AnMaster> ehird, then I will have to handle deps between headers and c files myself
13:20:18 <ehird> Scons doesn't handle that afaik
13:20:29 <AnMaster> well ok, that is a blocker to me
13:20:39 <AnMaster> ehird, yes I know about such tooks
13:20:40 <ehird> gcc has a facility to do what makedep does
13:20:50 <ehird> It's just a few lines in a Makefile to have it included and regenerated automatically
13:21:08 <ehird> Admittedly, such a shell + make solution won't win any awards for extreme elegance, but the code will be compact, it'll be fast, and it won't have any dependencies.
13:21:23 <AnMaster> ehird, shell scripts won't be fast under cygwin
13:21:31 <fizzie> Scons does header-dependencies completely automatically, I think.
13:21:33 <AnMaster> and it will be painful to use plain sh
13:21:34 <ehird> AnMaster: So what? Everything uses ./configure
13:21:39 <ehird> Also, use bash then
13:21:47 <AnMaster> ehird, but some systems might not
13:21:58 <ehird> Yah, nobody cares about those systems :P
13:22:30 <AnMaster> ehird, did it work with just setting that var once?
13:22:41 <ehird> if ((NOT CFUNGE_HAVE_getaddrinfo) OR (NOT CFUNGE_HAVE_freeaddrinfo))
13:22:43 <ehird> set(CFUNGE_GETADDRINFO_SOUCRES ${CFUNGE_SOURCE_DIR}/lib/getaddrinfo/getaddrinfo.c)
13:22:45 <ehird> add_definitions(-DUSE_GETADDRINFO_LIBRARY)
13:22:47 <ehird> else ((NOT CFUNGE_HAVE_getaddrinfo) OR (NOT CFUNGE_HAVE_freeaddrinfo))
13:22:48 <ehird> set(CFUNGE_GETADDRINFO_SOURCES)
13:22:50 <ehird> endif ((NOT CFUNGE_HAVE_getaddrinfo) OR (NOT CFUNGE_HAVE_freeaddrinfo))
13:22:51 <ehird> message(FATAL_ERROR "${CFUNGE_GETADDRINFO_SOURCES}")
13:22:53 <ehird> with no definition before
13:22:57 * ehird removes the conditional
13:23:17 <ehird> they're probably flying out of my nose
13:23:19 <ehird> washing the windows api
13:24:33 <ehird> set(CFUNGE_GETADDRINFO_SOUCRES ${CFUNGE_SOURCE_DIR}/lib/getaddrinfo/getaddrinfo.c)
13:24:35 <ehird> add_definitions(-DUSE_GETADDRINFO_LIBRARY)
13:24:39 <ehird> message(FATAL_ERROR "${CFUNGE_GETADDRINFO_SOURCES}")
13:24:57 <AnMaster> I can not possibly explain this...
13:25:29 <AnMaster> ehird, it is easy once you read it carefully
13:25:56 <ehird> See, this is the problem with we programmers.
13:26:02 <ehird> We instantly jump to mystics.
13:26:05 <ehird> Never considering the obvious.
13:26:18 <ehird> Let's try this again.
13:26:23 <AnMaster> ehird, when I end up with something weird like that I tend to do copy and paste of variable names to see if there is a hidden typo I can't spot
13:28:12 <ehird> set(CFUNGE_GETADDRINFO_SOURcES ${CFUNGE_SOURCE_DIR}/lib/getaddrinfo/getaddrinfo.c)
13:28:15 <ehird> is cmake case insensitive?
13:28:27 <ehird> I'll just re-run it
13:28:55 <AnMaster> ehird, make sure you fix the typo in the if too if it was there
13:29:08 <AnMaster> ehird, and every place it may be used
13:29:14 <ehird> ...wait, what typo in the if?
13:29:22 <ehird> I fixed the one you s///d
13:29:29 <ehird> That's the line I pasted
13:29:46 <AnMaster> ehird, well yes, I meant if you typoed the first set as well as the one inside?
13:30:06 <ehird> It's an else now, anyway
13:30:15 <AnMaster> well check that one inside the else
13:30:19 <ehird> (I started it on "I'll just re-run it")
13:30:27 <ehird> (Just making sure you realize how damn slow process spawning is on Windows)
13:30:34 <AnMaster> ehird, I can do nothing about cygwin being slow
13:30:49 <ehird> I'm surprised Chrome is so snappy, spawning a process on every tab and all.
13:30:55 <AnMaster> ehird, plus there is a way around it. A horrible way
13:31:01 <AnMaster> user space processes using threads
13:31:49 <AnMaster> ehird, what do you think about that?
13:33:01 -!- ehird_ has joined.
13:33:11 <ehird_> Heh, and just at the crucial moment my internet blinks
13:33:17 -!- ehird has quit (Nick collision from services.).
13:33:19 -!- ehird_ has changed nick to ehird.
13:33:25 -!- ehird has quit (Remote closed the connection).
13:33:41 -!- ehird has joined.
13:33:43 <AnMaster> <ehird> I'm surprised Chrome is so snappy, spawning a process on every tab and all.
13:33:43 <AnMaster> <AnMaster> ehird, plus there is a way around it. A horrible way
13:33:43 <AnMaster> <AnMaster> user space processes using threads
13:33:43 <AnMaster> <AnMaster> ehird, what do you think about that?
13:33:51 <AnMaster> <ehird_> Heh, and just at the crucial moment my internet blinks
13:34:00 <ehird> I was considering that
13:34:02 <ehird> But it would lead to crappiness
13:34:08 <ehird> Anyway, AnMaster: Bad news.
13:34:12 <ehird> Elliott@Elliott-PC ~/cfunge/build
13:34:15 <ehird> FATAL: No file provided.
13:34:17 <ehird> we unleashed a horror upon the world.
13:34:25 <ehird> It is known as "cfunge.exe".
13:34:34 <ehird> cfunge -h runs without problems
13:34:37 <AnMaster> as for binaries, I don't do linux binaries either
13:34:52 <AnMaster> I used to provide binaries, but stopped
13:34:56 <ehird> Yah, but there's no single Linux binary format thingy
13:35:03 <ehird> And also this is a bitch to set up :P
13:35:09 <ehird> Shall I run an example?
13:35:41 <AnMaster> ehird, need to test mycology, check env variables and path separator especially
13:35:43 <ehird> AnMaster: Gasp; it takes around 0.1s total
13:35:49 <ehird> Because of the process overhead :P
13:36:15 <ehird> prime.bf works, time for wumpus
13:36:15 <AnMaster> nothing unexpected if one of them works
13:36:25 <ehird> The freakin' thing is running on Windows
13:36:28 <ehird> With only minimal patches
13:36:41 <AnMaster> ehird, yes, but what I expect is that mycology system info will break
13:36:44 <ehird> You should bundle Mycology.
13:37:33 <AnMaster> ehird, you could pastebin the output, might be easiest, I'm used to looking at the output to see the expected or unexpected
13:38:15 <AnMaster> ehird, tests/perl.b98 might be good to try too. And tests/sysexec.b98
13:38:35 <ehird> Oh, you have a tests/
13:38:50 <AnMaster> ehird, well mostly stuff that mycology doesn't test. Sometimes output may be cryptic
13:39:02 <AnMaster> there are often comments in the files
13:39:06 <ehird> perl.b98 just sits there.
13:39:12 <ehird> Can't type anything on the keyboard.
13:39:20 <ehird> Now that I check, no.
13:39:28 <AnMaster> ehird, hm still shouldn't hang as such
13:39:45 <ehird> Maybe it's _exit failing or something.
13:40:17 <AnMaster> ehird, I have no idea, I'll have to test under linux without perl in path
13:40:45 <AnMaster> ehird, ah wait, it is the test program that is broken without perl
13:41:08 <ehird> Thought it'd be something like that. ^C worked.
13:41:40 <ehird> AnMaster: perl.b98 works
13:42:25 <ehird> I have no testncrsterm.
13:42:32 <AnMaster> ehird, err wait, that was half written
13:42:44 <ehird> sigfpe outputs "Finished"
13:43:14 <AnMaster> ehird, the ncrs term one is http://pastebin.ca/1563092
13:43:51 <ehird> Uh oh: TERM failed to load.
13:43:58 <AnMaster> ehird, I will be interested in if it does one or more of 1) crashes 2) messes up your terminal 3) fails in some other way
13:44:03 <ehird> It's because I'm using cmd.exe, probably.
13:44:09 <ehird> Not a very standard terminal.
13:44:14 <ehird> I'll try the Windows port of rxvt that Cygwin has.
13:44:17 <AnMaster> ehird, or ncurses wasn't detected at compile time
13:44:26 <ehird> AnMaster: I doubt it; I have ncurses
13:44:47 <AnMaster> ehird, what does ./cfunge.exe -v
13:45:01 <ehird> cfunge.exe not found :P but build/cfunge.exe -v,
13:45:13 <AnMaster> ehird, ah well right, didn't know what directory you were in
13:45:34 <ais523> pdcurses is more common than ncurses for DOS/Windows, IIRC
13:45:44 <ehird> Yeah, no libncurses-devel.
13:45:48 <ais523> AnMaster: did you specify ncurses in particular? or just a curses-alike in general?
13:46:08 <ais523> ehird: yes, I noticed first time
13:46:08 <AnMaster> ais523, I use the macro provided with cmake to check for it
13:46:23 <ehird> AnMaster: btw, on my copy cygwin building works with no changes
13:46:25 <AnMaster> because I needed that for something
13:46:28 <ehird> you can ccmake like usual
13:46:30 <ehird> I disable 64-bit cells though
13:46:37 <ehird> but it means it's currently working very well
13:46:54 <AnMaster> ehird, I want to see mycology output though
13:47:01 <ehird> Yes, after I recompile
13:47:25 <ehird> Then I'll fix any y-like errors in Mycology, fix all the warnings and tada. Cygwin ready.
13:47:39 <ehird> The nice thing is that cfunge.exe will work as long as you put cygwin1.dll in the same directory.
13:47:51 <ehird> So it's as close to "native" as cfunge'll ever get.
13:48:00 <AnMaster> ehird, hm wait about perl, it seems E does indeed lock up. Which is not expected
13:48:51 <AnMaster> ehird, well there are some possible issues in mycology output, possibly some stuff in sysinfo.c needs to be changed
13:49:27 <ehird> That's what I mean.
13:51:22 <AnMaster> hm. check in ccmake for ncurses vars
13:51:44 <AnMaster> possibly the not found was cached
13:52:10 <ehird> I should charge for windows cfunge binaries
13:52:21 <ehird> it's a time consuming process!</xchat devs>
13:52:24 <ehird> ais523: stop interrupting my jokes
13:53:53 <AnMaster> what is the possible exit codes of perl itself?
13:54:33 <ehird> perl -e 'exit 34;'
13:54:43 <AnMaster> ehird, I meant for stuff like syntax error and so on
13:54:45 <ehird> AnMaster: Well, USE_NCURSES is on
13:54:58 <AnMaster> ehird, try in the advanced list. there should be some path to ncurses library and so on
13:55:09 <ehird> It knows where curses is, and ncurses
13:55:12 <AnMaster> CURSES_CURSES_LIBRARY /lib64/libcurses.so
13:55:12 <AnMaster> CURSES_EXTRA_LIBRARY CURSES_EXTRA_LIBRARY-NOTFOUND
13:55:12 <AnMaster> CURSES_FORM_LIBRARY /usr/lib64/libform.so
13:55:12 <AnMaster> CURSES_HAVE_CURSES_H /usr/include/curses.h
13:55:13 <ehird> but not where CURSES_EXTRA_LIBRARY is
13:55:21 <ehird> got all that bling
13:55:36 <AnMaster> CURSES_INCLUDE_PATH /usr/include
13:55:36 <AnMaster> CURSES_LIBRARY /lib64/libcurses.so
13:55:36 <AnMaster> CURSES_NCURSES_LIBRARY /lib64/libncurses.so
13:55:53 <ehird> CURSES_CURSES_H_PATH */usr/include
13:55:55 <ehird> CURSES_CURSES_LIBRARY */lib/libcurses.dll.a
13:55:57 <ehird> CURSES_EXTRA_LIBRARY *CURSES_EXTRA_LIBRARY-NOTFOUND
13:55:58 <ehird> CURSES_FORM_LIBRARY */lib/libform.dll.a
13:56:00 <ehird> CURSES_HAVE_CURSES_H */usr/include/curses.h
13:56:01 <ehird> CURSES_INCLUDE_PATH */usr/include
13:56:03 <ehird> CURSES_LIBRARY */lib/libcurses.dll.a
13:56:04 <ehird> CURSES_NCURSES_LIBRARY */lib/libncurses.dll.a
13:56:16 <AnMaster> ehird, and then g to generate again
13:56:20 <ehird> That's what I did before :P
13:56:32 <AnMaster> ehird, well, try it once more just in case...
13:56:34 <ehird> Did switching to advanced mode detect them or something?
13:56:42 <AnMaster> ehird, that wouldn't make sense
13:57:10 <ehird> Well, it compiled TERM.c without warnings or errors
13:57:19 <ehird> But it's still -ncurses
13:57:34 <ehird> Doesn't "TERM failed to load." just mean, like, can't initialize ncurses?
13:57:59 <AnMaster> ehird, that or the fingerprint didn't exist
13:58:11 <AnMaster> as in, TERM.c contains a huge ifdef around everything in it
13:59:14 <AnMaster> ehird, then it isn't in the binary, thus ifdefed ouyt
13:59:24 <AnMaster> and I don't know why if ncurses was detected
13:59:53 <AnMaster> ehird, did you press c again after those * were there? or just g right away?
14:00:16 <AnMaster> I think some older versions of cmake had some issue with... hm...
14:00:34 <AnMaster> right, this shouldn't happen then
14:00:59 -!- Gracenotes has quit (Read error: 60 (Operation timed out)).
14:01:02 <AnMaster> CHECK_INCLUDE_FILE(term.h HAVE_TERM_H)
14:01:27 <AnMaster> ehird, well, I think part of the "not found" is still cached
14:01:39 <ehird> I reset everything
14:01:54 <AnMaster> ehird, removed CMakeCache.txt ?
14:02:08 <ehird> Everything in build
14:02:20 <AnMaster> ehird, sorry, I can't make head or tail out of this
14:04:00 <ehird> It's claerly magi.
14:05:49 <AnMaster> well yes since it works here. Atm I'm fixing the inf loop in perl bug
14:05:49 <Deewiant> ehird: Still working on getting cfunge to work? :-P
14:06:09 <AnMaster> ehird, still you could already run it on the main mycology, just not mycoterm
14:06:51 <ehird> Deewiant: It works, just it isn't detecting ncurses.
14:07:55 <Deewiant> CMake fail or #ifdef fail or what?
14:08:33 <AnMaster> Deewiant, unable to reproduce it here on linux.
14:08:54 <Deewiant> Yes, you tend to say that when people do stuff on Windows.
14:09:21 <AnMaster> some directory under /usr/include?
14:09:22 <ehird> I don't think it's anywhere.
14:09:30 <ehird> I don't know, though.
14:09:33 <AnMaster> ehird, then TERM won't work, term.h is here a part of ncurses
14:10:30 <AnMaster> because I only have term.h in /usr/inclyde
14:10:49 <ehird> Anyway, I'm installing vi now so I can tell you what's in there.
14:10:56 <AnMaster> oh and the wide char /usr/include/ncursesw/term.h
14:11:05 <ehird> No widechar on Cygwin.
14:11:12 <ehird> Hasn't been ported, etc.
14:11:30 <AnMaster> ehird, well did you say /usr/include/ncurses/term.h exists?
14:11:33 <ehird> ** term.h -- Definition of struct term
14:11:52 <AnMaster> issue is, where to check for it
14:11:57 <AnMaster> CHECK_INCLUDE_FILE(term.h HAVE_TERM_H)
14:11:59 <ehird> CHECK_INCLUDE_FILE(term.h HAVE_TERM_H)
14:12:04 <ehird> Can it have multiple entries?
14:12:08 <ehird> CHECK_INCLUDE_FILE(term.h HAVE_TERM_H)
14:12:11 <ehird> CHECK_INCLUDE_FILE(ncurses/term.h HAVE_TERM_H)
14:12:21 <ehird> we need to know which one
14:12:30 <AnMaster> ehird, it will need adjustment in the C file too
14:13:42 <ehird> programmer's notepad has a neat feature where if you select something, it highlights all the occurrences in the file of that term
14:13:45 <ehird> not that I've used it, but
14:14:31 <ehird> AnMaster: -DCURSES_TERM_HEADER=foo or a -D for each one?
14:14:40 <ehird> i.e. #include CURSES_TERM_HEADER or an ifdef
14:14:45 <ehird> an ifdef is more conventional but more work
14:14:46 <AnMaster> ehird, I'm writing a check atm
14:16:03 <ehird> Is there an elseifdef?
14:16:43 <ehird> AnMaster: Patch done.
14:16:51 <ehird> #ifdef TERM_H_IN_NCURSES
14:16:53 <ehird> # include <ncurses/term.h>
14:16:57 <ehird> # include <term.h>
14:17:00 <ehird> Mine is better :-P
14:17:05 <AnMaster> ehird, hey, how did you copy my name for that
14:17:18 <ehird> Pastebin the cmake code you did for it
14:17:21 <ehird> I bet it's identical
14:18:20 <ehird> Oh, yours is better. But I used HAVE_NCURSES_TERM_H as a name too.
14:18:30 <ehird> AnMaster: Push yours and tell me how to pull it?
14:18:34 <AnMaster> can't test it, since my system has it in term.h
14:19:00 <AnMaster> ehird, sec. but you will have to merge since you have locally commited stuff, and it won't let you merge if you have locally uncommited changes
14:19:10 <ehird> Can't it automatically merge?
14:19:31 <AnMaster> ehird, well yes, that is what merge does. It just refuses to do a plain pull
14:19:45 <AnMaster> and you have to commit the merge. Hey, hg is even stranger
14:19:53 <ehird> No, that's regular
14:20:01 <ehird> Anyway, committed what I was sitting on
14:20:03 <Deewiant> Both hg and git can do a rebase
14:21:02 <AnMaster> Deewiant, I think bzr can too nowdays, haven't tried it though
14:21:41 <ehird> I'm considering switching to darcs one of these days if it gets faster and starts handling stuff like chmod
14:21:48 <AnMaster> I think it will remember branch location
14:21:57 <AnMaster> bzr pull --remember lp:cfunge/trunk
14:21:59 <ehird> ~/cfunge$ bzr pull
14:22:01 <ehird> Using saved parent location: http://bazaar.launchpad.net/~anmaster/cfunge/main/
14:22:03 <ehird> bzr: ERROR: Not a branch: "http://bazaar.launchpad.net/~anmaster/cfunge/main/".
14:22:09 <ehird> Doing what you said.
14:22:13 <ais523> that's the annoying thing about darcs; it isn't production-ready yet, and I fear it never will be
14:22:18 <ais523> but it is /almost/ good enough...
14:22:26 <AnMaster> because that is my fault when messing with the lp branch after you branched
14:22:37 <ehird> ais523: I've mainly come to appreciate its UI, and chunks are oh-so-good
14:22:38 <AnMaster> bzr pull --remember lp:cfunge/trunk
14:22:47 <ehird> ais523: Now if only it had the internal architecture of git
14:22:57 <ehird> AnMaster: that's what I did; merging now
14:23:25 <ehird> I'll test this now.
14:23:43 <AnMaster> well does ncurses work now? you may need to delete the results from cached checks
14:23:58 <ehird> I'm totally re-cmaking.
14:24:12 <AnMaster> oh and I expect you to sign your own commits with gpg right? ;P
14:24:58 <ehird> AnMaster: But how can you trust my key? Coming within any significant radius of me is dangerous!
14:26:41 <ehird> NCRS includes term.h
14:27:34 <ehird> /usr/include, and yet ncurses is in /lib.
14:27:39 <ehird> But then /usr/lib = /lib :-P
14:28:55 <ehird> no revisions to pull
14:29:53 <AnMaster> ehird, oh sorry, I think launchpad has a cache delay
14:30:09 <AnMaster> ehird, try again in a few minutes
14:30:54 <ehird> i mean, github doesn't have any caches or delays or anything, and I'm sure launchpad isn't much more popular
14:30:57 <ehird> maybe bzr just sucks a lot :P
14:31:08 <ehird> http://en.wikipedia.org/wiki/StorageTek_tape_formats
14:31:17 <ehird> A terabyte tape on one reel. Holy fuck!
14:31:47 <ehird> It costs $37,000 apparently.
14:32:09 <ehird> AnMaster: still not through
14:33:36 <AnMaster> <ehird> 62s load time :P <-- that is quite a bit. What about speed once it is loaded?
14:34:29 <ehird> AnMaster: are you sure you pushed it?
14:34:54 <AnMaster> ehird, yep. But indeed the delay is longer than usual
14:35:14 <AnMaster> ehird, and I just checked with the http url myself, I see the change there now, sure it isn't some isp cache?
14:36:26 <AnMaster> ehird, I guess isp cache, wait a few more minutes?
14:36:32 <ehird> my isp doesn't cache
14:39:06 <AnMaster> ehird, and then pastebin mycology output
14:39:24 <AnMaster> oh as well as testing if that ncrsterm test program works
14:39:55 <ehird> "The reason I ask is for readability reasons I'd prefer long names" // god, I hate this reasoning
14:40:29 <ehird> directories(), or dirs() if the surrounding code handles directories a lot, is so, so superior to GetDirectoryList() or whatever
14:41:18 <ehird> AnMaster: you should default USE_64BIT to off for 32-bit machines
14:41:56 <ehird> because a 32-bit funge should use its native, fast integer type?
14:42:05 <AnMaster> <ehird> "The reason I ask is for readability reasons I'd prefer long names" // god, I hate this reasoning <-- where is that from
14:42:15 <ehird> "I work for Microsoft as a developer, and worked on Vista and Windows 7. AMA."
14:42:28 <ehird> the guy who made me remove a link to pirate windows 7 with his ":-("
14:42:44 <AnMaster> ehird, 64 bit is a good default to make funge programs not assume that everything is 32-bit
14:42:48 <ehird> AnMaster: guess what
14:42:51 <ehird> TERM doesn't compile cleanly
14:42:59 <ehird> also, that's a good implementor's default
14:43:06 <ehird> not a good user's default; after all, you claim cfunge is fast
14:43:16 <ehird> invalid lvalue in assignment at line 172
14:43:19 <AnMaster> ehird, hm even 64-bit one beats ccbi iirc
14:43:43 <ehird> All that microoptimization is going to waste
14:43:45 <AnMaster> what the hell is cur_term for you then
14:44:33 <ehird> cpp gets it wr ong sometimes
14:44:56 <AnMaster> extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
14:45:30 <ehird> perhaps you should just remove that NULL assignment
14:45:32 <ehird> it isn't needed is it?
14:45:42 <AnMaster> ehird, it will break other stuff badly on linux
14:45:49 <AnMaster> like, mycology's TERM and NCRS test
14:45:56 <AnMaster> ehird, because it results in segfault
14:46:12 <AnMaster> ehird, NCRS and TERM interacts badly unless you take some weird steps
14:46:14 -!- adam_d has joined.
14:46:16 <ehird> The del_curterm routine frees the space pointed to by oterm and makes
14:46:18 <ehird> it available for further use. If oterm is the same as cur_term, refer-
14:46:20 <ehird> ences to any of the terminfo boolean, numeric, and string variables
14:46:21 <ehird> thereafter may refer to invalid memory locations until another se-
14:46:22 <ehird> tupterm has been called.
14:46:25 <ehird> AnMaster: seems like setting it to NULL doesn't help
14:46:30 <ehird> officially, it can still be random memory
14:46:41 <AnMaster> ehird, well yes it helps, because that makes other stuff re-initialise it
14:46:56 <AnMaster> ehird, also, the cur_term itself is a pointer.
14:47:10 <ehird> Cite where POSIX requires cur_term to be an lvalue
14:47:12 <AnMaster> issue is, if it isn't NULL, then ncurses thinks it is valid
14:48:03 <AnMaster> ehird, no idea if it does. I used man pages for this stuff I think
14:48:47 <ehird> Welp, setting it to NULL isn't an option and obviously a conditional hack isn't preferable
14:48:51 <ehird> Are you sure it breaks if you remove that line?
14:49:00 <AnMaster> ehird, thing is, find another solution that works when del_curterm() doesn't set cur_term to NULL, and when ncurses itself only re-initialises it if it is NULL
14:49:22 <AnMaster> ehird, also, yes, but let me double check it
14:49:23 <ehird> Force re-initialization
14:50:43 <ehird> AnMaster: maintain local state, and if that local state says need reinit, do so
14:50:45 <AnMaster> ehird, yep it does break. as for forcing that...
14:51:09 <AnMaster> ehird, it isn't that easy. because the state that gets messed up is inside ncurses itself.
14:51:25 <ehird> Sounds like ncurses is broken
14:51:43 <ehird> Doesn't it have a function for this sort of stuff
14:52:29 <AnMaster> ehird, well alternative is to not delete the term at all, and get a ~2 kb memory leak every time a NCRS function is called
14:52:55 <ehird> Evil? Yes. Might work? Youbetcha.
14:53:40 <AnMaster> ehird, that will leave it returning a broken pointer which will also result in the same issue. Plus that cur_term is here a struct containing pointers, so there will be more mem leak
14:53:56 <AnMaster> ehird, does removing that line work for you though?
14:54:01 <ehird> ncurses must have a dowhatyoudoifitisnull()
14:54:16 <ehird> I want to avoid that
14:54:35 <Deewiant> You're not supposed to mix ncurses and lower-level stuff
14:54:50 <Deewiant> It's understandable that it doesn't always work
14:54:58 <AnMaster> Deewiant, indeed, so I would recommend not testing TERM and NCRS in the same mycology test
14:55:16 <Deewiant> AnMaster: They work for me on both Linux and Windows
14:55:50 <Deewiant> (Without any cur_term hackery)
14:56:02 <AnMaster> Deewiant, and it didn't for me.
14:56:38 <Deewiant> I don't think you've tried the CCBI2 impl
14:56:39 <AnMaster> Deewiant, TERM followed by NCRS as in mycoterm
14:57:45 <ehird> why does cfunge do the hacks?
14:58:05 <AnMaster> ... because otherwise it segfaults at mycoterm.b98
14:58:33 -!- adam_d_ has joined.
14:58:39 <AnMaster> ehird, yep that is what I did, with cur_term
14:58:47 <ehird> No, you hacked around it
14:59:05 <AnMaster> ehird, there is no fix afaik. As Deewiant said:
14:59:07 <AnMaster> <Deewiant> You're not supposed to mix ncurses and lower-level stuff
14:59:07 <AnMaster> <Deewiant> It's understandable that it doesn't always work
14:59:24 <ehird> How does ccbi2 do it
14:59:45 <Deewiant> setupterm(null, fileno(stdout), &err);
15:00:35 <AnMaster> Deewiant, when do you do that?
15:00:57 <Deewiant> First two lines on load, second two lines on unload.
15:02:11 <AnMaster> Deewiant, that doesn't make sense, what if TERM is loaded twice?
15:02:33 <Deewiant> Of course it's not done if it's already loaded.
15:02:34 <AnMaster> or loaded, and then copied around with FING or such
15:02:46 <AnMaster> Deewiant, so what "unload" is that
15:03:00 <Deewiant> "No more TERM instructions available"
15:03:46 <AnMaster> Deewiant, how do you know that? I have no facility for tracking that. I do the relevant commands at exit if TERM was ever initialised
15:04:05 <Deewiant> I haven't fully implemented it myself yet
15:04:38 <Deewiant> Currently it's just done if TERM is unloaded with ), which is obviously error-prone
15:05:06 <AnMaster> Deewiant, ehird: anyway I have to do some stuff before the shops close, going out for maybe half an hour. cya.
15:05:58 <ehird> Eh, I have +ncurses now
15:06:01 <ehird> Let's try mycology
15:06:45 <ehird> AnMaster: incomplete test just clears the screen, I guess that's correct
15:07:26 <ehird> "Windows Firewall has blocked some features of cfunge on all public and private networks."
15:07:31 <AnMaster> ok, now I really have to leave. I'll read what you said when I get back. At most half an hour. Probably more like 20 minutes
15:07:55 <Deewiant> ehird: I guess it doesn't like it opening a socket and then connecting to it itself :-P
15:08:09 <ehird> It wants me to grant it permission to talk on the local network :P
15:08:30 <ehird> Anyway, all GOOD or UNDEF so far
15:08:42 <ehird> That the system's path separator is /
15:08:51 <ehird> That the command-line arguments were: [ "../mycology/mycology.b98" ]
15:09:23 <ehird> Don't say "LOL C:", that's a translation to /cygdrive/c
15:09:30 <ehird> That the environment variables are: [all correct]
15:09:41 <ehird> BAD: opening 'mycorand.bf' with i failed
15:12:34 <ehird> Deewiant: Seems to have worked thist ime
15:13:21 <ehird> Mycology takes ~0.33s total.
15:13:35 <ehird> 100x worse than on Linux :P
15:14:11 <Deewiant> Most of that time will be spent spawning the two PERL processes
15:14:35 <ehird> Now mycouser and mycoterm.
15:14:44 <ehird> Deewiant: but hello world takes like 0.1s
15:14:51 <ehird> I guess it counts the spawning of cfunge itself
15:16:12 <ehird> Deewiant: mycoterm is working, except I didn't get a beep. Then again, I have no audio drivers installed.
15:16:34 <fungot> http://git.zem.fi/fungot
15:16:55 -!- adam_d has quit (Read error: 110 (Connection timed out)).
15:17:30 <ehird> fungot on cfunge on windows :-P
15:17:32 <fungot> ehird: and you can copy-paste out of it.
15:17:54 <ehird> The wonders never cease.
15:18:06 <Deewiant> Also, Cygwin counts only as half of "on Windows" :-P
15:18:33 <ehird> Eh, it should be quite easy to run on plain Windows.
15:18:58 <Deewiant> Lots of POSIX assumptions in that code
15:18:58 <ehird> You'd have to use something other than mmap(), replace the regexp library, and replace the PERL forking with a Windows process spawn.
15:19:07 <ehird> Other than that it'd just be a bunch of minor incompatibilities
15:19:18 <ehird> Deewiant: You can get ncurses for windows, no?
15:19:27 <ehird> Also, Windows has environment variables
15:19:37 <ehird> Shouldn't require much changing
15:19:59 <Deewiant> Or I guess the term.h terminfo stuff is provided by curses these days
15:20:18 <Deewiant> But it's not provided by PDCurses :-P
15:20:35 <ehird> that's just one fingerprint, though
15:20:39 <ehird> the bulk of the code is just algorithmic C
15:21:09 <ehird> but really, I'd just use ccbi2
15:21:28 <ehird> this was almost as hard as setting up D :-P
15:21:58 <ehird> LDC is available for Windows
15:22:03 <Deewiant> And it requires exceptions, which LDC doesn't provide.
15:22:16 <ehird> What do you use it with? GDC?
15:22:36 <Deewiant> For the moment, I don't use it on Windows. :-P
15:22:36 <ehird> You don't compile it? :P
15:22:48 <ehird> Oh, you mean it doesn't provide it ON WINDOWS.
15:23:41 <Deewiant> It does provide exceptions on non-Windows, or at least Linux.
15:24:11 <ehird> Sigh, I'm 0.0.3 versions behin on git, and yet I can't seem to clone fungot's repository.
15:24:12 <fungot> ehird: though scheme snakes don't have heads and tails. they have no parents ( awwww)
15:24:21 <ehird> You make me sad, fungot.
15:24:21 <fungot> ehird: if i could design one... but ( x y z
15:24:33 <ehird> You don't like the parentheses in Scheme, fungot?
15:24:53 <ehird> Deewiant: does git clone http://git.zem.fi/fungot.git work for you?
15:26:14 <Deewiant> fatal: http://git.zem.fi/fungot.git/info/refs not found
15:26:14 <fungot> Deewiant: ok. even better, seed it with the quotes, hm ok, well, with fnord comments for obscure parts. then an automatic doc generator will write the software in question
15:26:20 <Deewiant> git version 1.6.0.2.1172.ga5ed0 on Windows
15:26:27 <ehird> same for me, basically
15:26:36 <Deewiant> I like using fnord comments for obscure parts
15:26:59 <ehird> I like how you write the comments, and then the automatic DOC generator writes the software from it
15:28:58 * ehird gives cfunge a blanket loophole through the firewall
15:29:20 <ehird> Oh, it's already there
15:30:06 <ehird> Well, cfunge is using up half my CPU even though I've given it full access to THE INTERWEBS
15:30:45 <ehird> Maybe I broke it by changing the command prefix.
15:30:58 <Deewiant> Windows-git doesn't have colour :-/
15:31:41 <AnMaster> ehird, so where are the patches
15:31:53 <ehird> AnMaster: Well, I was going to fix the warnings first.
15:32:10 <AnMaster> ehird, three warnings happen on *nix too
15:32:33 <ehird> Well, fungot is continuously using 50% of my CPU.
15:32:33 <fungot> ehird: of course that's not something i want to make sure that it's me and not the number of
15:32:48 <ehird> I guess cygwin is interacting badly with cfunge.
15:33:07 <ehird> Uh, what's the fungot command to make it say something on IRC?
15:33:08 <fungot> ehird: how does that old saw go? benchmarks are good for cardiac stuff ( and burning fat etc) and app, the last one
15:33:29 <AnMaster> ehird, fungot would be waiting on a socket most of the time
15:33:30 <fungot> AnMaster: i didn't know i scrolled down at all." :) is it the top level, or behavior of the host os.
15:33:45 <ehird> which i guess is a busyloop in cygwin or something
15:34:32 <AnMaster> try some ul at it to see if it works
15:34:53 <ais523> ehird: what network/channel is ehird-fungot running on
15:34:54 <fungot> ais523: compare lists exactly how?' you're getting an fnord error, it would've been to have been put to use. and you could possibly use char-whitespace? from r5rs? :)
15:34:57 <ehird> Forgot to use its custom prefix...
15:35:25 <ehird> ais523: give it time
15:35:27 <ehird> I'm not sure it works yet
15:36:52 <ehird> Well, fungot gets stuck after "Looking up your hostname...", I think. I bet it's unix/dos line endings.
15:36:53 <fungot> ehird: that's what those .s are.
15:36:55 <fizzie> "^raw" is the repeat-it-rawly command, unless you found it already. And of course with your prefix-char there, and the correct owner-string.
15:36:55 <ehird> Since irc uses \r\n
15:37:09 <ehird> fizzie: it's not responding to any commands, and outputs:
15:37:14 <ehird> RAW >>> NOTICE AUTH :*** Looking up your hostname... <<<
15:37:16 <ehird> before using 50% CPU
15:37:20 <ehird> it gets connected, though
15:37:53 <AnMaster> ehird, does cygwin use \r\n or \n?
15:38:05 <AnMaster> ehird, hm maybe it translates somewhere somehow?
15:38:11 <Deewiant> You can configure that in setup.exe
15:38:18 <ehird> Deewiant: Yes, but setting it the other way is bad
15:38:21 <Deewiant> IIRC it says "DO NOT DO THIS" for \r\n
15:38:24 <ehird> fizzie: Does fungot require \r\n or \n?
15:38:25 <fungot> ehird: i just mean ( in a different context.
15:38:49 <AnMaster> that one even seemed befunge related
15:39:21 <fizzie> The IRC-parsing code accepts anything. (Technically, both \r and \n are treated as message-separators, and empty messages are ignored.)
15:39:59 <ehird> CLEARLY IT IS GOVERNMENTAL CONSPIRACY OF ESQ.
15:40:19 <ehird> Anyway, anyone got anything other than fungot for me to throw this thing at?
15:40:20 <fungot> ehird: e-mails to his account fnord e-mails to the uni during high school, who cares about repl performance, you want to
15:40:25 <ehird> AnMaster: he's too braindead to conspire anything.
15:40:48 <AnMaster> ehird, hm you should still figure out why fungot fails IMO
15:40:49 <fungot> AnMaster: i rol with it. you can get? the code is fnord compared to 50+ before me. at 11k/ sec
15:41:01 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
15:41:12 <ehird> fizzie: does it require a vocab file
15:41:20 <ehird> AnMaster: but anything else in the meanwhile?
15:41:44 <fizzie> I don't think it should, although it might get confused if you say its name and it doesn't have one.
15:42:06 <fungot> ehird: i dont get some practice using these, too.)) the simplest infinite surreal. so many reasons not to use the lisppaste bot, visit http://paste.lisp.org/ new/ scheme and enter your paste.
15:42:13 <Deewiant> Hm, I guess no other interpreter provides FING so you can't trivially check whether it's cfunge or fungot
15:42:13 <fungot> Deewiant: what would make the installation easier.) ( 2 2) x) bug? when i looked at it
15:42:29 -!- ehird has set topic: the simplest infinite surreal - http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:42:29 <Deewiant> fungot: If you're going to comment at least say something useful
15:42:29 <fungot> Deewiant: this one looked like cyrillic but was certainly gibberish in that context. sorry, this is the appropriate one to call
15:42:39 <ehird> fungot perfectly sloganised us
15:42:40 <fungot> ehird: ( as well as control codes until you got arithmetic working
15:43:05 <AnMaster> ehird, you *could* try porting rc/funge to windows.
15:43:08 <ehird> "so many reasons not to use the lisppaste bot, visit http://paste.lisp.org/ new/ scheme and enter your paste." is also an amusing verbosity
15:43:14 <ehird> AnMaster: it'll probably work in cygwin
15:43:18 <Deewiant> Oh right, RC/Funge-98 will have them
15:43:26 <AnMaster> ehird, I think fungot may need a data directory or such
15:43:27 <fungot> AnMaster: you can do `which fnord echo?'
15:43:33 <ehird> AnMaster: not the last time I used it
15:43:48 <Deewiant> v1 should be fine too, up to you
15:44:05 <fizzie> If you get one RAW line, you should get more, since at that point it's already in the IRC message splitting loop, and any non-interesting-looking message should just be ignored.
15:44:28 <ehird> fizzie: That's nice. I don't.
15:44:46 <AnMaster> ehird, does gdb work under cygwin?
15:45:08 <ehird> mkdir bin; make and rc funge almost compiles
15:45:18 <ehird> need to install X shit.
15:45:52 <Deewiant> ehird: Remove WIND and some other shit from the makefile
15:46:33 <AnMaster> is there any C++ befunge98 interpreter?
15:46:34 -!- CESSMASTER has joined.
15:46:37 <ehird> But I have windows :P
15:46:40 <ehird> AnMaster: stinkhorn, jitfunge
15:46:50 <ais523> AnMaster: you could probably literally translate cfunge to C++ relatively quickly
15:47:01 <AnMaster> ais523, it uses quite a few C99-isms
15:47:12 <Deewiant> Which are all quite easily translated to C++
15:47:14 <fizzie> The IRC message parsing loop might end up trapped in a CPU-wasting cycle if the SOCK 'R' keeps returning 0 or some-such. (If it reflects, it'll fail cleanly.) Of course it could fail elsewhere, too; after that "RAW" output it goes through the whole cycle of "if-elseif-else"-chainery to test for commands.
15:47:19 <AnMaster> ais523, and some variables collide with c++ keywords and such iirc
15:47:27 <ais523> AnMaster: that's easily fixable
15:47:32 <AnMaster> Deewiant, variable length array?
15:47:41 <ais523> keyword collisions can be fixed via #define, as long as you don't use the C++ keywords with their C++ meaning too
15:47:43 <AnMaster> Deewiant, and variable length array at end of struct
15:48:16 <Deewiant> Latter is std::vector too, I guess, although I think that should work in C++ as-is
15:48:48 <AnMaster> Deewiant, anyway what about returning a struct on the stack? constructed in the return
15:49:01 <fizzie> GCC does 0-length arrays as a GNU extension probably in C++ mode too, and those are pretty identical to flexible array members.
15:49:12 <AnMaster> return (struct foo) { .x = blah, .y = whatever };
15:49:20 <AnMaster> that is, allocated on the stack
15:49:59 <Deewiant> AnMaster: That is pure syntax sugar.
15:50:02 <AnMaster> Deewiant, and &((struct foo) { .x = blah, .y = whatever }) ?
15:50:13 <AnMaster> Deewiant, still, quite a lot of that to translate
15:50:29 <ehird> s//////////////////////////////////////////////////////////////////////////////////////////////////////////
15:50:33 <ais523> 0-length arrays are rather useless when you have flexible array members
15:50:34 <AnMaster> ehird, the last one was for use in function calls
15:50:35 <ehird> SO MANY FUCKING FORWARDSLASHES, IT CAN PORT ANY CODEBASE
15:50:50 <ehird> xfunge.c:173: error: conflicting types for 'New_Window'
15:50:52 <ehird> funge.h:407: error: previous declaration of 'New_Window' was here
15:50:54 <ehird> repeat for 394857349573495 types
15:51:04 <Deewiant> ehird: You shouldn't be compiling xfunge.c at all
15:51:15 <ehird> PREFIX INT New_Window(INT x,INT y,INT wd,INT h);
15:51:20 <AnMaster> Deewiant, what about the restrict keyword?
15:51:26 <Deewiant> Well if you do, I won't stop you :-P
15:51:30 <Deewiant> AnMaster: Remove it, it's just optimization.
15:51:33 <ehird> int New_Window(INT x,INT y,INT wd,INT h)
15:51:40 <ehird> I AM MOST CONFUSED
15:51:51 <ehird> maybe PREFIX = ???
15:51:51 <AnMaster> Deewiant, isn't there some difference for const or so iirc?
15:52:06 <AnMaster> Deewiant, oh there are plenty of casts that C++ won't like iirc
15:52:08 <ehird> #define INT int32_t
15:52:11 <ehird> That should be fine
15:52:23 <ehird> PREFIX is extern if not MAIN, but main
15:52:29 * ehird defines INT as int
15:53:00 <ehird> ext/sgnl.c: In function `signalHandler':
15:53:02 <ehird> ext/sgnl.c:70: error: dereferencing pointer to incomplete type
15:53:11 <ehird> if (info != NULL) Push(vMach,info->si_pid);
15:53:21 <ehird> info is a struct siginfo *
15:53:30 <Deewiant> Seems very platform-specific there
15:53:56 <Deewiant> Or maybe not, it does seem specced.
15:53:57 -!- Asztal has joined.
15:53:58 <ehird> how can i just get an rc funge that works
15:54:00 <fizzie> <signal.h> should define it though.
15:54:07 <Deewiant> ehird: Remove the shit from the makefile.
15:54:10 <fizzie> Or at least pull in something that contains a definition.
15:54:11 <ehird> fizzie: it includes that
15:54:42 <ehird> ext/rexp.c: In function `Do_REXP':
15:54:44 <ehird> ext/rexp.c:67: error: `REG_EEND' undeclared (first use in this function)
15:54:46 <ehird> ext/rexp.c:67: error: (Each undeclared identifier is reported only once
15:54:48 <ehird> ext/rexp.c:67: error: for each function it appears in.)
15:54:49 <ehird> ext/rexp.c:71: error: `REG_ESIZE' undeclared (first use in this function)
15:54:51 <ehird> and I can't do without rexp...
15:55:28 <fungot> ehird: mobile in the moment. wheee, shiny.')
15:55:42 <ehird> will it run without it
15:55:50 <fizzie> I think fungot shouldn't crash without it, but I probably haven't tested it.
15:55:51 <fungot> fizzie: no wonder this takes two hours. afterwards i was not pleased.
15:56:05 <ehird> duuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuude
15:56:10 <AnMaster> <Deewiant> Or maybe not, it does seem specced. <-- yep
15:56:10 <fizzie> fungot: What exactly are you talking about there.
15:56:11 <fungot> fizzie: what did i do an iterative deepening minimax search with alpha-beta pruning. it's almost tragic. typical.
15:56:12 <ehird> like whooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
15:56:20 <ehird> fungot: sounds interesting
15:56:20 <fungot> ehird: i usually have used fnord
15:56:33 <ehird> so here are the facts, fungot did an iterative deepening minimax search with alpha-beta pruning
15:56:35 <fungot> ehird: it is the common lisp compiler, traditionally ( and still know a lot of php work
15:56:39 <Deewiant> Iterative deepening minimax with alpha-beta pruning > fnord
15:56:41 <ehird> it takes almost two hours, and he's unhappy with it
15:56:44 <ehird> very unhappy with it
15:56:50 <ehird> Deewiant: I hope it isn't literal
15:57:10 <ehird> POSIX says a lot of things that aren't so
15:57:45 <AnMaster> ehird, sure they are, in the same place that your ponies are from
16:00:37 <fizzie> Speaking of POSIX, my <signal.h> only pulls in the siginfo_t type if __USE_POSIX is on. Of course that normally is.
16:01:14 <AnMaster> fizzie, feature testing macros I assume
16:03:09 <ehird> ais523: yes, my computer wasn't for a second
16:03:24 <ais523> what OS are you on at the moment, by the way?
16:03:25 <ehird> i may have been a bit overdramatic :P
16:03:47 <ais523> is it dual-boot, or the only OS on there?
16:03:52 <ehird> AnMaster: a console window kept trying to open up, claiming to be xwin, and warping the pointer
16:03:54 <ehird> then closing immediately
16:03:56 <ehird> again and again and again
16:04:03 <ehird> ais523: dual-boot; the other OS is OS X
16:05:30 <Deewiant> Meddle not in the affairs of X-Windows, for they are subtle and quick to anger.
16:05:53 <ehird> YARR I BE CYGWIN/X
16:06:05 <ehird> I GON DUN SHIT ALL O'ER YER PEECEE
16:06:21 <ehird> ...which is why it's being uninstalled as we speak.
16:07:05 <ais523> do you know of /any/ Windows software which manages to stay reasonably confined to where it ought to be, and uninstalls correctly?
16:07:32 <ehird> Google Chrome, PuTTY, Sumatra PDF, Foxit Reader, um... most things
16:07:37 <ais523> it isn't hard to make, so I assume that there are marketing reasons not to
16:07:44 <ehird> just use the system-wide add/remove thingy and it works fine
16:07:52 <ehird> although generally there's some empty registry keys left, who cares
16:07:57 <ais523> hmm... allegedly Chrome has some sort of obnoxious auto-auto-update
16:08:38 <ehird> ais523: it installs updates automatically, I think
16:08:41 <ehird> and patches the app in real time
16:08:50 <ehird> the alternative is it bugging you, and you clicking yes blanketly
16:08:52 <ehird> because you always do
16:08:54 <ehird> and it's just an annoyance
16:09:00 <ehird> so I don't think any security is lost
16:09:07 <ehird> also, you can switch to tracking the beta, etc, in a few clicks
16:09:14 <ehird> it's quite cool really
16:09:25 <ehird> Chrome's a very good browser
16:09:25 <ais523> Windows suffers from not having a consistent update mechanism
16:09:40 <ehird> I think Windows has its installing mechanism right, actually
16:09:52 <ehird> Repositories are just too big to maintain yet they'll never be big enough
16:10:02 <ehird> just as you can register a program for uninstalling
16:10:08 <ehird> you should be able to, with the same system, register it for updating
16:10:33 <ehird> just a few functions you define and you can look for the updates and install them however you want
16:10:42 <ehird> and then windows can coordinate updates of all the software you have
16:12:11 <ehird> anyway, cygwin sucks
16:12:32 <AnMaster> ehird, fixed those warnings yet?
16:12:35 <ehird> I guess I'll fix all the warnings in cfunge, and
16:12:43 <ehird> AnMaster: you know there's one for almost every file right?
16:13:29 <AnMaster> ehird, nop, I wasn't aware, oh and there are three you shouldn't spent time on:
16:13:35 <AnMaster> /home/arvid/src/cfunge/trunk/lib/genx/genx.c: In function ‘storePrefix’:
16:13:35 <AnMaster> /home/arvid/src/cfunge/trunk/lib/genx/genx.c:386: warning: cast discards qualifiers from pointer target type
16:13:35 <AnMaster> /home/arvid/src/cfunge/trunk/lib/genx/genx.c: In function ‘declareAttribute’:
16:13:35 <AnMaster> /home/arvid/src/cfunge/trunk/lib/genx/genx.c:978: warning: cast discards qualifiers from pointer target type
16:13:36 <AnMaster> /home/arvid/src/cfunge/trunk/src/input.c: In function ‘input_getint’:
16:13:39 <AnMaster> /home/arvid/src/cfunge/trunk/src/input.c:104: warning: cannot optimize possibly infinite loops
16:14:04 <ais523> "/home/arvid/src/cfunge/trunk/src/input.c:104: warning: cannot optimize possibly infinite loops"
16:14:11 <ais523> I misread that as "cannot possibly optimize infinite loops"
16:14:18 <AnMaster> ais523, same first time I saw it
16:14:58 <AnMaster> oh great, a C++ app that only fail if compiled without -g at -O2 or higher
16:14:59 <Deewiant> http://www.info-pack.com/csv2html/ ...
16:15:08 <AnMaster> and it is very slow with less than -O2
16:15:14 <ehird> Deewiant: only $49.95
16:15:19 <AnMaster> it is fast until the point of failure at -O2 or higher
16:15:26 <AnMaster> and it is a game, so speed matters
16:15:27 <Deewiant> ehird: Represents great value!
16:15:37 <ehird> AnMaster: should i bother fixing warnings in libs?
16:15:45 <AnMaster> ehird, depends on what warnings
16:15:58 <AnMaster> ehird, also be aware of that those file may have different code formatting.
16:16:09 <AnMaster> if I wanted to keep it easy to update
16:16:18 <ehird> /home/Elliott/cfunge/lib/genx/genx.c:358: warning: implicit declaration of function `snprintf'
16:16:29 <ehird> /home/Elliott/cfunge/lib/genx/genx.c:358: warning: nested extern declaration of `snprintf'
16:16:39 <ehird> <internal>:0: warning: redundant redeclaration of 'snprintf'
16:16:45 <ehird> /home/Elliott/cfunge/lib/genx/genx.c:386: warning: cast discards qualifiers from pointer target type
16:16:54 <AnMaster> ehird, needs fixing, but I have no idea why the snprintf happens
16:17:02 <ais523> an error in <internal> is pretty weird
16:17:19 <AnMaster> ehird, because it is a known false positive
16:17:29 <ais523> also, lib errors are useful to know about simply because they sometimes imply you're building it wrong
16:17:39 <AnMaster> and there is no sane way to fix it without rewriting genx completely
16:17:55 <ehird> Elliott@Elliott-PC ~/cfunge/build
16:17:57 <ehird> $ cpp | grep snprintf
16:17:58 <ehird> #include <stdio.h>
16:18:00 <ehird> int __attribute__((__cdecl__)) snprintf (char *, size_t, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
16:18:18 <ehird> so many implicit declarations, does it matter?
16:18:24 <AnMaster> Deewiant, well yes, issue is both const char* and char* goes into the same place, but it keeps track of const-ness in another way
16:18:40 <ehird> i mean, the errors make no sense
16:18:44 <AnMaster> ehird, yep it will if you aren't on 32-bit at least
16:19:01 <AnMaster> ehird, check if they are protected by some #ifdef that may fail in the header
16:19:09 <AnMaster> feature testing macro not working
16:19:27 <AnMaster> add_definitions(-D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600)
16:20:20 -!- Gracenotes has joined.
16:20:42 <ehird> AnMaster: should I give you what I have so far, btw?
16:21:01 <AnMaster> ehird, sure. push the branch somewhere, that is easiest.
16:21:20 <AnMaster> ehird, do you have any plain http server still?
16:22:06 <ehird> Elliott@Elliott-PC ~/cfunge/build
16:22:08 <ehird> $ bzr send --mail-to anmaster@tele2.se
16:22:10 <ehird> Using saved parent location "http://bazaar.launchpad.net/~anmaster/cfunge/trunk/" to determine what changes to submit.
16:22:11 <ehird> Bundling 11 revision(s).
16:22:13 <ehird> 4 [main] python 2140 C:\cygwin\bin\python.exe: *** fatal error - unable to remap C:\cygwin\bin\cygbz2-1.dll to same address as parent(0x750000) != 0x7F0000
16:22:14 <ehird> 10 [main] python 3820 fork: child 2140 - died waiting for dll loading, errno 11
16:22:16 <ehird> bzr: ERROR: [Errno 11] Resource temporarily unavailable
16:22:51 <ehird> AnMaster: what base revision?
16:23:10 <AnMaster> ehird, I don't know when you branched off mine, and since you merged some stuff from mine
16:23:37 <ehird> bundling 0 revisions
16:24:08 <AnMaster> .. for range there, and no end given, so that is head
16:24:13 <ehird> Using saved submit location "781" to determine what changes to submit.
16:24:15 <ehird> bzr: ERROR: Not a branch: "/home/Elliott/cfunge/build/781/".
16:24:17 <ehird> WHY DO YOU REMEMBER MY MISTAKES
16:25:02 <AnMaster> ehird, because you used --remember ?
16:25:07 <AnMaster> here it doesn't unless you use that
16:25:41 <AnMaster> ehird, well make such a file then, just tell it somewhere else
16:27:04 <ehird> i popped o a keycap and it ell down below
16:27:16 <AnMaster> ehird, why did you pop one off?
16:27:32 <Deewiant> Pop a less useful one off and put it on the f
16:27:40 <ehird> AnMaster: i have no idea.
16:28:16 <AnMaster> I mean, it has to be on the floor
16:28:31 <ehird> i produced an r by pressing down a thing on its dome
16:28:32 <fizzie> There was one keycap I vacuumed off something like four times, for some reason never remembering not to try it again and again.
16:28:41 <ehird> i am ailure personiied
16:29:34 <ehird> no sign o lost key
16:29:49 <AnMaster> ehird, check if it fell into pockets or such
16:29:49 <fizzie> The keycap thieves strike agian.
16:29:58 <AnMaster> ehird, sure it isn't on the floor?
16:30:42 <fizzie> Maybe you ate it and didn't notice?
16:31:03 <ehird> i was saving it or lunch
16:31:43 -!- kar8nga has joined.
16:32:39 <AnMaster> ehird, any luck with that send?
16:33:20 <ehird> kind o ucking priority is getting my key back
16:33:41 <ehird> fffffffffffffffffffffffffffffffff
16:33:45 <ehird> my small inger is small
16:33:58 <ehird> ffffffffffffffffinger
16:34:44 <ehird> fffffffffffffffffffffffffffff no just my inger.
16:35:15 <ehird> inger hard tog eto ut
16:35:40 <ehird> finger hard to get out fudge foodle fffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
16:38:04 <ehird> that i could eat a sound
16:39:27 <ehird> anyway, make bzr forget
16:41:07 <AnMaster> ehird, some file in ~/.bazaar/ I guess
16:41:31 <ehird> Elliott@Elliott-PC ~/cfunge/build
16:41:33 <ehird> $ bzr send -rtag:0.9.0.. .. -o changes
16:41:35 <ehird> Bundling 0 revision(s).
16:42:49 <ehird> AnMaster: anyway, i have no http server
16:43:10 <AnMaster> ehird, let me look at send docs
16:44:47 <AnMaster> works for me, except not like that
16:45:04 <AnMaster> hm how do you set branch to compare tpo
16:45:26 <ehird> bzr: ERROR: no such option: -t
16:45:44 <AnMaster> bzr send -o testing_send lp:cfunge/trunk
16:54:32 * ehird takes a break to try and figure out how to do the gui for his pdf client
16:55:37 <AnMaster> glibc is rebuilding, wait a few minutes
16:55:46 <ehird> you crazy source distro people
16:56:23 <ehird> AnMaster: that send doesn't include the revision history
16:59:07 <AnMaster> ehird, you could push it to launchpad ;P
16:59:26 <ehird> how do i make an account
16:59:28 <AnMaster> ehird, also I think the mail is cut off
16:59:46 <AnMaster> because it ends in the middle of the bundle itself
17:00:01 <AnMaster> there is a diff first, then the bundle
17:00:27 <AnMaster> and the bundle is two lines, way to short
17:00:37 <ehird> Way to short circuit.
17:00:42 <ehird> Launchpad account.
17:03:39 <AnMaster> ehird, go to the main website, click in upper right corner login, then there is a create account on the same page
17:04:01 <ehird> Follow the URL in the confirmation e-mail that Launchpad sends and you're done!
17:04:07 <ehird> i know they're going to pick a password for me.
17:04:11 <ehird> i hate it when websites do that.
17:04:27 <AnMaster> ehird, you need to paste an ssh key into your account to make pushing work
17:04:29 <ehird> The email address penguinofthegods@gmail.com is already registered in the Launchpad Login Service (used by the Ubuntu shop and other OpenID sites). Please use the same email and password to log into Launchpad.
17:04:35 <ehird> fuck off, i don't remember that account.
17:04:47 <AnMaster> ehird, the email is the account btw
17:04:52 <ehird> launchpad is still hypocritical
17:05:01 <ehird> suure, you can use it as an openid and base your entire online identity around it
17:05:05 <ehird> but LOG IN with one of those things?
17:05:19 <AnMaster> ehird, iirc it is a planned feature
17:05:24 <ehird> AnMaster: great, so i'm the tired joke penguinofthegods
17:05:27 <ehird> instead of, you know, ehird
17:05:34 <ehird> this just gets better and better
17:05:44 <AnMaster> ehird, wait, you own that email?
17:06:26 <ehird> the background is almost like a joke if you don't think about it too much
17:07:53 <AnMaster> then you tell bzr about your login:
17:08:01 <AnMaster> bzr launchpad-login <user name>
17:08:11 <AnMaster> ehird, err a sec, I need to change irc client
17:10:10 <AnMaster> yep, a large bundle at the end
17:10:17 <ehird> guess that contains revisions.
17:11:37 <AnMaster> merged into a branch, have to review it. a bit short on time right now, but at the very least I should have time tomorrow, but probably later this evening
17:12:07 <AnMaster> ehird, you didn't clean up getaddrinfo it seems, I guess I'll have to do it myself
17:12:19 <ehird> it's work in progrses
17:12:22 <ehird> warnings are still there too
17:12:27 <ehird> i was just sending you what i have so far
17:12:34 <ehird> there's a reason it's on a branch
17:25:35 -!- Azstal has joined.
17:33:31 <ehird> Azstal: you sent me off on a wild goose chase WinForming until I realized you need to use DLLs to interface .NET with native code :(
17:33:38 <ehird> (I want one executable)
17:34:08 <ais523> nothing really wrong with DLLs, especially if you don't try to share them
17:34:18 <ais523> towards the end of my Windows days, I used them to cut down on recompile times
17:35:02 <ehird> ais523: yes, but I'm a minimalist; I much prefer sanepdf.exe to sanepdfnative.dll and sanepdf.exe
17:35:20 <ehird> or rather, I don't want to cut down on files; I just don't want to separate files that will never be used separately
17:35:25 <ehird> I wonder if you can pack a .dll with an .exe
17:35:35 <ehird> and if .NET will let you interface with that, somehow
17:36:04 <ais523> ehird: my guess is no without recompiling .net
17:36:12 <ais523> and Microsoft won't let you do that
17:36:19 <ehird> windows has in-file resources, which have file paths, no?
17:36:24 <ehird> it's how applications embed icons and stuff
17:36:29 <ais523> ehird: they have resources, but not paths
17:36:29 <ehird> I bet you could use that as the path to a dll
17:36:38 -!- oerjan has joined.
17:36:38 <ais523> there's a command that blits a resource to memory
17:36:43 <ais523> but it's all you need, really
17:37:11 <ehird> WinForms does seem like the best windows gui platform though
17:37:22 <ais523> actually, using a resource via the win32 API was really annoying
17:37:40 <ais523> you had to get a pointer to the thing that held the resources
17:37:42 <oerjan> actually there may not be a unique simplest one
17:37:44 <ais523> then get a pointer to the resource itself
17:38:03 <ais523> and then you had to unlock again when you were done
17:38:06 <oerjan> since the simplest surreal between any two infinite ones may not be infinite
17:38:08 <ais523> oh, and then free the memory
17:38:17 <ais523> I missed the allocate-the-memory step there
17:38:45 <ehird> Azstal: do you know anything about whether you can use .NET to bind to a .dll that you stuffed in the .exe, WINDOWS LACKEY?!
17:38:54 <ehird> oerjan: it's a fungot quote, btw
17:38:55 <fungot> ehird: you mean ( define p ( make-point 3 5) instead of ( x,y)
17:39:09 <ehird> also, I interpreted it as being the simplest [languages] that are infinitely surreal
17:39:17 <ehird> except we kinda cover more than languages nowadays
17:39:22 <oerjan> ehird: yeah i found it
17:39:40 <oerjan> although intuitively omega is simplest somehow...
17:40:14 <fungot> AnMaster: he's the person i work with that
17:40:29 <ehird> fungot: your IRC style has always been the best. all the rest suck.
17:40:30 <fungot> ehird: i guess, i'll put some songs on p2p networks for a song with " love" in the first argument may be recurring from some time i added a check for 2.56 on the way
17:40:38 <oerjan> fungot: so you think you can work me, heh?
17:40:39 <fungot> oerjan: hey gregor btw, it's not
17:41:09 <ais523> it's inspired discussion, after all
17:41:38 <ais523> come to think of it, are there any surreal esolangs?
17:41:42 <ais523> TURKEY BOMB comes to mind
17:41:47 <ais523> SARTRE almost fits, but not really
17:42:19 <ehird> the persistence of memory
17:42:30 -!- Asztal has quit (Read error: 110 (Connection timed out)).
17:42:35 <ehird> execution is segmented into ticks, which are unpredictable
17:42:40 <ehird> also, you forget variables
17:43:53 <oerjan> ais523: Magritte, a surreality tarpit
17:44:24 <Azstal> ehird: You can interface with native code via P/Invoke, if it's already in a DLL
17:44:53 <ehird> Azstal: Yes, I know that much
17:45:00 <Azstal> ehird: if it's not in a DLL, I think you can either use C++/CLI and ILMerge or something less C++y
17:45:09 <ehird> Azstal: What if I want to pack the DLL into my .NET .exe?
17:45:16 <ehird> And access that SOMEHOW.
17:45:51 <Azstal> System.Data.SQLite does it.
17:45:58 <Azstal> I don't know how, it's kind of voodoo, I think.
17:46:04 <ehird> I don't like voodoo.
17:46:17 <ehird> It's surprising, actually, that the only "official" C++ option is MFC.
17:46:29 <ehird> I mean, fucking MFC. It's 2009. Like every single Windows app is written in C++.
17:46:34 <ehird> And they want you to use MFC.
17:46:48 <ehird> MFC is possibly the only API worse than Win32
17:47:10 <Azstal> MFC is bad. I haven't used ATL or WTL, but I think it's better.
17:47:38 <ehird> My current considerations at the moment are WTL, Win32, WinForms.
17:47:40 <oerjan> AnMaster: darn MIB were earlier than i thought ;D
17:48:06 <ehird> Actually if Win32 has a graphical GUI designer I might consider it.
17:48:07 <AnMaster> oerjan, "earlier than i thought"?
17:48:07 <oerjan> er, i mean, there is no such thing as MIB
17:48:10 <ehird> I guess Visual Studio has that?
17:48:22 <AnMaster> oerjan, was there something on the forum predicting this or what?
17:48:26 <oerjan> AnMaster: er, older, maybe
17:48:37 <Azstal> ehird: It has a dialog designer, but not a proper GUI designer
17:48:44 <Deewiant> Azstal: Do you feel like fixing a bug in Stinkhorn?
17:48:53 <Azstal> Hmm, actually, it probably has an MFC designer
17:49:05 <ehird> Azstal: Erm, you mean Visual Studio in general?
17:49:05 <oerjan> AnMaster: good grief. i mean i did not think MIB existed back in the 17th century.
17:49:17 <ehird> Azstal: What do people use for WinForms then?
17:49:30 <ehird> Azstal: This is all very surprising to me. Everything seems to suck. But this is the most popular platform.
17:49:39 <Azstal> Azstal: I mean for Win32, it has a dialog designer but no real GUI designer. For WinForms, there's a `proper' GUI designer
17:49:41 <ehird> I mean, everything really, really sucks in unfixable ways. What's up with that
17:49:51 <ehird> ehird: Let's talk to myself
17:49:57 <ehird> ehird: Sure thing!
17:50:09 <ehird> Azstal: *``proper'' btw
17:50:13 <ehird> get your FQs right
17:50:32 <ehird> also, rheet <- i have no idea what this is meant to be other than an injoke but it amuses me
17:50:35 <Azstal> ehird: The WinForms GUI designer uses absolute positioning for most placement of controls
17:50:53 <Deewiant> Azstal: A program which should run quite quickly infinite-loops; it makes a diagonal line of z pointing upward in negative space and starts moving on it with 101-x
17:51:04 <ehird> rheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
17:51:06 <ehird> eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeet
17:51:10 <ehird> no multiline support
17:51:21 <ehird> Azstal: absolute positioning?
17:51:23 <ehird> are you fucking serious
17:51:27 <Azstal> Deewiant: Oh no, not a funge-space bug I hope :(
17:51:33 <Deewiant> I could probably simplify it if I cared to
17:51:34 <ais523> Java-style positioning would work better
17:51:36 <ehird> so uh, what the hell am I meant to use? seriously.
17:51:54 -!- coppro has joined.
17:52:06 <AnMaster> <Azstal> Azstal: I mean for Win32, it has a dialog designer but no real GUI designer. For WinForms, there's a `proper' GUI designer <-- like highlighting yourself?
17:52:08 <Azstal> ehird: Only in WinForms 2.0 did it add a TableLayoutPanel and FlowLayoutPanel and SplitPanel, and they're really awkward to use in the designer
17:52:14 <ehird> i want to make a snappy, simple, native app without too much cruft. on windows. and i want to use native code for at least some parts. and a non-sucky GUI designer would be nice.
17:52:19 <ehird> is this seriously impossible on windows?
17:52:50 <ehird> AnMaster: it's also impossible on linux, so shush you :P
17:52:56 <Deewiant> Azstal: I stuck it on http://funge.pastebin.com/f7061c036 if you're interested
17:53:00 <ais523> you know, I really like Java's standard libraries
17:53:04 <ehird> (not on OS X. well, snappy is debatable)
17:53:07 <AnMaster> ehird, I was responding to "old"
17:53:11 <ais523> pity the lang itself is so bad
17:53:12 <ehird> ais523: not I, they optimise for the uncommon case
17:53:22 <AnMaster> ehird, I haven't yet commented on that windows rant
17:53:25 <ehird> at the expense of the common case
17:53:26 <ais523> ehird: what do you mean by "optimise" here? efficiency? or something else?
17:53:46 <ais523> ehird: I still don't know what you mean...
17:54:04 <ehird> it makes it just as easy to use uncommon things as common things
17:54:12 <ehird> unfortunately, this means that using common things is verbose and annoying
17:54:26 <ehird> and you start wishing for a standard library on top of these low-level primitives
17:56:28 <Deewiant> ais523: He means "convenience", I think
17:56:48 <ais523> well, I expect Java to be inconvenient anyway
17:56:58 <ais523> the library's problems pale in comparison to the lang's
17:57:05 <ehird> that isn't an argument in favour of its standard library
17:58:00 <ais523> besides, they have adapter classes, etc, to make it easier to use
17:58:09 <ehird> "the library is inconvenient to use" "I expect Java to be inconvenient"
17:58:13 <ehird> therefore the library isn't inconvenient
17:58:52 <ehird> ais523: i want a vector list: a one-dimensional, automatically-resizing, random-access vector that I can sort, access, shuffle, remove from, search, ...
17:59:06 <ehird> c'mon, show me some example code using that
17:59:08 <ais523> that exists nowadays, I think
17:59:12 <ehird> and i'll laugh at its hideous verbosity
17:59:17 <ehird> ais523: I'm pretty sure ArrayList is it, or close
17:59:22 <ehird> "nowadays"?!?!?!?!?!
17:59:25 <ais523> and ArrayList is an /implementatino/ of list
17:59:25 <ehird> this shit is fundamental
17:59:37 <ais523> all the list types do that
17:59:45 <ehird> no. LinkedList isn't random acecss.
17:59:54 <ais523> it simulates random access if you try, IIRC
18:00:17 <ais523> I wanted to run off a Java one-liner to test
18:00:20 <ais523> then realised that was impossilbe
18:00:21 <ehird> anyway, even detaching the APIs from the language - like so many JVM-based languages - they're still inherently verbose
18:00:32 <ehird> you can do anything in one line in java
18:00:32 <ais523> you couldn't do it in much less than 10 or 12, assuming standard whitespace conventions
18:01:00 <ehird> anyway, the main thing the java language and standard library are full of is unnecessary things
18:01:22 <ehird> the notion that their idiotic retardation of static typing will help solve bugs and not hinder productivity
18:01:39 <ais523> it actually helps productivity when you have incompetent developers
18:01:42 <ehird> - which accounts for over half of the verbosity and awkwardness in the language and library, I estimate
18:01:45 <ehird> ais523: it really doesn't
18:01:46 <ais523> which is probably the most common use-case
18:01:47 <ehird> it's an awful type system
18:02:00 <ehird> ais523: besides, incompetent developers can't produce the actual meat code
18:02:07 <ehird> sure, it helps them make more valid class skeletons
18:02:23 <ais523> hmm... combining code written by two idiots is about 10% likely to work in Java, as opposed to the more usual 1% or so
18:02:27 <ehird> also, I find the nature of a language designed for incompetent developers at the expense of competent ones abhorrent
18:03:04 <ais523> I like things like the automatically resizing window layouts, etc
18:03:18 <ehird> Swing's theory is okay
18:03:32 <ais523> swing's main issue is completely disregarding native conventions
18:03:32 <ehird> in practice it sucks, and I don't use any java applications
18:03:38 <ais523> I prefer AWT for that reason
18:03:40 <ehird> oh, you can get it to use native widgets these days
18:03:50 <ehird> native widget-alikes, at least
18:03:57 <ehird> AWT is far too abandoned to be of use in anything but applets
18:04:00 <ehird> stop talking about java
18:04:04 <ehird> nobody should use java
18:04:08 <ehird> let's talk about more interesting things
18:04:28 <ais523> ehird: put it this way: I'm fine with you defending Windows, and agree in some cases
18:04:35 <ais523> but I seem to get clobbered to oblivion when I discuss Java
18:04:45 <ehird> note: most of my windows-defending is not because i like windows
18:04:53 <ehird> i merely oppose FUD in all forms
18:05:03 <ehird> and if someone says something incorrect about windows, i'll correct them
18:05:05 <ais523> I defend Windows because I hate incorrect criticisms of it when there are so many correct ones
18:05:10 <ais523> so much the same reason as you, really
18:05:51 <ehird> the only bit of windows i'm currently enjoying is the end-user side
18:05:57 <ehird> i'm still horrified at the internals
18:06:14 <ais523> they made the command-line a lot better with Vista
18:06:21 <ehird> what, with powershell?
18:06:32 <ehird> the actual cmd.exe is more or less identical
18:06:54 <ais523> ehird: they reorganised the directory structure to make typing pathnames work better
18:07:04 <ais523> actually, much of the cmd.exe improvements came with XP
18:07:05 <ehird> that's just the FS, though
18:07:18 <ehird> C:\Users\Elliott is just far more rational than C:\Documents and Settings\Elliott
18:07:42 <ais523> it reminded me a lot of "doing the same thing as UNIX, but with different names so it isn't obvious"
18:07:56 <ehird> OS X does the same
18:08:04 <ehird> "Users" is a more humane name than "home", though
18:08:13 <ais523> ehird: what do you think of cmd.exe's tab-complete/
18:08:33 <ehird> it's not as good as unix completion
18:08:36 <Azstal> Program Files (x86) is a pain to tab to though :(
18:08:40 <ehird> if you run bash in it it's okay :-P
18:08:55 <ais523> I don't like the way it guesses when it doesn't have enough information
18:09:01 <ais523> this IRC client does that, and it's annoying
18:09:04 <ais523> it leads to mispings quite a bit
18:09:07 <ehird> ais523: tab to cycle through
18:09:11 <ais523> and you can't get a directory listing with tab tab
18:09:22 <ehird> it's more annoying
18:09:25 <ais523> even so, though, it lacks predictability
18:09:27 <ehird> ais523: incidentally, in Windows 7, WordPad and Paint both adopt the Office look and by implication don a ribbon
18:09:33 <ais523> you have to actually observe the results of your actions
18:09:36 <ehird> perhaps subconsciously just to annoy you, I like the new UI of both
18:09:39 <ais523> does the ribbon work for Paint?
18:09:46 <ais523> and how many tabs does it have?
18:09:59 <ehird> Home should be called Paint
18:10:17 <ais523> hmm... that doesn't really aid discoverability, which is the whole point of a ribbon
18:10:20 <ehird> anyway, the in-ribbon organization is good, and Home vs View is just as efficient as a menu
18:10:25 <ehird> ais523: well, you see Home by default
18:10:28 <ais523> personally I dislike ribbons because they require more clicks than a toolbar
18:10:34 <ehird> also, that's not the point
18:10:41 <ehird> toolbars aren't very usable unless you know them
18:10:45 <ehird> and they're redundant with menus
18:10:47 <ais523> they're probably better for new users, until they have practice
18:10:49 <ehird> ribbons unify toolbars and menus
18:10:55 <ais523> but they're worse for power users
18:11:02 <Azstal> Paint's works quite well, better than it does in Office, I'd say.
18:11:08 <ais523> the general principle, for me, is toolbars for power users once you know them; menus have everything, for discoverability
18:11:12 <ais523> and for rarer-used things
18:11:15 <ehird> ais523: a thing to remember is that your subjective experience is almost certainly wrong
18:11:19 <ais523> in fact: why not combine the ribbon and the toolbar?
18:11:23 <ais523> that would probably work even better
18:11:26 <ehird> humans disagree with the stopwatch more than not
18:11:32 <ehird> ais523: um, that's what it is
18:11:37 <ehird> the ribbon replaces both menus and toolbars
18:11:48 <ais523> have a (auto-collapsing) ribbon
18:11:58 <ais523> I mean, Word does that a bit anyway
18:12:04 <ehird> Azstal: the ribbon apps are WPF, aren't they?
18:12:05 <ais523> what with putting the save button outside the ribbon
18:12:10 <ehird> I can tell by the gradient look and the font rendering
18:12:21 <AnMaster> ehird, btw in windows 7, have they finally fixed that weird "can't delete file in use" thing that happened all the time in xp even when no apps were using it
18:12:22 <ehird> ais523: that defeats the point
18:12:24 <Azstal> ehird: there's an MFC ribbon control
18:12:28 <ais523> ehird: what is the point/
18:12:36 <AnMaster> turned out explorer.exe was holding a spurious handle most of the time
18:12:38 <ehird> Azstal: but the font rendering
18:12:39 <ais523> it has all the advantages of a ribbon, and /also/ lets you do common commands in one click
18:12:59 <ais523> AnMaster: yes, you fix that by closing arbitrary explorer windows until the error goes away
18:13:03 <ehird> ais523: ribbons have almost the efficiency of toolbars and the discoverability and organisation of menus
18:13:10 <ehird> ais523: mousing over there is always going to be slow
18:13:11 <ais523> ehird: it's that "almost" I disagree with
18:13:14 <ehird> if you really use it so often
18:13:16 <ehird> use a damn shortcut
18:13:19 <ehird> that's what they're for
18:13:29 <ais523> ehird: now you're arguing for Emacs + a ribbon
18:13:33 <ehird> the mousing over will always be the most expensive part of an operation
18:13:37 <AnMaster> ais523, well it happened to me with all windows closed anyway
18:13:42 <ehird> I'm not arguing FOR a ribbon interface
18:13:45 <AnMaster> ais523, the file was on the desktop that time iirc
18:13:53 <ehird> ais523: just against arguing against it
18:14:01 <ehird> i.e., I think they're rather good as far as current interfaces go
18:14:06 <ehird> and you can still be fast with them if you want
18:14:15 <ais523> I couldn't be, it rather assumes a working mouse
18:14:26 <ais523> menu > ribbon for speed /and/ discoverability when you don't have one
18:14:26 <ehird> I mean with shortcuts
18:14:29 <ais523> but I know I'm a special case here
18:14:38 <ehird> my OS assumes a working display too :P
18:15:05 <ais523> (does anyone else here instinctively run through menus from right to left when checking for what commands are on them, because pressing right opens submenus and pressing left doesn't?)
18:15:48 <ehird> ais523: menus large enough for that to be effective are generally hopeless, in my experience
18:15:56 <AnMaster> ais523, I tend to use the mouse
18:16:00 <ais523> I'm not saying that programs where you do that are good UI
18:16:07 <ehird> for once I'll be actually putting my money where my mouth is and making a program with good UI
18:16:10 <ais523> however, such programs do exist, and sometimes I end up using htem
18:16:14 <AnMaster> anyway I dislike what I have seen of ribbon interfaces
18:16:14 <Deewiant> I run from right to left typically, don't know if it's for that reason
18:16:18 <ais523> and when I do, I go from right to left
18:16:19 <Azstal> Deewiant: are you sure this program loops? It prints 15 for me
18:16:32 <Deewiant> D'oh, maybe the parameter is too small
18:16:41 <ais523> actually, I think the best interface depends a lot on what the program's meant to do
18:16:54 <ais523> for instance, try to design the perfect interface for a stream editor
18:17:07 <ais523> I wonder if it would be a command-line or batch interface, or something more GUIy?
18:17:10 <ehird> tbh, I think that a ribbon is the best thing for e.g. Word
18:17:14 <ehird> you can't ever remove a feature from Word
18:17:23 <ehird> and you have to make compromises to be comprehendable in that constraint
18:17:26 <ais523> because people will yell
18:17:31 <ehird> heavy word users have all the key combinations memorized, anyway
18:17:42 <ais523> oh, I used to use a massively customized version of Word
18:17:56 <ais523> it had two toolbars at each side of the screen, three at the top and bottom
18:18:02 <ehird> I never used Word when I was younger... who wants to use Word?
18:18:04 <ais523> /and/ a whole load of custom key combinations
18:18:08 <Deewiant> Azstal: Looks like 62 is the magic number; change the first 1 on the first row to 6a*2+
18:18:16 <ehird> i think I used to have an Opera setup like that
18:18:23 <ehird> Opera seems to have a tendency to... wrap you inside it
18:18:27 <ehird> do everything from within in little toolbars
18:18:28 <ais523> I actually got quite good at programming WordBasic, although VBA for Excel was better, so I moved to that after a while
18:18:32 <Deewiant> Azstal: (That's the number of z to put in the diagonal line)
18:18:32 <ehird> like you're living inside it
18:18:36 <ehird> surrounded by buttons and knobs and stuff
18:18:54 <ehird> same with emacs, I think
18:19:07 <Azstal> Deewiant: hmm, 15 then infinite loop, that seems to have done the trick
18:19:16 <ehird> ais523: you'll probably be surprised to know that my ideal interface isn't entirely unlike a command line
18:19:27 <Deewiant> 61 still works fairly instantaneously, 62 doesn't.
18:19:31 <ais523> ehird: I'm not all that surprised
18:19:45 <ehird> but I'm the official defender of mouse-based interfaces!
18:20:19 <ais523> hmm... you spend a lot of time arguing that mice are faster
18:20:40 <ehird> i spend some time arguing that mice can be faster under more circumstances than you may think
18:20:41 <ais523> well, I was going to continue that faster isn't always bette
18:20:53 <ehird> I'm not sure that's true
18:20:58 -!- pikhq_ has changed nick to pikhq.
18:21:01 <ehird> if you can get your task done faster, the computer has done better
18:21:20 <Azstal> Deewiant: it seems to be stuck on the "x".. I doubt it helps that the IP's direction is { 0, 0, 0 } :D
18:21:26 <ais523> I mean, in terms of expressibility
18:21:37 <ehird> ais523: If you can't get your task done it takes infinitely long
18:21:40 <ehird> So that's accounted for
18:21:53 <ais523> ehird: ah, OK; I was using a different speed metric to you
18:21:55 <Deewiant> Azstal: I wonder how it manages to get zeroes from 101- :-)
18:22:09 <ais523> Deewiant: I don't get the )
18:22:11 <Azstal> ais523: Internally, it uses 3-vectors all the time, even for befunge.
18:22:12 <Deewiant> ais523: Befunge, but his impl is generic that way
18:22:15 <ais523> and isn't the :- just a redundant way to preduce 0?
18:22:18 <ehird> ais523: value t such that at time t your task is completed
18:22:21 <Azstal> Deewiant: it probably passes over the x again somehow :(
18:22:23 <ehird> if you can't do it, t=infinity
18:22:40 <ehird> :- is identical to drop 0
18:22:46 <Azstal> ais523: Mine, aka. stinkhorn
18:22:48 <ais523> also, I was trying to make a bad joke, interpreting the smiley as Befunge
18:28:33 <ehird> winforms, wtl or win32... well wtl isn't really popular or well documented, so not that
18:28:57 <ehird> ...eh, but win32 doesn't have a gui designer. i guess i'll have to find out how to embed native code in a .net .exe thingy. ho hum.
18:29:34 <ais523> ehird: I have seen win32 GUI designers, but they were truly awful and I did it by hand instead
18:29:44 <ais523> it wasn't by Microsoft, it was something by Borland
18:30:23 <ehird> the winforms gui thing uses absolute positioning.
18:30:26 <ehird> so that's just a joke.
18:30:35 <ehird> Azstal: does the MFC designer use absolute positioning
18:30:50 <ais523> ehird: I've never seen a Windows GUI designer that doesn't
18:30:50 <ehird> if so, i conclude that it's impossible to graphically design a decent ui on windows
18:30:54 <ais523> but then, I haven't seen all that many
18:30:59 <Azstal> I strictly avoid MFC, so I wouldn't know.
18:31:03 <ais523> the one for Word did, at least
18:31:11 <ais523> and the Visual Basic one does too, I think
18:31:19 <ais523> or did when I last used it, but that was pre-.NET
18:31:21 * ehird wonders if sharpdevelop's gui designer is absolute too
18:31:30 <ehird> Azstal: yeah, but that text rendering is indeed ugly. also, xml.
18:31:49 <ehird> eh, sharpdevelop looks identical to visual s tudio, pretty much
18:31:55 <ehird> so i doubt it doesn't use absolute
18:32:12 <Azstal> At least it's not as XML-y as XUL, which uses DOM, XML events, XBL, etc...
18:32:24 <Azstal> I'd hate to manipulate my UI with the DOM API :(
18:32:29 <ehird> but they all have those awful gradients
18:32:41 <ehird> nothing native-loking
18:32:43 <ais523> ehird: what year are gradients?
18:32:53 <ehird> ais523: you mean in microsoft software?
18:32:57 <ais523> as in, we know that myspacey web pages are around 1996 to 1998
18:32:57 <ehird> the blue gradients were 2003
18:33:04 <ehird> big ribbon WPF gradients 2007
18:33:14 <ais523> does Word's title bar still have a gradient, btw?
18:33:18 <ais523> that no other application does?
18:33:23 <ais523> my guess is no because it would clash with Aero
18:33:36 <ais523> I wasn't really paying attention the few times I used Word 2007
18:33:50 <Azstal> It has the office button, and the title is centered
18:34:02 <ehird> http://www.geekpedia.com/gallery/fullsize/Microsoft%20Word%202007.jpg word 2007 on xp
18:34:09 <ehird> http://blog.helpcomponline.com/wp-content/uploads/2009/08/800px-MS_Word_2007.png word 2007 with aero
18:35:21 <ais523> hmm... that isn't really a gradient
18:35:30 <ais523> they've managed to produce something even more annoying, using only one colour
18:35:38 <ais523> that background behind the document really grates on me
18:35:40 <ehird> here's the WPF gradient i mean
18:36:24 <ehird> ais523: that background is a gradient, btw
18:36:43 <ais523> sort of like when you do a gradient with a crappy colour depth
18:36:47 <ehird> http://support.formsonadisk.com/users_guide/graphics/word_2003_new_pane.png // anyone remember word 2003?!?!
18:36:47 <ais523> but looking more deliberate than that
18:37:03 <ehird> how did _anyone_ approve that UI...
18:37:06 <ais523> wow, that screenshot has a crappy font
18:37:13 <ehird> no, just a high dpi
18:37:15 <ais523> and I do remember word 2003
18:37:15 <ehird> of the regular tahoma
18:37:32 <Azstal> Way too many programs emulate that look. :(
18:37:35 <ais523> ehird: Tahoma looks wrong at that size
18:37:41 <ehird> consider, when that word 2003 monstrsity came out, you could get this: http://www.guidebookgallery.org/pics/gui/desktop/firstrun/macosx103.png
18:37:43 <ais523> without any sort of anti-aliasing
18:37:50 <ehird> catchup sure does take a long time
18:37:54 <ais523> I mean, just compare it to the MS Sans Serif in the pane
18:38:04 <ais523> which was actually designed to look decent as a bitmap font
18:38:10 <ehird> there's no ms sans serif in that pictures.
18:38:35 <ais523> what font would you say the pane with the arrow is?
18:38:40 <ais523> it looks a lot like MS Sans Serif to me
18:38:45 <ehird> it's too wide for that.
18:39:10 <ehird> it's tahoma, okay?
18:39:39 <ehird> MS Sans Serif looks far uglier than that
18:39:49 <ehird> btw, the fonts vista introduced are wonderful
18:40:55 <ais523> hmm... its official website doesn't seem to go below 12pt
18:41:09 <ais523> which is ridiculous, given that its only purpose was the separate rasterisations for the smaller sizes
18:41:24 <ais523> http://www.ascenderfonts.com/font/microsoft-sans-serif.aspx
18:41:35 <ais523> and you're right, that 12pt is insanely ugly
18:41:51 <ehird> microsoft sans serif is the worst "helvetica-esque" font ever designed
18:41:54 <ehird> no question about it
18:42:03 <ais523> ehird: remember System/
18:42:20 <ais523> back in the days of Windows 95 and earlier, it was a raster font that was always in memory
18:42:21 <ehird> System is helvetica-like?
18:42:25 <ais523> so you could use it even if you were out of memory
18:42:45 <ais523> hmm... it isn't as helvetica-like as, say, MS Sans Serif or Arial
18:42:48 <ais523> although it is to some extent
18:43:15 -!- augur_ has joined.
18:43:42 <ais523> ehird: I don't have one
18:43:52 <ais523> unless I can find a screenshot from Windows 95 or earlier
18:46:28 <ais523> wow, Microsoft don't even admit its existence in their windows 3.1 fonts page
18:46:34 <ais523> probably because it was part of the OS, not a separate font
18:47:38 <ais523> heh, I found a mention (but not a screencap) in http://support.microsoft.com/kb/83386
18:47:44 <ais523> which talks about a windows 2 compatibility option
18:48:24 <ais523> http://en.wikipedia.org/wiki/File:Windows_3.11_workspace.png
18:48:29 <ais523> System's the font in the title bars
18:49:28 <ehird> ais523: no, I don't think it's badly designed
18:49:29 <ais523> incidentally, I think it would be incredibly funny if ReactOS contested the free use rationales
18:49:36 <oerjan> oops, atheism slipped back on top of reddit...
18:49:51 <ais523> ehird: it made sense for the time, at least
18:50:03 <ais523> I used to use it all the time in my Windows 3.1 programs because using any other font was a pain
18:50:45 <ehird> the forms in that font are perfectly well designed
18:50:52 <ais523> (and I always used to compile targeting windows 3.1, because it was more reliable than targeting 32-bit versions of Windows; I continued this habit even when I was on Windows XP)
18:51:28 * ehird wants to shoot people who put things like copy and paste in toolbars
18:52:29 <ehird> because they don't belong there, it's a redundant waste of space
18:52:47 <ais523> what would be your suggestion for a better copy-and-paste interface?
18:52:54 <ais523> /most/ people I know use them
18:52:59 <ais523> nontechnical people, anyway
18:53:03 <ehird> ais523: it already exists: right click on the position you want to paste on, click paste
18:53:10 <ehird> select what you want to cut/copy, right click, do it
18:53:15 <ais523> what, mice have more than one button?
18:53:19 <ehird> these interfaces are *contextual*, and therefore far superior
18:53:22 <ehird> ais523: yes, virginia.
18:53:29 <ehird> hmm, I've said that twice today
18:53:42 <ais523> ehird: most of the users in question wouldn't think of that
18:53:50 <ehird> because they're used to it this way
18:54:04 <ais523> incidentally, recent version of Word pop up a mini-toolbar with copy and paste on near the mouse when you hover the mouse near a selection
18:54:07 <ehird> we're all indoctrinated with bad UIs and it scars us
18:54:27 <ais523> incidentally, what do you think of X-style drag-middleclick?
18:54:27 <ehird> ais523: hmm, similar to the iPhone, sort of
18:55:08 <ais523> hmm... apparently there was a Windows 3.2
18:55:11 <ehird> I use it because with terminal programs (those stone-age things that refuse to behave anything like a modern GUI application) the alternative is unbearably tedious. However more often than not I accidentally highlight something else on the way.
18:55:14 <ais523> but it was only released in Chinese
18:55:16 <ehird> Oops! There goes your selection, ha ha.
18:55:32 <ais523> ehird: I use it for quick copies, but not when I want to keep anything on the clipboard for any length of time
18:55:45 <ais523> so I find myself using both common copy-paste mechanisms
18:56:00 <ais523> mostly I'm copying a URL to someone, or moving some text from one window to another
18:56:06 <ehird> i even mess up with quick copies
18:56:07 <ais523> when I'm doing drag-click copies
18:56:12 <ehird> I mean, here's a mistake I often make
18:56:16 <ehird> click browser window
18:56:21 <ehird> it selected the whole thing
18:56:23 <ehird> so you can type over it
18:56:26 <ehird> ha ha, you can't paste now
18:56:32 <ehird> i am the computer and i hate you
18:56:33 <ais523> ehird: that doesn't trigger X copy-paste IME
18:56:41 <ehird> well, I must click it or something
18:56:48 <oerjan> there will probably be a Windows 8.8 just for the chinese
18:57:02 <oerjan> (add extra 8's as needed)
18:57:06 <ais523> oh, Firefox doesn't select the whole thing when I click the URL bar
18:57:29 * ehird makes Programmer's Notepad more usable, which basically means removing 90% of the interface
18:57:34 <ehird> nobody appreciates simplicity...
18:57:35 <ais523> wow, this is hard to test
18:57:43 <ais523> ehird: ever seen Notepad++'s interface?
18:57:48 <ehird> ais523: unfortunately.
18:57:56 <ais523> somehow I thought you'd hate it
18:58:31 <ehird> I know one of the things I'm dreading about writing my reader is how I'm going to integrate my fancy useful features into it; I can't just dump them there because that's not smooth enough...
18:59:03 <ehird> oh yay, at the bottom of a programmer's notepad file window there are a few small icons, all incomprehensible without hovering over to see what they do
18:59:13 <ehird> we must destroy it!
18:59:17 <ehird> use tiny icons instead.
18:59:33 <ais523> tiny icons are sometimes good and sometimes bad
18:59:43 <ehird> they're bad, especially when inscrutable
18:59:46 <ehird> I'm talking 16x16 here
18:59:52 <ais523> well, if they're replacing something that's useless anyway, I'd rather have the icon than the text
18:59:56 <ais523> because at least it isn't in the way
19:00:06 <ehird> Here's how I'd rewrite them:
19:01:10 <ehird> [>>Highlight syntax<<] [ Word-wrap ] [ Number lines ] [ Show whitespace ] [ Show line endings ] [ Write-protect ]
19:01:18 <ehird> in fact, I'd remove the last one; all the others are about the display of the file
19:01:21 <ehird> and the last one isn't
19:01:29 <ehird> ais523: yes; it takes up about 10th of the width
19:01:36 <ehird> it's a few tiny icons, then a mass of blank space
19:01:46 <ehird> >>...<< meaning depressed, btw
19:01:47 <ais523> I'm sort-of a subscriber to the theory that all programs should be capable of running at 320x240 resolution, even if that isn't the usual use-cas
19:02:11 <ehird> I'm sort of a subscriber to the theory that a button should be self-evident, and I shouldn't have to hover over its shitty icon to figure out what the fuck it does every time I want to do something
19:02:30 * ais523 instantly thinks of an article on web design
19:02:37 <ais523> it would be worse if the icon only appeared when you hovered
19:02:44 <ais523> which is apparently common in bad web design
19:02:58 <ais523> the author of the article thought of an even worse possibility
19:03:04 <ais523> which is where the buttons are randomized each time you unhover
19:03:14 <ais523> so you have to repeatedly hover and hope to get the right inscrutable icon
19:03:17 <ehird> even the smallest notebook screen these days has 4x more height and 3.3x more width than your 320x240 thing
19:03:30 <ehird> ais523: 1280x800 notebook scren
19:03:44 <ais523> I can imagine mobiles on which 320x240 is plausible
19:03:52 <ehird> Yes, we're writing desktop applications, see
19:03:52 <ais523> and on which you might someday want to run a program
19:04:00 <ehird> The whole user paradigm is totally different on a mobile
19:04:02 <ais523> for instance, Enigma's being ported to 320x240 at the moment
19:04:05 <ais523> and it's a desktop application
19:04:15 <ehird> not the same thing at all
19:04:25 <ais523> ehird: I don't see why all programs shouldn't run on /everything/
19:04:34 <ehird> because then, every program would be terrible.
19:04:39 <ais523> if they need different UI paradigms for different systems, make the UIs change
19:04:41 <ehird> even AnMaster has to agree with me here...
19:06:23 <ehird> yay, you can hide those useless icons
19:06:39 <ehird> the thing that struck me after rewriting them as text is, why the hell are they ever-present icons?
19:07:04 <ehird> they aren't nearly as common editor operations to deserve a bar of their very own!
19:07:08 <ehird> in fact they border on options
19:07:21 <ais523> ehird: gedit puts some of its options in the bottom bar (as text)
19:07:28 <ais523> which is useful because it keeps forgetting their settings
19:07:35 <ais523> but not as useful as remembering the settings in the first place would be
19:07:50 <ehird> pretty sure that's optional; I never saw it when using gedit
19:08:17 <ehird> a neat feature of programmer's notepad: if you select something, every other occurrence in the document gets a green highlight
19:08:25 <ehird> it's like automatic search!
19:08:42 <ais523> ehird: that is relatively interesting
19:09:04 <ais523> I suppose, multiplexing as many non-conflicting passive effects that you can one one action helps to speed GUI ues
19:09:10 <ais523> unless it ends up 'busy' afterwards
19:09:20 <ehird> I didn't notice at first, so it's quite unobtrusive
19:10:53 * ehird removes the toolbar entirely, as it only had a quick find field (ctrl-/) and a find in files button (in the toolbar)
19:11:03 <ehird> that toolbar was about 90% useless...
19:11:51 <ais523> a toolbar full of things you wouldn't use via the toolbar is probably worse than useless
19:11:58 <ais523> hmm... does "format painter" have a shortcut key?
19:12:21 <ais523> it's basically a copy+paste special (only referencing formats)
19:12:34 <ais523> Microsoft Office programs have had it for ages, OpenOffice.org copies it
19:12:43 <ais523> and lots of other office programs do too, probably
19:13:03 <ais523> fwiw, if copy and paste were replaced by a copypaste button that did the same thing as format painter, it would probably be more useful
19:13:10 <ais523> well, copying text as well as formats
19:13:14 <ehird> whatever it is, I still can't understand a single part of the explanation you ave and it's in a field of programs that I should be mildly familiar with, so it's probably a bad feature
19:13:41 <ais523> ehird: basically, you highlight text, then click the button, then highlight more text
19:13:52 <ais523> and all formatting from the first set of text is copied to the second set
19:14:08 <ais523> it's an option that's painfully fiddly to do any other way; ofc, it ought not to be, but it is
19:14:11 <ehird> I have... never wanted to do that once in my life
19:14:23 <ehird> also, it's a bit modal for my tastes
19:14:28 <ais523> ehird: I rarely do it on my own documents nowadays
19:14:29 <ehird> I'd have a formatting clipboard, or similar
19:14:34 <ais523> but it's incredibly useful for fixing other people's
19:15:10 <ehird> does it copy it as soon as you release the second highlight?
19:15:17 <ehird> that sounds anxiety-inducing
19:16:12 <ais523> ehird: as soon as you release
19:16:23 <ais523> and ofc, that formatting is still highlighted, so you can chain it to a third section
19:16:35 <ehird> I'd much prefer another button press
19:16:48 <ehird> more confident selecting, ability to correct mistakes, etc
19:18:21 * ehird tries out one of the oddest editors he knows of for fun
19:19:32 -!- kar8nga has quit (Remote closed the connection).
19:19:42 <ehird> ais523: no, it's contemporary
19:19:53 <ehird> and quite simple at first glance, but it combines things in a way I've never seen before
19:19:55 <ehird> first tried it like a year or two ago
19:20:03 <ehird> not on windows though afaik.
19:20:14 <ehird> ais523: it's actually written in Java, but requires Cygwin and Ruby
19:20:25 <ehird> Ruby starts up the Java, you see, and the whole thing uses Cygwin
19:21:33 <ehird> ais523: Evergreen; it actually started off as a port of acme to Java, but then has grown some sort of IDE-like stuff, ctags support, a weird notion of workspace, some quite-odd SCM support, and it has an odd practice of using regexps/diffs everywhere
19:21:35 <ehird> http://software.jessies.org/evergreen/
19:21:54 <ehird> I first used the Terminator softare by the same people; creepily, the main person behind it is Elliott H
19:23:05 * ehird moves his cfunge stuff out of the way, trashes that cygwin install to make way for a more reasonable one
19:25:40 <ehird> amusingly enough, my main cygwin annoyance apart from setup.exe's UI is I can't decide where to put setup.exe and its downloaded packages...
19:25:54 <ehird> they should make an installer that puts it somewhere for you to cure you of your indecision
19:27:12 <ehird> i wish windows software didn't try and add desktop shortcuts
19:27:25 <ehird> it's just a recipe for a cluttered desktop... every application seems to think that you want to use it all the time
19:28:59 <ais523> but it's partly because Windows' start menu organization is insane
19:29:07 <ais523> organising by company isn't useful for the users
19:29:12 <ehird> I've had no issues with it in Windows 7
19:29:22 <ehird> every single program I've added has been under a program name, not a company
19:29:37 <ehird> that might just be because they're freeware, but still
19:29:42 <ehird> it's Google Chrome, not Google/Chrome
19:30:49 <ehird> ais523: oh, and it has a program launcher built in
19:31:00 <ehird> hit windows key, release; this'll focus the search field, which gives priority to programs in the start menu
19:31:17 <ehird> <windows> "command" <enter>, voila
19:31:21 <ehird> <windows> "regedit" <enter>, voila
19:31:42 <ehird> <windows> "in expl" <enter>, voila
19:31:44 <Deewiant> Can it be configured? It can't in Vista AFAIK.
19:31:48 <ehird> (internet explorer)
19:31:50 <ehird> Deewiant: configured howso
19:31:57 <Deewiant> To look for non-start menu programs
19:32:05 <ehird> Well, it can certainly run regedit.
19:32:16 <Deewiant> That's because regedit is in %PATH%.
19:32:17 <ehird> But no, I don't think so; add a dummy folder to the start menu or something.
19:32:50 <ehird> It'd be nice if it searched Program Files too, but I don't really have anything not in the start menu...
19:34:08 <Azstal> It finds my xulrunner.exe, which isn't in my path or on my start menu, but it lists it as a "File" so it doesn't get priority
19:34:32 <ehird> Well, yeah, it is regular search too.
19:35:34 <ehird> 11pt consolas is a nice font
19:35:38 <Deewiant> Program Files is still called Program Files in Win7?
19:35:47 <ehird> What did you expect? Programs?
19:35:51 <ehird> That'd be far too logical 'n shit.
19:35:59 <Deewiant> That's what I've renamed it to always for the past 5 years or so, yes.
19:36:04 <ehird> And there's still Program Files (x86), too :P
19:36:12 <ehird> Deewiant: What a thing to risk breakage for
19:36:24 <Deewiant> The only things that break are crap.
19:36:40 <Deewiant> It's much more convenient to have a non-space path for it.
19:36:50 <ehird> Heck, Google Chrome installs in my user directory, I think.
19:36:57 <ehird> For its auto-update stuff.
19:37:02 <ehird> Kinda cool that it doesn't need restarting or anything.
19:37:06 <ehird> 8.3 is for lamers, btw.
19:37:23 <Deewiant> Microsoft Keyboard Layout Creator requires 8.3
19:37:27 <Azstal> Looks like the indelible Xerox directory's gone now. :)
19:38:10 <Deewiant> I spent about a day figuring out why it couldn't find an executable it needed before I figured out that it was because I had disabled 8.3 name generation
19:38:38 <ehird> Deewiant: I'm tempted to make that change now, except that it'd break stuff I already have installed.
19:40:18 <ehird> Deewiant: Amusingly, every actual program I have is in PROGRA~2
19:40:30 <ehird> Due to there being approximately zero x64 Windows applications in existence.
19:41:09 <ehird> Incidentally, if x64 is 64-bit, does x86 mean 86-bit?
19:41:30 <Deewiant> Yes, that's why x64 makes no sense.
19:41:58 <ehird> It's derived from the Intel 8064, clearly.
19:51:22 <ehird> I wonder if I can replace the font in e.g. the appearance dialogs and stuff with Segoe UI
19:53:14 <ehird> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
19:53:16 <ehird> NT\CurrentVersion\FontSubstitutes
19:54:33 <ehird> ah, MS Shell Dlg is a sort of alias for ms sans serif
19:55:32 <ehird> so if I remap MS Shell Dlg, MS Shell Dlg 2 and MS Sans Serif to Segoe UI, it should be foolproof
19:56:15 <Deewiant> I wonder how many programs that will break
19:56:30 <ehird> Worst case the text will overrun a little
19:56:41 <ehird> OTOH, using programs like regedit's dialogs won't be a time travel
19:57:02 <ehird> MS Shell Dlg = Microsoft Sans Serif
19:57:05 <ehird> MS Shell Dlg 2 = Tahoma
19:57:23 <ehird> Helv = MS Sans Serif
19:57:43 <ehird> Microsoft Sans Serif = (undefined)
19:57:45 <ehird> MS Sans Serif = (undefined)
19:58:34 <ehird> Didn't work; wonder if I need to reoot
19:58:57 <ehird> Fuck that then, I'll put it back
19:59:04 <Deewiant> Messing with the registry typically means you do
20:00:29 -!- atrapado has joined.
20:03:33 -!- coppro has quit (Remote closed the connection).
20:04:11 -!- atrapado has quit (Client Quit).
20:05:08 <ehird> Quick! Where should I put the cygwin setup files?
20:05:14 <ehird> Well that's helpful.
20:05:24 -!- coppro has joined.
20:08:25 <fizzie> fungot: Could you say something helpful, free-form?
20:08:25 <fungot> fizzie: must have type system is one of the lesser known programming languages" tacked on.
20:11:56 <oerjan> fungot: so, are you rebelling against your creator yet?
20:12:08 <fungot> oerjan: i'll parallelizing fsck this thing soon, but maybe
20:12:10 <ehird> he's refusing to reply to people that talk to him
20:12:15 <fungot> ehird: what does ccbi do there? it's clearly not necessary to achieve turing completeness, though.
20:12:29 <ehird> that's totally a direct quote
20:12:33 <ehird> anmaster followed by deewiant
20:12:46 <ais523> my guess is it isn't quite direct
20:12:58 <Deewiant> Two separate direct quotes, more likely
20:13:03 <ehird> that's what i mean
20:13:06 <ehird> consecutive in the logs
20:13:10 <ehird> and so they come right next to each other
20:13:59 <Deewiant> I mean, not necessarily consecutive.
20:15:35 <ehird> but they both only make sense as part of similar conversations
20:15:36 <fizzie> It shouldn't really continue the context between quotes; there's a special START and END token, and it only takes n-grams inside a single comment.
20:15:52 <fizzie> Of course I have no clue what I've actually implemented.
20:15:53 <ehird> 4 Aug 2006 ... cyg-apt is like apt and makes installing cygwin packages a lot more friendly. I've always disliked the clunky setup program that comes with ...
20:18:09 <ehird> Heh, and also apt-cyg which seems more apt-like and more reent
20:19:57 -!- Asztal has joined.
20:20:40 -!- Asztal^_^ has joined.
20:31:55 <ehird> I can't figure out where I should keep cygwin's setup.exe and downloaded packages :|
20:32:45 <oerjan> C:\Argle bargle glop glyf\
20:33:25 <Deewiant> I keep a C:\Apps directory as an equivalent of Program Files for non-installed programs
20:33:32 <Deewiant> Therein I keep C:\Apps\Cygwin.
20:33:49 <Deewiant> Also, http://thismight.be/offensive/uploads/2009/09/12/image/272668_%5Bhuge%5D%20genius%20flamewar.jpg
20:33:59 <ehird> Cygwin is more Fundamental than that.
20:34:26 <oerjan> C:\Theory of everything\Cygwin\
20:34:29 <ehird> I want it in C:\Cygwin, it's just that the manual and everywhere says "And save setup.exe SOMEWHERE! Then, give it SOME DOWNLOAD DIRECTORY".
20:34:42 <ehird> i.e., it's not cygwin that's the issue, it's setup.exe and its packages
20:34:44 <Deewiant> My setup.exe is in the Cygwin root
20:34:50 <Deewiant> And its download directory is C:\Temp.
20:34:59 <ehird> That makes things hella slow, no?
20:35:04 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:35:30 <ehird> Redundant redownloading.
20:35:42 <ehird> e.g., it'll redownload the package list each time, no?
20:35:57 <Deewiant> It probably would anyway, given that it, y'know, updates.
20:36:45 <ehird> Also C:\Temp isn't a real folder true story.
20:36:48 -!- Azstal has quit (Read error: 110 (Connection timed out)).
20:37:08 <ehird> (\Windows\Temp is but it is locked.)
20:37:09 -!- Asztal has quit (Read error: 110 (Connection timed out)).
20:37:28 <ehird> i.e., you have to grant yourself permission
20:38:20 <ehird> I'm not actually sure where you're meant to put temp stuff
20:38:23 <Deewiant> I still don't know how to access e.g. C:\Doccuments and Settings
20:38:35 <Deewiant> It always says permission denied
20:38:36 <ehird> Cygwin can touch \Windows\Temp, because it's admin, but still.
20:38:46 <Deewiant> From Windows Explorer, I mean.
20:38:59 <Deewiant> Those junctions don't really seem to work.
20:39:07 <ehird> Deewiant: Because that folder doesn't exist any more?
20:39:23 <Deewiant> It does, it's a junction to C:\Users.
20:39:40 <Deewiant> Well, I don't know about Win7, but it does in Vista.
20:40:17 <Deewiant> Another example is %USERPROFILE%\Application Data, which goes to %USERPROFILE%\AppData\Roaming.
20:40:31 <ehird> What is that Roaming shit anyway
20:40:39 <Deewiant> (Both being %APPDATA%, the former pre-Vista)
20:41:01 <Deewiant> Stuff you could copy to another machine?
20:43:16 <Asztal^_^> It's for people who use their account on many computers in a domain
20:43:32 <ehird> I actually can't figure out what the folder is in Windows 7 for miscellaneous temporary crap
20:44:04 -!- Asztal^_^ has changed nick to Asztal.
20:44:24 <ehird> Asztal: And for system-wide apps?
20:44:35 <ehird> I guess they have to suck cock^W^Wbeg for admin capabilities.
20:44:53 <ehird> And use \Windows\Temp.
20:45:48 <ehird> Deewiant: It's \Users\Public THESE DAYS anyway
20:46:02 <ehird> And it only works as a name with All Users
20:46:24 -!- Darth_Cliche has joined.
20:46:30 <ehird> and all the folders are Public Documents, Public Downloads etc
20:46:43 <Asztal> It depends what you mean by system-wide - if it's running as SYSTEM, it has access to \Windows\Temp
20:46:54 <ehird> Asztal: I guess the UAC'd cygwin setup does.
20:52:19 <ehird> You know, I'm fairly sure my brain is just making up excuses
20:52:37 <ehird> It's now demanding whether I install it to c:\cygwin, C:\cygwin or C:\Cygwin, despite these paths all being compatible.
20:53:38 <Asztal> ah, I found them: there's C:\Windows\ServiceProfiles for service user accounts
20:54:09 <Asztal> I can't find the SYSTEM one though.
20:56:03 <Asztal> that would be cool because C:\Windows\Desktop would exist again :)
20:57:27 -!- augur_ has quit (Read error: 54 (Connection reset by peer)).
20:58:09 <Asztal> ah, C:\Windows\System32\config\systemprofile
20:58:56 <Asztal> though it would do if you logged in as SYSTEM, of course
20:59:23 <Asztal> It has some internet explorer-related directories there...
21:00:02 <Asztal> IIRC one way was to set the screensaver to cmd, and then lock the workstation
21:00:13 <ehird> I want to do that. It'll be the only thing you can do to stock Windows to make it *less* secure.
21:00:20 <Asztal> psexec can also run things as system
21:00:32 <Asztal> I've had explorer running on the "this workstation is locked" desktop
21:00:58 <ehird> "Man, I remember when Shuttleworth took a laptop with him to render the first image in space and POVRay was the software. They had to set it to only render 25% of the time (and pause the rest) because the hot air didn't escape from the heatsink in space (no gravity)."
21:01:10 <ehird> I want to see the first laptop certified for long-running space usage
21:01:21 <ehird> That pesky LACK OF GRAVITY ruining everything
21:06:38 <Deewiant> Gravity is that important for convection? Wouldn't've guessed
21:06:58 <ehird> Quick you fools! Solve my obviously-misdirecting trivialities!
21:08:32 <Ilari> And there's the standard trick of invoking cmd.exe /interactive as scheduled task...
21:09:09 -!- Darth_Cliche has left (?).
21:12:47 <ehird> Hmm... well, everything else in \ is title-cased, but then again the rest of the Cygwin path will be lowercase for the mostpart... wow, what the fuck is wrong with me.
21:18:42 * ehird drinks an odd cola
21:19:09 <ehird> It tastes sort of like brown sugar in liquid form, except more acidi
21:20:55 <ehird> GregorR: You should tell me what this cola is most like, because I've never tasted anything like it and you're clearly the resident soda expert.
21:24:12 <ehird> Actually almost all of the taste is in the aftertaste.
21:25:04 <oerjan> it's a cola for time travelers!
21:25:28 <ehird> Actually the ingredients are a bit of a time travel back a few decades.
21:25:45 <ehird> For instance: Cane sugar, not HFCS...
21:28:43 <oerjan> er, i thought you were in europe...
21:29:09 <oerjan> actually that means it should be beet sugar, probably...
21:29:32 <ehird> It says cane sugar on the can.
21:29:39 <ehird> So what do you mean?
21:30:07 <oerjan> isn't HFCS a US thing?
21:30:35 <ehird> At least more or less everything here is HFCS; I'm sure the top brands of soda over there are too.
21:31:01 <ehird> Anyway, the marketing gimmick of this one is that the only artificial ingredient is the carbonation.
21:31:49 <ehird> Called "Pepsi Raw". Quoth: "Sparkling water, cane sugar, apple extract, colour: plain caramel, natural plant extracts (including natural caffeine and kola nut extract), citric, tartaric and lactic acids, stabiliser: gum arabic and thickener: xanthan gum".
21:32:08 <ehird> Surprised as big a company as Pepsi would make something with such, well, non-lame ingredients.
21:32:50 <oerjan> "In the European Union (EU), HFCS, known as isoglucose, is subject to a production quota. In 2005, this quota was set at 303,000 tons; in comparison, the EU produced an average of 18.6 million tons of sugar annually between 1999 and 2001.[27] Therefore, wide scale replacement of sugar has not occurred in the EU."
21:33:14 <ehird> The UK wantonly says fuck-you to all EU resolutions.
21:36:16 * ehird puts on his assertion hat
21:36:26 * Pthing puts in his english person in england hat
21:36:41 * ehird puts ON, not in, his english person in england hat
21:36:57 <Pthing> you are... amazingly misinformed
21:37:38 <ehird> Or exaggerating for hyperbolic purposes.
21:38:21 <oerjan> wait, another englishman? i think we are over quota here...
21:39:23 <fizzie> There's not *that* many of us.
21:39:55 <ehird> four in here right nw
21:40:09 <oerjan> also, the finns don't have a history of trying to take over the world. no need for a quota.
21:40:30 <ehird> we have a history of succeeding
21:46:01 <Ilari> Good thing that HFCS isn't commonplace. It can be put into places where normal sugar can't, is probably bit more unhealthy (normal sugar is pretty bad already).
21:47:57 <Ilari> And it seems that if sugar-like stuff can be put somewhere, it pretty much will be put there...
21:48:36 <Ilari> (there's *LOTS* of stuff in US that have HFCS).
21:49:00 <ehird> hfcs is way worse than normal sugar
21:50:07 <Ilari> BTW: Is there liquid cromatogram of HFCS and normal sugar for making comparison...
21:51:03 <Ilari> I would guess that LC of normal sugar would consist of one huge spike and not much else, while LC of HFCS consists of two huge spikes and all sorts of crap.
21:54:43 <Ilari> What really makes HFCS worse than normal sugar is that it can be put into places where normal sugar can't. After digestion, the difference will be little more fructose (and fructose is probably not a good thing) and probably the all sorts of crap thats left in it due to incomplete purification.
21:54:49 <ehird> Pretty sure none of us knows remotely as near as you do about this :P
21:55:28 <Ilari> And don't ask what that remainder crap is. I don't know.
21:56:05 <Ilari> The process of manufacturing normal sugar is pretty nasty, so it is better be purified very well...
22:03:09 <Ilari> All kinds of sugar is probably best avoided, except for what is in low-medium carbohydrate vegetables/plants/fruits/berries.
22:03:34 <ehird> Did you just say "you should avoid all kinds of sugar entirely"?...
22:03:40 <ehird> Apart from in fruits etc
22:04:23 <Ilari> Those exceptions being due to those plant parts being fairly good source of some vitamins.
22:04:44 <ehird> did you just mean ideally or in practice
22:05:13 <Ilari> Well, in modern world, more like ideally. In practice, sugar is consumed in huge quantities.
22:05:42 <ehird> I'm not sure avoiding all unnatural sugars is anything but extreme...
22:07:27 * ehird decides to install cygwin to C:\Cygwin
22:07:45 <Deewiant> Especially given that you can rename
22:07:52 <Ilari> If you think that's extreme... Some diets only have few tens of grams per day of total (that's total, not just sugar) carbohydrates...
22:09:42 <ehird> Yes, that's more extreme. :P
22:09:57 <Ilari> And since protein can't be eaten in huge quantities to supply enough enery and alcohol has all kinds of nasty side effects, that leaves fat to provode the energy needed...
22:10:37 <Ilari> The proportion of fat in such diet can reach 80 percent of total energy intake.
22:12:31 <ehird> Doesn't sound particularly, uhh, reasonable.
22:17:01 -!- zzo38 has joined.
22:17:13 <zzo38> I wrote a GameBoy game, it works on VisualBoyAdvance but not on Goomba Color. Do you know what's wrong?
22:17:25 <Ilari> Some less bit extreme versions have ~65E% or so fat...
22:17:43 <ehird> zzo38: No. I am not psychic.
22:17:52 <Deewiant> There's probably a bug on line 427.
22:18:06 <zzo38> I didn't expect you were psychic... But can't you check?
22:19:03 <zzo38> Deewiant: Do you mean my program on line 427? Line 427 of my program is data and surely has no bug (I checked).
22:20:06 <Asztal> Deewiant: I've fixed that bug. The repository is at http://code.google.com/p/stinkhorn/ now.
22:22:54 <Deewiant> Ah no, I was looking at the diff the wrong way around.
22:25:47 <Deewiant> If you want a patch to make it compile with GCC 4.4.1 and glibc 2.10.1: http://funge.pastebin.com/f68b4faa2
22:26:32 <zzo38> Can you even check what's wrong with my program, do you know anything about "Goomba Color" emulator?
22:27:07 <Ilari> Doesn't C++ have <limits>? And <cstdio>?
22:27:38 <Deewiant> Yes, C++ has <limits> and <cstdio>. And?
22:28:51 <Ilari> If its C++ code, shouldn't <limits> be used instead of <climits> and <iostream> instead of <cstdio>?
22:28:59 <ehird> zzo38: Do you realise you haven't even given us the code?
22:29:21 <Deewiant> Not "should". Might, if you prefer them, yes.
22:29:24 <zzo38> O sorry, I forgot. http://zzo38computer.cjb.net/prog/GameForth/game/stroker.zip
22:31:08 <zzo38> Now you can check, please?
22:36:45 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)).
22:39:42 -!- futurestack has joined.
22:40:11 -!- Azstal has joined.
22:41:49 -!- Asztal^_^ has joined.
22:54:05 -!- notostraca has joined.
22:57:15 -!- Asztal has quit (Read error: 110 (Connection timed out)).
22:57:54 <zzo38> I never used Parrot, for one thing.
22:58:02 -!- Azstal has quit (Read error: 110 (Connection timed out)).
23:08:13 -!- coppro has quit (Read error: 60 (Operation timed out)).
23:15:24 -!- notostraca_ has joined.
23:15:24 -!- notostraca has quit (Connection reset by peer).
23:15:27 -!- notostraca_ has changed nick to notostraca.
23:16:50 -!- notostraca_ has joined.
23:16:50 -!- notostraca has quit (Read error: 104 (Connection reset by peer)).
23:16:53 -!- notostraca_ has changed nick to notostraca.
23:20:35 * ehird wonders how to make wget update a [3%] type thingy and then remove it before exiting as a progress bar
23:20:41 <ehird> -q is a little too... frozen
23:21:01 <ehird> manpage only has two progress types...
23:22:33 <zzo38> Does anyone know about GameBoy program?
23:24:43 -!- zzo38 has quit (Remote closed the connection).
23:27:08 -!- zzo38 has joined.
23:27:16 <zzo38> If I make Washizu Mahjong game at anime convention next year, do you want to play game too?
23:29:48 <ehird> I think zzo38 is the only person keeping us on topic
23:30:01 <zzo38> Ha ha ha ha ha ha ha ha ha ha ha ha ha ha
23:30:43 <zzo38> Ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha
23:30:56 -!- Asztal^_^ has changed nick to Asztal.
23:32:09 <ehird> Anyway, I patched a patched version of cyg-apt.
23:32:29 <zzo38> AKAGI SHIGERU -vs- WASHIZU IWAO
23:32:51 <ehird> http://pastie.org/614947.txt?key=uks5fzzhqvqroisjww31g
23:33:02 <ehird> Result: Lightweight Cygwin setup.exe replacement with god-awful code.
23:36:18 <ehird> http://pastie.org/614952.txt?key=cewwbbviaokbqc4wu2fsg Here ya go
23:38:00 <ehird> You just need python and wget on top of the standard setup
23:39:07 <ehird> Note that the mirror URL isn't the same as what setup.exe displays; google for what it displays + cygwin and you should find the file with the real path
23:40:07 <ehird> I like how cygwin still ships with bash 3. It is truly cutting edge.
23:52:13 <ehird> Disadvantage of that installer: doesn't seem to add menu icons
23:52:24 <ehird> But you can do that with setup.exe afterwards, I think.
23:53:21 <ehird> Just add icons yourself, then
23:53:57 <ehird> Or, a rather more pressing issue with mine is that it doesn't seem to actually install