the mentality of a linux user

August 26th, 2004

It occured to me today that going from the Windows world to the Linux one is quite a leap in mentality for most people. Much has been said about this but I write this now to emphasize the differences I have seen myself.

Generally speaking, Windows is a playground. I used to install all kinds of software I didn't need, just to try it and see if I could use it. Sometimes I would find a use for it, sometimes I would use it no more than ~twice a year. That was a pastime at some point, accumulating software (mostly shareware) was some kind of a hobby. Of course, that wore down and I started just getting stuff I needed. But that initial need to explore software I think had much to do with the lack of opportunity given by Windows to mess around with the system. Of course you have specialized software that tweaks system settings and the registry but what fun is that when you don't know what really happens anyway? And often there's no way to tell either, you see the difference or you don't.

Stepping into linux with that attitude, there were a number of pitfalls I encountered. First of all, reading docs/manuals in linux is *not* time wasted. Reading install documents is actually preempting trouble, I learnt this only after I had tried installing the same software several times not knowing what I was doing or why. I wasn't keen to find out what exactly was going on, I just expected it would work fairly quickly so that I could mess around with it once it was running. Not so with linux, gaining a basic understanding of the install process goes a long way towards solving the problems that come up (well duh). Being a new user (still), I still find it unnatural to dive right into docs and logs but it grows on you. As it turns out, system logs are incredibly useful (who would have thought?). Often dismissed for their obscurity and lack of obvious messages understandable to dumb users, I now begin to realize their value. It is much like learning to speak a foreign language, at first it's all a blur, then you start identifying basic words and phrases. Exactly like reading logs or documentation!

Getting around the system is a big problem, at first I had no idea where to look for what. I suppose I could have read all about the philosophy behind the unix file structure but instead it just became familiar with use (slowly by steadily). Most intuitive is the problem of installing software, where do the files go? Stuff like qpkg really help a lot to track those files. Apart from location, it's also about access control. As a Windows user, I never had to think about gaining access to a file because by default I could access all files. The only exceptions where those really annoying system/driver/trojan dlls that were currently in use and locked on disk. Well linux doesn't operate on file locks, instead you surrender your access rights to the root user. And running as root I think is a very useful learning experience, cause I *really* hated getting those access denied messages all the time as a newbie. Hopefully you won't wipe your / with windows partitions mounted in the process, I have yet to do that myself.

Another thing forced on you is being a lot more intimate with your hardware. This is something I could do without because I've never been a hardware buff. But I've gotten used to it, the first order of business is identifying the hardware and googling for drivers. Sometimes getting those working can be a challenge but most of the time it's worth the effort. In the long run, better auto detection could really help make this problem go away to the casual user.

So those are 3 things learnt from linux:

1. reading docs and logs

2. file structure and permissions

3. hardware awareness

:: random entries in this category ::