00:50:01  * virmitioquit (Quit: Leaving.)
01:11:49  * aururaeosrosechanged nick to auroraeosrose
03:03:43  * gixquit (Ping timeout: 252 seconds)
03:09:05  * gixjoined
04:23:21  * madewokherdquit (Remote host closed the connection)
04:43:43  * cH40z-Lordquit (Read error: Connection reset by peer)
04:44:05  * cH40z-Lordjoined
04:55:42  * sungami_quit (Quit: No Ping reply in 180 seconds.)
04:55:42  * sungamijoined
04:55:42  * sungamiquit (Changing host)
04:55:42  * sungamijoined
05:46:31  * TReKiEquit (Read error: Connection reset by peer)
05:48:54  * TReKiEjoined
06:52:24  * ender`joined
08:35:32  * HamishCjoined
09:19:50  * ssam2joined
11:37:37  * cH40z-Lordquit (Read error: Connection reset by peer)
11:38:02  * cH40z-Lordjoined
12:32:18  * piscisaureus_joined
13:05:50  * piscisaureus_quit (Read error: Connection reset by peer)
13:06:23  * piscisaureus_joined
13:44:08  * vpovirkjoined
14:11:50  * virmitiojoined
14:52:16  <auroraeosrose>so did we get enough c99 votes?
14:52:23  <FearTheCowboy>Good Question
14:52:25  <auroraeosrose>I lost my coapp vm again - wtf is wrong with me
14:52:36  * virmitiosighs
14:52:45  <FearTheCowboy>Good Question
14:52:59  <FearTheCowboy>It's all that damn C code. Drives a person wiggy
14:53:17  <virmitio>this calls for more drinking
14:54:18  <auroraeosrose>virmitio: yeah, well
14:54:32  <auroraeosrose>too much going on right now and I hate the single parent thing
14:54:41  <auroraeosrose>husband doesn't get home until tomorrow
14:54:49  <auroraeosrose>and I love that I got 3 days notice on the trip
14:54:54  <auroraeosrose>"I had it on my calendar"
14:54:58  <auroraeosrose>"the one in your phone"
14:55:01  <auroraeosrose>"yes"
14:55:11  <auroraeosrose>"the work one on exchange I can't see"
14:55:13  <auroraeosrose>silence
14:55:22  <auroraeosrose>"You know I set up a google one for everybody"
14:55:24  <auroraeosrose>silence
14:55:28  * auroraeosrosesighs and beads head on table
14:55:37  <FearTheCowboy>rofl
14:55:47  <auroraeosrose>would be funnier if not my life
14:55:54  <FearTheCowboy>Ain't the technologically illiterate fun?
14:56:21  <virmitio>Stress relief: O <-- Bang head here
14:56:51  <auroraeosrose>he's a mechanical engineer and SolidWorks guru! he's not technologically illiterate!
14:56:56  <auroraeosrose>he's just...
14:56:59  <FearTheCowboy>Uh, huh.
14:57:06  <auroraeosrose>well let's just say I have admin on all my machines
14:58:44  <FearTheCowboy>I've nearly finished spec'ing out the SxSplus API by the way. Gonna be damn sweet for getting at DLLs/Assemblies
14:59:05  <auroraeosrose>awesome
14:59:16  <FearTheCowboy>And, it turns out there is a nice intersect of concepts with "features", so virmitio and I hashed that out yesterday.
14:59:21  <auroraeosrose>hmmm, we're going to need dirent
14:59:29  <auroraeosrose>did someone do that one?
14:59:44  <virmitio>auroraeosrose: not yet?
14:59:55  <FearTheCowboy>ain't that just a header?
15:00:03  <auroraeosrose>nah, it's a lib too
15:00:08  <auroraeosrose>like one C file to wrap some stuff up
15:00:11  <FearTheCowboy>ah
15:00:17  <auroraeosrose>it's usually just thrown into whatever needs it
15:00:26  <auroraeosrose>but we probably should use the same version for everything eh ;)
15:02:02  <FearTheCowboy>that'd be smart :)
15:02:10  <vpovirk>is this "SxSplus" a C api?
15:02:15  <FearTheCowboy>Yep
15:02:27  <vpovirk>will it have a coapp package? (stupid question)
15:02:30  <FearTheCowboy>Yep
15:02:57  <vpovirk>did you actually write it in C++ with C exports?
15:03:37  <FearTheCowboy>Somewhat. It's C++, but I avoid everything that would cause it to link with msvcr100, and only link to MSVCRT
15:03:53  <FearTheCowboy>So, no exceptions, RTTI, Concurrency ....
15:04:01  <auroraeosrose>did you put the exports stuff in the right place in the header anyway ;)
15:04:10  * auroraeosrosehides while laughing
15:04:35  <FearTheCowboy>huh?
15:04:49  <virmitio>auroraeosrose: I though we generally frowned upon cackling maniacally in channel?
15:04:49  <auroraeosrose>I'm picking on you
15:04:52  <auroraeosrose>don't mind me
15:06:31  * piscisaureus__joined
15:06:34  * piscisaureus_quit (Read error: Connection reset by peer)
15:10:15  <FearTheCowboy>So, a bunch of my functions return a pointer to a struct (sometimes a somewhat complicated struct) and I provide a 'dispose' function the consumer can call with the pointer when they are done with it. Any particular problem with this strategy?
15:10:39  <vpovirk>is it an opaque struct?
15:10:45  <auroraeosrose>ewwww
15:10:47  <FearTheCowboy>No
15:10:58  <vpovirk>usually these things should be opaque structs
15:11:03  <FearTheCowboy>They are defined in the header.
15:11:27  <vpovirk>otherwise you can't change the way your state is stored in a later version
15:11:42  <auroraeosrose>yes, I would agree that would be a better solution
15:12:06  <FearTheCowboy>So you want functions that return the individual fields in a struct?
15:12:16  <vpovirk>yes, and set them if necessary
15:12:42  <FearTheCowboy>Yeah, the construction of them is done by functions.
15:12:52  <FearTheCowboy>Wow, that's gonna add quite a number of fns. :S
15:12:59  <auroraeosrose>eh, won't be that bad
15:13:12  <auroraeosrose>cairo (despite other things annoying me) does do that right
15:14:11  <vpovirk>if you want to make structs that are part of the api (like somethig you pass to a constructor) that's fine, but they probably shouldn't be long-lived
15:15:05  <FearTheCowboy>All the stuff the consumer passes *in* are just primitive data types (or, a pointer to a struct the API created in another call)
15:15:35  <FearTheCowboy>I've never been happy seeing the consumer side try to create structs manually to make calls... always seemed error-prone to me.
15:16:00  <mgdm>nah, sod that
15:16:20  <mgdm>My humble opinion is opaque structs with constructors and destruct functions
15:16:30  <mgdm>cairo does reference counting, but meh
15:16:47  <FearTheCowboy>it's really not that much more work to create accessor functions for the fields in structures and expose them as opaque otherwise.
15:17:08  <auroraeosrose>agree with mgdm
15:17:10  <FearTheCowboy>I can certainly see the wisdom in being able to change my mind on the storage of it .
15:17:14  <auroraeosrose>don't even need reference counting
15:17:24  <auroraeosrose>but opaque struct with constructor/destructor
15:17:29  <auroraeosrose>fakey C objects ;)
15:17:34  <FearTheCowboy>Yeah. I can see that.
15:18:13  <mgdm>only issue is possibly if your constructor allocates the memory (which I would do) and if you want to override the malloc() stuff
15:18:15  <FearTheCowboy>That should actually be pretty easy; I guess that makes it easier to use C++ on the inside, since I can pass out pointers to the objects themselves
15:18:35  <mgdm>but then that's maybe because I don't know enough about it yet :)
15:18:49  * _Andrewjoined
15:18:49  * _Andrewquit (Changing host)
15:18:50  * _Andrewjoined
15:20:04  <vpovirk>I keep seeing api's that let you provide an alternate malloc/free, and I never saw the point of that
15:20:21  <auroraeosrose>well
15:20:26  <FearTheCowboy>Yeah, I'm not doing any of that. There's really no point in at all for this library
15:20:30  <auroraeosrose>it's useful for things with their own memory management though
15:20:38  <auroraeosrose>nice to plug into say PHP's allocation stuff
15:20:45  <mgdm>I've not needed to do it yet, but I can see why you might want to (PHP has its own memory stuff, emalloc/efree)
15:20:50  * mgdmhigh fives auroraeosrose
15:20:53  <auroraeosrose>woot!
15:20:59  <auroraeosrose>or say use glib stuff
15:21:07  * BuckRogers25quit (Ping timeout: 265 seconds)
15:21:34  <vpovirk>I guess, but as long as it's the same library allocing/freeing each thing, what does it matter?
15:21:54  <FearTheCowboy>I could see if you did a *LOT* of allocations
15:22:08  <FearTheCowboy>but not worth the effort if you're a small memory consumer.
15:22:22  <auroraeosrose>eh, the big reason we like it in PHP is the memory limit stuff
15:22:49  <vpovirk>ah
15:23:19  <auroraeosrose>otherwise you have memory thrown around willy nilly from extensions that might be eating far more then you want that process to have ;)
15:30:57  <FearTheCowboy>One more question:
15:31:31  <FearTheCowboy>strings passed from the consumer to the API, should i have a parameter for the length as well? (so I can use the safestring functions?)
15:32:52  <auroraeosrose>yes
15:33:09  <auroraeosrose>also are multibyte strings going to be an issue?
15:33:28  <FearTheCowboy>as, in will you have a hard time just using unicode like you should?
15:34:03  <auroraeosrose>LOL
15:34:06  <auroraeosrose>yeah.....
15:34:17  <auroraeosrose>you taking a WCHAR or char* ;)
15:34:27  <FearTheCowboy>wchar_t*
15:35:05  <auroraeosrose>yeahhhhh
15:35:07  <auroraeosrose>fun
15:35:37  <auroraeosrose>might be helpful and or not piss most open source (which is char * heavy) off to have a version that does the char * to wchar_t conversion
15:35:41  <auroraeosrose>*just sayin*
15:35:49  <FearTheCowboy>it's good for you. Get out of the stone age :)
15:35:51  <FearTheCowboy>*sigh*
15:36:04  <auroraeosrose>yeah yeah
15:36:06  <auroraeosrose>don't tell me
15:36:10  <auroraeosrose>tell gettext and iconv
15:36:15  * auroraeosrosegrumbles
15:36:46  <vpovirk>but are the char*'s utf8 or CP_ACP ?
15:37:10  <vpovirk>I don't think you can rely on wchar_t
15:37:30  <vpovirk>it might be different from WCHAR
15:37:47  <FearTheCowboy>Um, wchar_t is the underlying type; it's always 16bits.
15:38:07  <vpovirk>except when it's 32 bits
15:38:23  <FearTheCowboy>When does that happen?
15:38:35  <vpovirk>certain compilers
15:38:55  <vpovirk>maybe not on windows, I'm not sure
15:39:57  <FearTheCowboy>On windows it's always 16 bits. The universe would break apart if that were not the case.
15:40:01  * FearTheCowboyis reading ...
15:40:19  * wwahammy_joined
15:40:32  <vpovirk>it's one of those things we can't ever use in wine code
15:40:35  <vpovirk>we have to use WCHAR
15:40:38  <FearTheCowboy>ah
15:40:59  <vpovirk>but maybe it's similar to long/LONG
15:40:59  <FearTheCowboy>I see; it's broken on platforms like MacOS
15:41:07  <virmitio>lol
15:41:30  <FearTheCowboy>http://losingfight.com/blog/2006/07/28/wchar_t-unsafe-at-any-size/
15:41:40  <FearTheCowboy>That is a sad, sad tale
15:42:51  <auroraeosrose>yes, yes it is
15:42:57  <auroraeosrose>mac breaks everything
15:43:00  * auroraeosrosegrumbles
15:43:53  <FearTheCowboy>That's just so... irritating.
15:45:32  <FearTheCowboy>so now I have to taint the public API of this code with LPCWSTR everywhere? *sigh*
15:46:05  <FearTheCowboy>This is why we can't have nice things.
15:46:50  <auroraeosrose>eh, no way to just do two? one char * and one wchar_t
15:47:23  <vpovirk>I don't see the problem; all the windows api's are LP*STR anyway
15:48:06  <FearTheCowboy>I've never been a big fan of wrapping the hell out of type declarations with macros. Feels like I'm coding with bubblewrap over everything.
15:48:30  <vpovirk>just don't use TCHAR
15:48:36  <FearTheCowboy>I *never* use TCHAR
15:48:42  <FearTheCowboy>"Toxic Char"
15:48:51  <FearTheCowboy>frickin' EEEEEEW
15:49:10  <auroraeosrose>TCHAR DIE OF DOOM
15:49:10  <FearTheCowboy>I cured Rafael of that one a couple years back.
15:49:13  <wwahammy_>I will use this as a further of example of why C/C++ is hopelessly borked
15:49:22  <auroraeosrose>with much smacking? sorry I missed that
15:49:27  <auroraeosrose>wwahammy_: um, no it' sno the language
15:49:32  <auroraeosrose>i's the friggin operating systems and compilers
15:49:36  <auroraeosrose>DOIN IT RONG
15:49:39  <FearTheCowboy>Not much smacking. once he got it, he never went back
15:49:46  <vpovirk>wchar_t is the language, as I understood it
15:49:59  <auroraeosrose>dang, and I missed it
15:50:05  <auroraeosrose>vpovirk: D'OH
15:50:22  <wwahammy_>"wchar_t was defined to be more than a byte but no larger than jet liner."
15:50:50  <wwahammy_>there are so many things in the standards for C and C++ that are left up to the implementation. It's hopeless
15:50:56  <auroraeosrose>yes, that is silly
15:51:01  <auroraeosrose>then again... have you ever read the HTTP spec
15:51:05  <auroraeosrose>yessss......
15:51:07  <wwahammy_>thankfully no
15:51:10  <auroraeosrose>and now we all know why computers sucks
15:51:13  <FearTheCowboy>I'm still not so keen on implementing char* versions of the APIs. Isn't there macros the consumer can use?
15:51:20  <auroraeosrose>FearTheCowboy: nope
15:51:29  <auroraeosrose>you have to make a stinking call to convert the char *
15:51:29  <virmitio>I'm not really sure I'd call the "http spec" a spec
15:51:38  <auroraeosrose>virmitio: exactly....
15:53:48  <FearTheCowboy>hey.
15:54:36  <FearTheCowboy>We need to chat about GSoC Mentoring ... uh, right goddamn now.
15:54:40  <FearTheCowboy>Lync : https://join.microsoft.com/meet/garretts/7RLB1SJP
15:55:08  <auroraeosrose>is everyone here?
15:55:13  <auroraeosrose>coming if I can get lync to start
15:55:16  <auroraeosrose>start lync start
15:55:17  <auroraeosrose>dammit
15:55:35  <FearTheCowboy>there's enough
15:57:50  <vpovirk>I guess I could call in, but I'm probably not needed
16:21:00  <auroraeosrose>dangit FearTheCowboy, now I must resist a python dig
16:21:12  <FearTheCowboy>lol
16:21:34  <vpovirk>if it's on the call, don't worry, I'm not there to get upset
16:22:00  <auroraeosrose>LOL
16:22:03  <auroraeosrose>twitter ;)
16:23:20  <auroraeosrose>did you see the inanity this morning by the python fanboi?
16:23:27  <FearTheCowboy>no.
16:24:09  <auroraeosrose>http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ - I mean really PHP has millions of things wrong with it - try pointing out real ones (and there are a few but ones that have been hashed over and over)
16:24:22  <auroraeosrose>my favorite is the "php doesn't have stack traces"
16:24:49  <FearTheCowboy>lol
16:25:04  <auroraeosrose>yeah....
16:25:57  <FearTheCowboy>speaking of stack traces; I've already implemented the code that gets me a 'module' stack for a given execution context; so I can tell what module called functions in what module (for purposes of finding out what "app" is asking for a given assembly)
16:26:13  <FearTheCowboy>it was actually pretty darn easy :)
16:27:59  <auroraeosrose>cool
16:29:07  <FearTheCowboy>Indeed is is. it's gonna be pretty simple to allow an Apache EXE hosting in-proc Python and PHP modules be able to have the individual languages find the appropriate assemblies without even trying hard.
16:30:12  <FearTheCowboy>I will bet that it will take only a couple of hours to retrofit PHP (having seen how they do it now) with the SxSplus API
16:48:45  * wwahammy_quit (Quit: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q))
16:56:34  <FearTheCowboy>so.. philisophical question:
16:56:37  * wwahammyjoined
16:57:10  <FearTheCowboy>having two versions of an API, should the wchar_t version have a W and the non-wide one have a A suffix?
16:57:27  <FearTheCowboy>or just put A on the non-wide, and give the wide one the real name?
16:58:27  <wwahammy>I give the wide one the real name
16:58:30  <wwahammy>I say*
16:59:06  <auroraeosrose>LOL
16:59:19  <auroraeosrose>or be like windows and name one with w and one with a and macro the real name!
16:59:26  <auroraeosrose>(I hope you realize that was a joke)
16:59:37  <FearTheCowboy>I just about took that as your preference.
17:08:36  * And3r5joined
17:17:43  <mgdm>some_object_create_not_wide_just_big_boned(wchar_t *foo);
17:38:01  * ssam2quit (Read error: Connection reset by peer)
17:45:34  * qwebirc26110joined
17:46:55  * qwebirc26110quit (Client Quit)
18:25:00  * Jonny5joined
18:25:01  * Jonny5quit (Changing host)
18:25:01  * Jonny5joined
18:25:27  * Jonny5quit (Client Quit)
18:26:46  * wwahammyquit (Ping timeout: 246 seconds)
18:27:39  * Jonny5joined
18:32:39  <vpovirk>I'm starting to wonder if @CoAppPackages was a bad idea
18:32:51  <vpovirk>eh it's probably fine
18:58:02  * remy_ojoined
19:06:47  * wwahammyjoined
19:12:46  <ender`>http://eternallybored.org/imgs/cats/P1030991.jpg
19:20:37  * Jonny5quit (Quit: Leaving.)
19:25:41  * Jonny5joined
19:25:41  * Jonny5quit (Changing host)
19:25:42  * Jonny5joined
19:28:53  * HamishCquit (Ping timeout: 248 seconds)
19:38:20  * piscisaureus__quit (Quit: ~ Trillian Astra - www.trillian.im ~)
19:55:42  * _Andrewquit (Quit: lseep)
20:07:28  * piscisaureus_joined
20:25:03  * Scotisis no longer away : Gone for 23 hrs 53 mins 41 secs
20:29:47  * piscisaureus_quit (Ping timeout: 246 seconds)
20:37:29  * wwahammyquit (Ping timeout: 276 seconds)
20:38:26  * piscisaureus_joined
20:57:38  * piscisaureus_quit (Ping timeout: 276 seconds)
22:17:04  * stalled_quit (Ping timeout: 244 seconds)
22:17:18  * ender`quit (Quit: Be wary of strong drink. It can make you shoot at tax collectors and miss. -- Robert A. Heinlein)
22:41:15  * remy_oquit (Quit: WeeChat 0.3.7)
22:42:23  * stalledjoined
22:46:33  * piscisaureus_joined
23:06:53  * vpovirkquit (Read error: Connection reset by peer)
23:35:51  * madewokherdjoined
23:38:50  * cH40z-Lordquit (Ping timeout: 276 seconds)
23:39:26  * cH40z-Lordjoined