January 2007 - Posts

31 January 2007
Feedburner MyBrand Service -- Brand Your Feedburner Feed
I've had a Feedburner account for a while now, but have been reluctant to throw the switch on my site's feeds over to it...while I may not have a huge circulation (and therefore no "brand" to adhere to), I'd like to keep what little recognition I do have in my feed address instead of the generic feedburner.com/whatever, i.e. my name (or in the case of clients, their company name, etc). Feedburner now offers a pretty impressive array of services, so I was in the process of giving in and started to configure the various options for my feed when I stumbled across this fairly buried offering of their's: Feedburner MyBrand . In essence it allows you access to all of feedburner's various offerings with the ability to integrate it into your existing URL, something like feeds.yourdomain.com. The price offering is spot on as well, and should be something site builders can easily recoup in quotes to clients. I have not seen this advertised in any place noticeable on their site, so thought I'd give... Read More...
29 January 2007
Paint.Net 3.0 Released, And Other Stuff
Paint.Net 3.0 was released a couple of days ago, snag it while it's hot. It's good enough (for a non-professional designer) that I haven't found the need to install Photoshop on my rebuilt machine. In fact, I'm 100% Adobe free, meaning my machine is free of: Photoshop, Reader (replaced by Foxit ), and Flash. I consider both Flash and Reader annoying enough at this point to be considered malware. I'm also Quicktime free, which in my opinion is about half a notch above Real Player in terms of A) actual usefulness and B) annoyance factor (perpetual nag screen anyone?). I am not looking for an alternative replacement for QT; will just ignore .mov files going forward. I'm hoping that WPF/e will finally be the competition Adobe has needed in the Flash arena. Read More...
28 January 2007
Promotional Video For Windows 386
Please note that I am not to be held responsible for any snarfing related to the watching of this Windows 386 promo video from the early 80's. Absolutely terrifying. W-w-w-w-windows. Read More...
27 January 2007
A Little MySpace History 101
Let it be stated that for the record, I am not a MySpace fan...I do have an account, but it's mostly for entertainment type purposes. Yay, moving onwards. MySpace is kind of a neat study for web application developers (and .Net developers in particular seeing as the site is written in asp.net)...it's horrifically busy, and it's more transactional than almost any other site of its size (think about your large news sites...95% read-only scenario. MySpace is much more write intensive). I saw this article float by on DotNetKicks earlier and thought it was kind of interesting...a high level history of MySpace along with some of the obstacles they've had to overcome due to their wild growth. I still think it's pretty cool (no matter how horrible the site actually is) that the world's busiest website runs entirely on Microsoft technologies. I wonder how well it'd perform if they did a complete rewrite using the latest practices/patterns/etc. Read More...
26 January 2007
ApplicationSettingsBase Event Issue -- Solution
In my last post about the apparent strangeness going on with the lack of a SettingsSaved event, I may have jumped the gun a little bit (who me? Never). Thommi left a comment asking why any of the classes needed to know if a configuration setting was persisted to disk, which wasn't the case so I probably worded it wrong. What I needed was a notification from the configuration subsystem that A) a setting had changed and B) what the new value was. In this case, I was hooking up to the PropertyChanged event , then attempting to re-read specific configuration values back in from disk. The problem is that the PropertyChanged event fires before any values are actually persisted, as do SettingsChanging and SettingsSaving . What I didn't realize is that the SettingsChangingEventArgs exposes a NewValue property, which is what I was looking for all along, and will actually end up saving me a round trip reading from disk. So it was there all along, and done in a better way than exposing a SettingsSaved... Read More...
26 January 2007
ApplicationSettingsBase.[Insert Event Name Here] Discrepancy
Microsoft has done a good job when it comes to event naming within the BCL by following a common naming pattern: the gerund form of the verb is used during the act of doing something (i.e. Form.Closing), whereas the past tense is used after the act has completed (ala Form.Closed). They've also done a fairly good job of encapsulating the full lifetime of events for a set of actions, and it's fairly intuitive to find what you are looking for in the documentation. Recently I've been fooling around with the application settings classes in a Windows Forms application, but noticed a deviation from this practice for reasons that are beyond me, specifically the events exposed by the ApplicationSettingsBase class. I'll let you glance at the list for a second or two, the missing event should be pretty obvious. I'll wait... Figure it out? There is no corresponding Settings Saved event. Granted how I was going to use an event like that if it existed may be just flat out wrong from a design standpoint... Read More...
23 January 2007
Creating Network Aware Applications -- System.Net.NetworkInformation
I was recently in the process of rolling my own library to be able to drop into an application to make it "network aware" i.e. the application can periodically check to make sure it still has a network connection...I've seen plenty of apps in the past that completely lock up if there is even the slightest network hiccup; invariably you have to zap it with task manager with the caveat of losing whatever you were working on. The library itself was to be easy enough...just execute a simple ping request on a threading timer at a specified interval, if the request fails raise an event letting calling code know that there is a problem with the network connection. Sounds easy enough, but about an hour into it I thought "there has got to be an easier way outside of doing raw Win32 or WMI hookups." Lo and behold there is: Enter the System.Net.NetworkInformation namespace , which is new to .Net 2.0. In it you'll find a variety of classes dealing with numerous aspects of of how your machine is connected... Read More...
21 January 2007
XSD To Relational Database Model Converter -- XSD2DB
A requirement in a small project I've been working on recently came up for mapping an XSD directly to an RDBMS schema on the fly (i.e. an incoming XML schema needs to be generated into an RDBMS schema structure at runtime...I won't get into specifics as to why), so I started searching for a way to to do this via the BCL. The new SQL Server SMO libraries looked promising, however they are vast and patience quickly lost out to a some good ol' one on one Google time. I ended up stumbling across this tool ; even though the last release was 2 years ago so far it has worked quite nicely and it does appear to still be in (somewhat) active development. Read More...
20 January 2007
Web Client Software Factory Released
Via Brad Abrams (via Microsoft.com ): Web development in the enterprise just got significantly easier! Our Patterns and Practices group just released their Web Client Software Factory which address many of the most common areas I hear corporate web developers talk about. I've learned quite a bit from the other factories released by the P&P team; this one looks to be a slam dunk for anyone developing web applications. Seeing as I'm heading back to the corporate IT realm (well kinda sorta...details very soon) no doubt I'll get some serious mileage out of this software factory. Read More...
19 January 2007
Ajax.Equals(Threading For Web Apps)
I recently heard a good analogy for what Ajax means for web applications: Ajax is to web applications what multithreading is for Windows based apps. By "heard" I mean it's something I came up with recently while trying to explain exactly what Ajax is to a non-programming friend of mine (understanding threading is simple enough even for folks who don't write applications). Compare that to "Ajax fires off a request to a web server without the need for a full server postback to process server side data, blah blah blah). From a user's perspective, that's exactly what Ajax is...requests can be fired off asynchronously completely independent of other actions on that page. Am I buying in to the whole Ajax hype? Not yet. The end user experience benefits, but at the expense of other usability cues that they've grown accustomed to. Page flicker/refresh during postback is indeed a bit disruptive, but seeing as it has a decade+ precedence behind it, people have gotten used to using the browser's built... Read More...
More Posts Next page »