Archive for August, 2009

Published by Kenneth on 31 Aug 2009

Trade Profiteer reaches stable release

Colony West Software Company is pleased to announce the first stable release of the Trade Profiteer. We decided to push forward with a stable release and will be releasing another development (unstable or beta) release sometime soon that will contain the updated OCR code along with other enhancements that need to be tested thoroughly.

New version: 1.0.1331

When the new development release is made available, there will not be an alert from the Trade Profiteer that a new version is available. Bug fixes will be periodically released for the stable version where necessary.

The first development release will be version 1.1. It will contain the new OCR code that will support large fonts and Java 6, along with other enhancements.

Enjoy, and feel free to e-mail me if you feel you have an issue to report.

Fair winds.

Published by Kenneth on 16 Aug 2009

A non-developer makes assumptions about software development

Just found another blog post by TechRepublic’s open source and Linux advocate and assumption king Jack Wallen.

Article: “Five reasons why your company should hire open source developers

Given some of the things that Jack says in this blog post, you’d think he’s become RMS 2.0… Before going into the five reasons, he makes some very bold, and incorrect statements.

Many larger companies do not place any value on open source applications, therefore they do not place any value in those who code the applications.

This is absurd. Any software company looking to save money will look at the open source community, so they will place a lot of value in open source applications and libraries as they are now apart of the product they are making available. And by placing value in the code employed, they will also place value in the developers who wrote it. But value also comes from quality, and open source does not automatically mean greater quality.

Some companies are afraid that hiring an open source developer would be a liability – possibly reverse engineering their proprietary software and then releasing forked versions into the community.

Again, absurd. He does not back this statement up at all, either. Which companies are afraid of hiring open source developers? If you’re gonna say something, be ready to back it up.

Any person hired as a software developer or engineer at a company will also have access to source code, so there will be no need to reverse engineer anything. I have full access to quite a bit of source code with the company with whom I am currently employed. Now can I take it an release a forked version into the community? Absolutely not.

If I tried to do this, my employer would not only fire me, they would sue me so hard that I’d be living on breadcrumbs and water drops till I die. I would be homeless in a heartbeat with virtually nothing to my name, wandering the streets. My employment agreement and applicable copyright and trade secret laws ensure this.

Furthermore, I would never be hired as a software engineer again. Ever. The lawsuit would ensure all details were public, meaning my reputation as an engineer would be irreparably tarnished.

Now has this ever happened? It probably has. Developers have probably stolen source code from their employers in the past. But I highly doubt it is as large a fear or problem as Jack seems to imply.

After making these two baseless assumptions, he makes his reasons. Let’s look at each of them.

You can see more than their resumes. Because the applications they work on are open, you can get a first-hand look at the code they write even before you do that first interview. Try to do that with a developer for a proprietary software developer. This will give you a fairly instant grasp of your interviewee’s understanding of programming. You will know right away how well they write their code, if they use comments well, what tools they use, etc.

This one is more common sense than a benefit. Any person who contributes to open source projects should have that on their resume. Anyone who writes their own should definitely have it on their resume. But he overlooks something here.

When you submit a contribution to an open source project, as opposed to writing your own, your contribution is “massaged” into the rest of the code. What I mean is that the contribution may be changed or adapted to conform to any published or implied coding standards and practices behind the project. There will very likely be comments in the code denoting your contribution, but it won’t necessarily be an indicator to the kind of code quality an employer can expect from you.

Now certainly anyone looking to be a professional developer (namely college students) should get involved in an open source project. I recommend it to the interns at work, and I’ve recommended it to others as well. It’s a great way to gain some instant experience you can put on your resume.

His second point is just full of assumptions and obvious bias:

Open source developers have had to think on their toes and patch the programs that Microsoft has (often times) intentionally broken. Think about the Samba team. For the longest time they would take a step forward and Microsoft would change something that would push them a couple of steps back. The Samba team had to be on their toes all the time to make changes so their software would continue to work with the latest version of Windows.

He shows is obvious and well-published bias against Microsoft here, and makes a lot of assumptions. First, he’s implying that open source developers (aka, the community) are fixing Microsoft’s problems. This isn’t the case. Microsoft’s software is mostly proprietary, so there isn’t any way this can happen.

But he shows how little he understands the “big picture” with his mention of Samba.

Samba is an open source service for Unix/Linux operating systems to allow them to masquerade as Windows computers on a network. I use it on my media server, which runs openSUSE 11.1. To accomplish this, Samba implements Microsoft’s Server Message Block (SMB) protocol according to published specifications.

The protocol was not created by Microsoft, but Microsoft uses their own derivation of it on Windows. But given Jack’s statement, one would think that this specification changes often, so the Samba team is constantly changing the software to adapt to Microsoft. This isn’t the case.

If you look at the Samba Bugzilla, you will notice that there are over 1,300 bugs still open, as of August 16, 2009, and they are making maintenance releases on a somewhat regular basis to correct bugs. Are they trying to stay up to date with Microsoft? I doubt it.

Jack, do your research.

On to his third point, which is again laden with assumptions:

Although this is not a universal truth, open source developers are very passionate about what they do. They have to be, otherwise why would they do it? If you hire an open source developer that has a passion for their work on open source projects, it might very well spill over into the work they do for you. Now I understand that many developers are passionate about their work (I’ve read Microserfs ;-) ), but passion in the open source community runs a bit hotter than it does in the non-open source communities.

He’s right that it isn’t a universal truth, so why is he even stating it? Both open and closed-source developers can be passionate about what they do. It depends on the passion.

Writing software is about more than coding something. It’s about helping people. Both open and closed source developers can be passionate about helping people. To say passion runs deeper in the open source community is to draw a baseless assumption clouded in bias and ignorance.

I write proprietary software, both independently and for hire, and I’m likely more passionate than many open source developers I’ve met. Are there others more passionate than me? Certainly.

Along with an open source developer you will enjoy open source support. This is a tricky one for sure. You can’t hire a developer and then expect that developer not only to code but also serve as support for end users. But it is always nice when there is someone there to help support the IT department. That Apache server that someone installed a long time ago and has been running non-stop without upgrades because everyone is afraid to touch it? It could be given the attention it so deserves now.

Developers are partially responsible for helping the support department. After all who knows how a particular feature works better than the person who wrote it? At my previous job with MediNotes, I was being contacted by the support department on a regular basis with questions or concerns.

If a company hires a contributing developer for an open source project partially because they use that project internally, then expects that developer to become the point of contact for support, they will be disappointed. Being a subject matter expert is one thing, but what Jack thinks will happen likely won’t.

Plus if an organization sets up an Apache server but only one person is trained on how to maintain it, then that is that organization’s fault, and they should’ve brought someone in to take care of the server when that need was identified.

And like adopting any open source project, you will save money. Along with hiring a single open source developer, you now have the “support” of the entire open source community, should you need it. If you are working on an-in house project that ends up going to open source that project has the opportunity to scale in proportion to the size of the community supporting said project. If that project catches the eye of the open source community, who knows, it may wind up being the next Samba or Apache.

What? Jack, you are clearly not thinking. How is that one person bringing with them the support of the entire open source community?

Your statement about an in-house project going open source is also completely unrelated to the rest of the article. And for such a project to become the next Samba or Apache, it needs to have a similarly large user-base. Plus there is one key difference between Samba and Apache: Apache is available for multiple platforms, not just Unix/Linux.

In his article, he also includes a poll question: “Are open source developers good for the company?” As of 339 votes, mine included, 58% answered “Yes”, 25% answered “Depends on the developer”, 11% answered “Depends on the company”, and 5% answered “No”. My vote was “Depends on the developer”, as an open source developer who is unskilled is not better than a skilled proprietary developer. Some direct evidence to one’s skill level is just more readily available.

And now his closing paragraph:

I don’t want anyone to get the impression that I think open source developers are better than closed source developers. But they do have different ideologies and they do go about things differently. For a long time companies avoided hiring open source developers for one reason or another, but I have always and will always stand by my claim that open source developers make great additions to your IT staff.

Too late, Jack. It’s clear you think that open source developers are better. They might have differing ideologies, and it is those ideologies that should be queried by anyone conducting an interview. To say that “for a long time companies avoided hiring open source developers” is absurd, and another claim for which I doubt evidence can be provided.

To say that open source developers make great additions to an IT staff is also a little short-sighted. How well of an addition a developer will make will depend on the developer as a whole, not just whether he/she happens to also be an open source developer.

Jack, you need to stop making comments about software development. Your profiles on TechRepublic and LinkedIn say nothing about you being involved in the development of any software, so you’re just spouting assumptions that have little to no basis in reality and that are derived from other assumptions you’ve made.

Published by Kenneth on 16 Aug 2009

Is Linux right for your netbook?

Article: “10 reasons Linux should be your netbook operating system

Linux is relatively fast compared to Windows, making it likely the better choice for netbooks than Windows. My mother’s netbook from Dell runs Ubuntu 8.10, if I remember correctly, and she can use it reasonably well. But in his most recent blog post, it is becoming clear that TechRepublic’s Jack Wallen has a few Linux sound bytes stuck in repeat mode in the back of his mind.

“1: Netbook hardware is the perfect match for Linux”

I will say that Jack is correct in that you won’t really be able to do much with a netbook as far as high-power applications and games are concerned, but he slips when he says that “Linux is the perfect networking operating system”.

This may or may not be the case, and it will depend on your netbook. If it came with Windows pre-installed and you are considering switching to a Linux distribution, check with the manufacturer to find out if all of the built-in hardware is supported, especially the wireless network adapter.

Also check to see what kind of support they will provide if you decide to change to Linux (some may cut off support if you do this, something Jack conveniently forgets to mention).

Jack, you need to seriously stop assuming that Linux “just works”, because as many have pointed out, including recently, that isn’t always the case. Just because you were able to successfully convert one person’s netbook to Linux does not mean everyone’s transition will be as smooth.

“2: Netbooks require a secure OS”

Ugh… Jack, why do you keep saying this, in one variation or another: “Your Linux-based netbook can travel anywhere you want and you won’t have to worry about picking up viruses or spyware like you would with a Windows-based netbook.”

As many security experts have pointed out, this again is not always the case, and it is actually only a matter of time before this may not be the case. Many have speculated that the only reason Linux isn’t a virus hotbed right now is because it is not popular.

As has been pointed out numerous times: No operating system is immune.

“3: It’s all about the interface”

In this section of his blog post, he’s definitely showing his “fanboy-ism”: “It’s obvious the interface was well thought out and aimed at the new PC user as well as the new netbook user.” Personally, just as I think I am far from qualified from making this kind of assessment, so too is Jack.

Any person who has been using a computer, any computer, for longer than a couple years is removed from qualification on assessing whether an interface is “aimed at the new PC user” for one simple reason: they are not new users. Sure, we can all remember our frustrations with trying to learn how to use a particular application or operating system, or can you?

The only way to know how friendly an interface is to “new PC users” is to observe new PC users, and how many has Jack observed recently? Probably far too few to make the broad assessment he’s made in his blog post. Which is also why you won’t see me making that kind of assessment regarding an operating system.

“4: Your netbook can be more than just a slow laptop”

There’s not much I can say about this section. He’s comparing two Linux distributions I’ve never used, so I can’t really say anything. However, he closes this section by saying that you can install a LAMP server if you wish. About the only individuals for whom such a capability is useful are those needing to demonstrate web applications (sales personnel, for example).

"5: Linux will keep your cost down”

There’s really only one thing to point out here: Jack seems to conveniently forget that there is commercial software for Linux. Sure, you likely won’t be running any of it on a netbook, unless you need it to keep in touch with the corporate office, but it’s out there. He also seems to conveniently forget that there are free security applications for Windows. I use one on all of my Windows machines at home: Avast AntiVirus.

My laptop runs Windows XP. I paid extra to get Microsoft Office Basic installed as well, because I prefer it to OpenOffice. For my laptop, I’ve only ever purchased one other piece of software: Visual C++.NET 2003. Most who buy a desktop or laptop computer, or a netbook, will not pay for any other software they run because what they need is available for free.

In fact, with my fiancée’s desktop computer, which we built a little over two years ago, the only software she runs that we actually purchased was the operating system. And everything on her machine is legal.

“6: Linux offers more flavors to choose from”

Some would say Linux offers “too many” flavors. It’s been pointed out numerous times as one reason why Linux has yet to “take over” in the desktop market. Sure there are only a few that are actually relevant, in my opinion, but there are still way too many out there and it needs to be scaled back.

This has also been demonstrated as one of the major flaws of the GPL model.

“7: You’ll gain speed”

While I will agree that Linux is fast, he points out one important caveat: there are differences between Linux distributions. And whether you see a gain in speed will depend on which one you choose.

Are all better than Windows? This depends on what you want to do and is highly subjective. I doubt Jack has tested every scenario, so he cannot say with absolute confidence that this is the case.

“8: Improvements will come faster and more often”

Again, Jack is continuing with the empty statements. First, he says “Just like any software in the open source community, the Linux netbook operating systems will continue to improve at a much faster rate than the Windows operating systems for netbooks”.

Jack, please, stop making blanket assumptions with Linux. Okay, you’re a huge fan, but stop with the blanket assumptions.

As one responder pointed out in the comments to the blog post: “Microsoft release security updates as frequently as required and in small "chunks". A Service Pack is merely a collection of already released security updates packaged with new OS features.”

How many people really want their operating system to change frequently? Sure you might like new features, but I prefer my applications to change and adapt, not my operating system. I just want my operating system to work, and I’m sure most everyone else out there feels the same.

“9: The next version will work”

Another statement that Jack is just a bastion of assumptions. With all applications you run the risk that an upgrade will break something. The only difference with an operating system is that the break tends to be a little more mission-critical – it is the software running the computer, after all.

Assuming that the next version will “just work” is preposterous. How will you know unless you actually try it? It is impossible to test an application under all possible hardware and software combinations, which is why no one software engineer will every risk his/her career and reputation by saying “it’ll just work”.

“10: Support is better (believe it or not)”

And I don’t believe it. Never have, never will.

The single biggest problem with community-based support models is the community. The community does not have any incentive to provide good support. Paid support techs at Microsoft, Novell, Oracle, and the like, do have one hell of an incentive: their paycheck. Now this doesn’t mean that the support you get will automatically be good, but it does mean that are repercussions for those who don’t provide good support.

If you get bad support from the community, who do you complain to? The community that gave the bad support.

The choice is yours

Linux is not for everyone. Just like with Windows, there is a learning curve with Linux, though that curve tends to be larger with Linux than with Windows. For me, I prefer Windows, not only because I’ve been using it in its various versions for at least a decade, but also because it works with what I use most. I’m also a Windows software developer, though I’m trying to find ways to break into cross-platform application development.

On my media server, however, I use openSUSE 11.1. Why? MediaTomb. That’s the only reason. I’ve found MediaTomb to be better than the Windows UPnP software I previously used: TVersity. It’s also running MySQL as MediaTomb’s database backend, which is also used as the database for GnuCash, as the latest unstable version can talk to MySQL. I wonder how well GnuCash runs on netbooks?

But the choice is yours as to whether you change over to Linux. Just always make sure that in whatever change you make you have a way to undo what you’ve done.

Published by Kenneth on 15 Aug 2009

Trade Profiteer delayed

This is just a quick update on the Trade Profiteer. Thankfully since the last beta release – 1.0.1219 – there have not been any issues related to functionality reported, however I’m not entirely ready to move forward with a full release, yet. Due to current projects where I’m employed, time has not really been available to maintain the code and I’ve already fallen behind on the “early August” target.

I’ll keep this blog updated with any pertinent information.