Sometime later today, I'll be backing up the data on my computer and disconnecting it for our final move out to Redmond, Washington. We have packers and movers here from Wednesday through Friday, and we make our one-way flight to Redmond this Saturday morning. It's been a very busy few weeks. In addition to all of the move-related tasks, I found out Sunday evening that I've been the victim of identity theft. Apparently, someone used my social security number to open a line of credit and order items that weren't being shipped to me. I've had to contact the credit bureaus and the local police department. I'm hoping that this was discovered early enough to avert too many unpleasantries. Anyway, the next time I'll have an opportunity to blog will be from our new location. Wish us luck!
This post by Brad Abrams announces the availability of the first in a series of framework design presentations. Realize that these presentations were originally targeted at an internal Microsoft audience, so keep that perspective in mind as you view the material. Not only will you learn what it takes to design a consistent and usable framework, but you'll gain some insight into how we do things internally.
The first presentation is titled Setting the Stage and is described as: "Set up for the course, generally introducing the practice of API design. Topics covered include terminology, first principles, and why API design is a crucial thing to get right (the first time!)." It's available at 56k, 110k, and 300k. If you'd like to discuss the material of ask questions of Brad, he'll be available for a chat on 1/19 at 3:00pm PST.
Although I haven't taken the training myself (yet!), there are a lot of good topics identified in this first slide deck. Based on Brad's post, it sounds like the upcoming presentations will focus on Naming Conventions, Rich Type System, and Member Types. And before I forget, if you don't currently subscribe to Brad's blog, I'd encourage you to consider doing so. His posts are always interesting and informative.
Update: Frankred's post provides a link to the Designing .NET Class Libraries page that coordinates the 14-part presentation series.
I apologize for the lack of recent posts, but my wife and I have been preparing for our relocation to the Redmond, Washington area, and we've been quite busy preparing for the move (we're flying out on January 29th). We've never had to relocate more than an hour away, and it's always been one of those "call up your friends, rent a truck, and have a moving party." This is a little bit different. Our "to do" list seems to keep growing and growing. Plus, we're trying to spend some time with family and friends, because it won't be nearly as easy to visit them from 1,770 miles away! We've been in Southwest Michigan for most of our lives, and our roots here are pretty deep. However, the closer we get to the actual move, the more excited we get.
I've been working remotely this week, and it's gone smoothly so far. I'm being introduced to people that I'll be spending a lot of time with, and I'm really looking forward to our future interaction. There have been a few technical hurdles related to switching my internal account between domains, but overall, no showstoppers (and perhaps more importantly, nothing I wasn't prepared for). I've started to read through the WinFX SDK documentation from the November CTP release, and it's made me even more excited about what we're doing with Avalon. I'm sure I'll be blogging about it a lot more down the road.
As indicated in my post from last week and in a press release just this morning, we have made a beta version of Microsoft AntiSpyware available for download (more details here). It's based on the technology we acquired with our recent purchase of GIANT Company Software, Inc., and in my few days of testing, it appears to do a better job than the combined efforts of both Ad-Aware and Spybot Search & Destroy. Like Windows Update, the AutoUpdater feature can check for and automatically download new spyware definitions on a scheduled (and user-configurable) basis. And by default, the software runs a periodic system scan. For the past few days, a summary window has been waiting for me when I sit down at my computer in the morning. It's nice to start the day knowing that my system is "clean."
Microsoft AntiSpyware also provides real-time protection by monitoring activity on your system with over 100 Security Agents. Security Agents are proactive in that they help to stop threats before they are installed. From the integrated help: "When software is installed or a change is made to your protected computer, internet, or application settings, System Agents react to analyze the change, and either allow the change if it is known to be safe, block the change if it is known spyware, or prompt you for additional action." Nice.
There's also a SpyNet feature that allows your computer to share new threats with an AntiSpyware community. So, if your system and its Security Agents identify new spyware, the rest of the community can benefit as a result. The help file calls it a "neighborhood watch" for spyware, and that seems like a perfect mental image to me. This is similar to the way a lot of anti-spam software works, and it's been shown to be very effective.
Remember that this is a beta release, and normal beta rules apply (don't install it on a production system, don't use it on production data, don't run with scissors in your hands, don't eat red meat, etc.). I really like what GIANT has put into this product. It's very easy to use, yet configurable enough for geeks. Plus, it's proactive, so I don't have to worry about running system scans every few days. What I've seen so far makes me excited about the future possibilities of Microsoft AntiSpyware.
Update: Flexbeta compares Microsoft AntiSpyware with Ad-Aware and Spybot and concludes that "Microsoft AntiSpyware was able to detect more infected files than the current leading anti-spyware applications in the market today, Ad-Aware and SpyBot S&D."