Logo
December 30, 2006

IIf() May Get a Dose of Legitimacy

Filed under Development, Software at 10:52 pm  

Paul Vick announced a possible change for VB 9.0, this change would give the IIF method the legitimacy it has long deserved. The issue with IIf is that it's not a short-circuit operator, which can severely limits its usefulness. Take the following example, that will throw an exception if obj is Nothing:

IIf(obj IsNot Nothing, obj.Property1, String.Empty) 

Since IIf() is just a normal method, all parameters will be evaluated, regardless of weather obj is Nothing. This change would make IIf a true part of the language, a true ternary operator, instead of just another method.

IIf is largely avoided due to performance issues, and its limited usefulness for the reason above. Now that IIf may function as a true operator (though still wrapped in the cloak of a method), it will be a truly useful part of the language, one that I've long wished for. I've always been a fan of IIf, it'll be nice to be able to use it again, without the overheard and issues that has long went with its use.

Mr. Vick is still soliciting comments on this change, so now is the time to make your opinion known

December 23, 2006

Assertiveness for Software Developers

Filed under Development, Technology at 9:59 pm  

Here is a quick read from Jeff Atwood that all developers should read: Assertiveness for Software Developers. Jeff brings up a great point, developers aren't assertive enough; and that ends up biting us later (I know it's bitten me a few times). 

This is well worth reading, and well worth some serious thought for next time your manager hands you an impossible deadline.

Holiday Schwag

Filed under News & Events, Personal at 5:27 pm  

The Valleyschwag crew has released their 5th package, a holiday package no less. I ordered mine a few days ago, and it arrived today. While I believe the guys behind Valleyschwag made a real mistake, it's nice to see that they are still hard at it.

Valleyschwag #5 

This is a nice package, with goodies from Guba, mingle and WebShots (along with a few others). All in all, a rather nice package.

 

December 21, 2006

OpenID: ID of The Future?

Filed under Security, Technology, Software at 8:50 pm  

After reading Simon Willison 's excellent article on the topic I spent a couple hours last night looking at the current OpenID specification, and after a fair bit of thought found the ideas behind OpenID clever, but not what's needed for the ID of the future.

What's Right 

OpenID has some really good ideas behind it. Here are a few that really stand out in my eyes.

  • If you have a LiveJournal account for example, it just works, no extra sign-up, no additional work.
  • The ID is easy to remember, a persons blog / home page URL is among the easiest things for a user to remember.
  • De-centralized architecture that minimizes the potential for downtime.
  • Anyone can operate an Identity Provider.
  • Open, well documented protocol, as well as open-source libraries.
  • ID may be portable from one Identity Provider to another without changes to the ID.

What's Wrong

There are a number of issues I see with this system, while there are certain advantages; some of these disadvantages are quite disturbing. Here are the issues that strike me as most concerning (in no real order).

  • SSL (HTTPS) is not required for any communications. This is a potential security issues, though not as large as could be due to the nature of the system.
  • Requires editing HTML for users that do not use a hosting service that automatically adds the OpenID HTML code to the proper page(s).
  • Not all hosting services allow the user to edit HTML directly.
  • Does not offer a way to communicate enough information, such as would be used to expedite an e-commerce transaction. (This may be changed in future versions, or with extensions.)
  • No trust relationships, only verifies a person controls a URL.
  • No certification or audits for Identity Providers to ensure end-user security.
  • Excessive bandwidth usage. Each login requires parsing at least one full HTML page to identify the Identity Provider server. If a user has openid.delegate included in their page, there will be another full page download/parse for each.
  • HTML pages must be parsed to identify the Identity Provider server, parsing HTML can raise issues when it contains errors (as is quite common). Seeing as there is no standard library to perform the parsing, HTML with errors may work with some implementations but not with others.
  • Anyone that gains access to edit the HTML of the identity URL can steal ones identity just by changing/adding an openid.delegate. This is a real risk in some shared hosting environments.

What We Need

The idea behind OpenID, to create a distributed identity system that is easy to use and can be used universally is a great idea, and one that should be pursued. If this goal could be achieved, it would be a project that would truly help to make the world a better place (at least it in that it would save everybody time). I have great respect for the work of all that have contributed to the OpenID project; it is a great idea and certainly has uses.

To be truly useful though, an ID system needs to be easy to use for people of all skill levels, with and without web sites. It should provide an option to control how much information is shared with a web site (such as OpenID does), and should have the option to provide information such as shipping or billing information to minimize entering the same data in so many web sites. All the data should be transferred via SSL to ensure the highest level of security.

Features of The Future ID

  • The protocol should be completely open and well documented.
  • The protocol should be XML based so as to be lightweight and easily implemented in any language.
  • The ID should be easily used with not only web sites, but via desktop applications and other forms of software that require authentication.
  • The organization backing the identity system should arrange for an optional certification program for Identity Providers to ensure that certain basic security policies are implemented. The requirements should be defined by the backing organization and the audit carried out by a third-party auditing firm.
  • The IDs should be in an easy to remember format that is easy to type and makes translation back to the provider simple.
  • Identity Provides should offer a way to verify that a user is who they claim, not just that they control an ID. This would be an option for users that would be quite useful in applications such as e-commerce use. (This would rely on the provider having a trusted signing certificate and following certain identity verification guidelines.)

While some of these features cover far more ground than something like OpenID, this increased scope is needed to ensure that the ID service can be used in all the needed applications. While it is far more complex to add these extra features, the ability to use the resulting ID for almost any purpose makes it well worth it.

I'm not proposing an alternative to OpenID, simply seeking feedback while passing my feedback on OpenID along for those interested. 

 

December 20, 2006

Starting in WPF?

Filed under Development, Technology, Software at 7:48 pm  

If you are looking to get started working with WPF, then Tim Sneath has a great guide for where to start: Building a Perfect WPF Developer Workstation.

This guide includes links to all the software you need, sample projects, and even where to go with questions. If you're new to WPF, or want to take your WPF skills to the next level, this is a great place to start.

 

December 19, 2006

Spam & Gmail

Filed under Technology at 10:50 pm  

I just dropped by to check my Gmail account (which is almost never used, and the address has never been published anywhere), and found quite a surprise. The spam box currently has 7,026 spam messages!

Gmail Inbox

Keeping in mind that spam is deleted after 30 days, that means I'm getting 7,000 spam messages a month to an unknown, unpublished account! All of my other email accounts use two layers of filtering, one at the server, the other in the client. With this much spam going to an almost secret account, I can only image the spam going to my published accounts.

I actively use six separate email accounts, if each gets 7,000 spam messages a month, I'd be spending my entire week without sleeping just going through spam. Spam just seems that much more evil every day.

 

Buying a Car

Filed under News & Events, Personal at 9:56 pm  

I recently took a trip down to the local VW dealership to see what the '07 Jetta's  look like. I was rather impressed. The new Jetta is a very sharp, very sporty car; a rather impressive ride. I had no intention of buying, I just wanted to take one for a test drive.

That is, until I saw a black Wolfsburg edition. As soon as I saw the car, I knew it was true: love at first sight is real. ;)

After 3-hours and signing a small mountain of papers, I had a new car. Not just a car, my first new car. 

Update: The promised picture (now that Flickr uploading works again):

2007 Jetta Wolfsburg (Black)

December 18, 2006

Microsoft Visual Studio 2005 Service Pack 1

Filed under Development, Software at 1:21 am  

I must have missed the memo on this, but it seems the first service pack for Visual Studio 2005 has been released (release notes). This release should add a lot of stability to the IDE and resolve of number of issues (such as the frequent VB compiler crashes). It’s a rather large download, approximately 450 MB, and is rather slow to install, but it promises to be well worth it.

The one real downside, is that you shouldn’t plan on doing much while it’s installing; the almost 400 MB of RAM consumed during parts of the installation may slow your system to a crawl. So, make plans to do something else while it’s working, because you wont be.

Update: Visual Studio 2005 SP1 Known Issues

December 17, 2006

Things You Shouldn’t Worry About

Filed under Business of Software at 7:36 pm  

I’ve been a fan of Patrick’s blog for some time now, and one of his recent articles, Things You Shouldn’t Worry About, really shines. While I can’t agree with everything, most of the points really make sense. If you run an ISV, or are thinking about starting one, I highly recommend that you read this, it’s well worth it.

Yes, I am alive!

Filed under News & Events, Personal at 7:14 pm  

My blog has been rather quiet recently, largely due to a project I've been working on for one of the largest banks in the country. The project, a dynamic, scriptable, plug-in driven data capture system, has finally been released and is in production. I'll not bore you with any of the details, so I'll get right to the point:

I've got a life again!

Well, at least as much of a life as a developer / technologist / work-a-holic ever has. ;) I should be back to posting on a more regular schedule now, sorry for the extended silence.

delegate-insomnia