Wednesday, January 30, 2008

No NuSoft Solutions For You!



# 

For the last week, I've been listening to Al Green and attempting to grok the ASP.NET MVC Framework in fullness. I have not been looking for a job. You see, on Monday of last week I had a three hour dinner with a hiring manager which ended with us agreeing to work together.

Because I have been around the block before, I did not crow from on high that I had found a job. Nothing is real until it is written up and signed by all parties. I know this, but NuSoft Solutions had been very forthcoming with me, to date. Prior to our dinner, this hiring manager had met with his superiors to confirm that my travel needs were acceptable. He called me to confirm that we were all on the same page regarding travel before scheduling our dinner meeting.

This morning, eight days after our meeting, I received word from my HR contact that I would not be hired. When I asked the reason, I was told that my travel costs would be too much. I find this scenario totally unprofessional, disrespectful to me and my family, and thoroughly unacceptable.

I am disappointed this morning, not just because I'm unemployed, but because this opportunity was such a good fit for me. I want, most of all, for my next position to be a good opportunity for my employer as well as for me. I know that I would have made very positive contributions to this organization, while working on a personally satisfying variety of solutions and technologies.

I will not slander NuSoft Solutions, but if any of my contacts in the developer community ask me about the company I will relate my experience and have them draw their own conclusions.

With all that said, I am still looking for a challenging and fulfilling new opportunity. Please have a look at my resume and contact me if you know of any appropriate opportunities. Finally, if you are reading this because you are considering me as a job candidate, please perform thorough due diligence before offering me a position.

Cheers,

++Alan

 Saturday, November 03, 2007

Visual Studio as an Application Platform



# 

Josh Holmes blogged about Microsoft as a platform company rather than an application company.  He referred to VSTO as making Office a platform for other companies to develop applications.  He further mentioned Facebook's recent success as a platform for others to extend.

I heartily agree with everything that Josh is saying.  I think I heard the same argument a few years back.  Jerry Pournelle has said for years that while OS/2 was the better OS technically, IBM wanted to sell the SDK, while Microsoft was slipping Windows SDK CDs in every Comdex attendee's bag.

I especially endorse Josh's argument that Firefox is a better platform than Internet Explorer.  It doesn't have to be that way, but it is, for now.  Firefox has some flaws in its add-in model.  I keep expecting Microsoft to release a managed API like VSTO or the MPF for IE.

Software development is constantly in flux.  Should we build web apps, Windows Forms apps, Click Once smart clients, WPF or Silverlight apps?  For my eight years as a software developer, I have built applications that leverage the power of the desktop computer.  I like desktop apps.  I use web apps, like gmail, del.icio.us and Google Reader, but I prefer a rich desktop application UX.

Perhaps I'm becoming a curmudgeon, but AJAX doesn't excite me.  It's still just JavaScript, and it's still slow.  I'm not foolish, I realize that the trend will continue to be leveraging the web as a platform, as more previously desktop only applications move into the browser, and I don't think this is a bad thing.

What I know is that no web app can completely duplicate the rich UX of a desktop application, no matter how many smart people argue otherwise.  I use OWA frequently, but it is not a replacement for Outlook.  In fact, I think Outlook is the best example of leveraging Office as an application platform.  The most recent release of VSTO made creating Outlook plugins significantly easier.

If I were still creating line of business applications as a consultant, I would be adding an Outlook dashboard to every client's system.  Check out TeamLook for an example of what I'm describing.  I keep expecting Microsoft to purchase Personify Design and make Juan independently wealthy.

As I examine my own computer usage I have identified one other desktop application that I believe will not be moved entirely to the web.  That application is Visual Studio.  I use it daily, and I cannot imagine an equivalent experience in a browser.  That is why I have been so stoked about VSX since I first heard about it.

I'm not sure the message has traveled throughout the developer community, but the new Visual Studio 2008 Shell turns Visual Studio into a platform for new application development.  It takes some explaining, but think of Visual Studio as a framework for building an application.  VS handles the main screen, and most of the plumbing, and you as the application developer focus on adding business value.

I'm not saying that the Visual Studio Isolated Shell is the right solution for every smart client application, but if the problem domain fits the Visual Studio tool and command metaphor, then it is worth your time to investigate.  I'll be speaking about exactly this topic on November 10 at the Memphis Day of .NET.  I'll also be blogging on Cave Markings about the progress I have made in exploiting the VSX tools for application development.  Stay tuned, the future is bright!

++Alan

What's Up at Windows Live?



# 

I don't write blog posts from my desktop PC (or anywhere else, honestly) very often.  I wanted to make a post about some progress I made with the VSX, but I noticed I had an old beta of Windows Live Writer installed on this box.

I downloaded what appeared to be the installer for Live Writer here.  Upon download completion, I began the install only to be prompted to set my default home page and my default search provider to MSN and Live search respectively.  While I don't like an installation routine trying to change unrelated settings, I will credit the Live team for at least prompting me.  I won't install anything from Yahoo after they changed my home page and search provider without asking.

Moving on, I encountered a screen asking if I wanted to install additional software with all the boxes checked, of course.  I unselected the additional packages, and looked for a "next" button without success.  I tried cancel, but that wanted to exit the whole install.

I stared at the same dialog while it apparently checked to see if I had Messenger, Writer and Sign-in Assistant already installed.  I don't why it took so long to check, it obviously new they were installed because they weren't listed in the additional products section. 

This "Checking for installed products" went on for far too long.  Eventually the installation began, with an update to Messenger that I did not ask for, nor particularly want.  Why does Microsoft continue to insist that they have the right to install un-requested updates on my machine.  At least with the Microsoft Update site I can decline updates.

In the end I have the new version of Windows Live Writer that I wanted.  It "only" took 41 minutes to install!  What is up with that?  Who thought this would provide a good UX (user experience)?  WTF?!?!?

Grrrrr,

++Alan

[Update] It appears that I took issue with the install experience the last time I updated my Live Writer install.

 Thursday, July 05, 2007

When the Pattern Is Its Own Anti-Pattern



# 

I'm totally digging Alex Miller's "Patterns I Hate" series.  So far he's taken down Singleton and Template Method.  I love to study patterns and "best practices" in general, but I realize they can do harm when slavishly copied in inappropriate contexts.

While on the topic of Patterns, I must give a shout out to my co-worker Geff Ivey.  I mentioned my liking of Design Patterns Explained as an alternative to the GoF, and Geff convinced me to finally take a look at Head First Design Patterns.  I'm sure this book isn't for everyone, but it was useful to me.  They finally helped me to wrap my head around Model View Controller.  They did it better than the Pragmatic Programmers, or Martin Fowler, although Fowler has more context on the evolution of the design.

Anyway, Alex appears to be a fan of dependency injection, which will soon be promoted by agile practitioners, as a cure for cancer, or at least cancerous code.  Alex has some excellent, thoughtful comments.  You should read them, highly recommended.

Enjoy,

++Alan

 Wednesday, December 06, 2006

UML Sucks (Really!)



# 

I recently received a comment on my blog about a comment I made on another blog.  Ain't the Internet great?

Here's the response I sent:

Hello Nick,

Thanks for alerting me to the need for a contact link on my blog. :-)

While I don't use UML, and neither do any of my coworkers, I have mixed feelings about the need for it.  It seems perfectly reasonable that we should agree as an industry on a common set of symbols to represent OOP concepts, but UML has a typical "design by committee" feel. 

In his comments to the "5 Books" post, Jonathan Allen brought up something that I was aware of,  but never expressed precisely.  He said that the object model is the most malleable part of the design.  This is absolutely true.  This is actually the conceptual basis for iterative, agile practices.  The most critical aspect of the initial design, in my experience, is the interface between the UI and the object model.

While changing the UI is frustrating for users, it is not a technical challenge.  Refactoring the middle tier requires discipline to avoid introducing errors, but should not affect other parts of the system.  It is a well designed interface contract that makes for an extensible system.  This is why SOA with its service contracts is appealing.

Unfortunately, UML doesn't address interfaces (or at least poorly addresses them).  It seems obsessed with minutiae in a parody of academic distraction.  The only time I see UML in my daily development is in technical books and articles, and even then a Visio diagram would usually work better.

With regards to your objective of developing "ways to improve UML interaction to be more practical," I encourage you to ignore UML initially and define your problem clearly.  It seems to me that the problem does not involve UML, but the need for communication between developers, sometimes from different cultures, and on separate continents.  You are most likely interested in the visual display of information as it pertains to object oriented analysis.

If I am correct in my assumptions, then I do have some resources to recommend.  As I mentioned in the blog comment that you referenced, Peopleware is essential reading for understanding the human interactions surrounding software development.  For understanding objects, and by understanding I mean grok in fullness, I have found nothing better than The Object Primer.  Finally, when it comes to the visual representation of information, there is only one person you need to study, and that person is Edward Tufte.  Tufte makes mincemeat of systems such as UML.

If you are looking for a software solution to capture design ideas, then you should be familiar with mindmapping applications such as Mindjet or FreeMind.  I also have begun using Microsoft OneNote and have found it useful.

Cheers,

++Alan

 Tuesday, November 07, 2006

Please Don't Name a File Setup.exe



# 

After doing all the downloading from my previous post I have one big request from the software development community.  Please don't name your install file Setup.exe.  Try instead Setup<Application Name><Version Number>.exe or some varient of that.

I just downloaded the Windows SDK and the file was named setup.exe.  I download all files to the same directory, and decide what to do with them from there.  I don't want to have to rename your file in order to prevent it from overwriting another file with the same name.

While I'm on this little rant, I'm tired of iTunes always downloading with the name iTunesSetup.exe with no version number.  It seems rude to me for Apple to assume users want to overwrite the previous version they downloaded, and thus lose the ability to roll back to a previous version if they don't like the upgraded "features."

Thanks, and have a nice day.

++Alan

 Monday, October 02, 2006

Oh, so that's what it takes...



# 

For the past six years, I've been watching the national political debate with fascination and disgust.  I find the "Cult 'o W" stickers especially fascinating.  I wonder how far some of these folks, my friends and neighbors, will go in support of authority and conformity.

This past Thursday I was truly and honestly depressed.  I am a student of history and a patriot.  I love this country and its founding principles.  I have never found evidence of a society with more freedoms and opportunities for a population as large and diverse as the United States of America.

Last Thursday, the Senate voted to dispense with protection of our freedoms guaranteed by the constitution in preference for a more monarchial concentration of power.  I was disgusted.  I wondered if there were any patriots left in Washington D.C.  I again wondered how far people would go to maintain membership in the cult.

Friday, we got the answer to my query.  People are naturally parents first, and Republicans (and Democrats) second.  The cover-up of the sick, predatorial behavior of one congressman has shown the threshold for blind conformity and rationalization.

Michele Malkin is just to the left of Anne Coulter, who in turn is just to the left of Attila the Hun.  Ms.  Malkin is in my estimation a crackpot.  Even she had this to say about the Foley scandal:

There is a time and place for attacking the Dems and the MSM. Now is not that time. Parents need assurance that their kids are safe on Capitol Hill. If Beltway GOP elites can't understand this, they are beyond hope.

I couldn't agree more.

Lest I think that humanity has triumphed, Matt Drudge is around to remind me that some people have no integrity, but only want to be liked by whomever they consider to be the "cool kids."  Here are his truly disgusting remarks on the Foley matter:

And if anything, these kids are less innocent — these 16 and 17 year-old beasts…and I've seen what they're doing on YouTube and I've seen what they're doing all over the internet — oh yeah — you just have to tune into any part of their pop culture.  You're not going to tell me these are innocent babies.  Have you read the transcripts that ABC posted going into the weekend of these instant messages, back and forth?  The kids are egging the Congressman on!  The kids are trying to get this out of him.  We haven't got the whole story on this. 

There you have it, these teenagers were asking for it.  It's their own fault.

To the rest of my countrymen who are as genuinely appalled by the cover-up of this horrible man's actions as me, let's work together to make this a country our children can be safe in.  While we're at it, let's make it a country they can be proud of too.  I would be proud to work with any other American to make that happen.

Peace,

++Alan

 Wednesday, April 26, 2006

Everybody Lost in the Cartoon War



# 
Back in '93 I was one of the Sunday school teachers in a class called "Church Across the Street."  This was a terrific curriculum for Sixth Graders.  We would study a religion or denomination for a week or two, then we would attend a service.  It was extremely educational for the students and the teachers.  I began attending the Episcopal Church as a direct result of my involvement in this class.

When we studied Islam, we visited the local Mosque.  It was Awesome.  I didn't like that the girls had to use a separate entrance, and cover their heads.  Females also prayed in a separate room.  Aside from the gender issues, my experience was totally positive.  The reverence for God was palpable.  Multiculturalism is not just a PC term in a US mosque.  There were men of every color worshiping fervently together.  I was floored by the experience. 

We had an adolescent boy show us the customs for ritual cleansing and explain their symbolic and practical purposes.  This young man had a very strong sense of identity and belonging.  His life had value and meaning.  I don't have anything against Islam. 

What continues to irritate me is ignorance.  Fundamentalism of all kinds is ignorance.  There is no inerrant scripture. Even if there were, we each would have the choice if we wanted you use it to direct our choices.  I follow the premise of a Presbyterian minister that was quoted to me:  "I take the Bible seriously, not literally."

Nobody wins when we give in to hate, fear and ignorance, and the result of the Mohammed cartoon brouhaha is that we collectively gave in.

You can find a good post-mortem here.

++Alan

 Wednesday, March 15, 2006

Leadership



# 
It is clear to me, that Russ Feingold and Jack Murtha are the true leaders of the Democratic Party.  All of the current so-called "leaders" should resign immediately.  I admire both these men for speaking their consciences in Washington where everyone else is busy reading poll results.

++Alan

[Update] I forgot Harry Reid.  He's got some backbone too.

 Wednesday, February 08, 2006

Is this Islam's fault?



# 
I'm trying to sort this one out.  When the law of the land is inhumane, who's fault is it?  I believe the person that opened the valve on the poison gas at Auschwitz is a culpable as Adolph Hitler for the deaths of innocent people.  If a person igonres the humanity of another, it is that individuals fault, not their religion, or any other excuse they offer.  At least, that's what I think this morning.

++Alan
 Monday, February 06, 2006

Deal With It



# 

I’m a bit put out today.  I am exposed daily to information that offends me.  It may be news about my government breaking the law to violate my privacy.  It could be the obscene quarterly profits announcement of a Mega-Corp.  These things can annoy and sometimes even anger me. 

I’m not immune to being offended when someone criticizes my religion.  The Episcopal Church has received plenty of misleading, inaccurate and just plain bad press in the last two years.  Why does this matter?  I don’t attack someone’s embassy when they offend me.  I don’t assume that I have the one true perspective and anyone that disagrees with my way of seeing the world should die.

If you are Muslim and offended by these cartoons, I apologize.  I don’t generally seek to insult people.  If you are Muslim, and think I should die for posting them on my personal website, well then you can kiss my White Anglo-Saxon Protestant ass.

Cheers,

++Alan

[Update]  Follow these links for more info:

http://memri.org/bin/latestnews.cgi?ID=SD108806

Rioting with well-planned spontaneity

We are all Danes now

My favorite so far, with high quality versions of the cartoons:
Mohammed Image Archive

http://www.sorrynorwaydenmark.com/