April 2004 - Posts
I have installed an interesting application - BlogJet. It's a cool Windows client for my blog tool (as well as for other tools). Get your copy here: http://blogjet.com
This is obviously a test post from this tool. The above text was autogenerated. :)
One thing I don't see that immediately jumps out at me is the ability to specify whether or not to post this to the main feed, which is important for those of us who like to rant and rave about anything in particular. Maybe that feature is specific to .Text...
Otherwise, I like the tool thus far. Setup is smooth. The UI is clean and neat. There are a good few features, including a save as draft option, which is one thing I've really missed in the web tool.
So if this post looks weird, let me know; otherwise, I'll probably be using this for most posts going forward.
How to Fix the “Windows Cannot Display Windows Firewall Problem"
I was sitting in the airport in Dallas/Ft. Worth for a long layover on my way back from the MVP Summit and decided to pass the time by installing Windows XP SP2 RC1 from the CD Microsoft so generously gave us while there. Considering that the general consensus at Microsoft was that we should install it, I figured I'd take the chance. Besides, I couldn't stand the cruddy, current XP wireless config, which was supposed to be enhanced with SP2.
So I popped the CD in and gave it a whirl. First, it didn't auto run, for whatever reason, so I opened the CD in explorer and ran the autorun.exe file. A small dialog box came up, saying it was verifiying xpsp2.exe for a while. After that, it apparently extracts the contents to the drive. A couple minutes later, the installer started, and it took a good five minutes or more to 'gather information' about my current setup. It asks you if you want to backup your current files, but the option to choose anything but 'yes' is greyed out, which makes sense, considering this is pre-RTM. It then backs up all files and registry, giving separate messages while doing each. After this (a good 5-10 minutes), it says that it's “running processes before install” or something like that for a minute, and finally it starts to install, which of course takes several minutes.
After it's done copying the files, it says something very helpful like “running processes after install.” This is where I think the problem started, because it stayed on this message for a good thirty minutes. For the first few, I pulled up Task Manager to see what it was up to. Nothing. I watched the processes for the installer, and nothing was happening. So I thought I'd give it a while and started writing on my “Generics, In-Depth” article that should be released on 15seconds.com in while (I know, plug plug, but I really do think a lot will find it helpful. By the way, I'm looking for a better title. It's targeted at less-advanced programmers who might find the topic confusing, but it should have something for everyone who's new to the subject. Please contact me if you have an idea. I digress...).
Anyways, about thirty minutes later I decided that the installer was DOA and decided to just cross my fingers and reboot. Actually, I didn't have a lot of choice in the matter because I couldn't leave it on through the flight. I thought about hibernating, but I seem to have disabled that somehow (even though it is checked to be on). So I tried to shut down. No go. Well, it actually prompted me saying “%1 Setup” is trying to install, please don't shut down (paraphrase). I waited a couple minutes, thinking maybe that would give it a hint. Nope. So I started the shut down again and just killed the prompt. The system went to blue screen, not bad one but the one you get when not on a domain that says it's shutting down. It just hung there, so I pressed the big red button.
All seemed to be going okay. On the reboot, it did some fancy pre-windows loading, took a really long time to load up (to be expected when doing a major OS update) and came up. I believe the Security Center comes up automatically the first time, which is I think a good idea. It's a good jumping off point to look at some of the new functionality.
The first things I looked at were my IE settings. I enabled the popup blocker and disabled Google Toolbar's blocker. Then I decided to check out the new firewall stuff. Doh! An unknown error occurred, Windows cannot display Windows Firewall. Hmm.. well at least it's ON, even if I can't configure it. :) I tried rebooting again. Same problem. Oh well, it was time to grab a bite before my flight, so I shut down and pegged it for later troubleshooting--I'd need an internet connection anyways.
Here we are a few days later, after recovering from the trip, spending time with family, and doing the Easter thing. I thought about blogging about my problems, but I thought I'd try to solve them first. I did (aren't you glad I didn't keep you in suspense?). I tried searching Google and Google Groups without success (that's a pretty bad start), so I went to the SP2 site, which has a link to the SP2 groups. I searched in the install group and then in the security group and found the problem. I needed to register a DLL. I guess this should have happened sometime after when the installer gave up on life and hung. In any case, here's what you need to do if you run into the same problem:
- Start -> Run: regsvr32 c:\windows\system32\hnetcfg.dll
- Restart the Security Center service.
Having done this, I can now happily look at the new Windows Firewall settings pages, which are pretty nifty, I might add. I'm also pretty happy with the new wireless config UI and functionality; it seems to do a little better than the previous on finding networks that are not broadcasting their SSIDs and is actually usable, to an extent, when you have your card disabled. Plus, it has a new icon for the sys tray that shows it is a wireless connection, which nicely differentiates it from your wired connections.
As for the new firewall, it is much more user friendly. It will prompt you when an app tries to access the internet, allowing you to unblock that app if you so choose, and it will only open the ports for that app while the app is running. Pretty cool (compared to the previous firewall), especially if you have an app that randomly picks ports and won't let you lock it down, like Linksys's wireless print server drivers apparently do. Finally, the Windows Firewall is usable and user friendly.
I'm personally not too happy with the AntiVirus warning. I don't run A/V software because I think it's not that necessary for the savvy user who uses a firewall, stays patched, and is smart about email. And I don't need the added drain on my system or finances. The truth is, IMO, if anything can get to me, it will likely be before a virus def is written anyways, so the A/V software wouldn't do any good. Anyways, the point of this diatribe is that I don't want Windows to pester me about my “system [being] at risk.” Luckily, Microsoft was foresightful enough to allow you to check a box indicating that you are running A/V software they can't detect, which turns the A/V alert from red to yellow (and quits pestering you).
Overall, I'm happy with the SP2 experience. They need to fix whatever it is that hangs the installer, but other than that, it seems pretty solid.
You'll never guess who called me this morning (well you might). Sam Gentile himself. I had previously posted about meeting him (last night), and it seems there was some significant misunderstanding. What can you expect when you're all running on fumes and may have had a couple drinks? Anyways, it's all cleared up now. Sam was quite courteous, apologetic, and good-willed. Thanks for taking the time to clear things up, Sam. Very stand up and professional of you.
Well, today was the last day of the 2004 MVP Summit. I'm sad to say that it's over, but as they say, all good things must come to an end. I truly enjoyed my time here, and I hope those of you who couldn't make it for whatever reason have enjoyed my meandering and particularly the photos.
Like yesterday, I can't really share any of the details because so much of it is under NDA. I can say that Rob Howard had a great presentation on preparing for Whidbey. A few of the tips follow.
Watch out for the reserved directories e.g., /code, /themes, /data, and of course /bin. He didn't mention /resources, but I assume this was just an oversite. If you use these names off the app root now, you'll probably need to change them when moving to v2; for instance, the /themes dir only allows .skin files.
Watch out for class names that may conflict with all of the new classes in v2.
Don't put code in designer-generated regions. In the current version, there are regions designated by VS.NET as designer regions, and they usually say not to modify (e.g., the InitializeComponent method). In fact, I've heard many complain about loss of code in that method when they add their own event wirings. The warning here is for migration. They will be doing away with that section in Whidbey.
Think about the provider model/design pattern in Whidbey when designing your application services. That is to say design them with the model in mind to ease your transition--perhaps you can just port your code as a custom provider with a few changes if you do this correctly.
There was also a session today on some of the futures for debugging and tracing web apps in IIS. Looks like some great stuff that will help us diagnose problems and reduce the number of calls we need to make to PSS for help.
Omar Khan did a beneficial session covering the deltas from the PDC release of Whidbey to the new March preview release. They have really been busting their butts to make VS.NET a superb product, and I think they're on the right track.
Scott Guthrie covered an extended look into what the web platform and tools group are doing targeting the Longhorn timeframe. This is some awesome stuff and, I think, will change the way a lot of us think about web apps (and rich client apps, for that matter). The future looks really bright.
The pics today are clearly few (6) and are mostly for my own album (e.g., photos of me with friends), but if you're curious, here they are. I decided to give myself (and those around me) a break from the camera tonight as a group of us ASP.NET MVP folks went out to the 2 Dagos from Texas restaurant. If you're ever here, I recommend their mozzarella sticks (some of the best I've eaten) and fried steak bites. I also heard good reviews of the ribeye from Phil Winstanley, but who can trust a steak recommendation from a limey, right? :o)
I also met a few new folks tonight including Bill Evjen, Doug Seven, Michael Palermo, and Sam Gentile. Without exception, the MVPs and MS folks have been quite amicable, easygoing, and pleasant. It's a great world we live in where so many great folks can be found in one place.
So that's today. After a brief elevator ride (with Duthie, Gentile, and Avery), I'm here in my room for the last night in Seattle. I'll miss it, but it will be nice to get back to my family, my job, my life, and finally to get some sleep!
May you all have a blessed Holy Week and Happy Easter! For you Catholics, may I suggest you make an effort to go to the Easter Triduum services. Unfortunately, I won't be able to make it to Holy Thursday due to travel, but I think we all would do well to make an effort where we can.
Thanks to all for taking the time to listen to me, and I hope you've enjoyed the Summit series and, especially, pics.
I'm sitting here at the MVP Summit in the ASP.NET dive-in sessions, thinking about the discussions that took place during lunch. We had a couple MVPs suggesting that Microsoft and MVPs change their strategy to stop writing advanced/futures articles and 'remember' the beginners. I have to say I wonder how these fellas became MVPs without knowing about the thousands of such resources on the web today, not to mention all the printed products (e.g., books & mags).
So, I want to start a community aggregation of beginner resources here on this post. I'll start with what I recommend. I hope others will join in and share the resources that they think are great for beginners.
- Google.com, including site-specific and groups.google.com searches. You can find almost anything you need to get you started on ASP.NET using this indispensible tool.
- ASP.NET - Tons of articles and other content, SDK downloads, Web Matrix downloads, and perhaps the best beginner tool: the Forums. This latter is actually about to undergo a major update with v2 coming in a few weeks.
- MSDN Library - Great, obviously, for API reference, but they've also got tons of developer guides that are designed to bring new .NET developers to the next level. I prefer using my local copy, but online has the same stuff (maybe newer). Next to google, this is the tool that I have used the most to learn .NET.
- ASPAlliance.com - Tons of articles, most of which, I would say, are targeted at beginners.
- AspAdvice.com - Community email lists, also great alternative to forums for those who prefer email lists.
- ASP.NET Unleashed - book by Stephen Walther that I've seen many rave reviews of.
- ASP.NET Developer's Cookbook - by Steve Smith, Rob Howard, and many ASPAlliance authors. This is a great resource for task-oriented solutions.
These are just a few of the resources off the top of my head that I'm familiar with that I think are superb for beginners in the .NET technologies. What resources have you found valuable?
As promised, or suggested, I've come up with some MVP Party pics. We all trickled over to the MS conference building (31, I think), and were greeted by a sampling of different ethnic foods ranging from American, Mexican, Italian, Chinese, Greek, etc. It obviously is not the highest quality, but for a mass buffet, it was pretty good. I think MS has done a fine job keeping us from fainting with hunger or thirst--Kudos to the event organizers!
In terms of things to do, they had several rooms hosting different activities such as karaoke, jam sessions, comic improv, MVP talk sessions, and XBox. They also had several internet kiosks for random access and one 'expert booth' that the Outlook Express fellas were using to demo the new OE for Longhorn. Looks like they're answering many of the common complaints and going above and beyond to make it more usable. I also hear that XP SP2 has some much-needed enhancements to that product as well.
Mostly it was another great opportunity to meet and chill with fellow MVPs.
And finally, here're the pics of the day.
No Pictures of Executive Sessions
Some may yet (and likely will) come of the party tonight.
Overall, I enjoyed the day. Most of the content was targeted specifically at MVPs, e.g., things to make our contributions easier, Q&A, etc.. Saw some neat new flashy stuff that's coming down the pipe, which of course is under NDA, so no specifics. The highlight was definitely Steve Ballmer's talk (and the hilarious video of him and Bill Gates as Neo (Stevo) and Morpheus, respectively). Unfortunately, it will never see the light of day (apart from the meeting today) due to licensing/distribution issues. But the other execs were also quite enjoyable, helpful, and gracious. You can get the feel of why MS is as successful as it is, being run by these folks. Thanks to all of them for taking time to spend with us.
I had lunch with Kent Sharkey (coordinator of ASP.NET and VS.NET content on msdn.com), Duncan Mackenzie (Software Design Engineer for MSDN), Darren Neimke, and others. The lunch was basically a hodge-podge of various MS employees sitting at different tables by topic/product. I say that, but it was actually quite coordinated with a map of who's at what tables and all. Food was some sort of Mexican-like dish (chicken, “party“ rice, black beans and pico de gallo, and some tasty tarts. They also had churros, but those are not my bag.
Anyhoo, we're all down for a brief respite before trudging back over to the MS campus for the MVP party...
Quick recap of last night (got in too late to blog): Met a bunch (did I mention a bunch) of MVPs at the meet-n-greet (pics here, if you missed the posting last night). It's great to finally meet a lot of these folks in person, and most are quite friendly--few dev stereotypes. They showed a very amusing video about a guy who became an MVP and suddenly quit his job and got a following of people.. rrright. Went out with Andrew Duthie, Anil John, Rocky ?, Scott Forsyth, and John PJ Perry to see Hellboy. It was everything I'd expect of a comic book movie (i.e., not much, but mildly entertaining); I'd probably appreciate it more had I been into the comic series. Got in late and posted the day's pics. Sleep for a few hours.
Today: Woke up at 7:00a (i.e., as late as possible to catch the last bus to the MS campus). Met up with David Yack and asked the bus guy (7:25a) if he'd wait for us while we trekked across to Starbucks.
He said, “Sure, if there's no line. I'll wait for you.“
So Dave and I dodged some cars in the rush-hour, downtown Seattle traffic, slipped into SB's, and waited in the shortest line. Dave got a coffee, and I splurged on a venti, quad, iced, caramel macchiato. (I felt I needed the caffeine.)
We swiftly glided back across the two streets to the bus and were greeted by an event coordinator telling us we couldn't get on the bus because it was full. I thanked the bus driver for waiting for us (I guess we should have also asked him to save us seats), but luckily another bus was right behind.
We hopped on that bus to Microsoft, passing various water inlets with dumpy looking houses and apartments shadowing the water's edge. After some stop and go traffic, we were comfortably cruising the windy roads to Redmond and arrived soon thereafter at the conference center.
The breakfast looked good, but I was by that time high on caffeine and sugar, so I didn't feel up to it. I met up with Steve Sharrock and chatted for a bit, being joined by Michiel van Otegem, one of the few foreign MVPs (apart from the Canadians, Brits, and Aussies) who seem inclined to socialize with us Americans. After a brief chat, we slipped into one of the developer meeting rooms for the initiation of the day's session.
We were pointedly told that a lot of what we'd see today is under NDA, which means, unfortunately, I won't be sharing session details with you. Since today we were all at the conference center, we could choose between different sessions for each hour. The first choice was between ASP.NET and CLR.
Since I guessed I was already probably fairly familiar with the ASP.NET content (reports seem to have confirmed this), I chose the CLR session. I was not disappointed. There's a lot of neat stuff coming down the pipe in v2 in terms of CLR enhancements, additions, etc., ranging from console apps to performance to security and beyond. Kit George did a great job covering the features in a fun and interesting way.
The next choice was between Windows Forms and IDE. I, unfortunately, chose IDE. There is, naturally, a lot of neat stuff, but Jason Weber was clearly not prepared. Don't get me wrong; I know all these guys have full-time jobs doing what it is they were presenting on, but this session was very hit and miss. And I think he insulted a lot of the VB types because of the oft-used verbiage “shielding them from <insert feature/option here>.“
Apparently, the Visual Studio team has certain mental pictures of who VB.NET developers are, and it came across that that picture is that they are a bunch of children who need to be shielded from things considered to complex for them. I'm sure this is an exaggeration, but I think he lost some people due to the choice of words. Preferring C# myself, I didn't feel particularly insulted, but some of my cohorts were somewhat perturbed (perhaps more so at the results of this stereotyping rather than the message itself).
By the end of that session, I was getting hungry, so I ventured off to the cafeteria and met up with Andrew Duthie and Anil John. We figured part of the problem was that we are all on Eastern time, so the lunch urge struck us early. In any case, we had some decent pasta and salad and some great dessert and chatted, all through the next session, which was on either Data Access I or the Compact Framework. I enjoyed some insightful conversation, also chatting with John PJ Perry and Roberta Braggs about development and security.
The next session was a choice between Data Access II and Debugging. I wasn't sure, so I stopped in the debugging session for a minute. Looking at the TOC/summary, I figured I didn't need to see the actual details, so I dropped back into Data Access II.
Alas, the folks presenting this session didn't seem too well-prepared either, and I found myself checking my email on my Pocket PC while following their antics. There will be some great features in ADO.NET 2, but I don't even want to try to figure out what's still NDA and what's not, so I won't be digging into that (maybe others will risk it--watch weblogs.asp.net).
The last session was a talk from Don Box and Chris Anderson on Indigo and Avalon. I very much enjoyed this one, as I have all of Don's presentations that I've seen. It was very informal and informative (and entertaining). They did a super job covering the questions and writing code on the fly to demo some of the cool features of Avalon.
After this last great session, we broke off into our bizness groups. My group, ASP.NET, was slated to go to building 20 (dev lab) for BBQ and a chit-chat with members of the ASP.NET team. The BBQ was quite good, and the company was even better. Among many others, I met up with Jeremy Zongker (who I happened to work with in Tulsa, OK for a year or so before I moved to Tampa). After playing some Halo on the projector, eating, and talking, a group of us headed over to building 40 to provide moral support for Steve Smith (as if he needs it), who gave a presentation to the local user group.
On the way back to building 20, Jeremy and I ran into Brad Abrams, quite by accident, as I don't think he's been too involved with the MVP Summit. He was, as you might expect from his blog, quite amicable, and we had a nice, brief chat before we parted ways. I kicked myself for forgetting to grab a pic with him. C'est la vie!
Finally, we hung out back at the dev lab for a bit, talking with Thomas Lewis, Greg Low, and some others until we caught the last bus back to our hotels, which is where you find me right now, boring you to death with the details of this day.
And now, what you've all been waiting for with baited breath, the visual journal of the day, i.e., the pics from today!
Caution: May take time to download -- 13 640x480 pics.
Get up, 05:00 after going to bed 23:30 (EDT).
Shower. Dress. Get bags and hop in car with wifey; stop by McD's, say hi to local prostitute, pimp, and gang members (I can only assume).
Get to airport by 06:20 (flight leaves 07:00). Printed out boarding pass (after hassling Delta customer service yesterday about not being able to), so go straight to security. Dismayed by the Universal/Disney-like line, but line moves quickly. Figure out that belt has too much metal in it.. security hazard... Get to plane just in time for boarding.
Get to Dallas around 09:00 (CDT). Next flight leaves 09:35, so have time to grab a bite to go for the trip, since Delta is not providing anything but for-sale crap. Flight departs on time. Read mags, watch bits and pieces of silent (no headphones) movie called Big Fish. Catch a wink of shut eye in time for early arrival.
Land 11:40 (PDT), go straight to meeting point to wait for ride-sharers. Am accosted by man claiming Bush & Cheney are satanic masonists who knew about 9/11, etc. etc. Say no thanks to request for money. Meet up with Steve Smith and Scott Cate. Find limo driver waiting for us. Tell him we have two other guys coming.. he seems a bit perturbed but still friendly. Wait another 30 minutes for others, first Scott Mitchell and then Russ Nemhauser. Finally get in limo and head off to hotel.
Pay limo driver and add tip (on top of built-in gratuity) for having to wait. Doesn't seem to affect him. Check in. Meet up with aforementioned fellows to go eat and say hi to Kirk Allen Evans who directs us to the Rockbottom Cafe--just around the corner. After walking down and back up a few blocks of ridiculously steep Seattle downtown, call 411. Walk another block up hill and go two blocks to the right and decide wrong way. Turn around and go four blocks the other way to find it (after confirming with a valet).
Ahh... beer, wings, Titan Toothpicks, and Aegean pizza. Much better. Head back to hotel--just around the corner.. the other corner.
Go to room. Unpack. Write this..
Leaving for meet & greet....