Profile

Cover photo
James McNellis
Works at Microsoft
Attended University of Texas at Arlington
Lives in Issaquah, WA
159 followers|29,290 views
AboutPostsPhotosVideos
People
Have him in circles
159 people
Tom Kirby-Green's profile photo
Konrad Rudolph's profile photo
Kevin Kimtis's profile photo
Ambrose Little's profile photo
Ben Vail's profile photo
Jeremy Battle's profile photo
Work
Occupation
Computer Programmer
Employment
  • Microsoft
    Senior Software Development Engineer, 2010 - present
  • Lockheed Martin
    Software Engineer, 2004 - 2010
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Issaquah, WA
Previously
Arlington, TX - Washington, DC - Lakeville, MN - Orlando, FL - Colorado Springs, CO - Louisville, CO - San Jose, CA - Rockville, MD
Contact Information
Home
Email
Google Talk
james@jamesmcnellis.com
Story
Introduction
I'm a computer programmer; I currently work on the Visual C++ team at Microsoft, where I build awesome C++ libraries.

I am a generic programming aficionado and a top contributor on Stack Overflow, where I answer questions about C++, templates, and the STL (among other things).
Education
  • University of Texas at Arlington
    M.S., Computer Science (Artificial Intelligence), 2008 - 2009
  • The Catholic University of America
    B.A., Philosophy, 2003 - 2007
Basic Information
Gender
Male
Other names
Indutiomarus

Stream

James McNellis

Shared publicly  - 
 
While the last two years working on XAML tooling have been terrific, I was reminded at BoostCon/C++Now two months ago of how much I miss working with C++.  So...

At the end of this month, I'll be joining the Visual C++ team, where I'll be working on building awesome C++ libraries.
4
Pavel Minaev's profile photoJames McNellis's profile photo
3 comments
 
Angle brackets? It's obviously XML, duh! Try JavaScript.
Add a comment...

James McNellis

Shared publicly  - 
 
 
Your library needs you!
One of the sessions I really enjoyed at the C++Now! Conference was a presentation from Beman Dawes on how to propose a library or extension to the standards committee. By some strange co-incidence <g> this is also our first chance to announce the opening of a public Google group where you can get feedback and guidance on making such proposals! We expect that members of the Library Working Group will be checking in on this group, and hopefully putting our own proposals up here for feedback too. This is a real chance to interact with the standards community, even if you cannot attend meetings.

For further details, take a look at the good groups at http://groups.google.com/a/isocpp.org, and sign up for the Library - Proposals group.
1
Pavel Minaev's profile photo
 
The link leads to a rather confusing page when using the new Google Groups interface. This goes straight to the list of groups: https://groups.google.com/a/isocpp.org/groups/dir
Add a comment...

James McNellis

Shared publicly  - 
 
I had a very productive evening with the Visual Studio profiler! Before and after profiles:
1
Alf Steinbach's profile photo
 
Yes, but does it beat intuition? <g>
Add a comment...
Have him in circles
159 people
Tom Kirby-Green's profile photo
Konrad Rudolph's profile photo
Kevin Kimtis's profile photo
Ambrose Little's profile photo
Ben Vail's profile photo
Jeremy Battle's profile photo

James McNellis

Shared publicly  - 
 
Oh boy! By the size of these boxes, it looks like someone ordered Visual Studio 2012 on 5 1/4" diskettes!
2
1
Add a comment...

James McNellis

Shared publicly  - 
 
"C++ is a large, complex language. To make it simpler, we added more stuff to it." -- +Alisdair Meredith at C++Now!
2
Filip Gruszczyński's profile photo
 
Sweet :-) But that's actually true. Since I started using auto I am spending much less time looking at some obscure sub types.
Add a comment...

James McNellis

Shared publicly  - 
 
Grilling the C++ committee members at BoostCon/C++Now last night.
1
Add a comment...

James McNellis

Shared publicly  - 
 
CxxReflect: Native Reflection for the Windows Runtime
2
Pavel Minaev's profile photoJames McNellis's profile photo
3 comments
 
Actually, my understanding is that GetRuntimeClassName should always return some public (i.e. metadata available) type. If there's no class type that satisfies that constraint, it should then return the "default" interface. As I recall, VC++ implemented it wrong at some point and always returned the (sometimes private) class name, but that was a bug.

Using GetIIDs is, indeed, bottlenecked on perf because there's no efficient lookup of types by IIDs; you have to scan the metadata yourself. What's worse, though, is that you don't even know what you need to scan - there's no guarantee that the metadata file for the given IID has already been loaded, and what do you do then?

(coincidentally, I believe that's why JS projection only looks at GetRuntimeClassName and ignores GetIIDs)
Add a comment...