10 June 2009

Exploring open source - Part 2

Firstly, a little about my journey with open source software. I'm by no means an "expert" (def: an unknown drip under pressure) but neither am I a total ignoramus.

Intro to Linux - 2001

I came across Linux during my Diploma in IT in 2001 / 2002 where we were exposed to Red Hat 5 or 6 or thereabouts. Here is where I was introduced to the concept of open source software. It didn't last long as I figured that as we lived in a Windows world, I had to keep up with Windows and prioritised my efforts here. Getting a job during the tech-wreck was work enough.

The idea of open source in the Windows world certainly wasn't obvious to me then, so I can't say what the state of it was back then.

Asterisk Implementation

My first real use of open source was when my boss in 2005 set me the task of developing the company knowledge of the VOIP PBX Asterisk. Four years after playing with Linux, I was still able to remember enough to get going quickly. (hooray!!!) I actually managed to get a working installation off the ground, complete with an exim4 service to handle voicemail.

Current Open Source Usage

Since then, in the Windows world, I've been playing with open source software mainly in the software development space but also a little in the support space. Principally, I built a company intranet in DotNetNuke (DNN), a wonderful platform for hosting content management systems, based on VB.NET. Otherwise, my main use for open source has been for development support tools like Subversion and TortoiseSVN (of course), MbUnit, NUnit, NMock2 (yeah so what if Rhino Mocks is "better" - I like the expressiveness of NMock2 and you gotta start somewhere), SharpDevelop and am now dipping into IronPython (the Python implementation for the .NET Framework). I also configured and deployed a helpdesk / support tool in PHP and MySQL (of questionable quality). I'm sure there are others that elude me for now. Some of these tools are either ports from Linux / UNIX apps while others are ports from (or inspired by) Java tools (possibly open source).

It's interesting to note that the purpose of all of these tools have been to make the life of IT staff easier or more productive. No open source software that I have been in contact with has been for the purpose of enhancing end user productivity. DNN is kind of the exception, although its reason for existence was to remove me from the process of posting new content to the intranet. I learned that the IT staff should not be an essential part of the business process. Implementing DNN meant that users could post content themselves with little intervention from IT.

Open Office.org

On the open source front, I have dipped into Open Office several times since version 1.0 (possibly a little earlier) and every time have also dipped out. For a while I used it while studying part time in 2007 while holding down a full time job in preference to my other poor choice - Microsoft Office 97. I continually found that menu choices were hiding somewhere unexpected and getting help was difficult. At least as difficult if not more so than Microsoft Office. The final straw was when editing a table was more difficult than it should have been. I ditched it in favour of Office. At least the thing worked according to my expectation.

My most recent exploration with Open Office was last week when I investigated version 3.1. I opened a moderately complex Word doc, a document from Microsoft “Deployment and upgrade for Office SharePoint Server 2007” (link). It contains an automatically generated table of content, hyperlinks hidden behind display text and some pictures. There might be some tables and bulleted lists. When I opened it, some of these hyperlinks had been inexplicably changed from Arial to Symbol font.

Apologies to the Open Office folks, but this is a deal breaker. If I'm in a position of specifying a new office suite to a company, I am not going to recommend deploying a product that does this. It just has to do this right.

Summing Up

If you get me on a bad day, I'll be a Microsoft bigot and will curse open source to the ends of the earth. It's wrong for me to do this and once I calm down, I'll tell you that I'll consider it if:

  • it works reliably
  • I'm looking for software that will do a task better
  • I don't hate the world on the day you ask. ;)

Till next time
Cheers
Mike

09 June 2009

Exploring open source

I’ve spent several days recently in the company of an avid open source implementer and advocate. Until recently, he featured on an Australian radio show as the resident open source (ie. Linux) geek.

Anyway, I’m very firmly in the Microsoft camp so we ended up in an argument over the worth of open source software.

The best thing that came of it was I decided that I really should know about the state of play in the open source world and know what I think (and be able to support it) about open vs. proprietary (or closed source) software. As an designer and implementer of solutions, I feel that I really need to know if I am to make a sound business decision whether to employ it or to avoid it in a given situation.

My pre-condition to this discussion is that open source or proprietary software bigotry has no place in IS design and implementation. It only serves to remove tools from our toolkits.

What I hope to cover in what I expect will become a series of posts will include:

  • I want to know what I think about the various licences that exist (eg. GPL, LGPL, MIT, MSPL, etc)
  • How can open source contribute to a business in terms of
    • cost savings
    • competitive advantage
  • How can a company make a living out of open source development
  • Is open source really more secure because anyone can read the code?

At the end of all this, my expectation is that I will have a better understanding of open source and have some opinions which I can support with evidence of where and when I’d consider employing it.

30 April 2009

SOLID principles are about habits

Last February there was a furore in the .NET world that started when Robert C. Martin (Uncle Bob) went on Hanselminutes #145 (link). Joel Spolsky later went on the Stack Overflow podcast and was widely quoted as saying that quality doesn’t matter much. And the blogosphere went nuts…

Remembering back to when I learned to program – I learned syntax and so on. While we were instructed to focus on design, we were never really taught how or what constitutes good design (of which the SOLID principles are part of). So I never developed good design habits. Now that I’m trying to learn and apply them, it’s more difficult as I already have some bad ones. It’s like learning to ski as an adult while watching 5 year olds zoom past backwards… it’s so much easier to learn early on.

29 April 2009

Blog post on programming language selection

I liked this article. It describes one person’s process of selecting a language for a project. He briefly describes the process of choosing between Java, Ruby, PHP and Python.

http://blog.dhananjaynene.com/2008/06/whyhow-i-ended-up-selecting-python-for-my-latest-project/

22 April 2009

Oracle set to slash Sun jobs

Sun seems to be a bit happier to be bought by Oracle than IBM. But probably not by much.

Oracle’s said to be offering about a billion $ more than IBM so maybe that’s helping to smooth egos.

But try telling that to the holders of those jobs that Oracle is tipped to cut.

Oracle set to slash Sun jobs

14 April 2009

Goodbye to Easter 2009

Well, I’m back at work from the 4 day Easter break. I’m afraid it just didn’t last too long.

I’m flat out with my uni study at the moment. I attended two project meetings at uni, with the first assignment due on Friday. the ping ponging between subjects is hard going, yet I’m turning in some pretty alright results.

Both subjects this semester have been very engaging.

Business Applications and Architectures is basically about enterprise architecture. Mark Dale has taken the approach in this first assignment of having us dig into several architecture frameworks such as Zachman and TOGAF in order to discover how they’re structured, the role of views and viewpoints, etc. His intention is to give us some insight into the rationale and values behind various frameworks, so that we can evaluate their suitability to a project and select and modify them as needed.

Knowledge Management Systems is providing another overlay on top of our analysis and design methodologies. It is investigating the role of knowledge within an organisation, how it is shared and stored and how a knowledge strategy can be formed.

So all in all, my Easter has largely disappeared in a flurry of assignment writing and team meetings. My house is still only partly unpacked and I think a week’s leave to get on top of this will be sweet medicine.

Cheers

09 April 2009

40 per cent of execs trust gut….

I found this article today on CIO.COM.

So for a quick quote from the article (italics are mine)…

‘Of those respondents who said their companies still make decisions based on judgment rather than business analytics, 61 percent said it was because good data was not available, and just over half (55 percent) said their decisions relied on qualitative and subjective factors. Other reasons related to workforce challenges: 23 percent of respondents said "insufficient quantitative skills in employees" were a main impediment at their company, and 36 percent said their company "faces a shortage of analytical talent."’

Good data was not available… ouch