00:52:24  * auroraeosrosequit (Read error: Connection reset by peer)
01:03:35  * bcraigquit (Ping timeout: 272 seconds)
01:18:01  * auroraeosrosejoined
01:18:19  <FearTheCowboy>Well bandit is a bust.
01:18:52  <FearTheCowboy>I dunno what that thing is doing, but to compile it's own simple tests... the x86 version takes over five minutes to compile and link on my machine
01:19:02  <FearTheCowboy>the x64 only takes about 1 minute
01:19:03  <FearTheCowboy>but...
01:19:20  <FearTheCowboy>the test exe is only 300k (which works just fine)
01:19:31  <FearTheCowboy>but the PDB is ~64 mb!
02:19:15  <FearTheCowboy>xUnit++ is ... workable. works x-plat and I got the test runner integrated with VS2013.
02:20:23  <FearTheCowboy>The nice part about that is that VS will run the tests in the background after a build for you; and highlight failures (so you don't have to put them in post-build steps)
03:06:50  * AtashiConquit (Quit: AtashiCon)
03:07:17  * AtashiConjoined
03:14:45  * Disgaeaquit (Ping timeout: 248 seconds)
03:17:21  * Disgaeajoined
03:19:13  * auroraeosrosequit (Ping timeout: 272 seconds)
06:42:31  * alkalinequit (Ping timeout: 272 seconds)
07:23:41  * ender`joined
11:43:39  * Jeanne-Kamikazejoined
11:43:46  * auroraeosrosejoined
13:30:58  * bcraigjoined
16:35:24  * madewokherdjoined
16:38:54  <madewokherd>FearTheCowboy: please let me know when you've posted some onesetup code that's in a platform-neutral style
16:39:04  <madewokherd>especially if that code is using xmllite
16:47:53  <madewokherd>figuring out how to define IUnknown and IStream in public non-windows headers is going to be, uh, interesting
16:49:55  <madewokherd>mostly because it seems presumptuous to assume nothing else is going to define those
16:50:34  <bcraig>ideally, don't define those at all
16:51:02  <bcraig>if you have control of the source that uses those interfaces, have them inherit from I_xmllite_IUnknown (or something like that)
16:51:02  <madewokherd>I don't think I can make a source-compatible xmllite without doing that
16:51:21  <bcraig>then, on Windows, typedef I_xmllite_IUnknown to the real IUnknonw
16:51:38  <bcraig>and on non-Windows, make it a "real" class
16:51:53  <bcraig>note that Mac does define IUnknown (poorly)
16:52:19  <madewokherd>are the headers that do that on the web?
16:52:40  <bcraig>I believe so. off the top of my head, I think it is something like CFPlugin.h
16:54:05  <bcraig>http://www.opensource.apple.com/source/CF/CF-476.14/CFPlugInCOM.h?txt
16:54:45  <madewokherd>ugh
16:54:52  <madewokherd>void *_reserved
16:54:57  <bcraig>yep
16:55:04  <madewokherd>so it's not compatible with the windows IUnknown
16:55:07  <bcraig>they didn't even remove it in x64
16:55:43  <bcraig>so yes, it is very presumptuous to assume nothing else is going to define IUnknown
16:55:57  <madewokherd>well, I definitely need some sort of prefix in that case
16:56:02  <bcraig>or HRESULT, or uint32_t, or a number of other things like that
16:56:10  <madewokherd>I can include stdint.h
16:56:17  <madewokherd>and replace windows types with standard ones
16:56:31  <madewokherd>that's what mono does for its win32 internal functions
16:56:47  <bcraig>right, just saying that a lot of open source developers start porting their code to an older windows compiler, and when stdint.h doesn't define uint32_t, they define it
16:56:49  * alkalinejoined
16:56:49  * alkalinequit (Changing host)
16:56:49  * alkalinejoined
16:57:00  <bcraig>but only one person can get away with that in a given c++ file
16:57:29  <bcraig>if the OS or a large library normally provides a definition for something, you shouldn't get clever and provide it as well. It will only cause trouble
16:57:51  <bcraig>use your own name, and typedef / #define to the "real" ones when present
16:58:02  <madewokherd>screw windows, this library is unix-only
16:58:13  <madewokherd>windows users can use the real xmllite
16:58:39  <bcraig>fair enough
16:59:18  <bcraig>it makes sense for this project, but it's not something that every open source project can / should do though
17:00:09  <madewokherd>well, most open-source projects wouldn't have any need to use windows types
17:00:17  <madewokherd>because they're not going for source-compatibility with a windows library
17:01:26  <bcraig>I've seen the reverse happen as well. Someone will define a unix type on Windows so that they don't have to change the code.
17:01:36  <bcraig>for example, defining the "poll" function, or something similar
17:01:59  <madewokherd>have you seen gnulib?
17:02:01  <bcraig>a project I work on #defined errno to ::WSAGetLastError
17:02:09  <madewokherd>it's that for every function you could possibly need
17:02:33  <bcraig>I have not. And it sounds like I should be a little scared of it.
17:02:58  <madewokherd>I guess if I define COM interfaces with a prefix and don't define any other windows types (use stdint stuff instead), the code using it can conditionally define things to make the code as windowsy as desired
17:03:44  <madewokherd>well, really, it's any non-xmllite-specific structs I'd need to define with a prefix
17:06:00  <madewokherd>I wonder if it already has a prefix that it uses in practice..
17:06:39  <madewokherd>Xml
17:06:48  <madewokherd>heh, that's a bit presumptuous too..
17:07:29  <madewokherd>but if I were to define IXmlUnknown and IXmlStream that would make a weird sort of sense
17:45:00  * sungamiquit (Ping timeout: 245 seconds)
18:02:04  <madewokherd>FearTheCowboy: what are you planning to use as a widechar type on linux?
18:04:49  <madewokherd>I guess it'd be either wchar_t, char16_t, or char32_t
18:05:01  <madewokherd>and char32_t would be very inconvenient on windows
18:05:21  <madewokherd>but I'm not sure if wchar_t is good for use in a shared library
18:06:49  <madewokherd>yeah, gcc has a switch that changes the size of wchar_t :/
18:12:31  * madewokherddoes "typedef uint16_t WCHAR" for now
19:04:07  <madewokherd>translating COM to platform-neutral headers manually is more annoying than I expected
19:04:56  <bcraig>I believe it
19:06:07  <madewokherd>not quite annoying enough to write a preprocessor though
19:06:45  <bcraig>I've worked on a product that generated some code with microsoft's MIDL, then used a perl script to modify it
19:06:49  <bcraig>it was horrible
19:07:19  <auroraeosrose>I believe the uint16 was what was decided but don't quote me
19:07:24  <auroraeosrose>I'm a bit brain happy today
19:09:16  * sungamijoined
19:46:04  <FearTheCowboy>Sorry.. I was out at the dentist.
19:46:46  <alkaline>unacceptable.
19:46:58  <alkaline>:P
19:47:07  <bcraig>exactly what I was thinking
19:47:34  <FearTheCowboy>I'm not entirely sure which charset I'm going to use on linux yet; I'm thinking possibly C++11's UTF-8 or UTF-16 support would be nice.
19:48:19  <FearTheCowboy>I want to write some more test code before I commit one way or the other. Safe enough to use the typedef for now :D
19:48:56  <FearTheCowboy>If VC++ handled UTF-8 *at all* I'd have said f'it we're going UTF-8. Unfortuneatly, VC Sux at UTF-8
19:49:01  <FearTheCowboy>like... terrrrible.
19:49:11  <auroraeosrose>not just vc
19:49:14  * auroraeosrosesighs
19:49:26  <auroraeosrose>my #1 request - FIX UTF-8 on windows
19:49:30  <auroraeosrose>pretty pretty please
19:49:32  * auroraeosrosecries
19:49:46  <FearTheCowboy>Well, Windows is gonna be UCS-2 for ever I'm sure.
19:50:06  <FearTheCowboy>but if the damn compiler wasn't so f'ing clueless... it'd help
19:50:43  <FearTheCowboy>Hell, Windows has a CP for UTF-8, but the locale stuff in the CRT doesn't let you use it. What the hell is with *that*!?
19:50:50  <bcraig>calling bytes, null terminated ascii strings, utf8 strings, and mbcs strings "char *" is a shame
19:51:24  <FearTheCowboy>Especially since C++11 introduced native types for UTF-8, -16, and -32
19:51:50  <FearTheCowboy>And CLang worked perfectly like I thought it should. Same code on VC doens't even compile. *sigh*
19:52:02  <bcraig>I haven't stared at the spec enough to remember if they are new types, or just typedefs. I hope they are new types
19:52:08  <FearTheCowboy>new types
19:52:47  <FearTheCowboy>and new UTF string literals ... auto text = u8"this text is UTF-8";
19:56:00  <FearTheCowboy>bcraig -> as for the VS test suite automation, that code at bitbucket http://j.mp/1j63axd works pretty good for integrating xUnit++ tests into VS
19:57:18  <bcraig>I'll have to give that a look over. thanks
19:59:12  <madewokherd>changing the interface to utf8 would probably be difficult for me
19:59:25  <madewokherd>since it's all going to be WCHAR-based internally
19:59:43  <madewokherd>(and the more diffs I make in the actual code, the harder it is to merge fixes from upstream)
19:59:50  <FearTheCowboy>true enough.
20:00:02  <FearTheCowboy>work with it that way, we'll have to deal outside of that anyway.
20:00:31  <FearTheCowboy>although, XML docs can set the charset in their header line right? <xml charset="utf-8" />
20:00:52  <FearTheCowboy>how do we handle that? Do we have to translate the doc to WCHAR first?
20:00:58  <mgdm>in the <?xml ?> bit surely? </pedant>
20:01:24  <madewokherd>uh, no, xmllite has to figure out the encoding (unless you tell it) and translate it itself as needed
20:01:32  <FearTheCowboy>ah, well, then no worry
20:01:46  <FearTheCowboy>then I'm fine with the WCHAR
20:03:20  <madewokherd>I assume you're going to need an IStream implementation as well
20:03:58  <FearTheCowboy>As minimal as possible; the Windows implementation can do that without COM for XMLLite
20:04:06  <FearTheCowboy>Isn't it really really a light interface anyway?
20:04:19  <madewokherd>it is, but it's completely nonexistent on linux of course
20:04:24  <FearTheCowboy>right.
20:04:27  <FearTheCowboy>so, yeah.
20:05:01  <FearTheCowboy>You know MSBuild is both brilliant and sad at the same time.
20:05:02  <madewokherd>I was thinking of just making one based on FILE* but I don't know if you're going to be working with files
20:05:23  <madewokherd>I guess I'll need one to run the tests anyway
20:05:25  <FearTheCowboy>Hmm. It's possible they may not be, so keep our options open
20:05:43  <madewokherd>well, you'll certainly have the option to provide your own
20:05:57  <madewokherd>there's no advantage to me in hard-coding the implementation
20:06:02  <FearTheCowboy>msbuild would make a great x-plat build tool if it was available on non-windows systems
20:06:07  <FearTheCowboy>lol
20:06:11  <auroraeosrose>good luck with that
20:06:12  <madewokherd>mono has xbuild
20:06:23  <auroraeosrose>any news on cmake ;)
20:06:25  <madewokherd>probably .net-only though
20:06:56  <FearTheCowboy>CMake is still in the thinking process. Pity part is, cmake is often a terrible ratsnest too.
20:07:38  <FearTheCowboy>msbuild's model is actually quite nice, if only (a) it was native, not .NET (b) x-plat (c) the VS people would learn how to use it right
20:07:46  <bcraig>all the build platforms are horrible. It's a matter of finding the least bad option
20:07:55  <auroraeosrose>I can tell you the most bad
20:07:59  * auroraeosrosestabs autoconf
20:08:12  <FearTheCowboy>auroraeosrose -> that goes without saying :D
20:08:19  <mgdm>I learned a bit about autoconf recently, enough to build some libraries
20:08:20  <madewokherd>wow, "pure bourne shell" beat it?
20:08:22  <mgdm>I didn't enjoy it
20:08:49  <FearTheCowboy>Still, if someone sucked it up and made .targets files for gcc, msbuild would be so usefule.
20:08:51  <mgdm>I also liked 'waf' (which is Python)
20:08:55  <auroraeosrose>madewokherd yes
20:09:20  <mgdm>s/liked/didn't want to set on fire/
20:17:23  * madewokherdmakes an XMLWCHAR typedef
20:17:32  <FearTheCowboy>lol
20:17:49  <madewokherd>I had to do it
20:18:02  <madewokherd>it has to be in the public headers, and I have to be able to change it easily
20:41:11  <FearTheCowboy>As much effort as this is, I think OneSetup will be orders of magnitude easier to test than any project I've ever done.
20:41:38  <FearTheCowboy>now, it'll be nice if someone actually writes the tests, but hey, you can only fix one thing at a time :D
20:42:24  <FearTheCowboy>And, no matter what goofy hoops I have to put in place for Windows code to make the lawyers happy, at least anyone can contribute tests.
20:43:33  <alkaline>(you should add a little *hint, hint* in there somewhere)
20:44:20  <FearTheCowboy>I figured it was implied :D
20:45:19  <alkaline>hehe.
20:45:36  <alkaline>since i've been obscenely out of the loop, what's going on anyway? :P
20:47:54  <FearTheCowboy>well the short of it, is that I'm building a cross-platform component that is a pluggable interface for package managers that will eventually ship in-box in Windows
20:48:11  <FearTheCowboy>and we'll be able to plug any MS or third-party package managers into it.
20:48:19  <FearTheCowboy>and have common commands for everything.
20:48:57  <FearTheCowboy>as well as a remotable WMI (OMI on non-windows) interface for remote management of software
20:49:29  <FearTheCowboy>first step is the pluggable API where we can plug in everything from MSIs to Chocolatey, nuget, etc...
20:49:43  <FearTheCowboy>so you can in the not-too-distant future use commands like
20:50:01  <FearTheCowboy>PS > install-package http://apache.org/httpd
20:50:04  <FearTheCowboy>and it just works.
20:50:50  <alkaline>is dependency checking done automagically or published by the respective build pkgs?
20:51:07  <FearTheCowboy>that's all delegated to the individual pkg handlers
20:51:09  <FearTheCowboy>however
20:51:30  <FearTheCowboy>if a pkg handler is wise, they can optionally call back into OneSetup to resolve dependencies that aren't theirs
20:52:04  <FearTheCowboy>which would then find the appropriate handler
20:52:33  <alkaline>ya know, it's still a very enticing concept after all these years...
20:53:09  <alkaline>i don't think the vision has changed much; only the use-cases have been modernized a bit.
20:53:47  <FearTheCowboy>the big difference is that instead of trying to make one pkgr to solve them all, we just made some universal-super-glue instead
20:53:53  <madewokherd>yay, IXmlReader definition compiles on C and C++
20:53:58  <FearTheCowboy>Wheeee!
20:54:00  <madewokherd>I wonder if they're actually compatible and not broken
20:58:27  <alkaline>hmm... so how can i help, FearTheCowboy?
20:59:09  <alkaline>and w/ regards to my msgs last week, yeah... relocation is in my future.
21:01:17  <FearTheCowboy>as to the first, I'm meeting with our legal folks to go over rules for where I can and can't take contributions, and once that's settled, I'll be creating a project on github, and with that and the contribution procedures, I'd be happy to take any code you could write. ( Tests will for certain be something I can take contributions for)
21:01:28  <FearTheCowboy>my meeting with them is tomorrow.
21:02:00  <alkaline>that sounds like good news :)
21:02:02  <FearTheCowboy>I'm just putting in all the build plumbing for all the project parts right now (and all the test projects)
21:02:48  <FearTheCowboy>Shortly after we actually get the damn thing building some code, we'll have to make build scripts for non-windows
21:03:04  <FearTheCowboy>so we can hopefully be building for at least linux at the same time.
21:04:19  <FearTheCowboy>As to the second, I'm in my office tomorrow, so ping me on skype tomorrow afternoon, perhaps around 2pm pacific?
21:04:25  <madewokherd>https://github.com/madewokherd/xmllite/blob/master/xmllite.h <-- I guess if you really want to, you can try using this in platform-neutral code using xmllite and see if it builds
21:04:43  <madewokherd>probably won't work with windows headers imported
21:04:58  <madewokherd>and will fail to link of course
21:05:32  <FearTheCowboy>I'll try that once I'm finished with integrating all the test stuff.
21:05:51  <FearTheCowboy>Hmm. I wonder if I can steal some xmllite test suites from the windows source base :D
21:05:58  <FearTheCowboy>hmmmmmmm
21:06:20  <madewokherd>I was going to steal them from wine, of course
21:06:33  <madewokherd>but that would be pretty cool
21:06:58  <FearTheCowboy>the ones in Windows will cover everything. I'll look into that tomorrow, and see how hard they would be to grab
21:07:03  <madewokherd>especially if they're C++, then I can actually test the compatibility of those c++ definitions
21:09:12  <alkaline>2p Pacific Time? Thank you, i'll surely hit you up tomorrow.
21:09:18  <FearTheCowboy>ok
22:13:23  * bcraigquit (Ping timeout: 252 seconds)
22:58:13  * bcraigjoined
23:03:41  * Jeanne-Kamikazequit (Quit: Leaving)
23:08:20  * ender`quit (Quit: "HR?" "Human Resources." "In Brussels that kind of department is referred to as the Office for Personkind Enablement. Resources sounds like something you dig out of the ground." -- Peter F. Hamilton: Great North Road)
23:43:20  * auroraeosrosequit (Ping timeout: 245 seconds)
23:51:22  * auroraeosrosejoined