Wednesday, April 14, 2010

The Geek Dream

No, I'm not talking about Xena or Seven of Nine.

I'm talking about the reason for "The Fight" that has geeks engaged every single day. I'm talking about cause behind "That Argument" that floods blogs, forums and to my amusement, YouTube comments. I'm talking about the goal behind the vast verbal assaults with their toll on innocent keyboards. I am of course talking about reason for the Operating System discussions.

Now armies all consist of various assets, regiments, ranks and strategies. And we can draw surprising similarities between conventional and OS armies. The forums posters, brave front line infantry that take the battle head on in semi-live discussion. The Bloggers, dropping their articles from up high for a greater area of effect while dodging the AA fire in the form of Comments. The employees and coders themselves, the Officers planning strategy, refining their Weapon, the Operating System in question. And like with all wars you will find the privateers, the looters, known to many as The Fanboys. Those that try and use the greater war as an excuse to misbehave and try and wreak their own little havoc, bringing us such memorable gems of stage three brainworm invasion as "MaC rUlZ" or "LiNux is teh suxxor" and the much loved "M$ is Evil".

But the war rages on and as the new version of each OS gets released by their Generals and the arms escalation seems to reach M.A.D. proportions. I think the most apparent similarity of all comes to light. Aggression breeds aggression. Now in turn Aggression breeds a whole lot of other things as well, being the ravenous little bunny it is but it is this circular term that sees the OS war in the state it is today. Take a step back from the skirmish, if only to slap me for dragging the metaphor 3 miles past its bus stop, and you can think clearly enough to see the Ultimate prize we are all fighting for.

And at this point, once you have laughed at the fanboys, shrugged off the astroturfers and ignored the marketers do you realise that the battle of the OS war is the same battle that we fight in the real world. Forget the governments, forget the corporations, forget the Despots and Tyrants and Supremacists. We don't want world domination. We all just want our place under the sun. We all just want to be respected. We all just want freedom of choice.

And that is what it boils down to once you get to the heart of the OS war as conducted on the Internet, not the Boardrooms. We want the Users to win. We want a User to be able to use whatever he likes. We want the Users to be informed about the advantages and disadvantages of each OS. And above it all we want it that no choice excludes the User from the world. I, like many other of my fellow geeks dream of a world where a User can walk into a store to buy a PC or Laptop and the salesperson asks "What Operating System would you prefer?". Where the choice made there will not hamper the User in any way but offer him a way to do things as he likes to do them.

So please, I implore you. As non-geeks, as normal users, take part in this discussion. Let the soldiers know what you want and if you are unhappy with your side, do not feel hesitant to approach another and see what they have to offer. You do not need to be a geek to count in the OS war. Reporting bugs, giving opinions and ideas about what you would like in your OS, sharing your experiences with others, all these things help much more than you think. This war, after all, is fought for you.


Monday, April 12, 2010

Need for Wake Up Call

I came across a very confusing statement a few months back and I have now seen it repeated over and over again. Need For Speed is apparently abandoning its Tuned Golf GTI's and going back to its roots with NFS Shift.

Wait, what?

I have been looking back into my life trying to find the time I apparently spent in a coma. I have questioned my parents, considered kidnapping and interrogating my teachers and beating the truth out of my friends with a marble ash tray but for the life of me I can not understand how I have missed “Need For Speed Zero: Gran Turismo”. NFS has never been about Racetracks and who gives a damn about the in-car view? You can't see jack from that camera anyway.

You see, the only one I remember as the first NFS game was indeed Need For Speed. So apparently I have been medically incapacitated for a few years or I have happened upon a glitch in the Matrix. However, being the logical person I am I came to a better conclusion. What we have here is pure, unadulterated, 100% grain fed, home grown bull. It is marketing speak. It is an obvious lie to the people that love this franchise in an attempt to make them forget the sad episodes that came after NFS Underground.

The only problem is, when you make such a statement you usually have to make sure it is somewhat accurate. You see, with Underground, NFS broke away from what it did best, tried to save some dough on IP usage from exotic car makers and cash in on that horrid Vin Diesel movie that had about as much to do with proper cars as the broken sleep button on my keyboard has anything to do with my insomnia.

Back to its roots? I believe a more accurate statement would have been “NFS is going back to Gran Turismo's roots.” Am I the only person that looks at this title shaking my head and dying a little inside? They first made the mistake of giving us Suped-up Corollas and now they are going even further from what made the game special?

So what made NFS special? Trying to pin it on one aspect is just impossible and putting it into words is even harder but for me it was an emotion. A feeling of awe, reward and lust. I know many people are going to differ from me for this but here is what made NFS creep into my heart over and over again.

Recipe for Proper NFS (Serves 1 or more)

Take 20 of the most exotic cars you can imagine, add in 10 or so stunning landscapes, mix in with some great realism vs fun balance and serve on a mind blowing Sound Track with a sprinkle of multiplayer to wipe that smile off your buddy's mug.

That is what NFS was to me. Firstly the cars were never something you would see parked at the local McDonalds on Sunday mornings. The lowest level of wheels was the likes of Z3's and Lotus Elise's. It was filled with cars you would probably never get to drive, not your dad's Civic. I don't know if Toyota charges less for the rights to use its cars in a game than Ferrari but why suddenly flood the roster with cars that you could easily have in real life and would probably turn down, given the choice, only adding in some nice machinery at the top of the list?

Does anyone remember that feeling when you had finally unlocked the Porche GT1 or the Diablo SV? The closest I ever came again to having to change my pants was getting a Bugatti Veyron for a mission only to find out that it was slower than the Nissan 200SX I tuned and could be outrun in a straight line by a Police SUV. I mean come on! As far as let downs go that ranks just below finding out your Girlfriend is related to you and just above Softcore Porn! Porsche Unleashed gave you a sense of pride as you bought your first 911 and that boggle in your mind when you found out what a Holden was in Hot Pursuit 2 was enough to start you giggling in fits. You can hardly ever over steer in NFS games but that thing was so tail happy you couldn't help but burst out laughing as you missed another Redwood tree by 2 inches.

Then there are the tracks. Ye gods, the Tracks! They had a design quality that made them stick in your mind for years after you finish the game. I know every fan remembers plowing through the Black Forest at 300kph in High Stakes. I am certain they remember trying to dodge that damn haystack when you took a left through town in Normandy. Or how about the majestic mountains of Pyrenees? Yes? And surely you can't forget that stunning Mediterranean setting with your tail-happy Holden trying it's best to make sure you can't catch the shortcut over the ocean. NFS tracks haunted you. They were a riddle of racing lines and routes begging to be perfected in your choice of wheels. I left anyone behind with my '73 Turbo on Zone Industrielle. My room mate could get everything out of a GT1 on Autobahn. The Z8 danced round the Volcano and how could you not scream with pleasure as your Diablo SV flew through a barn? Cote d'Azure was easy to learn, almost impossible to master. All this with the best Driving Sound Track you can imagine.

Now we get to plow through a city and some farmland that always looks the same in every possible direction, sometimes with magical barriers making us go left or right or we can trod past traffic looking form some other idiot with fetish for mirror writing to dice. And while slamming purposefully into whatever most resembles a Vosloorus Taxi has some satisfaction to it I get the feeling they should have called all the later titles “NFS: Brakpan visits Joburg CBD” I have peak hour traffic and idiots in Civics to deal with in real life. If I wanted this experience I could just put a stopwatch on my Garmin. If I wanted to run to safe houses I would play Grand Theft Auto.

Ironically of all the titles, Porsche made me fall in love the fastest. The pedigree, the pride, the haunting tracks, the difference between upgrading and tarting, the unique feel of every single model and the dream of having a collection of your favourite Stuttgart models. The first got my hands on the Demo with the Carrera on Normandy and I spent months playing that one Track, perfecting it, shaving tenths off my time. It sucked you in. Testament to the staying power of these games is that I have, to this day, 4 of those titles installed on my machine and I still play them.

The only game that has lasted longer with me is X-Com: Enemy Unknown but that is another topic.

The Advantages of Linux

Well following my previous article, I thought it would be a good idea to give some more concrete information about the ins and out of switching to FOSS. The big questions always comes up when Operating Systems are concerned since the FOSS Applications like Firefox can very easily be installed. The idea of this article is to highlight some important considerations as well as the Advantages of using a Linux based OS like Ubuntu.

In articles following this one I will go on to look at specific options, their merits and weaknesses but for now, let's talk a bit about what Linux is, what makes it good and what it can do for you.

What is Linux?

Now most of us use Windows. It was something we used as kids (right after DOS died out) and through the years we have been going from on version to the next, from Win95 through to XP, hopefully skipping the disaster of Vista and finally we are now faced with a slightly patched version of Vista, cleverly marketed as Windows 7. (For those who were fooled by the marketing, 7 is Vista with a few tweaks to it. They dropped the name due to the negative connotations and edited just enough of the visual design to make it look new) So Windows is all we know. While some of us have heard the word Linux being muttered around the coffee machine by some geeks, we do not really know what it is and what it has to offer.

Now Linux, conceived by Linus Torvalds started out as a toy for geeks, something to sharpen skills on, something to test and try new things and to explore all that technology has to offer. Now the result of this is a system that has evolved substantially over the years since its inception. Linux has evolved from a few strings of code that couldn't do much to a system that now leads the way in many areas of technology. And the way that it is written make it amazingly scalable. You can use Linux on everything from Cellphones to Mp3 Players, to Desktop Computers, to Servers and even to Supercomputers! Linux generally gets teamed up with the GNU tools, and we refer to the complete kernel as GNU/Linux but in most circles, for simplicity you will just hear people say "Linux".

Now what you have to understand is that Linux itself is not an OS. It is merely the Kernel. It manages your hardware and drivers. It can not show you a background, show you a program, or even give you some place to type. It is just the foundation. On top of this we can start building and with a foundation as flexible, scalable and powerful as Linux, the possibilities are endless. A full, operational OS based on Linux is called a Distribution or "Distro" for short. This is essentially the GNU/Linux kernel with all the things built on top that enable you to use it like an OS. This includes the programs that show you the nice icons, the backgrounds, the programs, the screen savers etc. And there are thousands of these Distros. You see, in the Free Software World, Choice is King. While the kernel remains essentially the same, the amount of options you have on top can seem almost daunting. But there are so many for a reason. No two people will completely agree on everything. Some prefer their OS to look and work a certain way, other have different ideas and this is what makes Linux Distros great. There really is something for everybody and you are free to move between the choices as you see fit. No lock-ins, no contracts, no licenses. Whether you are a Software Guru or just someone who wants Email and Internet access, there is a Distro perfect for you.

This choice is the first major benefit of Linux and it does not stop at the OS selection. There are literally thousands of programs, all free, that you can choose from. Document editors, Spreadsheet creators, Audio and Video editors, Games, Educational Software, Web Browsers, Music Players, Chat Clients. You name it and there is a Linux program that can do it. All at no charge.

Now while you get your head around that, let's look at some of the other advantages of running a Linux based OS.

You do not need Antivirus.

Simple as that. Viruses are Windows Programs that do bad things to your system or your data. They can make systems crash, they can steal your info and they can annoy the hell out of you. Linux is Immune to all Windows Viruses! That includes Adware, Malware, Spyware, Trojans, Worms, you name it. Even if you physically copy a virus onto a Linux machine all it can do is sit there. It can not harm the system. Now why is this, you ask? Well as I detailed in my previous article, the way that Microsoft and Linux approach viruses differs vastly. Viruses exploit weaknesses in the security of an OS. Now there are many reasons why that weakness is there but the shortened version is as follows. DOS and Windows were originally written for the Desktop PC. They were meant for stand-alone systems and it was only later by the end of Win98 and the advent of WinNT that networking was brought into Windows. Now this is like designing a very fast car and only later adding on some panels and metal plates to protect it from other cars on the road. Linux is based on the same design strategy as UNIX which was built specifically for Networks where security is paramount. Viruses exploit the lack of security between applications in Windows and trying to patch those holes while still keeping the OS functional and not interfering with the programs is like trying to build a McDonalds on the Highway without interrupting traffic. This is why some security updates for Windows actually break programs! Windows was build as a working OS, then they added the security where they could without breaking everything.

Now Linux OS'es are designed differently. They start with the security, add in the networking and lastly the programs. And through it all they make sure all those programs abide by the laws that Security laid down. With the law laid down, applications get designed right the first time and are forced to play by the rules. This is what makes it so hard for a virus to exist in Linux. There have of course been bugs in Security as there are with any system but Linux does not handle security by throwing it on to the user's lap and saying "You buy antivirus if you want to be safe". With Linux the exploit gets tracked down and fixed in the OS itself, not by some third party vendor who wants to make a buck.

You do get Anti Virus programs for Linux but they do not exist to protect Linux itself. They exist so people can use Linux to scan and clean Windows files. My users all come to me with their flash disks so I can clean them and I can do this with no worry that my machine might get infected.

You do not need to Defrag your hard drive.

What Windows (Or the Windows File System, NTFS, to be more accurate) does is to write data to the first available space on your hard drive. If there is not enough space to write the entire file in the first open area, it writes part of the data there and then moves on to the next available space to write the next part and so on. Now as you delete and add data to your hard drive this creates more small openings where parts of data will be written in and before you know it, your files are fragmented into little bits of data all over your drive and your PC becomes VERY slow. Also when a file grows (Like when you type more data into a Word Doc, the extra data now has to be placed somewhere else and linked back to the original file. Linux (with the Ext4 File System, though Linux can use many different File Systems) does this differently. Instead of just putting down data in the first free space it plans ahead, much like packing a car's trunk for a long holiday. It looks at the file, decides if it is the type of file that might grow (Like a document where more might be typed later) or if it will stay the same size (like a movie which always stays that same length and size) and then looks at ALL the options about where it can be placed. If the first open space is not big enough it keeps looking till it finds a more suitable space so the entire file can be put down in one place. In addition to this, if the file is likely to grow, it will reserve some space next to it for the file to grow into. Smart, eh?

Linux speaks Windows

Linux designers have taken great care to ensure they can be interoperable with Windows. Microsoft has not made this easy, trying to get a stranglehold on standards and everything else. But in most cases where clear standards are set, Linux can play along with Windows. Linux can read and write to Windows Hard Drives, they can read data on Flash disks from Windows and can write data back which can be understood by Windows. Linux can Network with Windows, share files, browse Microsoft hosted sites and much more. coders have gone to great lengths to make sure they can open and work with Office 2007 files and if you install Linux next to Windows on your PC, you can choose which one you want to use from day to day because Linux sees Windows and adds it into its Selection List. Windows on the other hand doesn't care what other OS you have. It just writes over the Selection List and proclaims itself the only OS on the machine. Windows also does not see EXT4 Hard Drives and they do not plan to do so anytime soon.

Linux is Lightweight and Fast

The rule of thumb is that more features mean more weight, right? Well yes, that is indeed true but how much weight exactly? This is something that came to mind with users very strongly when Vista was released. Here we were presented with a new OS that needed tons more power to run and at the end of the day did not really do anything substantial that Windows XP could not. Sure it was shinier and prettier but why does Vista and Win7 need so much from the hardware when in general terms they do exactly the same things that XP did? Well the answer is bloat. Bloat that came from sloppy coding of the new features. There are many ways to do thing in this world and there are many ways to code things and while all might get the job done, certain ways do it more efficiently. Linux takes efficiency very, VERY seriously. Where other companies will just keep adding weight with new features, in the FOSS world there is a constant drive for refinement, weight reduction and efficiency. Microsoft is a Business and they care about profit. FOSS is a community and they care about perfection. To give you an example, in the last 4 versions of the Ubuntu Operating System the features have grown dramatically, yet the time it takes to boot has decreased over the same period and the speed of Ubuntu has actually increased! This is because every effort is made to refine and make things run better. The results speak for themselves.

Windows 7 Minimum Specs
16GB Hard Drive Space

Ubuntu Minimum Specs
700MHz CPU
8GB Hard Drive Space

Now that is a MASSIVE difference! Both these Operating Systems do the same thing, and then you have to keep in mind that Windows 7 must have Antivirus on at all times which brings down its speed even more. Yet when a new version of Windows comes out we are expected to fork over money for it as well as more money for the new hardware it needs to run. Linux on the other hand allows you to get more out of your hardware and can even give some life and use back to hardware that Windows considers to be obsolete. This makes it ideal for someone who needs more from their machine but can not really afford better hardware.

Now with our computers doing so many billions of things every second, we can not, by feel, gauge real speed anymore. Not in a computational sense anyway. What we can feel is Apparent Speed, Responsiveness and Sluggishness. There is nothing more painful that just opening a folder and having to wait 5 seconds before you see its contents. Or typing something and seeing the computer lag behind you in displaying the characters. Or how about starting up and seeing the desktop, only having to wait another 2 minutes while the background programs load before you can do anything? This is where Linux is a real winner. Things happen snappier, open faster, boot quicker and when you see the desktop, feel free to start working as everything is already loaded. Need to stand up and make coffee while your PC boots up? Ubuntu boots in about 30 seconds on most computers and on some with fast SSD hard drives people have made it boot in 7 seconds or less.

Linux is Stable

Linux runs some of the biggest servers in the world and has millions of people looking over its code. Vast data centres like the ones at Google use Linux, the most powerful Supercomputers in the world like the Cray Jaguar and IBM's Roadrunner all run on Linux. Stability is not an option in these industries, it is an entry requirement and the same Linux Kernel that gives them the stability they need runs inside the Distros that you and I can have for free. That is what makes the free software model so great. Improvements that get made for Supercomputers filtered down to Desktop Users and vice versa. You do not need to reboot Linux when things start getting slow, when something is no longer in use, it is neatly cleaned out of the RAM and resources are freed up. You do not need to restart Linux when new programs are installed and you do not need to be the computer Administrator in order to run programs. This means that should you have someone else that uses the computer, you can restrict their access effectively and stop them from making system changes without impeding their ability to work.

These are some of the most important differences that Linux has from Windows and as you can see it has a lot to offer all types of users, from technical people to normal home users. There is a Linux Distro out there for you. In my next article I will look at how you know if Linux is right for you and look at some of the more user friendly options and their pros and cons. I hope this article has blown away some of the mystery that many Windows users associate with Linux.


Saturday, April 10, 2010

Free Software as a Concept

I got into a bit of a heated discussion the other day about the relevance of Free and Open Software in a modern, Capitalist society. A couple of valid points were set forth that has got me thinking about how accepted norms, ideas and misconceptions hinder the implementation of free software. I will address these by listing some of these ideas before starting to evaluate them one by one.

Before we do that though, what exactly is Free and open Source Software?

FOSS means that the actual code of the software is available to anyone who wants it. It is normally distributed under some version of the GPL or General Public License or some other Free software licenses. Different versions dictate small differences regarding usage, commercial use and so forth but the general idea is as follows: You may use the software as you wish, change it, improve it and release it again if you so choose to the rest of the world. The GPL says that if you use code released under the GPL, improve it and you release it again, you have to release that code under the GPL as well. You are free of course to just keep the code and your modifications to yourself but if you sell or share the program, you must supply the source for it.

You can sell Free software? Yes, yes you can. The explanation most used is that it is "Free" as in in "Freedom", not always as in "Free Beer". Gratis vs Libre. However, since you have to make the source code available upon release (or pretty damn soon there after) the software remains essentially "Free" as that code can be freely distributed. Now that is why most FOSS have no charges associated with them. If I can get the source code for a program, I can build it myself instead of buying it "pre-built". So in charging for FOSS people effectively only charge for their effort in recompiling it, thus charging for a service, not a product. You can buy that Software, obtain the code and give it away for free if you wish as CentOS does with RedHat Enterprise Linux (RHEL is charged for, CentOS is free but both essentially have the same code) Some do insist that their software remain free as in the beer. Ubuntu is one such a case but there are thousands out there.

Now what is the point of free software? Well it is about community, about the pooling of skills and knowledge of individuals for the betterment of the group. Obtain, use, improve, share. This brings with it many other advantages. Many eyes reading your code increases the chance of bugs being found and quickly repaired before they can be exploited. Think this doesn't work? Think it is better to keep the code a secret to avoid people finding the flaws? Well the majority of Web (54%) servers run on Apache, an open source project. Yet IIS, the Microsoft Proprietary equivalent at (21%) is still compromised the most. There are handful of viruses for Linux and they have all been rendered impotent by fixes DIRECTLY in the code, whereas I doubt you could keep up with all the viruses for Windows. Knowing that they can not keep up with fixing all these security holes, even with thousands of coders, Microsoft conveniently shifts the responsibility over to the User who paid for the software. Linux has millions of eyes on its code, so things get spotted sooner and get fixed sooner.

Now, moving on to those points I mentioned earlier.

The ideas are as follows:
1. If a tangible object is not sold, it can not be profitable.
2. Free software is illegal.
3. Only through capital investment can something be improved.
4. Free software requires extensive knowledge to use.

Now let's start looking at these points, the motivation behind them and the error in the logic.

1. If a tangible object is not sold, it can not be profitable.

In a market driven world, the understanding is that giving something away defeats the purpose of business. I have created something, you might want it and the only way for me to make money out of this is by charging you for that something.

Now while this idea does hold true in some cases, people seem to have forgotten that it is the norm, but not the rule. Giving something away does not kill all possibilities of revenue surrounding the something in question. Many people apply this selectively, using the term "free" only in the sense of an expected return in another regard. Think of free gives upon purchase, free lunches to persuade a potential business partner, free trials to attract a sale.

In reality, giving something away for free does not always need to have a motive to positively impact business. It can inspire interest, growth and improvement while generating awareness and other revenue streams, not always directly considered upon conception. In many cases, the free sharing of something can lead to far wider positive repercussions

Let's look at how free software can and does lead to stimulating an economy. You load free software, use it and share it. Some improve on it and these improvements allow more people to use the software. More eyes mean less bugs, less lost productivity due to crashes or attacks which in turn stimulates companies and the economy. In a business environment you need skills though to develop and maintain your systems so you hire IT professionals. By saving money on the software purchase you can devote more to finding proper staff instead of settling for less because you spent a fortune on the software itself. Don't believe me? Have a look at the cost of Microsoft Server 2008R2 and keep in mind that some companies need tens to hundreds of servers. That doesn't even include the actual cost of applications. With less of your budget spent on software, more is free for the other things you really need.

Now take into account the cost of Professional level Antivirus licenses, the cost of attacks and downtime caused by these viruses. Everything soon starts to add up to some incredible levels. The problem is we are so used to this way of doing things we just accept it and can not fathom the idea that this is not the way things should be.

2. Free Software is Illegal.

I had quite a chuckle at this notion but I fear it is rooted in a much darker stigma. People can not believe that something can be absolutely free. It just looks so suspicious. What's the catch? Is this pirated? Some guy from SCO said it infringes on patents.

All these are a sign of how we have been beat into believing good things can not be true. Something that adds value can't be free can it? Well sadly this idea still has a grip on society but the fact of the matter is that free software is perfectly legal, is written and improved by people who do not do it for money. (Mostly anyway. I know Google and some other big IT companies like IBM hire people to work on FOSS projects).

Ever heard of the Firefox Browser? Google Chrome Browser? Xvid video codec? VLC Media Player? All these are free, come with no catches, and deliver outstanding quality, some even besting their Proprietary rivals.

3. Only through capital investment can something be improved.

No. Not even close. Stephen Fry used a good analogy to explain this. You have plumbing in your house but you don't really understand it. Now your friend who does know a bit comes over and makes a suggestion like moving a pipe here or a valve there and even offers to help do it. There is nothing illegal about this, you own the plumbing and without paying a plumber you have improved your system. This is the idea behind Free software. You see something that could be improved and you either suggest it to the Coder or you do it yourself and send it to the coder. More eyes mean more suggestions, more fixes and it is around this idea of sharing that FOSS is built. In the good scientific community knowledge is shared freely between entities, people discover things, publish their discoveries and humanity as a whole benefits from the advancement of knowledge. Why should software be any different?

4. Free software requires extensive knowledge to use.

Shall I recall that list mentioned in point 2? Many people use FOSS and do not even realise it. Yes there are some systems that need a proper professional working with them but these are the types of systems where you need someone skilled to do it anyway like mail servers etc. There is an absolute plethora of FOSS that have been designed with normal users in mind, making things simple and easy to use. From Operating systems to Browsers, to just about any type of application you can think of. Choice is a major pillar in FOSS and that is something it represents better than anyone. Whether you are a guru looking to dive under the bonnet of your system or whether you just want to check your mail and use your PC at home without any tweaking required, there is a Free and Open Source solution available to you.

So where do I start, you ask. Well there are many places but I would suggest looking at some of the sites below to see what FOSS can do for you.

Ubuntu. A free operating system that anyone can use.
Firefox. A free web browser that leaves Internet Explorer in the dust A free office suite that has all the features you could need.