Archives

Archives / 2003
  • Office 2003

    It's been less than a day since I installed Office 2003 for the first time, and I've already had Winword.exe spin at 100% CPU while composing an e-mail in Outlook. Not terribly encouraging. Fortunately, killing it in taskman didn't hose Outlook.

  • Pocket Outlook extension problems

    Back during the summer I picked up one of those ViewSonic V37 PocketPC devices available free through an MSDN promotion. It was quite a step up, hardware-wise, from my old Palm IIIx - a nice color screen, MP3 playback, SD support. And a hell of a bargain. ;)

  • Duplicate cleanup...grrrr

    I just spent a bunch of time cleaning out a massive round of duplicate postings in NewsGator, presumably due to the updated .Text roll-out. It annoys me to no end that I have to waste time on this. Is this really necessary? Do other RSS readers handle it more gracefully, or is it a problem common to all readers? Does Atom improve things? Surely this is not an intractable problem.

  • AlphaImageLoader weirdness

    The AlphaImageLoader filter, which is used for rendering transparent PNGs in IE, seems to play some funny games with URLs. I'm running into a problem with a URL that contains a “+” sign. I'm using the JavaScript encodeURIComponent function, which converts the “+” into a %2B. However, for some reason when the HTTP request gets spit of the other end of the filter, it gets converted back into a + character (as shown by ieHttpHeaders), and ends up munged on the other end in ASP.NET. Other encoded characters, like spaces (%20) work fine. If I use a regular IMG tag instead of the filter, it works fine (except, of course, no transparency).

  • IE Favorites with Longhorn

    After mucking around in the badness that is the IE favorites system, I'm lefting wondering if there's hope for the future. Will IE use WinFS in Longhorn for storing favorites? Will we finally get searchable metadata for favorites? For the most part of I've given up on using favorites, relying on my googability for re-finding sites when I need them. Generally this works - until I realize that the only key words for identifying the site are too generic to be useful in Google. Then I long for superior bookmark system of that technical tour-de-force Netscape 2.0.

  • The trouble with web.config

    Am I the only one that has issues with the way web.config is implemented in ASP.NET web apps and web services? The idea of a central, extensible XML config file that automatically detects changes is a great one. But the fact that ASP.NET restarts the application any time the file changes - isn't that a little heavy handed? I realize that it tries to handle the restart as gracefully as possible, spinning up a new instance of the application while allowing the old one to die out after it processes any pending requests. But restarting the application has a couple of nasty effects - namely, the application loses its cache and in-memory session state. In my case, the web service that I work on stores a bunch of data in cache that can be expensive to fetch. Dumping the cache can have a significant performance impact as the server rebuilds it.

  • Longhorn and Avalon

    I predict that Avalon will be a smashing success with developers. Why? Because XAML is so darn fun to say. Zaml. Just kind of rolls off the tongue, doesn't it? Coupled with its partner in crime - BAML - it's got a one-two punch that just can't miss. Way more fun to say than SVG. Or XUL. Yep, best technology name since SCSI.

  • Whidbey PDC Questions answered

    All I can say is - wow. ScottGu has already answered all of my questions. Unbelievably cool. Gee, who needs the PDC? Just kidding. Even cooler is that the answers to just about all of the questions are “yes, we're doing that”. They seem to be addressing pretty much every limitation that I've encountered doing server control development. Did I mention wow?

  • Whidbey PDC Questions

    Although I sadly won't be attending the PDC, I do have a few specific questions about Whidbey - mostly around limitations or annoyances that I've encountered in the current framework, and whether they'll be fixed in 2.0. If any good-hearted soul runs across the answers to these questions and has time to post them, I would be most appreciative. Hopefully that answer to these questions isn't “you can already do that, dufus“. On the other hand, maybe that would be a good answer after all (except for the dufus part).

  • PDC - not me

    Well, now that the PDC has sold out, I guess I can say definitively that I won't be attending. Back when I first heard about this year's PDC, I assumed that I would be attending. And the truth is, I probably would be attending if I wasn't in the midst of a big release cycle and buried in hard-core DHTML coding. Nonetheless, as summer progressed and I learned more about the PDC contents, I curiously found myself less interested that I was initially. Yes, I, like many of my fellow bloggers, had fallen victim to Longhorn Lethargy. As fully geek-enabled as I am, I just can't get excited about an operating system that's at least 2 years away from being released, and probably 3-4 years from being widely deployed. As a software developer, I get paid to develop software that people can actually use, and anything Longhorn related is ways from fitting that criteria.

  • EIF

    Microsoft has posted EIF, the Enterprise Instrumention Framework, on the Microsoft download site. Interesting. EIF is the .NET API for centralized logging and event monitoring that was only available on the MSDN subscriber downloads site. I never did understand why it was only posted there, but I guess they're making it more readily available.

  • Ask and ye shall receive...a Sysinternals RSS feed

    Roy Osherove's Feedable site continues to create RSS feeds upon request for sites that don't have them. A few days ago, I submitted a request for a feed for the Sysinternals web site. Lo and behold, when I checked Feedable today the feed was up. Roy - you rock! That's one less web site that I need to poll periodically in my browser.

  • Element behaviors

    For a while now I've been coding away on a fairly hairy DHTML/JavaScript project. The project is basically a browser-based image viewing and annotation UI. So far I've mostly been working in straight-up JavaScript, with the server component wrapped into an ASP.NET Server Control.

  • The Magic is gone

    Well, it happened. The DotNetMagic UI library went commercial. Very sad, as the "free tool" community really needs something like this. Fortunately, the free last version will continue to be available, it just won't be enhanced.

  • Fanless PC

    I just ran across this article about a new fanless PC. After several years running a mega-tower with 2 10K SCSI drives that sound roughly akin to an F-14 taking off from an aircraft carrier, this speaks to me. I'm seriously interested in my next home PC being quiet.

  • Transparent image generation

    Sometimes you run into a task that should be easy but ends up being hard. Today I hit a big one. I was trying to dynamically generate an image with a transparent background that could be displayed in a web browser using GDI+ in the .NET framework. I was working with GIFs, since I had read previously that IE doesn't support transparent PNGs (unless you use the filter hack). 

  • New version of Process Explorer

    The Sysinternals folks have released version 7 of Process Explorer. It's wicked cool. The new thread view (with call stacks and debug symbols) is unbelievably awesome. I can't imagine my life as a developer without the tools those folks provide, and they've done it again.

  • String concatenation - + vs StringBuilder

    Countless times I've read that the when doing string concatenation, the StringBuilder class is more efficient than the String "+" operator. I pretty much just accepted that advice until a couple of days ago. But after poking around a bit, it now looks like there's some simple and common cases where in fact the opposite is true.

  • New Microsoft Web Service

    MS has released an SDK for accessing Microsoft.com downloads. Nice idea. But what I'd really like to see is a SOAP API for accessing the knowledge base. I use that sucker enough that a rich client UI would be very handy. Plus, it would let me fix the annoying limitation that the kbase UI refuses to remember the fact that I always, always, always search for "All of the words entered" with a limit of 150 articles.

  • .NET naming conventions and protected members

    While I've been doing a bunch of .NET development over the last year, I haven't really developed any class libraries until now (been web services and web application stuff, mostly). Being a good .NET citizen, I set the CLSCompliant attribute. I was coding merrily along, using the C# coding standard that I've adopted - camel case for members, Pascal case for properties and methods. Everything was ducky until I tried to add a protected field and a corresponding public accessor property. The compiler complained that this wasn't CLS compliant, since case-insensitive languages like VB.NET can't differentiate between the starts-with-lower-case field and the corresponding starts-with-upper-case property. Doh! Not sure why I never thought of that. The .NET framework style guide recommends camel case for protected fields, but I guess they didn't consider the case where there's a corresponding public property when they wrote that recommendation.

  • Poking around the VS.NET CodeModel

    Today was a pretty darn interesting day. I spent a big chunk of it writing a Visual Studio .NET add-in that uses the CodeModel to munge around with C# source code. The experience ran the gamut, from initial excitement at early successes, to frustration as limitations were encountered, to satisfaction when the goals of the project are finally met. It isn't too often that all of that happens all in one day.

  • Red vs Blue

    I guess I'm a late comer to the Red vs Blue BloodGulch serial. Holy crap, Batman, it's brilliant. I laughed. I cried. OK, I just laughed. A lot. Those guys are amazing.

  • SideBar

    A recent issue of The Daily Grid pointed me at a new tool called Desktop Sidebar (unfortunately, the link seems to be dead at the moment - hopefully it will be fixed soon). This is a very cool tool. It gives you a highly configurable side tray that makes all kinds of information available - news, weather, stocks, etc. It provides a POP3 email checker, integrates with Outlook to display your corporate emails, schedule, and to do list, and provides a Media Player controller. It can display system performance information, including your most active applications (nice). You can also put shortcuts on it and use it as an app launcher. All of this info is displayed in a set of panels. You customize which panels you want displayed and in what arrangement. The panels can be sized, overlayed, and stacked.  The whole tray can be docked to either side of the screen or float, and supports auto-hiding.

  • Info on Whidbey and Beyond

    Microsoft posted some great info about upcoming releases of the .NET Framework and VS.NET. Some of the questions that the article raises for me:

  • HttpHandlers in ASP.NET

    I just started playing around with HTTP Handlers in ASP.NET for the first time. A couple of observations:

  • Cell phone purgatory

    My cell phone is toast. Not completely - it works if the battery is disconnected and AC cord is attached. But that kind of defeats the whole notion of a "mobile" phone. So I need a new one.

  • Blogvertising

    Goodness. Rory has posted the first commercial that I've seen for a web log (though apparently it's his second - I missed the first). I had no idea the web log market was getting so competitive.

  • Personalization in RSS feeds

    The very cool kbalertz site now has RSS feeds. Theoretically this is cool, and yet I don't think I'll be switching from the e-mail based version. Why? Because you either subscribe to one giant feed of all KB items, or you subscribe to one feed per KB category. I certainly don't want all items, but I don't relish the idea of adding 50 new RSS feeds to my blogroll either. OK, that's an exaggeration, I think I monitor about 10 categories currently. But even that's a lot of new feeds to poll, and I could easily see that number going up over time.

  • HTML Editor synchronicity

    Recently, a friend of mine needed to write a simple "readme" type HTML document, and asked me if I knew of any good free, basic HTML editors. I poked around on the web and found several, but they mostly just seemed like overkill for a simple job. Then it hit me - we all have 80% of a basic HTML editor already installed on our machines. IE has had HTML editing support for a while. All you need is a basic host that wraps up the web browser control in editing mode.

  • ViewState / IStateManager

    System.Web.UI.IStateManager has methods called TrackViewState, IsTrackingViewState, LoadViewState, SaveViewState

  • Desirous?

    The illustrious Mr. Sells shows that he has talent for creating more than just software as he recounts the tale of his first airplane piloting experience.

  • McWireless

    Am I the only one that thinks McDonald's wireless internet access plans make no sense? Two comments:

  • Bug in AxImp.exe

    I ran into what seems to be a bug in AXIMP.EXE (and the corresponding process in Visual Studio .NET) recently. I tried using one of our older, MFC-based ActiveX controls in Visual Studio .NET toolbox. It barfed generating the interop DLLs, giving the error "Cannot apply indexing with [] to an expression of type <classname>. AxImp.exe generated the same error.

  • Lutz Roeder is my hero

    When I first saw Reflector for .NET, I though it was a nice little tool, but the VS.NET object browser handled most of what I needed.

  • Ever get the feeling you're being watched?

    I recently posted two .NET related blog entries - one on ASP.NET request validation, the other on framework version numbers. As usual, I got a couple of comments about the posts - no surprise there. What did surprise me was that both posts had comments from Microsoft employees (BradA and ScottGu). Two comments about this:

  • .NET Framework 1.2?

    For some reason I had it in my head that the next version of the .NET Framework would be 2.0. I'm not sure why - maybe the stream of references to Whidbey/2.0 in various blogs. But recently I've seen mention of .NET 1.2 pop up in a couple of 'softies' blogs - but no where else. Anyone know what gives?

  • Media Player 9 shuffling

    Is it my imagination, or does the shuffling algorithm in Media Player 9 suck beyond belief? Of about 1200 MP3s, I feel like I listen to the same 150 or so over and over again.

  • Disabling request validation in ASP.NET

    I recently tried running one of our web applications on ASP.NET 1.1 for the first time. This is a sample app that we ship to customers to show them how to interact with our web service. There's one page in the app that constructs some XML on the client side and submits it to the server in a hidden form field. The new ASP.NET request validation feature didn't like that too much, and threw up an error. A quick Google pointed me at two different ways to disable this option - a page directive to disable it at the page, and a web.config setting to disable it for the app.

  • Yukon release pushed back - what about Whidbey?

    There have been various stories about Microsoft pushing back the release date of Yukon to the 2nd half of 2004. The question is, does that mean they're pushing back the release date of Whidbey as well? Microsoft seems to talk a lot about these two releases coinciding. And one of those articles implies this as well, but I haven't seen anything definitive. Anyone know?

  • Move to weblogs.asp.net

    As one might have expected, the move to the new weblogs.asp.net domain wreaked havoc with NewsGator. I had to play yet another round of "clean up the duplicates" - a game which is growing quite tiresome. The whole problem of duplicate posts is really my only big issue with the blog experience. NewsGator does it's best to deal with the problem, but it can only do so much (in this case even the GUIDs changed). Hopefully incremental feeds will help alleviate this problem.

  • Setec Astronomy

    And as long as I'm ranting, let me mention how tedious it is to see "I know something I can't tell" posts from Microsofties. If you can't tell, than be quiet.

  • ZIP in the .NET framework

    The fact that this article needs to exist is just wrong. ZIP compression support should be a part of the core framework. Hell, it's been in Java since 1.0.

  • Caught up

    Whew. Just finished catching up with my unread blog entries. Though not by reading all 966 posts, of course.

  • The stagnation of IE

    E&A post about the comatose state of IE's evolution at Microsoft. I've been thinking about posting on the very same topic - I see I'm not the only one feeling this way. This, ladies and gentlemen, is exactly the problem with monopolies. Microsoft now dominates the browser market, and have little reason to innovate. I'm looking for an excuse to switch off of IE, but I haven't found it yet. I continue to evaluate Mozilla from time to time, but I still find it too piggy. And I still like IE's ability to run multiple instances of the browser process (maybe there's a way to do this in Moz but I haven't found it). Firebird has potential, as it seems design address the bloat factor of Mozilla. I'll be keeping an eye on it.

  • Trick for command-line junkies

    I'm still very much a command-line kind of guy. I get around the Windows UI just fine, but frequently I find it quicker to just drop to a command prompt to accomplish certain tasks (especially since Explorer generally sucks at launching apps with command line params). I like the "My Documents" feature of Windows, as it keeps documents easily accessible in from the Windows Explorer. However, when I want to perform a command line operation in My Documents, it's a pain to navigate there, even with path completion. Plus, C:\Documents and Settings\Kevind\My Documents is a long string, so my cursor starts 2/3 of the way over in the window before I've typed a single character.

  • Virtual PC at Microsoft

    Several of the Microsofties have been singing the praises of Virtual PC for development work recently. As a long time VMWare user, I share their enthusiasm for this type of technology. For me, it falls into the "how did we ever live without it" category. My biggest hope is that Microsoft comes up with a sensible licensing policy around the thing. The "each VM requires an OS license" model imposed for VMWare users is exceedingly onerous.
     
    Unfortunately, there's a chance Microsoft will now be able to license-and-support-policy VMWare right out of existence. Let's hope that doesn't happen. Those VMWare guys do incredible things with software, and I have massive respect for them.

  • What's going on here?

    First InfoWorld and eWeek, then Microsoft's MSDN site, and now PC Magazine. It seems like everybody is going through a major site redesign these days. Is it the first hint of spring in the air (at least in the Bay Area, where winter is just ending finally)? A case of "the other guy is doing it"? Or is everybody just feeling stale at the same time? Wackiness.
     
    One disturbing trend is that the sites seem to be moving toward smaller fonts and packing more text on the screen.  Personally, I find the new multi-column eWeek layout to be difficult to read. They also don't seem to adjust their text size based on the browser font preference (although maybe they never did). Also, PCMag's site is a fixed width, it doesn't grow with the width of the browser window. Tre lame.
     
     

  • MSDN .Net Show

    These shows kind of amaze me. I mean, I appreciate Microsoft's general strategy of carpet-bombing developer's with technical information on a new platform like .NET. And the human face that these videos present are a good thing. But does anyone actually have time to watch an hour and a half video on IIS 6? That violates the most important principle of technical communication - scanability. There's way too much information out there to process for this kind of thing.

  • Recently used applications....grrrr

    The recently used applications list in WinXP is a great idea (although not a new one...wasn't that feature in the early betas of Win95 but removed because it wasn't "data centric"?). The problem is that the list is in exactly the wrong place. Putting it at the top level of the Start Menu completely breaks keyboard navigation of the Start Menu. It makes the keyboard accelerators non-deterministic - I can't hit Ctrl-Esc, C to launch the Control Panel because I might have recently run CardScan.

  • Registration Free COM Activation

    I've only recently become aware of the registration-free COM activation feature of Windows XP (aka side-by-side deployment). Very interesting. The idea is that you have an application manifest which describes all of the COM types that an application uses. Sort of an application-scoped XML file version of HKCR. Of course, Microsoft has all kinds of caveats about how the COM objects should work to support this mode of deployment, so I'm not sure if it our existing COM API would just work in a production environment. But it could be super-cool for testing different versions of our API on a single machine.

  • VS.Net 2002/2003 Open With...the real answer

    OK, I did a little regmon-ing, and I'm finally starting to understand the workings of Open With a little better (this stuff has gotten a lot more complicated since I last looked at it). Keep in mind that I'm working in XP here - don't know if the same applies for W2K, I haven't installed VS2003 there yet.

  • Gadget bargains

    Another thing that's changed dramatically for me over the last year is the way that I shop for gadgets. There are some absolutely incredible deals out there, especially if you're willing to deal with mail-in rebates. There are numerous web sites out there dedicated to keeping you up to date on the latest deals. My favorites sites at the moment are Techbargains (which also provides an RSS feed) and BensBargains. Recent snags included a 4 megapixel Olympus digital camera with an Epson 820 photo printer for $318 total (!!!) and a Netgear wireless router for my girlfriend for $20. Hell, I haven't actually paid for blank CD-Rs in months (thanks to free-after-rebate) deals.

  • CodeProject RSS feed

    Ask and ye shall receive. Not willing to wait around for CodeProject to get their collective butts in gear, Wes Haggard took matters into his own hands and created his own RSS feed for the site. Super-sweet.

  • RSS - the good...

    I'm amazed at how, in the space of a few short months, RSS and aggregators have fundamentally changed how I collect and read information. It's not very often that I can that say that about a technology. Although I've been aware of blogs and RSS for a while, it was really NewsGator that pulled it all together for me. Aggregators that brought all of the info to me were cool. An aggregator that brought all of the information to me into the one application that I spend virtually all of my time running is what brought it home. Usually the use of marketing-speak like "synergy" makes me dry heave, but NewsGator is a great example of that concept. It builds on the infrastructure that Outlook provides and extends it in a totally natural way. I have access to my mailbox through IMAP, so I can check the latest and greatest news from just about anywhere (what would I do without Mail2Web) without worrying about duplicating my feeds all over the place. As far as I'm concerned, it's the closest thing to the "Information At Your Fingertips"  mantra (remember Big Bill's grand vision) since the Palm came on the scene.

  • I'm back (hopefully)

    Wow, it's been a while since I've blogged. Perhaps I lost my taste for vitriolic griping. Or maybe I just didn't have time for it. Either way, I'm going to make an effort to heed our esteemed host's advice and do more than just rant. Doesn't mean I won't throw in a good diatribe from time to time, of course, but I'll try to do more than just that. After all, nobody likes a whiner.

  • Remote Desktop is the coolest

    The more I use Remote Desktop on XP, the more it pains me to go back to VNC. Not that I don't admire VNC - it's a phenomenal tool, especially if you need to go cross platform (where cross platform can mean as little as "not XP"). Super light-weight, super easy to install (and the viewer piece doesn't need an extra install at all - in fact, it's entirely optional if you want to use the web browser client). But the seemlessness of remote desktop can't be beat. As a heavy keyboard user, I find VNCs less-than-complete support for keyboard navigation problematic. I need my Alt-tab and Ctrl-Esc, dammit! Also, the full screen mode of RD makes the illusion of local access nearly perfect, and the ability to easily share local resources with the remote machine is very handy.

  • Microsoft's 99% rule, part 2

    Here's another example a Microsoft "what were they thinking" decision. When I first started looking at the generic databinding architect in the control framework, I thought "wow, this plus web services could be a pretty killer combo". Web services can return collections of "objects", and the controls can bind directly to them - what could be easier? That would make snapping together simple web (or win) applications a piece of cake.

  • My first non-rant - spam filtering

    I have a major spam problem at work. I get a ton of it. Recently I discovered Spammunition - a free Outlook add-in that uses a Bayesian filtering system to catch spam. It rocks - great filtering, very low false positive rate. It's still pretty early beta stuff, but I couldn't go back to life without it. Highly recommended.

  • My first rant

    Oh, the first rant. Where to start? First of all, let me start with a disclaimer. I make no claims of original thought here. Undoubtedly, whatever I rant about has already been ranted about umpteen times over elsewhere. I will certainly try to give credit where credit is due, and will link to other blogs or pages on the topic of my rants. If I don't, I'm not trying to rip of other people's ideas, I just didn't see it.

  • My first post - finally

    Greetings, all. It took me a while, but I'm finally getting around to writing my first post. First of all, I'll insert the obligitory thanks to Scott for hosting this. I've been wanting to blog for a while, but I've been too lazy to set up my own feed, and Radio just didn't speak to me.