Monday, November 01, 2010

Blaming Microsoft for Your Own Shortcomings!

Today, I read an article that was about enterprises having a difficult time migrating to Windows 7.  The cause?  IE6, of course!

In the article, someone is quoted as saying that Microsoft should do more to help its customers because the problem was caused by Microsoft!

I don't normally defend Microsoft, but I think every enterprise that wrote applications that could only run on IE6 deserve what they get!  After all, it was never a big secret that Microsoft was trying to make sure that they locked you into Windows, by locking you into proprietary browser technology.  No one should be surprised, and Microsoft is not to blame.

When I worked in IT, during the very time when IE 5, 5.5 and 6 were the predominant IE releases, we tested all our web applications on Firefox, as well as IE, just to make sure that we weren't using proprietary IE features.

As Enterprise architects, you have to think beyond what the developer cares about, and think about the entire enterprise.  With that in mind, decisions about proprietary technology have to be weighed very heavily.  As anyone that has read this blog knows, I'm no fan of proprietary technology, and this article is just another data point, in a long line of data points, that shows you eventually pay a price for using ANY proprietary technology.  This example is especially egregious, just because the enterprises in question aren't even switching to a competitive operating system solution, but cannot even upgrade to the latest version from the same vendor.

In this day and age, everyone should know better!

Monday, March 08, 2010

Something Everyone Interested in Open Source Should Read

I just ran across Michael Tiemann's recent blog post, on his OSI (Open Source Initiative) blog.  After reading it, I really felt like everyone should read this.

So, here is the link:

We all need to be on guard against organizations like the IIPA, and what they attempt to do to disrupt open source software's adoption.

Thursday, January 28, 2010

What Would Life Be Like Without Windows?

Today I read a blog titled the same as what I titled my blog post, from PC World, and giving full credit, were credit is due, by Randall C. Kennedy of InfoWorld.  Now, I don't know Randall, but I have to say, it was the most lopsided view of the world I have ever read.

Basically, it was an article claiming that the monopoly of Microsoft on the desktop is a good thing.  I used to work in telecommunications, and I used to hear the same argument about AT&T.

The fact of the matter is, monopolies are never good, but competition is very good for everyone.  It brings prices down, improves quality, and expands the market.

Besides, I know what life is like without Windows.  I haven't run any version of Windows since Windows 3.1!  I can tell you from my experience, that it wasn't always peaches and creme, but today I couldn't be happier.

I'm currently running Fedora 12 on the laptop that I'm am using to write this blog post.  I have all the software I need for everything I do, and it works great.  I can interoperate with anyone out there, even people using Microsoft products.  Besides that, I have the most stable environment I can imagine.

I don't spend countless hours fixing my system, but spend countless hours getting work done.  No viruses, crashes, hangs, or interoperability issues here.  I even have Mac's in my home, and my Linux system and the Mac's interoperate just fine.  We share drives across the network, e-mail and IM (including video) between the systems, share documents, you name it, and it all works.

Randall's vision of a future without Windows is simply not based on reality.

Thursday, November 19, 2009

Fedora 12 Rocks!

I just upgraded to Fedora 12, and I have found the release to be very exciting, at least for me.  You see, I have an HP laptop, and it was a great deal at Best Buy, but it had some hardware that I knew would probably have problems.

It has two pieces of hardware that have had interesting results under Linux.  The first is an ATI (now AMD) HD 3200 graphics card.  While the stock ati open source driver worked with it when I first bought it (right around the release of Fedora 10), it had no hardware acceleration of any kind, not even 2D.  So it worked and was functional, but I really couldn't do much with it.  On the laptop that I replaced, I had an Nvidia card, and really was used to Compiz Fusion, and the way that it enabled me to work.  So, I had to settle for what worked.  Over time I tried to use the proprietary driver, but it never worked reliably, and soon it stopped working on Fedora at all.

With that, I had to wait and see what would happen in the open source drivers for this card.  Well, with Fedora 12, if you install the MESA DRI experimental drivers package, you can now get accelerated 3D, and so far it has worked flawlessly.  It's not giving the frame rates I would expect, but its light years ahead of where it was with software rendering.  I now have Compiz Fusion installed and configured the way I like it, and even though this package is experimental, so far I have had no reliability problems at all!

Kudo's to AMD for releasing the specifications, and Kudo's to the team of developers working on the ati driver and adding this support.  It's simply awesome!

The second piece of hardware that I have had trouble with is the Intel HDA sound card.  While playback always worked, the microphone that is built in to the laptop worked sporadically.  I would get a kernel or driver update and it would start working.  I would get another kernel or driver update and it would be broken again.  Weird things like the volume getting adjusted over 100% on Flash video playback would happen, which was very annoying.  Well, with Fedora 12, I can successfully use Skype to make audio/video calls, and the built-in microphone actually works.  I can also record video with audio in Cheese and that works too!  This has been a real pain, because there are times that I really need to do video conference calls and I just couldn't do it.  Also, the weird adjustment of the volume level in Flash is gone too, which removes a real annoyance from the equation.

This release finally lets me use all my hardware in this laptop, and so far has been completely stable.  I couldn't be more happy.  There are lots of other new features that I would like to explore as well, but I haven't had the time as of yet.

If you haven't checked out Fedora 12, do it, its been great for me, and the much improved hardware support is pretty awesome!

Thursday, January 08, 2009

Time for an Open Source Strategy

In looking at the state of things right now, economically speaking, has there ever been a time better suited for adoption of open source?

I don't think so. Given today's economic situation, closed source license and maintenance fees can choke off the air supply of any business. I know from personal experience, having to cut budgets many times over the years when I was in IT, maintenance fees on closed source software always adds up to a significant amount of money in the enterprise. If you find yourself in that situation, and you have been on the sidelines where open source adoption is concerned, its time to get off the sidelines and into the game!

If you want specific advice in adoption of open source technologies, please don't hesitate to post here.

Good luck to everyone in these very tough economic times.

Wednesday, October 01, 2008

Are you Stupid if you use "Cloud" based Applications or Services?

There has been a lot of recent commentary around Richard Stallman's recent comments about cloud computing, as well as Larry Ellison's comments at Oracle OpenWorld, also ridiculing "cloud computing". With those comments, I started to think about it at a little deeper level then before, and figured it was a good topic to cover for enterprise architecture.

As the buzz around software-as-as-service (SaaS), cloud computing, hosted applications, platform-as-a-service (PaaS), call it what you want, has grown, its become clear that enterprises need to understand these offerings, and determine whether it is right for them. With that, and the fact that some contend this is stupid, let's examine whether it really is or not. Regardless of how you might personally feel about Richard Stallman or Larry Ellison, there is some truth in what they both say.

As anyone who has ever read my blog, or known me personally, should know, I am a big proponent of openness. Openness in the case of open standards and open source. If we look at cloud computing through the lens of openness I can see cases where it can be stupid to depend on it, and cases where it can be very smart indeed. Let's start by looking at the so-called "stupid" cases.

In general, Richard Stallman talked about cloud computing being a trap. In a sense, he is correct. In the case where you are using a hosted application in the "cloud", and your data may be held in a proprietary format, with very high barriers for getting your data out. This is just like buying into the proprietary ERP vendor solutions that have proliferated in IT shops around the globe. Even when you have those in-house, they have your data in a proprietary format, and they make it as difficult as possible to get it out. This makes the barrier to exit very high, which leads to the trap that you can't switch to another vendors solution without unbearable conversion costs! So, the trap isn't really the fact that its a cloud based solution, but that they have your data in a proprietary format, and the switching costs, once they have your data, is too high for most companies to absorb. By definition, this flies in the face of openness and not being locked into any one vendor. Something a lot of IT shops work hard to avoid, but fall right into with both in-house and cloud based software. So, what about cloud based platforms?

In the case of cloud based platforms there is a trap also. The trap is that you use a proprietary platform, with API's and features only available from the cloud provider. This is another area that enterprises should avoid. Instead of trapping you with proprietary data formats, they trap you with proprietary application programming interfaces and techniques, rendering your application non-portable in every sense. You can't lift your application up, and drop it into another cloud from another vendor, and you can't bring it in-house, without re-writing it! Ouch!!! For many years, I battled against using proprietary API's in in-house developed applications, only to be told that we would never switch from x to y! Of course, in all those cases, just the opposite ended up happening. In many cases, changing platforms saved the company millions upon millions of dollars. In fact, this strategy saved my last employer over 26 million dollars in the nine years I was employed there (and this figure has continued to grow over time). Don't fall into the trap with proprietary development API's and features. You will regret it in the long-term. So, that covers cloud based applications, and cloud based application development platforms, what else is there?

Well, there is one more category of cloud based computing. Cloud based infrastructure, where you are provided with a virtualized hardware environment (servers, network and storage), and you can choose to put your choice of operating system, middle-ware and databases in place. This infrastructure can be used for both primary hosting of whatever you want to put on it (whether in-house developed or not), and can be used for dynamic expansion of infrastructure to handle peak loads, now being called "cloud bursting". So, what is this category of cloud computing - smart or stupid?

If the infrastructure allows you to choose the operating system, middle-ware and databases, and you can successfully run you application outside of the cloud, then I would say that this is smart indeed. You have all the control you need to keep your application portable, without the infrastructure investment and on-going management costs. Not to mention the ability to dynamically grow the environment.

In summary, look for cloud based software solutions that are based on open standards (open source as well), with open formats for storing your data, and the ability to easily extract your data through an open interface (perferrably with the ability to do high-volume bulk transfer). If you are looking at platforms for development, only accept those platforms that don't depend on proprietary API's, and keep a running copy on an internal environment somewhere (doesn't have to be large and expensive), to verify that you can run the same application deployed outside of the vendors cloud. If you are just looking for infrastructure, stay with vendors that allow you to choose the operating system, middle-ware and databases. That will keep what you do there portable, whether that's a primary environment or you are using it to do "cloud bursting".

Like most things in life, you can do stupid things and smart things with technology, just try to understand any hidden traps there might be, and keep your solutions open!

Thursday, September 11, 2008

Sprint EVDO Card and Linux

Recently I upgraded to a new phone, and while I was at it I bought one of those mobile broadband cards for my laptop. I had seen enough blogs and e-mail posts on various mailing lists to know that it would probably work. My carrier is Sprint, so I naturally received an EVDO card from them.

Upon my purchase, I noticed from Sprint's own instructions for Linux that you couldn't activate the card on Linux. That could only be done from a Mac or Windows based PC. Well, I happen to have Macs in my house along with my Linux systems, so I went to a Mac, and activated the card. It was very simple, as it automatically ran a Mac version of some software built into the card, and it activated, and connected without issue. So, then I wanted to get it configured to work on my Linux laptop. That's where the fun began.

I'm running Fedora 9, but its also a 64-bit AMD system, and I am running the x86_64 version of Fedora on it. When I plugged in the card, I could see that it was recognized by the OS, and the USB product id and vendor id would display. So, that was promising. I wanted to do this the easiest way possible, so I thought I would just go into the Edit Connections... menu item in the Network Manager applet, and configure from there. So, I did that, and I selected the broadband tab, and clicked on Add. Well, nothing happened. Nothing at all. After a while of digging around, I decided to run the same connection application from the command-line. Sometimes applications will spew out errors to standard error that never are displayed in the GUI, so I thought that I might learn something.

So, I ran nm-connection-editor from the command-line, instead of from the Network Manager applet, and what do you know, an error message spews out when I try to add a broadband connection. Here it is:

** (nm-connection-editor:4208): WARNING **: create_new_connection_for_type:
unhandled connection type 'NMSettingCdma'

** (nm-connection-editor:4208): WARNING **: Can't add new connection of type
After some searching, I found out that the x86_64 version of Network Manager actually didn't have the broadband code implemented in the version that was in Fedora 9. So, I opened a bugzilla on it, and I ended up getting a response saying it was fixed in a version that was in Fedora 9 updates testing.

So, after getting the appropriate link to where these packages where, I decided to install them and try it out. Well, I must say I couldn't be happier. It worked flawlessly, and it detected the correct type of card, and filled in all the information for it, and I didn't change anything other than the default connection name that the wizard had filled in. At first, I thought no one has ever documented adding a mobile broadband card through the Network Manager interface, so I would do that. After thinking about it though, it was so easy, that there really isn't any value in documenting it.

This is truly the way things should be. Plug in your device, right-click and select Edit Connections..., then select the Mobile Broadband tab, click Add, and click OK! It couldn't get much easier than that! Whoops, I guess I just documented it!

So, if you haven't used the Network Manager for doing this, its certainly a lot easier than setting up PPP scripts that I have seen documented by many people. Give it a try, you'll like it.