 |
 |
|
|
|
|
 |
 |
 |
 |
 |
ack Home I made it back with all of my swag, and (yippee) a bought of strep throat.
My final thoughts on what I saw at PDC: Longhorn overall will be cool when it gets here. It seems like a pretty aggressive venture on Microsoft's part to pull all this new fancy stuff together and make it work on some standard equipment, but in two years, the equipment necessary to run it may be ubiquitous anyway. SQL Server Yukon and Whidbey will come sooner and they're, in my opinion and with my standard tasks, what we really need anyway to be more productive. Indigo and WinFS are cool, but lower down on my list of neccesities. Not that they're not going to open up a lot of opportunities. Avalon is mainly icing on the cake. Pretty cool icing, for sure, but still mainly icing. Looking forward to the chance to decorate that cake, but it's gonna be baking for a long time.
Don't have too many more interesting things to say about the PDC experience, other than I'm glad I got the opportunity to go. It was fun, I learned a lot, it reminded me why I really like being a developer and I got inspired again to get started on some of the many projects on my personal TODO list (if I ever figure out how to get around my problem of no free time).
So I guess this is it for this blog. It's been fun. Hope someone got something out of it! See ya next PDC (I hope!).
|
 |
 |
 |
|
 |
 |
 |
|
 |
 |
| October 30, 2003 |
Thursday |
|
 |
 |
 |
 |
 |
echnobabble from yesterday
The session I enjoyed the most yesterday was about the new System.XML enhancements coming with Whidbey.
System.XML in Whidbey
Apparently XmlDocument is going away... *sniff*, wahhhh! I know it, love it, and will miss it. I certainly have made good use of it over the last 4 years. Goodbye old friend.
XPathDocument is supposedly the replacement, and they have made a bunch of improvements to it... XmlReader is supposed to be 2x as fast as it used to be and the same goes for XmlWriter. And best of all, XSLT transformations are supposed to be 4x faster than they used to be!! Super cool.
There's a new XmlFactory that simplifies and optimizes the creation of readers and writers as well.
What was really impressive were the demos with XQuery and how it works with pulling data from SQL Server Yukon. The syntax is mostly a blend of SQL and XPath, but he was able to pull back some really specialized data out of XML and straight into XML from SQL Server, avoiding having to use XPath, and using some new ADO.Net objects, one of which is the XmlAdapter.
XmlAdapter is to XPathDocuments what SqlAdapter is to Datasets. You can configure the XmlAdapter to do both queries AND updates to the XML stored in SQL Server. I can't wait to actually get to use some of this stuff. Life will be good.
ASP.Net Caching
This was also an interesting session, though, again, none of the new stuff will be available for so long that it's depressing. You will be able to create you're own CacheDependancies, which is a really powerful feature... as well as having some new built-in CacheDependancies to work with databases. The stuff for SQL Server 2000 will monitor changes on a table level before invalidating the cache, and for Yukon, you'll be able to set them up for row level invalidations. As powerful as caching in ASP.Net already is, being able to have that much more control is a great upgrade.
Maybe when I get home I'll have a few more thoughts on all this stuff... I just hope I manage to get all my luggage there with me.
|
 |
 |
 |
|
 |
 |
|
 |
 |
| October 29, 2003 |
Wednesday |
|
 |
 |
 |
 |
 |
an't... Resist... Free... Stuff!!
I told myself that I was done with the Expo Hall yesterday... that I already had 80lbs worth of stuff to get home now and I didn't need ANY MORE.
But, the lunch session wasn't holding my interest, so I went to the Expo Hall to check to see if I won one of the drawings at the book publisher booths, and on my way there saw someone with a little mini-RC car... I asked her where she got it and she told me over in a long line somewhere... well, I couldn't resist...
While in line, the buddy of the guy in line behind me came up and said "hey, over there they're giving out the cool mini usb hubs". So, you guessed it, I had to have one of those too... so then when I returned to my orignal tasks of checking on the book drawing, I detoured when I saw there was someone else handing out lego packs... She handed me 4 when I said my son loves them... and then across the aisle there was a line for someone swiping cards and handing out t-shirts... went through that one too...
Finally made it to the books. Too bad I didn't win, but probably a good thing since I'm not sure how I'm going to get all this stuff home anyway!
|
 |
 |
 |
|
 |
 |
 |
 |
rowds, Timewarps and Realization Blues
Being around large crowds is always kind of a daunting experience for me. I have kind of a "crowd" phobia... I'm not claustrophobic: I can handle being in a confined space. But I have something related to that in that I don't like being confined by crowds... I desparately need my "personal space" or I get pretty uncomfortable, at least around people I don't already know. Fortunately, things have been pretty good so far here... Haven't had to stand in line too much, and even though it feels like being herded (especially through the lunch line, "Mooooooooooooo"), it has kept moving. A major exception is when I have to sit NOT in the aisle seat at the presentations (unless I'm in the next seat over and know the person in the aisle seat) because I feel trapped and end up shoulder to shoulder or at least elbow to elbow with the people next to me. It hasn't been that bad, but I have a harder time enjoying presentations like that. It is impressive how many people are here, and the conference center has done a pretty good job of allowing enough space and time for people to get around and to the things they need, so kudos to them.
What's even weirder being among all these people is that probably 99% of them are true nerds. It's nice walking by groups and catching them laughing at each other and saying "We're such geeks!" with a considerable amount of pride. It's just energizing being around people who get excited about the same kind of things that I do, even if I don't know them personally.
And speaking of knowing people, I've been amazed at how many people I actually DO know in the crowd... I've seen and sometimes been able to say "hi" to people from almost every stage of my career. There are others that I'm pretty sure are the people I know but were too far away for me to catch up to and confirm it. I just ran into someone I went to VBits with back in '98 that is working for Microsoft now. Geeze, so long ago.
Anyway, as fun as all this is, I've been having the realization since yesterday that I won't actually be able to use any of this stuff for, at a minimum, 9 months... Fortunately I work for a company that is in to bleeding edge tech, so I might get the opportunity to work practically with this stuff before a lot of people, but some of it's not due to market for almost 2 years. That's just plain deflating.
I'm going to go to a presentation in a few minutes that is about stuff I can use today... maybe that will help get me motivated again. Hope so!!
|
 |
 |
 |
|
 |
 |
 |
 |
rain-dump from yesterday
Well, I didn't write anything yesterday because I didn't really have a lot of time between sessions, or what time I had I spent chatting up the Microsoft guys at the offerings booths about various things like SharePoint and language enhancements to C# (and grabbing all the cds/books I could).
So here's the stuff that made an impresion yesterday:
- C# Language enhancements (Whidbey)
Some of this comes from the presentation I went to about the language enhancements and some from talking to one of the developers at the C# booth, but in either case I learned some cool stuff.
Generics Generics basically make typing a collection a lot easier. You will be able to create a list of type String, Int, your own class, etc without having to create a wrapper and all the plumbing around an ArrayList or your other preferred collection. It looked pretty cool.
Refactoring Supposedly you should be able to take a big complicated procedure and modularize it. For instance, if you have a loop with a bunch of logic in it that you'd like to break out into it's own function, you can basically highlight the whole thing, right click and it will create the new proc, copy your code, figure out what params need to be passed and create the signature and replace the highlighted code with the new call. Didn't get to SEE that work, but if they get it working that will be sweet!
Anonymous Delegates Basically being able to create a delegate inline so that you don't have to attach proc to an event, but just declare the delegate (with or without params) right there. The return type is derived by the compiler to be whatever is needed on the left of the = (or += as the case may be). This opens up possibilites such as passing a delegate to a function as a parameter, and eliminates some code like being able to declare a new instance of something, but instead just passing in the params for it.
- FrontPage 2003
Ok, so I wouldn't normally go near FrontPage with a 50ft pole, but it was at the MS booth about SharePoint and I had a question or two about editing SharePoint themes. I ended up talking with one of the developers of FrontPage 2003 who entergetically walked me through a demo of how to do that, but first going through a demo of the new features of FrontPage itself. I was pleasantly suprised.
The table he whipped up was really complex (a bunch of col and rowspans that would take a while to figure out manually) and he just drug and dropped cells on the table to make a nice, non-typical layout of boxes. FrontPage actually created some nice clean HTML code. And it's all table based layout. No more of that junk that was generated with CSS positioning and that made anything that passed through FrontPage bloated and useless to "real" developers.
Supposedly you can go back and forth with Visual Studio to edit your presentation side of things without FrontPage mucking up your code too.
The thing that impressed me the most was when he started editing XSLT in FrontPage in real time, as WYSIWYG. That was pretty cool.
I MIGHT actually consider using FrontPage again at least to get a rough draft of HTML to start with. But I probably won't admit it if you ask me. ;)
- TSQL Enhancements (Yukon)
There are lots of nice cool things being added to T-SQL especially that will help with dealing with XML. XML is now a "first class citizen" in Yukon so you can write statements against it using a modified XPath query right in your SQL statement.
There is also a new way to write "recursive" queries declaratively, which will make situations like getting a list of employees who are managers and who they manage (all stored by self referencing fields in an Employee table) able to be retrived with one SQL statement and no procedural logic or temp tables. YAY!
There are several new commands associated with Pivoting such as PIVOT and UNPIVOT again getting rid of having to create temp tables or pages and pages of logic to do that.
They finally added a function for Row_Number()! That will help with paging and other stuff.
Another interesting function is NTile(), a "ranking" function that takes your results and splits them into "buckets". For instance if you had 24 items and you wanted to split them into 5 equal groups, you could use Ntile(5). That would put the number 1 in the first 5 records returned, 2 in the second five, 3 in the 3rd 5, 4 in the 4th 4 and, 5 in the last 4. I see it basically used for splitting up results for paging.
As a side note, I had a good time meeting a bunch of the Avanade crew last night at "Ask the Experts". Met several guys from Austrailia, a couple from the UK and several from the states (West Region) too. Nice meeting everyone!!
So far today:
The Keynote - Microsoft Research
That was a fun presentation. The part that most impressed me was the stuff with "digital ink" for tablet PCs. The presenter had a couple of "pre-alpha" apps that he demoed that were both awesome.
One was called MathPad. He wrote some math equations, drew a few lines, and boom, a graph appeared displaying the functions. He could manipulate everything realtime and the graph would get updated. Then he flipped to a page with some equations describing the motions of a pendulum. He sketched a stick drawing of a pendulum, drug an area over the drawing, associated it with the equations and all the sudden it was animated and the pendulum swung back and forth! Then he flipped to a page that had a bunch of equations describing the path of a baseball. Again, he drew some stickfigures, a batter, a ball and a "field" with a wall... a few more swipes to associate things and boom, the ball goes flying in the arch described by the equations. It was very cool to see these drawing come to life.
The second app was called "magic paper". He drew 3 balls, a couple of tilted ramps, and a "bin" to catch the balls at the bottom, a few squiggles to tell the app which parts moved and which parts didn't and ran the animation. The balls fell on the ramps and rolled into the bin. And then he added springs (a literal squiggly) attaching the bin to the last ramp and a support point, and ran the animation again.. the balls rolled down into the bin bouncing on the springs. Wow. Cool. Neato. I wish I would be a kid in school in 10 years and can use that stuff for homework.
Back to paying attention!!
|
 |
 |
 |
|
 |
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
nsights on Longhorn
After having a night to sleep on it, a few things came together this morning for me in regard to all the stuff I saw yesterday. Maybe these are valid, maybe not, but I think they might be good assumptions:
- User Interface Focus:
I think that the focus for the future is making a big shift to look/feel/usability of applications. Microsoft has largely ignored this for a long time, letting the "pretty" apps be mostly web/HTML based. Part of this, I think, also arises from the developer focused culture, where I've noticed that the "hard core" developers usually shy away from or refuse to work with UI, and those who really like UI and may have a tendancy to focus on it are slightly looked down upon as not being "real" programmers.
A lot of that attitude, I think, had to do with the fact that ASP (before .Net) was a scripting language and not a "real" language, or the opinion that graphic designers (or graphic design skills) seem to be frivalous, unneccessary or just plain "fluff" to getting an app built.
I've always disagreed with that, and I think MS finally agrees with me. I'm sure a lot of that is motivated by looking at Apple and how beautiful that OS and it's apps are. I will admit that, as much of a Microsoftie as I am, every time I pass an Apple Store, I have to walk around and look at all the eyecandy. I think that MS finally realizes how important it is to make people really want to look at your apps and that "cool" does matter.
I see a new role developing soon for "UI specialists" that understand enough about XML and the backend to write some really kick-butt XAML, but also have the graphic design skills to make a slick, easy to use, and, dare I say, even beautiful apps. And hopefully those people will get a little more respect than their predecessors now.
- Multiple contexts through generalized interfaces to information:
I haven't fully realized the implications of this other than it's a concept that has been due for a while. I read an article in Discover magazine about a year and a half ago about people trying to attach some "context XML" to every web page so that search engines could be written to grab information based on context instead of word matching. For instance: searching for a person with the name "Brown" instead of the color. I thought that using XML for that was a great idea, but never heard about it again after that article.
So WinFS is MS's attempt to do that locally. It's all about being able to retrieve information on your computer or Windows LAN by the context you choose through attaching metadata to everything so that you can label it with enough contexts that you can find it by whatever "information path" seems logical to you. And a way to organize and filter information without affecting where it is physically stored. This is great, but would be even better if it can be applied to the internet... we'll see, but I think that's coming.
Ok... I'm going to be late. Better get over to the conference and see what else I can learn today.
|
 |
 |
 |
|
 |
 |
 |
|
 |
 |
|
|
 |
 |
 |
|
 |
 |
|
|
 |
 |
 |
|
 |
 |
| October 25, 2003 |
Saturday |
|
 |
 |
 |
|
 |
|
 |
|
|
 |