Monday, January 6, 2014

Project: My First Attempt in Doing Anything in Linux

I thought that I was quite flexible in understanding how to run computers. I have quite some experience supporting Windows systems for personal and business use (albeit enterprise level). Yet, I cannot naturally navigate and figure things out on Linux. I would imagine switching from Linux to Windows is much simpler than Windows to Linux.

From installing applications, installing drivers, finding upgrades, to just basic command prompt uses, I have struggled with them all. By struggle, I mean that I had to either web search or read a book. Nothing seemed intuitive to me... or perhaps this is a sign of my age. Even following instructions was not always so simple. There was always something different, especially in the GUI. Command prompt was more similar between versions and distributions, but it does not always play very nicely with other components that were installed through the GUI.

In my opinion, the GUI should be simple to use but I have actually found that the command prompt has comparable perks (or rather fewer 'issues'). There are also some nuisances in the GUI that does not quite allow you to just use the keyboard without having to switch to the mouse.

After this experience, I can see clearer on how Windows can still be quite powerful yet having always many IT professionals complaining about them. Windows requires much less knowledge about the system to get a development environment running or even just simple infrastructure use. I can simply install Windows, Visual Studio, and MS SQL Server and have a development environment basically ready for me to develop. A little bit of knowledge on public IP address and you can publish a simple web application within a day or two.

I have already spent over a week just trying to get Linux running with Python, Eclipse, and Django. Along with the installation, I have also learned a lot of other functions to running and maintaining Linux that I would not care much for as a developer. So although Linux may be more enterprise friendly, it is not so friendly on the individual level. I would think just to get a company started with Linux technology, you'll need at least 2-3 people at the minimum for average entrepreneurs: someone that understands how to maintain Linux, a developer, and sales. While for Windows, you really only need one person because a sales person could throw together a web application... maybe two where the developer also maintains the server. Sure you could find a Linux person who can do all three, but from my experience, they are far from being sales people even if they have superior products while sales people could sell Microsoft inferior products.

I've heard some friends say that Linux is still dominant in enterprise level but I see more and more conversions to .NET solutions on enterprise websites. This may not be an indication that they Microsoft-centric for their infrastructure, but by their hype I would imagine that the technology should be changing in the direction of Linux as companies grow to enterprise level. They also say it is free, but Microsoft's solution is basically free too (only because everyone practically already has it). You can find companies with only Microsoft products, but you will be hard-pressed to find companies with absolutely zero Microsoft systems.

Although this is mostly my rant on the learning curve to Linux, I am not bashing on its power and effectiveness technologically. I just think if the community did a better job on making it more newbie-friendly, they may find that they would have a greater impact... but then with some Linux folks, they almost seem like they design Linux just to prevent technology illiterates from converting.


Reference

http://askubuntu.com/questions/224942/linux-headers-not-upgraded