Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements


Lars Kemmann Lars Kemmann
  • C9::GoingNative Live: Kate Gregory and Steve Teixeira - Modern C++, AMP, Casablanca, C++ Renaissance

    From my point of view, there are now two main reasons left that keep me from "going native" with my software (Herb Sutter is right on with this):

    1. Components.  .NET is, as Juval Lowy likes to say, the "component-oriented framework" that superseded COM.  In C++, today, there would be a huge barrier to cross (at least that's the impression I get) if I wanted to support third-party extensions (and I *have* to).

    2. Libraries.  The asynchrony/concurrency work from MS is fantastic, but more often I need to do "basic" - and standardized! - things like XML, JSON, HTTP, TCP/IP, etc.  (Oh, and C++ XAML would be nice to have on Win7 as well. Smiley )

    For those of us who are in a situation like this, what would you recommend?  Keep working in .NET (or Ruby, or whatever) for another year or two and start (re-)learning C++ on the side?  Or try to make the switch now?  If the latter, then could you provide some guidance for how to deal with these issues?  Maybe create a "living" document that provides C++ equivalents/recommendations for each of the classes available in the .NET Framework?  That would be a great MVP-esque contribution Wink

  • Identity and access management for Windows Azure apps

    Agree with @femtobeam - this was a pleasure to watch and definitely simplified a complex subject.

  • GoingNative 9: LINQ for C/C++, Native Rx, Meet Aaron Lahman

    Looking forward to this.  Hope MS follows the pro-standardization direction that Herb Sutter has been trying to set.

    @dot_tom: I agree - a standard, source-format, portable XML library is very much needed.  (And a JSON library, a TCP/IP library, and an HTTP library.  Likely all built on an async task/futures-based runtime.)

    Who knows?  If this keeps up, maybe I can switch from C# to C++ a few years sooner than I planned!  (I'm not going to get my hopes up just yet, though.)

  • What is a database, really?

    My my, they keep adding more dimensions to that diagram.  (Not shown in the ACM article is the "homoiconicity" dimension (IQueryable & IQbservable) - I guess 4D is just too hard to print.)

    Wonder what'll show up next...?

  • What is a database, really?

    Meijer + Beckman = rate as "5 stars" before even finishing the download. Smiley

  • TWC9: WCF Data Services v5, Performance Killers, Project Detroit and more

    Personally, I preferred being able to skim the bulleted list quickly - but then, I always get C9 via RSS.  (I almost never watch TWC9. Embarassed)  Plus, the caption on each thumbnail is too small to read.

    But maybe it's great for others?

  • Variadic Templates are Funadic

    Dear C9 Team,

    Since conferences always seem to bring a lot of "where's the video" comments, could you add some sort of status indicator on these posts?  Something like:

    • Talk has not happened yet
    • Talks is airing live
    • Talk is past and was recorded, is now in processing (ideally with an ETA, but you can only do so much)
    • Talk uploaded for perpetual on-demand access by Niners Smiley
  • YOW! 2011: Allen Wirfs-Brock and Rob Manson - Ambient Computing, Augmented Reality, and JavaScript

    Right, sorry Charles.  Rob Manson's comment in the video about how native apps cause fragmentation was what triggered some of my comments, but it was definitely just a side remark of his. Smiley  Allow me to try again, if that's okay.

    The big question underlying the video is just how to address - and prevent - that very fragmentation of native/platform-specific apps.  In other words, in the world of ambient computing - where a proliferation of devices with ever-changing form factors and ever-increasing interconnectivity is the norm - how do you really manage to "write once, run anywhere"?

    In that respect, Java was the champion in the late 90s but failed to deliver (for whatever reason, I blame UI mostly but I'm not familiar enough with the history of Java).  .NET came along as Microsoft's take on portability (MSIL), and the idea of WPF/E had us all cheering for a long time.  But because Silverlight/XAML stayed a (mostly) closed platform, it was never really adopted universally on the Web, so now HTML5 is the dominant option for a "write once, run anywhere" de facto standard.  And it will stay that way.

    Hence my worries when the Web becomes fragmented with vendor-specific extensions that have no plans for standardization (whether Metro, Chrome, or anything else).  I love taking advantage of close operating system integration, don't get me wrong, but the only way to make that profitable in the long term (in the absence of an OS monopoly) is to keep pushing cross-OS (e.g., Web) standards.

    A classic example of this is GDI vs. HTML5 Canvas.  Both (more or less) neatly express the need to draw free-form graphics across myriad devices - in ever-changing form factors - in a portable way.  When Windows was universal, GDI was the de facto answer for doing graphics.  But with the arrival of more devices that didn't run Windows, another approach was needed and evolved from Apple's custom Canvas tag into an HTML5 standard.  As browser implementations then "caught up" with the standard (in other words, as Canvas became a standard way to do free-form graphics), we developers were suddenly able to use hardware-accelerated rendering - across any device that implemented the Canvas tag!  Canvas thus subsumed GDI in a more portable way because the market reality changed.

    Sure, taking advantage of the latest and greatest (whether hardware-accelerated rendering in the 2000s or touch in the 2010s) will always require non-standard extensions (or even platforms) for early adopters, and there's a great first-mover advantage to doing so (that's why, for example, I keep specializing in Windows rather than trying to learn all the intricacies of Linux, Mac OS X/iOS, or Android - when I need close OS integration I can only afford to do it with one OS).  But in the long term, for those technologies to become commodities, we need a standardized way to use them.

    So the more I think about it, maybe IE10 isn't so bad after all. Smiley  To reword what I said to aL_, as an engineering professional I should respect standards unless there is a compelling reason to go vendor-specific, and even then I need to keep pushing for the standards to catch up.

    So - where is the standard multi-touch/gesture API for Javascript?  And where is the one that supports three-dimensional interactions with ambient cameras like Kinect? Smiley

  • YOW! 2011: Allen Wirfs-Brock and Rob Manson - Ambient Computing, Augmented Reality, and JavaScript


    It's about COM interop, true (MS definitely did that well), but it's also about pushing a proprietary API with a proprietary app store that generates a vendor lock-in for Microsoft.  It's the Win32 API war all over again.


    I agree, users don't know the difference between a proprietary Internet (e.g., the route that is being taken by Apple iDevices, Google Chromebooks, Microsoft IE10) and an open Internet.  Don't you think it's our responsibility as engineering professionals to make the decisions for them?

    The web stack is able to do incredible things - think Google Wave, Google Docs, or Prezi.

    Interesting times indeed. Smiley

  • YOW! 2011: Allen Wirfs-Brock and Rob Manson - Ambient Computing, Augmented Reality, and JavaScript

    @aL_: I was thinking about this "too slow" progress of standards bodies today, actually from the point of view of gaming (something I hadn't seriously looked at in a while).  Sparked by this article about a presentation by Forrester CEO George Colony on the end of the web, I was thinking about the question of whether HTML5+ and technologies like WebGL can keep pace with consumer (or business) demand, or whether native apps really are the future (as they were the past).

    While there are some fundamental limitations to the web architecture that mean you'll always have some more freedoms locally (case in point: Javascript), I think the standards have been growing just about as fast as real consumer demand.  Note that for "us" (developers), things like 3D and asynchrony (think WPF/Silverlight, web sockets) are things we wanted yesterday.  On the other hand, the average user - whether consumer or enterprise - has always lagged behind in actual adoption.  I think the "general user adoption lag" and "standardization lag" are actually - fortunately for the web, and unfortunately for Mr. Colony - about the same in most cases.  So we'll continue to see a thriving web that meets real needs, as long as we maintain our commitment to the standards.

    Standards are almost as fundamental as analytical models and the laws of physics for most engineering disciplines.  My respect for standards has grown significantly over the last few years as I've learned more about them, and I shudder to think what a future forever dominated by fragmented native "apps" will look like.  I hope Microsoft and others will be agile enough in their business models to embrace standards (and I don't mean the embrace-extend-extinguish kind!).

    What worries me now is that Google/Chrome is starting to neglect the standards, and so is Microsoft/IE10.  Lock-in and fragmentation of the market with native "extensions" (specifically apart from any goal of standardizing them, e.g. IE10's WRT API has no standards ambitions) is certainly one business strategy, and it has short-term benefits for the companies that employ it.  I would love to see Microsoft, Google, Apple, and others fully embrace a standards-driven Internet and allow open competition on a level playing field (and adjust their business models accordingly), but I'm just being idealistic when I hope for that.

    Follow the money.

    Bottom line: technology isn't going to be the death of the web, corporate strategy is.  The standard web just doesn't yield sufficient profit margins for Microsoft, Apple, or even Google.  (The standard web used to be a goldmine for Google when it was the best offering on every browser, but ironically Google is probably pursuing custom extensions today primarily as a result of competition from Bing/Yahoo.)

    You could easily prove me wrong - if you could find a way for one of those three companies to grow its shareholder value without resorting to custom extensions to help them win the battle.  Good luck. Smiley