Day Two:
Keynote -- Office 12 / Sharepoint stuff
This is going to be a big thing for microsoft and is geared more towards the IT types. It doesn't really interest me and I had a bit of a hangover, so I zoned quite a bit. Sorry.
It looks like a ton of stuff and I'm sure the little IT/IW weenies came in their pants, but I just tried to stay awake.
Smart Clients
If you're around the MS world at all, you've heard of smart clients. First off, smart clients are fat clients. They are fat clients with "smart" features. Consider it a similar model to the JNLP stuff of the java world, but there are more restrictions/implications. I don't really wanna go into here, but should someone care, I can go into annoying great detail as that is my current job. One of the things that a "smart client" should do is handle disconnected situations. So if you're app uses WS and can't get to the net, then you've got to not crap out, but keep working as best as possible (with cached data, batching updates, handling merges upon reconnection, etc.) This is a royal pain in the ass, and even though MS 'requires' this functionality to be called a 'smart client,' they didn't quite get around to providing a way to do it. (They really can't, it is really a app-domain problem.) They do provide some best practices, though and this is what I sat through. Now that I've typed all this, I can't really come up with something to say other than I got good info for my project.
The next bit that I saw was how to write performant Managed Code. All I really got out of it was all the shit they fixed in 2.0. It was an impressive list, and the best thing is that I don't have to do anything at all. They fixed up som really low-level things like Reflection.
IE overheard...
I got early for one of my sessions and overheard a discussion on IE 7 security improvements so I can expand a little upon how the security works. So, IE runs an untrusted application. This means that anything that is launched by the IE process has this same level of security. This means that no matter what holes IE leaves open, theres nothing it can do to hurt you. As long, of course, as they have the process security crap worked out. So this untrusted process can only touch one directory on your FS and can only launch untrusted processes which would have the same rights. So, you might ask, HTF do you do anything? Well, I'll tell you. What it's got is another broker process that it communicates with. The broker process runs as the current user, so he's got whatever rights you do. Anytime the browser needs to do something with more permissions, it's gotta ask the broker to do it for you. The broker process has acces to HKCU and the user directories on the FS, but not HKLM or other parts of the registry. Anyway, that's the model, we'll see how it works out.
Oh, and atrox, your Macromedia problems are macromedia's fault, not MS. They are putting this shit in places that admin needs rights to. That's not MS's fault.
As a matter of fact, they're pretty much begging people to make sure that the developers make sure that they are coding their stuff to not need admin rights. It takes more work (as it does on any platform,) but they can't explicitly control what an 3rd party dev does.
Vista
Vista is a shit ton more than "fancied up" graphics and searching. Like I said, the searching is by definition more powerful than google's current one because you can add your own metadata that means something to you that, currently, google doesn't allow you to manipulate or search. The UI has been completely redone tossing out win32 and replacing it all together. This means that all the cool shit you can do in other OSes are now possible on windows as well. Also, the underlying communication model of windows is changing from an Event Pump model into a messaging model that is exposed to everyone. Another thing they are doing is (supposedly) eating their own dog-food. They are using all the public APIs to do their widgets. This means that 3rd party component devs get to have all the same power and can use their creativity to what they wanna do. Should be great, really.
The next couple of sessions were of vital importance to me and probably not at all interesting to you, so suffice to say I got hard questions answered with sample code and that makes me sleep better at night.
C# 3.0
Anders himself gave this one (and he's like a frickin rock start to these guys, and admittedly, he seems pretty damned cool.) They're adding 7 features to C# and they are pretty cool. They are adding some really crazy constructs to make the language more flexible and intutive for some "hard shit." I'm not gonna talk about them all cause it'll take me and hour or so. I'll just hit a couple of high points.
Lamba expressions - They are making lamda expressions part of the language. Here is an example of a way to pass an anonymouse delegate to a method that expects a function pointer:
delegate string Foo(Customer c);
public void Bar(Foo);
Bar( delegate (Customer c) { return c.Name } );
stupid example, but there it is. So what they are adding are language statements to consolidate this down to
Bar ( c => return Name )
seems like a syntactic sugar thing, but the real power is that you can assign these guys to variables. So that means you can have code as data (lisp anyone?) I've probably confused more than help, but this is a powerful language addition. you can now treat functionality as data which means that you can code up unknown behavior and allow the plugin data to control the execution. Just cool shit.
Let me add that another really cool thing is that all the language features that they are adding are being targeted towards the existing CLR. This means that the compiler is the only thing that changes. In fact, in the example above, the compiler literally translates the "c => return Name" thingy into the delegate statement. This should help them get RTM a helluva lot sooner.
Lesse, what else? Hell I can't remember now, but when I left that session, I was just stunned. It's really gonna change up how restricted we are in code. I'm sure that Java 1.6/6/3 will have some similar stuff, (hehe, couldn't resist...)
Oh, here's something. The LINQ stuff uses these language features. You can write one LINQ clause and see all the feature additions, (and this is what he did.) As to XPath, they have an XML package, (called XLinq) that can consume XML documents. They are interchangeable with the DLinq( database ORM) and the plain ole object collections. Part of their unit tests include the ability to run (their variant) of all the XQuery W3C examples. What's more, you can write your "Select" functions so that you could really probably override the default selects and implement xpath style queries. It is all very extensible and re-usable. I'm telling you guys, throw away the MS sucks attitude and look at this stuff. It's just plain cool.
After this we went to Universal and had the run of the park. I actually MGM in Orlando quite a bit better.
Anyway, I guess that's it for now, I've got more sessions to get to.
-n
Comments
RE: Enemy Camp: Day 2 at the PDC
Thanks again for the report, all good info.
@Oh, and atrox, your Macromedia problems are macromedia's fault, not MS. They are putting this shit in places that admin needs rights to. That's not MS's fault.
I know this. I know Macro is putting the files in the "wrong place" but this likely for a reason, and or due to the history of the os and the location they are using being the "correct" place for decades when user accounts in local Windows machines did not mean a damn thing other than which colors and which shortcuts were on the desktop. XP just still doesnt have a decent security/account model, for this and many other apps its just either a pain or impossible to run them as non admin, hopefully Vista will improve all that greatly.
@Vista
Vista is a shit ton more than "fancied up" graphics and searching.
Well I keep hearing its so much more but then everyone talks about "The UI has been completely redone tossing out win32 and replacing it all together. This means that all the cool shit you can do in other OSes are now possible on windows as well" which is basically look and feel related stuff? The communications model being better is yes a nice plus and more than just graphics.
Overall though I am not sure that better UI/look/feel and searching is not a fair synopsis of the major changes in Vista?
@I'm telling you guys, throw away the MS sucks attitude and look at this stuff. It's just plain cool.
I dont have an MS sucks attitude just to have one. I worked on the NT platform for years as a system administrator and network administrator (in a heterogenous env with Netware and Linux and AIX as well).
My MS consternation is earned, and its mostly security failure and issue related, with some bullying big company (anti competition) sentiment mixed in. Its not really because of their software and or me thinking Java or any other technology is "better", not at all.
I also agree that MS is making some great improvements and sure they offer lots of really cool stuff, some of it even innovative (much of it though not so much innovation as "adoption", ala C# - yes its more and arguably even "better" than Java but the whole thing started as a descendant of Java and other languages).
Overall I am certainly willing to look at it, to expand my own little horizons, but professionally I have not been involved with a company that used MS products in a very long time (and I still have plenty to learn about Java and Unix when it comes to spending my free time on technology). Overall my "MS sucks" attitude was earned, I think justifiably, and that might change but MS will have to earn it back which is not likely to happen until they greatly improve security, have a lot lower prices, and change corporate bullying practices (some of which I admit comes with the territory of being a huge company, its another debate I admit, but for the record I was *against* the whole government anti-monopoly thing when it came to MS - I felt consumers and customers should have made the decision to drop them rather than a mandate).
Still I appreciate that they are probably the most influential and important technology company in the world, and yes they are making progress towards better products.
RE: Enemy Camp: Day 2 at the PDC
Yeah, I saw the Channel 9 video of the new Avalon stuff and the Expression toolset and it looks really cool.
I guess the thing that gets me about all of it, though is the:
part. I really wish the non-Microsoft world could kind of pull it together. Between JDNC, Laszlo, XUL and all the other similar technologies out there, it is really starting to seem like there is a whole lot of work that is almost there, but none of them really have the tools or the total package.
Lazslo has the "cool" but is short on widgets and a little thin on programming methodolody. JDNC has the power, but is seriously devoid of cool, and XUL is somewhere in between with half the power and half the cool.
It is, however, clear that Microsoft is serious about changing stuff, and they have never had a problem putting out quality development tools. The fact that they are moving to large blocks of code built with the CLI is a big step forward. Still, everyone else has a year left to go to school on their throw.
RE: Enemy Camp: Day 2 at the PDC
atrox, I understand that your attitude is well-deserved. I meant it more like "suspend your well-deserved anti-MS attitude long enough to check out this cool new stuff with an open mind."