00:23:05  * madewokherdjoined
00:52:17  * madewokherdquit (Remote host closed the connection)
01:15:12  * madewokherdjoined
01:49:23  * auroraeosrosequit (Ping timeout: 250 seconds)
02:00:03  * auroraeosrosejoined
02:49:20  * bcraigquit (Ping timeout: 240 seconds)
03:03:03  * auroraeosrosequit (Ping timeout: 250 seconds)
03:45:13  * Arnavionquit (Quit: Arnavion)
03:45:41  * Arnavionjoined
04:06:10  * AtashiConquit (Quit: AtashiCon)
04:23:17  * alkalinequit (Quit: ~ Trillian Astra - www.trillian.im ~)
04:37:35  * AtashiConjoined
05:36:18  * madewokherdquit (Remote host closed the connection)
07:18:33  * ender`joined
10:30:06  * auroraeosrosejoined
12:10:49  * Arnavionquit (Quit: Arnavion)
12:14:24  * Arnavionjoined
13:26:12  * bcraigjoined
13:49:24  * auroraeosrosequit (Ping timeout: 246 seconds)
13:50:26  * auroraeosrosejoined
15:56:43  * vpovirkjoined
16:46:04  * stalledquit (Ping timeout: 260 seconds)
16:54:57  * stalledjoined
17:05:37  * nemeququit (Quit: Coyote finally caught me)
17:05:55  * nemequjoined
18:02:13  * GarrettS-MSFTjoined
18:02:13  * GarrettS-MSFTquit (Changing host)
18:02:13  * GarrettS-MSFTjoined
18:02:42  <GarrettS-MSFT>FYI, we're definitely having a meeting this friday.
18:03:06  <GarrettS-MSFT>Much news and a bit of design review for OneSetup
18:05:16  <auroraeosrose>oooh, stuff happening?
18:05:20  <GarrettS-MSFT>Most notably auroraeosrose and vpovirk should hopefully be there, with their awesome C skillz
18:05:30  <GarrettS-MSFT>Yeah, I've basically been given the go-ahead with OneSetup
18:05:30  <auroraeosrose>LOL
18:05:36  <auroraeosrose>cool!
18:05:40  <auroraeosrose>what are we breaking?
18:06:05  <GarrettS-MSFT>I'm sketching out the Plugin API right now
18:06:32  <GarrettS-MSFT>(both the 'how-do-we-enumerate-and-load-plugins) and the (what does a plugin-have-to-expose-for-functions)
18:07:12  <GarrettS-MSFT>And I have the beginnings of a multi-milestone plan
18:07:34  <GarrettS-MSFT>I need a ton of feedback on some of this stuff.
18:09:17  <GarrettS-MSFT>The current idea is that we're going to build the whole component as open source, with the caveat that I can't take external contributions to the parts that we want to ship in-box in Windows. Past that, the plugins, tests, and everything else I can take external code for.
18:15:37  <GarrettS-MSFT>I've been looking at how to handle x-plat strings, I think we're going to have to settle on utf-16 strings (using wchar_t on Windows, and char16_t on *nix)
18:16:05  <GarrettS-MSFT>the Casablanca (CPP Rest SDK went that way, and have a nice bit of code to abstract that without much pain)
18:17:16  <vpovirk>I will try to remember
18:18:24  <vpovirk>is this going to be C or C++?
18:18:41  <GarrettS-MSFT>C++11 on the inside, exposing plugin fns as C howwever
18:19:17  <vpovirk>so basically C++ for the parts you can't take external contributions for?
18:20:07  <GarrettS-MSFT>Well, my default would be to use C++ for those components too, but I'm less worried about that.
18:22:10  <GarrettS-MSFT>C++11 is both a bounty of joy and happiness, as well as a challenge for those of us who did most of their work in .NET for the last several years.
18:23:29  <GarrettS-MSFT>C++11 includes a ton of awesome stuff in the standard library (including how to handle threads, regex, futures, and a whole lot more)... but it's so much different from what I was used to, it's like a whole new language.
18:24:49  <GarrettS-MSFT>Changes in philosopy like 'Don't use class inheritance to implement polymorphism' and 'avoid allocating objects on the heap' ... very very different from the old days.
18:24:56  <GarrettS-MSFT>I'm still trying to get a grip on some of it.
18:31:31  <auroraeosrose>heh - as long as we expose it to raw C that's fine
18:31:51  <GarrettS-MSFT>Yeah, that's pretty much manditory
18:31:55  <auroraeosrose>and utf16 is fine too - there are tools to use char16_t on linux
18:32:10  <auroraeosrose>that WILL mean a dep on the Linux side but that should be acceptable ;)
18:32:23  <GarrettS-MSFT>the c++11 char16_t support in clang is pretty damn good.
18:32:30  <auroraeosrose>that's excellent
18:32:34  <auroraeosrose>how is gcc
18:32:37  <GarrettS-MSFT>even without any external libs.
18:32:42  <GarrettS-MSFT>I'm not entirely sure.
18:32:54  <GarrettS-MSFT>clang seems to be where the cool kids are these days
18:33:03  <GarrettS-MSFT>but ideally we're not hanging ourselves D:
18:33:05  <auroraeosrose>eh, that's just it
18:33:09  <auroraeosrose>"cool kids" yo
18:35:03  <GarrettS-MSFT>I think we're gonna have to take a few deps on Linux regardless (I'm pretty sure that some of Casablanca's code requires Boost, libssl, and libxml++ ... but I don't see what they're using libxml++ for .
18:35:16  <auroraeosrose>no clue
18:35:41  <GarrettS-MSFT>since they don't actually use XML anywhwere. Maybe libssl uses it.
18:38:29  <GarrettS-MSFT>hmm. nope.
18:38:51  <auroraeosrose>that's when you drop it and see what doesn't link
18:39:25  <GarrettS-MSFT>Ah, their use of UnitTest++ uses it.
18:39:33  <auroraeosrose>ah
18:39:35  <auroraeosrose>that makes sense
18:39:43  <GarrettS-MSFT>Well, that's ok, I wasn't going to use UnitTest++
18:40:31  <vpovirk>personally if I'm using C I prefer to use glib, which handles utf16 fine
18:40:46  <vpovirk>but for something like this you have to be careful about deps
18:58:44  <Arnavion>Why not use UTF-8 like literally everything that's not Windows?
18:59:00  <auroraeosrose>because windows doesnt' support utf8 properly
18:59:01  * auroraeosrosesighs
18:59:17  <auroraeosrose>there are other advantages to utf16 as well
18:59:19  <Arnavion>How so
19:00:19  <Arnavion>I'd say utf-16 support is broken on Windows too, since every API assumes one UTF-16 char is two bytes
19:00:33  <Arnavion>Atleast with UTF-8 you get non-BMP for free
19:00:35  <auroraeosrose>you have to use wchar_t with W to do any utf8
19:00:41  <auroraeosrose>with windows apis
19:01:16  <Arnavion>Yes, I know that utf-8 on Windows will require converting to utf-16 first
19:01:42  <auroraeosrose>so why would anything developed primarily for windows use something that would need conversion of every string?
19:01:56  <Arnavion>I thought this was going to be cross-platform
19:02:21  <auroraeosrose>yes, but its main consumer is windows
19:02:33  <GarrettS-MSFT>Well the big trouble is that UTF-8 on windows is virtually non-existant
19:03:00  <GarrettS-MSFT>I was really really really trying to figure out how to do UTF-8 in a cross platform way without killing myself.
19:03:11  <Arnavion>ICU
19:03:19  <GarrettS-MSFT>In Windows Core System?
19:03:32  <GarrettS-MSFT>I still gotta write it so it can ship in-box :D
19:03:39  <Arnavion>I see glib mentioned above, glib also uses utf-8 internally
19:04:16  <GarrettS-MSFT>without a suitable means to get it in-box I'm screwed.
19:04:25  <Arnavion>So your reasoning is that since it has to ship without deps, you have to write it yourself -> you want to write utf-16 because it's easier and has native support -> everything that's not Windows will therefore also use utf-16
19:04:29  <Arnavion>Is that right?
19:05:44  <GarrettS-MSFT>Near enough.
19:06:21  <GarrettS-MSFT>If I thought my template-fu was good enough I could write everything encoding-agnostic and let the compiler on the platform sort it out
19:06:36  <vpovirk>and nearly all external code is off-limits, even if you just take a few functions?
19:06:43  <GarrettS-MSFT>Yeah.
19:07:09  <GarrettS-MSFT>If it's not written by an MS employee, or included in VC or Windows itself, I won't be shipping it in-box in Windows.
19:07:33  <GarrettS-MSFT>The bar is rather high on that point, and they've made it clear I'm not going to be able to change that in a reasonable timeframe.
19:09:05  <GarrettS-MSFT>I was playing around a while back trying to see if I could pull that off with using UTF-8 on Linux and wchar_t on Windows.
19:10:32  <GarrettS-MSFT>what really pissed me off was the std::locale stuff in VC++ doesn't seem to have any UTF-8 support.
19:12:06  <GarrettS-MSFT>I'm going to be over in the VC++ team's building later today, I think I'm gonna stop in and have a quick chat about a couple thing.s
19:14:24  <bcraig>if you can help it at all, you should try to avoid boost built libraries. in other words, stick to the headers only libraries where possible
19:14:51  <bcraig>It makes it much easier to build out of the box that way
19:15:08  <GarrettS-MSFT>We won't be using boost at all on Windows. If I use some of Casablanca's code they have a minor use of boost in a couple places.
19:15:13  <bcraig>since you are using c++11, you don't need to go to boost for boost::thread or boost::regex, so it may not be that hard
19:17:13  <GarrettS-MSFT>I'm not thrilled about the prospects for XML parsing at this point, and I think I've found a partial XPATH implementation internally that I can steal (and release the source to :D )
19:17:34  <bcraig>msxml exists, but you'd have to abstract on top of it
19:18:01  <GarrettS-MSFT>Yeaaah. Sadly, I need this to run on a version of the OS that doesn't include MSXML (or COM)
19:18:10  <auroraeosrose>oh ewww
19:18:11  <GarrettS-MSFT>So I'm likely gonna have to use XMLLite
19:18:14  <auroraeosrose>do I want to know?
19:18:58  <bcraig>Hmm, I thought winrt was all COM based. Doesn't mean that msxml is available there though
19:19:04  <GarrettS-MSFT>Basically they would like to make sure that this can run on a variety of embedded windows implementations too
19:19:16  <auroraeosrose>ah, embedded windows
19:19:25  <GarrettS-MSFT>among others.
19:19:54  <bcraig>well, if you can't use something as low as expat, and you can't use msxml, then I can definitely see the pain
19:20:22  <bcraig>and if this is in the box, then someone will probably need to fuzz test your xml parser
19:21:03  <GarrettS-MSFT>Well, I suspect that I'm going to write it using XmlLite and write an XMLLite wrapper around something like libxml or expat
19:21:13  <GarrettS-MSFT>brb
19:21:28  <vpovirk>we have an xmllite in wine, you know
19:21:37  <vpovirk>winelib deps could probably be removed
19:22:01  <bcraig>If it's external code, it would still be an issue
19:22:55  <vpovirk>only if you use it on windows
19:23:45  <bcraig>right. I see the windows implementation of an xml parser being the trickiest
19:24:08  <vpovirk>he seems to think xmllite is usable
19:25:02  <bcraig>hadn't heard of it before, but yeah, that looks reasonable
19:25:32  <vpovirk>wine's xmllite doesn't appear to have any external deps
19:25:53  <GarrettS-MSFT>back
19:25:54  <vpovirk>so I bet it could be pretty easily ported
19:26:06  <GarrettS-MSFT>REALLY
19:26:21  <GarrettS-MSFT>Never thought of lookign for XMLLite in Wine.
19:26:36  <GarrettS-MSFT>that's f'ing awesome.
19:30:00  <vpovirk>don't know how complete it is, though
19:31:03  <vpovirk>FIXME("namespace definitions not supported\n");
19:32:15  <bcraig>namespaces seem to be one of the first things to go in almost every lightweight xml parser
19:32:21  <GarrettS-MSFT>FFS.
19:32:41  <vpovirk>you really need namespaces?
19:33:05  <GarrettS-MSFT>SWID tags definitely use them unfortunately.
19:33:59  <vpovirk>guess you have to balance the work of improving it against the work of writing that wrapper
19:34:10  <GarrettS-MSFT>Pretty much
19:34:40  <vpovirk>if I don't have to dive too deep into xml stuff I might be willing to do that
19:34:45  <vpovirk>the wine stuff, not the wrapper
19:35:14  <GarrettS-MSFT>That would solve that pretty nicely :D
19:35:21  <vpovirk>but I recall reading the xml spec around namespaces and being very confused
19:35:56  <GarrettS-MSFT>it shouldn't be really *that* difficult. I think the specs make it more confusing than they need to be.
19:36:18  <vpovirk>if you know a better introduction that would be cool
19:36:44  <GarrettS-MSFT>lemme see what I can dig up
19:36:47  <vpovirk>(because I would hope to understand the spec before writing an implementation)
19:38:52  * timotei_quit (Ping timeout: 264 seconds)
19:54:34  * timotei__joined
20:15:35  <GarrettS-MSFT>I keep wandering across places where this guy says "Can you guys be the first at Microsoft and implement XPath2 and XSLT2 W3C standards "
20:15:46  <GarrettS-MSFT>in places that has nothing to do with either of those two things
20:15:47  <auroraeosrose>LOL
20:16:17  <GarrettS-MSFT>he created a workitem in a the casablanca project for it too (which doesn't use either)
20:17:15  <bcraig>I have one set of people on my project complaining that our dependencies are too new, and another set that wants us to use new features, only available in newer dependencies
20:17:25  <auroraeosrose>LOL
20:17:31  <GarrettS-MSFT>That's always helpful :D
20:17:33  <bcraig>I blame RHEL
20:17:55  <auroraeosrose>yes, you should
20:18:55  <bcraig>if this project is using C++11, it will be blaming RHEL as well
20:19:11  <bcraig>RHEL 6 (the newest currently released) only has gcc 4.4
22:08:35  * cH40z-Lordquit (Ping timeout: 260 seconds)
22:10:32  * cH40z-Lordjoined
23:04:07  * cH40z-Lordquit (Ping timeout: 260 seconds)
23:05:45  * cH40z-Lordjoined
23:16:46  * ender`quit (Quit: Eighty percent of all people consider themselves to be above-average drivers.)
23:30:51  * vpovirkquit (Remote host closed the connection)
23:44:37  * azenoquit (Ping timeout: 248 seconds)
23:48:55  * azenojoined