Friday, July 30, 2004

The path treaded once

I was shopping when a sales girl stopped me to talk about the positive points of a Macintosh. I politely told her that I used to use an Blueberry iMac running MacOS 8.something but since changing jobs have not used one regularly since. She ignored that and continued with her pitch. While I was nodding to be polite, I couldn't help noticing the parallel of my Mac experience with my Linux experience on the desktop.
I was new to the Mac when one was plunked on my desk. A VIP in the company I was working for wisely and stubbornly refused to move to a Windows PC from his aging Mac. So it finally came to the point where he got an upgrade on his machine and I was entrusted to support him directly. Coming from the Windows desktop background, I had tried applying what I learned with Windows while using the Mac. I learned that two of the most pointless things to do on a Mac back then was
1. Check of updates - to OS, new version of programs etc
2. Find cool new tools to do what you want to do.
.. which was what a lot of Windows users were doing then (and still do).

First, Mac updates weren't that often released. What ever bug there was in the OS, they didn't bother me often and those that do were probably caused by free or shareware programs that were not checked thoughroughly.
Second, there was no need for those additional tools. The tools that they came with or other popular downloadable tools not only did what they advertised but did them well. There was no point in getting another. People tried of course and some times they succeeded.
Suddenly I found myself with more free time and began to be more productive with the Mac. Since I used it for supporting at the most 10 Macs and I was still sharing files with my other collegues, I had to still use Windows for most stuff. But the Mac became my primary web browsing device for the sheer stability of it. Since that, I began to appreciate the Macs for what they were, well designed machines.

The Point
The point I am trying to make is that in terms of Linux on the desktop, it'll follow pretty closely to the footsteps of the Macs. It'll suffer from lack of hardware support or have limited support from the vendors, especially those smaller ones taking 'development funds' from MS. These are the companies that make cheap peripherals and hardware. Those products help define what the total PC costs and how much bang for the buck it'll bring. What new Mac users find out very quickly is that not all hardware are Mac compatible and those that are, are more expensive. That in turn limits the market and slows consumer adoption. Exactly what MS wants.

When it comes to updates, I think Linux users are guilty of having to update as often as their Windows counterparts. That is if they want to update everything in a distribution. Since the Desktop Linux is usually a distribution-based install, the distribution usually has a way of keeping up to date with the latest files. And they are pretty smart in updating what only is installed. Updating files is a way of life under Linux because of it's dynamic nature. Updates are either because of progress in the development or responding to security threats. Those security threats are usually not exploited yet but efforts were made to make sure no one does.
And updates usually don't break unrelated software.
With the Mac, updates were not that often and checking for them weekly, became an excercise in futility.

Another thing about Linux is that it has many interdependant components. Often a utility builds on another program or a foundation of components that already does something similar. Take ftp for example. You can use interactively, old-school style or use wget. Or use a tool that does ftp amongst other things like curl. But then again, you may need more help and opt for Download for X or GFTP. This interdependency is good because it'll help improve the tools and reduces recurring work. Which may lead to just a few products that become important to the community. Me-the-Windows-user used to say that this reduces choice. But in the end, why choose something else since the one used already has all that is needed. It was the same for with the Mac. I wanted to try new stuff but ultimately the tools for the Mac, while few, did their jobs very well.

Despite all that, Mac use is not what it was and may be shrinking, porportionately. I had to admit Steve Jobs saved Apple by focusing on what made a good product sell. But odd are stacked against him if he decides to add features to the Mac to reach even more users, make it more popular. What is different is that while Mac users has to wait for Apple to do something, with Linux, anybody and everybody can make a difference and do something about it. Whether it is for more frequent or less frequent updates or for more tools or tools with more features, Linux users can make an impact. That is what the community is about.
Linux users should look at what issues the Mac faced in it's effort to gain wide acceptance and see where they are today. And prepare. The Linux Desktop should be there soon.

Monday, July 26, 2004

Moving on.

I tried logging into my workstation today and GNOME refused to start up properly. It said the program in charge of storing (and restoring) my settings was not starting up properly. It also complained it couldn't find out my workstation FQDN (fully qualified domain name (e.g. www.google.com)) and warned me that certain things were going to go wrong.

I think I have an idea of what was caused it. I tried changing the hostname of the PC recently. I do most of my administration using Webmin. I changed it in past on RedHat machines and they turned out OK. But this was Mandrake. In their efforts to make it easy on the user, they took away some liberties, or so I thought. Things had to be done using their tools or in a certain way for the workstatin to remain consistent. So when I changed the name of workstation via Webmin, it changed it most places. But not all. One of those places was now telling Gnome my old hostname which of course, did not match the current hostname. My guess these were client/server things, that the hostname was being used by the client to find the server.

Or maybe not. There is a big sin when using a distribution, it' called Distribution Mixing or Repository Mixing. A distribution is such because the people behind them made some decisions that affected a lot of Linux components, most of them core components. These were basically options that could be set when the components were compiled. Since these affected a whole lot of files, each addtional component or program were compiled against these core Linux components. And it builds and builds and builds that way until you have a distribution.

The way a distribution can add and remove pre-compiled programs to a PC is by using a package method. For example RPM is a pacakge method. And so it deb for the Debian distribution. A collection of these pre-compiled programs is stored and shared and called a respository.

Often, the way a program is pacakged is shared between distributions. For example, both RedHat and Mandrake use RPM. Mixing repositories is essentially using a program from another repository together with another distribution. An example of this would be using a RedHat RPM pacakge file to install a program on a Mandrake distribution.

Most of the time the differences are minimal but some are really critical. I have RedCarpet on my PC and I have it to download automatically the latest update. RedCarpet, being part of Ximian, maintains a repository for GNOME and it's components and programs. I was foolish enough to use that. My guess is that RedCarpet updated my GNOME with files from the Ximian repository. Those files worked all this while but maybe some recent changes caused my system to break. Even when I switched to KDE, Evolution still won't run.

The point it, I was not in the mood to hunt this down. I had faced it once in the past and I think I am going to take the MSWindow's All-fit-fix-it solution - reinstall. The workstation was running Mandrake 9.1 and I was running version 10 on the laptop without a major hitch. What a better reason to upgrade.

Which made me think about issues around workstation migration. How would this be done on a larger scale? What tool would I use? How much planning would it require?

My strategy was to simply dump everything in /home on another hard disk, reformat the disk, install Mandrake 10 and copy everything back. Of course there were several missing pieces. I'd have to take stock of what services running on the machine that affected others and plan for those services to be running on the new machine. This involves having a copy of /etc too. If I installed the services without using a package manager, I'd have to ensure I have a copy of the source or whatever was used to install these services. Installing Mandrake 10 also means a big fat update just after installation.

Well, reinstalling once every two years isn't so bad. Upgrade don't get me started on that.

Monday, July 19, 2004

The power to be sure

I fixed an new DSL connection and for the life of me, I could not get the server to work. I wanted to host my own DNS server and had set up a firewall with a DMZ and everything. The connection gave me 5 IP addresses which I could use. I could browse, which meant the connection was up but I can't access the DNS server from other machines on the Internet.

After ensuring all the routing and firewall rules did not interfere with what I wanted to do, it finally dawned to me that I needed to see the actual packet themselves. I needed to see the network.

The best program for this by far is ethereal. I had an old hub lying around so used that to create a primitive network tap between the DSL modem and the firewall. The hub would retransmit all the communication between the firewall and the DSL modem. Ethereal was running on another PC connected to the hub and would capture and decipher this for me. Ethereal is wonderful at filtering. I found out that although I could browse the web and see the packets from the firewall to the DSL modem, whenever I tried to access the DNS server from another Internet connection, there would be no traffic for that server or that protocol. Essentially, I was like behind another firewall. Traceroute-ing lead me to just one hop before it should hit the server, the DSL router at the ISP. Definitely something is not right.

What amazed me most is the ability to use tools like Ethereal at almost no cost. A few years ago meant I have to do a lot of guessing or cough up a lot of money for a network analyzer.

Now, I can choke my ISP (for an answer) much faster.

Wednesday, July 14, 2004

Thinking outside the box.. Literally

I've just set up squid cache server and configured the firewalls to do transparent proxying for web browsing. I needed to add frox to do transparent ftp proxy. I figured that would cover the majority of the traffic going out the office. Setting up frox was easy even though there were no packages of it for RedHat.

Then, things got a bit slow. I could see that Mozilla would freeze up a moment after I pressed enter. After a few seconds the whole page would come at once. Now, I'd also changed the settings of the squid server to handle the additional traffic. I figured that my changes weren't enough to cope with the additional traffic. So I changed it and tried again. It didn't get better. So I changed it somewhere else and tried again. And again. But no matter what I tried, it still couldn't make the pages come up faster.

I began to think that my eyes were fooling me. So, I looked at all sorts of information counters squid has and used that instead of my eyes. My changes did show some improvement when it came to what the counters were telling me but my eyes said it still looked the same. I was about to set mrtg loose on the machine when I noticed how cfgmaker calculated the speed of the network interface card in the mrtg config file.

I then realised my attempts to a find solution were not addressing the problem. My eyes were telling me that the response from the squid cache server was being held up. The counters said that squid was doing it's best. cfgmaker told me what speed the network was running; 10MBps! The server was connected to a 10BaseT hub not the 10/100 switch. I switched the connection to the switch and my eyes were happy indeed with the result.

I was too caught up in trying to make things better linux-wise that I forgot that there were other things that affected my browsing experience outside of the linux box. The network, my browser, my workstation configuration. All of these has an impact. I was also guilty of distrusting my eyes. Ultimately, it does not matter whatever other things says, when it come to the browsing experience, what you get is what you see.

Monday, July 12, 2004

RTFM

Often those four letters crop up and for me it is a constant reminder of something that is true: If someone took the trouble to write a manual for it, it probably worth the time to read it. Or skim it, at least.

Well, today it wasn't a manual, but close enough. I got myself another USB disk or thumb drive. One thing nice about Mandrake is that once you plug it in, it does the rest and puts a shortcut on the desktop. Once you're done, right click on it, choose Unmount, the icon disappers and you can take it out. I have a thumb drive which works fine. So, I expected the new one to work without a hitch but of course, it didn't. dmesg at the console said something about the partitions not aligned, out whack or something. I did manage to manually mount it without much hassle. Not much once but annoyingly enough when repeated several times a day.

I ran Mandrake Control Center but it didn't see the drive. Well, it was listed on the List of Hardware (Harddrake) but when I ran the config tool it kept on trying to configure the hard disk. I finally took a look at the box to find out where it said "Linux Compatible". The box assured me that, so I read on. And there it was, it said
If using Linux 2.4 kernel and above use 'fdisk' and 'format'.

Yup, clear as day. So I ran Mandrake Control Center again and used the repartition tool. It immediately offered to remove all existing partition because it can't read them and I accepted. I set it to auto mount (supermount) and allowed the user to mount it (Advanced options). Formatted it with FAT32 (still need to share data with Windows-using-people plus you never what computer I might get stuck using at any time in the future). Plugged in my laptop (Mandrake 10) and 'removable disk' appeard on the desktop.

Lesson of the day: RTFM. Even if it is only the box.

Sunday, July 11, 2004

About this

About 2002, I moved to a new company. They have a very bizzare policy of providing almost no support to the users. The response I got was 'This is a computer company, everyone should be able to manage their own computer.' Which ranks up there as the laziest policy I have every heard. So when I finally got my computer, it came with no OS. 'You should be able to run Win2k on this,' I was told. So where is the CDs? I asked.

'Some guy on the some other floor. Get it from him. I only deliver this.'

Which was a big mistake because I got so pissed that I decided to load up Mandrake 8.2 on my computer. I wanted to see how far could I go before someone in the company stopped me. I have used Linux on and off since 1992 and in my previous jobs put it on servers doing all sorts of things, mostly Internet related. I am not even OS shy as in my last job I have both MSWindows and MacOS 8 on my desk. But even, at my skill level, I wasn't sure. Now, 2 years later and still on Mandrake 9.1, I am still using Linux in the office full time. No Windows-made-in-Seattle on my machine.

In learning to use Linux full time, it made me confident to make the jump on my home machine. This is the machine I share with my wife (also a computer professional) and my kids. It still has Windows, sort of (that's another story) but 99% of the time it's linux.

Now, I use mostly Mandrake on the desktop and RedHat/Fedora on the servers at the office. I hope to share my experience with the hope it'll help at least one more person make the jump.

Recently Popular