ESMITHY.NET

UI Horror: Birthdays

Last year I wrote about my dislike for cell phones. Despite that, I actually have one now. Maybe I'll write more about that at some point, but I was just recently reminded (irony to be revealed later) of a particularly sloppy user experience associated with adding birthdays to contacts and …

Are .NET Properties a Mistake?

As I mentioned the other day, I'm reading Jeffrey Richter's book CLR via C# right now. I was kind of surprised to read this statement by the author: "If I had been involved in the design of the .NET Framework and compilers, I would not have offered properties at all …

Them Newfangled Cellphone Things

I have to admit to being a bit of a Luddite when it comes to cell phones. In spite of being in the generally gadget-friendly demographic of software engineers, and someone who bought the very first Palm Pilot model within days of its launch, I've not yet owned a cell …

Culture Shock

Over twenty years ago, I moved from Oregon to Utah to start going to school at BYU. As we were driving to Provo from the north, my mom, who had been born in Utah, commented, "This place right here is called the point of the mountain."

"That's stupid, there's nothing …

Naming Private Fields (Addendum)

This is just a quick addition to the previous posting, confirming the alleged use of m_ by Microsoft in their own code.

Lutz Roeder's .NET Reflector is a fascinating tool for various reasons, including its ability to show all the .NET Framework classes that use prefixes on member variables. There …

Naming Private Fields

One of the greatest questions facing theologists is this: What should be the naming convention for private fields? The most controversial aspect is the use of m_ as a prefix.

For many programmers, this debate has been resolved for years. My personal history with the issue is goes like this …

DRM I'm Content With

I don't generally buy music or ebooks online, even though I would like to. I just can't bear the restrictive copy protection that comes attached with online purchases. In fact, I get angry as I think about the experiences I've had with DRM, and the ever encroaching control that content …

When Does XHTML Matter?

I noticed the other day that the pages on this site had double body tags in the HTML. As someone who favors standards it was kind of embarrassing. But what started as a quick fix turned into a few days of ruminating about how I'm putting this site together.

I …

Object-Oriented vs. Database-Oriented

Having worked for Folio and NextPage, companies that have specialized in full-text indexing using custom search engines, I have an admitted knowledge liability with regard to relational databases. It never really made sense to have a relational database and our own search database coexisting in an application. But it never …

Why Exceptions Are Better Than Returned Error Codes

I'm occasionally surprised that some programmers prefer an error handling system of returned error codes over exceptions. After spending several years with both approaches, I've become convinced that exceptions are a superior model. If you agree, great! If not, read on and let me try to persuade you. I'm always …